elements that contain code blocks
- const preBlocks = document.querySelectorAll('pre');
+ // Select all elements that contain code blocks
+ const preBlocks = document.querySelectorAll('pre');
- const copyIcon = '';
- const checkIcon = '';
+ const copyIcon =
+ '';
+ const checkIcon =
+ '';
- preBlocks.forEach((pre) => {
- // Create the copy button
- const button = document.createElement('button');
- button.innerHTML = copyIcon;
- button.className = 'copy-code-btn';
- button.setAttribute('aria-label', 'Copy code');
- button.setAttribute('title', 'Copy code');
+ preBlocks.forEach((pre) => {
+ // Create the copy button
+ const button = document.createElement('button');
+ button.innerHTML = copyIcon;
+ button.className = 'copy-code-btn';
+ button.setAttribute('aria-label', 'Copy code');
+ button.setAttribute('title', 'Copy code');
- // Add the button to the block
- // Assuming pre is position relative in CSS
- pre.appendChild(button);
+ // Add the button to the block
+ // Assuming pre is position relative in CSS
+ pre.appendChild(button);
- button.addEventListener('click', async () => {
- // Find the element within the
- const code = pre.querySelector('code');
- if (!code) return;
+ button.addEventListener('click', async () => {
+ // Find the element within the
+ const code = pre.querySelector('code');
+ if (!code) return;
- // Get the text content, removing any leading/trailing whitespace
- const text = code.innerText;
+ // Get the text content, removing any leading/trailing whitespace
+ const text = code.innerText;
- try {
- // Wait for the clipboard API
- await navigator.clipboard.writeText(text);
+ try {
+ // Wait for the clipboard API
+ await navigator.clipboard.writeText(text);
- // Add visual feedback
- button.innerHTML = checkIcon;
- button.classList.add('copied');
- button.setAttribute('aria-label', 'Copied');
- button.setAttribute('title', 'Copied!');
+ // Add visual feedback
+ button.innerHTML = checkIcon;
+ button.classList.add('copied');
+ button.setAttribute('aria-label', 'Copied');
+ button.setAttribute('title', 'Copied!');
- // Revert back after 2 seconds
- setTimeout(() => {
- button.innerHTML = copyIcon;
- button.classList.remove('copied');
- button.setAttribute('aria-label', 'Copy code');
- button.setAttribute('title', 'Copy code');
- }, 2000);
- } catch (err) {
- console.error('Failed to copy code: ', err);
- }
- });
+ // Revert back after 2 seconds
+ setTimeout(() => {
+ button.innerHTML = copyIcon;
+ button.classList.remove('copied');
+ button.setAttribute('aria-label', 'Copy code');
+ button.setAttribute('title', 'Copy code');
+ }, 2000);
+ } catch (err) {
+ console.error('Failed to copy code: ', err);
+ }
});
+ });
});
diff --git a/static/js/katex/auto-render.min.js b/static/js/katex/auto-render.min.js
index 74f07c2..f61f5f4 100644
--- a/static/js/katex/auto-render.min.js
+++ b/static/js/katex/auto-render.min.js
@@ -1 +1,170 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var i={};return function(){n.d(i,{default:function(){return s}});var e=n(771),t=n.n(e),r=function(e,t,r){for(var n=r,i=0,a=e.length;n0&&(i.push({type:"text",data:e.slice(0,n)}),e=e.slice(n));var l=t.findIndex((function(t){return e.startsWith(t.left)}));if(-1===(n=r(t[l].right,e,t[l].left.length)))break;var d=e.slice(0,n+t[l].right.length),s=a.test(d)?d:e.slice(t[l].left.length,n);i.push({type:"math",data:s,rawData:d,display:t[l].display}),e=e.slice(n+t[l].right.length)}return""!==e&&i.push({type:"text",data:e}),i},l=function(e,r){var n=o(e,r.delimiters);if(1===n.length&&"text"===n[0].type)return null;for(var i=document.createDocumentFragment(),a=0;a 0 && (i.push({ type: 'text', data: e.slice(0, n) }), (e = e.slice(n)));
+ var l = t.findIndex(function (t) {
+ return e.startsWith(t.left);
+ });
+ if (-1 === (n = r(t[l].right, e, t[l].left.length))) break;
+ var d = e.slice(0, n + t[l].right.length),
+ s = a.test(d) ? d : e.slice(t[l].left.length, n);
+ (i.push({ type: 'math', data: s, rawData: d, display: t[l].display }),
+ (e = e.slice(n + t[l].right.length)));
+ }
+ return ('' !== e && i.push({ type: 'text', data: e }), i);
+ },
+ l = function (e, r) {
+ var n = o(e, r.delimiters);
+ if (1 === n.length && 'text' === n[0].type) return null;
+ for (var i = document.createDocumentFragment(), a = 0; a < n.length; a++)
+ if ('text' === n[a].type) i.appendChild(document.createTextNode(n[a].data));
+ else {
+ var l = document.createElement('span'),
+ d = n[a].data;
+ r.displayMode = n[a].display;
+ try {
+ (r.preProcess && (d = r.preProcess(d)), t().render(d, l, r));
+ } catch (e) {
+ if (!(e instanceof t().ParseError)) throw e;
+ (r.errorCallback(
+ 'KaTeX auto-render: Failed to parse `' + n[a].data + '` with ',
+ e,
+ ),
+ i.appendChild(document.createTextNode(n[a].rawData)));
+ continue;
+ }
+ i.appendChild(l);
+ }
+ return i;
+ },
+ d = function e(t, r) {
+ for (var n = 0; n < t.childNodes.length; n++) {
+ var i = t.childNodes[n];
+ if (3 === i.nodeType) {
+ for (
+ var a = i.textContent, o = i.nextSibling, d = 0;
+ o && o.nodeType === Node.TEXT_NODE;
+ )
+ ((a += o.textContent), (o = o.nextSibling), d++);
+ var s = l(a, r);
+ if (s) {
+ for (var f = 0; f < d; f++) i.nextSibling.remove();
+ ((n += s.childNodes.length - 1), t.replaceChild(s, i));
+ } else n += d;
+ } else
+ 1 === i.nodeType &&
+ (function () {
+ var t = ' ' + i.className + ' ';
+ -1 === r.ignoredTags.indexOf(i.nodeName.toLowerCase()) &&
+ r.ignoredClasses.every(function (e) {
+ return -1 === t.indexOf(' ' + e + ' ');
+ }) &&
+ e(i, r);
+ })();
+ }
+ },
+ s = function (e, t) {
+ if (!e) throw new Error('No element provided to render');
+ var r = {};
+ for (var n in t) t.hasOwnProperty(n) && (r[n] = t[n]);
+ ((r.delimiters = r.delimiters || [
+ { left: '$$', right: '$$', display: !0 },
+ { left: '\\(', right: '\\)', display: !1 },
+ { left: '\\begin{equation}', right: '\\end{equation}', display: !0 },
+ { left: '\\begin{align}', right: '\\end{align}', display: !0 },
+ { left: '\\begin{alignat}', right: '\\end{alignat}', display: !0 },
+ { left: '\\begin{gather}', right: '\\end{gather}', display: !0 },
+ { left: '\\begin{CD}', right: '\\end{CD}', display: !0 },
+ { left: '\\[', right: '\\]', display: !0 },
+ ]),
+ (r.ignoredTags = r.ignoredTags || [
+ 'script',
+ 'noscript',
+ 'style',
+ 'textarea',
+ 'pre',
+ 'code',
+ 'option',
+ ]),
+ (r.ignoredClasses = r.ignoredClasses || []),
+ (r.errorCallback = r.errorCallback || console.error),
+ (r.macros = r.macros || {}),
+ d(e, r));
+ };
+ })(),
+ (i = i.default)
+ );
+ })();
+});
diff --git a/static/js/katex/katex.min.js b/static/js/katex/katex.min.js
index f5cd23a..151ae5f 100644
--- a/static/js/katex/katex.min.js
+++ b/static/js/katex/katex.min.js
@@ -1 +1,11562 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return na}});var r=function e(t,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,a,i="KaTeX parse error: "+t,o=r&&r.loc;if(o&&o.start<=o.end){var s=o.lexer.input;n=o.start,a=o.end,n===s.length?i+=" at end of input: ":i+=" at position "+(n+1)+": ";var l=s.slice(n,a).replace(/[^]/g,"$&\u0332");i+=(n>15?"\u2026"+s.slice(n-15,n):s.slice(0,n))+l+(a+15":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;var s=function e(t){return"ordgroup"===t.type||"color"===t.type?1===t.body.length?e(t.body[0]):t:"font"===t.type?e(t.body):t},l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(o,(function(e){return i[e]}))},hyphenate:function(e){return e.replace(a,"-$1").toLowerCase()},getBaseElem:s,isCharacterBox:function(e){var t=s(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){var t=/^\s*([^\\/#]*?)(?::|*58|*3a)/i.exec(e);return null!=t?t[1]:"_relative"}},h={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:function(e){return"#"+e}},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:function(e,t){return t.push(e),t}},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:function(e){return Math.max(0,e)},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:function(e){return Math.max(0,e)},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:function(e){return Math.max(0,e)},cli:"-e, --max-expand ",cliProcessor:function(e){return"Infinity"===e?1/0:parseInt(e)}},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;var t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}var m=function(){function e(e){for(var t in 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||{},h)if(h.hasOwnProperty(t)){var r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}var t=e.prototype;return t.reportNonstrict=function(e,t,r){var a=this.strict;if("function"==typeof a&&(a=a(e,t,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+t+" ["+e+"]")}},t.useStrictBehavior=function(e,t,r){var n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))},t.isTrusted=function(e){e.url&&!e.protocol&&(e.protocol=l.protocolFromUrl(e.url));var t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)},e}(),u=function(){function e(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}var t=e.prototype;return t.sup=function(){return p[d[this.id]]},t.sub=function(){return p[f[this.id]]},t.fracNum=function(){return p[g[this.id]]},t.fracDen=function(){return p[v[this.id]]},t.cramp=function(){return p[b[this.id]]},t.text=function(){return p[y[this.id]]},t.isTight=function(){return this.size>=2},e}(),p=[new u(0,0,!1),new u(1,0,!0),new u(2,1,!1),new u(3,1,!0),new u(4,2,!1),new u(5,2,!0),new u(6,3,!1),new u(7,3,!0)],d=[4,5,4,5,6,7,6,7],f=[5,5,5,5,7,7,7,7],g=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],x={DISPLAY:p[0],TEXT:p[2],SCRIPT:p[4],SCRIPTSCRIPT:p[6]},w=[{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]]}];var k=[];function S(e){for(var t=0;t=k[t]&&e<=k[t+1])return!0;return!1}w.forEach((function(e){return e.blocks.forEach((function(e){return k.push.apply(k,e)}))}));var M=80,z={doubleleftarrow:"M262 157\nl10-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\n 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\n 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\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 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\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function e(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={}}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t=5?0:e>=3?1:2]){var r=q[t]={cssEmPerMu:B.quad[t]/18};for(var n in B)B.hasOwnProperty(n)&&(r[n]=B[n][t])}return q[t]}(this.size)),this._fontMetrics},t.getColor=function(){return this.phantom?"transparent":this.color},e}();O.BASESIZE=6;var E=O,L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){var r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{var a;if(a=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=a.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=a.fontMetrics().quad}a!==t&&(r*=a.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((function(e){return e})).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");var n=t.getColor();n&&(this.style.color=n)}},Y=function(e){var t=document.createElement(e);for(var r in t.className=G(this.classes),this.style)this.style.hasOwnProperty(r)&&(t.style[r]=this.style[r]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&t.setAttribute(n,this.attributes[n]);for(var a=0;a";for(var i=0;i"},W=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"span")},t.toMarkup=function(){return X.call(this,"span")},e}(),_=function(){function e(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){return Y.call(this,"a")},t.toMarkup=function(){return X.call(this,"a")},e}(),j=function(){function e(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createElement("img");for(var t in e.src=this.src,e.alt=this.alt,e.className="mord",this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e},t.toMarkup=function(){var e="
"},e}(),$={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"},Z=function(){function e(e,t,r,n,a,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=r||0,this.italic=n||0,this.skew=a||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var l=function(e){for(var t=0;t=a[0]&&e<=a[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement("span")).style.marginRight=F(this.italic)),this.classes.length>0&&((t=t||document.createElement("span")).className=G(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement("span")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e},t.toMarkup=function(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(n)&&(r+=l.hyphenate(n)+":"+this.style[n]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');var a=l.escape(this.text);return e?(t+=">",t+=a,t+=""):a},e}(),K=function(){function e(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r";for(var r=0;r"},e}(),J=function(){function e(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?e.setAttribute("d",this.alternate):e.setAttribute("d",z[this.pathName]),e},t.toMarkup=function(){return this.alternate?" ":" "},e}(),Q=function(){function e(e){this.attributes=void 0,this.attributes=e||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS("http://www.w3.org/2000/svg","line");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e},t.toMarkup=function(){var e=" "},e}();function ee(e){if(e instanceof Z)return e;throw new Error("Expected symbolNode but got "+String(e)+".")}var te={bin:1,close:1,inner:1,open:1,punct:1,rel:1},re={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},ne={math:{},text:{}},ae=ne;function ie(e,t,r,n,a,i){ne[e][a]={font:t,group:r,replace:n},i&&n&&(ne[e][n]=ne[e][a])}var oe="math",se="text",le="main",he="ams",ce="accent-token",me="bin",ue="close",pe="inner",de="mathord",fe="op-token",ge="open",ve="punct",be="rel",ye="spacing",xe="textord";ie(oe,le,be,"\u2261","\\equiv",!0),ie(oe,le,be,"\u227a","\\prec",!0),ie(oe,le,be,"\u227b","\\succ",!0),ie(oe,le,be,"\u223c","\\sim",!0),ie(oe,le,be,"\u22a5","\\perp"),ie(oe,le,be,"\u2aaf","\\preceq",!0),ie(oe,le,be,"\u2ab0","\\succeq",!0),ie(oe,le,be,"\u2243","\\simeq",!0),ie(oe,le,be,"\u2223","\\mid",!0),ie(oe,le,be,"\u226a","\\ll",!0),ie(oe,le,be,"\u226b","\\gg",!0),ie(oe,le,be,"\u224d","\\asymp",!0),ie(oe,le,be,"\u2225","\\parallel"),ie(oe,le,be,"\u22c8","\\bowtie",!0),ie(oe,le,be,"\u2323","\\smile",!0),ie(oe,le,be,"\u2291","\\sqsubseteq",!0),ie(oe,le,be,"\u2292","\\sqsupseteq",!0),ie(oe,le,be,"\u2250","\\doteq",!0),ie(oe,le,be,"\u2322","\\frown",!0),ie(oe,le,be,"\u220b","\\ni",!0),ie(oe,le,be,"\u221d","\\propto",!0),ie(oe,le,be,"\u22a2","\\vdash",!0),ie(oe,le,be,"\u22a3","\\dashv",!0),ie(oe,le,be,"\u220b","\\owns"),ie(oe,le,ve,".","\\ldotp"),ie(oe,le,ve,"\u22c5","\\cdotp"),ie(oe,le,xe,"#","\\#"),ie(se,le,xe,"#","\\#"),ie(oe,le,xe,"&","\\&"),ie(se,le,xe,"&","\\&"),ie(oe,le,xe,"\u2135","\\aleph",!0),ie(oe,le,xe,"\u2200","\\forall",!0),ie(oe,le,xe,"\u210f","\\hbar",!0),ie(oe,le,xe,"\u2203","\\exists",!0),ie(oe,le,xe,"\u2207","\\nabla",!0),ie(oe,le,xe,"\u266d","\\flat",!0),ie(oe,le,xe,"\u2113","\\ell",!0),ie(oe,le,xe,"\u266e","\\natural",!0),ie(oe,le,xe,"\u2663","\\clubsuit",!0),ie(oe,le,xe,"\u2118","\\wp",!0),ie(oe,le,xe,"\u266f","\\sharp",!0),ie(oe,le,xe,"\u2662","\\diamondsuit",!0),ie(oe,le,xe,"\u211c","\\Re",!0),ie(oe,le,xe,"\u2661","\\heartsuit",!0),ie(oe,le,xe,"\u2111","\\Im",!0),ie(oe,le,xe,"\u2660","\\spadesuit",!0),ie(oe,le,xe,"\xa7","\\S",!0),ie(se,le,xe,"\xa7","\\S"),ie(oe,le,xe,"\xb6","\\P",!0),ie(se,le,xe,"\xb6","\\P"),ie(oe,le,xe,"\u2020","\\dag"),ie(se,le,xe,"\u2020","\\dag"),ie(se,le,xe,"\u2020","\\textdagger"),ie(oe,le,xe,"\u2021","\\ddag"),ie(se,le,xe,"\u2021","\\ddag"),ie(se,le,xe,"\u2021","\\textdaggerdbl"),ie(oe,le,ue,"\u23b1","\\rmoustache",!0),ie(oe,le,ge,"\u23b0","\\lmoustache",!0),ie(oe,le,ue,"\u27ef","\\rgroup",!0),ie(oe,le,ge,"\u27ee","\\lgroup",!0),ie(oe,le,me,"\u2213","\\mp",!0),ie(oe,le,me,"\u2296","\\ominus",!0),ie(oe,le,me,"\u228e","\\uplus",!0),ie(oe,le,me,"\u2293","\\sqcap",!0),ie(oe,le,me,"\u2217","\\ast"),ie(oe,le,me,"\u2294","\\sqcup",!0),ie(oe,le,me,"\u25ef","\\bigcirc",!0),ie(oe,le,me,"\u2219","\\bullet",!0),ie(oe,le,me,"\u2021","\\ddagger"),ie(oe,le,me,"\u2240","\\wr",!0),ie(oe,le,me,"\u2a3f","\\amalg"),ie(oe,le,me,"&","\\And"),ie(oe,le,be,"\u27f5","\\longleftarrow",!0),ie(oe,le,be,"\u21d0","\\Leftarrow",!0),ie(oe,le,be,"\u27f8","\\Longleftarrow",!0),ie(oe,le,be,"\u27f6","\\longrightarrow",!0),ie(oe,le,be,"\u21d2","\\Rightarrow",!0),ie(oe,le,be,"\u27f9","\\Longrightarrow",!0),ie(oe,le,be,"\u2194","\\leftrightarrow",!0),ie(oe,le,be,"\u27f7","\\longleftrightarrow",!0),ie(oe,le,be,"\u21d4","\\Leftrightarrow",!0),ie(oe,le,be,"\u27fa","\\Longleftrightarrow",!0),ie(oe,le,be,"\u21a6","\\mapsto",!0),ie(oe,le,be,"\u27fc","\\longmapsto",!0),ie(oe,le,be,"\u2197","\\nearrow",!0),ie(oe,le,be,"\u21a9","\\hookleftarrow",!0),ie(oe,le,be,"\u21aa","\\hookrightarrow",!0),ie(oe,le,be,"\u2198","\\searrow",!0),ie(oe,le,be,"\u21bc","\\leftharpoonup",!0),ie(oe,le,be,"\u21c0","\\rightharpoonup",!0),ie(oe,le,be,"\u2199","\\swarrow",!0),ie(oe,le,be,"\u21bd","\\leftharpoondown",!0),ie(oe,le,be,"\u21c1","\\rightharpoondown",!0),ie(oe,le,be,"\u2196","\\nwarrow",!0),ie(oe,le,be,"\u21cc","\\rightleftharpoons",!0),ie(oe,he,be,"\u226e","\\nless",!0),ie(oe,he,be,"\ue010","\\@nleqslant"),ie(oe,he,be,"\ue011","\\@nleqq"),ie(oe,he,be,"\u2a87","\\lneq",!0),ie(oe,he,be,"\u2268","\\lneqq",!0),ie(oe,he,be,"\ue00c","\\@lvertneqq"),ie(oe,he,be,"\u22e6","\\lnsim",!0),ie(oe,he,be,"\u2a89","\\lnapprox",!0),ie(oe,he,be,"\u2280","\\nprec",!0),ie(oe,he,be,"\u22e0","\\npreceq",!0),ie(oe,he,be,"\u22e8","\\precnsim",!0),ie(oe,he,be,"\u2ab9","\\precnapprox",!0),ie(oe,he,be,"\u2241","\\nsim",!0),ie(oe,he,be,"\ue006","\\@nshortmid"),ie(oe,he,be,"\u2224","\\nmid",!0),ie(oe,he,be,"\u22ac","\\nvdash",!0),ie(oe,he,be,"\u22ad","\\nvDash",!0),ie(oe,he,be,"\u22ea","\\ntriangleleft"),ie(oe,he,be,"\u22ec","\\ntrianglelefteq",!0),ie(oe,he,be,"\u228a","\\subsetneq",!0),ie(oe,he,be,"\ue01a","\\@varsubsetneq"),ie(oe,he,be,"\u2acb","\\subsetneqq",!0),ie(oe,he,be,"\ue017","\\@varsubsetneqq"),ie(oe,he,be,"\u226f","\\ngtr",!0),ie(oe,he,be,"\ue00f","\\@ngeqslant"),ie(oe,he,be,"\ue00e","\\@ngeqq"),ie(oe,he,be,"\u2a88","\\gneq",!0),ie(oe,he,be,"\u2269","\\gneqq",!0),ie(oe,he,be,"\ue00d","\\@gvertneqq"),ie(oe,he,be,"\u22e7","\\gnsim",!0),ie(oe,he,be,"\u2a8a","\\gnapprox",!0),ie(oe,he,be,"\u2281","\\nsucc",!0),ie(oe,he,be,"\u22e1","\\nsucceq",!0),ie(oe,he,be,"\u22e9","\\succnsim",!0),ie(oe,he,be,"\u2aba","\\succnapprox",!0),ie(oe,he,be,"\u2246","\\ncong",!0),ie(oe,he,be,"\ue007","\\@nshortparallel"),ie(oe,he,be,"\u2226","\\nparallel",!0),ie(oe,he,be,"\u22af","\\nVDash",!0),ie(oe,he,be,"\u22eb","\\ntriangleright"),ie(oe,he,be,"\u22ed","\\ntrianglerighteq",!0),ie(oe,he,be,"\ue018","\\@nsupseteqq"),ie(oe,he,be,"\u228b","\\supsetneq",!0),ie(oe,he,be,"\ue01b","\\@varsupsetneq"),ie(oe,he,be,"\u2acc","\\supsetneqq",!0),ie(oe,he,be,"\ue019","\\@varsupsetneqq"),ie(oe,he,be,"\u22ae","\\nVdash",!0),ie(oe,he,be,"\u2ab5","\\precneqq",!0),ie(oe,he,be,"\u2ab6","\\succneqq",!0),ie(oe,he,be,"\ue016","\\@nsubseteqq"),ie(oe,he,me,"\u22b4","\\unlhd"),ie(oe,he,me,"\u22b5","\\unrhd"),ie(oe,he,be,"\u219a","\\nleftarrow",!0),ie(oe,he,be,"\u219b","\\nrightarrow",!0),ie(oe,he,be,"\u21cd","\\nLeftarrow",!0),ie(oe,he,be,"\u21cf","\\nRightarrow",!0),ie(oe,he,be,"\u21ae","\\nleftrightarrow",!0),ie(oe,he,be,"\u21ce","\\nLeftrightarrow",!0),ie(oe,he,be,"\u25b3","\\vartriangle"),ie(oe,he,xe,"\u210f","\\hslash"),ie(oe,he,xe,"\u25bd","\\triangledown"),ie(oe,he,xe,"\u25ca","\\lozenge"),ie(oe,he,xe,"\u24c8","\\circledS"),ie(oe,he,xe,"\xae","\\circledR"),ie(se,he,xe,"\xae","\\circledR"),ie(oe,he,xe,"\u2221","\\measuredangle",!0),ie(oe,he,xe,"\u2204","\\nexists"),ie(oe,he,xe,"\u2127","\\mho"),ie(oe,he,xe,"\u2132","\\Finv",!0),ie(oe,he,xe,"\u2141","\\Game",!0),ie(oe,he,xe,"\u2035","\\backprime"),ie(oe,he,xe,"\u25b2","\\blacktriangle"),ie(oe,he,xe,"\u25bc","\\blacktriangledown"),ie(oe,he,xe,"\u25a0","\\blacksquare"),ie(oe,he,xe,"\u29eb","\\blacklozenge"),ie(oe,he,xe,"\u2605","\\bigstar"),ie(oe,he,xe,"\u2222","\\sphericalangle",!0),ie(oe,he,xe,"\u2201","\\complement",!0),ie(oe,he,xe,"\xf0","\\eth",!0),ie(se,le,xe,"\xf0","\xf0"),ie(oe,he,xe,"\u2571","\\diagup"),ie(oe,he,xe,"\u2572","\\diagdown"),ie(oe,he,xe,"\u25a1","\\square"),ie(oe,he,xe,"\u25a1","\\Box"),ie(oe,he,xe,"\u25ca","\\Diamond"),ie(oe,he,xe,"\xa5","\\yen",!0),ie(se,he,xe,"\xa5","\\yen",!0),ie(oe,he,xe,"\u2713","\\checkmark",!0),ie(se,he,xe,"\u2713","\\checkmark"),ie(oe,he,xe,"\u2136","\\beth",!0),ie(oe,he,xe,"\u2138","\\daleth",!0),ie(oe,he,xe,"\u2137","\\gimel",!0),ie(oe,he,xe,"\u03dd","\\digamma",!0),ie(oe,he,xe,"\u03f0","\\varkappa"),ie(oe,he,ge,"\u250c","\\@ulcorner",!0),ie(oe,he,ue,"\u2510","\\@urcorner",!0),ie(oe,he,ge,"\u2514","\\@llcorner",!0),ie(oe,he,ue,"\u2518","\\@lrcorner",!0),ie(oe,he,be,"\u2266","\\leqq",!0),ie(oe,he,be,"\u2a7d","\\leqslant",!0),ie(oe,he,be,"\u2a95","\\eqslantless",!0),ie(oe,he,be,"\u2272","\\lesssim",!0),ie(oe,he,be,"\u2a85","\\lessapprox",!0),ie(oe,he,be,"\u224a","\\approxeq",!0),ie(oe,he,me,"\u22d6","\\lessdot"),ie(oe,he,be,"\u22d8","\\lll",!0),ie(oe,he,be,"\u2276","\\lessgtr",!0),ie(oe,he,be,"\u22da","\\lesseqgtr",!0),ie(oe,he,be,"\u2a8b","\\lesseqqgtr",!0),ie(oe,he,be,"\u2251","\\doteqdot"),ie(oe,he,be,"\u2253","\\risingdotseq",!0),ie(oe,he,be,"\u2252","\\fallingdotseq",!0),ie(oe,he,be,"\u223d","\\backsim",!0),ie(oe,he,be,"\u22cd","\\backsimeq",!0),ie(oe,he,be,"\u2ac5","\\subseteqq",!0),ie(oe,he,be,"\u22d0","\\Subset",!0),ie(oe,he,be,"\u228f","\\sqsubset",!0),ie(oe,he,be,"\u227c","\\preccurlyeq",!0),ie(oe,he,be,"\u22de","\\curlyeqprec",!0),ie(oe,he,be,"\u227e","\\precsim",!0),ie(oe,he,be,"\u2ab7","\\precapprox",!0),ie(oe,he,be,"\u22b2","\\vartriangleleft"),ie(oe,he,be,"\u22b4","\\trianglelefteq"),ie(oe,he,be,"\u22a8","\\vDash",!0),ie(oe,he,be,"\u22aa","\\Vvdash",!0),ie(oe,he,be,"\u2323","\\smallsmile"),ie(oe,he,be,"\u2322","\\smallfrown"),ie(oe,he,be,"\u224f","\\bumpeq",!0),ie(oe,he,be,"\u224e","\\Bumpeq",!0),ie(oe,he,be,"\u2267","\\geqq",!0),ie(oe,he,be,"\u2a7e","\\geqslant",!0),ie(oe,he,be,"\u2a96","\\eqslantgtr",!0),ie(oe,he,be,"\u2273","\\gtrsim",!0),ie(oe,he,be,"\u2a86","\\gtrapprox",!0),ie(oe,he,me,"\u22d7","\\gtrdot"),ie(oe,he,be,"\u22d9","\\ggg",!0),ie(oe,he,be,"\u2277","\\gtrless",!0),ie(oe,he,be,"\u22db","\\gtreqless",!0),ie(oe,he,be,"\u2a8c","\\gtreqqless",!0),ie(oe,he,be,"\u2256","\\eqcirc",!0),ie(oe,he,be,"\u2257","\\circeq",!0),ie(oe,he,be,"\u225c","\\triangleq",!0),ie(oe,he,be,"\u223c","\\thicksim"),ie(oe,he,be,"\u2248","\\thickapprox"),ie(oe,he,be,"\u2ac6","\\supseteqq",!0),ie(oe,he,be,"\u22d1","\\Supset",!0),ie(oe,he,be,"\u2290","\\sqsupset",!0),ie(oe,he,be,"\u227d","\\succcurlyeq",!0),ie(oe,he,be,"\u22df","\\curlyeqsucc",!0),ie(oe,he,be,"\u227f","\\succsim",!0),ie(oe,he,be,"\u2ab8","\\succapprox",!0),ie(oe,he,be,"\u22b3","\\vartriangleright"),ie(oe,he,be,"\u22b5","\\trianglerighteq"),ie(oe,he,be,"\u22a9","\\Vdash",!0),ie(oe,he,be,"\u2223","\\shortmid"),ie(oe,he,be,"\u2225","\\shortparallel"),ie(oe,he,be,"\u226c","\\between",!0),ie(oe,he,be,"\u22d4","\\pitchfork",!0),ie(oe,he,be,"\u221d","\\varpropto"),ie(oe,he,be,"\u25c0","\\blacktriangleleft"),ie(oe,he,be,"\u2234","\\therefore",!0),ie(oe,he,be,"\u220d","\\backepsilon"),ie(oe,he,be,"\u25b6","\\blacktriangleright"),ie(oe,he,be,"\u2235","\\because",!0),ie(oe,he,be,"\u22d8","\\llless"),ie(oe,he,be,"\u22d9","\\gggtr"),ie(oe,he,me,"\u22b2","\\lhd"),ie(oe,he,me,"\u22b3","\\rhd"),ie(oe,he,be,"\u2242","\\eqsim",!0),ie(oe,le,be,"\u22c8","\\Join"),ie(oe,he,be,"\u2251","\\Doteq",!0),ie(oe,he,me,"\u2214","\\dotplus",!0),ie(oe,he,me,"\u2216","\\smallsetminus"),ie(oe,he,me,"\u22d2","\\Cap",!0),ie(oe,he,me,"\u22d3","\\Cup",!0),ie(oe,he,me,"\u2a5e","\\doublebarwedge",!0),ie(oe,he,me,"\u229f","\\boxminus",!0),ie(oe,he,me,"\u229e","\\boxplus",!0),ie(oe,he,me,"\u22c7","\\divideontimes",!0),ie(oe,he,me,"\u22c9","\\ltimes",!0),ie(oe,he,me,"\u22ca","\\rtimes",!0),ie(oe,he,me,"\u22cb","\\leftthreetimes",!0),ie(oe,he,me,"\u22cc","\\rightthreetimes",!0),ie(oe,he,me,"\u22cf","\\curlywedge",!0),ie(oe,he,me,"\u22ce","\\curlyvee",!0),ie(oe,he,me,"\u229d","\\circleddash",!0),ie(oe,he,me,"\u229b","\\circledast",!0),ie(oe,he,me,"\u22c5","\\centerdot"),ie(oe,he,me,"\u22ba","\\intercal",!0),ie(oe,he,me,"\u22d2","\\doublecap"),ie(oe,he,me,"\u22d3","\\doublecup"),ie(oe,he,me,"\u22a0","\\boxtimes",!0),ie(oe,he,be,"\u21e2","\\dashrightarrow",!0),ie(oe,he,be,"\u21e0","\\dashleftarrow",!0),ie(oe,he,be,"\u21c7","\\leftleftarrows",!0),ie(oe,he,be,"\u21c6","\\leftrightarrows",!0),ie(oe,he,be,"\u21da","\\Lleftarrow",!0),ie(oe,he,be,"\u219e","\\twoheadleftarrow",!0),ie(oe,he,be,"\u21a2","\\leftarrowtail",!0),ie(oe,he,be,"\u21ab","\\looparrowleft",!0),ie(oe,he,be,"\u21cb","\\leftrightharpoons",!0),ie(oe,he,be,"\u21b6","\\curvearrowleft",!0),ie(oe,he,be,"\u21ba","\\circlearrowleft",!0),ie(oe,he,be,"\u21b0","\\Lsh",!0),ie(oe,he,be,"\u21c8","\\upuparrows",!0),ie(oe,he,be,"\u21bf","\\upharpoonleft",!0),ie(oe,he,be,"\u21c3","\\downharpoonleft",!0),ie(oe,le,be,"\u22b6","\\origof",!0),ie(oe,le,be,"\u22b7","\\imageof",!0),ie(oe,he,be,"\u22b8","\\multimap",!0),ie(oe,he,be,"\u21ad","\\leftrightsquigarrow",!0),ie(oe,he,be,"\u21c9","\\rightrightarrows",!0),ie(oe,he,be,"\u21c4","\\rightleftarrows",!0),ie(oe,he,be,"\u21a0","\\twoheadrightarrow",!0),ie(oe,he,be,"\u21a3","\\rightarrowtail",!0),ie(oe,he,be,"\u21ac","\\looparrowright",!0),ie(oe,he,be,"\u21b7","\\curvearrowright",!0),ie(oe,he,be,"\u21bb","\\circlearrowright",!0),ie(oe,he,be,"\u21b1","\\Rsh",!0),ie(oe,he,be,"\u21ca","\\downdownarrows",!0),ie(oe,he,be,"\u21be","\\upharpoonright",!0),ie(oe,he,be,"\u21c2","\\downharpoonright",!0),ie(oe,he,be,"\u21dd","\\rightsquigarrow",!0),ie(oe,he,be,"\u21dd","\\leadsto"),ie(oe,he,be,"\u21db","\\Rrightarrow",!0),ie(oe,he,be,"\u21be","\\restriction"),ie(oe,le,xe,"\u2018","`"),ie(oe,le,xe,"$","\\$"),ie(se,le,xe,"$","\\$"),ie(se,le,xe,"$","\\textdollar"),ie(oe,le,xe,"%","\\%"),ie(se,le,xe,"%","\\%"),ie(oe,le,xe,"_","\\_"),ie(se,le,xe,"_","\\_"),ie(se,le,xe,"_","\\textunderscore"),ie(oe,le,xe,"\u2220","\\angle",!0),ie(oe,le,xe,"\u221e","\\infty",!0),ie(oe,le,xe,"\u2032","\\prime"),ie(oe,le,xe,"\u25b3","\\triangle"),ie(oe,le,xe,"\u0393","\\Gamma",!0),ie(oe,le,xe,"\u0394","\\Delta",!0),ie(oe,le,xe,"\u0398","\\Theta",!0),ie(oe,le,xe,"\u039b","\\Lambda",!0),ie(oe,le,xe,"\u039e","\\Xi",!0),ie(oe,le,xe,"\u03a0","\\Pi",!0),ie(oe,le,xe,"\u03a3","\\Sigma",!0),ie(oe,le,xe,"\u03a5","\\Upsilon",!0),ie(oe,le,xe,"\u03a6","\\Phi",!0),ie(oe,le,xe,"\u03a8","\\Psi",!0),ie(oe,le,xe,"\u03a9","\\Omega",!0),ie(oe,le,xe,"A","\u0391"),ie(oe,le,xe,"B","\u0392"),ie(oe,le,xe,"E","\u0395"),ie(oe,le,xe,"Z","\u0396"),ie(oe,le,xe,"H","\u0397"),ie(oe,le,xe,"I","\u0399"),ie(oe,le,xe,"K","\u039a"),ie(oe,le,xe,"M","\u039c"),ie(oe,le,xe,"N","\u039d"),ie(oe,le,xe,"O","\u039f"),ie(oe,le,xe,"P","\u03a1"),ie(oe,le,xe,"T","\u03a4"),ie(oe,le,xe,"X","\u03a7"),ie(oe,le,xe,"\xac","\\neg",!0),ie(oe,le,xe,"\xac","\\lnot"),ie(oe,le,xe,"\u22a4","\\top"),ie(oe,le,xe,"\u22a5","\\bot"),ie(oe,le,xe,"\u2205","\\emptyset"),ie(oe,he,xe,"\u2205","\\varnothing"),ie(oe,le,de,"\u03b1","\\alpha",!0),ie(oe,le,de,"\u03b2","\\beta",!0),ie(oe,le,de,"\u03b3","\\gamma",!0),ie(oe,le,de,"\u03b4","\\delta",!0),ie(oe,le,de,"\u03f5","\\epsilon",!0),ie(oe,le,de,"\u03b6","\\zeta",!0),ie(oe,le,de,"\u03b7","\\eta",!0),ie(oe,le,de,"\u03b8","\\theta",!0),ie(oe,le,de,"\u03b9","\\iota",!0),ie(oe,le,de,"\u03ba","\\kappa",!0),ie(oe,le,de,"\u03bb","\\lambda",!0),ie(oe,le,de,"\u03bc","\\mu",!0),ie(oe,le,de,"\u03bd","\\nu",!0),ie(oe,le,de,"\u03be","\\xi",!0),ie(oe,le,de,"\u03bf","\\omicron",!0),ie(oe,le,de,"\u03c0","\\pi",!0),ie(oe,le,de,"\u03c1","\\rho",!0),ie(oe,le,de,"\u03c3","\\sigma",!0),ie(oe,le,de,"\u03c4","\\tau",!0),ie(oe,le,de,"\u03c5","\\upsilon",!0),ie(oe,le,de,"\u03d5","\\phi",!0),ie(oe,le,de,"\u03c7","\\chi",!0),ie(oe,le,de,"\u03c8","\\psi",!0),ie(oe,le,de,"\u03c9","\\omega",!0),ie(oe,le,de,"\u03b5","\\varepsilon",!0),ie(oe,le,de,"\u03d1","\\vartheta",!0),ie(oe,le,de,"\u03d6","\\varpi",!0),ie(oe,le,de,"\u03f1","\\varrho",!0),ie(oe,le,de,"\u03c2","\\varsigma",!0),ie(oe,le,de,"\u03c6","\\varphi",!0),ie(oe,le,me,"\u2217","*",!0),ie(oe,le,me,"+","+"),ie(oe,le,me,"\u2212","-",!0),ie(oe,le,me,"\u22c5","\\cdot",!0),ie(oe,le,me,"\u2218","\\circ",!0),ie(oe,le,me,"\xf7","\\div",!0),ie(oe,le,me,"\xb1","\\pm",!0),ie(oe,le,me,"\xd7","\\times",!0),ie(oe,le,me,"\u2229","\\cap",!0),ie(oe,le,me,"\u222a","\\cup",!0),ie(oe,le,me,"\u2216","\\setminus",!0),ie(oe,le,me,"\u2227","\\land"),ie(oe,le,me,"\u2228","\\lor"),ie(oe,le,me,"\u2227","\\wedge",!0),ie(oe,le,me,"\u2228","\\vee",!0),ie(oe,le,xe,"\u221a","\\surd"),ie(oe,le,ge,"\u27e8","\\langle",!0),ie(oe,le,ge,"\u2223","\\lvert"),ie(oe,le,ge,"\u2225","\\lVert"),ie(oe,le,ue,"?","?"),ie(oe,le,ue,"!","!"),ie(oe,le,ue,"\u27e9","\\rangle",!0),ie(oe,le,ue,"\u2223","\\rvert"),ie(oe,le,ue,"\u2225","\\rVert"),ie(oe,le,be,"=","="),ie(oe,le,be,":",":"),ie(oe,le,be,"\u2248","\\approx",!0),ie(oe,le,be,"\u2245","\\cong",!0),ie(oe,le,be,"\u2265","\\ge"),ie(oe,le,be,"\u2265","\\geq",!0),ie(oe,le,be,"\u2190","\\gets"),ie(oe,le,be,">","\\gt",!0),ie(oe,le,be,"\u2208","\\in",!0),ie(oe,le,be,"\ue020","\\@not"),ie(oe,le,be,"\u2282","\\subset",!0),ie(oe,le,be,"\u2283","\\supset",!0),ie(oe,le,be,"\u2286","\\subseteq",!0),ie(oe,le,be,"\u2287","\\supseteq",!0),ie(oe,he,be,"\u2288","\\nsubseteq",!0),ie(oe,he,be,"\u2289","\\nsupseteq",!0),ie(oe,le,be,"\u22a8","\\models"),ie(oe,le,be,"\u2190","\\leftarrow",!0),ie(oe,le,be,"\u2264","\\le"),ie(oe,le,be,"\u2264","\\leq",!0),ie(oe,le,be,"<","\\lt",!0),ie(oe,le,be,"\u2192","\\rightarrow",!0),ie(oe,le,be,"\u2192","\\to"),ie(oe,he,be,"\u2271","\\ngeq",!0),ie(oe,he,be,"\u2270","\\nleq",!0),ie(oe,le,ye,"\xa0","\\ "),ie(oe,le,ye,"\xa0","\\space"),ie(oe,le,ye,"\xa0","\\nobreakspace"),ie(se,le,ye,"\xa0","\\ "),ie(se,le,ye,"\xa0"," "),ie(se,le,ye,"\xa0","\\space"),ie(se,le,ye,"\xa0","\\nobreakspace"),ie(oe,le,ye,null,"\\nobreak"),ie(oe,le,ye,null,"\\allowbreak"),ie(oe,le,ve,",",","),ie(oe,le,ve,";",";"),ie(oe,he,me,"\u22bc","\\barwedge",!0),ie(oe,he,me,"\u22bb","\\veebar",!0),ie(oe,le,me,"\u2299","\\odot",!0),ie(oe,le,me,"\u2295","\\oplus",!0),ie(oe,le,me,"\u2297","\\otimes",!0),ie(oe,le,xe,"\u2202","\\partial",!0),ie(oe,le,me,"\u2298","\\oslash",!0),ie(oe,he,me,"\u229a","\\circledcirc",!0),ie(oe,he,me,"\u22a1","\\boxdot",!0),ie(oe,le,me,"\u25b3","\\bigtriangleup"),ie(oe,le,me,"\u25bd","\\bigtriangledown"),ie(oe,le,me,"\u2020","\\dagger"),ie(oe,le,me,"\u22c4","\\diamond"),ie(oe,le,me,"\u22c6","\\star"),ie(oe,le,me,"\u25c3","\\triangleleft"),ie(oe,le,me,"\u25b9","\\triangleright"),ie(oe,le,ge,"{","\\{"),ie(se,le,xe,"{","\\{"),ie(se,le,xe,"{","\\textbraceleft"),ie(oe,le,ue,"}","\\}"),ie(se,le,xe,"}","\\}"),ie(se,le,xe,"}","\\textbraceright"),ie(oe,le,ge,"{","\\lbrace"),ie(oe,le,ue,"}","\\rbrace"),ie(oe,le,ge,"[","\\lbrack",!0),ie(se,le,xe,"[","\\lbrack",!0),ie(oe,le,ue,"]","\\rbrack",!0),ie(se,le,xe,"]","\\rbrack",!0),ie(oe,le,ge,"(","\\lparen",!0),ie(oe,le,ue,")","\\rparen",!0),ie(se,le,xe,"<","\\textless",!0),ie(se,le,xe,">","\\textgreater",!0),ie(oe,le,ge,"\u230a","\\lfloor",!0),ie(oe,le,ue,"\u230b","\\rfloor",!0),ie(oe,le,ge,"\u2308","\\lceil",!0),ie(oe,le,ue,"\u2309","\\rceil",!0),ie(oe,le,xe,"\\","\\backslash"),ie(oe,le,xe,"\u2223","|"),ie(oe,le,xe,"\u2223","\\vert"),ie(se,le,xe,"|","\\textbar",!0),ie(oe,le,xe,"\u2225","\\|"),ie(oe,le,xe,"\u2225","\\Vert"),ie(se,le,xe,"\u2225","\\textbardbl"),ie(se,le,xe,"~","\\textasciitilde"),ie(se,le,xe,"\\","\\textbackslash"),ie(se,le,xe,"^","\\textasciicircum"),ie(oe,le,be,"\u2191","\\uparrow",!0),ie(oe,le,be,"\u21d1","\\Uparrow",!0),ie(oe,le,be,"\u2193","\\downarrow",!0),ie(oe,le,be,"\u21d3","\\Downarrow",!0),ie(oe,le,be,"\u2195","\\updownarrow",!0),ie(oe,le,be,"\u21d5","\\Updownarrow",!0),ie(oe,le,fe,"\u2210","\\coprod"),ie(oe,le,fe,"\u22c1","\\bigvee"),ie(oe,le,fe,"\u22c0","\\bigwedge"),ie(oe,le,fe,"\u2a04","\\biguplus"),ie(oe,le,fe,"\u22c2","\\bigcap"),ie(oe,le,fe,"\u22c3","\\bigcup"),ie(oe,le,fe,"\u222b","\\int"),ie(oe,le,fe,"\u222b","\\intop"),ie(oe,le,fe,"\u222c","\\iint"),ie(oe,le,fe,"\u222d","\\iiint"),ie(oe,le,fe,"\u220f","\\prod"),ie(oe,le,fe,"\u2211","\\sum"),ie(oe,le,fe,"\u2a02","\\bigotimes"),ie(oe,le,fe,"\u2a01","\\bigoplus"),ie(oe,le,fe,"\u2a00","\\bigodot"),ie(oe,le,fe,"\u222e","\\oint"),ie(oe,le,fe,"\u222f","\\oiint"),ie(oe,le,fe,"\u2230","\\oiiint"),ie(oe,le,fe,"\u2a06","\\bigsqcup"),ie(oe,le,fe,"\u222b","\\smallint"),ie(se,le,pe,"\u2026","\\textellipsis"),ie(oe,le,pe,"\u2026","\\mathellipsis"),ie(se,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u2026","\\ldots",!0),ie(oe,le,pe,"\u22ef","\\@cdots",!0),ie(oe,le,pe,"\u22f1","\\ddots",!0),ie(oe,le,xe,"\u22ee","\\varvdots"),ie(oe,le,ce,"\u02ca","\\acute"),ie(oe,le,ce,"\u02cb","\\grave"),ie(oe,le,ce,"\xa8","\\ddot"),ie(oe,le,ce,"~","\\tilde"),ie(oe,le,ce,"\u02c9","\\bar"),ie(oe,le,ce,"\u02d8","\\breve"),ie(oe,le,ce,"\u02c7","\\check"),ie(oe,le,ce,"^","\\hat"),ie(oe,le,ce,"\u20d7","\\vec"),ie(oe,le,ce,"\u02d9","\\dot"),ie(oe,le,ce,"\u02da","\\mathring"),ie(oe,le,de,"\ue131","\\@imath"),ie(oe,le,de,"\ue237","\\@jmath"),ie(oe,le,xe,"\u0131","\u0131"),ie(oe,le,xe,"\u0237","\u0237"),ie(se,le,xe,"\u0131","\\i",!0),ie(se,le,xe,"\u0237","\\j",!0),ie(se,le,xe,"\xdf","\\ss",!0),ie(se,le,xe,"\xe6","\\ae",!0),ie(se,le,xe,"\u0153","\\oe",!0),ie(se,le,xe,"\xf8","\\o",!0),ie(se,le,xe,"\xc6","\\AE",!0),ie(se,le,xe,"\u0152","\\OE",!0),ie(se,le,xe,"\xd8","\\O",!0),ie(se,le,ce,"\u02ca","\\'"),ie(se,le,ce,"\u02cb","\\`"),ie(se,le,ce,"\u02c6","\\^"),ie(se,le,ce,"\u02dc","\\~"),ie(se,le,ce,"\u02c9","\\="),ie(se,le,ce,"\u02d8","\\u"),ie(se,le,ce,"\u02d9","\\."),ie(se,le,ce,"\xb8","\\c"),ie(se,le,ce,"\u02da","\\r"),ie(se,le,ce,"\u02c7","\\v"),ie(se,le,ce,"\xa8",'\\"'),ie(se,le,ce,"\u02dd","\\H"),ie(se,le,ce,"\u25ef","\\textcircled");var we={"--":!0,"---":!0,"``":!0,"''":!0};ie(se,le,xe,"\u2013","--",!0),ie(se,le,xe,"\u2013","\\textendash"),ie(se,le,xe,"\u2014","---",!0),ie(se,le,xe,"\u2014","\\textemdash"),ie(se,le,xe,"\u2018","`",!0),ie(se,le,xe,"\u2018","\\textquoteleft"),ie(se,le,xe,"\u2019","'",!0),ie(se,le,xe,"\u2019","\\textquoteright"),ie(se,le,xe,"\u201c","``",!0),ie(se,le,xe,"\u201c","\\textquotedblleft"),ie(se,le,xe,"\u201d","''",!0),ie(se,le,xe,"\u201d","\\textquotedblright"),ie(oe,le,xe,"\xb0","\\degree",!0),ie(se,le,xe,"\xb0","\\degree"),ie(se,le,xe,"\xb0","\\textdegree",!0),ie(oe,le,xe,"\xa3","\\pounds"),ie(oe,le,xe,"\xa3","\\mathsterling",!0),ie(se,le,xe,"\xa3","\\pounds"),ie(se,le,xe,"\xa3","\\textsterling",!0),ie(oe,he,xe,"\u2720","\\maltese"),ie(se,he,xe,"\u2720","\\maltese");for(var ke='0123456789/@."',Se=0;Set&&(t=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>n&&(n=i.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Xe=function(e,t,r,n){var a=new W(e,t,r,n);return Ye(a),a},We=function(e,t,r,n){return new W(e,t,r,n)},_e=function(e){var t=new A(e);return Ye(t),t},je=function(e,t,r){var n="";switch(e){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=e}return n+"-"+("textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular")},$e={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ke={fontMap:$e,makeSymbol:Ge,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Fe(e,"Main-Bold",t).metrics?Ge(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===ae[t][e].font?Ge(e,"Main-Regular",t,r,n):Ge(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Xe,makeSvgSpan:We,makeLineSpan:function(e,t,r){var n=Xe([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){var a=new _(e,t,r,n);return Ye(a),a},makeFragment:_e,wrapFragment:function(e,t){return e instanceof A?Xe([],[e],t):e},makeVList:function(e,t){for(var r=function(e){if("individualShift"===e.positionType){for(var t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth,a=n,i=1;i0&&(o.push(kt(s,t)),s=[]),o.push(a[l]));s.length>0&&o.push(kt(s,t)),r?((i=kt(ft(r,t,!0))).classes=["tag"],o.push(i)):n&&o.push(n);var c=ct(["katex-html"],o);if(c.setAttribute("aria-hidden","true"),i){var m=i.children[0];m.style.height=F(c.height+c.depth),c.depth&&(m.style.verticalAlign=F(-c.depth))}return c}function Mt(e){return new A(e)}var zt=function(){function e(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}var t=e.prototype;return t.setAttribute=function(e,t){this.attributes[e]=t},t.getAttribute=function(e){return this.attributes[e]},t.toNode=function(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(var r=0;r0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(var r=0;r"},t.toText=function(){return this.children.map((function(e){return e.toText()})).join("")},e}(),At=function(){function e(e){this.text=void 0,this.text=e}var t=e.prototype;return t.toNode=function(){return document.createTextNode(this.text)},t.toMarkup=function(){return l.escape(this.toText())},t.toText=function(){return this.text},e}(),Tt={MathNode:zt,TextNode:At,SpaceNode:function(){function e(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}var t=e.prototype;return t.toNode=function(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e},t.toMarkup=function(){return this.character?""+this.character+" ":' '},t.toText=function(){return this.character?this.character:" "},e}(),newDocumentFragment:Mt},Bt=function(e,t,r){return!ae[t][e]||!ae[t][e].replace||55349===e.charCodeAt(0)||we.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=ae[t][e].replace),new Tt.TextNode(e)},Ct=function(e){return 1===e.length?e[0]:new Tt.MathNode("mrow",e)},Nt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";var r=t.font;if(!r||"mathnormal"===r)return null;var n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var a=e.text;return l.contains(["\\imath","\\jmath"],a)?null:(ae[n][a]&&ae[n][a].replace&&(a=ae[n][a].replace),N(a,Ke.fontMap[r].fontName,n)?Ke.fontMap[r].variant:null)},qt=function(e,t,r){if(1===e.length){var n=Rt(e[0],t);return r&&n instanceof zt&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var a,i=[],o=0;o0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),a=s}return i},It=function(e,t,r){return Ct(qt(e,t,r))},Rt=function(e,t){if(!e)return new Tt.MathNode("mrow");if(it[e.type])return it[e.type](e,t);throw new n("Got group of unknown type: '"+e.type+"'")};function Ht(e,t,r,n,a){var i,o=qt(e,r);i=1===o.length&&o[0]instanceof zt&&l.contains(["mrow","mtable"],o[0].type)?o[0]:new Tt.MathNode("mrow",o);var s=new Tt.MathNode("annotation",[new Tt.TextNode(t)]);s.setAttribute("encoding","application/x-tex");var h=new Tt.MathNode("semantics",[i,s]),c=new Tt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");var m=a?"katex":"katex-mathml";return Ke.makeSpan([m],[c])}var Ot=function(e){return new E({style:e.displayMode?x.DISPLAY:x.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Et=function(e,t){if(t.displayMode){var r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ke.makeSpan(r,[e])}return e},Lt=function(e,t,r){var n,a=Ot(r);if("mathml"===r.output)return Ht(e,t,a,r.displayMode,!0);if("html"===r.output){var i=St(e,a);n=Ke.makeSpan(["katex"],[i])}else{var o=Ht(e,t,a,r.displayMode,!1),s=St(e,a);n=Ke.makeSpan(["katex"],[o,s])}return Et(n,r)},Dt={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":"="},Vt={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]},Pt=function(e,t,r,n,a){var i,o=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(i=Ke.makeSpan(["stretchy",t],[],a),"fbox"===t){var s=a.color&&a.getColor();s&&(i.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&l.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new K(l,{width:"100%",height:F(o)});i=Ke.makeSvgSpan([],[h],a)}return i.height=o,i.style.height=F(o),i},Ft=function(e){var t=new Tt.MathNode("mo",[new Tt.TextNode(Dt[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Gt=function(e,t){var r=function(){var r=4e5,n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){var a,i,o,s="ordgroup"===(d=e.base).type?d.body.length:1;if(s>5)"widehat"===n||"widecheck"===n?(a=420,r=2364,o=.42,i=n+"4"):(a=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][h],a=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=n+h):(r=[0,600,1033,2339,2340][h],a=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var c=new J(i),m=new K([c],{width:"100%",height:F(o),viewBox:"0 0 "+r+" "+a,preserveAspectRatio:"none"});return{span:Ke.makeSvgSpan([],[m],t),minWidth:0,height:o}}var u,p,d,f=[],g=Vt[n],v=g[0],b=g[1],y=g[2],x=y/1e3,w=v.length;if(1===w)u=["hide-tail"],p=[g[3]];else if(2===w)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var k=0;k0&&(n.style.minWidth=F(a)),n};function Ut(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Xt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}var Wt=function(e,t){var r,n,a;e&&"supsub"===e.type?(r=(n=Ut(e.base,"accent")).base,e.base=r,a=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(wt(e,t)),e.base=n):r=(n=Ut(e,"accent")).base;var i=wt(r,t.havingCrampedStyle()),o=0;if(n.isShifty&&l.isCharacterBox(r)){var s=l.getBaseElem(r);o=ee(wt(s,t.havingCrampedStyle())).skew}var h,c="\\c"===n.label,m=c?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Gt(n,t),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+F(2*o)+")",marginLeft:F(2*o)}:void 0}]},t);else{var u,p;"\\vec"===n.label?(u=Ke.staticSvg("vec",t),p=Ke.svgData.vec[1]):((u=ee(u=Ke.makeOrd({mode:n.mode,text:n.label},t,"textord"))).italic=0,p=u.width,c&&(m+=u.depth)),h=Ke.makeSpan(["accent-body"],[u]);var d="\\textcircled"===n.label;d&&(h.classes.push("accent-full"),m=i.height);var f=o;d||(f-=p/2),h.style.left=F(f),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:i},{type:"kern",size:-m},{type:"elem",elem:h}]},t)}var g=Ke.makeSpan(["mord","accent"],[h],t);return a?(a.children[0]=g,a.height=Math.max(g.height,a.height),a.classes[0]="mord",a):g},_t=function(e,t){var r=e.isStretchy?Ft(e.label):new Tt.MathNode("mo",[Bt(e.label,e.mode)]),n=new Tt.MathNode("mover",[Rt(e.base,t),r]);return n.setAttribute("accent","true"),n},jt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((function(e){return"\\"+e})).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:function(e,t){var r=lt(t[0]),n=!jt.test(e.funcName),a=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:a,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:function(e,t){var r=t[0],n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:a}},htmlBuilder:function(e,t){var r=wt(e.base,t),n=Gt(e,t),a="\\utilde"===e.label?.12:0,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","accentunder"],[i],t)},mathmlBuilder:function(e,t){var r=Ft(e.label),n=new Tt.MathNode("munder",[Rt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});var $t=function(e){var t=new Tt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};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:function(e,t,r){var n=e.parser,a=e.funcName;return{type:"xArrow",mode:n.mode,label:a,body:t[0],below:r[0]}},htmlBuilder:function(e,t){var r,n=t.style,a=t.havingStyle(n.sup()),i=Ke.wrapFragment(wt(e.body,a,t),t),o="\\x"===e.label.slice(0,2)?"x":"cd";i.classes.push(o+"-arrow-pad"),e.below&&(a=t.havingStyle(n.sub()),(r=Ke.wrapFragment(wt(e.below,a,t),t)).classes.push(o+"-arrow-pad"));var s,l=Gt(e,t),h=-t.fontMetrics().axisHeight+.5*l.height,c=-t.fontMetrics().axisHeight-.5*l.height-.111;if((i.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=i.depth),r){var m=-t.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h},{type:"elem",elem:r,shift:m}]},t)}else s=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:c},{type:"elem",elem:l,shift:h}]},t);return s.children[0].children[0].children[1].classes.push("svg-align"),Ke.makeSpan(["mrel","x-arrow"],[s],t)},mathmlBuilder:function(e,t){var r,n=Ft(e.label);if(n.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){var a=$t(Rt(e.body,t));if(e.below){var i=$t(Rt(e.below,t));r=new Tt.MathNode("munderover",[n,i,a])}else r=new Tt.MathNode("mover",[n,a])}else if(e.below){var o=$t(Rt(e.below,t));r=new Tt.MathNode("munder",[n,o])}else r=$t(),r=new Tt.MathNode("mover",[n,r]);return r}});var Zt=Ke.makeSpan;function Kt(e,t){var r=ft(e.body,t,!0);return Zt([e.mclass],r,t)}function Jt(e,t){var r,n=qt(e.body,t);return"minner"===e.mclass?r=new Tt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0]).type="mi":r=new Tt.MathNode("mi",n):(e.isCharacterBox?(r=n[0]).type="mo":r=new Tt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ot({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ht(a),isCharacterBox:l.isCharacterBox(a)}},htmlBuilder:Kt,mathmlBuilder:Jt});var Qt=function(e){var t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};ot({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(e,t){return{type:"mclass",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),ot({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(e,t){var r,n=e.parser,a=e.funcName,i=t[1],o=t[0];r="\\stackrel"!==a?Qt(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==a,body:ht(i)},h={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===a?null:o,sub:"\\underset"===a?o:null};return{type:"mclass",mode:n.mode,mclass:r,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Kt,mathmlBuilder:Jt}),ot({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"pmb",mode:e.parser.mode,mclass:Qt(t[0]),body:ht(t[0])}},htmlBuilder:function(e,t){var r=ft(e.body,t,!0),n=Ke.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder:function(e,t){var r=qt(e.body,t),n=new Tt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var er={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},tr=function(e){return"textord"===e.type&&"@"===e.text};function rr(e,t,r){var n=er[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":var a={type:"atom",text:n,mode:"math",family:"rel"},i={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[a],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[i],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}ot({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder:function(e,t){var r=t.havingStyle(t.style.sup()),n=Ke.wrapFragment(wt(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mrow",[Rt(e.label,t)]);return(r=new Tt.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new Tt.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),ot({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler:function(e,t){return{type:"cdlabelparent",mode:e.parser.mode,fragment:t[0]}},htmlBuilder:function(e,t){var r=Ke.wrapFragment(wt(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:function(e,t){return new Tt.MathNode("mrow",[Rt(e.fragment,t)])}}),ot({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var r=e.parser,a=Ut(t[0],"ordgroup").body,i="",o=0;o=1114111)throw new n("\\@char with invalid code point "+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:"textord",mode:r.mode,text:s}}});var nr=function(e,t){var r=ft(e.body,t.withColor(e.color),!1);return Ke.makeFragment(r)},ar=function(e,t){var r=qt(e.body,t.withColor(e.color)),n=new Tt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};ot({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler:function(e,t){var r=e.parser,n=Ut(t[0],"color-token").color,a=t[1];return{type:"color",mode:r.mode,color:n,body:ht(a)}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler:function(e,t){var r=e.parser,n=e.breakOnTokenText,a=Ut(t[0],"color-token").color;r.gullet.macros.set("\\current@color",a);var i=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:a,body:i}},htmlBuilder:nr,mathmlBuilder:ar}),ot({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a="["===n.gullet.future().text?n.parseSizeGroup(!0):null,i=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:i,size:a&&Ut(a,"size").value}},htmlBuilder:function(e,t){var r=Ke.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});var ir={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},or=function(e){var t=e.text;if(/^(?:[\\{}$^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},sr=function(e,t,r,n){var a=e.gullet.macros.get(r.text);null==a&&(r.noexpand=!0,a={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,a,n)};ot({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,r=e.funcName;t.consumeSpaces();var a=t.fetch();if(ir[a.text])return"\\global"!==r&&"\\\\globallong"!==r||(a.text=ir[a.text]),Ut(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",a)}}),ot({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\{}$^_]|EOF)$/.test(i))throw new n("Expected a control sequence",a);for(var o,s=0,l=[[]];"{"!==t.gullet.future().text;)if("#"===(a=t.gullet.popToken()).text){if("{"===t.gullet.future().text){o=t.gullet.future(),l[s].push("{");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new n('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==s+1)throw new n('Argument number "'+a.text+'" out of order');s++,l.push([])}else{if("EOF"===a.text)throw new n("Expected a macro definition");l[s].push(a.text)}var h=t.gullet.consumeArg().tokens;return o&&h.unshift(o),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===ir[r]),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken());t.gullet.consumeSpaces();var a=function(e){var t=e.gullet.popToken();return"="===t.text&&" "===(t=e.gullet.popToken()).text&&(t=e.gullet.popToken()),t}(t);return sr(t,n,a,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),ot({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=or(t.gullet.popToken()),a=t.gullet.popToken(),i=t.gullet.popToken();return sr(t,n,i,"\\\\globalfuture"===r),t.gullet.pushToken(i),t.gullet.pushToken(a),{type:"internal",mode:t.mode}}});var lr=function(e,t,r){var n=N(ae.math[e]&&ae.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},hr=function(e,t,r,n){var a=r.havingBaseStyle(t),i=Ke.makeSpan(n.concat(a.sizingClasses(r)),[e],r),o=a.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=a.sizeMultiplier,i},cr=function(e,t,r){var n=t.havingBaseStyle(r),a=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(a),e.height-=a,e.depth+=a},mr=function(e,t,r,n,a,i){var o=function(e,t,r,n){return Ke.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,a,n),s=hr(Ke.makeSpan(["delimsizing","size"+t],[o],n),x.TEXT,n,i);return r&&cr(s,n,x.TEXT),s},ur=function(e,t,r){var n;return n="Size1-Regular"===t?"delim-size1":"delim-size4",{type:"elem",elem:Ke.makeSpan(["delimsizinginner",n],[Ke.makeSpan([],[Ke.makeSymbol(e,t,r)])])}},pr=function(e,t,r){var n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],a=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),i=new K([a],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),o=Ke.makeSvgSpan([],[i],r);return o.height=t,o.style.height=F(t),o.style.width=F(n),{type:"elem",elem:o}},dr={type:"kern",size:-.008},fr=["|","\\lvert","\\rvert","\\vert"],gr=["\\|","\\lVert","\\rVert","\\Vert"],vr=function(e,t,r,n,a,i){var o,s,h,c,m="",u=0;o=h=c=e,s=null;var p="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?o=h="\u23d0":"\\Downarrow"===e?o=h="\u2016":"\\updownarrow"===e?(o="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(o="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(fr,e)?(h="\u2223",m="vert",u=333):l.contains(gr,e)?(h="\u2225",m="doublevert",u=556):"["===e||"\\lbrack"===e?(o="\u23a1",h="\u23a2",c="\u23a3",p="Size4-Regular",m="lbrack",u=667):"]"===e||"\\rbrack"===e?(o="\u23a4",h="\u23a5",c="\u23a6",p="Size4-Regular",m="rbrack",u=667):"\\lfloor"===e||"\u230a"===e?(h=o="\u23a2",c="\u23a3",p="Size4-Regular",m="lfloor",u=667):"\\lceil"===e||"\u2308"===e?(o="\u23a1",h=c="\u23a2",p="Size4-Regular",m="lceil",u=667):"\\rfloor"===e||"\u230b"===e?(h=o="\u23a5",c="\u23a6",p="Size4-Regular",m="rfloor",u=667):"\\rceil"===e||"\u2309"===e?(o="\u23a4",h=c="\u23a5",p="Size4-Regular",m="rceil",u=667):"("===e||"\\lparen"===e?(o="\u239b",h="\u239c",c="\u239d",p="Size4-Regular",m="lparen",u=875):")"===e||"\\rparen"===e?(o="\u239e",h="\u239f",c="\u23a0",p="Size4-Regular",m="rparen",u=875):"\\{"===e||"\\lbrace"===e?(o="\u23a7",s="\u23a8",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(o="\u23ab",s="\u23ac",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(o="\u23a7",c="\u23a9",h="\u23aa",p="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(o="\u23ab",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(o="\u23a7",c="\u23ad",h="\u23aa",p="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(o="\u23ab",c="\u23a9",h="\u23aa",p="Size4-Regular");var d=lr(o,p,a),f=d.height+d.depth,g=lr(h,p,a),v=g.height+g.depth,b=lr(c,p,a),y=b.height+b.depth,w=0,k=1;if(null!==s){var S=lr(s,p,a);w=S.height+S.depth,k=2}var M=f+y+w,z=M+Math.max(0,Math.ceil((t-M)/(k*v)))*k*v,A=n.fontMetrics().axisHeight;r&&(A*=n.sizeMultiplier);var T=z/2-A,B=[];if(m.length>0){var C=z-f-y,N=Math.round(1e3*z),q=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,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\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-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.")}}(m,Math.round(1e3*C)),I=new J(m,q),R=(u/1e3).toFixed(3)+"em",H=(N/1e3).toFixed(3)+"em",O=new K([I],{width:R,height:H,viewBox:"0 0 "+u+" "+N}),E=Ke.makeSvgSpan([],[O],n);E.height=N/1e3,E.style.width=R,E.style.height=H,B.push({type:"elem",elem:E})}else{if(B.push(ur(c,p,a)),B.push(dr),null===s){var L=z-f-y+.016;B.push(pr(h,L,n))}else{var D=(z-f-y-w)/2+.016;B.push(pr(h,D,n)),B.push(dr),B.push(ur(s,p,a)),B.push(dr),B.push(pr(h,D,n))}B.push(dr),B.push(ur(o,p,a))}var V=n.havingBaseStyle(x.TEXT),P=Ke.makeVList({positionType:"bottom",positionData:T,children:B},V);return hr(Ke.makeSpan(["delimsizing","mult"],[P],V),x.TEXT,n,i)},br=.08,yr=function(e,t,r,n,a){var i=function(e,t,r){t*=1e3;var n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.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\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-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\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-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\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"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\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),o=new J(e,i),s=new K([o],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ke.makeSvgSpan(["hide-tail"],[s],a)},xr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],wr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],kr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Sr=[0,1.2,1.8,2.4,3],Mr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],zr=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"stack"}],Ar=[{type:"small",style:x.SCRIPTSCRIPT},{type:"small",style:x.SCRIPT},{type:"small",style:x.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Tr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Br=function(e,t,r,n){for(var a=Math.min(2,3-n.style.size);at)return r[a]}return r[r.length-1]},Cr=function(e,t,r,n,a,i){var o;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),o=l.contains(kr,e)?Mr:l.contains(xr,e)?Ar:zr;var s=Br(e,t,o,n);return"small"===s.type?function(e,t,r,n,a,i){var o=Ke.makeSymbol(e,"Main-Regular",a,n),s=hr(o,t,n,i);return r&&cr(s,n,t),s}(e,s.style,r,n,a,i):"large"===s.type?mr(e,s.size,r,n,a,i):vr(e,t,r,n,a,i)},Nr={sqrtImage:function(e,t){var r,n,a=t.havingBaseSizing(),i=Br("\\surd",e*a.sizeMultiplier,Ar,a),o=a.sizeMultiplier,s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),l=0,h=0,c=0;return"small"===i.type?(e<1?o=1:e<1.4&&(o=.7),h=(1+s)/o,(r=yr("sqrtMain",l=(1+s+br)/o,c=1e3+1e3*s+80,s,t)).style.minWidth="0.853em",n=.833/o):"large"===i.type?(c=1080*Sr[i.size],h=(Sr[i.size]+s)/o,l=(Sr[i.size]+s+br)/o,(r=yr("sqrtSize"+i.size,l,c,s,t)).style.minWidth="1.02em",n=1/o):(l=e+s+br,h=e+s,c=Math.floor(1e3*e+s)+80,(r=yr("sqrtTall",l,c,s,t)).style.minWidth="0.742em",n=1.056),r.height=h,r.style.height=F(l),{span:r,advanceWidth:n,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,a,i){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(xr,e)||l.contains(kr,e))return mr(e,t,!1,r,a,i);if(l.contains(wr,e))return vr(e,Sr[t],!1,r,a,i);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:Sr,customSizedDelim:Cr,leftRightDelim:function(e,t,r,n,a,i){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,l=Math.max(t-o,r+o),h=Math.max(l/500*901,2*l-s);return Cr(e,h,!0,n,a,i)}},qr={"\\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}},Ir=["(","\\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","."];function Rr(e,t){var r=Xt(e);if(r&&l.contains(Ir,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function Hr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}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:function(e,t){var r=Rr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:qr[e.funcName].size,mclass:qr[e.funcName].mclass,delim:r.text}},htmlBuilder:function(e,t){return"."===e.delim?Ke.makeSpan([e.mclass]):Nr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass])},mathmlBuilder:function(e){var t=[];"."!==e.delim&&t.push(Bt(e.delim,e.mode));var r=new Tt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=F(Nr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),ot({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:Rr(t[0],e).text,color:r}}}),ot({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:function(e,t){var r=Rr(t[0],e),n=e.parser;++n.leftrightDepth;var a=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var i=Ut(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:a,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(e,t){Hr(e);for(var r,n,a=ft(e.body,t,!0,["mopen","mclose"]),i=0,o=0,s=!1,l=0;l-1?"mpadded":"menclose",[Rt(e.body,t)]);switch(e.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=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){var a=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+a+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};ot({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=t[1];return{type:"enclose",mode:n.mode,label:a,backgroundColor:i,body:o}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler:function(e,t,r){var n=e.parser,a=e.funcName,i=Ut(t[0],"color-token").color,o=Ut(t[1],"color-token").color,s=t[2];return{type:"enclose",mode:n.mode,label:a,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\fbox",body:t[0]}}}),ot({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"enclose",mode:r.mode,label:n,body:a}},htmlBuilder:Or,mathmlBuilder:Er}),ot({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler:function(e,t){return{type:"enclose",mode:e.parser.mode,label:"\\angl",body:t[0]}}});var Lr={};function Dr(e){for(var t=e.type,r=e.names,n=e.props,a=e.handler,i=e.htmlBuilder,o=e.mathmlBuilder,s={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:a},l=0;l1||!m)&&g.pop(),b.length0&&(y+=.25),c.push({pos:y,isDashed:e[t]})}for(w(o[0]),r=0;r0&&(M<(B+=b)&&(M=B),B=0),e.addJot&&(M+=f),z.height=S,z.depth=M,y+=S,z.pos=y,y+=M+B,h[r]=z,w(o[r+1])}var C,N,q=y/2+t.fontMetrics().axisHeight,I=e.cols||[],R=[],H=[];if(e.tags&&e.tags.some((function(e){return e})))for(r=0;r=s)){var W=void 0;(a>0||e.hskipBeforeAndAfter)&&0!==(W=l.deflt(V.pregap,p))&&((C=Ke.makeSpan(["arraycolsep"],[])).style.width=F(W),R.push(C));var _=[];for(r=0;r0){for(var K=Ke.makeLineSpan("hline",t,m),J=Ke.makeLineSpan("hdashline",t,m),Q=[{type:"elem",elem:h,shift:0}];c.length>0;){var ee=c.pop(),te=ee.pos-q;ee.isDashed?Q.push({type:"elem",elem:J,shift:te}):Q.push({type:"elem",elem:K,shift:te})}h=Ke.makeVList({positionType:"individualShift",children:Q},t)}if(0===H.length)return Ke.makeSpan(["mord"],[h],t);var re=Ke.makeVList({positionType:"individualShift",children:H},t);return re=Ke.makeSpan(["tag"],[re],t),Ke.makeFragment([h,re])},$r={c:"center ",l:"left ",r:"right "},Zr=function(e,t){for(var r=[],n=new Tt.MathNode("mtd",[],["mtr-glue"]),a=new Tt.MathNode("mtd",[],["mml-eqn-num"]),i=0;i0){var p=e.cols,d="",f=!1,g=0,v=p.length;"separator"===p[0].type&&(m+="top ",g=1),"separator"===p[p.length-1].type&&(m+="bottom ",v-=1);for(var b=g;b0?"left ":"",m+=S[S.length-1].length>0?"right ":"";for(var M=1;M-1?"alignat":"align",o="split"===e.envName,s=Wr(e.parser,{cols:a,addJot:!0,autoTag:o?void 0:Xr(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:o?2:void 0,leqno:e.parser.settings.leqno},"display"),l=0,h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){for(var c="",m=0;m0&&u&&(f=1),a[p]={type:"align",align:d,pregap:f,postgap:0}}return s.colSeparationType=u?"align":"alignat",s};Dr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),a={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Wr(e.parser,a,_r(e.envName))},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler:function(e){var t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")],r="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){var i=e.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),a.cols=[{type:"align",align:r}]}}var o=Wr(e.parser,a,_r(e.envName)),s=Math.max.apply(Math,[0].concat(o.body.map((function(e){return e.length}))));return o.cols=new Array(s).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[o],left:t[0],right:t[1],rightColor:void 0}:o},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(e,t){var r=(Xt(t[0])?[t[0]]:Ut(t[0],"ordgroup").body).map((function(e){var t=Yt(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=Wr(e.parser,a,"script")).body.length>0&&a.body[0].length>1)throw new n("{subarray} can contain only one column");return a},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler:function(e){var t=Wr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},_r(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler:function(e){l.contains(["gather","gather*"],e.envName)&&Yr(e);var t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Xr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Kr,htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["equation","equation*"],props:{numArgs:0},handler:function(e){Yr(e);var t={autoTag:Xr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Wr(e.parser,t,"display")},htmlBuilder:jr,mathmlBuilder:Zr}),Dr({type:"array",names:["CD"],props:{numArgs:0},handler:function(e){return Yr(e),function(e){var t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();var r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}for(var a,i,o=[],s=[o],l=0;l-1);else{if(!("<>AV".indexOf(u)>-1))throw new n('Expected one of "<>AV=|." after @',h[m]);for(var d=0;d<2;d++){for(var f=!0,g=m+1;g=x.SCRIPT.id?r.text():x.DISPLAY:"text"===e&&r.size===x.DISPLAY.size?r=x.TEXT:"script"===e?r=x.SCRIPT:"scriptscript"===e&&(r=x.SCRIPTSCRIPT),r},nn=function(e,t){var r,n=rn(e.size,t.style),a=n.fracNum(),i=n.fracDen();r=t.havingStyle(a);var o=wt(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*m:7*m,d=t.fontMetrics().denom1):(c>0?(u=t.fontMetrics().num2,p=m):(u=t.fontMetrics().num3,p=3*m),d=t.fontMetrics().denom2),h){var w=t.fontMetrics().axisHeight;u-o.depth-(w+.5*c)0&&(t="."===(t=e)?null:t),t};ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,n=e.parser,a=t[4],i=t[5],o=lt(t[0]),s="atom"===o.type&&"open"===o.family?sn(o.text):null,l=lt(t[1]),h="atom"===l.type&&"close"===l.family?sn(l.text):null,c=Ut(t[2],"size"),m=null;r=!!c.isBlank||(m=c.value).number>0;var u="auto",p=t[3];if("ordgroup"===p.type){if(p.body.length>0){var d=Ut(p.body[0],"textord");u=on[Number(d.text)]}}else p=Ut(p,"textord"),u=on[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:r,barSize:m,leftDelim:s,rightDelim:h,size:u}},htmlBuilder:nn,mathmlBuilder:an}),ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,n=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),i=t[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:nn,mathmlBuilder:an});var ln=function(e,t){var r,n,a=t.style;"supsub"===e.type?(r=e.sup?wt(e.sup,t.havingStyle(a.sup()),t):wt(e.sub,t.havingStyle(a.sub()),t),n=Ut(e.base,"horizBrace")):n=Ut(e,"horizBrace");var i,o=wt(n.base,t.havingBaseStyle(x.DISPLAY)),s=Gt(n,t);if(n.isOver?(i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Ke.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t);i=n.isOver?Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Ke.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t)};ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:ln,mathmlBuilder:function(e,t){var r=Ft(e.label);return new Tt.MathNode(e.isOver?"mover":"munder",[Rt(e.base,t),r])}}),ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[1],a=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:r.mode,href:a,body:ht(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=ft(e.body,t,!1);return Ke.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){var r=It(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var a=[],i=0;i0&&(n=P(e.totalheight,t)-r);var a=0;e.width.number>0&&(a=P(e.width,t));var i={height:F(r+n)};a>0&&(i.width=F(a)),n>0&&(i.verticalAlign=F(-n));var o=new j(e.src,e.alt,i);return o.height=r,o.depth=n,o},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var n=P(e.height,t),a=0;if(e.totalheight.number>0&&(a=P(e.totalheight,t)-n,r.setAttribute("valign",F(-a))),r.setAttribute("height",F(n+a)),e.width.number>0){var i=P(e.width,t);r.setAttribute("width",F(i))}return r.setAttribute("src",e.src),r}}),ot({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=Ut(t[0],"size");if(r.settings.strict){var i="m"===n[1],o="mu"===a.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+a.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:a.value}},htmlBuilder:function(e,t){return Ke.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){var r=P(e.dimension,t);return new Tt.SpaceNode(r)}}),ot({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:a}},htmlBuilder:function(e,t){var r;"clap"===e.alignment?(r=Ke.makeSpan([],[wt(e.body,t)]),r=Ke.makeSpan(["inner"],[r],t)):r=Ke.makeSpan(["inner"],[wt(e.body,t)]);var n=Ke.makeSpan(["fix"],[]),a=Ke.makeSpan([e.alignment],[r,n],t),i=Ke.makeSpan(["strut"]);return i.style.height=F(a.height+a.depth),a.depth&&(i.style.verticalAlign=F(-a.depth)),a.children.unshift(i),a=Ke.makeSpan(["thinbox"],[a],t),Ke.makeSpan(["mord","vbox"],[a],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mpadded",[Rt(e.body,t)]);if("rlap"!==e.alignment){var n="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}}),ot({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,n=e.parser,a=n.mode;n.switchMode("math");var i="\\("===r?"\\)":"$",o=n.parseExpression(!1,i);return n.expect(i),n.switchMode(a),{type:"styling",mode:n.mode,style:"text",body:o}}}),ot({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new n("Mismatched "+e.funcName)}});var cn=function(e,t){switch(t.style.size){case x.DISPLAY.size:return e.display;case x.TEXT.size:return e.text;case x.SCRIPT.size:return e.script;case x.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};ot({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:ht(t[0]),text:ht(t[1]),script:ht(t[2]),scriptscript:ht(t[3])}},htmlBuilder:function(e,t){var r=cn(e,t),n=ft(r,t,!1);return Ke.makeFragment(n)},mathmlBuilder:function(e,t){var r=cn(e,t);return It(r,t)}});var mn=function(e,t,r,n,a,i,o){e=Ke.makeSpan([],[e]);var s,h,c,m=r&&l.isCharacterBox(r);if(t){var u=wt(t,n.havingStyle(a.sup()),n);h={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-u.depth)}}if(r){var p=wt(r,n.havingStyle(a.sub()),n);s={elem:p,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-p.height)}}if(h&&s){var d=n.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(s){var f=e.height-o;c=Ke.makeVList({positionType:"top",positionData:f,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:F(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},n)}else{if(!h)return e;var g=e.depth+o;c=Ke.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:e},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:F(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[c];if(s&&0!==i&&!m){var b=Ke.makeSpan(["mspace"],[],n);b.style.marginRight=F(i),v.unshift(b)}return Ke.makeSpan(["mop","op-limits"],v,n)},un=["\\smallint"],pn=function(e,t){var r,n,a,i=!1;"supsub"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,"op"),i=!0):a=Ut(e,"op");var o,s=t.style,h=!1;if(s.size===x.DISPLAY.size&&a.symbol&&!l.contains(un,a.name)&&(h=!0),a.symbol){var c=h?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==a.name&&"\\oiiint"!==a.name||(m=a.name.slice(1),a.name="oiint"===m?"\\iint":"\\iiint"),o=Ke.makeSymbol(a.name,c,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Ke.staticSvg(m+"Size"+(h?"2":"1"),t);o=Ke.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:h?.08:0}]},t),a.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(a.body){var d=ft(a.body,t,!0);1===d.length&&d[0]instanceof Z?(o=d[0]).classes[0]="mop":o=Ke.makeSpan(["mop"],d,t)}else{for(var f=[],g=1;g0){for(var s=a.body.map((function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=ft(s,t.withFont("mathrm"),!0),h=0;h=0?s.setAttribute("height",F(a)):(s.setAttribute("height",F(a)),s.setAttribute("depth",F(-a))),s.setAttribute("voffset",F(a)),s}});var yn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];ot({type:"sizing",names:yn,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!1,r);return{type:"sizing",mode:a.mode,size:yn.indexOf(n)+1,body:i}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return bn(e.body,r,t)},mathmlBuilder:function(e,t){var r=t.havingSize(e.size),n=qt(e.body,r),a=new Tt.MathNode("mstyle",n);return a.setAttribute("mathsize",F(r.sizeMultiplier)),a}}),ot({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=!1,i=!1,o=r[0]&&Ut(r[0],"ordgroup");if(o)for(var s="",l=0;lr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=F(c);var p=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},t);if(e.index){var d=t.havingStyle(x.SCRIPTSCRIPT),f=wt(e.index,d,t),g=.6*(p.height-p.depth),v=Ke.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},t),b=Ke.makeSpan(["root"],[v]);return Ke.makeSpan(["mord","sqrt"],[b,p],t)}return Ke.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder:function(e,t){var r=e.body,n=e.index;return n?new Tt.MathNode("mroot",[Rt(r,t),Rt(n,t)]):new Tt.MathNode("msqrt",[Rt(r,t)])}});var xn={display:x.DISPLAY,text:x.TEXT,script:x.SCRIPT,scriptscript:x.SCRIPTSCRIPT};ot({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:a.mode,style:o,body:i}},htmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r).withFont("");return bn(e.body,n,t)},mathmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r),a=qt(e.body,n),i=new Tt.MathNode("mstyle",a),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});var wn=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===x.DISPLAY.size||r.alwaysHandleSupSub)?pn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===x.DISPLAY.size||r.limits)?vn:null:"accent"===r.type?l.isCharacterBox(r.base)?Wt:null:"horizBrace"===r.type&&!e.sub===r.isOver?ln:null:null};st({type:"supsub",htmlBuilder:function(e,t){var r=wn(e,t);if(r)return r(e,t);var n,a,i,o=e.base,s=e.sup,h=e.sub,c=wt(o,t),m=t.fontMetrics(),u=0,p=0,d=o&&l.isCharacterBox(o);if(s){var f=t.havingStyle(t.style.sup());n=wt(s,f,t),d||(u=c.height-f.fontMetrics().supDrop*f.sizeMultiplier/t.sizeMultiplier)}if(h){var g=t.havingStyle(t.style.sub());a=wt(h,g,t),d||(p=c.depth+g.fontMetrics().subDrop*g.sizeMultiplier/t.sizeMultiplier)}i=t.style===x.DISPLAY?m.sup1:t.style.cramped?m.sup3:m.sup2;var v,b=t.sizeMultiplier,y=F(.5/m.ptPerEm/b),w=null;if(a){var k=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(c instanceof Z||k)&&(w=F(-c.italic))}if(n&&a){u=Math.max(u,i,n.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-n.depth-(a.height-p)0&&(u+=M,p-=M)}var z=[{type:"elem",elem:a,shift:p,marginRight:y,marginLeft:w},{type:"elem",elem:n,shift:-u,marginRight:y}];v=Ke.makeVList({positionType:"individualShift",children:z},t)}else if(a){p=Math.max(p,m.sub1,a.height-.8*m.xHeight);var A=[{type:"elem",elem:a,marginLeft:w,marginRight:y}];v=Ke.makeVList({positionType:"shift",positionData:p,children:A},t)}else{if(!n)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,n.depth+.25*m.xHeight),v=Ke.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:n,marginRight:y}]},t)}var T=yt(c,"right")||"mord";return Ke.makeSpan([T],[c,Ke.makeSpan(["msupsub"],[v])],t)},mathmlBuilder:function(e,t){var r,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var a,i=[Rt(e.base,t)];if(e.sub&&i.push(Rt(e.sub,t)),e.sup&&i.push(Rt(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;a=o&&"op"===o.type&&o.limits&&t.style===x.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===x.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;a=s&&"op"===s.type&&s.limits&&(t.style===x.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===x.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===x.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===x.DISPLAY)?"mover":"msup"}return new Tt.MathNode(a,i)}}),st({type:"atom",htmlBuilder:function(e,t){return Ke.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){var n=Nt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var kn={mi:"italic",mn:"normal",mtext:"normal"};st({type:"mathord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mi",[Bt(e.text,e.mode,t)]),n=Nt(e,t)||"italic";return n!==kn[r.type]&&r.setAttribute("mathvariant",n),r}}),st({type:"textord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r,n=Bt(e.text,e.mode,t),a=Nt(e,t)||"normal";return r="text"===e.mode?new Tt.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Tt.MathNode("mn",[n]):"\\prime"===e.text?new Tt.MathNode("mo",[n]):new Tt.MathNode("mi",[n]),a!==kn[r.type]&&r.setAttribute("mathvariant",a),r}});var Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};st({type:"spacing",htmlBuilder:function(e,t){if(Mn.hasOwnProperty(e.text)){var r=Mn[e.text].className||"";if("text"===e.mode){var a=Ke.makeOrd(e,t,"textord");return a.classes.push(r),a}return Ke.makeSpan(["mspace",r],[Ke.mathsym(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ke.makeSpan(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new Tt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return new Tt.MathNode("mtext",[new Tt.TextNode("\xa0")])}});var zn=function(){var e=new Tt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};st({type:"tag",mathmlBuilder:function(e,t){var r=new Tt.MathNode("mtable",[new Tt.MathNode("mtr",[zn(),new Tt.MathNode("mtd",[It(e.body,t)]),zn(),new Tt.MathNode("mtd",[It(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var An={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Tn={"\\textbf":"textbf","\\textmd":"textmd"},Bn={"\\textit":"textit","\\textup":"textup"},Cn=function(e,t){var r=e.font;return r?An[r]?t.withTextFontFamily(An[r]):Tn[r]?t.withTextFontWeight(Tn[r]):t.withTextFontShape(Bn[r]):t};ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"text",mode:r.mode,body:ht(a),font:n}},htmlBuilder:function(e,t){var r=Cn(e,t),n=ft(e.body,r,!0);return Ke.makeSpan(["mord","text"],n,r)},mathmlBuilder:function(e,t){var r=Cn(e,t);return It(e.body,r)}}),ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=Ke.makeLineSpan("underline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[new Tt.TextNode("\u203e")]);r.setAttribute("stretchy","true");var n=new Tt.MathNode("munder",[Rt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Ke.makeVList({positionType:"shift",positionData:a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){return new Tt.MathNode("mpadded",[Rt(e.body,t)],["vcenter"])}}),ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nn(e),n=[],a=t.havingStyle(t.style.text()),i=0;i0;)this.endGroup()},t.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},t.get=function(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]},t.set=function(e,t,r){if(void 0===r&&(r=!1),r){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},e}(),Vn=Vr;Pr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Pr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Pr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Pr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Pr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Pr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Pr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Pn={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};Pr("\\char",(function(e){var t,r=e.popToken(),a="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");a=r.text.charCodeAt(0)}else t=10;if(t){if(null==(a=Pn[r.text])||a>=t)throw new n("Invalid base-"+t+" digit "+r.text);for(var i;null!=(i=Pn[e.future().text])&&i":"\\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"};Pr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Gn?t=Gn[r]:("\\not"===r.slice(0,4)||r in ae.math&&l.contains(["bin","rel"],ae.math[r].group))&&(t="\\dotsb"),t}));var Un={")":!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};Pr("\\dotso",(function(e){return e.future().text in Un?"\\ldots\\,":"\\ldots"})),Pr("\\dotsc",(function(e){var t=e.future().text;return t in Un&&","!==t?"\\ldots\\,":"\\ldots"})),Pr("\\cdots",(function(e){return e.future().text in Un?"\\@cdots\\,":"\\@cdots"})),Pr("\\dotsb","\\cdots"),Pr("\\dotsm","\\cdots"),Pr("\\dotsi","\\!\\cdots"),Pr("\\dotsx","\\ldots\\,"),Pr("\\DOTSI","\\relax"),Pr("\\DOTSB","\\relax"),Pr("\\DOTSX","\\relax"),Pr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Pr("\\,","\\tmspace+{3mu}{.1667em}"),Pr("\\thinspace","\\,"),Pr("\\>","\\mskip{4mu}"),Pr("\\:","\\tmspace+{4mu}{.2222em}"),Pr("\\medspace","\\:"),Pr("\\;","\\tmspace+{5mu}{.2777em}"),Pr("\\thickspace","\\;"),Pr("\\!","\\tmspace-{3mu}{.1667em}"),Pr("\\negthinspace","\\!"),Pr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Pr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Pr("\\enspace","\\kern.5em "),Pr("\\enskip","\\hskip.5em\\relax"),Pr("\\quad","\\hskip1em\\relax"),Pr("\\qquad","\\hskip2em\\relax"),Pr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Pr("\\tag@paren","\\tag@literal{({#1})}"),Pr("\\tag@literal",(function(e){if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Pr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Pr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Pr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Pr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Pr("\\newline","\\\\\\relax"),Pr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Yn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Pr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Pr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Yn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Pr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Pr("\\@hspace","\\hskip #1\\relax"),Pr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Pr("\\ordinarycolon",":"),Pr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Pr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Pr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Pr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Pr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Pr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Pr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Pr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Pr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Pr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Pr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Pr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Pr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Pr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Pr("\u2237","\\dblcolon"),Pr("\u2239","\\eqcolon"),Pr("\u2254","\\coloneqq"),Pr("\u2255","\\eqqcolon"),Pr("\u2a74","\\Coloneqq"),Pr("\\ratio","\\vcentcolon"),Pr("\\coloncolon","\\dblcolon"),Pr("\\colonequals","\\coloneqq"),Pr("\\coloncolonequals","\\Coloneqq"),Pr("\\equalscolon","\\eqqcolon"),Pr("\\equalscoloncolon","\\Eqqcolon"),Pr("\\colonminus","\\coloneq"),Pr("\\coloncolonminus","\\Coloneq"),Pr("\\minuscolon","\\eqcolon"),Pr("\\minuscoloncolon","\\Eqcolon"),Pr("\\coloncolonapprox","\\Colonapprox"),Pr("\\coloncolonsim","\\Colonsim"),Pr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Pr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Pr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Pr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Pr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Pr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Pr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Pr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Pr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Pr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Pr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Pr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Pr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Pr("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Pr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Pr("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Pr("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Pr("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Pr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Pr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Pr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Pr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Pr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Pr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Pr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Pr("\\imath","\\html@mathml{\\@imath}{\u0131}"),Pr("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Pr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Pr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Pr("\u27e6","\\llbracket"),Pr("\u27e7","\\rrbracket"),Pr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Pr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Pr("\u2983","\\lBrace"),Pr("\u2984","\\rBrace"),Pr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Pr("\u29b5","\\minuso"),Pr("\\darr","\\downarrow"),Pr("\\dArr","\\Downarrow"),Pr("\\Darr","\\Downarrow"),Pr("\\lang","\\langle"),Pr("\\rang","\\rangle"),Pr("\\uarr","\\uparrow"),Pr("\\uArr","\\Uparrow"),Pr("\\Uarr","\\Uparrow"),Pr("\\N","\\mathbb{N}"),Pr("\\R","\\mathbb{R}"),Pr("\\Z","\\mathbb{Z}"),Pr("\\alef","\\aleph"),Pr("\\alefsym","\\aleph"),Pr("\\Alpha","\\mathrm{A}"),Pr("\\Beta","\\mathrm{B}"),Pr("\\bull","\\bullet"),Pr("\\Chi","\\mathrm{X}"),Pr("\\clubs","\\clubsuit"),Pr("\\cnums","\\mathbb{C}"),Pr("\\Complex","\\mathbb{C}"),Pr("\\Dagger","\\ddagger"),Pr("\\diamonds","\\diamondsuit"),Pr("\\empty","\\emptyset"),Pr("\\Epsilon","\\mathrm{E}"),Pr("\\Eta","\\mathrm{H}"),Pr("\\exist","\\exists"),Pr("\\harr","\\leftrightarrow"),Pr("\\hArr","\\Leftrightarrow"),Pr("\\Harr","\\Leftrightarrow"),Pr("\\hearts","\\heartsuit"),Pr("\\image","\\Im"),Pr("\\infin","\\infty"),Pr("\\Iota","\\mathrm{I}"),Pr("\\isin","\\in"),Pr("\\Kappa","\\mathrm{K}"),Pr("\\larr","\\leftarrow"),Pr("\\lArr","\\Leftarrow"),Pr("\\Larr","\\Leftarrow"),Pr("\\lrarr","\\leftrightarrow"),Pr("\\lrArr","\\Leftrightarrow"),Pr("\\Lrarr","\\Leftrightarrow"),Pr("\\Mu","\\mathrm{M}"),Pr("\\natnums","\\mathbb{N}"),Pr("\\Nu","\\mathrm{N}"),Pr("\\Omicron","\\mathrm{O}"),Pr("\\plusmn","\\pm"),Pr("\\rarr","\\rightarrow"),Pr("\\rArr","\\Rightarrow"),Pr("\\Rarr","\\Rightarrow"),Pr("\\real","\\Re"),Pr("\\reals","\\mathbb{R}"),Pr("\\Reals","\\mathbb{R}"),Pr("\\Rho","\\mathrm{P}"),Pr("\\sdot","\\cdot"),Pr("\\sect","\\S"),Pr("\\spades","\\spadesuit"),Pr("\\sub","\\subset"),Pr("\\sube","\\subseteq"),Pr("\\supe","\\supseteq"),Pr("\\Tau","\\mathrm{T}"),Pr("\\thetasym","\\vartheta"),Pr("\\weierp","\\wp"),Pr("\\Zeta","\\mathrm{Z}"),Pr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Pr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Pr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Pr("\\bra","\\mathinner{\\langle{#1}|}"),Pr("\\ket","\\mathinner{|{#1}\\rangle}"),Pr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Pr("\\Bra","\\left\\langle#1\\right|"),Pr("\\Ket","\\left|#1\\right\\rangle");var Xn=function(e){return function(t){var r=t.consumeArg().tokens,n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=function(t){return function(r){e&&(r.macros.set("|",o),a.length&&r.macros.set("\\|",s));var i=t;!t&&a.length&&("|"===r.future().text&&(r.popToken(),i=!0));return{tokens:i?a:n,numArgs:0}}};t.macros.set("|",l(!1)),a.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,c=t.expandTokens([].concat(i,h,r));return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}}};Pr("\\bra@ket",Xn(!1)),Pr("\\bra@set",Xn(!0)),Pr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Pr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Pr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Pr("\\angln","{\\angl n}"),Pr("\\blue","\\textcolor{##6495ed}{#1}"),Pr("\\orange","\\textcolor{##ffa500}{#1}"),Pr("\\pink","\\textcolor{##ff00af}{#1}"),Pr("\\red","\\textcolor{##df0030}{#1}"),Pr("\\green","\\textcolor{##28ae7b}{#1}"),Pr("\\gray","\\textcolor{gray}{#1}"),Pr("\\purple","\\textcolor{##9d38bd}{#1}"),Pr("\\blueA","\\textcolor{##ccfaff}{#1}"),Pr("\\blueB","\\textcolor{##80f6ff}{#1}"),Pr("\\blueC","\\textcolor{##63d9ea}{#1}"),Pr("\\blueD","\\textcolor{##11accd}{#1}"),Pr("\\blueE","\\textcolor{##0c7f99}{#1}"),Pr("\\tealA","\\textcolor{##94fff5}{#1}"),Pr("\\tealB","\\textcolor{##26edd5}{#1}"),Pr("\\tealC","\\textcolor{##01d1c1}{#1}"),Pr("\\tealD","\\textcolor{##01a995}{#1}"),Pr("\\tealE","\\textcolor{##208170}{#1}"),Pr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Pr("\\greenB","\\textcolor{##8af281}{#1}"),Pr("\\greenC","\\textcolor{##74cf70}{#1}"),Pr("\\greenD","\\textcolor{##1fab54}{#1}"),Pr("\\greenE","\\textcolor{##0d923f}{#1}"),Pr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Pr("\\goldB","\\textcolor{##ffbb71}{#1}"),Pr("\\goldC","\\textcolor{##ff9c39}{#1}"),Pr("\\goldD","\\textcolor{##e07d10}{#1}"),Pr("\\goldE","\\textcolor{##a75a05}{#1}"),Pr("\\redA","\\textcolor{##fca9a9}{#1}"),Pr("\\redB","\\textcolor{##ff8482}{#1}"),Pr("\\redC","\\textcolor{##f9685d}{#1}"),Pr("\\redD","\\textcolor{##e84d39}{#1}"),Pr("\\redE","\\textcolor{##bc2612}{#1}"),Pr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Pr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Pr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Pr("\\maroonD","\\textcolor{##ca337c}{#1}"),Pr("\\maroonE","\\textcolor{##9e034e}{#1}"),Pr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Pr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Pr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Pr("\\purpleD","\\textcolor{##7854ab}{#1}"),Pr("\\purpleE","\\textcolor{##543b78}{#1}"),Pr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Pr("\\mintB","\\textcolor{##edf2df}{#1}"),Pr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Pr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Pr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Pr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Pr("\\grayD","\\textcolor{##d6d8da}{#1}"),Pr("\\grayE","\\textcolor{##babec2}{#1}"),Pr("\\grayF","\\textcolor{##888d93}{#1}"),Pr("\\grayG","\\textcolor{##626569}{#1}"),Pr("\\grayH","\\textcolor{##3b3e40}{#1}"),Pr("\\grayI","\\textcolor{##21242c}{#1}"),Pr("\\kaBlue","\\textcolor{##314453}{#1}"),Pr("\\kaGreen","\\textcolor{##71B307}{#1}");var Wn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},_n=function(){function e(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Dn(Vn,t.macros),this.mode=r,this.stack=[]}var t=e.prototype;return t.feed=function(e){this.lexer=new Ln(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){var t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken();var a=this.consumeArg(["]"]);n=a.tokens,r=a.end}else{var i=this.consumeArg();n=i.tokens,t=i.start,r=i.end}return this.pushToken(new Gr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")},t.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},t.consumeArg=function(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),"{"===a.text)++o;else if("}"===a.text){if(-1===--o)throw new n("Extra }",a)}else if("EOF"===a.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",a);if(e&&r)if((0===o||1===o&&"{"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;athis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if("#"===l.text){if(0===s)throw new n("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n("Not a valid argument number",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i.length},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new Gr(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return t},t.expandMacroAsText=function(e){var t=this.expandMacro(e);return t?t.map((function(e){return e.text})).join(""):t},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var n="function"==typeof t?t(this):t;if("string"==typeof n){var a=0;if(-1!==n.indexOf("#"))for(var i=n.replace(/##/g,"");-1!==i.indexOf("#"+(a+1));)++a;for(var o=new Ln(n,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:a}}return n},t.isDefined=function(e){return this.macros.has(e)||qn.hasOwnProperty(e)||ae.math.hasOwnProperty(e)||ae.text.hasOwnProperty(e)||Wn.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:qn.hasOwnProperty(e)&&!qn[e].primitive},e}(),jn=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,$n=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"}),Zn={"\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"}},Kn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"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","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"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","\xea":"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","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"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","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"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","\xf4":"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","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"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","\xfb":"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","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"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","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"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","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"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","\xca":"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","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"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","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"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","\xd4":"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","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"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","\xdb":"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","\xdd":"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"},Jn=function(){function e(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new _n(e,t,this.mode),this.settings=t,this.leftrightDepth=0}var t=e.prototype;return t.expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},t.consume=function(){this.nextToken=null},t.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},t.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},t.parse=function(){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()}},t.subparse=function(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Gr("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r},t.parseExpression=function(t,r){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==e.endOfExpression.indexOf(a.text))break;if(r&&a.text===r)break;if(t&&qn[a.text]&&qn[a.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&n.push(i)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)},t.handleInfixNodes=function(e){for(var t,r=-1,a=0;a=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,l=ae[this.mode][t].group,h=Fr.range(e);if(te.hasOwnProperty(l)){var c=l;s={type:"atom",mode:this.mode,family:c,loc:h,text:t}}else s={type:l,mode:this.mode,loc:h,text:t};i=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),i={type:"textord",mode:"text",loc:Fr.range(e),text:t}}if(this.consume(),o)for(var m=0;m 15 ? '\u2026' + s.slice(n - 15, n) : s.slice(0, n)) +
+ l +
+ (a + 15 < s.length ? s.slice(a, a + 15) + '\u2026' : s.slice(a));
+ }
+ var h = new Error(i);
+ return (
+ (h.name = 'ParseError'),
+ (h.__proto__ = e.prototype),
+ (h.position = n),
+ null != n && null != a && (h.length = a - n),
+ (h.rawMessage = t),
+ h
+ );
+ };
+ r.prototype.__proto__ = Error.prototype;
+ var n = r,
+ a = /([A-Z])/g,
+ i = { '&': '&', '>': '>', '<': '<', '"': '"', "'": ''' },
+ o = /[&><"']/g;
+ var s = function e(t) {
+ return 'ordgroup' === t.type || 'color' === t.type
+ ? 1 === t.body.length
+ ? e(t.body[0])
+ : t
+ : 'font' === t.type
+ ? e(t.body)
+ : t;
+ },
+ l = {
+ contains: function (e, t) {
+ return -1 !== e.indexOf(t);
+ },
+ deflt: function (e, t) {
+ return void 0 === e ? t : e;
+ },
+ escape: function (e) {
+ return String(e).replace(o, function (e) {
+ return i[e];
+ });
+ },
+ hyphenate: function (e) {
+ return e.replace(a, '-$1').toLowerCase();
+ },
+ getBaseElem: s,
+ isCharacterBox: function (e) {
+ var t = s(e);
+ return 'mathord' === t.type || 'textord' === t.type || 'atom' === t.type;
+ },
+ protocolFromUrl: function (e) {
+ var t = /^\s*([^\\/#]*?)(?::|*58|*3a)/i.exec(e);
+ return null != t ? t[1] : '_relative';
+ },
+ },
+ h = {
+ 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: function (e) {
+ return '#' + e;
+ },
+ },
+ macros: {
+ type: 'object',
+ cli: '-m, --macro ',
+ cliDescription:
+ "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",
+ cliDefault: [],
+ cliProcessor: function (e, t) {
+ return (t.push(e), t);
+ },
+ },
+ 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: function (e) {
+ return Math.max(0, e);
+ },
+ 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: function (e) {
+ return Math.max(0, e);
+ },
+ 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: function (e) {
+ return Math.max(0, e);
+ },
+ cli: '-e, --max-expand ',
+ cliProcessor: function (e) {
+ return 'Infinity' === e ? 1 / 0 : parseInt(e);
+ },
+ },
+ globalGroup: { type: 'boolean', cli: !1 },
+ };
+ function c(e) {
+ if (e.default) return e.default;
+ var t = e.type,
+ r = Array.isArray(t) ? t[0] : t;
+ if ('string' != typeof r) return r.enum[0];
+ switch (r) {
+ case 'boolean':
+ return !1;
+ case 'string':
+ return '';
+ case 'number':
+ return 0;
+ case 'object':
+ return {};
+ }
+ }
+ var m = (function () {
+ function e(e) {
+ for (var t in ((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 || {}),
+ h))
+ if (h.hasOwnProperty(t)) {
+ var r = h[t];
+ this[t] = void 0 !== e[t] ? (r.processor ? r.processor(e[t]) : e[t]) : c(r);
+ }
+ }
+ var t = e.prototype;
+ return (
+ (t.reportNonstrict = function (e, t, r) {
+ var a = this.strict;
+ if (('function' == typeof a && (a = a(e, t, r)), a && 'ignore' !== a)) {
+ if (!0 === a || 'error' === a)
+ throw new n(
+ "LaTeX-incompatible input and strict mode is set to 'error': " +
+ t +
+ ' [' +
+ e +
+ ']',
+ r,
+ );
+ 'warn' === a
+ ? 'undefined' != typeof console &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " +
+ t +
+ ' [' +
+ e +
+ ']',
+ )
+ : 'undefined' != typeof console &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to unrecognized '" +
+ a +
+ "': " +
+ t +
+ ' [' +
+ e +
+ ']',
+ );
+ }
+ }),
+ (t.useStrictBehavior = function (e, t, r) {
+ var n = this.strict;
+ if ('function' == typeof n)
+ try {
+ n = n(e, t, r);
+ } catch (e) {
+ n = 'error';
+ }
+ return (
+ !(!n || 'ignore' === n) &&
+ (!0 === n ||
+ 'error' === n ||
+ ('warn' === n
+ ? ('undefined' != typeof console &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " +
+ t +
+ ' [' +
+ e +
+ ']',
+ ),
+ !1)
+ : ('undefined' != typeof console &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to unrecognized '" +
+ n +
+ "': " +
+ t +
+ ' [' +
+ e +
+ ']',
+ ),
+ !1)))
+ );
+ }),
+ (t.isTrusted = function (e) {
+ e.url && !e.protocol && (e.protocol = l.protocolFromUrl(e.url));
+ var t = 'function' == typeof this.trust ? this.trust(e) : this.trust;
+ return Boolean(t);
+ }),
+ e
+ );
+ })(),
+ u = (function () {
+ function e(e, t, r) {
+ ((this.id = void 0),
+ (this.size = void 0),
+ (this.cramped = void 0),
+ (this.id = e),
+ (this.size = t),
+ (this.cramped = r));
+ }
+ var t = e.prototype;
+ return (
+ (t.sup = function () {
+ return p[d[this.id]];
+ }),
+ (t.sub = function () {
+ return p[f[this.id]];
+ }),
+ (t.fracNum = function () {
+ return p[g[this.id]];
+ }),
+ (t.fracDen = function () {
+ return p[v[this.id]];
+ }),
+ (t.cramp = function () {
+ return p[b[this.id]];
+ }),
+ (t.text = function () {
+ return p[y[this.id]];
+ }),
+ (t.isTight = function () {
+ return this.size >= 2;
+ }),
+ e
+ );
+ })(),
+ p = [
+ new u(0, 0, !1),
+ new u(1, 0, !0),
+ new u(2, 1, !1),
+ new u(3, 1, !0),
+ new u(4, 2, !1),
+ new u(5, 2, !0),
+ new u(6, 3, !1),
+ new u(7, 3, !0),
+ ],
+ d = [4, 5, 4, 5, 6, 7, 6, 7],
+ f = [5, 5, 5, 5, 7, 7, 7, 7],
+ g = [2, 3, 4, 5, 6, 7, 6, 7],
+ v = [3, 3, 5, 5, 7, 7, 7, 7],
+ b = [1, 1, 3, 3, 5, 5, 7, 7],
+ y = [0, 1, 2, 3, 2, 3, 2, 3],
+ x = { DISPLAY: p[0], TEXT: p[2], SCRIPT: p[4], SCRIPTSCRIPT: p[6] },
+ w = [
+ {
+ 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]] },
+ ];
+ var k = [];
+ function S(e) {
+ for (var t = 0; t < k.length; t += 2) if (e >= k[t] && e <= k[t + 1]) return !0;
+ return !1;
+ }
+ w.forEach(function (e) {
+ return e.blocks.forEach(function (e) {
+ return k.push.apply(k, e);
+ });
+ });
+ var M = 80,
+ z = {
+ doubleleftarrow:
+ 'M262 157\nl10-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\n 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\n 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\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z',
+ doublerightarrow:
+ 'M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 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\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z',
+ leftarrow:
+ 'M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z',
+ leftbrace:
+ 'M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z',
+ leftbraceunder:
+ 'M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z',
+ leftgroup:
+ 'M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z',
+ leftgroupunder:
+ 'M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z',
+ leftharpoon:
+ 'M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z',
+ leftharpoonplus:
+ 'M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z',
+ leftharpoondown:
+ 'M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z',
+ leftharpoondownplus:
+ 'M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z',
+ lefthook:
+ 'M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z',
+ leftlinesegment:
+ 'M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z',
+ leftmapsto: 'M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z',
+ leftToFrom:
+ 'M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z',
+ longequal:
+ 'M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z',
+ midbrace:
+ 'M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z',
+ midbraceunder:
+ 'M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z',
+ oiintSize1:
+ 'M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z',
+ oiintSize2:
+ 'M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z',
+ oiiintSize1:
+ 'M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z',
+ oiiintSize2:
+ 'M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z',
+ rightarrow:
+ 'M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z',
+ rightbrace:
+ 'M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z',
+ rightbraceunder:
+ 'M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z',
+ rightgroup:
+ 'M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z',
+ rightgroupunder:
+ 'M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z',
+ rightharpoon:
+ 'M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z',
+ rightharpoonplus:
+ 'M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z',
+ rightharpoondown:
+ 'M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z',
+ rightharpoondownplus:
+ 'M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z',
+ righthook:
+ 'M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z',
+ rightlinesegment:
+ 'M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z',
+ rightToFrom:
+ 'M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z',
+ twoheadleftarrow:
+ 'M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z',
+ twoheadrightarrow:
+ 'M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z',
+ tilde1:
+ 'M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z',
+ tilde2:
+ 'M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z',
+ tilde3:
+ 'M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z',
+ tilde4:
+ 'M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z',
+ vec: 'M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z',
+ widehat1:
+ 'M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z',
+ widehat2:
+ 'M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z',
+ widehat3:
+ 'M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z',
+ widehat4:
+ 'M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z',
+ widecheck1:
+ 'M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z',
+ widecheck2:
+ 'M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z',
+ widecheck3:
+ 'M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z',
+ widecheck4:
+ 'M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z',
+ baraboveleftarrow:
+ 'M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z',
+ rightarrowabovebar:
+ 'M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z',
+ baraboveshortleftharpoon:
+ 'M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z',
+ rightharpoonaboveshortbar:
+ 'M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z',
+ shortbaraboveleftharpoon:
+ 'M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z',
+ shortrightharpoonabovebar:
+ 'M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z',
+ },
+ A = (function () {
+ function e(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 = {}));
+ }
+ var t = e.prototype;
+ return (
+ (t.hasClass = function (e) {
+ return l.contains(this.classes, e);
+ }),
+ (t.toNode = function () {
+ for (var e = document.createDocumentFragment(), t = 0; t < this.children.length; t++)
+ e.appendChild(this.children[t].toNode());
+ return e;
+ }),
+ (t.toMarkup = function () {
+ for (var e = '', t = 0; t < this.children.length; t++) e += this.children[t].toMarkup();
+ return e;
+ }),
+ (t.toText = function () {
+ var e = function (e) {
+ return e.toText();
+ };
+ return this.children.map(e).join('');
+ }),
+ e
+ );
+ })(),
+ T = {
+ 'AMS-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68889, 0, 0, 0.72222],
+ 66: [0, 0.68889, 0, 0, 0.66667],
+ 67: [0, 0.68889, 0, 0, 0.72222],
+ 68: [0, 0.68889, 0, 0, 0.72222],
+ 69: [0, 0.68889, 0, 0, 0.66667],
+ 70: [0, 0.68889, 0, 0, 0.61111],
+ 71: [0, 0.68889, 0, 0, 0.77778],
+ 72: [0, 0.68889, 0, 0, 0.77778],
+ 73: [0, 0.68889, 0, 0, 0.38889],
+ 74: [0.16667, 0.68889, 0, 0, 0.5],
+ 75: [0, 0.68889, 0, 0, 0.77778],
+ 76: [0, 0.68889, 0, 0, 0.66667],
+ 77: [0, 0.68889, 0, 0, 0.94445],
+ 78: [0, 0.68889, 0, 0, 0.72222],
+ 79: [0.16667, 0.68889, 0, 0, 0.77778],
+ 80: [0, 0.68889, 0, 0, 0.61111],
+ 81: [0.16667, 0.68889, 0, 0, 0.77778],
+ 82: [0, 0.68889, 0, 0, 0.72222],
+ 83: [0, 0.68889, 0, 0, 0.55556],
+ 84: [0, 0.68889, 0, 0, 0.66667],
+ 85: [0, 0.68889, 0, 0, 0.72222],
+ 86: [0, 0.68889, 0, 0, 0.72222],
+ 87: [0, 0.68889, 0, 0, 1],
+ 88: [0, 0.68889, 0, 0, 0.72222],
+ 89: [0, 0.68889, 0, 0, 0.72222],
+ 90: [0, 0.68889, 0, 0, 0.66667],
+ 107: [0, 0.68889, 0, 0, 0.55556],
+ 160: [0, 0, 0, 0, 0.25],
+ 165: [0, 0.675, 0.025, 0, 0.75],
+ 174: [0.15559, 0.69224, 0, 0, 0.94666],
+ 240: [0, 0.68889, 0, 0, 0.55556],
+ 295: [0, 0.68889, 0, 0, 0.54028],
+ 710: [0, 0.825, 0, 0, 2.33334],
+ 732: [0, 0.9, 0, 0, 2.33334],
+ 770: [0, 0.825, 0, 0, 2.33334],
+ 771: [0, 0.9, 0, 0, 2.33334],
+ 989: [0.08167, 0.58167, 0, 0, 0.77778],
+ 1008: [0, 0.43056, 0.04028, 0, 0.66667],
+ 8245: [0, 0.54986, 0, 0, 0.275],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8487: [0, 0.68889, 0, 0, 0.72222],
+ 8498: [0, 0.68889, 0, 0, 0.55556],
+ 8502: [0, 0.68889, 0, 0, 0.66667],
+ 8503: [0, 0.68889, 0, 0, 0.44445],
+ 8504: [0, 0.68889, 0, 0, 0.66667],
+ 8513: [0, 0.68889, 0, 0, 0.63889],
+ 8592: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8594: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8602: [-0.13313, 0.36687, 0, 0, 1],
+ 8603: [-0.13313, 0.36687, 0, 0, 1],
+ 8606: [0.01354, 0.52239, 0, 0, 1],
+ 8608: [0.01354, 0.52239, 0, 0, 1],
+ 8610: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8611: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8619: [0, 0.54986, 0, 0, 1],
+ 8620: [0, 0.54986, 0, 0, 1],
+ 8621: [-0.13313, 0.37788, 0, 0, 1.38889],
+ 8622: [-0.13313, 0.36687, 0, 0, 1],
+ 8624: [0, 0.69224, 0, 0, 0.5],
+ 8625: [0, 0.69224, 0, 0, 0.5],
+ 8630: [0, 0.43056, 0, 0, 1],
+ 8631: [0, 0.43056, 0, 0, 1],
+ 8634: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8635: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8638: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8639: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8642: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8643: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8644: [0.1808, 0.675, 0, 0, 1],
+ 8646: [0.1808, 0.675, 0, 0, 1],
+ 8647: [0.1808, 0.675, 0, 0, 1],
+ 8648: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8649: [0.1808, 0.675, 0, 0, 1],
+ 8650: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8651: [0.01354, 0.52239, 0, 0, 1],
+ 8652: [0.01354, 0.52239, 0, 0, 1],
+ 8653: [-0.13313, 0.36687, 0, 0, 1],
+ 8654: [-0.13313, 0.36687, 0, 0, 1],
+ 8655: [-0.13313, 0.36687, 0, 0, 1],
+ 8666: [0.13667, 0.63667, 0, 0, 1],
+ 8667: [0.13667, 0.63667, 0, 0, 1],
+ 8669: [-0.13313, 0.37788, 0, 0, 1],
+ 8672: [-0.064, 0.437, 0, 0, 1.334],
+ 8674: [-0.064, 0.437, 0, 0, 1.334],
+ 8705: [0, 0.825, 0, 0, 0.5],
+ 8708: [0, 0.68889, 0, 0, 0.55556],
+ 8709: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8717: [0, 0.43056, 0, 0, 0.42917],
+ 8722: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8724: [0.08198, 0.69224, 0, 0, 0.77778],
+ 8726: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8733: [0, 0.69224, 0, 0, 0.77778],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8737: [0, 0.69224, 0, 0, 0.72222],
+ 8738: [0.03517, 0.52239, 0, 0, 0.72222],
+ 8739: [0.08167, 0.58167, 0, 0, 0.22222],
+ 8740: [0.25142, 0.74111, 0, 0, 0.27778],
+ 8741: [0.08167, 0.58167, 0, 0, 0.38889],
+ 8742: [0.25142, 0.74111, 0, 0, 0.5],
+ 8756: [0, 0.69224, 0, 0, 0.66667],
+ 8757: [0, 0.69224, 0, 0, 0.66667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8765: [-0.13313, 0.37788, 0, 0, 0.77778],
+ 8769: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8770: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8774: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8778: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8782: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8783: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8785: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8786: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8787: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8790: [0, 0.69224, 0, 0, 0.77778],
+ 8791: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8796: [0.08198, 0.91667, 0, 0, 0.77778],
+ 8806: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8807: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8808: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8809: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8812: [0.25583, 0.75583, 0, 0, 0.5],
+ 8814: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8815: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8816: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8817: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8818: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8819: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8822: [0.1808, 0.675, 0, 0, 0.77778],
+ 8823: [0.1808, 0.675, 0, 0, 0.77778],
+ 8828: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8829: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8830: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8831: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8832: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8833: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8840: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8841: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8842: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8843: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8847: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8848: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8858: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8859: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8861: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8862: [0, 0.675, 0, 0, 0.77778],
+ 8863: [0, 0.675, 0, 0, 0.77778],
+ 8864: [0, 0.675, 0, 0, 0.77778],
+ 8865: [0, 0.675, 0, 0, 0.77778],
+ 8872: [0, 0.69224, 0, 0, 0.61111],
+ 8873: [0, 0.69224, 0, 0, 0.72222],
+ 8874: [0, 0.69224, 0, 0, 0.88889],
+ 8876: [0, 0.68889, 0, 0, 0.61111],
+ 8877: [0, 0.68889, 0, 0, 0.61111],
+ 8878: [0, 0.68889, 0, 0, 0.72222],
+ 8879: [0, 0.68889, 0, 0, 0.72222],
+ 8882: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8883: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8884: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8885: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8888: [0, 0.54986, 0, 0, 1.11111],
+ 8890: [0.19444, 0.43056, 0, 0, 0.55556],
+ 8891: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8892: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8901: [0, 0.54986, 0, 0, 0.27778],
+ 8903: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8905: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8906: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8907: [0, 0.69224, 0, 0, 0.77778],
+ 8908: [0, 0.69224, 0, 0, 0.77778],
+ 8909: [-0.03598, 0.46402, 0, 0, 0.77778],
+ 8910: [0, 0.54986, 0, 0, 0.76042],
+ 8911: [0, 0.54986, 0, 0, 0.76042],
+ 8912: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8913: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8914: [0, 0.54986, 0, 0, 0.66667],
+ 8915: [0, 0.54986, 0, 0, 0.66667],
+ 8916: [0, 0.69224, 0, 0, 0.66667],
+ 8918: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8919: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8920: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8921: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8922: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8923: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8926: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8927: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8928: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8929: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8934: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8935: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8936: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8937: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8938: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8939: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8940: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8941: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8994: [0.19444, 0.69224, 0, 0, 0.77778],
+ 8995: [0.19444, 0.69224, 0, 0, 0.77778],
+ 9416: [0.15559, 0.69224, 0, 0, 0.90222],
+ 9484: [0, 0.69224, 0, 0, 0.5],
+ 9488: [0, 0.69224, 0, 0, 0.5],
+ 9492: [0, 0.37788, 0, 0, 0.5],
+ 9496: [0, 0.37788, 0, 0, 0.5],
+ 9585: [0.19444, 0.68889, 0, 0, 0.88889],
+ 9586: [0.19444, 0.74111, 0, 0, 0.88889],
+ 9632: [0, 0.675, 0, 0, 0.77778],
+ 9633: [0, 0.675, 0, 0, 0.77778],
+ 9650: [0, 0.54986, 0, 0, 0.72222],
+ 9651: [0, 0.54986, 0, 0, 0.72222],
+ 9654: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9660: [0, 0.54986, 0, 0, 0.72222],
+ 9661: [0, 0.54986, 0, 0, 0.72222],
+ 9664: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9674: [0.11111, 0.69224, 0, 0, 0.66667],
+ 9733: [0.19444, 0.69224, 0, 0, 0.94445],
+ 10003: [0, 0.69224, 0, 0, 0.83334],
+ 10016: [0, 0.69224, 0, 0, 0.83334],
+ 10731: [0.11111, 0.69224, 0, 0, 0.66667],
+ 10846: [0.19444, 0.75583, 0, 0, 0.61111],
+ 10877: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10878: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10885: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10886: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10887: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10888: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10889: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10890: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10891: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10892: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10901: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10902: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10933: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10934: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10935: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10936: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10937: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10938: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10949: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10950: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10955: [0.28481, 0.79383, 0, 0, 0.77778],
+ 10956: [0.28481, 0.79383, 0, 0, 0.77778],
+ 57350: [0.08167, 0.58167, 0, 0, 0.22222],
+ 57351: [0.08167, 0.58167, 0, 0, 0.38889],
+ 57352: [0.08167, 0.58167, 0, 0, 0.77778],
+ 57353: [0, 0.43056, 0.04028, 0, 0.66667],
+ 57356: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57357: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57358: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57359: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57360: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57361: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57366: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57367: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57368: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57369: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57370: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57371: [0.13597, 0.63597, 0, 0, 0.77778],
+ },
+ 'Caligraphic-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68333, 0, 0.19445, 0.79847],
+ 66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
+ 67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
+ 68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
+ 69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
+ 70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
+ 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
+ 72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
+ 73: [0, 0.68333, 0.07382, 0, 0.54452],
+ 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
+ 75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
+ 76: [0, 0.68333, 0, 0.13889, 0.68972],
+ 77: [0, 0.68333, 0, 0.13889, 1.2009],
+ 78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
+ 79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
+ 80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
+ 81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
+ 82: [0, 0.68333, 0, 0.08334, 0.8475],
+ 83: [0, 0.68333, 0.075, 0.13889, 0.60556],
+ 84: [0, 0.68333, 0.25417, 0, 0.54464],
+ 85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
+ 86: [0, 0.68333, 0.08222, 0, 0.61278],
+ 87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
+ 88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
+ 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
+ 90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
+ 160: [0, 0, 0, 0, 0.25],
+ },
+ 'Fraktur-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69141, 0, 0, 0.29574],
+ 34: [0, 0.69141, 0, 0, 0.21471],
+ 38: [0, 0.69141, 0, 0, 0.73786],
+ 39: [0, 0.69141, 0, 0, 0.21201],
+ 40: [0.24982, 0.74947, 0, 0, 0.38865],
+ 41: [0.24982, 0.74947, 0, 0, 0.38865],
+ 42: [0, 0.62119, 0, 0, 0.27764],
+ 43: [0.08319, 0.58283, 0, 0, 0.75623],
+ 44: [0, 0.10803, 0, 0, 0.27764],
+ 45: [0.08319, 0.58283, 0, 0, 0.75623],
+ 46: [0, 0.10803, 0, 0, 0.27764],
+ 47: [0.24982, 0.74947, 0, 0, 0.50181],
+ 48: [0, 0.47534, 0, 0, 0.50181],
+ 49: [0, 0.47534, 0, 0, 0.50181],
+ 50: [0, 0.47534, 0, 0, 0.50181],
+ 51: [0.18906, 0.47534, 0, 0, 0.50181],
+ 52: [0.18906, 0.47534, 0, 0, 0.50181],
+ 53: [0.18906, 0.47534, 0, 0, 0.50181],
+ 54: [0, 0.69141, 0, 0, 0.50181],
+ 55: [0.18906, 0.47534, 0, 0, 0.50181],
+ 56: [0, 0.69141, 0, 0, 0.50181],
+ 57: [0.18906, 0.47534, 0, 0, 0.50181],
+ 58: [0, 0.47534, 0, 0, 0.21606],
+ 59: [0.12604, 0.47534, 0, 0, 0.21606],
+ 61: [-0.13099, 0.36866, 0, 0, 0.75623],
+ 63: [0, 0.69141, 0, 0, 0.36245],
+ 65: [0, 0.69141, 0, 0, 0.7176],
+ 66: [0, 0.69141, 0, 0, 0.88397],
+ 67: [0, 0.69141, 0, 0, 0.61254],
+ 68: [0, 0.69141, 0, 0, 0.83158],
+ 69: [0, 0.69141, 0, 0, 0.66278],
+ 70: [0.12604, 0.69141, 0, 0, 0.61119],
+ 71: [0, 0.69141, 0, 0, 0.78539],
+ 72: [0.06302, 0.69141, 0, 0, 0.7203],
+ 73: [0, 0.69141, 0, 0, 0.55448],
+ 74: [0.12604, 0.69141, 0, 0, 0.55231],
+ 75: [0, 0.69141, 0, 0, 0.66845],
+ 76: [0, 0.69141, 0, 0, 0.66602],
+ 77: [0, 0.69141, 0, 0, 1.04953],
+ 78: [0, 0.69141, 0, 0, 0.83212],
+ 79: [0, 0.69141, 0, 0, 0.82699],
+ 80: [0.18906, 0.69141, 0, 0, 0.82753],
+ 81: [0.03781, 0.69141, 0, 0, 0.82699],
+ 82: [0, 0.69141, 0, 0, 0.82807],
+ 83: [0, 0.69141, 0, 0, 0.82861],
+ 84: [0, 0.69141, 0, 0, 0.66899],
+ 85: [0, 0.69141, 0, 0, 0.64576],
+ 86: [0, 0.69141, 0, 0, 0.83131],
+ 87: [0, 0.69141, 0, 0, 1.04602],
+ 88: [0, 0.69141, 0, 0, 0.71922],
+ 89: [0.18906, 0.69141, 0, 0, 0.83293],
+ 90: [0.12604, 0.69141, 0, 0, 0.60201],
+ 91: [0.24982, 0.74947, 0, 0, 0.27764],
+ 93: [0.24982, 0.74947, 0, 0, 0.27764],
+ 94: [0, 0.69141, 0, 0, 0.49965],
+ 97: [0, 0.47534, 0, 0, 0.50046],
+ 98: [0, 0.69141, 0, 0, 0.51315],
+ 99: [0, 0.47534, 0, 0, 0.38946],
+ 100: [0, 0.62119, 0, 0, 0.49857],
+ 101: [0, 0.47534, 0, 0, 0.40053],
+ 102: [0.18906, 0.69141, 0, 0, 0.32626],
+ 103: [0.18906, 0.47534, 0, 0, 0.5037],
+ 104: [0.18906, 0.69141, 0, 0, 0.52126],
+ 105: [0, 0.69141, 0, 0, 0.27899],
+ 106: [0, 0.69141, 0, 0, 0.28088],
+ 107: [0, 0.69141, 0, 0, 0.38946],
+ 108: [0, 0.69141, 0, 0, 0.27953],
+ 109: [0, 0.47534, 0, 0, 0.76676],
+ 110: [0, 0.47534, 0, 0, 0.52666],
+ 111: [0, 0.47534, 0, 0, 0.48885],
+ 112: [0.18906, 0.52396, 0, 0, 0.50046],
+ 113: [0.18906, 0.47534, 0, 0, 0.48912],
+ 114: [0, 0.47534, 0, 0, 0.38919],
+ 115: [0, 0.47534, 0, 0, 0.44266],
+ 116: [0, 0.62119, 0, 0, 0.33301],
+ 117: [0, 0.47534, 0, 0, 0.5172],
+ 118: [0, 0.52396, 0, 0, 0.5118],
+ 119: [0, 0.52396, 0, 0, 0.77351],
+ 120: [0.18906, 0.47534, 0, 0, 0.38865],
+ 121: [0.18906, 0.47534, 0, 0, 0.49884],
+ 122: [0.18906, 0.47534, 0, 0, 0.39054],
+ 160: [0, 0, 0, 0, 0.25],
+ 8216: [0, 0.69141, 0, 0, 0.21471],
+ 8217: [0, 0.69141, 0, 0, 0.21471],
+ 58112: [0, 0.62119, 0, 0, 0.49749],
+ 58113: [0, 0.62119, 0, 0, 0.4983],
+ 58114: [0.18906, 0.69141, 0, 0, 0.33328],
+ 58115: [0.18906, 0.69141, 0, 0, 0.32923],
+ 58116: [0.18906, 0.47534, 0, 0, 0.50343],
+ 58117: [0, 0.69141, 0, 0, 0.33301],
+ 58118: [0, 0.62119, 0, 0, 0.33409],
+ 58119: [0, 0.47534, 0, 0, 0.50073],
+ },
+ 'Main-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.35],
+ 34: [0, 0.69444, 0, 0, 0.60278],
+ 35: [0.19444, 0.69444, 0, 0, 0.95833],
+ 36: [0.05556, 0.75, 0, 0, 0.575],
+ 37: [0.05556, 0.75, 0, 0, 0.95833],
+ 38: [0, 0.69444, 0, 0, 0.89444],
+ 39: [0, 0.69444, 0, 0, 0.31944],
+ 40: [0.25, 0.75, 0, 0, 0.44722],
+ 41: [0.25, 0.75, 0, 0, 0.44722],
+ 42: [0, 0.75, 0, 0, 0.575],
+ 43: [0.13333, 0.63333, 0, 0, 0.89444],
+ 44: [0.19444, 0.15556, 0, 0, 0.31944],
+ 45: [0, 0.44444, 0, 0, 0.38333],
+ 46: [0, 0.15556, 0, 0, 0.31944],
+ 47: [0.25, 0.75, 0, 0, 0.575],
+ 48: [0, 0.64444, 0, 0, 0.575],
+ 49: [0, 0.64444, 0, 0, 0.575],
+ 50: [0, 0.64444, 0, 0, 0.575],
+ 51: [0, 0.64444, 0, 0, 0.575],
+ 52: [0, 0.64444, 0, 0, 0.575],
+ 53: [0, 0.64444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0, 0.64444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0, 0.64444, 0, 0, 0.575],
+ 58: [0, 0.44444, 0, 0, 0.31944],
+ 59: [0.19444, 0.44444, 0, 0, 0.31944],
+ 60: [0.08556, 0.58556, 0, 0, 0.89444],
+ 61: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 62: [0.08556, 0.58556, 0, 0, 0.89444],
+ 63: [0, 0.69444, 0, 0, 0.54305],
+ 64: [0, 0.69444, 0, 0, 0.89444],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0, 0, 0.81805],
+ 67: [0, 0.68611, 0, 0, 0.83055],
+ 68: [0, 0.68611, 0, 0, 0.88194],
+ 69: [0, 0.68611, 0, 0, 0.75555],
+ 70: [0, 0.68611, 0, 0, 0.72361],
+ 71: [0, 0.68611, 0, 0, 0.90416],
+ 72: [0, 0.68611, 0, 0, 0.9],
+ 73: [0, 0.68611, 0, 0, 0.43611],
+ 74: [0, 0.68611, 0, 0, 0.59444],
+ 75: [0, 0.68611, 0, 0, 0.90138],
+ 76: [0, 0.68611, 0, 0, 0.69166],
+ 77: [0, 0.68611, 0, 0, 1.09166],
+ 78: [0, 0.68611, 0, 0, 0.9],
+ 79: [0, 0.68611, 0, 0, 0.86388],
+ 80: [0, 0.68611, 0, 0, 0.78611],
+ 81: [0.19444, 0.68611, 0, 0, 0.86388],
+ 82: [0, 0.68611, 0, 0, 0.8625],
+ 83: [0, 0.68611, 0, 0, 0.63889],
+ 84: [0, 0.68611, 0, 0, 0.8],
+ 85: [0, 0.68611, 0, 0, 0.88472],
+ 86: [0, 0.68611, 0.01597, 0, 0.86944],
+ 87: [0, 0.68611, 0.01597, 0, 1.18888],
+ 88: [0, 0.68611, 0, 0, 0.86944],
+ 89: [0, 0.68611, 0.02875, 0, 0.86944],
+ 90: [0, 0.68611, 0, 0, 0.70277],
+ 91: [0.25, 0.75, 0, 0, 0.31944],
+ 92: [0.25, 0.75, 0, 0, 0.575],
+ 93: [0.25, 0.75, 0, 0, 0.31944],
+ 94: [0, 0.69444, 0, 0, 0.575],
+ 95: [0.31, 0.13444, 0.03194, 0, 0.575],
+ 97: [0, 0.44444, 0, 0, 0.55902],
+ 98: [0, 0.69444, 0, 0, 0.63889],
+ 99: [0, 0.44444, 0, 0, 0.51111],
+ 100: [0, 0.69444, 0, 0, 0.63889],
+ 101: [0, 0.44444, 0, 0, 0.52708],
+ 102: [0, 0.69444, 0.10903, 0, 0.35139],
+ 103: [0.19444, 0.44444, 0.01597, 0, 0.575],
+ 104: [0, 0.69444, 0, 0, 0.63889],
+ 105: [0, 0.69444, 0, 0, 0.31944],
+ 106: [0.19444, 0.69444, 0, 0, 0.35139],
+ 107: [0, 0.69444, 0, 0, 0.60694],
+ 108: [0, 0.69444, 0, 0, 0.31944],
+ 109: [0, 0.44444, 0, 0, 0.95833],
+ 110: [0, 0.44444, 0, 0, 0.63889],
+ 111: [0, 0.44444, 0, 0, 0.575],
+ 112: [0.19444, 0.44444, 0, 0, 0.63889],
+ 113: [0.19444, 0.44444, 0, 0, 0.60694],
+ 114: [0, 0.44444, 0, 0, 0.47361],
+ 115: [0, 0.44444, 0, 0, 0.45361],
+ 116: [0, 0.63492, 0, 0, 0.44722],
+ 117: [0, 0.44444, 0, 0, 0.63889],
+ 118: [0, 0.44444, 0.01597, 0, 0.60694],
+ 119: [0, 0.44444, 0.01597, 0, 0.83055],
+ 120: [0, 0.44444, 0, 0, 0.60694],
+ 121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
+ 122: [0, 0.44444, 0, 0, 0.51111],
+ 123: [0.25, 0.75, 0, 0, 0.575],
+ 124: [0.25, 0.75, 0, 0, 0.31944],
+ 125: [0.25, 0.75, 0, 0, 0.575],
+ 126: [0.35, 0.34444, 0, 0, 0.575],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.86853],
+ 168: [0, 0.69444, 0, 0, 0.575],
+ 172: [0, 0.44444, 0, 0, 0.76666],
+ 176: [0, 0.69444, 0, 0, 0.86944],
+ 177: [0.13333, 0.63333, 0, 0, 0.89444],
+ 184: [0.17014, 0, 0, 0, 0.51111],
+ 198: [0, 0.68611, 0, 0, 1.04166],
+ 215: [0.13333, 0.63333, 0, 0, 0.89444],
+ 216: [0.04861, 0.73472, 0, 0, 0.89444],
+ 223: [0, 0.69444, 0, 0, 0.59722],
+ 230: [0, 0.44444, 0, 0, 0.83055],
+ 247: [0.13333, 0.63333, 0, 0, 0.89444],
+ 248: [0.09722, 0.54167, 0, 0, 0.575],
+ 305: [0, 0.44444, 0, 0, 0.31944],
+ 338: [0, 0.68611, 0, 0, 1.16944],
+ 339: [0, 0.44444, 0, 0, 0.89444],
+ 567: [0.19444, 0.44444, 0, 0, 0.35139],
+ 710: [0, 0.69444, 0, 0, 0.575],
+ 711: [0, 0.63194, 0, 0, 0.575],
+ 713: [0, 0.59611, 0, 0, 0.575],
+ 714: [0, 0.69444, 0, 0, 0.575],
+ 715: [0, 0.69444, 0, 0, 0.575],
+ 728: [0, 0.69444, 0, 0, 0.575],
+ 729: [0, 0.69444, 0, 0, 0.31944],
+ 730: [0, 0.69444, 0, 0, 0.86944],
+ 732: [0, 0.69444, 0, 0, 0.575],
+ 733: [0, 0.69444, 0, 0, 0.575],
+ 915: [0, 0.68611, 0, 0, 0.69166],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0, 0, 0.89444],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0, 0, 0.76666],
+ 928: [0, 0.68611, 0, 0, 0.9],
+ 931: [0, 0.68611, 0, 0, 0.83055],
+ 933: [0, 0.68611, 0, 0, 0.89444],
+ 934: [0, 0.68611, 0, 0, 0.83055],
+ 936: [0, 0.68611, 0, 0, 0.89444],
+ 937: [0, 0.68611, 0, 0, 0.83055],
+ 8211: [0, 0.44444, 0.03194, 0, 0.575],
+ 8212: [0, 0.44444, 0.03194, 0, 1.14999],
+ 8216: [0, 0.69444, 0, 0, 0.31944],
+ 8217: [0, 0.69444, 0, 0, 0.31944],
+ 8220: [0, 0.69444, 0, 0, 0.60278],
+ 8221: [0, 0.69444, 0, 0, 0.60278],
+ 8224: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8225: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8242: [0, 0.55556, 0, 0, 0.34444],
+ 8407: [0, 0.72444, 0.15486, 0, 0.575],
+ 8463: [0, 0.69444, 0, 0, 0.66759],
+ 8465: [0, 0.69444, 0, 0, 0.83055],
+ 8467: [0, 0.69444, 0, 0, 0.47361],
+ 8472: [0.19444, 0.44444, 0, 0, 0.74027],
+ 8476: [0, 0.69444, 0, 0, 0.83055],
+ 8501: [0, 0.69444, 0, 0, 0.70277],
+ 8592: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8593: [0.19444, 0.69444, 0, 0, 0.575],
+ 8594: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8595: [0.19444, 0.69444, 0, 0, 0.575],
+ 8596: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8597: [0.25, 0.75, 0, 0, 0.575],
+ 8598: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8599: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8600: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8601: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8636: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8637: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8640: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8641: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8656: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8657: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8658: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8659: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8660: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8661: [0.25, 0.75, 0, 0, 0.70277],
+ 8704: [0, 0.69444, 0, 0, 0.63889],
+ 8706: [0, 0.69444, 0.06389, 0, 0.62847],
+ 8707: [0, 0.69444, 0, 0, 0.63889],
+ 8709: [0.05556, 0.75, 0, 0, 0.575],
+ 8711: [0, 0.68611, 0, 0, 0.95833],
+ 8712: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8715: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8722: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8723: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8725: [0.25, 0.75, 0, 0, 0.575],
+ 8726: [0.25, 0.75, 0, 0, 0.575],
+ 8727: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8728: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8729: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8730: [0.18, 0.82, 0, 0, 0.95833],
+ 8733: [0, 0.44444, 0, 0, 0.89444],
+ 8734: [0, 0.44444, 0, 0, 1.14999],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.31944],
+ 8741: [0.25, 0.75, 0, 0, 0.575],
+ 8743: [0, 0.55556, 0, 0, 0.76666],
+ 8744: [0, 0.55556, 0, 0, 0.76666],
+ 8745: [0, 0.55556, 0, 0, 0.76666],
+ 8746: [0, 0.55556, 0, 0, 0.76666],
+ 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
+ 8764: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 8768: [0.19444, 0.69444, 0, 0, 0.31944],
+ 8771: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8773: [0.027, 0.638, 0, 0, 0.894],
+ 8776: [0.02444, 0.52444, 0, 0, 0.89444],
+ 8781: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8801: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8804: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8805: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8810: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8811: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8826: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8827: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8834: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8835: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8838: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8839: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8846: [0, 0.55556, 0, 0, 0.76666],
+ 8849: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8850: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8851: [0, 0.55556, 0, 0, 0.76666],
+ 8852: [0, 0.55556, 0, 0, 0.76666],
+ 8853: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8854: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8855: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8856: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8857: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8866: [0, 0.69444, 0, 0, 0.70277],
+ 8867: [0, 0.69444, 0, 0, 0.70277],
+ 8868: [0, 0.69444, 0, 0, 0.89444],
+ 8869: [0, 0.69444, 0, 0, 0.89444],
+ 8900: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8901: [-0.02639, 0.47361, 0, 0, 0.31944],
+ 8902: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8968: [0.25, 0.75, 0, 0, 0.51111],
+ 8969: [0.25, 0.75, 0, 0, 0.51111],
+ 8970: [0.25, 0.75, 0, 0, 0.51111],
+ 8971: [0.25, 0.75, 0, 0, 0.51111],
+ 8994: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 8995: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 9651: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9657: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9661: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9667: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9711: [0.19444, 0.69444, 0, 0, 1.14999],
+ 9824: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9825: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9826: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9827: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9837: [0, 0.75, 0, 0, 0.44722],
+ 9838: [0.19444, 0.69444, 0, 0, 0.44722],
+ 9839: [0.19444, 0.69444, 0, 0, 0.44722],
+ 10216: [0.25, 0.75, 0, 0, 0.44722],
+ 10217: [0.25, 0.75, 0, 0, 0.44722],
+ 10815: [0, 0.68611, 0, 0, 0.9],
+ 10927: [0.19667, 0.69667, 0, 0, 0.89444],
+ 10928: [0.19667, 0.69667, 0, 0, 0.89444],
+ 57376: [0.19444, 0.69444, 0, 0, 0],
+ },
+ 'Main-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.11417, 0, 0.38611],
+ 34: [0, 0.69444, 0.07939, 0, 0.62055],
+ 35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
+ 37: [0.05556, 0.75, 0.12861, 0, 0.94444],
+ 38: [0, 0.69444, 0.08528, 0, 0.88555],
+ 39: [0, 0.69444, 0.12945, 0, 0.35555],
+ 40: [0.25, 0.75, 0.15806, 0, 0.47333],
+ 41: [0.25, 0.75, 0.03306, 0, 0.47333],
+ 42: [0, 0.75, 0.14333, 0, 0.59111],
+ 43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
+ 44: [0.19444, 0.14722, 0, 0, 0.35555],
+ 45: [0, 0.44444, 0.02611, 0, 0.41444],
+ 46: [0, 0.14722, 0, 0, 0.35555],
+ 47: [0.25, 0.75, 0.15806, 0, 0.59111],
+ 48: [0, 0.64444, 0.13167, 0, 0.59111],
+ 49: [0, 0.64444, 0.13167, 0, 0.59111],
+ 50: [0, 0.64444, 0.13167, 0, 0.59111],
+ 51: [0, 0.64444, 0.13167, 0, 0.59111],
+ 52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 53: [0, 0.64444, 0.13167, 0, 0.59111],
+ 54: [0, 0.64444, 0.13167, 0, 0.59111],
+ 55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 56: [0, 0.64444, 0.13167, 0, 0.59111],
+ 57: [0, 0.64444, 0.13167, 0, 0.59111],
+ 58: [0, 0.44444, 0.06695, 0, 0.35555],
+ 59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
+ 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
+ 63: [0, 0.69444, 0.11472, 0, 0.59111],
+ 64: [0, 0.69444, 0.09208, 0, 0.88555],
+ 65: [0, 0.68611, 0, 0, 0.86555],
+ 66: [0, 0.68611, 0.0992, 0, 0.81666],
+ 67: [0, 0.68611, 0.14208, 0, 0.82666],
+ 68: [0, 0.68611, 0.09062, 0, 0.87555],
+ 69: [0, 0.68611, 0.11431, 0, 0.75666],
+ 70: [0, 0.68611, 0.12903, 0, 0.72722],
+ 71: [0, 0.68611, 0.07347, 0, 0.89527],
+ 72: [0, 0.68611, 0.17208, 0, 0.8961],
+ 73: [0, 0.68611, 0.15681, 0, 0.47166],
+ 74: [0, 0.68611, 0.145, 0, 0.61055],
+ 75: [0, 0.68611, 0.14208, 0, 0.89499],
+ 76: [0, 0.68611, 0, 0, 0.69777],
+ 77: [0, 0.68611, 0.17208, 0, 1.07277],
+ 78: [0, 0.68611, 0.17208, 0, 0.8961],
+ 79: [0, 0.68611, 0.09062, 0, 0.85499],
+ 80: [0, 0.68611, 0.0992, 0, 0.78721],
+ 81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
+ 82: [0, 0.68611, 0.02559, 0, 0.85944],
+ 83: [0, 0.68611, 0.11264, 0, 0.64999],
+ 84: [0, 0.68611, 0.12903, 0, 0.7961],
+ 85: [0, 0.68611, 0.17208, 0, 0.88083],
+ 86: [0, 0.68611, 0.18625, 0, 0.86555],
+ 87: [0, 0.68611, 0.18625, 0, 1.15999],
+ 88: [0, 0.68611, 0.15681, 0, 0.86555],
+ 89: [0, 0.68611, 0.19803, 0, 0.86555],
+ 90: [0, 0.68611, 0.14208, 0, 0.70888],
+ 91: [0.25, 0.75, 0.1875, 0, 0.35611],
+ 93: [0.25, 0.75, 0.09972, 0, 0.35611],
+ 94: [0, 0.69444, 0.06709, 0, 0.59111],
+ 95: [0.31, 0.13444, 0.09811, 0, 0.59111],
+ 97: [0, 0.44444, 0.09426, 0, 0.59111],
+ 98: [0, 0.69444, 0.07861, 0, 0.53222],
+ 99: [0, 0.44444, 0.05222, 0, 0.53222],
+ 100: [0, 0.69444, 0.10861, 0, 0.59111],
+ 101: [0, 0.44444, 0.085, 0, 0.53222],
+ 102: [0.19444, 0.69444, 0.21778, 0, 0.4],
+ 103: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 104: [0, 0.69444, 0.09426, 0, 0.59111],
+ 105: [0, 0.69326, 0.11387, 0, 0.35555],
+ 106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
+ 107: [0, 0.69444, 0.11111, 0, 0.53222],
+ 108: [0, 0.69444, 0.10861, 0, 0.29666],
+ 109: [0, 0.44444, 0.09426, 0, 0.94444],
+ 110: [0, 0.44444, 0.09426, 0, 0.64999],
+ 111: [0, 0.44444, 0.07861, 0, 0.59111],
+ 112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
+ 113: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 114: [0, 0.44444, 0.11111, 0, 0.50167],
+ 115: [0, 0.44444, 0.08167, 0, 0.48694],
+ 116: [0, 0.63492, 0.09639, 0, 0.385],
+ 117: [0, 0.44444, 0.09426, 0, 0.62055],
+ 118: [0, 0.44444, 0.11111, 0, 0.53222],
+ 119: [0, 0.44444, 0.11111, 0, 0.76777],
+ 120: [0, 0.44444, 0.12583, 0, 0.56055],
+ 121: [0.19444, 0.44444, 0.105, 0, 0.56166],
+ 122: [0, 0.44444, 0.13889, 0, 0.49055],
+ 126: [0.35, 0.34444, 0.11472, 0, 0.59111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0.11473, 0, 0.59111],
+ 176: [0, 0.69444, 0, 0, 0.94888],
+ 184: [0.17014, 0, 0, 0, 0.53222],
+ 198: [0, 0.68611, 0.11431, 0, 1.02277],
+ 216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
+ 223: [0.19444, 0.69444, 0.09736, 0, 0.665],
+ 230: [0, 0.44444, 0.085, 0, 0.82666],
+ 248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
+ 305: [0, 0.44444, 0.09426, 0, 0.35555],
+ 338: [0, 0.68611, 0.11431, 0, 1.14054],
+ 339: [0, 0.44444, 0.085, 0, 0.82666],
+ 567: [0.19444, 0.44444, 0.04611, 0, 0.385],
+ 710: [0, 0.69444, 0.06709, 0, 0.59111],
+ 711: [0, 0.63194, 0.08271, 0, 0.59111],
+ 713: [0, 0.59444, 0.10444, 0, 0.59111],
+ 714: [0, 0.69444, 0.08528, 0, 0.59111],
+ 715: [0, 0.69444, 0, 0, 0.59111],
+ 728: [0, 0.69444, 0.10333, 0, 0.59111],
+ 729: [0, 0.69444, 0.12945, 0, 0.35555],
+ 730: [0, 0.69444, 0, 0, 0.94888],
+ 732: [0, 0.69444, 0.11472, 0, 0.59111],
+ 733: [0, 0.69444, 0.11472, 0, 0.59111],
+ 915: [0, 0.68611, 0.12903, 0, 0.69777],
+ 916: [0, 0.68611, 0, 0, 0.94444],
+ 920: [0, 0.68611, 0.09062, 0, 0.88555],
+ 923: [0, 0.68611, 0, 0, 0.80666],
+ 926: [0, 0.68611, 0.15092, 0, 0.76777],
+ 928: [0, 0.68611, 0.17208, 0, 0.8961],
+ 931: [0, 0.68611, 0.11431, 0, 0.82666],
+ 933: [0, 0.68611, 0.10778, 0, 0.88555],
+ 934: [0, 0.68611, 0.05632, 0, 0.82666],
+ 936: [0, 0.68611, 0.10778, 0, 0.88555],
+ 937: [0, 0.68611, 0.0992, 0, 0.82666],
+ 8211: [0, 0.44444, 0.09811, 0, 0.59111],
+ 8212: [0, 0.44444, 0.09811, 0, 1.18221],
+ 8216: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8217: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8220: [0, 0.69444, 0.16772, 0, 0.62055],
+ 8221: [0, 0.69444, 0.07939, 0, 0.62055],
+ },
+ 'Main-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.12417, 0, 0.30667],
+ 34: [0, 0.69444, 0.06961, 0, 0.51444],
+ 35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
+ 37: [0.05556, 0.75, 0.13639, 0, 0.81777],
+ 38: [0, 0.69444, 0.09694, 0, 0.76666],
+ 39: [0, 0.69444, 0.12417, 0, 0.30667],
+ 40: [0.25, 0.75, 0.16194, 0, 0.40889],
+ 41: [0.25, 0.75, 0.03694, 0, 0.40889],
+ 42: [0, 0.75, 0.14917, 0, 0.51111],
+ 43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
+ 44: [0.19444, 0.10556, 0, 0, 0.30667],
+ 45: [0, 0.43056, 0.02826, 0, 0.35778],
+ 46: [0, 0.10556, 0, 0, 0.30667],
+ 47: [0.25, 0.75, 0.16194, 0, 0.51111],
+ 48: [0, 0.64444, 0.13556, 0, 0.51111],
+ 49: [0, 0.64444, 0.13556, 0, 0.51111],
+ 50: [0, 0.64444, 0.13556, 0, 0.51111],
+ 51: [0, 0.64444, 0.13556, 0, 0.51111],
+ 52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 53: [0, 0.64444, 0.13556, 0, 0.51111],
+ 54: [0, 0.64444, 0.13556, 0, 0.51111],
+ 55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 56: [0, 0.64444, 0.13556, 0, 0.51111],
+ 57: [0, 0.64444, 0.13556, 0, 0.51111],
+ 58: [0, 0.43056, 0.0582, 0, 0.30667],
+ 59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
+ 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
+ 63: [0, 0.69444, 0.1225, 0, 0.51111],
+ 64: [0, 0.69444, 0.09597, 0, 0.76666],
+ 65: [0, 0.68333, 0, 0, 0.74333],
+ 66: [0, 0.68333, 0.10257, 0, 0.70389],
+ 67: [0, 0.68333, 0.14528, 0, 0.71555],
+ 68: [0, 0.68333, 0.09403, 0, 0.755],
+ 69: [0, 0.68333, 0.12028, 0, 0.67833],
+ 70: [0, 0.68333, 0.13305, 0, 0.65277],
+ 71: [0, 0.68333, 0.08722, 0, 0.77361],
+ 72: [0, 0.68333, 0.16389, 0, 0.74333],
+ 73: [0, 0.68333, 0.15806, 0, 0.38555],
+ 74: [0, 0.68333, 0.14028, 0, 0.525],
+ 75: [0, 0.68333, 0.14528, 0, 0.76888],
+ 76: [0, 0.68333, 0, 0, 0.62722],
+ 77: [0, 0.68333, 0.16389, 0, 0.89666],
+ 78: [0, 0.68333, 0.16389, 0, 0.74333],
+ 79: [0, 0.68333, 0.09403, 0, 0.76666],
+ 80: [0, 0.68333, 0.10257, 0, 0.67833],
+ 81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
+ 82: [0, 0.68333, 0.03868, 0, 0.72944],
+ 83: [0, 0.68333, 0.11972, 0, 0.56222],
+ 84: [0, 0.68333, 0.13305, 0, 0.71555],
+ 85: [0, 0.68333, 0.16389, 0, 0.74333],
+ 86: [0, 0.68333, 0.18361, 0, 0.74333],
+ 87: [0, 0.68333, 0.18361, 0, 0.99888],
+ 88: [0, 0.68333, 0.15806, 0, 0.74333],
+ 89: [0, 0.68333, 0.19383, 0, 0.74333],
+ 90: [0, 0.68333, 0.14528, 0, 0.61333],
+ 91: [0.25, 0.75, 0.1875, 0, 0.30667],
+ 93: [0.25, 0.75, 0.10528, 0, 0.30667],
+ 94: [0, 0.69444, 0.06646, 0, 0.51111],
+ 95: [0.31, 0.12056, 0.09208, 0, 0.51111],
+ 97: [0, 0.43056, 0.07671, 0, 0.51111],
+ 98: [0, 0.69444, 0.06312, 0, 0.46],
+ 99: [0, 0.43056, 0.05653, 0, 0.46],
+ 100: [0, 0.69444, 0.10333, 0, 0.51111],
+ 101: [0, 0.43056, 0.07514, 0, 0.46],
+ 102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
+ 103: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 104: [0, 0.69444, 0.07671, 0, 0.51111],
+ 105: [0, 0.65536, 0.1019, 0, 0.30667],
+ 106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
+ 107: [0, 0.69444, 0.10764, 0, 0.46],
+ 108: [0, 0.69444, 0.10333, 0, 0.25555],
+ 109: [0, 0.43056, 0.07671, 0, 0.81777],
+ 110: [0, 0.43056, 0.07671, 0, 0.56222],
+ 111: [0, 0.43056, 0.06312, 0, 0.51111],
+ 112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
+ 113: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 114: [0, 0.43056, 0.10764, 0, 0.42166],
+ 115: [0, 0.43056, 0.08208, 0, 0.40889],
+ 116: [0, 0.61508, 0.09486, 0, 0.33222],
+ 117: [0, 0.43056, 0.07671, 0, 0.53666],
+ 118: [0, 0.43056, 0.10764, 0, 0.46],
+ 119: [0, 0.43056, 0.10764, 0, 0.66444],
+ 120: [0, 0.43056, 0.12042, 0, 0.46389],
+ 121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
+ 122: [0, 0.43056, 0.12292, 0, 0.40889],
+ 126: [0.35, 0.31786, 0.11585, 0, 0.51111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.66786, 0.10474, 0, 0.51111],
+ 176: [0, 0.69444, 0, 0, 0.83129],
+ 184: [0.17014, 0, 0, 0, 0.46],
+ 198: [0, 0.68333, 0.12028, 0, 0.88277],
+ 216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
+ 223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
+ 230: [0, 0.43056, 0.07514, 0, 0.71555],
+ 248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
+ 338: [0, 0.68333, 0.12028, 0, 0.98499],
+ 339: [0, 0.43056, 0.07514, 0, 0.71555],
+ 710: [0, 0.69444, 0.06646, 0, 0.51111],
+ 711: [0, 0.62847, 0.08295, 0, 0.51111],
+ 713: [0, 0.56167, 0.10333, 0, 0.51111],
+ 714: [0, 0.69444, 0.09694, 0, 0.51111],
+ 715: [0, 0.69444, 0, 0, 0.51111],
+ 728: [0, 0.69444, 0.10806, 0, 0.51111],
+ 729: [0, 0.66786, 0.11752, 0, 0.30667],
+ 730: [0, 0.69444, 0, 0, 0.83129],
+ 732: [0, 0.66786, 0.11585, 0, 0.51111],
+ 733: [0, 0.69444, 0.1225, 0, 0.51111],
+ 915: [0, 0.68333, 0.13305, 0, 0.62722],
+ 916: [0, 0.68333, 0, 0, 0.81777],
+ 920: [0, 0.68333, 0.09403, 0, 0.76666],
+ 923: [0, 0.68333, 0, 0, 0.69222],
+ 926: [0, 0.68333, 0.15294, 0, 0.66444],
+ 928: [0, 0.68333, 0.16389, 0, 0.74333],
+ 931: [0, 0.68333, 0.12028, 0, 0.71555],
+ 933: [0, 0.68333, 0.11111, 0, 0.76666],
+ 934: [0, 0.68333, 0.05986, 0, 0.71555],
+ 936: [0, 0.68333, 0.11111, 0, 0.76666],
+ 937: [0, 0.68333, 0.10257, 0, 0.71555],
+ 8211: [0, 0.43056, 0.09208, 0, 0.51111],
+ 8212: [0, 0.43056, 0.09208, 0, 1.02222],
+ 8216: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8217: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8220: [0, 0.69444, 0.1685, 0, 0.51444],
+ 8221: [0, 0.69444, 0.06961, 0, 0.51444],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ },
+ 'Main-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.27778],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.77778],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.19444, 0.10556, 0, 0, 0.27778],
+ 45: [0, 0.43056, 0, 0, 0.33333],
+ 46: [0, 0.10556, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.64444, 0, 0, 0.5],
+ 49: [0, 0.64444, 0, 0, 0.5],
+ 50: [0, 0.64444, 0, 0, 0.5],
+ 51: [0, 0.64444, 0, 0, 0.5],
+ 52: [0, 0.64444, 0, 0, 0.5],
+ 53: [0, 0.64444, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0, 0.64444, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0, 0.64444, 0, 0, 0.5],
+ 58: [0, 0.43056, 0, 0, 0.27778],
+ 59: [0.19444, 0.43056, 0, 0, 0.27778],
+ 60: [0.0391, 0.5391, 0, 0, 0.77778],
+ 61: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 62: [0.0391, 0.5391, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.77778],
+ 65: [0, 0.68333, 0, 0, 0.75],
+ 66: [0, 0.68333, 0, 0, 0.70834],
+ 67: [0, 0.68333, 0, 0, 0.72222],
+ 68: [0, 0.68333, 0, 0, 0.76389],
+ 69: [0, 0.68333, 0, 0, 0.68056],
+ 70: [0, 0.68333, 0, 0, 0.65278],
+ 71: [0, 0.68333, 0, 0, 0.78472],
+ 72: [0, 0.68333, 0, 0, 0.75],
+ 73: [0, 0.68333, 0, 0, 0.36111],
+ 74: [0, 0.68333, 0, 0, 0.51389],
+ 75: [0, 0.68333, 0, 0, 0.77778],
+ 76: [0, 0.68333, 0, 0, 0.625],
+ 77: [0, 0.68333, 0, 0, 0.91667],
+ 78: [0, 0.68333, 0, 0, 0.75],
+ 79: [0, 0.68333, 0, 0, 0.77778],
+ 80: [0, 0.68333, 0, 0, 0.68056],
+ 81: [0.19444, 0.68333, 0, 0, 0.77778],
+ 82: [0, 0.68333, 0, 0, 0.73611],
+ 83: [0, 0.68333, 0, 0, 0.55556],
+ 84: [0, 0.68333, 0, 0, 0.72222],
+ 85: [0, 0.68333, 0, 0, 0.75],
+ 86: [0, 0.68333, 0.01389, 0, 0.75],
+ 87: [0, 0.68333, 0.01389, 0, 1.02778],
+ 88: [0, 0.68333, 0, 0, 0.75],
+ 89: [0, 0.68333, 0.025, 0, 0.75],
+ 90: [0, 0.68333, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.27778],
+ 92: [0.25, 0.75, 0, 0, 0.5],
+ 93: [0.25, 0.75, 0, 0, 0.27778],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.31, 0.12056, 0.02778, 0, 0.5],
+ 97: [0, 0.43056, 0, 0, 0.5],
+ 98: [0, 0.69444, 0, 0, 0.55556],
+ 99: [0, 0.43056, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.55556],
+ 101: [0, 0.43056, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.07778, 0, 0.30556],
+ 103: [0.19444, 0.43056, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.55556],
+ 105: [0, 0.66786, 0, 0, 0.27778],
+ 106: [0.19444, 0.66786, 0, 0, 0.30556],
+ 107: [0, 0.69444, 0, 0, 0.52778],
+ 108: [0, 0.69444, 0, 0, 0.27778],
+ 109: [0, 0.43056, 0, 0, 0.83334],
+ 110: [0, 0.43056, 0, 0, 0.55556],
+ 111: [0, 0.43056, 0, 0, 0.5],
+ 112: [0.19444, 0.43056, 0, 0, 0.55556],
+ 113: [0.19444, 0.43056, 0, 0, 0.52778],
+ 114: [0, 0.43056, 0, 0, 0.39167],
+ 115: [0, 0.43056, 0, 0, 0.39445],
+ 116: [0, 0.61508, 0, 0, 0.38889],
+ 117: [0, 0.43056, 0, 0, 0.55556],
+ 118: [0, 0.43056, 0.01389, 0, 0.52778],
+ 119: [0, 0.43056, 0.01389, 0, 0.72222],
+ 120: [0, 0.43056, 0, 0, 0.52778],
+ 121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
+ 122: [0, 0.43056, 0, 0, 0.44445],
+ 123: [0.25, 0.75, 0, 0, 0.5],
+ 124: [0.25, 0.75, 0, 0, 0.27778],
+ 125: [0.25, 0.75, 0, 0, 0.5],
+ 126: [0.35, 0.31786, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.76909],
+ 167: [0.19444, 0.69444, 0, 0, 0.44445],
+ 168: [0, 0.66786, 0, 0, 0.5],
+ 172: [0, 0.43056, 0, 0, 0.66667],
+ 176: [0, 0.69444, 0, 0, 0.75],
+ 177: [0.08333, 0.58333, 0, 0, 0.77778],
+ 182: [0.19444, 0.69444, 0, 0, 0.61111],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 198: [0, 0.68333, 0, 0, 0.90278],
+ 215: [0.08333, 0.58333, 0, 0, 0.77778],
+ 216: [0.04861, 0.73194, 0, 0, 0.77778],
+ 223: [0, 0.69444, 0, 0, 0.5],
+ 230: [0, 0.43056, 0, 0, 0.72222],
+ 247: [0.08333, 0.58333, 0, 0, 0.77778],
+ 248: [0.09722, 0.52778, 0, 0, 0.5],
+ 305: [0, 0.43056, 0, 0, 0.27778],
+ 338: [0, 0.68333, 0, 0, 1.01389],
+ 339: [0, 0.43056, 0, 0, 0.77778],
+ 567: [0.19444, 0.43056, 0, 0, 0.30556],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.62847, 0, 0, 0.5],
+ 713: [0, 0.56778, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.66786, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.75],
+ 732: [0, 0.66786, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.68333, 0, 0, 0.625],
+ 916: [0, 0.68333, 0, 0, 0.83334],
+ 920: [0, 0.68333, 0, 0, 0.77778],
+ 923: [0, 0.68333, 0, 0, 0.69445],
+ 926: [0, 0.68333, 0, 0, 0.66667],
+ 928: [0, 0.68333, 0, 0, 0.75],
+ 931: [0, 0.68333, 0, 0, 0.72222],
+ 933: [0, 0.68333, 0, 0, 0.77778],
+ 934: [0, 0.68333, 0, 0, 0.72222],
+ 936: [0, 0.68333, 0, 0, 0.77778],
+ 937: [0, 0.68333, 0, 0, 0.72222],
+ 8211: [0, 0.43056, 0.02778, 0, 0.5],
+ 8212: [0, 0.43056, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5],
+ 8224: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8225: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8230: [0, 0.123, 0, 0, 1.172],
+ 8242: [0, 0.55556, 0, 0, 0.275],
+ 8407: [0, 0.71444, 0.15382, 0, 0.5],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8465: [0, 0.69444, 0, 0, 0.72222],
+ 8467: [0, 0.69444, 0, 0.11111, 0.41667],
+ 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
+ 8476: [0, 0.69444, 0, 0, 0.72222],
+ 8501: [0, 0.69444, 0, 0, 0.61111],
+ 8592: [-0.13313, 0.36687, 0, 0, 1],
+ 8593: [0.19444, 0.69444, 0, 0, 0.5],
+ 8594: [-0.13313, 0.36687, 0, 0, 1],
+ 8595: [0.19444, 0.69444, 0, 0, 0.5],
+ 8596: [-0.13313, 0.36687, 0, 0, 1],
+ 8597: [0.25, 0.75, 0, 0, 0.5],
+ 8598: [0.19444, 0.69444, 0, 0, 1],
+ 8599: [0.19444, 0.69444, 0, 0, 1],
+ 8600: [0.19444, 0.69444, 0, 0, 1],
+ 8601: [0.19444, 0.69444, 0, 0, 1],
+ 8614: [0.011, 0.511, 0, 0, 1],
+ 8617: [0.011, 0.511, 0, 0, 1.126],
+ 8618: [0.011, 0.511, 0, 0, 1.126],
+ 8636: [-0.13313, 0.36687, 0, 0, 1],
+ 8637: [-0.13313, 0.36687, 0, 0, 1],
+ 8640: [-0.13313, 0.36687, 0, 0, 1],
+ 8641: [-0.13313, 0.36687, 0, 0, 1],
+ 8652: [0.011, 0.671, 0, 0, 1],
+ 8656: [-0.13313, 0.36687, 0, 0, 1],
+ 8657: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8658: [-0.13313, 0.36687, 0, 0, 1],
+ 8659: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8660: [-0.13313, 0.36687, 0, 0, 1],
+ 8661: [0.25, 0.75, 0, 0, 0.61111],
+ 8704: [0, 0.69444, 0, 0, 0.55556],
+ 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
+ 8707: [0, 0.69444, 0, 0, 0.55556],
+ 8709: [0.05556, 0.75, 0, 0, 0.5],
+ 8711: [0, 0.68333, 0, 0, 0.83334],
+ 8712: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8715: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8722: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8723: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8725: [0.25, 0.75, 0, 0, 0.5],
+ 8726: [0.25, 0.75, 0, 0, 0.5],
+ 8727: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8728: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8729: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8730: [0.2, 0.8, 0, 0, 0.83334],
+ 8733: [0, 0.43056, 0, 0, 0.77778],
+ 8734: [0, 0.43056, 0, 0, 1],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.27778],
+ 8741: [0.25, 0.75, 0, 0, 0.5],
+ 8743: [0, 0.55556, 0, 0, 0.66667],
+ 8744: [0, 0.55556, 0, 0, 0.66667],
+ 8745: [0, 0.55556, 0, 0, 0.66667],
+ 8746: [0, 0.55556, 0, 0, 0.66667],
+ 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8768: [0.19444, 0.69444, 0, 0, 0.27778],
+ 8771: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8773: [-0.022, 0.589, 0, 0, 0.778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8781: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8784: [-0.133, 0.673, 0, 0, 0.778],
+ 8801: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8804: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8805: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8810: [0.0391, 0.5391, 0, 0, 1],
+ 8811: [0.0391, 0.5391, 0, 0, 1],
+ 8826: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8827: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8834: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8835: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8838: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8839: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8846: [0, 0.55556, 0, 0, 0.66667],
+ 8849: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8850: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8851: [0, 0.55556, 0, 0, 0.66667],
+ 8852: [0, 0.55556, 0, 0, 0.66667],
+ 8853: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8854: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8855: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8856: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8857: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8866: [0, 0.69444, 0, 0, 0.61111],
+ 8867: [0, 0.69444, 0, 0, 0.61111],
+ 8868: [0, 0.69444, 0, 0, 0.77778],
+ 8869: [0, 0.69444, 0, 0, 0.77778],
+ 8872: [0.249, 0.75, 0, 0, 0.867],
+ 8900: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8901: [-0.05555, 0.44445, 0, 0, 0.27778],
+ 8902: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8904: [0.005, 0.505, 0, 0, 0.9],
+ 8942: [0.03, 0.903, 0, 0, 0.278],
+ 8943: [-0.19, 0.313, 0, 0, 1.172],
+ 8945: [-0.1, 0.823, 0, 0, 1.282],
+ 8968: [0.25, 0.75, 0, 0, 0.44445],
+ 8969: [0.25, 0.75, 0, 0, 0.44445],
+ 8970: [0.25, 0.75, 0, 0, 0.44445],
+ 8971: [0.25, 0.75, 0, 0, 0.44445],
+ 8994: [-0.14236, 0.35764, 0, 0, 1],
+ 8995: [-0.14236, 0.35764, 0, 0, 1],
+ 9136: [0.244, 0.744, 0, 0, 0.412],
+ 9137: [0.244, 0.745, 0, 0, 0.412],
+ 9651: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9657: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9661: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9667: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9711: [0.19444, 0.69444, 0, 0, 1],
+ 9824: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9825: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9826: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9827: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9837: [0, 0.75, 0, 0, 0.38889],
+ 9838: [0.19444, 0.69444, 0, 0, 0.38889],
+ 9839: [0.19444, 0.69444, 0, 0, 0.38889],
+ 10216: [0.25, 0.75, 0, 0, 0.38889],
+ 10217: [0.25, 0.75, 0, 0, 0.38889],
+ 10222: [0.244, 0.744, 0, 0, 0.412],
+ 10223: [0.244, 0.745, 0, 0, 0.412],
+ 10229: [0.011, 0.511, 0, 0, 1.609],
+ 10230: [0.011, 0.511, 0, 0, 1.638],
+ 10231: [0.011, 0.511, 0, 0, 1.859],
+ 10232: [0.024, 0.525, 0, 0, 1.609],
+ 10233: [0.024, 0.525, 0, 0, 1.638],
+ 10234: [0.024, 0.525, 0, 0, 1.858],
+ 10236: [0.011, 0.511, 0, 0, 1.638],
+ 10815: [0, 0.68333, 0, 0, 0.75],
+ 10927: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10928: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57376: [0.19444, 0.69444, 0, 0, 0],
+ },
+ 'Math-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.44444, 0, 0, 0.575],
+ 49: [0, 0.44444, 0, 0, 0.575],
+ 50: [0, 0.44444, 0, 0, 0.575],
+ 51: [0.19444, 0.44444, 0, 0, 0.575],
+ 52: [0.19444, 0.44444, 0, 0, 0.575],
+ 53: [0.19444, 0.44444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0.19444, 0.44444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0.19444, 0.44444, 0, 0, 0.575],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0.04835, 0, 0.8664],
+ 67: [0, 0.68611, 0.06979, 0, 0.81694],
+ 68: [0, 0.68611, 0.03194, 0, 0.93812],
+ 69: [0, 0.68611, 0.05451, 0, 0.81007],
+ 70: [0, 0.68611, 0.15972, 0, 0.68889],
+ 71: [0, 0.68611, 0, 0, 0.88673],
+ 72: [0, 0.68611, 0.08229, 0, 0.98229],
+ 73: [0, 0.68611, 0.07778, 0, 0.51111],
+ 74: [0, 0.68611, 0.10069, 0, 0.63125],
+ 75: [0, 0.68611, 0.06979, 0, 0.97118],
+ 76: [0, 0.68611, 0, 0, 0.75555],
+ 77: [0, 0.68611, 0.11424, 0, 1.14201],
+ 78: [0, 0.68611, 0.11424, 0, 0.95034],
+ 79: [0, 0.68611, 0.03194, 0, 0.83666],
+ 80: [0, 0.68611, 0.15972, 0, 0.72309],
+ 81: [0.19444, 0.68611, 0, 0, 0.86861],
+ 82: [0, 0.68611, 0.00421, 0, 0.87235],
+ 83: [0, 0.68611, 0.05382, 0, 0.69271],
+ 84: [0, 0.68611, 0.15972, 0, 0.63663],
+ 85: [0, 0.68611, 0.11424, 0, 0.80027],
+ 86: [0, 0.68611, 0.25555, 0, 0.67778],
+ 87: [0, 0.68611, 0.15972, 0, 1.09305],
+ 88: [0, 0.68611, 0.07778, 0, 0.94722],
+ 89: [0, 0.68611, 0.25555, 0, 0.67458],
+ 90: [0, 0.68611, 0.06979, 0, 0.77257],
+ 97: [0, 0.44444, 0, 0, 0.63287],
+ 98: [0, 0.69444, 0, 0, 0.52083],
+ 99: [0, 0.44444, 0, 0, 0.51342],
+ 100: [0, 0.69444, 0, 0, 0.60972],
+ 101: [0, 0.44444, 0, 0, 0.55361],
+ 102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
+ 103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
+ 104: [0, 0.69444, 0, 0, 0.66759],
+ 105: [0, 0.69326, 0, 0, 0.4048],
+ 106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
+ 107: [0, 0.69444, 0.01852, 0, 0.6037],
+ 108: [0, 0.69444, 0.0088, 0, 0.34815],
+ 109: [0, 0.44444, 0, 0, 1.0324],
+ 110: [0, 0.44444, 0, 0, 0.71296],
+ 111: [0, 0.44444, 0, 0, 0.58472],
+ 112: [0.19444, 0.44444, 0, 0, 0.60092],
+ 113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
+ 114: [0, 0.44444, 0.03194, 0, 0.5287],
+ 115: [0, 0.44444, 0, 0, 0.53125],
+ 116: [0, 0.63492, 0, 0, 0.41528],
+ 117: [0, 0.44444, 0, 0, 0.68102],
+ 118: [0, 0.44444, 0.03704, 0, 0.56666],
+ 119: [0, 0.44444, 0.02778, 0, 0.83148],
+ 120: [0, 0.44444, 0, 0, 0.65903],
+ 121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
+ 122: [0, 0.44444, 0.04213, 0, 0.55509],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68611, 0.15972, 0, 0.65694],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0.03194, 0, 0.86722],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0.07458, 0, 0.84125],
+ 928: [0, 0.68611, 0.08229, 0, 0.98229],
+ 931: [0, 0.68611, 0.05451, 0, 0.88507],
+ 933: [0, 0.68611, 0.15972, 0, 0.67083],
+ 934: [0, 0.68611, 0, 0, 0.76666],
+ 936: [0, 0.68611, 0.11653, 0, 0.71402],
+ 937: [0, 0.68611, 0.04835, 0, 0.8789],
+ 945: [0, 0.44444, 0, 0, 0.76064],
+ 946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
+ 947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
+ 948: [0, 0.69444, 0.03819, 0, 0.52222],
+ 949: [0, 0.44444, 0, 0, 0.52882],
+ 950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
+ 951: [0.19444, 0.44444, 0.03704, 0, 0.6],
+ 952: [0, 0.69444, 0.03194, 0, 0.5618],
+ 953: [0, 0.44444, 0, 0, 0.41204],
+ 954: [0, 0.44444, 0, 0, 0.66759],
+ 955: [0, 0.69444, 0, 0, 0.67083],
+ 956: [0.19444, 0.44444, 0, 0, 0.70787],
+ 957: [0, 0.44444, 0.06898, 0, 0.57685],
+ 958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
+ 959: [0, 0.44444, 0, 0, 0.58472],
+ 960: [0, 0.44444, 0.03704, 0, 0.68241],
+ 961: [0.19444, 0.44444, 0, 0, 0.6118],
+ 962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
+ 963: [0, 0.44444, 0.03704, 0, 0.68588],
+ 964: [0, 0.44444, 0.13472, 0, 0.52083],
+ 965: [0, 0.44444, 0.03704, 0, 0.63055],
+ 966: [0.19444, 0.44444, 0, 0, 0.74722],
+ 967: [0.19444, 0.44444, 0, 0, 0.71805],
+ 968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
+ 969: [0, 0.44444, 0.03704, 0, 0.71782],
+ 977: [0, 0.69444, 0, 0, 0.69155],
+ 981: [0.19444, 0.69444, 0, 0, 0.7125],
+ 982: [0, 0.44444, 0.03194, 0, 0.975],
+ 1009: [0.19444, 0.44444, 0, 0, 0.6118],
+ 1013: [0, 0.44444, 0, 0, 0.48333],
+ 57649: [0, 0.44444, 0, 0, 0.39352],
+ 57911: [0.19444, 0.44444, 0, 0, 0.43889],
+ },
+ 'Math-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.43056, 0, 0, 0.5],
+ 49: [0, 0.43056, 0, 0, 0.5],
+ 50: [0, 0.43056, 0, 0, 0.5],
+ 51: [0.19444, 0.43056, 0, 0, 0.5],
+ 52: [0.19444, 0.43056, 0, 0, 0.5],
+ 53: [0.19444, 0.43056, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0.19444, 0.43056, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0.19444, 0.43056, 0, 0, 0.5],
+ 65: [0, 0.68333, 0, 0.13889, 0.75],
+ 66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
+ 67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
+ 68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
+ 69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
+ 70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
+ 71: [0, 0.68333, 0, 0.08334, 0.78625],
+ 72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
+ 74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
+ 75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
+ 76: [0, 0.68333, 0, 0.02778, 0.68056],
+ 77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
+ 78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
+ 79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
+ 81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
+ 82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
+ 83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
+ 84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
+ 85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
+ 86: [0, 0.68333, 0.22222, 0, 0.58333],
+ 87: [0, 0.68333, 0.13889, 0, 0.94445],
+ 88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
+ 89: [0, 0.68333, 0.22222, 0, 0.58056],
+ 90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
+ 97: [0, 0.43056, 0, 0, 0.52859],
+ 98: [0, 0.69444, 0, 0, 0.42917],
+ 99: [0, 0.43056, 0, 0.05556, 0.43276],
+ 100: [0, 0.69444, 0, 0.16667, 0.52049],
+ 101: [0, 0.43056, 0, 0.05556, 0.46563],
+ 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
+ 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
+ 104: [0, 0.69444, 0, 0, 0.57616],
+ 105: [0, 0.65952, 0, 0, 0.34451],
+ 106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
+ 107: [0, 0.69444, 0.03148, 0, 0.5206],
+ 108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
+ 109: [0, 0.43056, 0, 0, 0.87801],
+ 110: [0, 0.43056, 0, 0, 0.60023],
+ 111: [0, 0.43056, 0, 0.05556, 0.48472],
+ 112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
+ 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
+ 114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
+ 115: [0, 0.43056, 0, 0.05556, 0.46875],
+ 116: [0, 0.61508, 0, 0.08334, 0.36111],
+ 117: [0, 0.43056, 0, 0.02778, 0.57246],
+ 118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
+ 119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
+ 120: [0, 0.43056, 0, 0.02778, 0.57153],
+ 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
+ 122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
+ 916: [0, 0.68333, 0, 0.16667, 0.83334],
+ 920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 923: [0, 0.68333, 0, 0.16667, 0.69445],
+ 926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
+ 928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
+ 933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
+ 934: [0, 0.68333, 0, 0.08334, 0.66667],
+ 936: [0, 0.68333, 0.11, 0.05556, 0.61222],
+ 937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
+ 945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
+ 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
+ 947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
+ 948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
+ 949: [0, 0.43056, 0, 0.08334, 0.46632],
+ 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
+ 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
+ 952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
+ 953: [0, 0.43056, 0, 0.05556, 0.35394],
+ 954: [0, 0.43056, 0, 0, 0.57616],
+ 955: [0, 0.69444, 0, 0, 0.58334],
+ 956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
+ 957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
+ 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
+ 959: [0, 0.43056, 0, 0.05556, 0.48472],
+ 960: [0, 0.43056, 0.03588, 0, 0.57003],
+ 961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
+ 963: [0, 0.43056, 0.03588, 0, 0.57141],
+ 964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
+ 965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
+ 966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
+ 967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
+ 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
+ 969: [0, 0.43056, 0.03588, 0, 0.62245],
+ 977: [0, 0.69444, 0, 0.08334, 0.59144],
+ 981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
+ 982: [0, 0.43056, 0.02778, 0, 0.82813],
+ 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 1013: [0, 0.43056, 0, 0.05556, 0.4059],
+ 57649: [0, 0.43056, 0, 0.02778, 0.32246],
+ 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403],
+ },
+ 'SansSerif-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.36667],
+ 34: [0, 0.69444, 0, 0, 0.55834],
+ 35: [0.19444, 0.69444, 0, 0, 0.91667],
+ 36: [0.05556, 0.75, 0, 0, 0.55],
+ 37: [0.05556, 0.75, 0, 0, 1.02912],
+ 38: [0, 0.69444, 0, 0, 0.83056],
+ 39: [0, 0.69444, 0, 0, 0.30556],
+ 40: [0.25, 0.75, 0, 0, 0.42778],
+ 41: [0.25, 0.75, 0, 0, 0.42778],
+ 42: [0, 0.75, 0, 0, 0.55],
+ 43: [0.11667, 0.61667, 0, 0, 0.85556],
+ 44: [0.10556, 0.13056, 0, 0, 0.30556],
+ 45: [0, 0.45833, 0, 0, 0.36667],
+ 46: [0, 0.13056, 0, 0, 0.30556],
+ 47: [0.25, 0.75, 0, 0, 0.55],
+ 48: [0, 0.69444, 0, 0, 0.55],
+ 49: [0, 0.69444, 0, 0, 0.55],
+ 50: [0, 0.69444, 0, 0, 0.55],
+ 51: [0, 0.69444, 0, 0, 0.55],
+ 52: [0, 0.69444, 0, 0, 0.55],
+ 53: [0, 0.69444, 0, 0, 0.55],
+ 54: [0, 0.69444, 0, 0, 0.55],
+ 55: [0, 0.69444, 0, 0, 0.55],
+ 56: [0, 0.69444, 0, 0, 0.55],
+ 57: [0, 0.69444, 0, 0, 0.55],
+ 58: [0, 0.45833, 0, 0, 0.30556],
+ 59: [0.10556, 0.45833, 0, 0, 0.30556],
+ 61: [-0.09375, 0.40625, 0, 0, 0.85556],
+ 63: [0, 0.69444, 0, 0, 0.51945],
+ 64: [0, 0.69444, 0, 0, 0.73334],
+ 65: [0, 0.69444, 0, 0, 0.73334],
+ 66: [0, 0.69444, 0, 0, 0.73334],
+ 67: [0, 0.69444, 0, 0, 0.70278],
+ 68: [0, 0.69444, 0, 0, 0.79445],
+ 69: [0, 0.69444, 0, 0, 0.64167],
+ 70: [0, 0.69444, 0, 0, 0.61111],
+ 71: [0, 0.69444, 0, 0, 0.73334],
+ 72: [0, 0.69444, 0, 0, 0.79445],
+ 73: [0, 0.69444, 0, 0, 0.33056],
+ 74: [0, 0.69444, 0, 0, 0.51945],
+ 75: [0, 0.69444, 0, 0, 0.76389],
+ 76: [0, 0.69444, 0, 0, 0.58056],
+ 77: [0, 0.69444, 0, 0, 0.97778],
+ 78: [0, 0.69444, 0, 0, 0.79445],
+ 79: [0, 0.69444, 0, 0, 0.79445],
+ 80: [0, 0.69444, 0, 0, 0.70278],
+ 81: [0.10556, 0.69444, 0, 0, 0.79445],
+ 82: [0, 0.69444, 0, 0, 0.70278],
+ 83: [0, 0.69444, 0, 0, 0.61111],
+ 84: [0, 0.69444, 0, 0, 0.73334],
+ 85: [0, 0.69444, 0, 0, 0.76389],
+ 86: [0, 0.69444, 0.01528, 0, 0.73334],
+ 87: [0, 0.69444, 0.01528, 0, 1.03889],
+ 88: [0, 0.69444, 0, 0, 0.73334],
+ 89: [0, 0.69444, 0.0275, 0, 0.73334],
+ 90: [0, 0.69444, 0, 0, 0.67223],
+ 91: [0.25, 0.75, 0, 0, 0.34306],
+ 93: [0.25, 0.75, 0, 0, 0.34306],
+ 94: [0, 0.69444, 0, 0, 0.55],
+ 95: [0.35, 0.10833, 0.03056, 0, 0.55],
+ 97: [0, 0.45833, 0, 0, 0.525],
+ 98: [0, 0.69444, 0, 0, 0.56111],
+ 99: [0, 0.45833, 0, 0, 0.48889],
+ 100: [0, 0.69444, 0, 0, 0.56111],
+ 101: [0, 0.45833, 0, 0, 0.51111],
+ 102: [0, 0.69444, 0.07639, 0, 0.33611],
+ 103: [0.19444, 0.45833, 0.01528, 0, 0.55],
+ 104: [0, 0.69444, 0, 0, 0.56111],
+ 105: [0, 0.69444, 0, 0, 0.25556],
+ 106: [0.19444, 0.69444, 0, 0, 0.28611],
+ 107: [0, 0.69444, 0, 0, 0.53056],
+ 108: [0, 0.69444, 0, 0, 0.25556],
+ 109: [0, 0.45833, 0, 0, 0.86667],
+ 110: [0, 0.45833, 0, 0, 0.56111],
+ 111: [0, 0.45833, 0, 0, 0.55],
+ 112: [0.19444, 0.45833, 0, 0, 0.56111],
+ 113: [0.19444, 0.45833, 0, 0, 0.56111],
+ 114: [0, 0.45833, 0.01528, 0, 0.37222],
+ 115: [0, 0.45833, 0, 0, 0.42167],
+ 116: [0, 0.58929, 0, 0, 0.40417],
+ 117: [0, 0.45833, 0, 0, 0.56111],
+ 118: [0, 0.45833, 0.01528, 0, 0.5],
+ 119: [0, 0.45833, 0.01528, 0, 0.74445],
+ 120: [0, 0.45833, 0, 0, 0.5],
+ 121: [0.19444, 0.45833, 0.01528, 0, 0.5],
+ 122: [0, 0.45833, 0, 0, 0.47639],
+ 126: [0.35, 0.34444, 0, 0, 0.55],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0, 0, 0.55],
+ 176: [0, 0.69444, 0, 0, 0.73334],
+ 180: [0, 0.69444, 0, 0, 0.55],
+ 184: [0.17014, 0, 0, 0, 0.48889],
+ 305: [0, 0.45833, 0, 0, 0.25556],
+ 567: [0.19444, 0.45833, 0, 0, 0.28611],
+ 710: [0, 0.69444, 0, 0, 0.55],
+ 711: [0, 0.63542, 0, 0, 0.55],
+ 713: [0, 0.63778, 0, 0, 0.55],
+ 728: [0, 0.69444, 0, 0, 0.55],
+ 729: [0, 0.69444, 0, 0, 0.30556],
+ 730: [0, 0.69444, 0, 0, 0.73334],
+ 732: [0, 0.69444, 0, 0, 0.55],
+ 733: [0, 0.69444, 0, 0, 0.55],
+ 915: [0, 0.69444, 0, 0, 0.58056],
+ 916: [0, 0.69444, 0, 0, 0.91667],
+ 920: [0, 0.69444, 0, 0, 0.85556],
+ 923: [0, 0.69444, 0, 0, 0.67223],
+ 926: [0, 0.69444, 0, 0, 0.73334],
+ 928: [0, 0.69444, 0, 0, 0.79445],
+ 931: [0, 0.69444, 0, 0, 0.79445],
+ 933: [0, 0.69444, 0, 0, 0.85556],
+ 934: [0, 0.69444, 0, 0, 0.79445],
+ 936: [0, 0.69444, 0, 0, 0.85556],
+ 937: [0, 0.69444, 0, 0, 0.79445],
+ 8211: [0, 0.45833, 0.03056, 0, 0.55],
+ 8212: [0, 0.45833, 0.03056, 0, 1.10001],
+ 8216: [0, 0.69444, 0, 0, 0.30556],
+ 8217: [0, 0.69444, 0, 0, 0.30556],
+ 8220: [0, 0.69444, 0, 0, 0.55834],
+ 8221: [0, 0.69444, 0, 0, 0.55834],
+ },
+ 'SansSerif-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.05733, 0, 0.31945],
+ 34: [0, 0.69444, 0.00316, 0, 0.5],
+ 35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
+ 36: [0.05556, 0.75, 0.11156, 0, 0.5],
+ 37: [0.05556, 0.75, 0.03126, 0, 0.83334],
+ 38: [0, 0.69444, 0.03058, 0, 0.75834],
+ 39: [0, 0.69444, 0.07816, 0, 0.27778],
+ 40: [0.25, 0.75, 0.13164, 0, 0.38889],
+ 41: [0.25, 0.75, 0.02536, 0, 0.38889],
+ 42: [0, 0.75, 0.11775, 0, 0.5],
+ 43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0.01946, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0.13164, 0, 0.5],
+ 48: [0, 0.65556, 0.11156, 0, 0.5],
+ 49: [0, 0.65556, 0.11156, 0, 0.5],
+ 50: [0, 0.65556, 0.11156, 0, 0.5],
+ 51: [0, 0.65556, 0.11156, 0, 0.5],
+ 52: [0, 0.65556, 0.11156, 0, 0.5],
+ 53: [0, 0.65556, 0.11156, 0, 0.5],
+ 54: [0, 0.65556, 0.11156, 0, 0.5],
+ 55: [0, 0.65556, 0.11156, 0, 0.5],
+ 56: [0, 0.65556, 0.11156, 0, 0.5],
+ 57: [0, 0.65556, 0.11156, 0, 0.5],
+ 58: [0, 0.44444, 0.02502, 0, 0.27778],
+ 59: [0.125, 0.44444, 0.02502, 0, 0.27778],
+ 61: [-0.13, 0.37, 0.05087, 0, 0.77778],
+ 63: [0, 0.69444, 0.11809, 0, 0.47222],
+ 64: [0, 0.69444, 0.07555, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0.08293, 0, 0.66667],
+ 67: [0, 0.69444, 0.11983, 0, 0.63889],
+ 68: [0, 0.69444, 0.07555, 0, 0.72223],
+ 69: [0, 0.69444, 0.11983, 0, 0.59722],
+ 70: [0, 0.69444, 0.13372, 0, 0.56945],
+ 71: [0, 0.69444, 0.11983, 0, 0.66667],
+ 72: [0, 0.69444, 0.08094, 0, 0.70834],
+ 73: [0, 0.69444, 0.13372, 0, 0.27778],
+ 74: [0, 0.69444, 0.08094, 0, 0.47222],
+ 75: [0, 0.69444, 0.11983, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0.08094, 0, 0.875],
+ 78: [0, 0.69444, 0.08094, 0, 0.70834],
+ 79: [0, 0.69444, 0.07555, 0, 0.73611],
+ 80: [0, 0.69444, 0.08293, 0, 0.63889],
+ 81: [0.125, 0.69444, 0.07555, 0, 0.73611],
+ 82: [0, 0.69444, 0.08293, 0, 0.64584],
+ 83: [0, 0.69444, 0.09205, 0, 0.55556],
+ 84: [0, 0.69444, 0.13372, 0, 0.68056],
+ 85: [0, 0.69444, 0.08094, 0, 0.6875],
+ 86: [0, 0.69444, 0.1615, 0, 0.66667],
+ 87: [0, 0.69444, 0.1615, 0, 0.94445],
+ 88: [0, 0.69444, 0.13372, 0, 0.66667],
+ 89: [0, 0.69444, 0.17261, 0, 0.66667],
+ 90: [0, 0.69444, 0.11983, 0, 0.61111],
+ 91: [0.25, 0.75, 0.15942, 0, 0.28889],
+ 93: [0.25, 0.75, 0.08719, 0, 0.28889],
+ 94: [0, 0.69444, 0.0799, 0, 0.5],
+ 95: [0.35, 0.09444, 0.08616, 0, 0.5],
+ 97: [0, 0.44444, 0.00981, 0, 0.48056],
+ 98: [0, 0.69444, 0.03057, 0, 0.51667],
+ 99: [0, 0.44444, 0.08336, 0, 0.44445],
+ 100: [0, 0.69444, 0.09483, 0, 0.51667],
+ 101: [0, 0.44444, 0.06778, 0, 0.44445],
+ 102: [0, 0.69444, 0.21705, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.10836, 0, 0.5],
+ 104: [0, 0.69444, 0.01778, 0, 0.51667],
+ 105: [0, 0.67937, 0.09718, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
+ 107: [0, 0.69444, 0.08336, 0, 0.48889],
+ 108: [0, 0.69444, 0.09483, 0, 0.23889],
+ 109: [0, 0.44444, 0.01778, 0, 0.79445],
+ 110: [0, 0.44444, 0.01778, 0, 0.51667],
+ 111: [0, 0.44444, 0.06613, 0, 0.5],
+ 112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
+ 114: [0, 0.44444, 0.10836, 0, 0.34167],
+ 115: [0, 0.44444, 0.0778, 0, 0.38333],
+ 116: [0, 0.57143, 0.07225, 0, 0.36111],
+ 117: [0, 0.44444, 0.04169, 0, 0.51667],
+ 118: [0, 0.44444, 0.10836, 0, 0.46111],
+ 119: [0, 0.44444, 0.10836, 0, 0.68334],
+ 120: [0, 0.44444, 0.09169, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
+ 122: [0, 0.44444, 0.08752, 0, 0.43472],
+ 126: [0.35, 0.32659, 0.08826, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0.06385, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.73752],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0.04169, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
+ 710: [0, 0.69444, 0.0799, 0, 0.5],
+ 711: [0, 0.63194, 0.08432, 0, 0.5],
+ 713: [0, 0.60889, 0.08776, 0, 0.5],
+ 714: [0, 0.69444, 0.09205, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0.09483, 0, 0.5],
+ 729: [0, 0.67937, 0.07774, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.73752],
+ 732: [0, 0.67659, 0.08826, 0, 0.5],
+ 733: [0, 0.69444, 0.09205, 0, 0.5],
+ 915: [0, 0.69444, 0.13372, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0.07555, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0.12816, 0, 0.66667],
+ 928: [0, 0.69444, 0.08094, 0, 0.70834],
+ 931: [0, 0.69444, 0.11983, 0, 0.72222],
+ 933: [0, 0.69444, 0.09031, 0, 0.77778],
+ 934: [0, 0.69444, 0.04603, 0, 0.72222],
+ 936: [0, 0.69444, 0.09031, 0, 0.77778],
+ 937: [0, 0.69444, 0.08293, 0, 0.72222],
+ 8211: [0, 0.44444, 0.08616, 0, 0.5],
+ 8212: [0, 0.44444, 0.08616, 0, 1],
+ 8216: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8217: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8220: [0, 0.69444, 0.14205, 0, 0.5],
+ 8221: [0, 0.69444, 0.00316, 0, 0.5],
+ },
+ 'SansSerif-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.31945],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.75834],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.65556, 0, 0, 0.5],
+ 49: [0, 0.65556, 0, 0, 0.5],
+ 50: [0, 0.65556, 0, 0, 0.5],
+ 51: [0, 0.65556, 0, 0, 0.5],
+ 52: [0, 0.65556, 0, 0, 0.5],
+ 53: [0, 0.65556, 0, 0, 0.5],
+ 54: [0, 0.65556, 0, 0, 0.5],
+ 55: [0, 0.65556, 0, 0, 0.5],
+ 56: [0, 0.65556, 0, 0, 0.5],
+ 57: [0, 0.65556, 0, 0, 0.5],
+ 58: [0, 0.44444, 0, 0, 0.27778],
+ 59: [0.125, 0.44444, 0, 0, 0.27778],
+ 61: [-0.13, 0.37, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0, 0, 0.66667],
+ 67: [0, 0.69444, 0, 0, 0.63889],
+ 68: [0, 0.69444, 0, 0, 0.72223],
+ 69: [0, 0.69444, 0, 0, 0.59722],
+ 70: [0, 0.69444, 0, 0, 0.56945],
+ 71: [0, 0.69444, 0, 0, 0.66667],
+ 72: [0, 0.69444, 0, 0, 0.70834],
+ 73: [0, 0.69444, 0, 0, 0.27778],
+ 74: [0, 0.69444, 0, 0, 0.47222],
+ 75: [0, 0.69444, 0, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0, 0, 0.875],
+ 78: [0, 0.69444, 0, 0, 0.70834],
+ 79: [0, 0.69444, 0, 0, 0.73611],
+ 80: [0, 0.69444, 0, 0, 0.63889],
+ 81: [0.125, 0.69444, 0, 0, 0.73611],
+ 82: [0, 0.69444, 0, 0, 0.64584],
+ 83: [0, 0.69444, 0, 0, 0.55556],
+ 84: [0, 0.69444, 0, 0, 0.68056],
+ 85: [0, 0.69444, 0, 0, 0.6875],
+ 86: [0, 0.69444, 0.01389, 0, 0.66667],
+ 87: [0, 0.69444, 0.01389, 0, 0.94445],
+ 88: [0, 0.69444, 0, 0, 0.66667],
+ 89: [0, 0.69444, 0.025, 0, 0.66667],
+ 90: [0, 0.69444, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.28889],
+ 93: [0.25, 0.75, 0, 0, 0.28889],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.35, 0.09444, 0.02778, 0, 0.5],
+ 97: [0, 0.44444, 0, 0, 0.48056],
+ 98: [0, 0.69444, 0, 0, 0.51667],
+ 99: [0, 0.44444, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.51667],
+ 101: [0, 0.44444, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.06944, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.51667],
+ 105: [0, 0.67937, 0, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0, 0, 0.26667],
+ 107: [0, 0.69444, 0, 0, 0.48889],
+ 108: [0, 0.69444, 0, 0, 0.23889],
+ 109: [0, 0.44444, 0, 0, 0.79445],
+ 110: [0, 0.44444, 0, 0, 0.51667],
+ 111: [0, 0.44444, 0, 0, 0.5],
+ 112: [0.19444, 0.44444, 0, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0, 0, 0.51667],
+ 114: [0, 0.44444, 0.01389, 0, 0.34167],
+ 115: [0, 0.44444, 0, 0, 0.38333],
+ 116: [0, 0.57143, 0, 0, 0.36111],
+ 117: [0, 0.44444, 0, 0, 0.51667],
+ 118: [0, 0.44444, 0.01389, 0, 0.46111],
+ 119: [0, 0.44444, 0.01389, 0, 0.68334],
+ 120: [0, 0.44444, 0, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
+ 122: [0, 0.44444, 0, 0, 0.43472],
+ 126: [0.35, 0.32659, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.66667],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0, 0, 0.26667],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.63194, 0, 0, 0.5],
+ 713: [0, 0.60889, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.67937, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.66667],
+ 732: [0, 0.67659, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.69444, 0, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0, 0, 0.66667],
+ 928: [0, 0.69444, 0, 0, 0.70834],
+ 931: [0, 0.69444, 0, 0, 0.72222],
+ 933: [0, 0.69444, 0, 0, 0.77778],
+ 934: [0, 0.69444, 0, 0, 0.72222],
+ 936: [0, 0.69444, 0, 0, 0.77778],
+ 937: [0, 0.69444, 0, 0, 0.72222],
+ 8211: [0, 0.44444, 0.02778, 0, 0.5],
+ 8212: [0, 0.44444, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5],
+ },
+ 'Script-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.7, 0.22925, 0, 0.80253],
+ 66: [0, 0.7, 0.04087, 0, 0.90757],
+ 67: [0, 0.7, 0.1689, 0, 0.66619],
+ 68: [0, 0.7, 0.09371, 0, 0.77443],
+ 69: [0, 0.7, 0.18583, 0, 0.56162],
+ 70: [0, 0.7, 0.13634, 0, 0.89544],
+ 71: [0, 0.7, 0.17322, 0, 0.60961],
+ 72: [0, 0.7, 0.29694, 0, 0.96919],
+ 73: [0, 0.7, 0.19189, 0, 0.80907],
+ 74: [0.27778, 0.7, 0.19189, 0, 1.05159],
+ 75: [0, 0.7, 0.31259, 0, 0.91364],
+ 76: [0, 0.7, 0.19189, 0, 0.87373],
+ 77: [0, 0.7, 0.15981, 0, 1.08031],
+ 78: [0, 0.7, 0.3525, 0, 0.9015],
+ 79: [0, 0.7, 0.08078, 0, 0.73787],
+ 80: [0, 0.7, 0.08078, 0, 1.01262],
+ 81: [0, 0.7, 0.03305, 0, 0.88282],
+ 82: [0, 0.7, 0.06259, 0, 0.85],
+ 83: [0, 0.7, 0.19189, 0, 0.86767],
+ 84: [0, 0.7, 0.29087, 0, 0.74697],
+ 85: [0, 0.7, 0.25815, 0, 0.79996],
+ 86: [0, 0.7, 0.27523, 0, 0.62204],
+ 87: [0, 0.7, 0.27523, 0, 0.80532],
+ 88: [0, 0.7, 0.26006, 0, 0.94445],
+ 89: [0, 0.7, 0.2939, 0, 0.70961],
+ 90: [0, 0.7, 0.24037, 0, 0.8212],
+ 160: [0, 0, 0, 0, 0.25],
+ },
+ 'Size1-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.35001, 0.85, 0, 0, 0.45834],
+ 41: [0.35001, 0.85, 0, 0, 0.45834],
+ 47: [0.35001, 0.85, 0, 0, 0.57778],
+ 91: [0.35001, 0.85, 0, 0, 0.41667],
+ 92: [0.35001, 0.85, 0, 0, 0.57778],
+ 93: [0.35001, 0.85, 0, 0, 0.41667],
+ 123: [0.35001, 0.85, 0, 0, 0.58334],
+ 125: [0.35001, 0.85, 0, 0, 0.58334],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.72222, 0, 0, 0.55556],
+ 732: [0, 0.72222, 0, 0, 0.55556],
+ 770: [0, 0.72222, 0, 0, 0.55556],
+ 771: [0, 0.72222, 0, 0, 0.55556],
+ 8214: [-99e-5, 0.601, 0, 0, 0.77778],
+ 8593: [1e-5, 0.6, 0, 0, 0.66667],
+ 8595: [1e-5, 0.6, 0, 0, 0.66667],
+ 8657: [1e-5, 0.6, 0, 0, 0.77778],
+ 8659: [1e-5, 0.6, 0, 0, 0.77778],
+ 8719: [0.25001, 0.75, 0, 0, 0.94445],
+ 8720: [0.25001, 0.75, 0, 0, 0.94445],
+ 8721: [0.25001, 0.75, 0, 0, 1.05556],
+ 8730: [0.35001, 0.85, 0, 0, 1],
+ 8739: [-0.00599, 0.606, 0, 0, 0.33333],
+ 8741: [-0.00599, 0.606, 0, 0, 0.55556],
+ 8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8748: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8749: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8896: [0.25001, 0.75, 0, 0, 0.83334],
+ 8897: [0.25001, 0.75, 0, 0, 0.83334],
+ 8898: [0.25001, 0.75, 0, 0, 0.83334],
+ 8899: [0.25001, 0.75, 0, 0, 0.83334],
+ 8968: [0.35001, 0.85, 0, 0, 0.47222],
+ 8969: [0.35001, 0.85, 0, 0, 0.47222],
+ 8970: [0.35001, 0.85, 0, 0, 0.47222],
+ 8971: [0.35001, 0.85, 0, 0, 0.47222],
+ 9168: [-99e-5, 0.601, 0, 0, 0.66667],
+ 10216: [0.35001, 0.85, 0, 0, 0.47222],
+ 10217: [0.35001, 0.85, 0, 0, 0.47222],
+ 10752: [0.25001, 0.75, 0, 0, 1.11111],
+ 10753: [0.25001, 0.75, 0, 0, 1.11111],
+ 10754: [0.25001, 0.75, 0, 0, 1.11111],
+ 10756: [0.25001, 0.75, 0, 0, 0.83334],
+ 10758: [0.25001, 0.75, 0, 0, 0.83334],
+ },
+ 'Size2-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.65002, 1.15, 0, 0, 0.59722],
+ 41: [0.65002, 1.15, 0, 0, 0.59722],
+ 47: [0.65002, 1.15, 0, 0, 0.81111],
+ 91: [0.65002, 1.15, 0, 0, 0.47222],
+ 92: [0.65002, 1.15, 0, 0, 0.81111],
+ 93: [0.65002, 1.15, 0, 0, 0.47222],
+ 123: [0.65002, 1.15, 0, 0, 0.66667],
+ 125: [0.65002, 1.15, 0, 0, 0.66667],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1],
+ 732: [0, 0.75, 0, 0, 1],
+ 770: [0, 0.75, 0, 0, 1],
+ 771: [0, 0.75, 0, 0, 1],
+ 8719: [0.55001, 1.05, 0, 0, 1.27778],
+ 8720: [0.55001, 1.05, 0, 0, 1.27778],
+ 8721: [0.55001, 1.05, 0, 0, 1.44445],
+ 8730: [0.65002, 1.15, 0, 0, 1],
+ 8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8748: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8749: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8896: [0.55001, 1.05, 0, 0, 1.11111],
+ 8897: [0.55001, 1.05, 0, 0, 1.11111],
+ 8898: [0.55001, 1.05, 0, 0, 1.11111],
+ 8899: [0.55001, 1.05, 0, 0, 1.11111],
+ 8968: [0.65002, 1.15, 0, 0, 0.52778],
+ 8969: [0.65002, 1.15, 0, 0, 0.52778],
+ 8970: [0.65002, 1.15, 0, 0, 0.52778],
+ 8971: [0.65002, 1.15, 0, 0, 0.52778],
+ 10216: [0.65002, 1.15, 0, 0, 0.61111],
+ 10217: [0.65002, 1.15, 0, 0, 0.61111],
+ 10752: [0.55001, 1.05, 0, 0, 1.51112],
+ 10753: [0.55001, 1.05, 0, 0, 1.51112],
+ 10754: [0.55001, 1.05, 0, 0, 1.51112],
+ 10756: [0.55001, 1.05, 0, 0, 1.11111],
+ 10758: [0.55001, 1.05, 0, 0, 1.11111],
+ },
+ 'Size3-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.95003, 1.45, 0, 0, 0.73611],
+ 41: [0.95003, 1.45, 0, 0, 0.73611],
+ 47: [0.95003, 1.45, 0, 0, 1.04445],
+ 91: [0.95003, 1.45, 0, 0, 0.52778],
+ 92: [0.95003, 1.45, 0, 0, 1.04445],
+ 93: [0.95003, 1.45, 0, 0, 0.52778],
+ 123: [0.95003, 1.45, 0, 0, 0.75],
+ 125: [0.95003, 1.45, 0, 0, 0.75],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1.44445],
+ 732: [0, 0.75, 0, 0, 1.44445],
+ 770: [0, 0.75, 0, 0, 1.44445],
+ 771: [0, 0.75, 0, 0, 1.44445],
+ 8730: [0.95003, 1.45, 0, 0, 1],
+ 8968: [0.95003, 1.45, 0, 0, 0.58334],
+ 8969: [0.95003, 1.45, 0, 0, 0.58334],
+ 8970: [0.95003, 1.45, 0, 0, 0.58334],
+ 8971: [0.95003, 1.45, 0, 0, 0.58334],
+ 10216: [0.95003, 1.45, 0, 0, 0.75],
+ 10217: [0.95003, 1.45, 0, 0, 0.75],
+ },
+ 'Size4-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [1.25003, 1.75, 0, 0, 0.79167],
+ 41: [1.25003, 1.75, 0, 0, 0.79167],
+ 47: [1.25003, 1.75, 0, 0, 1.27778],
+ 91: [1.25003, 1.75, 0, 0, 0.58334],
+ 92: [1.25003, 1.75, 0, 0, 1.27778],
+ 93: [1.25003, 1.75, 0, 0, 0.58334],
+ 123: [1.25003, 1.75, 0, 0, 0.80556],
+ 125: [1.25003, 1.75, 0, 0, 0.80556],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.825, 0, 0, 1.8889],
+ 732: [0, 0.825, 0, 0, 1.8889],
+ 770: [0, 0.825, 0, 0, 1.8889],
+ 771: [0, 0.825, 0, 0, 1.8889],
+ 8730: [1.25003, 1.75, 0, 0, 1],
+ 8968: [1.25003, 1.75, 0, 0, 0.63889],
+ 8969: [1.25003, 1.75, 0, 0, 0.63889],
+ 8970: [1.25003, 1.75, 0, 0, 0.63889],
+ 8971: [1.25003, 1.75, 0, 0, 0.63889],
+ 9115: [0.64502, 1.155, 0, 0, 0.875],
+ 9116: [1e-5, 0.6, 0, 0, 0.875],
+ 9117: [0.64502, 1.155, 0, 0, 0.875],
+ 9118: [0.64502, 1.155, 0, 0, 0.875],
+ 9119: [1e-5, 0.6, 0, 0, 0.875],
+ 9120: [0.64502, 1.155, 0, 0, 0.875],
+ 9121: [0.64502, 1.155, 0, 0, 0.66667],
+ 9122: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9123: [0.64502, 1.155, 0, 0, 0.66667],
+ 9124: [0.64502, 1.155, 0, 0, 0.66667],
+ 9125: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9126: [0.64502, 1.155, 0, 0, 0.66667],
+ 9127: [1e-5, 0.9, 0, 0, 0.88889],
+ 9128: [0.65002, 1.15, 0, 0, 0.88889],
+ 9129: [0.90001, 0, 0, 0, 0.88889],
+ 9130: [0, 0.3, 0, 0, 0.88889],
+ 9131: [1e-5, 0.9, 0, 0, 0.88889],
+ 9132: [0.65002, 1.15, 0, 0, 0.88889],
+ 9133: [0.90001, 0, 0, 0, 0.88889],
+ 9143: [0.88502, 0.915, 0, 0, 1.05556],
+ 10216: [1.25003, 1.75, 0, 0, 0.80556],
+ 10217: [1.25003, 1.75, 0, 0, 0.80556],
+ 57344: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57345: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57680: [0, 0.12, 0, 0, 0.45],
+ 57681: [0, 0.12, 0, 0, 0.45],
+ 57682: [0, 0.12, 0, 0, 0.45],
+ 57683: [0, 0.12, 0, 0, 0.45],
+ },
+ 'Typewriter-Regular': {
+ 32: [0, 0, 0, 0, 0.525],
+ 33: [0, 0.61111, 0, 0, 0.525],
+ 34: [0, 0.61111, 0, 0, 0.525],
+ 35: [0, 0.61111, 0, 0, 0.525],
+ 36: [0.08333, 0.69444, 0, 0, 0.525],
+ 37: [0.08333, 0.69444, 0, 0, 0.525],
+ 38: [0, 0.61111, 0, 0, 0.525],
+ 39: [0, 0.61111, 0, 0, 0.525],
+ 40: [0.08333, 0.69444, 0, 0, 0.525],
+ 41: [0.08333, 0.69444, 0, 0, 0.525],
+ 42: [0, 0.52083, 0, 0, 0.525],
+ 43: [-0.08056, 0.53055, 0, 0, 0.525],
+ 44: [0.13889, 0.125, 0, 0, 0.525],
+ 45: [-0.08056, 0.53055, 0, 0, 0.525],
+ 46: [0, 0.125, 0, 0, 0.525],
+ 47: [0.08333, 0.69444, 0, 0, 0.525],
+ 48: [0, 0.61111, 0, 0, 0.525],
+ 49: [0, 0.61111, 0, 0, 0.525],
+ 50: [0, 0.61111, 0, 0, 0.525],
+ 51: [0, 0.61111, 0, 0, 0.525],
+ 52: [0, 0.61111, 0, 0, 0.525],
+ 53: [0, 0.61111, 0, 0, 0.525],
+ 54: [0, 0.61111, 0, 0, 0.525],
+ 55: [0, 0.61111, 0, 0, 0.525],
+ 56: [0, 0.61111, 0, 0, 0.525],
+ 57: [0, 0.61111, 0, 0, 0.525],
+ 58: [0, 0.43056, 0, 0, 0.525],
+ 59: [0.13889, 0.43056, 0, 0, 0.525],
+ 60: [-0.05556, 0.55556, 0, 0, 0.525],
+ 61: [-0.19549, 0.41562, 0, 0, 0.525],
+ 62: [-0.05556, 0.55556, 0, 0, 0.525],
+ 63: [0, 0.61111, 0, 0, 0.525],
+ 64: [0, 0.61111, 0, 0, 0.525],
+ 65: [0, 0.61111, 0, 0, 0.525],
+ 66: [0, 0.61111, 0, 0, 0.525],
+ 67: [0, 0.61111, 0, 0, 0.525],
+ 68: [0, 0.61111, 0, 0, 0.525],
+ 69: [0, 0.61111, 0, 0, 0.525],
+ 70: [0, 0.61111, 0, 0, 0.525],
+ 71: [0, 0.61111, 0, 0, 0.525],
+ 72: [0, 0.61111, 0, 0, 0.525],
+ 73: [0, 0.61111, 0, 0, 0.525],
+ 74: [0, 0.61111, 0, 0, 0.525],
+ 75: [0, 0.61111, 0, 0, 0.525],
+ 76: [0, 0.61111, 0, 0, 0.525],
+ 77: [0, 0.61111, 0, 0, 0.525],
+ 78: [0, 0.61111, 0, 0, 0.525],
+ 79: [0, 0.61111, 0, 0, 0.525],
+ 80: [0, 0.61111, 0, 0, 0.525],
+ 81: [0.13889, 0.61111, 0, 0, 0.525],
+ 82: [0, 0.61111, 0, 0, 0.525],
+ 83: [0, 0.61111, 0, 0, 0.525],
+ 84: [0, 0.61111, 0, 0, 0.525],
+ 85: [0, 0.61111, 0, 0, 0.525],
+ 86: [0, 0.61111, 0, 0, 0.525],
+ 87: [0, 0.61111, 0, 0, 0.525],
+ 88: [0, 0.61111, 0, 0, 0.525],
+ 89: [0, 0.61111, 0, 0, 0.525],
+ 90: [0, 0.61111, 0, 0, 0.525],
+ 91: [0.08333, 0.69444, 0, 0, 0.525],
+ 92: [0.08333, 0.69444, 0, 0, 0.525],
+ 93: [0.08333, 0.69444, 0, 0, 0.525],
+ 94: [0, 0.61111, 0, 0, 0.525],
+ 95: [0.09514, 0, 0, 0, 0.525],
+ 96: [0, 0.61111, 0, 0, 0.525],
+ 97: [0, 0.43056, 0, 0, 0.525],
+ 98: [0, 0.61111, 0, 0, 0.525],
+ 99: [0, 0.43056, 0, 0, 0.525],
+ 100: [0, 0.61111, 0, 0, 0.525],
+ 101: [0, 0.43056, 0, 0, 0.525],
+ 102: [0, 0.61111, 0, 0, 0.525],
+ 103: [0.22222, 0.43056, 0, 0, 0.525],
+ 104: [0, 0.61111, 0, 0, 0.525],
+ 105: [0, 0.61111, 0, 0, 0.525],
+ 106: [0.22222, 0.61111, 0, 0, 0.525],
+ 107: [0, 0.61111, 0, 0, 0.525],
+ 108: [0, 0.61111, 0, 0, 0.525],
+ 109: [0, 0.43056, 0, 0, 0.525],
+ 110: [0, 0.43056, 0, 0, 0.525],
+ 111: [0, 0.43056, 0, 0, 0.525],
+ 112: [0.22222, 0.43056, 0, 0, 0.525],
+ 113: [0.22222, 0.43056, 0, 0, 0.525],
+ 114: [0, 0.43056, 0, 0, 0.525],
+ 115: [0, 0.43056, 0, 0, 0.525],
+ 116: [0, 0.55358, 0, 0, 0.525],
+ 117: [0, 0.43056, 0, 0, 0.525],
+ 118: [0, 0.43056, 0, 0, 0.525],
+ 119: [0, 0.43056, 0, 0, 0.525],
+ 120: [0, 0.43056, 0, 0, 0.525],
+ 121: [0.22222, 0.43056, 0, 0, 0.525],
+ 122: [0, 0.43056, 0, 0, 0.525],
+ 123: [0.08333, 0.69444, 0, 0, 0.525],
+ 124: [0.08333, 0.69444, 0, 0, 0.525],
+ 125: [0.08333, 0.69444, 0, 0, 0.525],
+ 126: [0, 0.61111, 0, 0, 0.525],
+ 127: [0, 0.61111, 0, 0, 0.525],
+ 160: [0, 0, 0, 0, 0.525],
+ 176: [0, 0.61111, 0, 0, 0.525],
+ 184: [0.19445, 0, 0, 0, 0.525],
+ 305: [0, 0.43056, 0, 0, 0.525],
+ 567: [0.22222, 0.43056, 0, 0, 0.525],
+ 711: [0, 0.56597, 0, 0, 0.525],
+ 713: [0, 0.56555, 0, 0, 0.525],
+ 714: [0, 0.61111, 0, 0, 0.525],
+ 715: [0, 0.61111, 0, 0, 0.525],
+ 728: [0, 0.61111, 0, 0, 0.525],
+ 730: [0, 0.61111, 0, 0, 0.525],
+ 770: [0, 0.61111, 0, 0, 0.525],
+ 771: [0, 0.61111, 0, 0, 0.525],
+ 776: [0, 0.61111, 0, 0, 0.525],
+ 915: [0, 0.61111, 0, 0, 0.525],
+ 916: [0, 0.61111, 0, 0, 0.525],
+ 920: [0, 0.61111, 0, 0, 0.525],
+ 923: [0, 0.61111, 0, 0, 0.525],
+ 926: [0, 0.61111, 0, 0, 0.525],
+ 928: [0, 0.61111, 0, 0, 0.525],
+ 931: [0, 0.61111, 0, 0, 0.525],
+ 933: [0, 0.61111, 0, 0, 0.525],
+ 934: [0, 0.61111, 0, 0, 0.525],
+ 936: [0, 0.61111, 0, 0, 0.525],
+ 937: [0, 0.61111, 0, 0, 0.525],
+ 8216: [0, 0.61111, 0, 0, 0.525],
+ 8217: [0, 0.61111, 0, 0, 0.525],
+ 8242: [0, 0.61111, 0, 0, 0.525],
+ 9251: [0.11111, 0.21944, 0, 0, 0.525],
+ },
+ },
+ B = {
+ slant: [0.25, 0.25, 0.25],
+ space: [0, 0, 0],
+ stretch: [0, 0, 0],
+ shrink: [0, 0, 0],
+ xHeight: [0.431, 0.431, 0.431],
+ quad: [1, 1.171, 1.472],
+ extraSpace: [0, 0, 0],
+ num1: [0.677, 0.732, 0.925],
+ num2: [0.394, 0.384, 0.387],
+ num3: [0.444, 0.471, 0.504],
+ denom1: [0.686, 0.752, 1.025],
+ denom2: [0.345, 0.344, 0.532],
+ sup1: [0.413, 0.503, 0.504],
+ sup2: [0.363, 0.431, 0.404],
+ sup3: [0.289, 0.286, 0.294],
+ sub1: [0.15, 0.143, 0.2],
+ sub2: [0.247, 0.286, 0.4],
+ supDrop: [0.386, 0.353, 0.494],
+ subDrop: [0.05, 0.071, 0.1],
+ delim1: [2.39, 1.7, 1.98],
+ delim2: [1.01, 1.157, 1.42],
+ axisHeight: [0.25, 0.25, 0.25],
+ defaultRuleThickness: [0.04, 0.049, 0.049],
+ bigOpSpacing1: [0.111, 0.111, 0.111],
+ bigOpSpacing2: [0.166, 0.166, 0.166],
+ bigOpSpacing3: [0.2, 0.2, 0.2],
+ bigOpSpacing4: [0.6, 0.611, 0.611],
+ bigOpSpacing5: [0.1, 0.143, 0.143],
+ sqrtRuleThickness: [0.04, 0.04, 0.04],
+ ptPerEm: [10, 10, 10],
+ doubleRuleSep: [0.2, 0.2, 0.2],
+ arrayRuleWidth: [0.04, 0.04, 0.04],
+ fboxsep: [0.3, 0.3, 0.3],
+ fboxrule: [0.04, 0.04, 0.04],
+ },
+ C = {
+ '\xc5': 'A',
+ '\xd0': 'D',
+ '\xde': 'o',
+ '\xe5': 'a',
+ '\xf0': 'd',
+ '\xfe': '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',
+ };
+ function N(e, t, r) {
+ if (!T[t]) throw new Error('Font metrics not found for font: ' + t + '.');
+ var n = e.charCodeAt(0),
+ a = T[t][n];
+ if (
+ (!a && e[0] in C && ((n = C[e[0]].charCodeAt(0)), (a = T[t][n])),
+ a || 'text' !== r || (S(n) && (a = T[t][77])),
+ a)
+ )
+ return { depth: a[0], height: a[1], italic: a[2], skew: a[3], width: a[4] };
+ }
+ var q = {};
+ var I = [
+ [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],
+ ],
+ R = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488],
+ H = function (e, t) {
+ return t.size < 2 ? e : I[e - 1][t.size - 1];
+ },
+ O = (function () {
+ function e(t) {
+ ((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 = t.style),
+ (this.color = t.color),
+ (this.size = t.size || e.BASESIZE),
+ (this.textSize = t.textSize || this.size),
+ (this.phantom = !!t.phantom),
+ (this.font = t.font || ''),
+ (this.fontFamily = t.fontFamily || ''),
+ (this.fontWeight = t.fontWeight || ''),
+ (this.fontShape = t.fontShape || ''),
+ (this.sizeMultiplier = R[this.size - 1]),
+ (this.maxSize = t.maxSize),
+ (this.minRuleThickness = t.minRuleThickness),
+ (this._fontMetrics = void 0));
+ }
+ var t = e.prototype;
+ return (
+ (t.extend = function (t) {
+ 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 t) t.hasOwnProperty(n) && (r[n] = t[n]);
+ return new e(r);
+ }),
+ (t.havingStyle = function (e) {
+ return this.style === e ? this : this.extend({ style: e, size: H(this.textSize, e) });
+ }),
+ (t.havingCrampedStyle = function () {
+ return this.havingStyle(this.style.cramp());
+ }),
+ (t.havingSize = function (e) {
+ return this.size === e && this.textSize === e
+ ? this
+ : this.extend({
+ style: this.style.text(),
+ size: e,
+ textSize: e,
+ sizeMultiplier: R[e - 1],
+ });
+ }),
+ (t.havingBaseStyle = function (t) {
+ t = t || this.style.text();
+ var r = H(e.BASESIZE, t);
+ return this.size === r && this.textSize === e.BASESIZE && this.style === t
+ ? this
+ : this.extend({ style: t, size: r });
+ }),
+ (t.havingBaseSizing = function () {
+ 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 });
+ }),
+ (t.withColor = function (e) {
+ return this.extend({ color: e });
+ }),
+ (t.withPhantom = function () {
+ return this.extend({ phantom: !0 });
+ }),
+ (t.withFont = function (e) {
+ return this.extend({ font: e });
+ }),
+ (t.withTextFontFamily = function (e) {
+ return this.extend({ fontFamily: e, font: '' });
+ }),
+ (t.withTextFontWeight = function (e) {
+ return this.extend({ fontWeight: e, font: '' });
+ }),
+ (t.withTextFontShape = function (e) {
+ return this.extend({ fontShape: e, font: '' });
+ }),
+ (t.sizingClasses = function (e) {
+ return e.size !== this.size
+ ? ['sizing', 'reset-size' + e.size, 'size' + this.size]
+ : [];
+ }),
+ (t.baseSizingClasses = function () {
+ return this.size !== e.BASESIZE
+ ? ['sizing', 'reset-size' + this.size, 'size' + e.BASESIZE]
+ : [];
+ }),
+ (t.fontMetrics = function () {
+ return (
+ this._fontMetrics ||
+ (this._fontMetrics = (function (e) {
+ var t;
+ if (!q[(t = e >= 5 ? 0 : e >= 3 ? 1 : 2)]) {
+ var r = (q[t] = { cssEmPerMu: B.quad[t] / 18 });
+ for (var n in B) B.hasOwnProperty(n) && (r[n] = B[n][t]);
+ }
+ return q[t];
+ })(this.size)),
+ this._fontMetrics
+ );
+ }),
+ (t.getColor = function () {
+ return this.phantom ? 'transparent' : this.color;
+ }),
+ e
+ );
+ })();
+ O.BASESIZE = 6;
+ var E = O,
+ L = {
+ pt: 1,
+ mm: 7227 / 2540,
+ cm: 7227 / 254,
+ in: 72.27,
+ bp: 1.00375,
+ pc: 12,
+ dd: 1238 / 1157,
+ cc: 14856 / 1157,
+ nd: 685 / 642,
+ nc: 1370 / 107,
+ sp: 1 / 65536,
+ px: 1.00375,
+ },
+ D = { ex: !0, em: !0, mu: !0 },
+ V = function (e) {
+ return ('string' != typeof e && (e = e.unit), e in L || e in D || 'ex' === e);
+ },
+ P = function (e, t) {
+ var r;
+ if (e.unit in L) r = L[e.unit] / t.fontMetrics().ptPerEm / t.sizeMultiplier;
+ else if ('mu' === e.unit) r = t.fontMetrics().cssEmPerMu;
+ else {
+ var a;
+ if (((a = t.style.isTight() ? t.havingStyle(t.style.text()) : t), 'ex' === e.unit))
+ r = a.fontMetrics().xHeight;
+ else {
+ if ('em' !== e.unit) throw new n("Invalid unit: '" + e.unit + "'");
+ r = a.fontMetrics().quad;
+ }
+ a !== t && (r *= a.sizeMultiplier / t.sizeMultiplier);
+ }
+ return Math.min(e.number * r, t.maxSize);
+ },
+ F = function (e) {
+ return +e.toFixed(4) + 'em';
+ },
+ G = function (e) {
+ return e
+ .filter(function (e) {
+ return e;
+ })
+ .join(' ');
+ },
+ U = function (e, t, r) {
+ if (
+ ((this.classes = e || []),
+ (this.attributes = {}),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = r || {}),
+ t)
+ ) {
+ t.style.isTight() && this.classes.push('mtight');
+ var n = t.getColor();
+ n && (this.style.color = n);
+ }
+ },
+ Y = function (e) {
+ var t = document.createElement(e);
+ for (var r in ((t.className = G(this.classes)), this.style))
+ this.style.hasOwnProperty(r) && (t.style[r] = this.style[r]);
+ for (var n in this.attributes)
+ this.attributes.hasOwnProperty(n) && t.setAttribute(n, this.attributes[n]);
+ for (var a = 0; a < this.children.length; a++) t.appendChild(this.children[a].toNode());
+ return t;
+ },
+ X = function (e) {
+ var t = '<' + e;
+ this.classes.length && (t += ' class="' + l.escape(G(this.classes)) + '"');
+ var r = '';
+ for (var n in this.style)
+ this.style.hasOwnProperty(n) && (r += l.hyphenate(n) + ':' + this.style[n] + ';');
+ for (var a in (r && (t += ' style="' + l.escape(r) + '"'), this.attributes))
+ this.attributes.hasOwnProperty(a) &&
+ (t += ' ' + a + '="' + l.escape(this.attributes[a]) + '"');
+ t += '>';
+ for (var i = 0; i < this.children.length; i++) t += this.children[i].toMarkup();
+ return (t += '' + e + '>');
+ },
+ W = (function () {
+ function e(e, t, r, n) {
+ ((this.children = void 0),
+ (this.attributes = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ U.call(this, e, r, n),
+ (this.children = t || []));
+ }
+ var t = e.prototype;
+ return (
+ (t.setAttribute = function (e, t) {
+ this.attributes[e] = t;
+ }),
+ (t.hasClass = function (e) {
+ return l.contains(this.classes, e);
+ }),
+ (t.toNode = function () {
+ return Y.call(this, 'span');
+ }),
+ (t.toMarkup = function () {
+ return X.call(this, 'span');
+ }),
+ e
+ );
+ })(),
+ _ = (function () {
+ function e(e, t, r, n) {
+ ((this.children = void 0),
+ (this.attributes = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ U.call(this, t, n),
+ (this.children = r || []),
+ this.setAttribute('href', e));
+ }
+ var t = e.prototype;
+ return (
+ (t.setAttribute = function (e, t) {
+ this.attributes[e] = t;
+ }),
+ (t.hasClass = function (e) {
+ return l.contains(this.classes, e);
+ }),
+ (t.toNode = function () {
+ return Y.call(this, 'a');
+ }),
+ (t.toMarkup = function () {
+ return X.call(this, 'a');
+ }),
+ e
+ );
+ })(),
+ j = (function () {
+ function e(e, t, r) {
+ ((this.src = void 0),
+ (this.alt = void 0),
+ (this.classes = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.maxFontSize = void 0),
+ (this.style = void 0),
+ (this.alt = t),
+ (this.src = e),
+ (this.classes = ['mord']),
+ (this.style = r));
+ }
+ var t = e.prototype;
+ return (
+ (t.hasClass = function (e) {
+ return l.contains(this.classes, e);
+ }),
+ (t.toNode = function () {
+ var e = document.createElement('img');
+ for (var t in ((e.src = this.src),
+ (e.alt = this.alt),
+ (e.className = 'mord'),
+ this.style))
+ this.style.hasOwnProperty(t) && (e.style[t] = this.style[t]);
+ return e;
+ }),
+ (t.toMarkup = function () {
+ var e = "
"));
+ }),
+ e
+ );
+ })(),
+ $ = {
+ '\xee': '\u0131\u0302',
+ '\xef': '\u0131\u0308',
+ '\xed': '\u0131\u0301',
+ '\xec': '\u0131\u0300',
+ },
+ Z = (function () {
+ function e(e, t, r, n, a, i, o, s) {
+ ((this.text = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.italic = void 0),
+ (this.skew = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.classes = void 0),
+ (this.style = void 0),
+ (this.text = e),
+ (this.height = t || 0),
+ (this.depth = r || 0),
+ (this.italic = n || 0),
+ (this.skew = a || 0),
+ (this.width = i || 0),
+ (this.classes = o || []),
+ (this.style = s || {}),
+ (this.maxFontSize = 0));
+ var l = (function (e) {
+ for (var t = 0; t < w.length; t++)
+ for (var r = w[t], n = 0; n < r.blocks.length; n++) {
+ var a = r.blocks[n];
+ if (e >= a[0] && e <= a[1]) return r.name;
+ }
+ return null;
+ })(this.text.charCodeAt(0));
+ (l && this.classes.push(l + '_fallback'),
+ /[\xee\xef\xed\xec]/.test(this.text) && (this.text = $[this.text]));
+ }
+ var t = e.prototype;
+ return (
+ (t.hasClass = function (e) {
+ return l.contains(this.classes, e);
+ }),
+ (t.toNode = function () {
+ var e = document.createTextNode(this.text),
+ t = null;
+ for (var r in (this.italic > 0 &&
+ ((t = document.createElement('span')).style.marginRight = F(this.italic)),
+ this.classes.length > 0 &&
+ ((t = t || document.createElement('span')).className = G(this.classes)),
+ this.style))
+ this.style.hasOwnProperty(r) &&
+ ((t = t || document.createElement('span')).style[r] = this.style[r]);
+ return t ? (t.appendChild(e), t) : e;
+ }),
+ (t.toMarkup = function () {
+ var e = !1,
+ t = ' 0 && (r += 'margin-right:' + this.italic + 'em;'),
+ this.style))
+ this.style.hasOwnProperty(n) && (r += l.hyphenate(n) + ':' + this.style[n] + ';');
+ r && ((e = !0), (t += ' style="' + l.escape(r) + '"'));
+ var a = l.escape(this.text);
+ return e ? ((t += '>'), (t += a), (t += '')) : a;
+ }),
+ e
+ );
+ })(),
+ K = (function () {
+ function e(e, t) {
+ ((this.children = void 0),
+ (this.attributes = void 0),
+ (this.children = e || []),
+ (this.attributes = t || {}));
+ }
+ var t = e.prototype;
+ return (
+ (t.toNode = function () {
+ var e = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
+ for (var t in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, t) &&
+ e.setAttribute(t, this.attributes[t]);
+ for (var r = 0; r < this.children.length; r++) e.appendChild(this.children[r].toNode());
+ return e;
+ }),
+ (t.toMarkup = function () {
+ var e = '');
+ }),
+ e
+ );
+ })(),
+ J = (function () {
+ function e(e, t) {
+ ((this.pathName = void 0),
+ (this.alternate = void 0),
+ (this.pathName = e),
+ (this.alternate = t));
+ }
+ var t = e.prototype;
+ return (
+ (t.toNode = function () {
+ var e = document.createElementNS('http://www.w3.org/2000/svg', 'path');
+ return (
+ this.alternate
+ ? e.setAttribute('d', this.alternate)
+ : e.setAttribute('d', z[this.pathName]),
+ e
+ );
+ }),
+ (t.toMarkup = function () {
+ return this.alternate
+ ? " "
+ : " ";
+ }),
+ e
+ );
+ })(),
+ Q = (function () {
+ function e(e) {
+ ((this.attributes = void 0), (this.attributes = e || {}));
+ }
+ var t = e.prototype;
+ return (
+ (t.toNode = function () {
+ var e = document.createElementNS('http://www.w3.org/2000/svg', 'line');
+ for (var t in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, t) &&
+ e.setAttribute(t, this.attributes[t]);
+ return e;
+ }),
+ (t.toMarkup = function () {
+ var e = ' ');
+ }),
+ e
+ );
+ })();
+ function ee(e) {
+ if (e instanceof Z) return e;
+ throw new Error('Expected symbolNode but got ' + String(e) + '.');
+ }
+ var te = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 },
+ re = { 'accent-token': 1, mathord: 1, 'op-token': 1, spacing: 1, textord: 1 },
+ ne = { math: {}, text: {} },
+ ae = ne;
+ function ie(e, t, r, n, a, i) {
+ ((ne[e][a] = { font: t, group: r, replace: n }), i && n && (ne[e][n] = ne[e][a]));
+ }
+ var oe = 'math',
+ se = 'text',
+ le = 'main',
+ he = 'ams',
+ ce = 'accent-token',
+ me = 'bin',
+ ue = 'close',
+ pe = 'inner',
+ de = 'mathord',
+ fe = 'op-token',
+ ge = 'open',
+ ve = 'punct',
+ be = 'rel',
+ ye = 'spacing',
+ xe = 'textord';
+ (ie(oe, le, be, '\u2261', '\\equiv', !0),
+ ie(oe, le, be, '\u227a', '\\prec', !0),
+ ie(oe, le, be, '\u227b', '\\succ', !0),
+ ie(oe, le, be, '\u223c', '\\sim', !0),
+ ie(oe, le, be, '\u22a5', '\\perp'),
+ ie(oe, le, be, '\u2aaf', '\\preceq', !0),
+ ie(oe, le, be, '\u2ab0', '\\succeq', !0),
+ ie(oe, le, be, '\u2243', '\\simeq', !0),
+ ie(oe, le, be, '\u2223', '\\mid', !0),
+ ie(oe, le, be, '\u226a', '\\ll', !0),
+ ie(oe, le, be, '\u226b', '\\gg', !0),
+ ie(oe, le, be, '\u224d', '\\asymp', !0),
+ ie(oe, le, be, '\u2225', '\\parallel'),
+ ie(oe, le, be, '\u22c8', '\\bowtie', !0),
+ ie(oe, le, be, '\u2323', '\\smile', !0),
+ ie(oe, le, be, '\u2291', '\\sqsubseteq', !0),
+ ie(oe, le, be, '\u2292', '\\sqsupseteq', !0),
+ ie(oe, le, be, '\u2250', '\\doteq', !0),
+ ie(oe, le, be, '\u2322', '\\frown', !0),
+ ie(oe, le, be, '\u220b', '\\ni', !0),
+ ie(oe, le, be, '\u221d', '\\propto', !0),
+ ie(oe, le, be, '\u22a2', '\\vdash', !0),
+ ie(oe, le, be, '\u22a3', '\\dashv', !0),
+ ie(oe, le, be, '\u220b', '\\owns'),
+ ie(oe, le, ve, '.', '\\ldotp'),
+ ie(oe, le, ve, '\u22c5', '\\cdotp'),
+ ie(oe, le, xe, '#', '\\#'),
+ ie(se, le, xe, '#', '\\#'),
+ ie(oe, le, xe, '&', '\\&'),
+ ie(se, le, xe, '&', '\\&'),
+ ie(oe, le, xe, '\u2135', '\\aleph', !0),
+ ie(oe, le, xe, '\u2200', '\\forall', !0),
+ ie(oe, le, xe, '\u210f', '\\hbar', !0),
+ ie(oe, le, xe, '\u2203', '\\exists', !0),
+ ie(oe, le, xe, '\u2207', '\\nabla', !0),
+ ie(oe, le, xe, '\u266d', '\\flat', !0),
+ ie(oe, le, xe, '\u2113', '\\ell', !0),
+ ie(oe, le, xe, '\u266e', '\\natural', !0),
+ ie(oe, le, xe, '\u2663', '\\clubsuit', !0),
+ ie(oe, le, xe, '\u2118', '\\wp', !0),
+ ie(oe, le, xe, '\u266f', '\\sharp', !0),
+ ie(oe, le, xe, '\u2662', '\\diamondsuit', !0),
+ ie(oe, le, xe, '\u211c', '\\Re', !0),
+ ie(oe, le, xe, '\u2661', '\\heartsuit', !0),
+ ie(oe, le, xe, '\u2111', '\\Im', !0),
+ ie(oe, le, xe, '\u2660', '\\spadesuit', !0),
+ ie(oe, le, xe, '\xa7', '\\S', !0),
+ ie(se, le, xe, '\xa7', '\\S'),
+ ie(oe, le, xe, '\xb6', '\\P', !0),
+ ie(se, le, xe, '\xb6', '\\P'),
+ ie(oe, le, xe, '\u2020', '\\dag'),
+ ie(se, le, xe, '\u2020', '\\dag'),
+ ie(se, le, xe, '\u2020', '\\textdagger'),
+ ie(oe, le, xe, '\u2021', '\\ddag'),
+ ie(se, le, xe, '\u2021', '\\ddag'),
+ ie(se, le, xe, '\u2021', '\\textdaggerdbl'),
+ ie(oe, le, ue, '\u23b1', '\\rmoustache', !0),
+ ie(oe, le, ge, '\u23b0', '\\lmoustache', !0),
+ ie(oe, le, ue, '\u27ef', '\\rgroup', !0),
+ ie(oe, le, ge, '\u27ee', '\\lgroup', !0),
+ ie(oe, le, me, '\u2213', '\\mp', !0),
+ ie(oe, le, me, '\u2296', '\\ominus', !0),
+ ie(oe, le, me, '\u228e', '\\uplus', !0),
+ ie(oe, le, me, '\u2293', '\\sqcap', !0),
+ ie(oe, le, me, '\u2217', '\\ast'),
+ ie(oe, le, me, '\u2294', '\\sqcup', !0),
+ ie(oe, le, me, '\u25ef', '\\bigcirc', !0),
+ ie(oe, le, me, '\u2219', '\\bullet', !0),
+ ie(oe, le, me, '\u2021', '\\ddagger'),
+ ie(oe, le, me, '\u2240', '\\wr', !0),
+ ie(oe, le, me, '\u2a3f', '\\amalg'),
+ ie(oe, le, me, '&', '\\And'),
+ ie(oe, le, be, '\u27f5', '\\longleftarrow', !0),
+ ie(oe, le, be, '\u21d0', '\\Leftarrow', !0),
+ ie(oe, le, be, '\u27f8', '\\Longleftarrow', !0),
+ ie(oe, le, be, '\u27f6', '\\longrightarrow', !0),
+ ie(oe, le, be, '\u21d2', '\\Rightarrow', !0),
+ ie(oe, le, be, '\u27f9', '\\Longrightarrow', !0),
+ ie(oe, le, be, '\u2194', '\\leftrightarrow', !0),
+ ie(oe, le, be, '\u27f7', '\\longleftrightarrow', !0),
+ ie(oe, le, be, '\u21d4', '\\Leftrightarrow', !0),
+ ie(oe, le, be, '\u27fa', '\\Longleftrightarrow', !0),
+ ie(oe, le, be, '\u21a6', '\\mapsto', !0),
+ ie(oe, le, be, '\u27fc', '\\longmapsto', !0),
+ ie(oe, le, be, '\u2197', '\\nearrow', !0),
+ ie(oe, le, be, '\u21a9', '\\hookleftarrow', !0),
+ ie(oe, le, be, '\u21aa', '\\hookrightarrow', !0),
+ ie(oe, le, be, '\u2198', '\\searrow', !0),
+ ie(oe, le, be, '\u21bc', '\\leftharpoonup', !0),
+ ie(oe, le, be, '\u21c0', '\\rightharpoonup', !0),
+ ie(oe, le, be, '\u2199', '\\swarrow', !0),
+ ie(oe, le, be, '\u21bd', '\\leftharpoondown', !0),
+ ie(oe, le, be, '\u21c1', '\\rightharpoondown', !0),
+ ie(oe, le, be, '\u2196', '\\nwarrow', !0),
+ ie(oe, le, be, '\u21cc', '\\rightleftharpoons', !0),
+ ie(oe, he, be, '\u226e', '\\nless', !0),
+ ie(oe, he, be, '\ue010', '\\@nleqslant'),
+ ie(oe, he, be, '\ue011', '\\@nleqq'),
+ ie(oe, he, be, '\u2a87', '\\lneq', !0),
+ ie(oe, he, be, '\u2268', '\\lneqq', !0),
+ ie(oe, he, be, '\ue00c', '\\@lvertneqq'),
+ ie(oe, he, be, '\u22e6', '\\lnsim', !0),
+ ie(oe, he, be, '\u2a89', '\\lnapprox', !0),
+ ie(oe, he, be, '\u2280', '\\nprec', !0),
+ ie(oe, he, be, '\u22e0', '\\npreceq', !0),
+ ie(oe, he, be, '\u22e8', '\\precnsim', !0),
+ ie(oe, he, be, '\u2ab9', '\\precnapprox', !0),
+ ie(oe, he, be, '\u2241', '\\nsim', !0),
+ ie(oe, he, be, '\ue006', '\\@nshortmid'),
+ ie(oe, he, be, '\u2224', '\\nmid', !0),
+ ie(oe, he, be, '\u22ac', '\\nvdash', !0),
+ ie(oe, he, be, '\u22ad', '\\nvDash', !0),
+ ie(oe, he, be, '\u22ea', '\\ntriangleleft'),
+ ie(oe, he, be, '\u22ec', '\\ntrianglelefteq', !0),
+ ie(oe, he, be, '\u228a', '\\subsetneq', !0),
+ ie(oe, he, be, '\ue01a', '\\@varsubsetneq'),
+ ie(oe, he, be, '\u2acb', '\\subsetneqq', !0),
+ ie(oe, he, be, '\ue017', '\\@varsubsetneqq'),
+ ie(oe, he, be, '\u226f', '\\ngtr', !0),
+ ie(oe, he, be, '\ue00f', '\\@ngeqslant'),
+ ie(oe, he, be, '\ue00e', '\\@ngeqq'),
+ ie(oe, he, be, '\u2a88', '\\gneq', !0),
+ ie(oe, he, be, '\u2269', '\\gneqq', !0),
+ ie(oe, he, be, '\ue00d', '\\@gvertneqq'),
+ ie(oe, he, be, '\u22e7', '\\gnsim', !0),
+ ie(oe, he, be, '\u2a8a', '\\gnapprox', !0),
+ ie(oe, he, be, '\u2281', '\\nsucc', !0),
+ ie(oe, he, be, '\u22e1', '\\nsucceq', !0),
+ ie(oe, he, be, '\u22e9', '\\succnsim', !0),
+ ie(oe, he, be, '\u2aba', '\\succnapprox', !0),
+ ie(oe, he, be, '\u2246', '\\ncong', !0),
+ ie(oe, he, be, '\ue007', '\\@nshortparallel'),
+ ie(oe, he, be, '\u2226', '\\nparallel', !0),
+ ie(oe, he, be, '\u22af', '\\nVDash', !0),
+ ie(oe, he, be, '\u22eb', '\\ntriangleright'),
+ ie(oe, he, be, '\u22ed', '\\ntrianglerighteq', !0),
+ ie(oe, he, be, '\ue018', '\\@nsupseteqq'),
+ ie(oe, he, be, '\u228b', '\\supsetneq', !0),
+ ie(oe, he, be, '\ue01b', '\\@varsupsetneq'),
+ ie(oe, he, be, '\u2acc', '\\supsetneqq', !0),
+ ie(oe, he, be, '\ue019', '\\@varsupsetneqq'),
+ ie(oe, he, be, '\u22ae', '\\nVdash', !0),
+ ie(oe, he, be, '\u2ab5', '\\precneqq', !0),
+ ie(oe, he, be, '\u2ab6', '\\succneqq', !0),
+ ie(oe, he, be, '\ue016', '\\@nsubseteqq'),
+ ie(oe, he, me, '\u22b4', '\\unlhd'),
+ ie(oe, he, me, '\u22b5', '\\unrhd'),
+ ie(oe, he, be, '\u219a', '\\nleftarrow', !0),
+ ie(oe, he, be, '\u219b', '\\nrightarrow', !0),
+ ie(oe, he, be, '\u21cd', '\\nLeftarrow', !0),
+ ie(oe, he, be, '\u21cf', '\\nRightarrow', !0),
+ ie(oe, he, be, '\u21ae', '\\nleftrightarrow', !0),
+ ie(oe, he, be, '\u21ce', '\\nLeftrightarrow', !0),
+ ie(oe, he, be, '\u25b3', '\\vartriangle'),
+ ie(oe, he, xe, '\u210f', '\\hslash'),
+ ie(oe, he, xe, '\u25bd', '\\triangledown'),
+ ie(oe, he, xe, '\u25ca', '\\lozenge'),
+ ie(oe, he, xe, '\u24c8', '\\circledS'),
+ ie(oe, he, xe, '\xae', '\\circledR'),
+ ie(se, he, xe, '\xae', '\\circledR'),
+ ie(oe, he, xe, '\u2221', '\\measuredangle', !0),
+ ie(oe, he, xe, '\u2204', '\\nexists'),
+ ie(oe, he, xe, '\u2127', '\\mho'),
+ ie(oe, he, xe, '\u2132', '\\Finv', !0),
+ ie(oe, he, xe, '\u2141', '\\Game', !0),
+ ie(oe, he, xe, '\u2035', '\\backprime'),
+ ie(oe, he, xe, '\u25b2', '\\blacktriangle'),
+ ie(oe, he, xe, '\u25bc', '\\blacktriangledown'),
+ ie(oe, he, xe, '\u25a0', '\\blacksquare'),
+ ie(oe, he, xe, '\u29eb', '\\blacklozenge'),
+ ie(oe, he, xe, '\u2605', '\\bigstar'),
+ ie(oe, he, xe, '\u2222', '\\sphericalangle', !0),
+ ie(oe, he, xe, '\u2201', '\\complement', !0),
+ ie(oe, he, xe, '\xf0', '\\eth', !0),
+ ie(se, le, xe, '\xf0', '\xf0'),
+ ie(oe, he, xe, '\u2571', '\\diagup'),
+ ie(oe, he, xe, '\u2572', '\\diagdown'),
+ ie(oe, he, xe, '\u25a1', '\\square'),
+ ie(oe, he, xe, '\u25a1', '\\Box'),
+ ie(oe, he, xe, '\u25ca', '\\Diamond'),
+ ie(oe, he, xe, '\xa5', '\\yen', !0),
+ ie(se, he, xe, '\xa5', '\\yen', !0),
+ ie(oe, he, xe, '\u2713', '\\checkmark', !0),
+ ie(se, he, xe, '\u2713', '\\checkmark'),
+ ie(oe, he, xe, '\u2136', '\\beth', !0),
+ ie(oe, he, xe, '\u2138', '\\daleth', !0),
+ ie(oe, he, xe, '\u2137', '\\gimel', !0),
+ ie(oe, he, xe, '\u03dd', '\\digamma', !0),
+ ie(oe, he, xe, '\u03f0', '\\varkappa'),
+ ie(oe, he, ge, '\u250c', '\\@ulcorner', !0),
+ ie(oe, he, ue, '\u2510', '\\@urcorner', !0),
+ ie(oe, he, ge, '\u2514', '\\@llcorner', !0),
+ ie(oe, he, ue, '\u2518', '\\@lrcorner', !0),
+ ie(oe, he, be, '\u2266', '\\leqq', !0),
+ ie(oe, he, be, '\u2a7d', '\\leqslant', !0),
+ ie(oe, he, be, '\u2a95', '\\eqslantless', !0),
+ ie(oe, he, be, '\u2272', '\\lesssim', !0),
+ ie(oe, he, be, '\u2a85', '\\lessapprox', !0),
+ ie(oe, he, be, '\u224a', '\\approxeq', !0),
+ ie(oe, he, me, '\u22d6', '\\lessdot'),
+ ie(oe, he, be, '\u22d8', '\\lll', !0),
+ ie(oe, he, be, '\u2276', '\\lessgtr', !0),
+ ie(oe, he, be, '\u22da', '\\lesseqgtr', !0),
+ ie(oe, he, be, '\u2a8b', '\\lesseqqgtr', !0),
+ ie(oe, he, be, '\u2251', '\\doteqdot'),
+ ie(oe, he, be, '\u2253', '\\risingdotseq', !0),
+ ie(oe, he, be, '\u2252', '\\fallingdotseq', !0),
+ ie(oe, he, be, '\u223d', '\\backsim', !0),
+ ie(oe, he, be, '\u22cd', '\\backsimeq', !0),
+ ie(oe, he, be, '\u2ac5', '\\subseteqq', !0),
+ ie(oe, he, be, '\u22d0', '\\Subset', !0),
+ ie(oe, he, be, '\u228f', '\\sqsubset', !0),
+ ie(oe, he, be, '\u227c', '\\preccurlyeq', !0),
+ ie(oe, he, be, '\u22de', '\\curlyeqprec', !0),
+ ie(oe, he, be, '\u227e', '\\precsim', !0),
+ ie(oe, he, be, '\u2ab7', '\\precapprox', !0),
+ ie(oe, he, be, '\u22b2', '\\vartriangleleft'),
+ ie(oe, he, be, '\u22b4', '\\trianglelefteq'),
+ ie(oe, he, be, '\u22a8', '\\vDash', !0),
+ ie(oe, he, be, '\u22aa', '\\Vvdash', !0),
+ ie(oe, he, be, '\u2323', '\\smallsmile'),
+ ie(oe, he, be, '\u2322', '\\smallfrown'),
+ ie(oe, he, be, '\u224f', '\\bumpeq', !0),
+ ie(oe, he, be, '\u224e', '\\Bumpeq', !0),
+ ie(oe, he, be, '\u2267', '\\geqq', !0),
+ ie(oe, he, be, '\u2a7e', '\\geqslant', !0),
+ ie(oe, he, be, '\u2a96', '\\eqslantgtr', !0),
+ ie(oe, he, be, '\u2273', '\\gtrsim', !0),
+ ie(oe, he, be, '\u2a86', '\\gtrapprox', !0),
+ ie(oe, he, me, '\u22d7', '\\gtrdot'),
+ ie(oe, he, be, '\u22d9', '\\ggg', !0),
+ ie(oe, he, be, '\u2277', '\\gtrless', !0),
+ ie(oe, he, be, '\u22db', '\\gtreqless', !0),
+ ie(oe, he, be, '\u2a8c', '\\gtreqqless', !0),
+ ie(oe, he, be, '\u2256', '\\eqcirc', !0),
+ ie(oe, he, be, '\u2257', '\\circeq', !0),
+ ie(oe, he, be, '\u225c', '\\triangleq', !0),
+ ie(oe, he, be, '\u223c', '\\thicksim'),
+ ie(oe, he, be, '\u2248', '\\thickapprox'),
+ ie(oe, he, be, '\u2ac6', '\\supseteqq', !0),
+ ie(oe, he, be, '\u22d1', '\\Supset', !0),
+ ie(oe, he, be, '\u2290', '\\sqsupset', !0),
+ ie(oe, he, be, '\u227d', '\\succcurlyeq', !0),
+ ie(oe, he, be, '\u22df', '\\curlyeqsucc', !0),
+ ie(oe, he, be, '\u227f', '\\succsim', !0),
+ ie(oe, he, be, '\u2ab8', '\\succapprox', !0),
+ ie(oe, he, be, '\u22b3', '\\vartriangleright'),
+ ie(oe, he, be, '\u22b5', '\\trianglerighteq'),
+ ie(oe, he, be, '\u22a9', '\\Vdash', !0),
+ ie(oe, he, be, '\u2223', '\\shortmid'),
+ ie(oe, he, be, '\u2225', '\\shortparallel'),
+ ie(oe, he, be, '\u226c', '\\between', !0),
+ ie(oe, he, be, '\u22d4', '\\pitchfork', !0),
+ ie(oe, he, be, '\u221d', '\\varpropto'),
+ ie(oe, he, be, '\u25c0', '\\blacktriangleleft'),
+ ie(oe, he, be, '\u2234', '\\therefore', !0),
+ ie(oe, he, be, '\u220d', '\\backepsilon'),
+ ie(oe, he, be, '\u25b6', '\\blacktriangleright'),
+ ie(oe, he, be, '\u2235', '\\because', !0),
+ ie(oe, he, be, '\u22d8', '\\llless'),
+ ie(oe, he, be, '\u22d9', '\\gggtr'),
+ ie(oe, he, me, '\u22b2', '\\lhd'),
+ ie(oe, he, me, '\u22b3', '\\rhd'),
+ ie(oe, he, be, '\u2242', '\\eqsim', !0),
+ ie(oe, le, be, '\u22c8', '\\Join'),
+ ie(oe, he, be, '\u2251', '\\Doteq', !0),
+ ie(oe, he, me, '\u2214', '\\dotplus', !0),
+ ie(oe, he, me, '\u2216', '\\smallsetminus'),
+ ie(oe, he, me, '\u22d2', '\\Cap', !0),
+ ie(oe, he, me, '\u22d3', '\\Cup', !0),
+ ie(oe, he, me, '\u2a5e', '\\doublebarwedge', !0),
+ ie(oe, he, me, '\u229f', '\\boxminus', !0),
+ ie(oe, he, me, '\u229e', '\\boxplus', !0),
+ ie(oe, he, me, '\u22c7', '\\divideontimes', !0),
+ ie(oe, he, me, '\u22c9', '\\ltimes', !0),
+ ie(oe, he, me, '\u22ca', '\\rtimes', !0),
+ ie(oe, he, me, '\u22cb', '\\leftthreetimes', !0),
+ ie(oe, he, me, '\u22cc', '\\rightthreetimes', !0),
+ ie(oe, he, me, '\u22cf', '\\curlywedge', !0),
+ ie(oe, he, me, '\u22ce', '\\curlyvee', !0),
+ ie(oe, he, me, '\u229d', '\\circleddash', !0),
+ ie(oe, he, me, '\u229b', '\\circledast', !0),
+ ie(oe, he, me, '\u22c5', '\\centerdot'),
+ ie(oe, he, me, '\u22ba', '\\intercal', !0),
+ ie(oe, he, me, '\u22d2', '\\doublecap'),
+ ie(oe, he, me, '\u22d3', '\\doublecup'),
+ ie(oe, he, me, '\u22a0', '\\boxtimes', !0),
+ ie(oe, he, be, '\u21e2', '\\dashrightarrow', !0),
+ ie(oe, he, be, '\u21e0', '\\dashleftarrow', !0),
+ ie(oe, he, be, '\u21c7', '\\leftleftarrows', !0),
+ ie(oe, he, be, '\u21c6', '\\leftrightarrows', !0),
+ ie(oe, he, be, '\u21da', '\\Lleftarrow', !0),
+ ie(oe, he, be, '\u219e', '\\twoheadleftarrow', !0),
+ ie(oe, he, be, '\u21a2', '\\leftarrowtail', !0),
+ ie(oe, he, be, '\u21ab', '\\looparrowleft', !0),
+ ie(oe, he, be, '\u21cb', '\\leftrightharpoons', !0),
+ ie(oe, he, be, '\u21b6', '\\curvearrowleft', !0),
+ ie(oe, he, be, '\u21ba', '\\circlearrowleft', !0),
+ ie(oe, he, be, '\u21b0', '\\Lsh', !0),
+ ie(oe, he, be, '\u21c8', '\\upuparrows', !0),
+ ie(oe, he, be, '\u21bf', '\\upharpoonleft', !0),
+ ie(oe, he, be, '\u21c3', '\\downharpoonleft', !0),
+ ie(oe, le, be, '\u22b6', '\\origof', !0),
+ ie(oe, le, be, '\u22b7', '\\imageof', !0),
+ ie(oe, he, be, '\u22b8', '\\multimap', !0),
+ ie(oe, he, be, '\u21ad', '\\leftrightsquigarrow', !0),
+ ie(oe, he, be, '\u21c9', '\\rightrightarrows', !0),
+ ie(oe, he, be, '\u21c4', '\\rightleftarrows', !0),
+ ie(oe, he, be, '\u21a0', '\\twoheadrightarrow', !0),
+ ie(oe, he, be, '\u21a3', '\\rightarrowtail', !0),
+ ie(oe, he, be, '\u21ac', '\\looparrowright', !0),
+ ie(oe, he, be, '\u21b7', '\\curvearrowright', !0),
+ ie(oe, he, be, '\u21bb', '\\circlearrowright', !0),
+ ie(oe, he, be, '\u21b1', '\\Rsh', !0),
+ ie(oe, he, be, '\u21ca', '\\downdownarrows', !0),
+ ie(oe, he, be, '\u21be', '\\upharpoonright', !0),
+ ie(oe, he, be, '\u21c2', '\\downharpoonright', !0),
+ ie(oe, he, be, '\u21dd', '\\rightsquigarrow', !0),
+ ie(oe, he, be, '\u21dd', '\\leadsto'),
+ ie(oe, he, be, '\u21db', '\\Rrightarrow', !0),
+ ie(oe, he, be, '\u21be', '\\restriction'),
+ ie(oe, le, xe, '\u2018', '`'),
+ ie(oe, le, xe, '$', '\\$'),
+ ie(se, le, xe, '$', '\\$'),
+ ie(se, le, xe, '$', '\\textdollar'),
+ ie(oe, le, xe, '%', '\\%'),
+ ie(se, le, xe, '%', '\\%'),
+ ie(oe, le, xe, '_', '\\_'),
+ ie(se, le, xe, '_', '\\_'),
+ ie(se, le, xe, '_', '\\textunderscore'),
+ ie(oe, le, xe, '\u2220', '\\angle', !0),
+ ie(oe, le, xe, '\u221e', '\\infty', !0),
+ ie(oe, le, xe, '\u2032', '\\prime'),
+ ie(oe, le, xe, '\u25b3', '\\triangle'),
+ ie(oe, le, xe, '\u0393', '\\Gamma', !0),
+ ie(oe, le, xe, '\u0394', '\\Delta', !0),
+ ie(oe, le, xe, '\u0398', '\\Theta', !0),
+ ie(oe, le, xe, '\u039b', '\\Lambda', !0),
+ ie(oe, le, xe, '\u039e', '\\Xi', !0),
+ ie(oe, le, xe, '\u03a0', '\\Pi', !0),
+ ie(oe, le, xe, '\u03a3', '\\Sigma', !0),
+ ie(oe, le, xe, '\u03a5', '\\Upsilon', !0),
+ ie(oe, le, xe, '\u03a6', '\\Phi', !0),
+ ie(oe, le, xe, '\u03a8', '\\Psi', !0),
+ ie(oe, le, xe, '\u03a9', '\\Omega', !0),
+ ie(oe, le, xe, 'A', '\u0391'),
+ ie(oe, le, xe, 'B', '\u0392'),
+ ie(oe, le, xe, 'E', '\u0395'),
+ ie(oe, le, xe, 'Z', '\u0396'),
+ ie(oe, le, xe, 'H', '\u0397'),
+ ie(oe, le, xe, 'I', '\u0399'),
+ ie(oe, le, xe, 'K', '\u039a'),
+ ie(oe, le, xe, 'M', '\u039c'),
+ ie(oe, le, xe, 'N', '\u039d'),
+ ie(oe, le, xe, 'O', '\u039f'),
+ ie(oe, le, xe, 'P', '\u03a1'),
+ ie(oe, le, xe, 'T', '\u03a4'),
+ ie(oe, le, xe, 'X', '\u03a7'),
+ ie(oe, le, xe, '\xac', '\\neg', !0),
+ ie(oe, le, xe, '\xac', '\\lnot'),
+ ie(oe, le, xe, '\u22a4', '\\top'),
+ ie(oe, le, xe, '\u22a5', '\\bot'),
+ ie(oe, le, xe, '\u2205', '\\emptyset'),
+ ie(oe, he, xe, '\u2205', '\\varnothing'),
+ ie(oe, le, de, '\u03b1', '\\alpha', !0),
+ ie(oe, le, de, '\u03b2', '\\beta', !0),
+ ie(oe, le, de, '\u03b3', '\\gamma', !0),
+ ie(oe, le, de, '\u03b4', '\\delta', !0),
+ ie(oe, le, de, '\u03f5', '\\epsilon', !0),
+ ie(oe, le, de, '\u03b6', '\\zeta', !0),
+ ie(oe, le, de, '\u03b7', '\\eta', !0),
+ ie(oe, le, de, '\u03b8', '\\theta', !0),
+ ie(oe, le, de, '\u03b9', '\\iota', !0),
+ ie(oe, le, de, '\u03ba', '\\kappa', !0),
+ ie(oe, le, de, '\u03bb', '\\lambda', !0),
+ ie(oe, le, de, '\u03bc', '\\mu', !0),
+ ie(oe, le, de, '\u03bd', '\\nu', !0),
+ ie(oe, le, de, '\u03be', '\\xi', !0),
+ ie(oe, le, de, '\u03bf', '\\omicron', !0),
+ ie(oe, le, de, '\u03c0', '\\pi', !0),
+ ie(oe, le, de, '\u03c1', '\\rho', !0),
+ ie(oe, le, de, '\u03c3', '\\sigma', !0),
+ ie(oe, le, de, '\u03c4', '\\tau', !0),
+ ie(oe, le, de, '\u03c5', '\\upsilon', !0),
+ ie(oe, le, de, '\u03d5', '\\phi', !0),
+ ie(oe, le, de, '\u03c7', '\\chi', !0),
+ ie(oe, le, de, '\u03c8', '\\psi', !0),
+ ie(oe, le, de, '\u03c9', '\\omega', !0),
+ ie(oe, le, de, '\u03b5', '\\varepsilon', !0),
+ ie(oe, le, de, '\u03d1', '\\vartheta', !0),
+ ie(oe, le, de, '\u03d6', '\\varpi', !0),
+ ie(oe, le, de, '\u03f1', '\\varrho', !0),
+ ie(oe, le, de, '\u03c2', '\\varsigma', !0),
+ ie(oe, le, de, '\u03c6', '\\varphi', !0),
+ ie(oe, le, me, '\u2217', '*', !0),
+ ie(oe, le, me, '+', '+'),
+ ie(oe, le, me, '\u2212', '-', !0),
+ ie(oe, le, me, '\u22c5', '\\cdot', !0),
+ ie(oe, le, me, '\u2218', '\\circ', !0),
+ ie(oe, le, me, '\xf7', '\\div', !0),
+ ie(oe, le, me, '\xb1', '\\pm', !0),
+ ie(oe, le, me, '\xd7', '\\times', !0),
+ ie(oe, le, me, '\u2229', '\\cap', !0),
+ ie(oe, le, me, '\u222a', '\\cup', !0),
+ ie(oe, le, me, '\u2216', '\\setminus', !0),
+ ie(oe, le, me, '\u2227', '\\land'),
+ ie(oe, le, me, '\u2228', '\\lor'),
+ ie(oe, le, me, '\u2227', '\\wedge', !0),
+ ie(oe, le, me, '\u2228', '\\vee', !0),
+ ie(oe, le, xe, '\u221a', '\\surd'),
+ ie(oe, le, ge, '\u27e8', '\\langle', !0),
+ ie(oe, le, ge, '\u2223', '\\lvert'),
+ ie(oe, le, ge, '\u2225', '\\lVert'),
+ ie(oe, le, ue, '?', '?'),
+ ie(oe, le, ue, '!', '!'),
+ ie(oe, le, ue, '\u27e9', '\\rangle', !0),
+ ie(oe, le, ue, '\u2223', '\\rvert'),
+ ie(oe, le, ue, '\u2225', '\\rVert'),
+ ie(oe, le, be, '=', '='),
+ ie(oe, le, be, ':', ':'),
+ ie(oe, le, be, '\u2248', '\\approx', !0),
+ ie(oe, le, be, '\u2245', '\\cong', !0),
+ ie(oe, le, be, '\u2265', '\\ge'),
+ ie(oe, le, be, '\u2265', '\\geq', !0),
+ ie(oe, le, be, '\u2190', '\\gets'),
+ ie(oe, le, be, '>', '\\gt', !0),
+ ie(oe, le, be, '\u2208', '\\in', !0),
+ ie(oe, le, be, '\ue020', '\\@not'),
+ ie(oe, le, be, '\u2282', '\\subset', !0),
+ ie(oe, le, be, '\u2283', '\\supset', !0),
+ ie(oe, le, be, '\u2286', '\\subseteq', !0),
+ ie(oe, le, be, '\u2287', '\\supseteq', !0),
+ ie(oe, he, be, '\u2288', '\\nsubseteq', !0),
+ ie(oe, he, be, '\u2289', '\\nsupseteq', !0),
+ ie(oe, le, be, '\u22a8', '\\models'),
+ ie(oe, le, be, '\u2190', '\\leftarrow', !0),
+ ie(oe, le, be, '\u2264', '\\le'),
+ ie(oe, le, be, '\u2264', '\\leq', !0),
+ ie(oe, le, be, '<', '\\lt', !0),
+ ie(oe, le, be, '\u2192', '\\rightarrow', !0),
+ ie(oe, le, be, '\u2192', '\\to'),
+ ie(oe, he, be, '\u2271', '\\ngeq', !0),
+ ie(oe, he, be, '\u2270', '\\nleq', !0),
+ ie(oe, le, ye, '\xa0', '\\ '),
+ ie(oe, le, ye, '\xa0', '\\space'),
+ ie(oe, le, ye, '\xa0', '\\nobreakspace'),
+ ie(se, le, ye, '\xa0', '\\ '),
+ ie(se, le, ye, '\xa0', ' '),
+ ie(se, le, ye, '\xa0', '\\space'),
+ ie(se, le, ye, '\xa0', '\\nobreakspace'),
+ ie(oe, le, ye, null, '\\nobreak'),
+ ie(oe, le, ye, null, '\\allowbreak'),
+ ie(oe, le, ve, ',', ','),
+ ie(oe, le, ve, ';', ';'),
+ ie(oe, he, me, '\u22bc', '\\barwedge', !0),
+ ie(oe, he, me, '\u22bb', '\\veebar', !0),
+ ie(oe, le, me, '\u2299', '\\odot', !0),
+ ie(oe, le, me, '\u2295', '\\oplus', !0),
+ ie(oe, le, me, '\u2297', '\\otimes', !0),
+ ie(oe, le, xe, '\u2202', '\\partial', !0),
+ ie(oe, le, me, '\u2298', '\\oslash', !0),
+ ie(oe, he, me, '\u229a', '\\circledcirc', !0),
+ ie(oe, he, me, '\u22a1', '\\boxdot', !0),
+ ie(oe, le, me, '\u25b3', '\\bigtriangleup'),
+ ie(oe, le, me, '\u25bd', '\\bigtriangledown'),
+ ie(oe, le, me, '\u2020', '\\dagger'),
+ ie(oe, le, me, '\u22c4', '\\diamond'),
+ ie(oe, le, me, '\u22c6', '\\star'),
+ ie(oe, le, me, '\u25c3', '\\triangleleft'),
+ ie(oe, le, me, '\u25b9', '\\triangleright'),
+ ie(oe, le, ge, '{', '\\{'),
+ ie(se, le, xe, '{', '\\{'),
+ ie(se, le, xe, '{', '\\textbraceleft'),
+ ie(oe, le, ue, '}', '\\}'),
+ ie(se, le, xe, '}', '\\}'),
+ ie(se, le, xe, '}', '\\textbraceright'),
+ ie(oe, le, ge, '{', '\\lbrace'),
+ ie(oe, le, ue, '}', '\\rbrace'),
+ ie(oe, le, ge, '[', '\\lbrack', !0),
+ ie(se, le, xe, '[', '\\lbrack', !0),
+ ie(oe, le, ue, ']', '\\rbrack', !0),
+ ie(se, le, xe, ']', '\\rbrack', !0),
+ ie(oe, le, ge, '(', '\\lparen', !0),
+ ie(oe, le, ue, ')', '\\rparen', !0),
+ ie(se, le, xe, '<', '\\textless', !0),
+ ie(se, le, xe, '>', '\\textgreater', !0),
+ ie(oe, le, ge, '\u230a', '\\lfloor', !0),
+ ie(oe, le, ue, '\u230b', '\\rfloor', !0),
+ ie(oe, le, ge, '\u2308', '\\lceil', !0),
+ ie(oe, le, ue, '\u2309', '\\rceil', !0),
+ ie(oe, le, xe, '\\', '\\backslash'),
+ ie(oe, le, xe, '\u2223', '|'),
+ ie(oe, le, xe, '\u2223', '\\vert'),
+ ie(se, le, xe, '|', '\\textbar', !0),
+ ie(oe, le, xe, '\u2225', '\\|'),
+ ie(oe, le, xe, '\u2225', '\\Vert'),
+ ie(se, le, xe, '\u2225', '\\textbardbl'),
+ ie(se, le, xe, '~', '\\textasciitilde'),
+ ie(se, le, xe, '\\', '\\textbackslash'),
+ ie(se, le, xe, '^', '\\textasciicircum'),
+ ie(oe, le, be, '\u2191', '\\uparrow', !0),
+ ie(oe, le, be, '\u21d1', '\\Uparrow', !0),
+ ie(oe, le, be, '\u2193', '\\downarrow', !0),
+ ie(oe, le, be, '\u21d3', '\\Downarrow', !0),
+ ie(oe, le, be, '\u2195', '\\updownarrow', !0),
+ ie(oe, le, be, '\u21d5', '\\Updownarrow', !0),
+ ie(oe, le, fe, '\u2210', '\\coprod'),
+ ie(oe, le, fe, '\u22c1', '\\bigvee'),
+ ie(oe, le, fe, '\u22c0', '\\bigwedge'),
+ ie(oe, le, fe, '\u2a04', '\\biguplus'),
+ ie(oe, le, fe, '\u22c2', '\\bigcap'),
+ ie(oe, le, fe, '\u22c3', '\\bigcup'),
+ ie(oe, le, fe, '\u222b', '\\int'),
+ ie(oe, le, fe, '\u222b', '\\intop'),
+ ie(oe, le, fe, '\u222c', '\\iint'),
+ ie(oe, le, fe, '\u222d', '\\iiint'),
+ ie(oe, le, fe, '\u220f', '\\prod'),
+ ie(oe, le, fe, '\u2211', '\\sum'),
+ ie(oe, le, fe, '\u2a02', '\\bigotimes'),
+ ie(oe, le, fe, '\u2a01', '\\bigoplus'),
+ ie(oe, le, fe, '\u2a00', '\\bigodot'),
+ ie(oe, le, fe, '\u222e', '\\oint'),
+ ie(oe, le, fe, '\u222f', '\\oiint'),
+ ie(oe, le, fe, '\u2230', '\\oiiint'),
+ ie(oe, le, fe, '\u2a06', '\\bigsqcup'),
+ ie(oe, le, fe, '\u222b', '\\smallint'),
+ ie(se, le, pe, '\u2026', '\\textellipsis'),
+ ie(oe, le, pe, '\u2026', '\\mathellipsis'),
+ ie(se, le, pe, '\u2026', '\\ldots', !0),
+ ie(oe, le, pe, '\u2026', '\\ldots', !0),
+ ie(oe, le, pe, '\u22ef', '\\@cdots', !0),
+ ie(oe, le, pe, '\u22f1', '\\ddots', !0),
+ ie(oe, le, xe, '\u22ee', '\\varvdots'),
+ ie(oe, le, ce, '\u02ca', '\\acute'),
+ ie(oe, le, ce, '\u02cb', '\\grave'),
+ ie(oe, le, ce, '\xa8', '\\ddot'),
+ ie(oe, le, ce, '~', '\\tilde'),
+ ie(oe, le, ce, '\u02c9', '\\bar'),
+ ie(oe, le, ce, '\u02d8', '\\breve'),
+ ie(oe, le, ce, '\u02c7', '\\check'),
+ ie(oe, le, ce, '^', '\\hat'),
+ ie(oe, le, ce, '\u20d7', '\\vec'),
+ ie(oe, le, ce, '\u02d9', '\\dot'),
+ ie(oe, le, ce, '\u02da', '\\mathring'),
+ ie(oe, le, de, '\ue131', '\\@imath'),
+ ie(oe, le, de, '\ue237', '\\@jmath'),
+ ie(oe, le, xe, '\u0131', '\u0131'),
+ ie(oe, le, xe, '\u0237', '\u0237'),
+ ie(se, le, xe, '\u0131', '\\i', !0),
+ ie(se, le, xe, '\u0237', '\\j', !0),
+ ie(se, le, xe, '\xdf', '\\ss', !0),
+ ie(se, le, xe, '\xe6', '\\ae', !0),
+ ie(se, le, xe, '\u0153', '\\oe', !0),
+ ie(se, le, xe, '\xf8', '\\o', !0),
+ ie(se, le, xe, '\xc6', '\\AE', !0),
+ ie(se, le, xe, '\u0152', '\\OE', !0),
+ ie(se, le, xe, '\xd8', '\\O', !0),
+ ie(se, le, ce, '\u02ca', "\\'"),
+ ie(se, le, ce, '\u02cb', '\\`'),
+ ie(se, le, ce, '\u02c6', '\\^'),
+ ie(se, le, ce, '\u02dc', '\\~'),
+ ie(se, le, ce, '\u02c9', '\\='),
+ ie(se, le, ce, '\u02d8', '\\u'),
+ ie(se, le, ce, '\u02d9', '\\.'),
+ ie(se, le, ce, '\xb8', '\\c'),
+ ie(se, le, ce, '\u02da', '\\r'),
+ ie(se, le, ce, '\u02c7', '\\v'),
+ ie(se, le, ce, '\xa8', '\\"'),
+ ie(se, le, ce, '\u02dd', '\\H'),
+ ie(se, le, ce, '\u25ef', '\\textcircled'));
+ var we = { '--': !0, '---': !0, '``': !0, "''": !0 };
+ (ie(se, le, xe, '\u2013', '--', !0),
+ ie(se, le, xe, '\u2013', '\\textendash'),
+ ie(se, le, xe, '\u2014', '---', !0),
+ ie(se, le, xe, '\u2014', '\\textemdash'),
+ ie(se, le, xe, '\u2018', '`', !0),
+ ie(se, le, xe, '\u2018', '\\textquoteleft'),
+ ie(se, le, xe, '\u2019', "'", !0),
+ ie(se, le, xe, '\u2019', '\\textquoteright'),
+ ie(se, le, xe, '\u201c', '``', !0),
+ ie(se, le, xe, '\u201c', '\\textquotedblleft'),
+ ie(se, le, xe, '\u201d', "''", !0),
+ ie(se, le, xe, '\u201d', '\\textquotedblright'),
+ ie(oe, le, xe, '\xb0', '\\degree', !0),
+ ie(se, le, xe, '\xb0', '\\degree'),
+ ie(se, le, xe, '\xb0', '\\textdegree', !0),
+ ie(oe, le, xe, '\xa3', '\\pounds'),
+ ie(oe, le, xe, '\xa3', '\\mathsterling', !0),
+ ie(se, le, xe, '\xa3', '\\pounds'),
+ ie(se, le, xe, '\xa3', '\\textsterling', !0),
+ ie(oe, he, xe, '\u2720', '\\maltese'),
+ ie(se, he, xe, '\u2720', '\\maltese'));
+ for (var ke = '0123456789/@."', Se = 0; Se < ke.length; Se++) {
+ var Me = ke.charAt(Se);
+ ie(oe, le, xe, Me, Me);
+ }
+ for (var ze = '0123456789!@*()-=+";:?/.,', Ae = 0; Ae < ze.length; Ae++) {
+ var Te = ze.charAt(Ae);
+ ie(se, le, xe, Te, Te);
+ }
+ for (
+ var Be = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', Ce = 0;
+ Ce < Be.length;
+ Ce++
+ ) {
+ var Ne = Be.charAt(Ce);
+ (ie(oe, le, de, Ne, Ne), ie(se, le, xe, Ne, Ne));
+ }
+ (ie(oe, he, xe, 'C', '\u2102'),
+ ie(se, he, xe, 'C', '\u2102'),
+ ie(oe, he, xe, 'H', '\u210d'),
+ ie(se, he, xe, 'H', '\u210d'),
+ ie(oe, he, xe, 'N', '\u2115'),
+ ie(se, he, xe, 'N', '\u2115'),
+ ie(oe, he, xe, 'P', '\u2119'),
+ ie(se, he, xe, 'P', '\u2119'),
+ ie(oe, he, xe, 'Q', '\u211a'),
+ ie(se, he, xe, 'Q', '\u211a'),
+ ie(oe, he, xe, 'R', '\u211d'),
+ ie(se, he, xe, 'R', '\u211d'),
+ ie(oe, he, xe, 'Z', '\u2124'),
+ ie(se, he, xe, 'Z', '\u2124'),
+ ie(oe, le, de, 'h', '\u210e'),
+ ie(se, le, de, 'h', '\u210e'));
+ for (var qe = '', Ie = 0; Ie < Be.length; Ie++) {
+ var Re = Be.charAt(Ie);
+ (ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56320 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56372 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56424 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56580 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56736 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56788 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56840 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56944 + Ie))),
+ ie(se, le, xe, Re, qe),
+ Ie < 26 &&
+ (ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56632 + Ie))),
+ ie(se, le, xe, Re, qe),
+ ie(oe, le, de, Re, (qe = String.fromCharCode(55349, 56476 + Ie))),
+ ie(se, le, xe, Re, qe)));
+ }
+ (ie(oe, le, de, 'k', (qe = String.fromCharCode(55349, 56668))), ie(se, le, xe, 'k', qe));
+ for (var He = 0; He < 10; He++) {
+ var Oe = He.toString();
+ (ie(oe, le, de, Oe, (qe = String.fromCharCode(55349, 57294 + He))),
+ ie(se, le, xe, Oe, qe),
+ ie(oe, le, de, Oe, (qe = String.fromCharCode(55349, 57314 + He))),
+ ie(se, le, xe, Oe, qe),
+ ie(oe, le, de, Oe, (qe = String.fromCharCode(55349, 57324 + He))),
+ ie(se, le, xe, Oe, qe),
+ ie(oe, le, de, Oe, (qe = String.fromCharCode(55349, 57334 + He))),
+ ie(se, le, xe, Oe, qe));
+ }
+ for (var Ee = '\xd0\xde\xfe', Le = 0; Le < Ee.length; Le++) {
+ var De = Ee.charAt(Le);
+ (ie(oe, le, de, De, De), ie(se, le, xe, De, De));
+ }
+ var Ve = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['mathscr', 'textscr', 'Script-Regular'],
+ ['', '', ''],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ],
+ Pe = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['', '', ''],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ],
+ Fe = function (e, t, r) {
+ return (
+ ae[r][e] && ae[r][e].replace && (e = ae[r][e].replace),
+ { value: e, metrics: N(e, t, r) }
+ );
+ },
+ Ge = function (e, t, r, n, a) {
+ var i,
+ o = Fe(e, t, r),
+ s = o.metrics;
+ if (((e = o.value), s)) {
+ var l = s.italic;
+ (('text' === r || (n && 'mathit' === n.font)) && (l = 0),
+ (i = new Z(e, s.height, s.depth, l, s.skew, s.width, a)));
+ } else
+ ('undefined' != typeof console &&
+ console.warn(
+ "No character metrics for '" + e + "' in style '" + t + "' and mode '" + r + "'",
+ ),
+ (i = new Z(e, 0, 0, 0, 0, 0, a)));
+ if (n) {
+ ((i.maxFontSize = n.sizeMultiplier), n.style.isTight() && i.classes.push('mtight'));
+ var h = n.getColor();
+ h && (i.style.color = h);
+ }
+ return i;
+ },
+ Ue = function (e, t) {
+ if (G(e.classes) !== G(t.classes) || e.skew !== t.skew || e.maxFontSize !== t.maxFontSize)
+ return !1;
+ if (1 === e.classes.length) {
+ var r = e.classes[0];
+ if ('mbin' === r || 'mord' === r) return !1;
+ }
+ for (var n in e.style)
+ if (e.style.hasOwnProperty(n) && e.style[n] !== t.style[n]) return !1;
+ for (var a in t.style)
+ if (t.style.hasOwnProperty(a) && e.style[a] !== t.style[a]) return !1;
+ return !0;
+ },
+ Ye = function (e) {
+ for (var t = 0, r = 0, n = 0, a = 0; a < e.children.length; a++) {
+ var i = e.children[a];
+ (i.height > t && (t = i.height),
+ i.depth > r && (r = i.depth),
+ i.maxFontSize > n && (n = i.maxFontSize));
+ }
+ ((e.height = t), (e.depth = r), (e.maxFontSize = n));
+ },
+ Xe = function (e, t, r, n) {
+ var a = new W(e, t, r, n);
+ return (Ye(a), a);
+ },
+ We = function (e, t, r, n) {
+ return new W(e, t, r, n);
+ },
+ _e = function (e) {
+ var t = new A(e);
+ return (Ye(t), t);
+ },
+ je = function (e, t, r) {
+ var n = '';
+ switch (e) {
+ case 'amsrm':
+ n = 'AMS';
+ break;
+ case 'textrm':
+ n = 'Main';
+ break;
+ case 'textsf':
+ n = 'SansSerif';
+ break;
+ case 'texttt':
+ n = 'Typewriter';
+ break;
+ default:
+ n = e;
+ }
+ return (
+ n +
+ '-' +
+ ('textbf' === t && 'textit' === r
+ ? 'BoldItalic'
+ : 'textbf' === t
+ ? 'Bold'
+ : 'textit' === t
+ ? 'Italic'
+ : 'Regular')
+ );
+ },
+ $e = {
+ mathbf: { variant: 'bold', fontName: 'Main-Bold' },
+ mathrm: { variant: 'normal', fontName: 'Main-Regular' },
+ textit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathnormal: { variant: 'italic', fontName: 'Math-Italic' },
+ mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' },
+ mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' },
+ mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' },
+ mathscr: { variant: 'script', fontName: 'Script-Regular' },
+ mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' },
+ mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' },
+ },
+ Ze = {
+ vec: ['vec', 0.471, 0.714],
+ oiintSize1: ['oiintSize1', 0.957, 0.499],
+ oiintSize2: ['oiintSize2', 1.472, 0.659],
+ oiiintSize1: ['oiiintSize1', 1.304, 0.499],
+ oiiintSize2: ['oiiintSize2', 1.98, 0.659],
+ },
+ Ke = {
+ fontMap: $e,
+ makeSymbol: Ge,
+ mathsym: function (e, t, r, n) {
+ return (
+ void 0 === n && (n = []),
+ 'boldsymbol' === r.font && Fe(e, 'Main-Bold', t).metrics
+ ? Ge(e, 'Main-Bold', t, r, n.concat(['mathbf']))
+ : '\\' === e || 'main' === ae[t][e].font
+ ? Ge(e, 'Main-Regular', t, r, n)
+ : Ge(e, 'AMS-Regular', t, r, n.concat(['amsrm']))
+ );
+ },
+ makeSpan: Xe,
+ makeSvgSpan: We,
+ makeLineSpan: function (e, t, r) {
+ var n = Xe([e], [], t);
+ return (
+ (n.height = Math.max(r || t.fontMetrics().defaultRuleThickness, t.minRuleThickness)),
+ (n.style.borderBottomWidth = F(n.height)),
+ (n.maxFontSize = 1),
+ n
+ );
+ },
+ makeAnchor: function (e, t, r, n) {
+ var a = new _(e, t, r, n);
+ return (Ye(a), a);
+ },
+ makeFragment: _e,
+ wrapFragment: function (e, t) {
+ return e instanceof A ? Xe([], [e], t) : e;
+ },
+ makeVList: function (e, t) {
+ for (
+ var r = (function (e) {
+ if ('individualShift' === e.positionType) {
+ for (
+ var t = e.children, r = [t[0]], n = -t[0].shift - t[0].elem.depth, a = n, i = 1;
+ i < t.length;
+ i++
+ ) {
+ var o = -t[i].shift - a - t[i].elem.depth,
+ s = o - (t[i - 1].elem.height + t[i - 1].elem.depth);
+ ((a += o), r.push({ type: 'kern', size: s }), r.push(t[i]));
+ }
+ return { children: r, depth: n };
+ }
+ var l;
+ if ('top' === e.positionType) {
+ for (var h = e.positionData, c = 0; c < e.children.length; c++) {
+ var m = e.children[c];
+ h -= 'kern' === m.type ? m.size : m.elem.height + m.elem.depth;
+ }
+ l = h;
+ } else if ('bottom' === e.positionType) l = -e.positionData;
+ else {
+ var u = e.children[0];
+ if ('elem' !== u.type) throw new Error('First child must have type "elem".');
+ if ('shift' === e.positionType) l = -u.elem.depth - e.positionData;
+ else {
+ if ('firstBaseline' !== e.positionType)
+ throw new Error('Invalid positionType ' + e.positionType + '.');
+ l = -u.elem.depth;
+ }
+ }
+ return { children: e.children, depth: l };
+ })(e),
+ n = r.children,
+ a = r.depth,
+ i = 0,
+ o = 0;
+ o < n.length;
+ o++
+ ) {
+ var s = n[o];
+ if ('elem' === s.type) {
+ var l = s.elem;
+ i = Math.max(i, l.maxFontSize, l.height);
+ }
+ }
+ i += 2;
+ var h = Xe(['pstrut'], []);
+ h.style.height = F(i);
+ for (var c = [], m = a, u = a, p = a, d = 0; d < n.length; d++) {
+ var f = n[d];
+ if ('kern' === f.type) p += f.size;
+ else {
+ var g = f.elem,
+ v = f.wrapperClasses || [],
+ b = f.wrapperStyle || {},
+ y = Xe(v, [h, g], void 0, b);
+ ((y.style.top = F(-i - p - g.depth)),
+ f.marginLeft && (y.style.marginLeft = f.marginLeft),
+ f.marginRight && (y.style.marginRight = f.marginRight),
+ c.push(y),
+ (p += g.height + g.depth));
+ }
+ ((m = Math.min(m, p)), (u = Math.max(u, p)));
+ }
+ var x,
+ w = Xe(['vlist'], c);
+ if (((w.style.height = F(u)), m < 0)) {
+ var k = Xe([], []),
+ S = Xe(['vlist'], [k]);
+ S.style.height = F(-m);
+ var M = Xe(['vlist-s'], [new Z('\u200b')]);
+ x = [Xe(['vlist-r'], [w, M]), Xe(['vlist-r'], [S])];
+ } else x = [Xe(['vlist-r'], [w])];
+ var z = Xe(['vlist-t'], x);
+ return (2 === x.length && z.classes.push('vlist-t2'), (z.height = u), (z.depth = -m), z);
+ },
+ makeOrd: function (e, t, r) {
+ var a = e.mode,
+ i = e.text,
+ o = ['mord'],
+ s = 'math' === a || ('text' === a && t.font),
+ l = s ? t.font : t.fontFamily;
+ if (55349 === i.charCodeAt(0)) {
+ var h = (function (e, t) {
+ var r = 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320) + 65536,
+ a = 'math' === t ? 0 : 1;
+ if (119808 <= r && r < 120484) {
+ var i = Math.floor((r - 119808) / 26);
+ return [Ve[i][2], Ve[i][a]];
+ }
+ if (120782 <= r && r <= 120831) {
+ var o = Math.floor((r - 120782) / 10);
+ return [Pe[o][2], Pe[o][a]];
+ }
+ if (120485 === r || 120486 === r) return [Ve[0][2], Ve[0][a]];
+ if (120486 < r && r < 120782) return ['', ''];
+ throw new n('Unsupported character: ' + e);
+ })(i, a),
+ c = h[0],
+ m = h[1];
+ return Ge(i, c, a, t, o.concat(m));
+ }
+ if (l) {
+ var u, p;
+ if ('boldsymbol' === l) {
+ var d = (function (e, t, r, n, a) {
+ return 'textord' !== a && Fe(e, 'Math-BoldItalic', t).metrics
+ ? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' }
+ : { fontName: 'Main-Bold', fontClass: 'mathbf' };
+ })(i, a, 0, 0, r);
+ ((u = d.fontName), (p = [d.fontClass]));
+ } else
+ s
+ ? ((u = $e[l].fontName), (p = [l]))
+ : ((u = je(l, t.fontWeight, t.fontShape)), (p = [l, t.fontWeight, t.fontShape]));
+ if (Fe(i, u, a).metrics) return Ge(i, u, a, t, o.concat(p));
+ if (we.hasOwnProperty(i) && 'Typewriter' === u.slice(0, 10)) {
+ for (var f = [], g = 0; g < i.length; g++) f.push(Ge(i[g], u, a, t, o.concat(p)));
+ return _e(f);
+ }
+ }
+ if ('mathord' === r) return Ge(i, 'Math-Italic', a, t, o.concat(['mathnormal']));
+ if ('textord' === r) {
+ var v = ae[a][i] && ae[a][i].font;
+ if ('ams' === v) {
+ var b = je('amsrm', t.fontWeight, t.fontShape);
+ return Ge(i, b, a, t, o.concat('amsrm', t.fontWeight, t.fontShape));
+ }
+ if ('main' !== v && v) {
+ var y = je(v, t.fontWeight, t.fontShape);
+ return Ge(i, y, a, t, o.concat(y, t.fontWeight, t.fontShape));
+ }
+ var x = je('textrm', t.fontWeight, t.fontShape);
+ return Ge(i, x, a, t, o.concat(t.fontWeight, t.fontShape));
+ }
+ throw new Error('unexpected type: ' + r + ' in makeOrd');
+ },
+ makeGlue: function (e, t) {
+ var r = Xe(['mspace'], [], t),
+ n = P(e, t);
+ return ((r.style.marginRight = F(n)), r);
+ },
+ staticSvg: function (e, t) {
+ var r = Ze[e],
+ n = r[0],
+ a = r[1],
+ i = r[2],
+ o = new J(n),
+ s = new K([o], {
+ width: F(a),
+ height: F(i),
+ style: 'width:' + F(a),
+ viewBox: '0 0 ' + 1e3 * a + ' ' + 1e3 * i,
+ preserveAspectRatio: 'xMinYMin',
+ }),
+ l = We(['overlay'], [s], t);
+ return ((l.height = i), (l.style.height = F(i)), (l.style.width = F(a)), l);
+ },
+ svgData: Ze,
+ tryCombineChars: function (e) {
+ for (var t = 0; t < e.length - 1; t++) {
+ var r = e[t],
+ n = e[t + 1];
+ r instanceof Z &&
+ n instanceof Z &&
+ Ue(r, n) &&
+ ((r.text += n.text),
+ (r.height = Math.max(r.height, n.height)),
+ (r.depth = Math.max(r.depth, n.depth)),
+ (r.italic = n.italic),
+ e.splice(t + 1, 1),
+ t--);
+ }
+ return e;
+ },
+ },
+ Je = { number: 3, unit: 'mu' },
+ Qe = { number: 4, unit: 'mu' },
+ et = { number: 5, unit: 'mu' },
+ tt = {
+ mord: { mop: Je, mbin: Qe, mrel: et, minner: Je },
+ mop: { mord: Je, mop: Je, mrel: et, minner: Je },
+ mbin: { mord: Qe, mop: Qe, mopen: Qe, minner: Qe },
+ mrel: { mord: et, mop: et, mopen: et, minner: et },
+ mopen: {},
+ mclose: { mop: Je, mbin: Qe, mrel: et, minner: Je },
+ mpunct: { mord: Je, mop: Je, mrel: et, mopen: Je, mclose: Je, mpunct: Je, minner: Je },
+ minner: { mord: Je, mop: Je, mbin: Qe, mrel: et, mopen: Je, mpunct: Je, minner: Je },
+ },
+ rt = {
+ mord: { mop: Je },
+ mop: { mord: Je, mop: Je },
+ mbin: {},
+ mrel: {},
+ mopen: {},
+ mclose: { mop: Je },
+ mpunct: {},
+ minner: { mop: Je },
+ },
+ nt = {},
+ at = {},
+ it = {};
+ function ot(e) {
+ for (
+ var t = e.type,
+ r = e.names,
+ n = e.props,
+ a = e.handler,
+ i = e.htmlBuilder,
+ o = e.mathmlBuilder,
+ s = {
+ type: t,
+ numArgs: n.numArgs,
+ argTypes: n.argTypes,
+ allowedInArgument: !!n.allowedInArgument,
+ allowedInText: !!n.allowedInText,
+ allowedInMath: void 0 === n.allowedInMath || n.allowedInMath,
+ numOptionalArgs: n.numOptionalArgs || 0,
+ infix: !!n.infix,
+ primitive: !!n.primitive,
+ handler: a,
+ },
+ l = 0;
+ l < r.length;
+ ++l
+ )
+ nt[r[l]] = s;
+ t && (i && (at[t] = i), o && (it[t] = o));
+ }
+ function st(e) {
+ ot({
+ type: e.type,
+ names: [],
+ props: { numArgs: 0 },
+ handler: function () {
+ throw new Error('Should never be called.');
+ },
+ htmlBuilder: e.htmlBuilder,
+ mathmlBuilder: e.mathmlBuilder,
+ });
+ }
+ var lt = function (e) {
+ return 'ordgroup' === e.type && 1 === e.body.length ? e.body[0] : e;
+ },
+ ht = function (e) {
+ return 'ordgroup' === e.type ? e.body : [e];
+ },
+ ct = Ke.makeSpan,
+ mt = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct'],
+ ut = ['rightmost', 'mrel', 'mclose', 'mpunct'],
+ pt = { display: x.DISPLAY, text: x.TEXT, script: x.SCRIPT, scriptscript: x.SCRIPTSCRIPT },
+ dt = {
+ mord: 'mord',
+ mop: 'mop',
+ mbin: 'mbin',
+ mrel: 'mrel',
+ mopen: 'mopen',
+ mclose: 'mclose',
+ mpunct: 'mpunct',
+ minner: 'minner',
+ },
+ ft = function (e, t, r, n) {
+ void 0 === n && (n = [null, null]);
+ for (var a = [], i = 0; i < e.length; i++) {
+ var o = wt(e[i], t);
+ if (o instanceof A) {
+ var s = o.children;
+ a.push.apply(a, s);
+ } else a.push(o);
+ }
+ if ((Ke.tryCombineChars(a), !r)) return a;
+ var h = t;
+ if (1 === e.length) {
+ var c = e[0];
+ 'sizing' === c.type
+ ? (h = t.havingSize(c.size))
+ : 'styling' === c.type && (h = t.havingStyle(pt[c.style]));
+ }
+ var m = ct([n[0] || 'leftmost'], [], t),
+ u = ct([n[1] || 'rightmost'], [], t),
+ p = 'root' === r;
+ return (
+ gt(
+ a,
+ function (e, t) {
+ var r = t.classes[0],
+ n = e.classes[0];
+ 'mbin' === r && l.contains(ut, n)
+ ? (t.classes[0] = 'mord')
+ : 'mbin' === n && l.contains(mt, r) && (e.classes[0] = 'mord');
+ },
+ { node: m },
+ u,
+ p,
+ ),
+ gt(
+ a,
+ function (e, t) {
+ var r = yt(t),
+ n = yt(e),
+ a = r && n ? (e.hasClass('mtight') ? rt[r][n] : tt[r][n]) : null;
+ if (a) return Ke.makeGlue(a, h);
+ },
+ { node: m },
+ u,
+ p,
+ ),
+ a
+ );
+ },
+ gt = function e(t, r, n, a, i) {
+ a && t.push(a);
+ for (var o = 0; o < t.length; o++) {
+ var s = t[o],
+ l = vt(s);
+ if (l) e(l.children, r, n, null, i);
+ else {
+ var h = !s.hasClass('mspace');
+ if (h) {
+ var c = r(s, n.node);
+ c && (n.insertAfter ? n.insertAfter(c) : (t.unshift(c), o++));
+ }
+ (h ? (n.node = s) : i && s.hasClass('newline') && (n.node = ct(['leftmost'])),
+ (n.insertAfter = (function (e) {
+ return function (r) {
+ (t.splice(e + 1, 0, r), o++);
+ };
+ })(o)));
+ }
+ }
+ a && t.pop();
+ },
+ vt = function (e) {
+ return e instanceof A || e instanceof _ || (e instanceof W && e.hasClass('enclosing'))
+ ? e
+ : null;
+ },
+ bt = function e(t, r) {
+ var n = vt(t);
+ if (n) {
+ var a = n.children;
+ if (a.length) {
+ if ('right' === r) return e(a[a.length - 1], 'right');
+ if ('left' === r) return e(a[0], 'left');
+ }
+ }
+ return t;
+ },
+ yt = function (e, t) {
+ return e ? (t && (e = bt(e, t)), dt[e.classes[0]] || null) : null;
+ },
+ xt = function (e, t) {
+ var r = ['nulldelimiter'].concat(e.baseSizingClasses());
+ return ct(t.concat(r));
+ },
+ wt = function (e, t, r) {
+ if (!e) return ct();
+ if (at[e.type]) {
+ var a = at[e.type](e, t);
+ if (r && t.size !== r.size) {
+ a = ct(t.sizingClasses(r), [a], t);
+ var i = t.sizeMultiplier / r.sizeMultiplier;
+ ((a.height *= i), (a.depth *= i));
+ }
+ return a;
+ }
+ throw new n("Got group of unknown type: '" + e.type + "'");
+ };
+ function kt(e, t) {
+ var r = ct(['base'], e, t),
+ n = ct(['strut']);
+ return (
+ (n.style.height = F(r.height + r.depth)),
+ r.depth && (n.style.verticalAlign = F(-r.depth)),
+ r.children.unshift(n),
+ r
+ );
+ }
+ function St(e, t) {
+ var r = null;
+ 1 === e.length && 'tag' === e[0].type && ((r = e[0].tag), (e = e[0].body));
+ var n,
+ a = ft(e, t, 'root');
+ 2 === a.length && a[1].hasClass('tag') && (n = a.pop());
+ for (var i, o = [], s = [], l = 0; l < a.length; l++)
+ if (
+ (s.push(a[l]),
+ a[l].hasClass('mbin') || a[l].hasClass('mrel') || a[l].hasClass('allowbreak'))
+ ) {
+ for (
+ var h = !1;
+ l < a.length - 1 && a[l + 1].hasClass('mspace') && !a[l + 1].hasClass('newline');
+ )
+ (l++, s.push(a[l]), a[l].hasClass('nobreak') && (h = !0));
+ h || (o.push(kt(s, t)), (s = []));
+ } else
+ a[l].hasClass('newline') &&
+ (s.pop(), s.length > 0 && (o.push(kt(s, t)), (s = [])), o.push(a[l]));
+ (s.length > 0 && o.push(kt(s, t)),
+ r ? (((i = kt(ft(r, t, !0))).classes = ['tag']), o.push(i)) : n && o.push(n));
+ var c = ct(['katex-html'], o);
+ if ((c.setAttribute('aria-hidden', 'true'), i)) {
+ var m = i.children[0];
+ ((m.style.height = F(c.height + c.depth)),
+ c.depth && (m.style.verticalAlign = F(-c.depth)));
+ }
+ return c;
+ }
+ function Mt(e) {
+ return new A(e);
+ }
+ var zt = (function () {
+ function e(e, t, r) {
+ ((this.type = void 0),
+ (this.attributes = void 0),
+ (this.children = void 0),
+ (this.classes = void 0),
+ (this.type = e),
+ (this.attributes = {}),
+ (this.children = t || []),
+ (this.classes = r || []));
+ }
+ var t = e.prototype;
+ return (
+ (t.setAttribute = function (e, t) {
+ this.attributes[e] = t;
+ }),
+ (t.getAttribute = function (e) {
+ return this.attributes[e];
+ }),
+ (t.toNode = function () {
+ var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type);
+ for (var t in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, t) &&
+ e.setAttribute(t, this.attributes[t]);
+ this.classes.length > 0 && (e.className = G(this.classes));
+ for (var r = 0; r < this.children.length; r++) e.appendChild(this.children[r].toNode());
+ return e;
+ }),
+ (t.toMarkup = function () {
+ var e = '<' + this.type;
+ for (var t in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, t) &&
+ ((e += ' ' + t + '="'), (e += l.escape(this.attributes[t])), (e += '"'));
+ (this.classes.length > 0 && (e += ' class ="' + l.escape(G(this.classes)) + '"'),
+ (e += '>'));
+ for (var r = 0; r < this.children.length; r++) e += this.children[r].toMarkup();
+ return (e += '' + this.type + '>');
+ }),
+ (t.toText = function () {
+ return this.children
+ .map(function (e) {
+ return e.toText();
+ })
+ .join('');
+ }),
+ e
+ );
+ })(),
+ At = (function () {
+ function e(e) {
+ ((this.text = void 0), (this.text = e));
+ }
+ var t = e.prototype;
+ return (
+ (t.toNode = function () {
+ return document.createTextNode(this.text);
+ }),
+ (t.toMarkup = function () {
+ return l.escape(this.toText());
+ }),
+ (t.toText = function () {
+ return this.text;
+ }),
+ e
+ );
+ })(),
+ Tt = {
+ MathNode: zt,
+ TextNode: At,
+ SpaceNode: (function () {
+ function e(e) {
+ ((this.width = void 0),
+ (this.character = void 0),
+ (this.width = e),
+ (this.character =
+ e >= 0.05555 && e <= 0.05556
+ ? '\u200a'
+ : e >= 0.1666 && e <= 0.1667
+ ? '\u2009'
+ : e >= 0.2222 && e <= 0.2223
+ ? '\u2005'
+ : e >= 0.2777 && e <= 0.2778
+ ? '\u2005\u200a'
+ : e >= -0.05556 && e <= -0.05555
+ ? '\u200a\u2063'
+ : e >= -0.1667 && e <= -0.1666
+ ? '\u2009\u2063'
+ : e >= -0.2223 && e <= -0.2222
+ ? '\u205f\u2063'
+ : e >= -0.2778 && e <= -0.2777
+ ? '\u2005\u2063'
+ : null));
+ }
+ var t = e.prototype;
+ return (
+ (t.toNode = function () {
+ if (this.character) return document.createTextNode(this.character);
+ var e = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace');
+ return (e.setAttribute('width', F(this.width)), e);
+ }),
+ (t.toMarkup = function () {
+ return this.character
+ ? '' + this.character + ' '
+ : ' ';
+ }),
+ (t.toText = function () {
+ return this.character ? this.character : ' ';
+ }),
+ e
+ );
+ })(),
+ newDocumentFragment: Mt,
+ },
+ Bt = function (e, t, r) {
+ return (
+ !ae[t][e] ||
+ !ae[t][e].replace ||
+ 55349 === e.charCodeAt(0) ||
+ (we.hasOwnProperty(e) &&
+ r &&
+ ((r.fontFamily && 'tt' === r.fontFamily.slice(4, 6)) ||
+ (r.font && 'tt' === r.font.slice(4, 6)))) ||
+ (e = ae[t][e].replace),
+ new Tt.TextNode(e)
+ );
+ },
+ Ct = function (e) {
+ return 1 === e.length ? e[0] : new Tt.MathNode('mrow', e);
+ },
+ Nt = function (e, t) {
+ if ('texttt' === t.fontFamily) return 'monospace';
+ if ('textsf' === t.fontFamily)
+ return 'textit' === t.fontShape && 'textbf' === t.fontWeight
+ ? 'sans-serif-bold-italic'
+ : 'textit' === t.fontShape
+ ? 'sans-serif-italic'
+ : 'textbf' === t.fontWeight
+ ? 'bold-sans-serif'
+ : 'sans-serif';
+ if ('textit' === t.fontShape && 'textbf' === t.fontWeight) return 'bold-italic';
+ if ('textit' === t.fontShape) return 'italic';
+ if ('textbf' === t.fontWeight) return 'bold';
+ var r = t.font;
+ if (!r || 'mathnormal' === r) return null;
+ var n = e.mode;
+ if ('mathit' === r) return 'italic';
+ if ('boldsymbol' === r) return 'textord' === e.type ? 'bold' : 'bold-italic';
+ if ('mathbf' === r) return 'bold';
+ if ('mathbb' === r) return 'double-struck';
+ if ('mathfrak' === r) return 'fraktur';
+ if ('mathscr' === r || 'mathcal' === r) return 'script';
+ if ('mathsf' === r) return 'sans-serif';
+ if ('mathtt' === r) return 'monospace';
+ var a = e.text;
+ return l.contains(['\\imath', '\\jmath'], a)
+ ? null
+ : (ae[n][a] && ae[n][a].replace && (a = ae[n][a].replace),
+ N(a, Ke.fontMap[r].fontName, n) ? Ke.fontMap[r].variant : null);
+ },
+ qt = function (e, t, r) {
+ if (1 === e.length) {
+ var n = Rt(e[0], t);
+ return (
+ r &&
+ n instanceof zt &&
+ 'mo' === n.type &&
+ (n.setAttribute('lspace', '0em'), n.setAttribute('rspace', '0em')),
+ [n]
+ );
+ }
+ for (var a, i = [], o = 0; o < e.length; o++) {
+ var s = Rt(e[o], t);
+ if (s instanceof zt && a instanceof zt) {
+ if (
+ 'mtext' === s.type &&
+ 'mtext' === a.type &&
+ s.getAttribute('mathvariant') === a.getAttribute('mathvariant')
+ ) {
+ var l;
+ (l = a.children).push.apply(l, s.children);
+ continue;
+ }
+ if ('mn' === s.type && 'mn' === a.type) {
+ var h;
+ (h = a.children).push.apply(h, s.children);
+ continue;
+ }
+ if ('mi' === s.type && 1 === s.children.length && 'mn' === a.type) {
+ var c = s.children[0];
+ if (c instanceof At && '.' === c.text) {
+ var m;
+ (m = a.children).push.apply(m, s.children);
+ continue;
+ }
+ } else if ('mi' === a.type && 1 === a.children.length) {
+ var u = a.children[0];
+ if (
+ u instanceof At &&
+ '\u0338' === u.text &&
+ ('mo' === s.type || 'mi' === s.type || 'mn' === s.type)
+ ) {
+ var p = s.children[0];
+ p instanceof At &&
+ p.text.length > 0 &&
+ ((p.text = p.text.slice(0, 1) + '\u0338' + p.text.slice(1)), i.pop());
+ }
+ }
+ }
+ (i.push(s), (a = s));
+ }
+ return i;
+ },
+ It = function (e, t, r) {
+ return Ct(qt(e, t, r));
+ },
+ Rt = function (e, t) {
+ if (!e) return new Tt.MathNode('mrow');
+ if (it[e.type]) return it[e.type](e, t);
+ throw new n("Got group of unknown type: '" + e.type + "'");
+ };
+ function Ht(e, t, r, n, a) {
+ var i,
+ o = qt(e, r);
+ i =
+ 1 === o.length && o[0] instanceof zt && l.contains(['mrow', 'mtable'], o[0].type)
+ ? o[0]
+ : new Tt.MathNode('mrow', o);
+ var s = new Tt.MathNode('annotation', [new Tt.TextNode(t)]);
+ s.setAttribute('encoding', 'application/x-tex');
+ var h = new Tt.MathNode('semantics', [i, s]),
+ c = new Tt.MathNode('math', [h]);
+ (c.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'),
+ n && c.setAttribute('display', 'block'));
+ var m = a ? 'katex' : 'katex-mathml';
+ return Ke.makeSpan([m], [c]);
+ }
+ var Ot = function (e) {
+ return new E({
+ style: e.displayMode ? x.DISPLAY : x.TEXT,
+ maxSize: e.maxSize,
+ minRuleThickness: e.minRuleThickness,
+ });
+ },
+ Et = function (e, t) {
+ if (t.displayMode) {
+ var r = ['katex-display'];
+ (t.leqno && r.push('leqno'), t.fleqn && r.push('fleqn'), (e = Ke.makeSpan(r, [e])));
+ }
+ return e;
+ },
+ Lt = function (e, t, r) {
+ var n,
+ a = Ot(r);
+ if ('mathml' === r.output) return Ht(e, t, a, r.displayMode, !0);
+ if ('html' === r.output) {
+ var i = St(e, a);
+ n = Ke.makeSpan(['katex'], [i]);
+ } else {
+ var o = Ht(e, t, a, r.displayMode, !1),
+ s = St(e, a);
+ n = Ke.makeSpan(['katex'], [o, s]);
+ }
+ return Et(n, r);
+ },
+ Dt = {
+ 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': '=',
+ },
+ Vt = {
+ overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
+ underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ underleftarrow: [['leftarrow'], 0.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'], 0.888, 560, 'xMaxYMin'],
+ xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'],
+ xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'],
+ overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'],
+ overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'],
+ xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'],
+ '\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'],
+ xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'],
+ xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'],
+ overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
+ overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548],
+ underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548],
+ underleftrightarrow: [['leftarrow', 'rightarrow'], 0.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'], 0.888, 522],
+ underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
+ overgroup: [['leftgroup', 'rightgroup'], 0.888, 342],
+ undergroup: [['leftgroupunder', 'rightgroupunder'], 0.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],
+ },
+ Pt = function (e, t, r, n, a) {
+ var i,
+ o = e.height + e.depth + r + n;
+ if (/fbox|color|angl/.test(t)) {
+ if (((i = Ke.makeSpan(['stretchy', t], [], a)), 'fbox' === t)) {
+ var s = a.color && a.getColor();
+ s && (i.style.borderColor = s);
+ }
+ } else {
+ var l = [];
+ (/^[bx]cancel$/.test(t) &&
+ l.push(new Q({ x1: '0', y1: '0', x2: '100%', y2: '100%', 'stroke-width': '0.046em' })),
+ /^x?cancel$/.test(t) &&
+ l.push(
+ new Q({ x1: '0', y1: '100%', x2: '100%', y2: '0', 'stroke-width': '0.046em' }),
+ ));
+ var h = new K(l, { width: '100%', height: F(o) });
+ i = Ke.makeSvgSpan([], [h], a);
+ }
+ return ((i.height = o), (i.style.height = F(o)), i);
+ },
+ Ft = function (e) {
+ var t = new Tt.MathNode('mo', [new Tt.TextNode(Dt[e.replace(/^\\/, '')])]);
+ return (t.setAttribute('stretchy', 'true'), t);
+ },
+ Gt = function (e, t) {
+ var r = (function () {
+ var r = 4e5,
+ n = e.label.slice(1);
+ if (l.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], n)) {
+ var a,
+ i,
+ o,
+ s = 'ordgroup' === (d = e.base).type ? d.body.length : 1;
+ if (s > 5)
+ 'widehat' === n || 'widecheck' === n
+ ? ((a = 420), (r = 2364), (o = 0.42), (i = n + '4'))
+ : ((a = 312), (r = 2340), (o = 0.34), (i = 'tilde4'));
+ else {
+ var h = [1, 1, 2, 2, 3, 3][s];
+ 'widehat' === n || 'widecheck' === n
+ ? ((r = [0, 1062, 2364, 2364, 2364][h]),
+ (a = [0, 239, 300, 360, 420][h]),
+ (o = [0, 0.24, 0.3, 0.3, 0.36, 0.42][h]),
+ (i = n + h))
+ : ((r = [0, 600, 1033, 2339, 2340][h]),
+ (a = [0, 260, 286, 306, 312][h]),
+ (o = [0, 0.26, 0.286, 0.3, 0.306, 0.34][h]),
+ (i = 'tilde' + h));
+ }
+ var c = new J(i),
+ m = new K([c], {
+ width: '100%',
+ height: F(o),
+ viewBox: '0 0 ' + r + ' ' + a,
+ preserveAspectRatio: 'none',
+ });
+ return { span: Ke.makeSvgSpan([], [m], t), minWidth: 0, height: o };
+ }
+ var u,
+ p,
+ d,
+ f = [],
+ g = Vt[n],
+ v = g[0],
+ b = g[1],
+ y = g[2],
+ x = y / 1e3,
+ w = v.length;
+ if (1 === w) ((u = ['hide-tail']), (p = [g[3]]));
+ else if (2 === w)
+ ((u = ['halfarrow-left', 'halfarrow-right']), (p = ['xMinYMin', 'xMaxYMin']));
+ else {
+ if (3 !== w)
+ throw new Error(
+ 'Correct katexImagesData or update code here to support\n ' +
+ w +
+ ' children.',
+ );
+ ((u = ['brace-left', 'brace-center', 'brace-right']),
+ (p = ['xMinYMin', 'xMidYMin', 'xMaxYMin']));
+ }
+ for (var k = 0; k < w; k++) {
+ var S = new J(v[k]),
+ M = new K([S], {
+ width: '400em',
+ height: F(x),
+ viewBox: '0 0 ' + r + ' ' + y,
+ preserveAspectRatio: p[k] + ' slice',
+ }),
+ z = Ke.makeSvgSpan([u[k]], [M], t);
+ if (1 === w) return { span: z, minWidth: b, height: x };
+ ((z.style.height = F(x)), f.push(z));
+ }
+ return { span: Ke.makeSpan(['stretchy'], f, t), minWidth: b, height: x };
+ })(),
+ n = r.span,
+ a = r.minWidth,
+ i = r.height;
+ return ((n.height = i), (n.style.height = F(i)), a > 0 && (n.style.minWidth = F(a)), n);
+ };
+ function Ut(e, t) {
+ if (!e || e.type !== t)
+ throw new Error(
+ 'Expected node of type ' + t + ', but got ' + (e ? 'node of type ' + e.type : String(e)),
+ );
+ return e;
+ }
+ function Yt(e) {
+ var t = Xt(e);
+ if (!t)
+ throw new Error(
+ 'Expected node of symbol group type, but got ' +
+ (e ? 'node of type ' + e.type : String(e)),
+ );
+ return t;
+ }
+ function Xt(e) {
+ return e && ('atom' === e.type || re.hasOwnProperty(e.type)) ? e : null;
+ }
+ var Wt = function (e, t) {
+ var r, n, a;
+ e && 'supsub' === e.type
+ ? ((r = (n = Ut(e.base, 'accent')).base),
+ (e.base = r),
+ (a = (function (e) {
+ if (e instanceof W) return e;
+ throw new Error('Expected span but got ' + String(e) + '.');
+ })(wt(e, t))),
+ (e.base = n))
+ : (r = (n = Ut(e, 'accent')).base);
+ var i = wt(r, t.havingCrampedStyle()),
+ o = 0;
+ if (n.isShifty && l.isCharacterBox(r)) {
+ var s = l.getBaseElem(r);
+ o = ee(wt(s, t.havingCrampedStyle())).skew;
+ }
+ var h,
+ c = '\\c' === n.label,
+ m = c ? i.height + i.depth : Math.min(i.height, t.fontMetrics().xHeight);
+ if (n.isStretchy)
+ ((h = Gt(n, t)),
+ (h = Ke.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: i },
+ {
+ type: 'elem',
+ elem: h,
+ wrapperClasses: ['svg-align'],
+ wrapperStyle:
+ o > 0
+ ? { width: 'calc(100% - ' + F(2 * o) + ')', marginLeft: F(2 * o) }
+ : void 0,
+ },
+ ],
+ },
+ t,
+ )));
+ else {
+ var u, p;
+ ('\\vec' === n.label
+ ? ((u = Ke.staticSvg('vec', t)), (p = Ke.svgData.vec[1]))
+ : (((u = ee((u = Ke.makeOrd({ mode: n.mode, text: n.label }, t, 'textord')))).italic =
+ 0),
+ (p = u.width),
+ c && (m += u.depth)),
+ (h = Ke.makeSpan(['accent-body'], [u])));
+ var d = '\\textcircled' === n.label;
+ d && (h.classes.push('accent-full'), (m = i.height));
+ var f = o;
+ (d || (f -= p / 2),
+ (h.style.left = F(f)),
+ '\\textcircled' === n.label && (h.style.top = '.2em'),
+ (h = Ke.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: i },
+ { type: 'kern', size: -m },
+ { type: 'elem', elem: h },
+ ],
+ },
+ t,
+ )));
+ }
+ var g = Ke.makeSpan(['mord', 'accent'], [h], t);
+ return a
+ ? ((a.children[0] = g),
+ (a.height = Math.max(g.height, a.height)),
+ (a.classes[0] = 'mord'),
+ a)
+ : g;
+ },
+ _t = function (e, t) {
+ var r = e.isStretchy ? Ft(e.label) : new Tt.MathNode('mo', [Bt(e.label, e.mode)]),
+ n = new Tt.MathNode('mover', [Rt(e.base, t), r]);
+ return (n.setAttribute('accent', 'true'), n);
+ },
+ jt = new RegExp(
+ [
+ '\\acute',
+ '\\grave',
+ '\\ddot',
+ '\\tilde',
+ '\\bar',
+ '\\breve',
+ '\\check',
+ '\\hat',
+ '\\vec',
+ '\\dot',
+ '\\mathring',
+ ]
+ .map(function (e) {
+ return '\\' + e;
+ })
+ .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: function (e, t) {
+ var r = lt(t[0]),
+ n = !jt.test(e.funcName),
+ a =
+ !n ||
+ '\\widehat' === e.funcName ||
+ '\\widetilde' === e.funcName ||
+ '\\widecheck' === e.funcName;
+ return {
+ type: 'accent',
+ mode: e.parser.mode,
+ label: e.funcName,
+ isStretchy: n,
+ isShifty: a,
+ base: r,
+ };
+ },
+ htmlBuilder: Wt,
+ mathmlBuilder: _t,
+ }),
+ ot({
+ type: 'accent',
+ names: [
+ "\\'",
+ '\\`',
+ '\\^',
+ '\\~',
+ '\\=',
+ '\\u',
+ '\\.',
+ '\\"',
+ '\\c',
+ '\\r',
+ '\\H',
+ '\\v',
+ '\\textcircled',
+ ],
+ props: { numArgs: 1, allowedInText: !0, allowedInMath: !0, argTypes: ['primitive'] },
+ handler: function (e, t) {
+ var r = t[0],
+ n = e.parser.mode;
+ return (
+ 'math' === n &&
+ (e.parser.settings.reportNonstrict(
+ 'mathVsTextAccents',
+ "LaTeX's accent " + e.funcName + ' works only in text mode',
+ ),
+ (n = 'text')),
+ { type: 'accent', mode: n, label: e.funcName, isStretchy: !1, isShifty: !0, base: r }
+ );
+ },
+ htmlBuilder: Wt,
+ mathmlBuilder: _t,
+ }),
+ ot({
+ type: 'accentUnder',
+ names: [
+ '\\underleftarrow',
+ '\\underrightarrow',
+ '\\underleftrightarrow',
+ '\\undergroup',
+ '\\underlinesegment',
+ '\\utilde',
+ ],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = t[0];
+ return { type: 'accentUnder', mode: r.mode, label: n, base: a };
+ },
+ htmlBuilder: function (e, t) {
+ var r = wt(e.base, t),
+ n = Gt(e, t),
+ a = '\\utilde' === e.label ? 0.12 : 0,
+ i = Ke.makeVList(
+ {
+ positionType: 'top',
+ positionData: r.height,
+ children: [
+ { type: 'elem', elem: n, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: a },
+ { type: 'elem', elem: r },
+ ],
+ },
+ t,
+ );
+ return Ke.makeSpan(['mord', 'accentunder'], [i], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = Ft(e.label),
+ n = new Tt.MathNode('munder', [Rt(e.base, t), r]);
+ return (n.setAttribute('accentunder', 'true'), n);
+ },
+ }));
+ var $t = function (e) {
+ var t = new Tt.MathNode('mpadded', e ? [e] : []);
+ return (t.setAttribute('width', '+0.6em'), t.setAttribute('lspace', '0.3em'), t);
+ };
+ 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: function (e, t, r) {
+ var n = e.parser,
+ a = e.funcName;
+ return { type: 'xArrow', mode: n.mode, label: a, body: t[0], below: r[0] };
+ },
+ htmlBuilder: function (e, t) {
+ var r,
+ n = t.style,
+ a = t.havingStyle(n.sup()),
+ i = Ke.wrapFragment(wt(e.body, a, t), t),
+ o = '\\x' === e.label.slice(0, 2) ? 'x' : 'cd';
+ (i.classes.push(o + '-arrow-pad'),
+ e.below &&
+ ((a = t.havingStyle(n.sub())),
+ (r = Ke.wrapFragment(wt(e.below, a, t), t)).classes.push(o + '-arrow-pad')));
+ var s,
+ l = Gt(e, t),
+ h = -t.fontMetrics().axisHeight + 0.5 * l.height,
+ c = -t.fontMetrics().axisHeight - 0.5 * l.height - 0.111;
+ if (((i.depth > 0.25 || '\\xleftequilibrium' === e.label) && (c -= i.depth), r)) {
+ var m = -t.fontMetrics().axisHeight + r.height + 0.5 * l.height + 0.111;
+ s = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: c },
+ { type: 'elem', elem: l, shift: h },
+ { type: 'elem', elem: r, shift: m },
+ ],
+ },
+ t,
+ );
+ } else
+ s = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: c },
+ { type: 'elem', elem: l, shift: h },
+ ],
+ },
+ t,
+ );
+ return (
+ s.children[0].children[0].children[1].classes.push('svg-align'),
+ Ke.makeSpan(['mrel', 'x-arrow'], [s], t)
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r,
+ n = Ft(e.label);
+ if ((n.setAttribute('minsize', 'x' === e.label.charAt(0) ? '1.75em' : '3.0em'), e.body)) {
+ var a = $t(Rt(e.body, t));
+ if (e.below) {
+ var i = $t(Rt(e.below, t));
+ r = new Tt.MathNode('munderover', [n, i, a]);
+ } else r = new Tt.MathNode('mover', [n, a]);
+ } else if (e.below) {
+ var o = $t(Rt(e.below, t));
+ r = new Tt.MathNode('munder', [n, o]);
+ } else ((r = $t()), (r = new Tt.MathNode('mover', [n, r])));
+ return r;
+ },
+ });
+ var Zt = Ke.makeSpan;
+ function Kt(e, t) {
+ var r = ft(e.body, t, !0);
+ return Zt([e.mclass], r, t);
+ }
+ function Jt(e, t) {
+ var r,
+ n = qt(e.body, t);
+ return (
+ 'minner' === e.mclass
+ ? (r = new Tt.MathNode('mpadded', n))
+ : 'mord' === e.mclass
+ ? e.isCharacterBox
+ ? ((r = n[0]).type = 'mi')
+ : (r = new Tt.MathNode('mi', n))
+ : (e.isCharacterBox ? ((r = n[0]).type = 'mo') : (r = new Tt.MathNode('mo', n)),
+ 'mbin' === e.mclass
+ ? ((r.attributes.lspace = '0.22em'), (r.attributes.rspace = '0.22em'))
+ : 'mpunct' === e.mclass
+ ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0.17em'))
+ : 'mopen' === e.mclass || 'mclose' === e.mclass
+ ? ((r.attributes.lspace = '0em'), (r.attributes.rspace = '0em'))
+ : 'minner' === e.mclass &&
+ ((r.attributes.lspace = '0.0556em'), (r.attributes.width = '+0.1111em'))),
+ r
+ );
+ }
+ ot({
+ type: 'mclass',
+ names: [
+ '\\mathord',
+ '\\mathbin',
+ '\\mathrel',
+ '\\mathopen',
+ '\\mathclose',
+ '\\mathpunct',
+ '\\mathinner',
+ ],
+ props: { numArgs: 1, primitive: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = t[0];
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: 'm' + n.slice(5),
+ body: ht(a),
+ isCharacterBox: l.isCharacterBox(a),
+ };
+ },
+ htmlBuilder: Kt,
+ mathmlBuilder: Jt,
+ });
+ var Qt = function (e) {
+ var t = 'ordgroup' === e.type && e.body.length ? e.body[0] : e;
+ return 'atom' !== t.type || ('bin' !== t.family && 'rel' !== t.family)
+ ? 'mord'
+ : 'm' + t.family;
+ };
+ (ot({
+ type: 'mclass',
+ names: ['\\@binrel'],
+ props: { numArgs: 2 },
+ handler: function (e, t) {
+ return {
+ type: 'mclass',
+ mode: e.parser.mode,
+ mclass: Qt(t[0]),
+ body: ht(t[1]),
+ isCharacterBox: l.isCharacterBox(t[1]),
+ };
+ },
+ }),
+ ot({
+ type: 'mclass',
+ names: ['\\stackrel', '\\overset', '\\underset'],
+ props: { numArgs: 2 },
+ handler: function (e, t) {
+ var r,
+ n = e.parser,
+ a = e.funcName,
+ i = t[1],
+ o = t[0];
+ r = '\\stackrel' !== a ? Qt(i) : 'mrel';
+ var s = {
+ type: 'op',
+ mode: i.mode,
+ limits: !0,
+ alwaysHandleSupSub: !0,
+ parentIsSupSub: !1,
+ symbol: !1,
+ suppressBaseShift: '\\stackrel' !== a,
+ body: ht(i),
+ },
+ h = {
+ type: 'supsub',
+ mode: o.mode,
+ base: s,
+ sup: '\\underset' === a ? null : o,
+ sub: '\\underset' === a ? o : null,
+ };
+ return {
+ type: 'mclass',
+ mode: n.mode,
+ mclass: r,
+ body: [h],
+ isCharacterBox: l.isCharacterBox(h),
+ };
+ },
+ htmlBuilder: Kt,
+ mathmlBuilder: Jt,
+ }),
+ ot({
+ type: 'pmb',
+ names: ['\\pmb'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ return { type: 'pmb', mode: e.parser.mode, mclass: Qt(t[0]), body: ht(t[0]) };
+ },
+ htmlBuilder: function (e, t) {
+ var r = ft(e.body, t, !0),
+ n = Ke.makeSpan([e.mclass], r, t);
+ return ((n.style.textShadow = '0.02em 0.01em 0.04px'), n);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = qt(e.body, t),
+ n = new Tt.MathNode('mstyle', r);
+ return (n.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), n);
+ },
+ }));
+ var er = {
+ '>': '\\\\cdrightarrow',
+ '<': '\\\\cdleftarrow',
+ '=': '\\\\cdlongequal',
+ A: '\\uparrow',
+ V: '\\downarrow',
+ '|': '\\Vert',
+ '.': 'no arrow',
+ },
+ tr = function (e) {
+ return 'textord' === e.type && '@' === e.text;
+ };
+ function rr(e, t, r) {
+ var n = er[e];
+ switch (n) {
+ case '\\\\cdrightarrow':
+ case '\\\\cdleftarrow':
+ return r.callFunction(n, [t[0]], [t[1]]);
+ case '\\uparrow':
+ case '\\downarrow':
+ var a = { type: 'atom', text: n, mode: 'math', family: 'rel' },
+ i = {
+ type: 'ordgroup',
+ mode: 'math',
+ body: [
+ r.callFunction('\\\\cdleft', [t[0]], []),
+ r.callFunction('\\Big', [a], []),
+ r.callFunction('\\\\cdright', [t[1]], []),
+ ],
+ };
+ return r.callFunction('\\\\cdparent', [i], []);
+ case '\\\\cdlongequal':
+ return r.callFunction('\\\\cdlongequal', [], []);
+ case '\\Vert':
+ return r.callFunction('\\Big', [{ type: 'textord', text: '\\Vert', mode: 'math' }], []);
+ default:
+ return { type: 'textord', text: ' ', mode: 'math' };
+ }
+ }
+ (ot({
+ type: 'cdlabel',
+ names: ['\\\\cdleft', '\\\\cdright'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName;
+ return { type: 'cdlabel', mode: r.mode, side: n.slice(4), label: t[0] };
+ },
+ htmlBuilder: function (e, t) {
+ var r = t.havingStyle(t.style.sup()),
+ n = Ke.wrapFragment(wt(e.label, r, t), t);
+ return (
+ n.classes.push('cd-label-' + e.side),
+ (n.style.bottom = F(0.8 - n.depth)),
+ (n.height = 0),
+ (n.depth = 0),
+ n
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mrow', [Rt(e.label, t)]);
+ return (
+ (r = new Tt.MathNode('mpadded', [r])).setAttribute('width', '0'),
+ 'left' === e.side && r.setAttribute('lspace', '-1width'),
+ r.setAttribute('voffset', '0.7em'),
+ (r = new Tt.MathNode('mstyle', [r])).setAttribute('displaystyle', 'false'),
+ r.setAttribute('scriptlevel', '1'),
+ r
+ );
+ },
+ }),
+ ot({
+ type: 'cdlabelparent',
+ names: ['\\\\cdparent'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ return { type: 'cdlabelparent', mode: e.parser.mode, fragment: t[0] };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Ke.wrapFragment(wt(e.fragment, t), t);
+ return (r.classes.push('cd-vert-arrow'), r);
+ },
+ mathmlBuilder: function (e, t) {
+ return new Tt.MathNode('mrow', [Rt(e.fragment, t)]);
+ },
+ }),
+ ot({
+ type: 'textord',
+ names: ['\\@char'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ for (var r = e.parser, a = Ut(t[0], 'ordgroup').body, i = '', o = 0; o < a.length; o++) {
+ i += Ut(a[o], 'textord').text;
+ }
+ var s,
+ l = parseInt(i);
+ if (isNaN(l)) throw new n('\\@char has non-numeric argument ' + i);
+ if (l < 0 || l >= 1114111) throw new n('\\@char with invalid code point ' + i);
+ return (
+ l <= 65535
+ ? (s = String.fromCharCode(l))
+ : ((l -= 65536), (s = String.fromCharCode(55296 + (l >> 10), 56320 + (1023 & l)))),
+ { type: 'textord', mode: r.mode, text: s }
+ );
+ },
+ }));
+ var nr = function (e, t) {
+ var r = ft(e.body, t.withColor(e.color), !1);
+ return Ke.makeFragment(r);
+ },
+ ar = function (e, t) {
+ var r = qt(e.body, t.withColor(e.color)),
+ n = new Tt.MathNode('mstyle', r);
+ return (n.setAttribute('mathcolor', e.color), n);
+ };
+ (ot({
+ type: 'color',
+ names: ['\\textcolor'],
+ props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'original'] },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = Ut(t[0], 'color-token').color,
+ a = t[1];
+ return { type: 'color', mode: r.mode, color: n, body: ht(a) };
+ },
+ htmlBuilder: nr,
+ mathmlBuilder: ar,
+ }),
+ ot({
+ type: 'color',
+ names: ['\\color'],
+ props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.breakOnTokenText,
+ a = Ut(t[0], 'color-token').color;
+ r.gullet.macros.set('\\current@color', a);
+ var i = r.parseExpression(!0, n);
+ return { type: 'color', mode: r.mode, color: a, body: i };
+ },
+ htmlBuilder: nr,
+ mathmlBuilder: ar,
+ }),
+ ot({
+ type: 'cr',
+ names: ['\\\\'],
+ props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 },
+ handler: function (e, t, r) {
+ var n = e.parser,
+ a = '[' === n.gullet.future().text ? n.parseSizeGroup(!0) : null,
+ i =
+ !n.settings.displayMode ||
+ !n.settings.useStrictBehavior(
+ 'newLineInDisplayMode',
+ 'In LaTeX, \\\\ or \\newline does nothing in display mode',
+ );
+ return { type: 'cr', mode: n.mode, newLine: i, size: a && Ut(a, 'size').value };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Ke.makeSpan(['mspace'], [], t);
+ return (
+ e.newLine &&
+ (r.classes.push('newline'), e.size && (r.style.marginTop = F(P(e.size, t)))),
+ r
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mspace');
+ return (
+ e.newLine &&
+ (r.setAttribute('linebreak', 'newline'),
+ e.size && r.setAttribute('height', F(P(e.size, t)))),
+ r
+ );
+ },
+ }));
+ var ir = {
+ '\\global': '\\global',
+ '\\long': '\\\\globallong',
+ '\\\\globallong': '\\\\globallong',
+ '\\def': '\\gdef',
+ '\\gdef': '\\gdef',
+ '\\edef': '\\xdef',
+ '\\xdef': '\\xdef',
+ '\\let': '\\\\globallet',
+ '\\futurelet': '\\\\globalfuture',
+ },
+ or = function (e) {
+ var t = e.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(t)) throw new n('Expected a control sequence', e);
+ return t;
+ },
+ sr = function (e, t, r, n) {
+ var a = e.gullet.macros.get(r.text);
+ (null == a &&
+ ((r.noexpand = !0),
+ (a = { tokens: [r], numArgs: 0, unexpandable: !e.gullet.isExpandable(r.text) })),
+ e.gullet.macros.set(t, a, n));
+ };
+ (ot({
+ type: 'internal',
+ names: ['\\global', '\\long', '\\\\globallong'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: function (e) {
+ var t = e.parser,
+ r = e.funcName;
+ t.consumeSpaces();
+ var a = t.fetch();
+ if (ir[a.text])
+ return (
+ ('\\global' !== r && '\\\\globallong' !== r) || (a.text = ir[a.text]),
+ Ut(t.parseFunction(), 'internal')
+ );
+ throw new n('Invalid token after macro prefix', a);
+ },
+ }),
+ ot({
+ type: 'internal',
+ names: ['\\def', '\\gdef', '\\edef', '\\xdef'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler: function (e) {
+ var t = e.parser,
+ r = e.funcName,
+ a = t.gullet.popToken(),
+ i = a.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(i)) throw new n('Expected a control sequence', a);
+ for (var o, s = 0, l = [[]]; '{' !== t.gullet.future().text; )
+ if ('#' === (a = t.gullet.popToken()).text) {
+ if ('{' === t.gullet.future().text) {
+ ((o = t.gullet.future()), l[s].push('{'));
+ break;
+ }
+ if (((a = t.gullet.popToken()), !/^[1-9]$/.test(a.text)))
+ throw new n('Invalid argument number "' + a.text + '"');
+ if (parseInt(a.text) !== s + 1)
+ throw new n('Argument number "' + a.text + '" out of order');
+ (s++, l.push([]));
+ } else {
+ if ('EOF' === a.text) throw new n('Expected a macro definition');
+ l[s].push(a.text);
+ }
+ var h = t.gullet.consumeArg().tokens;
+ return (
+ o && h.unshift(o),
+ ('\\edef' !== r && '\\xdef' !== r) || (h = t.gullet.expandTokens(h)).reverse(),
+ t.gullet.macros.set(i, { tokens: h, numArgs: s, delimiters: l }, r === ir[r]),
+ { type: 'internal', mode: t.mode }
+ );
+ },
+ }),
+ ot({
+ type: 'internal',
+ names: ['\\let', '\\\\globallet'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler: function (e) {
+ var t = e.parser,
+ r = e.funcName,
+ n = or(t.gullet.popToken());
+ t.gullet.consumeSpaces();
+ var a = (function (e) {
+ var t = e.gullet.popToken();
+ return (
+ '=' === t.text && ' ' === (t = e.gullet.popToken()).text && (t = e.gullet.popToken()),
+ t
+ );
+ })(t);
+ return (sr(t, n, a, '\\\\globallet' === r), { type: 'internal', mode: t.mode });
+ },
+ }),
+ ot({
+ type: 'internal',
+ names: ['\\futurelet', '\\\\globalfuture'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler: function (e) {
+ var t = e.parser,
+ r = e.funcName,
+ n = or(t.gullet.popToken()),
+ a = t.gullet.popToken(),
+ i = t.gullet.popToken();
+ return (
+ sr(t, n, i, '\\\\globalfuture' === r),
+ t.gullet.pushToken(i),
+ t.gullet.pushToken(a),
+ { type: 'internal', mode: t.mode }
+ );
+ },
+ }));
+ var lr = function (e, t, r) {
+ var n = N((ae.math[e] && ae.math[e].replace) || e, t, r);
+ if (!n) throw new Error('Unsupported symbol ' + e + ' and font size ' + t + '.');
+ return n;
+ },
+ hr = function (e, t, r, n) {
+ var a = r.havingBaseStyle(t),
+ i = Ke.makeSpan(n.concat(a.sizingClasses(r)), [e], r),
+ o = a.sizeMultiplier / r.sizeMultiplier;
+ return ((i.height *= o), (i.depth *= o), (i.maxFontSize = a.sizeMultiplier), i);
+ },
+ cr = function (e, t, r) {
+ var n = t.havingBaseStyle(r),
+ a = (1 - t.sizeMultiplier / n.sizeMultiplier) * t.fontMetrics().axisHeight;
+ (e.classes.push('delimcenter'), (e.style.top = F(a)), (e.height -= a), (e.depth += a));
+ },
+ mr = function (e, t, r, n, a, i) {
+ var o = (function (e, t, r, n) {
+ return Ke.makeSymbol(e, 'Size' + t + '-Regular', r, n);
+ })(e, t, a, n),
+ s = hr(Ke.makeSpan(['delimsizing', 'size' + t], [o], n), x.TEXT, n, i);
+ return (r && cr(s, n, x.TEXT), s);
+ },
+ ur = function (e, t, r) {
+ var n;
+ return (
+ (n = 'Size1-Regular' === t ? 'delim-size1' : 'delim-size4'),
+ {
+ type: 'elem',
+ elem: Ke.makeSpan(['delimsizinginner', n], [Ke.makeSpan([], [Ke.makeSymbol(e, t, r)])]),
+ }
+ );
+ },
+ pr = function (e, t, r) {
+ var n = T['Size4-Regular'][e.charCodeAt(0)]
+ ? T['Size4-Regular'][e.charCodeAt(0)][4]
+ : T['Size1-Regular'][e.charCodeAt(0)][4],
+ a = new J(
+ 'inner',
+ (function (e, t) {
+ switch (e) {
+ case '\u239c':
+ return 'M291 0 H417 V' + t + ' H291z M291 0 H417 V' + t + ' H291z';
+ case '\u2223':
+ return 'M145 0 H188 V' + t + ' H145z M145 0 H188 V' + t + ' H145z';
+ case '\u2225':
+ return (
+ 'M145 0 H188 V' +
+ t +
+ ' H145z M145 0 H188 V' +
+ t +
+ ' H145zM367 0 H410 V' +
+ t +
+ ' H367z M367 0 H410 V' +
+ t +
+ ' H367z'
+ );
+ case '\u239f':
+ return 'M457 0 H583 V' + t + ' H457z M457 0 H583 V' + t + ' H457z';
+ case '\u23a2':
+ return 'M319 0 H403 V' + t + ' H319z M319 0 H403 V' + t + ' H319z';
+ case '\u23a5':
+ return 'M263 0 H347 V' + t + ' H263z M263 0 H347 V' + t + ' H263z';
+ case '\u23aa':
+ return 'M384 0 H504 V' + t + ' H384z M384 0 H504 V' + t + ' H384z';
+ case '\u23d0':
+ return 'M312 0 H355 V' + t + ' H312z M312 0 H355 V' + t + ' H312z';
+ case '\u2016':
+ return (
+ 'M257 0 H300 V' +
+ t +
+ ' H257z M257 0 H300 V' +
+ t +
+ ' H257zM478 0 H521 V' +
+ t +
+ ' H478z M478 0 H521 V' +
+ t +
+ ' H478z'
+ );
+ default:
+ return '';
+ }
+ })(e, Math.round(1e3 * t)),
+ ),
+ i = new K([a], {
+ width: F(n),
+ height: F(t),
+ style: 'width:' + F(n),
+ viewBox: '0 0 ' + 1e3 * n + ' ' + Math.round(1e3 * t),
+ preserveAspectRatio: 'xMinYMin',
+ }),
+ o = Ke.makeSvgSpan([], [i], r);
+ return (
+ (o.height = t),
+ (o.style.height = F(t)),
+ (o.style.width = F(n)),
+ { type: 'elem', elem: o }
+ );
+ },
+ dr = { type: 'kern', size: -0.008 },
+ fr = ['|', '\\lvert', '\\rvert', '\\vert'],
+ gr = ['\\|', '\\lVert', '\\rVert', '\\Vert'],
+ vr = function (e, t, r, n, a, i) {
+ var o,
+ s,
+ h,
+ c,
+ m = '',
+ u = 0;
+ ((o = h = c = e), (s = null));
+ var p = 'Size1-Regular';
+ '\\uparrow' === e
+ ? (h = c = '\u23d0')
+ : '\\Uparrow' === e
+ ? (h = c = '\u2016')
+ : '\\downarrow' === e
+ ? (o = h = '\u23d0')
+ : '\\Downarrow' === e
+ ? (o = h = '\u2016')
+ : '\\updownarrow' === e
+ ? ((o = '\\uparrow'), (h = '\u23d0'), (c = '\\downarrow'))
+ : '\\Updownarrow' === e
+ ? ((o = '\\Uparrow'), (h = '\u2016'), (c = '\\Downarrow'))
+ : l.contains(fr, e)
+ ? ((h = '\u2223'), (m = 'vert'), (u = 333))
+ : l.contains(gr, e)
+ ? ((h = '\u2225'), (m = 'doublevert'), (u = 556))
+ : '[' === e || '\\lbrack' === e
+ ? ((o = '\u23a1'),
+ (h = '\u23a2'),
+ (c = '\u23a3'),
+ (p = 'Size4-Regular'),
+ (m = 'lbrack'),
+ (u = 667))
+ : ']' === e || '\\rbrack' === e
+ ? ((o = '\u23a4'),
+ (h = '\u23a5'),
+ (c = '\u23a6'),
+ (p = 'Size4-Regular'),
+ (m = 'rbrack'),
+ (u = 667))
+ : '\\lfloor' === e || '\u230a' === e
+ ? ((h = o = '\u23a2'),
+ (c = '\u23a3'),
+ (p = 'Size4-Regular'),
+ (m = 'lfloor'),
+ (u = 667))
+ : '\\lceil' === e || '\u2308' === e
+ ? ((o = '\u23a1'),
+ (h = c = '\u23a2'),
+ (p = 'Size4-Regular'),
+ (m = 'lceil'),
+ (u = 667))
+ : '\\rfloor' === e || '\u230b' === e
+ ? ((h = o = '\u23a5'),
+ (c = '\u23a6'),
+ (p = 'Size4-Regular'),
+ (m = 'rfloor'),
+ (u = 667))
+ : '\\rceil' === e || '\u2309' === e
+ ? ((o = '\u23a4'),
+ (h = c = '\u23a5'),
+ (p = 'Size4-Regular'),
+ (m = 'rceil'),
+ (u = 667))
+ : '(' === e || '\\lparen' === e
+ ? ((o = '\u239b'),
+ (h = '\u239c'),
+ (c = '\u239d'),
+ (p = 'Size4-Regular'),
+ (m = 'lparen'),
+ (u = 875))
+ : ')' === e || '\\rparen' === e
+ ? ((o = '\u239e'),
+ (h = '\u239f'),
+ (c = '\u23a0'),
+ (p = 'Size4-Regular'),
+ (m = 'rparen'),
+ (u = 875))
+ : '\\{' === e || '\\lbrace' === e
+ ? ((o = '\u23a7'),
+ (s = '\u23a8'),
+ (c = '\u23a9'),
+ (h = '\u23aa'),
+ (p = 'Size4-Regular'))
+ : '\\}' === e || '\\rbrace' === e
+ ? ((o = '\u23ab'),
+ (s = '\u23ac'),
+ (c = '\u23ad'),
+ (h = '\u23aa'),
+ (p = 'Size4-Regular'))
+ : '\\lgroup' === e || '\u27ee' === e
+ ? ((o = '\u23a7'),
+ (c = '\u23a9'),
+ (h = '\u23aa'),
+ (p = 'Size4-Regular'))
+ : '\\rgroup' === e || '\u27ef' === e
+ ? ((o = '\u23ab'),
+ (c = '\u23ad'),
+ (h = '\u23aa'),
+ (p = 'Size4-Regular'))
+ : '\\lmoustache' === e || '\u23b0' === e
+ ? ((o = '\u23a7'),
+ (c = '\u23ad'),
+ (h = '\u23aa'),
+ (p = 'Size4-Regular'))
+ : ('\\rmoustache' !== e && '\u23b1' !== e) ||
+ ((o = '\u23ab'),
+ (c = '\u23a9'),
+ (h = '\u23aa'),
+ (p = 'Size4-Regular'));
+ var d = lr(o, p, a),
+ f = d.height + d.depth,
+ g = lr(h, p, a),
+ v = g.height + g.depth,
+ b = lr(c, p, a),
+ y = b.height + b.depth,
+ w = 0,
+ k = 1;
+ if (null !== s) {
+ var S = lr(s, p, a);
+ ((w = S.height + S.depth), (k = 2));
+ }
+ var M = f + y + w,
+ z = M + Math.max(0, Math.ceil((t - M) / (k * v))) * k * v,
+ A = n.fontMetrics().axisHeight;
+ r && (A *= n.sizeMultiplier);
+ var T = z / 2 - A,
+ B = [];
+ if (m.length > 0) {
+ var C = z - f - y,
+ N = Math.round(1e3 * z),
+ q = (function (e, t) {
+ switch (e) {
+ case 'lbrack':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ t +
+ ' v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v' +
+ t +
+ ' v1759 h84z'
+ );
+ case 'rbrack':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ t +
+ ' v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v' +
+ t +
+ ' v1759 h84z'
+ );
+ case 'vert':
+ return (
+ 'M145 15 v585 v' +
+ t +
+ ' v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v' +
+ -t +
+ ' v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v' +
+ t +
+ ' v585 h43z'
+ );
+ case 'doublevert':
+ return (
+ 'M145 15 v585 v' +
+ t +
+ ' v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v' +
+ -t +
+ ' v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v' +
+ t +
+ ' v585 h43z\nM367 15 v585 v' +
+ t +
+ ' v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v' +
+ -t +
+ ' v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v' +
+ t +
+ ' v585 h43z'
+ );
+ case 'lfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ t +
+ ' v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v' +
+ t +
+ ' v1715 H319z'
+ );
+ case 'rfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ t +
+ ' v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v' +
+ t +
+ ' v1715 H319z'
+ );
+ case 'lceil':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ t +
+ ' v602 h84z\nM403 1759 V0 H319 V1759 v' +
+ t +
+ ' v602 h84z'
+ );
+ case 'rceil':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ t +
+ ' v602 h84z\nM347 1759 V0 h-84 V1759 v' +
+ t +
+ ' v602 h84z'
+ );
+ case 'lparen':
+ return (
+ 'M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,' +
+ (t + 84) +
+ 'c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-' +
+ (t + 92) +
+ 'c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z'
+ );
+ case 'rparen':
+ return (
+ 'M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,' +
+ (t + 9) +
+ '\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,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\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-' +
+ (t + 144) +
+ 'c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-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.');
+ }
+ })(m, Math.round(1e3 * C)),
+ I = new J(m, q),
+ R = (u / 1e3).toFixed(3) + 'em',
+ H = (N / 1e3).toFixed(3) + 'em',
+ O = new K([I], { width: R, height: H, viewBox: '0 0 ' + u + ' ' + N }),
+ E = Ke.makeSvgSpan([], [O], n);
+ ((E.height = N / 1e3),
+ (E.style.width = R),
+ (E.style.height = H),
+ B.push({ type: 'elem', elem: E }));
+ } else {
+ if ((B.push(ur(c, p, a)), B.push(dr), null === s)) {
+ var L = z - f - y + 0.016;
+ B.push(pr(h, L, n));
+ } else {
+ var D = (z - f - y - w) / 2 + 0.016;
+ (B.push(pr(h, D, n)), B.push(dr), B.push(ur(s, p, a)), B.push(dr), B.push(pr(h, D, n)));
+ }
+ (B.push(dr), B.push(ur(o, p, a)));
+ }
+ var V = n.havingBaseStyle(x.TEXT),
+ P = Ke.makeVList({ positionType: 'bottom', positionData: T, children: B }, V);
+ return hr(Ke.makeSpan(['delimsizing', 'mult'], [P], V), x.TEXT, n, i);
+ },
+ br = 0.08,
+ yr = function (e, t, r, n, a) {
+ var i = (function (e, t, r) {
+ t *= 1e3;
+ var n = '';
+ switch (e) {
+ case 'sqrtMain':
+ n = (function (e, t) {
+ return (
+ 'M95,' +
+ (622 + e + t) +
+ '\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.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\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl' +
+ e / 2.075 +
+ ' -' +
+ e +
+ '\nc5.3,-9.3,12,-14,20,-14\nH400000v' +
+ (40 + e) +
+ 'H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM' +
+ (834 + e) +
+ ' ' +
+ t +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ })(t, M);
+ break;
+ case 'sqrtSize1':
+ n = (function (e, t) {
+ return (
+ 'M263,' +
+ (601 + e + t) +
+ 'c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl' +
+ e / 2.084 +
+ ' -' +
+ e +
+ '\nc4.7,-7.3,11,-11,19,-11\nH40000v' +
+ (40 + e) +
+ 'H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM' +
+ (1001 + e) +
+ ' ' +
+ t +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ })(t, M);
+ break;
+ case 'sqrtSize2':
+ n = (function (e, t) {
+ return (
+ 'M983 ' +
+ (10 + e + t) +
+ '\nl' +
+ e / 3.13 +
+ ' -' +
+ e +
+ '\nc4,-6.7,10,-10,18,-10 H400000v' +
+ (40 + e) +
+ '\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM' +
+ (1001 + e) +
+ ' ' +
+ t +
+ 'h400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ })(t, M);
+ break;
+ case 'sqrtSize3':
+ n = (function (e, t) {
+ return (
+ 'M424,' +
+ (2398 + e + t) +
+ '\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-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\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl' +
+ e / 4.223 +
+ ' -' +
+ e +
+ 'c4,-6.7,10,-10,18,-10 H400000\nv' +
+ (40 + e) +
+ 'H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M' +
+ (1001 + e) +
+ ' ' +
+ t +
+ '\nh400000v' +
+ (40 + e) +
+ 'h-400000z'
+ );
+ })(t, M);
+ break;
+ case 'sqrtSize4':
+ n = (function (e, t) {
+ return (
+ 'M473,' +
+ (2713 + e + t) +
+ '\nc339.3,-1799.3,509.3,-2700,510,-2702 l' +
+ e / 5.298 +
+ ' -' +
+ e +
+ '\nc3.3,-7.3,9.3,-11,18,-11 H400000v' +
+ (40 + e) +
+ 'H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-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\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM' +
+ (1001 + e) +
+ ' ' +
+ t +
+ 'h400000v' +
+ (40 + e) +
+ 'H1017.7z'
+ );
+ })(t, M);
+ break;
+ case 'sqrtTall':
+ n = (function (e, t, r) {
+ return (
+ 'M702 ' +
+ (e + t) +
+ 'H400000' +
+ (40 + e) +
+ '\nH742v' +
+ (r - 54 - t - e) +
+ '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\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 ' +
+ t +
+ 'H400000v' +
+ (40 + e) +
+ 'H742z'
+ );
+ })(t, M, r);
+ }
+ return n;
+ })(e, n, r),
+ o = new J(e, i),
+ s = new K([o], {
+ width: '400em',
+ height: F(t),
+ viewBox: '0 0 400000 ' + r,
+ preserveAspectRatio: 'xMinYMin slice',
+ });
+ return Ke.makeSvgSpan(['hide-tail'], [s], a);
+ },
+ xr = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '\u230a',
+ '\u230b',
+ '\\lceil',
+ '\\rceil',
+ '\u2308',
+ '\u2309',
+ '\\surd',
+ ],
+ wr = [
+ '\\uparrow',
+ '\\downarrow',
+ '\\updownarrow',
+ '\\Uparrow',
+ '\\Downarrow',
+ '\\Updownarrow',
+ '|',
+ '\\|',
+ '\\vert',
+ '\\Vert',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '\u27ee',
+ '\u27ef',
+ '\\lmoustache',
+ '\\rmoustache',
+ '\u23b0',
+ '\u23b1',
+ ],
+ kr = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt'],
+ Sr = [0, 1.2, 1.8, 2.4, 3],
+ Mr = [
+ { type: 'small', style: x.SCRIPTSCRIPT },
+ { type: 'small', style: x.SCRIPT },
+ { type: 'small', style: x.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 },
+ ],
+ zr = [
+ { type: 'small', style: x.SCRIPTSCRIPT },
+ { type: 'small', style: x.SCRIPT },
+ { type: 'small', style: x.TEXT },
+ { type: 'stack' },
+ ],
+ Ar = [
+ { type: 'small', style: x.SCRIPTSCRIPT },
+ { type: 'small', style: x.SCRIPT },
+ { type: 'small', style: x.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 },
+ { type: 'stack' },
+ ],
+ Tr = function (e) {
+ if ('small' === e.type) return 'Main-Regular';
+ if ('large' === e.type) return 'Size' + e.size + '-Regular';
+ if ('stack' === e.type) return 'Size4-Regular';
+ throw new Error("Add support for delim type '" + e.type + "' here.");
+ },
+ Br = function (e, t, r, n) {
+ for (var a = Math.min(2, 3 - n.style.size); a < r.length && 'stack' !== r[a].type; a++) {
+ var i = lr(e, Tr(r[a]), 'math'),
+ o = i.height + i.depth;
+ if (('small' === r[a].type && (o *= n.havingBaseStyle(r[a].style).sizeMultiplier), o > t))
+ return r[a];
+ }
+ return r[r.length - 1];
+ },
+ Cr = function (e, t, r, n, a, i) {
+ var o;
+ ('<' === e || '\\lt' === e || '\u27e8' === e
+ ? (e = '\\langle')
+ : ('>' !== e && '\\gt' !== e && '\u27e9' !== e) || (e = '\\rangle'),
+ (o = l.contains(kr, e) ? Mr : l.contains(xr, e) ? Ar : zr));
+ var s = Br(e, t, o, n);
+ return 'small' === s.type
+ ? (function (e, t, r, n, a, i) {
+ var o = Ke.makeSymbol(e, 'Main-Regular', a, n),
+ s = hr(o, t, n, i);
+ return (r && cr(s, n, t), s);
+ })(e, s.style, r, n, a, i)
+ : 'large' === s.type
+ ? mr(e, s.size, r, n, a, i)
+ : vr(e, t, r, n, a, i);
+ },
+ Nr = {
+ sqrtImage: function (e, t) {
+ var r,
+ n,
+ a = t.havingBaseSizing(),
+ i = Br('\\surd', e * a.sizeMultiplier, Ar, a),
+ o = a.sizeMultiplier,
+ s = Math.max(0, t.minRuleThickness - t.fontMetrics().sqrtRuleThickness),
+ l = 0,
+ h = 0,
+ c = 0;
+ return (
+ 'small' === i.type
+ ? (e < 1 ? (o = 1) : e < 1.4 && (o = 0.7),
+ (h = (1 + s) / o),
+ ((r = yr(
+ 'sqrtMain',
+ (l = (1 + s + br) / o),
+ (c = 1e3 + 1e3 * s + 80),
+ s,
+ t,
+ )).style.minWidth = '0.853em'),
+ (n = 0.833 / o))
+ : 'large' === i.type
+ ? ((c = 1080 * Sr[i.size]),
+ (h = (Sr[i.size] + s) / o),
+ (l = (Sr[i.size] + s + br) / o),
+ ((r = yr('sqrtSize' + i.size, l, c, s, t)).style.minWidth = '1.02em'),
+ (n = 1 / o))
+ : ((l = e + s + br),
+ (h = e + s),
+ (c = Math.floor(1e3 * e + s) + 80),
+ ((r = yr('sqrtTall', l, c, s, t)).style.minWidth = '0.742em'),
+ (n = 1.056)),
+ (r.height = h),
+ (r.style.height = F(l)),
+ { span: r, advanceWidth: n, ruleWidth: (t.fontMetrics().sqrtRuleThickness + s) * o }
+ );
+ },
+ sizedDelim: function (e, t, r, a, i) {
+ if (
+ ('<' === e || '\\lt' === e || '\u27e8' === e
+ ? (e = '\\langle')
+ : ('>' !== e && '\\gt' !== e && '\u27e9' !== e) || (e = '\\rangle'),
+ l.contains(xr, e) || l.contains(kr, e))
+ )
+ return mr(e, t, !1, r, a, i);
+ if (l.contains(wr, e)) return vr(e, Sr[t], !1, r, a, i);
+ throw new n("Illegal delimiter: '" + e + "'");
+ },
+ sizeToMaxHeight: Sr,
+ customSizedDelim: Cr,
+ leftRightDelim: function (e, t, r, n, a, i) {
+ var o = n.fontMetrics().axisHeight * n.sizeMultiplier,
+ s = 5 / n.fontMetrics().ptPerEm,
+ l = Math.max(t - o, r + o),
+ h = Math.max((l / 500) * 901, 2 * l - s);
+ return Cr(e, h, !0, n, a, i);
+ },
+ },
+ qr = {
+ '\\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 },
+ },
+ Ir = [
+ '(',
+ '\\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',
+ '.',
+ ];
+ function Rr(e, t) {
+ var r = Xt(e);
+ if (r && l.contains(Ir, r.text)) return r;
+ throw new n(
+ r
+ ? "Invalid delimiter '" + r.text + "' after '" + t.funcName + "'"
+ : "Invalid delimiter type '" + e.type + "'",
+ e,
+ );
+ }
+ function Hr(e) {
+ if (!e.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
+ }
+ (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: function (e, t) {
+ var r = Rr(t[0], e);
+ return {
+ type: 'delimsizing',
+ mode: e.parser.mode,
+ size: qr[e.funcName].size,
+ mclass: qr[e.funcName].mclass,
+ delim: r.text,
+ };
+ },
+ htmlBuilder: function (e, t) {
+ return '.' === e.delim
+ ? Ke.makeSpan([e.mclass])
+ : Nr.sizedDelim(e.delim, e.size, t, e.mode, [e.mclass]);
+ },
+ mathmlBuilder: function (e) {
+ var t = [];
+ '.' !== e.delim && t.push(Bt(e.delim, e.mode));
+ var r = new Tt.MathNode('mo', t);
+ ('mopen' === e.mclass || 'mclose' === e.mclass
+ ? r.setAttribute('fence', 'true')
+ : r.setAttribute('fence', 'false'),
+ r.setAttribute('stretchy', 'true'));
+ var n = F(Nr.sizeToMaxHeight[e.size]);
+ return (r.setAttribute('minsize', n), r.setAttribute('maxsize', n), r);
+ },
+ }),
+ ot({
+ type: 'leftright-right',
+ names: ['\\right'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: function (e, t) {
+ var r = e.parser.gullet.macros.get('\\current@color');
+ if (r && 'string' != typeof r)
+ throw new n('\\current@color set to non-string in \\right');
+ return {
+ type: 'leftright-right',
+ mode: e.parser.mode,
+ delim: Rr(t[0], e).text,
+ color: r,
+ };
+ },
+ }),
+ ot({
+ type: 'leftright',
+ names: ['\\left'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: function (e, t) {
+ var r = Rr(t[0], e),
+ n = e.parser;
+ ++n.leftrightDepth;
+ var a = n.parseExpression(!1);
+ (--n.leftrightDepth, n.expect('\\right', !1));
+ var i = Ut(n.parseFunction(), 'leftright-right');
+ return {
+ type: 'leftright',
+ mode: n.mode,
+ body: a,
+ left: r.text,
+ right: i.delim,
+ rightColor: i.color,
+ };
+ },
+ htmlBuilder: function (e, t) {
+ Hr(e);
+ for (
+ var r, n, a = ft(e.body, t, !0, ['mopen', 'mclose']), i = 0, o = 0, s = !1, l = 0;
+ l < a.length;
+ l++
+ )
+ a[l].isMiddle
+ ? (s = !0)
+ : ((i = Math.max(a[l].height, i)), (o = Math.max(a[l].depth, o)));
+ if (
+ ((i *= t.sizeMultiplier),
+ (o *= t.sizeMultiplier),
+ (r =
+ '.' === e.left
+ ? xt(t, ['mopen'])
+ : Nr.leftRightDelim(e.left, i, o, t, e.mode, ['mopen'])),
+ a.unshift(r),
+ s)
+ )
+ for (var h = 1; h < a.length; h++) {
+ var c = a[h].isMiddle;
+ c && (a[h] = Nr.leftRightDelim(c.delim, i, o, c.options, e.mode, []));
+ }
+ if ('.' === e.right) n = xt(t, ['mclose']);
+ else {
+ var m = e.rightColor ? t.withColor(e.rightColor) : t;
+ n = Nr.leftRightDelim(e.right, i, o, m, e.mode, ['mclose']);
+ }
+ return (a.push(n), Ke.makeSpan(['minner'], a, t));
+ },
+ mathmlBuilder: function (e, t) {
+ Hr(e);
+ var r = qt(e.body, t);
+ if ('.' !== e.left) {
+ var n = new Tt.MathNode('mo', [Bt(e.left, e.mode)]);
+ (n.setAttribute('fence', 'true'), r.unshift(n));
+ }
+ if ('.' !== e.right) {
+ var a = new Tt.MathNode('mo', [Bt(e.right, e.mode)]);
+ (a.setAttribute('fence', 'true'),
+ e.rightColor && a.setAttribute('mathcolor', e.rightColor),
+ r.push(a));
+ }
+ return Ct(r);
+ },
+ }),
+ ot({
+ type: 'middle',
+ names: ['\\middle'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: function (e, t) {
+ var r = Rr(t[0], e);
+ if (!e.parser.leftrightDepth) throw new n('\\middle without preceding \\left', r);
+ return { type: 'middle', mode: e.parser.mode, delim: r.text };
+ },
+ htmlBuilder: function (e, t) {
+ var r;
+ if ('.' === e.delim) r = xt(t, []);
+ else {
+ r = Nr.sizedDelim(e.delim, 1, t, e.mode, []);
+ var n = { delim: e.delim, options: t };
+ r.isMiddle = n;
+ }
+ return r;
+ },
+ mathmlBuilder: function (e, t) {
+ var r = '\\vert' === e.delim || '|' === e.delim ? Bt('|', 'text') : Bt(e.delim, e.mode),
+ n = new Tt.MathNode('mo', [r]);
+ return (
+ n.setAttribute('fence', 'true'),
+ n.setAttribute('lspace', '0.05em'),
+ n.setAttribute('rspace', '0.05em'),
+ n
+ );
+ },
+ }));
+ var Or = function (e, t) {
+ var r,
+ n,
+ a,
+ i = Ke.wrapFragment(wt(e.body, t), t),
+ o = e.label.slice(1),
+ s = t.sizeMultiplier,
+ h = 0,
+ c = l.isCharacterBox(e.body);
+ if ('sout' === o)
+ (((r = Ke.makeSpan(['stretchy', 'sout'])).height =
+ t.fontMetrics().defaultRuleThickness / s),
+ (h = -0.5 * t.fontMetrics().xHeight));
+ else if ('phase' === o) {
+ var m = P({ number: 0.6, unit: 'pt' }, t),
+ u = P({ number: 0.35, unit: 'ex' }, t);
+ s /= t.havingBaseSizing().sizeMultiplier;
+ var p = i.height + i.depth + m + u;
+ i.style.paddingLeft = F(p / 2 + m);
+ var d = Math.floor(1e3 * p * s),
+ f = 'M400000 ' + (n = d) + ' H0 L' + n / 2 + ' 0 l65 45 L145 ' + (n - 80) + ' H400000z',
+ g = new K([new J('phase', f)], {
+ width: '400em',
+ height: F(d / 1e3),
+ viewBox: '0 0 400000 ' + d,
+ preserveAspectRatio: 'xMinYMin slice',
+ });
+ (((r = Ke.makeSvgSpan(['hide-tail'], [g], t)).style.height = F(p)),
+ (h = i.depth + m + u));
+ } else {
+ /cancel/.test(o)
+ ? c || i.classes.push('cancel-pad')
+ : 'angl' === o
+ ? i.classes.push('anglpad')
+ : i.classes.push('boxpad');
+ var v = 0,
+ b = 0,
+ y = 0;
+ (/box/.test(o)
+ ? ((y = Math.max(t.fontMetrics().fboxrule, t.minRuleThickness)),
+ (b = v = t.fontMetrics().fboxsep + ('colorbox' === o ? 0 : y)))
+ : 'angl' === o
+ ? ((v = 4 * (y = Math.max(t.fontMetrics().defaultRuleThickness, t.minRuleThickness))),
+ (b = Math.max(0, 0.25 - i.depth)))
+ : (b = v = c ? 0.2 : 0),
+ (r = Pt(i, o, v, b, t)),
+ /fbox|boxed|fcolorbox/.test(o)
+ ? ((r.style.borderStyle = 'solid'), (r.style.borderWidth = F(y)))
+ : 'angl' === o &&
+ 0.049 !== y &&
+ ((r.style.borderTopWidth = F(y)), (r.style.borderRightWidth = F(y))),
+ (h = i.depth + b),
+ e.backgroundColor &&
+ ((r.style.backgroundColor = e.backgroundColor),
+ e.borderColor && (r.style.borderColor = e.borderColor)));
+ }
+ if (e.backgroundColor)
+ a = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: r, shift: h },
+ { type: 'elem', elem: i, shift: 0 },
+ ],
+ },
+ t,
+ );
+ else {
+ var x = /cancel|phase/.test(o) ? ['svg-align'] : [];
+ a = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: i, shift: 0 },
+ { type: 'elem', elem: r, shift: h, wrapperClasses: x },
+ ],
+ },
+ t,
+ );
+ }
+ return (
+ /cancel/.test(o) && ((a.height = i.height), (a.depth = i.depth)),
+ /cancel/.test(o) && !c
+ ? Ke.makeSpan(['mord', 'cancel-lap'], [a], t)
+ : Ke.makeSpan(['mord'], [a], t)
+ );
+ },
+ Er = function (e, t) {
+ var r = 0,
+ n = new Tt.MathNode(e.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [
+ Rt(e.body, t),
+ ]);
+ switch (e.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 = t.fontMetrics().fboxsep * t.fontMetrics().ptPerEm),
+ n.setAttribute('width', '+' + 2 * r + 'pt'),
+ n.setAttribute('height', '+' + 2 * r + 'pt'),
+ n.setAttribute('lspace', r + 'pt'),
+ n.setAttribute('voffset', r + 'pt'),
+ '\\fcolorbox' === e.label)
+ ) {
+ var a = Math.max(t.fontMetrics().fboxrule, t.minRuleThickness);
+ n.setAttribute('style', 'border: ' + a + 'em solid ' + String(e.borderColor));
+ }
+ break;
+ case '\\xcancel':
+ n.setAttribute('notation', 'updiagonalstrike downdiagonalstrike');
+ }
+ return (e.backgroundColor && n.setAttribute('mathbackground', e.backgroundColor), n);
+ };
+ (ot({
+ type: 'enclose',
+ names: ['\\colorbox'],
+ props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] },
+ handler: function (e, t, r) {
+ var n = e.parser,
+ a = e.funcName,
+ i = Ut(t[0], 'color-token').color,
+ o = t[1];
+ return { type: 'enclose', mode: n.mode, label: a, backgroundColor: i, body: o };
+ },
+ htmlBuilder: Or,
+ mathmlBuilder: Er,
+ }),
+ ot({
+ type: 'enclose',
+ names: ['\\fcolorbox'],
+ props: { numArgs: 3, allowedInText: !0, argTypes: ['color', 'color', 'text'] },
+ handler: function (e, t, r) {
+ var n = e.parser,
+ a = e.funcName,
+ i = Ut(t[0], 'color-token').color,
+ o = Ut(t[1], 'color-token').color,
+ s = t[2];
+ return {
+ type: 'enclose',
+ mode: n.mode,
+ label: a,
+ backgroundColor: o,
+ borderColor: i,
+ body: s,
+ };
+ },
+ htmlBuilder: Or,
+ mathmlBuilder: Er,
+ }),
+ ot({
+ type: 'enclose',
+ names: ['\\fbox'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 },
+ handler: function (e, t) {
+ return { type: 'enclose', mode: e.parser.mode, label: '\\fbox', body: t[0] };
+ },
+ }),
+ ot({
+ type: 'enclose',
+ names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = t[0];
+ return { type: 'enclose', mode: r.mode, label: n, body: a };
+ },
+ htmlBuilder: Or,
+ mathmlBuilder: Er,
+ }),
+ ot({
+ type: 'enclose',
+ names: ['\\angl'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 },
+ handler: function (e, t) {
+ return { type: 'enclose', mode: e.parser.mode, label: '\\angl', body: t[0] };
+ },
+ }));
+ var Lr = {};
+ function Dr(e) {
+ for (
+ var t = e.type,
+ r = e.names,
+ n = e.props,
+ a = e.handler,
+ i = e.htmlBuilder,
+ o = e.mathmlBuilder,
+ s = {
+ type: t,
+ numArgs: n.numArgs || 0,
+ allowedInText: !1,
+ numOptionalArgs: 0,
+ handler: a,
+ },
+ l = 0;
+ l < r.length;
+ ++l
+ )
+ Lr[r[l]] = s;
+ (i && (at[t] = i), o && (it[t] = o));
+ }
+ var Vr = {};
+ function Pr(e, t) {
+ Vr[e] = t;
+ }
+ var Fr = (function () {
+ function e(e, t, r) {
+ ((this.lexer = void 0),
+ (this.start = void 0),
+ (this.end = void 0),
+ (this.lexer = e),
+ (this.start = t),
+ (this.end = r));
+ }
+ return (
+ (e.range = function (t, r) {
+ return r
+ ? t && t.loc && r.loc && t.loc.lexer === r.loc.lexer
+ ? new e(t.loc.lexer, t.loc.start, r.loc.end)
+ : null
+ : t && t.loc;
+ }),
+ e
+ );
+ })(),
+ Gr = (function () {
+ function e(e, t) {
+ ((this.text = void 0),
+ (this.loc = void 0),
+ (this.noexpand = void 0),
+ (this.treatAsRelax = void 0),
+ (this.text = e),
+ (this.loc = t));
+ }
+ return (
+ (e.prototype.range = function (t, r) {
+ return new e(r, Fr.range(this, t));
+ }),
+ e
+ );
+ })();
+ function Ur(e) {
+ var t = [];
+ e.consumeSpaces();
+ var r = e.fetch().text;
+ for (
+ '\\relax' === r && (e.consume(), e.consumeSpaces(), (r = e.fetch().text));
+ '\\hline' === r || '\\hdashline' === r;
+ )
+ (e.consume(), t.push('\\hdashline' === r), e.consumeSpaces(), (r = e.fetch().text));
+ return t;
+ }
+ var Yr = function (e) {
+ if (!e.parser.settings.displayMode)
+ throw new n('{' + e.envName + '} can be used only in display mode.');
+ };
+ function Xr(e) {
+ if (-1 === e.indexOf('ed')) return -1 === e.indexOf('*');
+ }
+ function Wr(e, t, r) {
+ var a = t.hskipBeforeAndAfter,
+ i = t.addJot,
+ o = t.cols,
+ s = t.arraystretch,
+ l = t.colSeparationType,
+ h = t.autoTag,
+ c = t.singleRow,
+ m = t.emptySingleRow,
+ u = t.maxNumCols,
+ p = t.leqno;
+ if ((e.gullet.beginGroup(), c || e.gullet.macros.set('\\cr', '\\\\\\relax'), !s)) {
+ var d = e.gullet.expandMacroAsText('\\arraystretch');
+ if (null == d) s = 1;
+ else if (!(s = parseFloat(d)) || s < 0) throw new n('Invalid \\arraystretch: ' + d);
+ }
+ e.gullet.beginGroup();
+ var f = [],
+ g = [f],
+ v = [],
+ b = [],
+ y = null != h ? [] : void 0;
+ function x() {
+ h && e.gullet.macros.set('\\@eqnsw', '1', !0);
+ }
+ function w() {
+ y &&
+ (e.gullet.macros.get('\\df@tag')
+ ? (y.push(e.subparse([new Gr('\\df@tag')])),
+ e.gullet.macros.set('\\df@tag', void 0, !0))
+ : y.push(Boolean(h) && '1' === e.gullet.macros.get('\\@eqnsw')));
+ }
+ for (x(), b.push(Ur(e)); ; ) {
+ var k = e.parseExpression(!1, c ? '\\end' : '\\\\');
+ (e.gullet.endGroup(),
+ e.gullet.beginGroup(),
+ (k = { type: 'ordgroup', mode: e.mode, body: k }),
+ r && (k = { type: 'styling', mode: e.mode, style: r, body: [k] }),
+ f.push(k));
+ var S = e.fetch().text;
+ if ('&' === S) {
+ if (u && f.length === u) {
+ if (c || l) throw new n('Too many tab characters: &', e.nextToken);
+ e.settings.reportNonstrict(
+ 'textEnv',
+ 'Too few columns specified in the {array} column argument.',
+ );
+ }
+ e.consume();
+ } else {
+ if ('\\end' === S) {
+ (w(),
+ 1 === f.length &&
+ 'styling' === k.type &&
+ 0 === k.body[0].body.length &&
+ (g.length > 1 || !m) &&
+ g.pop(),
+ b.length < g.length + 1 && b.push([]));
+ break;
+ }
+ if ('\\\\' !== S) throw new n('Expected & or \\\\ or \\cr or \\end', e.nextToken);
+ e.consume();
+ var M = void 0;
+ (' ' !== e.gullet.future().text && (M = e.parseSizeGroup(!0)),
+ v.push(M ? M.value : null),
+ w(),
+ b.push(Ur(e)),
+ (f = []),
+ g.push(f),
+ x());
+ }
+ }
+ return (
+ e.gullet.endGroup(),
+ e.gullet.endGroup(),
+ {
+ type: 'array',
+ mode: e.mode,
+ addJot: i,
+ arraystretch: s,
+ body: g,
+ cols: o,
+ rowGaps: v,
+ hskipBeforeAndAfter: a,
+ hLinesBeforeRow: b,
+ colSeparationType: l,
+ tags: y,
+ leqno: p,
+ }
+ );
+ }
+ function _r(e) {
+ return 'd' === e.slice(0, 1) ? 'display' : 'text';
+ }
+ var jr = function (e, t) {
+ var r,
+ a,
+ i = e.body.length,
+ o = e.hLinesBeforeRow,
+ s = 0,
+ h = new Array(i),
+ c = [],
+ m = Math.max(t.fontMetrics().arrayRuleWidth, t.minRuleThickness),
+ u = 1 / t.fontMetrics().ptPerEm,
+ p = 5 * u;
+ e.colSeparationType &&
+ 'small' === e.colSeparationType &&
+ (p = (t.havingStyle(x.SCRIPT).sizeMultiplier / t.sizeMultiplier) * 0.2778);
+ var d = 'CD' === e.colSeparationType ? P({ number: 3, unit: 'ex' }, t) : 12 * u,
+ f = 3 * u,
+ g = e.arraystretch * d,
+ v = 0.7 * g,
+ b = 0.3 * g,
+ y = 0;
+ function w(e) {
+ for (var t = 0; t < e.length; ++t)
+ (t > 0 && (y += 0.25), c.push({ pos: y, isDashed: e[t] }));
+ }
+ for (w(o[0]), r = 0; r < e.body.length; ++r) {
+ var k = e.body[r],
+ S = v,
+ M = b;
+ s < k.length && (s = k.length);
+ var z = new Array(k.length);
+ for (a = 0; a < k.length; ++a) {
+ var A = wt(k[a], t);
+ (M < A.depth && (M = A.depth), S < A.height && (S = A.height), (z[a] = A));
+ }
+ var T = e.rowGaps[r],
+ B = 0;
+ (T && (B = P(T, t)) > 0 && (M < (B += b) && (M = B), (B = 0)),
+ e.addJot && (M += f),
+ (z.height = S),
+ (z.depth = M),
+ (y += S),
+ (z.pos = y),
+ (y += M + B),
+ (h[r] = z),
+ w(o[r + 1]));
+ }
+ var C,
+ N,
+ q = y / 2 + t.fontMetrics().axisHeight,
+ I = e.cols || [],
+ R = [],
+ H = [];
+ if (
+ e.tags &&
+ e.tags.some(function (e) {
+ return e;
+ })
+ )
+ for (r = 0; r < i; ++r) {
+ var O = h[r],
+ E = O.pos - q,
+ L = e.tags[r],
+ D = void 0;
+ (((D =
+ !0 === L
+ ? Ke.makeSpan(['eqn-num'], [], t)
+ : !1 === L
+ ? Ke.makeSpan([], [], t)
+ : Ke.makeSpan([], ft(L, t, !0), t)).depth = O.depth),
+ (D.height = O.height),
+ H.push({ type: 'elem', elem: D, shift: E }));
+ }
+ for (a = 0, N = 0; a < s || N < I.length; ++a, ++N) {
+ for (var V = I[N] || {}, G = !0; 'separator' === V.type; ) {
+ if (
+ (G ||
+ (((C = Ke.makeSpan(['arraycolsep'], [])).style.width = F(
+ t.fontMetrics().doubleRuleSep,
+ )),
+ R.push(C)),
+ '|' !== V.separator && ':' !== V.separator)
+ )
+ throw new n('Invalid separator type: ' + V.separator);
+ var U = '|' === V.separator ? 'solid' : 'dashed',
+ Y = Ke.makeSpan(['vertical-separator'], [], t);
+ ((Y.style.height = F(y)),
+ (Y.style.borderRightWidth = F(m)),
+ (Y.style.borderRightStyle = U),
+ (Y.style.margin = '0 ' + F(-m / 2)));
+ var X = y - q;
+ (X && (Y.style.verticalAlign = F(-X)), R.push(Y), (V = I[++N] || {}), (G = !1));
+ }
+ if (!(a >= s)) {
+ var W = void 0;
+ (a > 0 || e.hskipBeforeAndAfter) &&
+ 0 !== (W = l.deflt(V.pregap, p)) &&
+ (((C = Ke.makeSpan(['arraycolsep'], [])).style.width = F(W)), R.push(C));
+ var _ = [];
+ for (r = 0; r < i; ++r) {
+ var j = h[r],
+ $ = j[a];
+ if ($) {
+ var Z = j.pos - q;
+ (($.depth = j.depth),
+ ($.height = j.height),
+ _.push({ type: 'elem', elem: $, shift: Z }));
+ }
+ }
+ ((_ = Ke.makeVList({ positionType: 'individualShift', children: _ }, t)),
+ (_ = Ke.makeSpan(['col-align-' + (V.align || 'c')], [_])),
+ R.push(_),
+ (a < s - 1 || e.hskipBeforeAndAfter) &&
+ 0 !== (W = l.deflt(V.postgap, p)) &&
+ (((C = Ke.makeSpan(['arraycolsep'], [])).style.width = F(W)), R.push(C)));
+ }
+ }
+ if (((h = Ke.makeSpan(['mtable'], R)), c.length > 0)) {
+ for (
+ var K = Ke.makeLineSpan('hline', t, m),
+ J = Ke.makeLineSpan('hdashline', t, m),
+ Q = [{ type: 'elem', elem: h, shift: 0 }];
+ c.length > 0;
+ ) {
+ var ee = c.pop(),
+ te = ee.pos - q;
+ ee.isDashed
+ ? Q.push({ type: 'elem', elem: J, shift: te })
+ : Q.push({ type: 'elem', elem: K, shift: te });
+ }
+ h = Ke.makeVList({ positionType: 'individualShift', children: Q }, t);
+ }
+ if (0 === H.length) return Ke.makeSpan(['mord'], [h], t);
+ var re = Ke.makeVList({ positionType: 'individualShift', children: H }, t);
+ return ((re = Ke.makeSpan(['tag'], [re], t)), Ke.makeFragment([h, re]));
+ },
+ $r = { c: 'center ', l: 'left ', r: 'right ' },
+ Zr = function (e, t) {
+ for (
+ var r = [],
+ n = new Tt.MathNode('mtd', [], ['mtr-glue']),
+ a = new Tt.MathNode('mtd', [], ['mml-eqn-num']),
+ i = 0;
+ i < e.body.length;
+ i++
+ ) {
+ for (var o = e.body[i], s = [], l = 0; l < o.length; l++)
+ s.push(new Tt.MathNode('mtd', [Rt(o[l], t)]));
+ (e.tags && e.tags[i] && (s.unshift(n), s.push(n), e.leqno ? s.unshift(a) : s.push(a)),
+ r.push(new Tt.MathNode('mtr', s)));
+ }
+ var h = new Tt.MathNode('mtable', r),
+ c = 0.5 === e.arraystretch ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0);
+ h.setAttribute('rowspacing', F(c));
+ var m = '',
+ u = '';
+ if (e.cols && e.cols.length > 0) {
+ var p = e.cols,
+ d = '',
+ f = !1,
+ g = 0,
+ v = p.length;
+ ('separator' === p[0].type && ((m += 'top '), (g = 1)),
+ 'separator' === p[p.length - 1].type && ((m += 'bottom '), (v -= 1)));
+ for (var b = g; b < v; b++)
+ 'align' === p[b].type
+ ? ((u += $r[p[b].align]), f && (d += 'none '), (f = !0))
+ : 'separator' === p[b].type &&
+ f &&
+ ((d += '|' === p[b].separator ? 'solid ' : 'dashed '), (f = !1));
+ (h.setAttribute('columnalign', u.trim()),
+ /[sd]/.test(d) && h.setAttribute('columnlines', d.trim()));
+ }
+ if ('align' === e.colSeparationType) {
+ for (var y = e.cols || [], x = '', w = 1; w < y.length; w++) x += w % 2 ? '0em ' : '1em ';
+ h.setAttribute('columnspacing', x.trim());
+ } else
+ 'alignat' === e.colSeparationType || 'gather' === e.colSeparationType
+ ? h.setAttribute('columnspacing', '0em')
+ : 'small' === e.colSeparationType
+ ? h.setAttribute('columnspacing', '0.2778em')
+ : 'CD' === e.colSeparationType
+ ? h.setAttribute('columnspacing', '0.5em')
+ : h.setAttribute('columnspacing', '1em');
+ var k = '',
+ S = e.hLinesBeforeRow;
+ ((m += S[0].length > 0 ? 'left ' : ''), (m += S[S.length - 1].length > 0 ? 'right ' : ''));
+ for (var M = 1; M < S.length - 1; M++)
+ k += 0 === S[M].length ? 'none ' : S[M][0] ? 'dashed ' : 'solid ';
+ return (
+ /[sd]/.test(k) && h.setAttribute('rowlines', k.trim()),
+ '' !== m && (h = new Tt.MathNode('menclose', [h])).setAttribute('notation', m.trim()),
+ e.arraystretch &&
+ e.arraystretch < 1 &&
+ (h = new Tt.MathNode('mstyle', [h])).setAttribute('scriptlevel', '1'),
+ h
+ );
+ },
+ Kr = function (e, t) {
+ -1 === e.envName.indexOf('ed') && Yr(e);
+ var r,
+ a = [],
+ i = e.envName.indexOf('at') > -1 ? 'alignat' : 'align',
+ o = 'split' === e.envName,
+ s = Wr(
+ e.parser,
+ {
+ cols: a,
+ addJot: !0,
+ autoTag: o ? void 0 : Xr(e.envName),
+ emptySingleRow: !0,
+ colSeparationType: i,
+ maxNumCols: o ? 2 : void 0,
+ leqno: e.parser.settings.leqno,
+ },
+ 'display',
+ ),
+ l = 0,
+ h = { type: 'ordgroup', mode: e.mode, body: [] };
+ if (t[0] && 'ordgroup' === t[0].type) {
+ for (var c = '', m = 0; m < t[0].body.length; m++) {
+ c += Ut(t[0].body[m], 'textord').text;
+ }
+ ((r = Number(c)), (l = 2 * r));
+ }
+ var u = !l;
+ s.body.forEach(function (e) {
+ for (var t = 1; t < e.length; t += 2) {
+ var a = Ut(e[t], 'styling');
+ Ut(a.body[0], 'ordgroup').body.unshift(h);
+ }
+ if (u) l < e.length && (l = e.length);
+ else {
+ var i = e.length / 2;
+ if (r < i)
+ throw new n('Too many math in a row: expected ' + r + ', but got ' + i, e[0]);
+ }
+ });
+ for (var p = 0; p < l; ++p) {
+ var d = 'r',
+ f = 0;
+ (p % 2 == 1 ? (d = 'l') : p > 0 && u && (f = 1),
+ (a[p] = { type: 'align', align: d, pregap: f, postgap: 0 }));
+ }
+ return ((s.colSeparationType = u ? 'align' : 'alignat'), s);
+ };
+ (Dr({
+ type: 'array',
+ names: ['array', 'darray'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = (Xt(t[0]) ? [t[0]] : Ut(t[0], 'ordgroup').body).map(function (e) {
+ var t = Yt(e).text;
+ if (-1 !== 'lcr'.indexOf(t)) return { type: 'align', align: t };
+ if ('|' === t) return { type: 'separator', separator: '|' };
+ if (':' === t) return { type: 'separator', separator: ':' };
+ throw new n('Unknown column alignment: ' + t, e);
+ }),
+ a = { cols: r, hskipBeforeAndAfter: !0, maxNumCols: r.length };
+ return Wr(e.parser, a, _r(e.envName));
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: [
+ 'matrix',
+ 'pmatrix',
+ 'bmatrix',
+ 'Bmatrix',
+ 'vmatrix',
+ 'Vmatrix',
+ 'matrix*',
+ 'pmatrix*',
+ 'bmatrix*',
+ 'Bmatrix*',
+ 'vmatrix*',
+ 'Vmatrix*',
+ ],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ var t = {
+ matrix: null,
+ pmatrix: ['(', ')'],
+ bmatrix: ['[', ']'],
+ Bmatrix: ['\\{', '\\}'],
+ vmatrix: ['|', '|'],
+ Vmatrix: ['\\Vert', '\\Vert'],
+ }[e.envName.replace('*', '')],
+ r = 'c',
+ a = { hskipBeforeAndAfter: !1, cols: [{ type: 'align', align: r }] };
+ if ('*' === e.envName.charAt(e.envName.length - 1)) {
+ var i = e.parser;
+ if ((i.consumeSpaces(), '[' === i.fetch().text)) {
+ if ((i.consume(), i.consumeSpaces(), (r = i.fetch().text), -1 === 'lcr'.indexOf(r)))
+ throw new n('Expected l or c or r', i.nextToken);
+ (i.consume(),
+ i.consumeSpaces(),
+ i.expect(']'),
+ i.consume(),
+ (a.cols = [{ type: 'align', align: r }]));
+ }
+ }
+ var o = Wr(e.parser, a, _r(e.envName)),
+ s = Math.max.apply(
+ Math,
+ [0].concat(
+ o.body.map(function (e) {
+ return e.length;
+ }),
+ ),
+ );
+ return (
+ (o.cols = new Array(s).fill({ type: 'align', align: r })),
+ t
+ ? {
+ type: 'leftright',
+ mode: e.mode,
+ body: [o],
+ left: t[0],
+ right: t[1],
+ rightColor: void 0,
+ }
+ : o
+ );
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['smallmatrix'],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ var t = Wr(e.parser, { arraystretch: 0.5 }, 'script');
+ return ((t.colSeparationType = 'small'), t);
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['subarray'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = (Xt(t[0]) ? [t[0]] : Ut(t[0], 'ordgroup').body).map(function (e) {
+ var t = Yt(e).text;
+ if (-1 !== 'lc'.indexOf(t)) return { type: 'align', align: t };
+ throw new n('Unknown column alignment: ' + t, e);
+ });
+ if (r.length > 1) throw new n('{subarray} can contain only one column');
+ var a = { cols: r, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
+ if ((a = Wr(e.parser, a, 'script')).body.length > 0 && a.body[0].length > 1)
+ throw new n('{subarray} can contain only one column');
+ return a;
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['cases', 'dcases', 'rcases', 'drcases'],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ var t = Wr(
+ e.parser,
+ {
+ arraystretch: 1.2,
+ cols: [
+ { type: 'align', align: 'l', pregap: 0, postgap: 1 },
+ { type: 'align', align: 'l', pregap: 0, postgap: 0 },
+ ],
+ },
+ _r(e.envName),
+ );
+ return {
+ type: 'leftright',
+ mode: e.mode,
+ body: [t],
+ left: e.envName.indexOf('r') > -1 ? '.' : '\\{',
+ right: e.envName.indexOf('r') > -1 ? '\\}' : '.',
+ rightColor: void 0,
+ };
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['align', 'align*', 'aligned', 'split'],
+ props: { numArgs: 0 },
+ handler: Kr,
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['gathered', 'gather', 'gather*'],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ l.contains(['gather', 'gather*'], e.envName) && Yr(e);
+ var t = {
+ cols: [{ type: 'align', align: 'c' }],
+ addJot: !0,
+ colSeparationType: 'gather',
+ autoTag: Xr(e.envName),
+ emptySingleRow: !0,
+ leqno: e.parser.settings.leqno,
+ };
+ return Wr(e.parser, t, 'display');
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['alignat', 'alignat*', 'alignedat'],
+ props: { numArgs: 1 },
+ handler: Kr,
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['equation', 'equation*'],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ Yr(e);
+ var t = {
+ autoTag: Xr(e.envName),
+ emptySingleRow: !0,
+ singleRow: !0,
+ maxNumCols: 1,
+ leqno: e.parser.settings.leqno,
+ };
+ return Wr(e.parser, t, 'display');
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Dr({
+ type: 'array',
+ names: ['CD'],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ return (
+ Yr(e),
+ (function (e) {
+ var t = [];
+ for (
+ e.gullet.beginGroup(),
+ e.gullet.macros.set('\\cr', '\\\\\\relax'),
+ e.gullet.beginGroup();
+ ;
+ ) {
+ (t.push(e.parseExpression(!1, '\\\\')), e.gullet.endGroup(), e.gullet.beginGroup());
+ var r = e.fetch().text;
+ if ('&' !== r && '\\\\' !== r) {
+ if ('\\end' === r) {
+ 0 === t[t.length - 1].length && t.pop();
+ break;
+ }
+ throw new n('Expected \\\\ or \\cr or \\end', e.nextToken);
+ }
+ e.consume();
+ }
+ for (var a, i, o = [], s = [o], l = 0; l < t.length; l++) {
+ for (
+ var h = t[l],
+ c = { type: 'styling', body: [], mode: 'math', style: 'display' },
+ m = 0;
+ m < h.length;
+ m++
+ )
+ if (tr(h[m])) {
+ o.push(c);
+ var u = Yt(h[(m += 1)]).text,
+ p = new Array(2);
+ if (
+ ((p[0] = { type: 'ordgroup', mode: 'math', body: [] }),
+ (p[1] = { type: 'ordgroup', mode: 'math', body: [] }),
+ '=|.'.indexOf(u) > -1)
+ );
+ else {
+ if (!('<>AV'.indexOf(u) > -1))
+ throw new n('Expected one of "<>AV=|." after @', h[m]);
+ for (var d = 0; d < 2; d++) {
+ for (var f = !0, g = m + 1; g < h.length; g++) {
+ if (
+ ((i = u),
+ ('mathord' === (a = h[g]).type || 'atom' === a.type) && a.text === i)
+ ) {
+ ((f = !1), (m = g));
+ break;
+ }
+ if (tr(h[g]))
+ throw new n(
+ 'Missing a ' + u + ' character to complete a CD arrow.',
+ h[g],
+ );
+ p[d].body.push(h[g]);
+ }
+ if (f)
+ throw new n(
+ 'Missing a ' + u + ' character to complete a CD arrow.',
+ h[m],
+ );
+ }
+ }
+ var v = {
+ type: 'styling',
+ body: [rr(u, p, e)],
+ mode: 'math',
+ style: 'display',
+ };
+ (o.push(v),
+ (c = { type: 'styling', body: [], mode: 'math', style: 'display' }));
+ } else c.body.push(h[m]);
+ (l % 2 == 0 ? o.push(c) : o.shift(), (o = []), s.push(o));
+ }
+ return (
+ e.gullet.endGroup(),
+ e.gullet.endGroup(),
+ {
+ type: 'array',
+ mode: 'math',
+ body: s,
+ arraystretch: 1,
+ addJot: !0,
+ rowGaps: [null],
+ cols: new Array(s[0].length).fill({
+ type: 'align',
+ align: 'c',
+ pregap: 0.25,
+ postgap: 0.25,
+ }),
+ colSeparationType: 'CD',
+ hLinesBeforeRow: new Array(s.length + 1).fill([]),
+ }
+ );
+ })(e.parser)
+ );
+ },
+ htmlBuilder: jr,
+ mathmlBuilder: Zr,
+ }),
+ Pr('\\nonumber', '\\gdef\\@eqnsw{0}'),
+ Pr('\\notag', '\\nonumber'),
+ ot({
+ type: 'text',
+ names: ['\\hline', '\\hdashline'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
+ handler: function (e, t) {
+ throw new n(e.funcName + ' valid only within array environment');
+ },
+ }));
+ var Jr = Lr;
+ ot({
+ type: 'environment',
+ names: ['\\begin', '\\end'],
+ props: { numArgs: 1, argTypes: ['text'] },
+ handler: function (e, t) {
+ var r = e.parser,
+ a = e.funcName,
+ i = t[0];
+ if ('ordgroup' !== i.type) throw new n('Invalid environment name', i);
+ for (var o = '', s = 0; s < i.body.length; ++s) o += Ut(i.body[s], 'textord').text;
+ if ('\\begin' === a) {
+ if (!Jr.hasOwnProperty(o)) throw new n('No such environment: ' + o, i);
+ var l = Jr[o],
+ h = r.parseArguments('\\begin{' + o + '}', l),
+ c = h.args,
+ m = h.optArgs,
+ u = { mode: r.mode, envName: o, parser: r },
+ p = l.handler(u, c, m);
+ r.expect('\\end', !1);
+ var d = r.nextToken,
+ f = Ut(r.parseFunction(), 'environment');
+ if (f.name !== o)
+ throw new n('Mismatch: \\begin{' + o + '} matched by \\end{' + f.name + '}', d);
+ return p;
+ }
+ return { type: 'environment', mode: r.mode, name: o, nameGroup: i };
+ },
+ });
+ var Qr = function (e, t) {
+ var r = e.font,
+ n = t.withFont(r);
+ return wt(e.body, n);
+ },
+ en = function (e, t) {
+ var r = e.font,
+ n = t.withFont(r);
+ return Rt(e.body, n);
+ },
+ tn = {
+ '\\Bbb': '\\mathbb',
+ '\\bold': '\\mathbf',
+ '\\frak': '\\mathfrak',
+ '\\bm': '\\boldsymbol',
+ };
+ (ot({
+ type: 'font',
+ names: [
+ '\\mathrm',
+ '\\mathit',
+ '\\mathbf',
+ '\\mathnormal',
+ '\\mathbb',
+ '\\mathcal',
+ '\\mathfrak',
+ '\\mathscr',
+ '\\mathsf',
+ '\\mathtt',
+ '\\Bbb',
+ '\\bold',
+ '\\frak',
+ ],
+ props: { numArgs: 1, allowedInArgument: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = lt(t[0]),
+ i = n;
+ return (i in tn && (i = tn[i]), { type: 'font', mode: r.mode, font: i.slice(1), body: a });
+ },
+ htmlBuilder: Qr,
+ mathmlBuilder: en,
+ }),
+ ot({
+ type: 'mclass',
+ names: ['\\boldsymbol', '\\bm'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[0],
+ a = l.isCharacterBox(n);
+ return {
+ type: 'mclass',
+ mode: r.mode,
+ mclass: Qt(n),
+ body: [{ type: 'font', mode: r.mode, font: 'boldsymbol', body: n }],
+ isCharacterBox: a,
+ };
+ },
+ }),
+ ot({
+ type: 'font',
+ names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = e.breakOnTokenText,
+ i = r.mode,
+ o = r.parseExpression(!0, a);
+ return {
+ type: 'font',
+ mode: i,
+ font: 'math' + n.slice(1),
+ body: { type: 'ordgroup', mode: r.mode, body: o },
+ };
+ },
+ htmlBuilder: Qr,
+ mathmlBuilder: en,
+ }));
+ var rn = function (e, t) {
+ var r = t;
+ return (
+ 'display' === e
+ ? (r = r.id >= x.SCRIPT.id ? r.text() : x.DISPLAY)
+ : 'text' === e && r.size === x.DISPLAY.size
+ ? (r = x.TEXT)
+ : 'script' === e
+ ? (r = x.SCRIPT)
+ : 'scriptscript' === e && (r = x.SCRIPTSCRIPT),
+ r
+ );
+ },
+ nn = function (e, t) {
+ var r,
+ n = rn(e.size, t.style),
+ a = n.fracNum(),
+ i = n.fracDen();
+ r = t.havingStyle(a);
+ var o = wt(e.numer, r, t);
+ if (e.continued) {
+ var s = 8.5 / t.fontMetrics().ptPerEm,
+ l = 3.5 / t.fontMetrics().ptPerEm;
+ ((o.height = o.height < s ? s : o.height), (o.depth = o.depth < l ? l : o.depth));
+ }
+ r = t.havingStyle(i);
+ var h,
+ c,
+ m,
+ u,
+ p,
+ d,
+ f,
+ g,
+ v,
+ b,
+ y = wt(e.denom, r, t);
+ if (
+ (e.hasBarLine
+ ? (e.barSize
+ ? ((c = P(e.barSize, t)), (h = Ke.makeLineSpan('frac-line', t, c)))
+ : (h = Ke.makeLineSpan('frac-line', t)),
+ (c = h.height),
+ (m = h.height))
+ : ((h = null), (c = 0), (m = t.fontMetrics().defaultRuleThickness)),
+ n.size === x.DISPLAY.size || 'display' === e.size
+ ? ((u = t.fontMetrics().num1),
+ (p = c > 0 ? 3 * m : 7 * m),
+ (d = t.fontMetrics().denom1))
+ : (c > 0
+ ? ((u = t.fontMetrics().num2), (p = m))
+ : ((u = t.fontMetrics().num3), (p = 3 * m)),
+ (d = t.fontMetrics().denom2)),
+ h)
+ ) {
+ var w = t.fontMetrics().axisHeight;
+ (u - o.depth - (w + 0.5 * c) < p && (u += p - (u - o.depth - (w + 0.5 * c))),
+ w - 0.5 * c - (y.height - d) < p && (d += p - (w - 0.5 * c - (y.height - d))));
+ var k = -(w - 0.5 * c);
+ f = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: y, shift: d },
+ { type: 'elem', elem: h, shift: k },
+ { type: 'elem', elem: o, shift: -u },
+ ],
+ },
+ t,
+ );
+ } else {
+ var S = u - o.depth - (y.height - d);
+ (S < p && ((u += 0.5 * (p - S)), (d += 0.5 * (p - S))),
+ (f = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: y, shift: d },
+ { type: 'elem', elem: o, shift: -u },
+ ],
+ },
+ t,
+ )));
+ }
+ return (
+ (r = t.havingStyle(n)),
+ (f.height *= r.sizeMultiplier / t.sizeMultiplier),
+ (f.depth *= r.sizeMultiplier / t.sizeMultiplier),
+ (g =
+ n.size === x.DISPLAY.size
+ ? t.fontMetrics().delim1
+ : n.size === x.SCRIPTSCRIPT.size
+ ? t.havingStyle(x.SCRIPT).fontMetrics().delim2
+ : t.fontMetrics().delim2),
+ (v =
+ null == e.leftDelim
+ ? xt(t, ['mopen'])
+ : Nr.customSizedDelim(e.leftDelim, g, !0, t.havingStyle(n), e.mode, ['mopen'])),
+ (b = e.continued
+ ? Ke.makeSpan([])
+ : null == e.rightDelim
+ ? xt(t, ['mclose'])
+ : Nr.customSizedDelim(e.rightDelim, g, !0, t.havingStyle(n), e.mode, ['mclose'])),
+ Ke.makeSpan(['mord'].concat(r.sizingClasses(t)), [v, Ke.makeSpan(['mfrac'], [f]), b], t)
+ );
+ },
+ an = function (e, t) {
+ var r = new Tt.MathNode('mfrac', [Rt(e.numer, t), Rt(e.denom, t)]);
+ if (e.hasBarLine) {
+ if (e.barSize) {
+ var n = P(e.barSize, t);
+ r.setAttribute('linethickness', F(n));
+ }
+ } else r.setAttribute('linethickness', '0px');
+ var a = rn(e.size, t.style);
+ if (a.size !== t.style.size) {
+ r = new Tt.MathNode('mstyle', [r]);
+ var i = a.size === x.DISPLAY.size ? 'true' : 'false';
+ (r.setAttribute('displaystyle', i), r.setAttribute('scriptlevel', '0'));
+ }
+ if (null != e.leftDelim || null != e.rightDelim) {
+ var o = [];
+ if (null != e.leftDelim) {
+ var s = new Tt.MathNode('mo', [new Tt.TextNode(e.leftDelim.replace('\\', ''))]);
+ (s.setAttribute('fence', 'true'), o.push(s));
+ }
+ if ((o.push(r), null != e.rightDelim)) {
+ var l = new Tt.MathNode('mo', [new Tt.TextNode(e.rightDelim.replace('\\', ''))]);
+ (l.setAttribute('fence', 'true'), o.push(l));
+ }
+ return Ct(o);
+ }
+ return r;
+ };
+ (ot({
+ type: 'genfrac',
+ names: [
+ '\\dfrac',
+ '\\frac',
+ '\\tfrac',
+ '\\dbinom',
+ '\\binom',
+ '\\tbinom',
+ '\\\\atopfrac',
+ '\\\\bracefrac',
+ '\\\\brackfrac',
+ ],
+ props: { numArgs: 2, allowedInArgument: !0 },
+ handler: function (e, t) {
+ var r,
+ n = e.parser,
+ a = e.funcName,
+ i = t[0],
+ o = t[1],
+ s = null,
+ l = null,
+ h = 'auto';
+ switch (a) {
+ case '\\dfrac':
+ case '\\frac':
+ case '\\tfrac':
+ r = !0;
+ break;
+ case '\\\\atopfrac':
+ r = !1;
+ break;
+ case '\\dbinom':
+ case '\\binom':
+ case '\\tbinom':
+ ((r = !1), (s = '('), (l = ')'));
+ break;
+ case '\\\\bracefrac':
+ ((r = !1), (s = '\\{'), (l = '\\}'));
+ break;
+ case '\\\\brackfrac':
+ ((r = !1), (s = '['), (l = ']'));
+ break;
+ default:
+ throw new Error('Unrecognized genfrac command');
+ }
+ switch (a) {
+ case '\\dfrac':
+ case '\\dbinom':
+ h = 'display';
+ break;
+ case '\\tfrac':
+ case '\\tbinom':
+ h = 'text';
+ }
+ return {
+ type: 'genfrac',
+ mode: n.mode,
+ continued: !1,
+ numer: i,
+ denom: o,
+ hasBarLine: r,
+ leftDelim: s,
+ rightDelim: l,
+ size: h,
+ barSize: null,
+ };
+ },
+ htmlBuilder: nn,
+ mathmlBuilder: an,
+ }),
+ ot({
+ type: 'genfrac',
+ names: ['\\cfrac'],
+ props: { numArgs: 2 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = (e.funcName, t[0]),
+ a = t[1];
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ continued: !0,
+ numer: n,
+ denom: a,
+ hasBarLine: !0,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'display',
+ barSize: null,
+ };
+ },
+ }),
+ ot({
+ type: 'infix',
+ names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'],
+ props: { numArgs: 0, infix: !0 },
+ handler: function (e) {
+ var t,
+ r = e.parser,
+ n = e.funcName,
+ a = e.token;
+ switch (n) {
+ case '\\over':
+ t = '\\frac';
+ break;
+ case '\\choose':
+ t = '\\binom';
+ break;
+ case '\\atop':
+ t = '\\\\atopfrac';
+ break;
+ case '\\brace':
+ t = '\\\\bracefrac';
+ break;
+ case '\\brack':
+ t = '\\\\brackfrac';
+ break;
+ default:
+ throw new Error('Unrecognized infix genfrac command');
+ }
+ return { type: 'infix', mode: r.mode, replaceWith: t, token: a };
+ },
+ }));
+ var on = ['display', 'text', 'script', 'scriptscript'],
+ sn = function (e) {
+ var t = null;
+ return (e.length > 0 && (t = '.' === (t = e) ? null : t), t);
+ };
+ (ot({
+ type: 'genfrac',
+ names: ['\\genfrac'],
+ props: {
+ numArgs: 6,
+ allowedInArgument: !0,
+ argTypes: ['math', 'math', 'size', 'text', 'math', 'math'],
+ },
+ handler: function (e, t) {
+ var r,
+ n = e.parser,
+ a = t[4],
+ i = t[5],
+ o = lt(t[0]),
+ s = 'atom' === o.type && 'open' === o.family ? sn(o.text) : null,
+ l = lt(t[1]),
+ h = 'atom' === l.type && 'close' === l.family ? sn(l.text) : null,
+ c = Ut(t[2], 'size'),
+ m = null;
+ r = !!c.isBlank || (m = c.value).number > 0;
+ var u = 'auto',
+ p = t[3];
+ if ('ordgroup' === p.type) {
+ if (p.body.length > 0) {
+ var d = Ut(p.body[0], 'textord');
+ u = on[Number(d.text)];
+ }
+ } else ((p = Ut(p, 'textord')), (u = on[Number(p.text)]));
+ return {
+ type: 'genfrac',
+ mode: n.mode,
+ numer: a,
+ denom: i,
+ continued: !1,
+ hasBarLine: r,
+ barSize: m,
+ leftDelim: s,
+ rightDelim: h,
+ size: u,
+ };
+ },
+ htmlBuilder: nn,
+ mathmlBuilder: an,
+ }),
+ ot({
+ type: 'infix',
+ names: ['\\above'],
+ props: { numArgs: 1, argTypes: ['size'], infix: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = (e.funcName, e.token);
+ return {
+ type: 'infix',
+ mode: r.mode,
+ replaceWith: '\\\\abovefrac',
+ size: Ut(t[0], 'size').value,
+ token: n,
+ };
+ },
+ }),
+ ot({
+ type: 'genfrac',
+ names: ['\\\\abovefrac'],
+ props: { numArgs: 3, argTypes: ['math', 'size', 'math'] },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = (e.funcName, t[0]),
+ a = (function (e) {
+ if (!e) throw new Error('Expected non-null, but got ' + String(e));
+ return e;
+ })(Ut(t[1], 'infix').size),
+ i = t[2],
+ o = a.number > 0;
+ return {
+ type: 'genfrac',
+ mode: r.mode,
+ numer: n,
+ denom: i,
+ continued: !1,
+ hasBarLine: o,
+ barSize: a,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'auto',
+ };
+ },
+ htmlBuilder: nn,
+ mathmlBuilder: an,
+ }));
+ var ln = function (e, t) {
+ var r,
+ n,
+ a = t.style;
+ 'supsub' === e.type
+ ? ((r = e.sup
+ ? wt(e.sup, t.havingStyle(a.sup()), t)
+ : wt(e.sub, t.havingStyle(a.sub()), t)),
+ (n = Ut(e.base, 'horizBrace')))
+ : (n = Ut(e, 'horizBrace'));
+ var i,
+ o = wt(n.base, t.havingBaseStyle(x.DISPLAY)),
+ s = Gt(n, t);
+ if (
+ (n.isOver
+ ? (i = Ke.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: o },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: s },
+ ],
+ },
+ t,
+ )).children[0].children[0].children[1].classes.push('svg-align')
+ : (i = Ke.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: o.depth + 0.1 + s.height,
+ children: [
+ { type: 'elem', elem: s },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: o },
+ ],
+ },
+ t,
+ )).children[0].children[0].children[0].classes.push('svg-align'),
+ r)
+ ) {
+ var l = Ke.makeSpan(['mord', n.isOver ? 'mover' : 'munder'], [i], t);
+ i = n.isOver
+ ? Ke.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: l },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: r },
+ ],
+ },
+ t,
+ )
+ : Ke.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: l.depth + 0.2 + r.height + r.depth,
+ children: [
+ { type: 'elem', elem: r },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: l },
+ ],
+ },
+ t,
+ );
+ }
+ return Ke.makeSpan(['mord', n.isOver ? 'mover' : 'munder'], [i], t);
+ };
+ (ot({
+ type: 'horizBrace',
+ names: ['\\overbrace', '\\underbrace'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName;
+ return {
+ type: 'horizBrace',
+ mode: r.mode,
+ label: n,
+ isOver: /^\\over/.test(n),
+ base: t[0],
+ };
+ },
+ htmlBuilder: ln,
+ mathmlBuilder: function (e, t) {
+ var r = Ft(e.label);
+ return new Tt.MathNode(e.isOver ? 'mover' : 'munder', [Rt(e.base, t), r]);
+ },
+ }),
+ ot({
+ type: 'href',
+ names: ['\\href'],
+ props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[1],
+ a = Ut(t[0], 'url').url;
+ return r.settings.isTrusted({ command: '\\href', url: a })
+ ? { type: 'href', mode: r.mode, href: a, body: ht(n) }
+ : r.formatUnsupportedCmd('\\href');
+ },
+ htmlBuilder: function (e, t) {
+ var r = ft(e.body, t, !1);
+ return Ke.makeAnchor(e.href, [], r, t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = It(e.body, t);
+ return (r instanceof zt || (r = new zt('mrow', [r])), r.setAttribute('href', e.href), r);
+ },
+ }),
+ ot({
+ type: 'href',
+ names: ['\\url'],
+ props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = Ut(t[0], 'url').url;
+ if (!r.settings.isTrusted({ command: '\\url', url: n }))
+ return r.formatUnsupportedCmd('\\url');
+ for (var a = [], i = 0; i < n.length; i++) {
+ var o = n[i];
+ ('~' === o && (o = '\\textasciitilde'),
+ a.push({ type: 'textord', mode: 'text', text: o }));
+ }
+ var s = { type: 'text', mode: r.mode, font: '\\texttt', body: a };
+ return { type: 'href', mode: r.mode, href: n, body: ht(s) };
+ },
+ }),
+ ot({
+ type: 'hbox',
+ names: ['\\hbox'],
+ props: { numArgs: 1, argTypes: ['text'], allowedInText: !0, primitive: !0 },
+ handler: function (e, t) {
+ return { type: 'hbox', mode: e.parser.mode, body: ht(t[0]) };
+ },
+ htmlBuilder: function (e, t) {
+ var r = ft(e.body, t, !1);
+ return Ke.makeFragment(r);
+ },
+ mathmlBuilder: function (e, t) {
+ return new Tt.MathNode('mrow', qt(e.body, t));
+ },
+ }),
+ ot({
+ type: 'html',
+ names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'],
+ props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 },
+ handler: function (e, t) {
+ var r,
+ a = e.parser,
+ i = e.funcName,
+ o = (e.token, Ut(t[0], 'raw').string),
+ s = t[1];
+ a.settings.strict &&
+ a.settings.reportNonstrict(
+ 'htmlExtension',
+ 'HTML extension is disabled on strict mode',
+ );
+ var l = {};
+ switch (i) {
+ case '\\htmlClass':
+ ((l.class = o), (r = { command: '\\htmlClass', class: o }));
+ break;
+ case '\\htmlId':
+ ((l.id = o), (r = { command: '\\htmlId', id: o }));
+ break;
+ case '\\htmlStyle':
+ ((l.style = o), (r = { command: '\\htmlStyle', style: o }));
+ break;
+ case '\\htmlData':
+ for (var h = o.split(','), c = 0; c < h.length; c++) {
+ var m = h[c].split('=');
+ if (2 !== m.length) throw new n('Error parsing key-value for \\htmlData');
+ l['data-' + m[0].trim()] = m[1].trim();
+ }
+ r = { command: '\\htmlData', attributes: l };
+ break;
+ default:
+ throw new Error('Unrecognized html command');
+ }
+ return a.settings.isTrusted(r)
+ ? { type: 'html', mode: a.mode, attributes: l, body: ht(s) }
+ : a.formatUnsupportedCmd(i);
+ },
+ htmlBuilder: function (e, t) {
+ var r = ft(e.body, t, !1),
+ n = ['enclosing'];
+ e.attributes.class && n.push.apply(n, e.attributes.class.trim().split(/\s+/));
+ var a = Ke.makeSpan(n, r, t);
+ for (var i in e.attributes)
+ 'class' !== i && e.attributes.hasOwnProperty(i) && a.setAttribute(i, e.attributes[i]);
+ return a;
+ },
+ mathmlBuilder: function (e, t) {
+ return It(e.body, t);
+ },
+ }),
+ ot({
+ type: 'htmlmathml',
+ names: ['\\html@mathml'],
+ props: { numArgs: 2, allowedInText: !0 },
+ handler: function (e, t) {
+ return { type: 'htmlmathml', mode: e.parser.mode, html: ht(t[0]), mathml: ht(t[1]) };
+ },
+ htmlBuilder: function (e, t) {
+ var r = ft(e.html, t, !1);
+ return Ke.makeFragment(r);
+ },
+ mathmlBuilder: function (e, t) {
+ return It(e.mathml, t);
+ },
+ }));
+ var hn = function (e) {
+ if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: 'bp' };
+ var t = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);
+ if (!t) throw new n("Invalid size: '" + e + "' in \\includegraphics");
+ var r = { number: +(t[1] + t[2]), unit: t[3] };
+ if (!V(r)) throw new n("Invalid unit: '" + r.unit + "' in \\includegraphics.");
+ return r;
+ };
+ (ot({
+ type: 'includegraphics',
+ names: ['\\includegraphics'],
+ props: { numArgs: 1, numOptionalArgs: 1, argTypes: ['raw', 'url'], allowedInText: !1 },
+ handler: function (e, t, r) {
+ var a = e.parser,
+ i = { number: 0, unit: 'em' },
+ o = { number: 0.9, unit: 'em' },
+ s = { number: 0, unit: 'em' },
+ l = '';
+ if (r[0])
+ for (var h = Ut(r[0], 'raw').string.split(','), c = 0; c < h.length; c++) {
+ var m = h[c].split('=');
+ if (2 === m.length) {
+ var u = m[1].trim();
+ switch (m[0].trim()) {
+ case 'alt':
+ l = u;
+ break;
+ case 'width':
+ i = hn(u);
+ break;
+ case 'height':
+ o = hn(u);
+ break;
+ case 'totalheight':
+ s = hn(u);
+ break;
+ default:
+ throw new n("Invalid key: '" + m[0] + "' in \\includegraphics.");
+ }
+ }
+ }
+ var p = Ut(t[0], 'url').url;
+ return (
+ '' === l && (l = (l = (l = p).replace(/^.*[\\/]/, '')).substring(0, l.lastIndexOf('.'))),
+ a.settings.isTrusted({ command: '\\includegraphics', url: p })
+ ? {
+ type: 'includegraphics',
+ mode: a.mode,
+ alt: l,
+ width: i,
+ height: o,
+ totalheight: s,
+ src: p,
+ }
+ : a.formatUnsupportedCmd('\\includegraphics')
+ );
+ },
+ htmlBuilder: function (e, t) {
+ var r = P(e.height, t),
+ n = 0;
+ e.totalheight.number > 0 && (n = P(e.totalheight, t) - r);
+ var a = 0;
+ e.width.number > 0 && (a = P(e.width, t));
+ var i = { height: F(r + n) };
+ (a > 0 && (i.width = F(a)), n > 0 && (i.verticalAlign = F(-n)));
+ var o = new j(e.src, e.alt, i);
+ return ((o.height = r), (o.depth = n), o);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mglyph', []);
+ r.setAttribute('alt', e.alt);
+ var n = P(e.height, t),
+ a = 0;
+ if (
+ (e.totalheight.number > 0 &&
+ ((a = P(e.totalheight, t) - n), r.setAttribute('valign', F(-a))),
+ r.setAttribute('height', F(n + a)),
+ e.width.number > 0)
+ ) {
+ var i = P(e.width, t);
+ r.setAttribute('width', F(i));
+ }
+ return (r.setAttribute('src', e.src), r);
+ },
+ }),
+ ot({
+ type: 'kern',
+ names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'],
+ props: { numArgs: 1, argTypes: ['size'], primitive: !0, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = Ut(t[0], 'size');
+ if (r.settings.strict) {
+ var i = 'm' === n[1],
+ o = 'mu' === a.value.unit;
+ i
+ ? (o ||
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + ' supports only mu units, not ' + a.value.unit + ' units',
+ ),
+ 'math' !== r.mode &&
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + ' works only in math mode',
+ ))
+ : o &&
+ r.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + n + " doesn't support mu units",
+ );
+ }
+ return { type: 'kern', mode: r.mode, dimension: a.value };
+ },
+ htmlBuilder: function (e, t) {
+ return Ke.makeGlue(e.dimension, t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = P(e.dimension, t);
+ return new Tt.SpaceNode(r);
+ },
+ }),
+ ot({
+ type: 'lap',
+ names: ['\\mathllap', '\\mathrlap', '\\mathclap'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = t[0];
+ return { type: 'lap', mode: r.mode, alignment: n.slice(5), body: a };
+ },
+ htmlBuilder: function (e, t) {
+ var r;
+ 'clap' === e.alignment
+ ? ((r = Ke.makeSpan([], [wt(e.body, t)])), (r = Ke.makeSpan(['inner'], [r], t)))
+ : (r = Ke.makeSpan(['inner'], [wt(e.body, t)]));
+ var n = Ke.makeSpan(['fix'], []),
+ a = Ke.makeSpan([e.alignment], [r, n], t),
+ i = Ke.makeSpan(['strut']);
+ return (
+ (i.style.height = F(a.height + a.depth)),
+ a.depth && (i.style.verticalAlign = F(-a.depth)),
+ a.children.unshift(i),
+ (a = Ke.makeSpan(['thinbox'], [a], t)),
+ Ke.makeSpan(['mord', 'vbox'], [a], t)
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mpadded', [Rt(e.body, t)]);
+ if ('rlap' !== e.alignment) {
+ var n = 'llap' === e.alignment ? '-1' : '-0.5';
+ r.setAttribute('lspace', n + 'width');
+ }
+ return (r.setAttribute('width', '0px'), r);
+ },
+ }),
+ ot({
+ type: 'styling',
+ names: ['\\(', '$'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler: function (e, t) {
+ var r = e.funcName,
+ n = e.parser,
+ a = n.mode;
+ n.switchMode('math');
+ var i = '\\(' === r ? '\\)' : '$',
+ o = n.parseExpression(!1, i);
+ return (
+ n.expect(i),
+ n.switchMode(a),
+ { type: 'styling', mode: n.mode, style: 'text', body: o }
+ );
+ },
+ }),
+ ot({
+ type: 'text',
+ names: ['\\)', '\\]'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler: function (e, t) {
+ throw new n('Mismatched ' + e.funcName);
+ },
+ }));
+ var cn = function (e, t) {
+ switch (t.style.size) {
+ case x.DISPLAY.size:
+ return e.display;
+ case x.TEXT.size:
+ return e.text;
+ case x.SCRIPT.size:
+ return e.script;
+ case x.SCRIPTSCRIPT.size:
+ return e.scriptscript;
+ default:
+ return e.text;
+ }
+ };
+ ot({
+ type: 'mathchoice',
+ names: ['\\mathchoice'],
+ props: { numArgs: 4, primitive: !0 },
+ handler: function (e, t) {
+ return {
+ type: 'mathchoice',
+ mode: e.parser.mode,
+ display: ht(t[0]),
+ text: ht(t[1]),
+ script: ht(t[2]),
+ scriptscript: ht(t[3]),
+ };
+ },
+ htmlBuilder: function (e, t) {
+ var r = cn(e, t),
+ n = ft(r, t, !1);
+ return Ke.makeFragment(n);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = cn(e, t);
+ return It(r, t);
+ },
+ });
+ var mn = function (e, t, r, n, a, i, o) {
+ e = Ke.makeSpan([], [e]);
+ var s,
+ h,
+ c,
+ m = r && l.isCharacterBox(r);
+ if (t) {
+ var u = wt(t, n.havingStyle(a.sup()), n);
+ h = {
+ elem: u,
+ kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - u.depth),
+ };
+ }
+ if (r) {
+ var p = wt(r, n.havingStyle(a.sub()), n);
+ s = {
+ elem: p,
+ kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - p.height),
+ };
+ }
+ if (h && s) {
+ var d =
+ n.fontMetrics().bigOpSpacing5 + s.elem.height + s.elem.depth + s.kern + e.depth + o;
+ c = Ke.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: d,
+ children: [
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: s.elem, marginLeft: F(-i) },
+ { type: 'kern', size: s.kern },
+ { type: 'elem', elem: e },
+ { type: 'kern', size: h.kern },
+ { type: 'elem', elem: h.elem, marginLeft: F(i) },
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ ],
+ },
+ n,
+ );
+ } else if (s) {
+ var f = e.height - o;
+ c = Ke.makeVList(
+ {
+ positionType: 'top',
+ positionData: f,
+ children: [
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: s.elem, marginLeft: F(-i) },
+ { type: 'kern', size: s.kern },
+ { type: 'elem', elem: e },
+ ],
+ },
+ n,
+ );
+ } else {
+ if (!h) return e;
+ var g = e.depth + o;
+ c = Ke.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: g,
+ children: [
+ { type: 'elem', elem: e },
+ { type: 'kern', size: h.kern },
+ { type: 'elem', elem: h.elem, marginLeft: F(i) },
+ { type: 'kern', size: n.fontMetrics().bigOpSpacing5 },
+ ],
+ },
+ n,
+ );
+ }
+ var v = [c];
+ if (s && 0 !== i && !m) {
+ var b = Ke.makeSpan(['mspace'], [], n);
+ ((b.style.marginRight = F(i)), v.unshift(b));
+ }
+ return Ke.makeSpan(['mop', 'op-limits'], v, n);
+ },
+ un = ['\\smallint'],
+ pn = function (e, t) {
+ var r,
+ n,
+ a,
+ i = !1;
+ 'supsub' === e.type
+ ? ((r = e.sup), (n = e.sub), (a = Ut(e.base, 'op')), (i = !0))
+ : (a = Ut(e, 'op'));
+ var o,
+ s = t.style,
+ h = !1;
+ if (
+ (s.size === x.DISPLAY.size && a.symbol && !l.contains(un, a.name) && (h = !0), a.symbol)
+ ) {
+ var c = h ? 'Size2-Regular' : 'Size1-Regular',
+ m = '';
+ if (
+ (('\\oiint' !== a.name && '\\oiiint' !== a.name) ||
+ ((m = a.name.slice(1)), (a.name = 'oiint' === m ? '\\iint' : '\\iiint')),
+ (o = Ke.makeSymbol(a.name, c, 'math', t, [
+ 'mop',
+ 'op-symbol',
+ h ? 'large-op' : 'small-op',
+ ])),
+ m.length > 0)
+ ) {
+ var u = o.italic,
+ p = Ke.staticSvg(m + 'Size' + (h ? '2' : '1'), t);
+ ((o = Ke.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: o, shift: 0 },
+ { type: 'elem', elem: p, shift: h ? 0.08 : 0 },
+ ],
+ },
+ t,
+ )),
+ (a.name = '\\' + m),
+ o.classes.unshift('mop'),
+ (o.italic = u));
+ }
+ } else if (a.body) {
+ var d = ft(a.body, t, !0);
+ 1 === d.length && d[0] instanceof Z
+ ? ((o = d[0]).classes[0] = 'mop')
+ : (o = Ke.makeSpan(['mop'], d, t));
+ } else {
+ for (var f = [], g = 1; g < a.name.length; g++) f.push(Ke.mathsym(a.name[g], a.mode, t));
+ o = Ke.makeSpan(['mop'], f, t);
+ }
+ var v = 0,
+ b = 0;
+ return (
+ (o instanceof Z || '\\oiint' === a.name || '\\oiiint' === a.name) &&
+ !a.suppressBaseShift &&
+ ((v = (o.height - o.depth) / 2 - t.fontMetrics().axisHeight), (b = o.italic)),
+ i
+ ? mn(o, r, n, t, s, b, v)
+ : (v && ((o.style.position = 'relative'), (o.style.top = F(v))), o)
+ );
+ },
+ dn = function (e, t) {
+ var r;
+ if (e.symbol)
+ ((r = new zt('mo', [Bt(e.name, e.mode)])),
+ l.contains(un, e.name) && r.setAttribute('largeop', 'false'));
+ else if (e.body) r = new zt('mo', qt(e.body, t));
+ else {
+ r = new zt('mi', [new At(e.name.slice(1))]);
+ var n = new zt('mo', [Bt('\u2061', 'text')]);
+ r = e.parentIsSupSub ? new zt('mrow', [r, n]) : Mt([r, n]);
+ }
+ return r;
+ },
+ fn = {
+ '\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: function (e, t) {
+ var r = e.parser,
+ n = e.funcName;
+ return (
+ 1 === n.length && (n = fn[n]),
+ { type: 'op', mode: r.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: n }
+ );
+ },
+ htmlBuilder: pn,
+ mathmlBuilder: dn,
+ }),
+ ot({
+ type: 'op',
+ names: ['\\mathop'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[0];
+ return {
+ type: 'op',
+ mode: r.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !1,
+ body: ht(n),
+ };
+ },
+ htmlBuilder: pn,
+ mathmlBuilder: dn,
+ }));
+ var gn = {
+ '\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: function (e) {
+ var t = e.parser,
+ r = e.funcName;
+ return { type: 'op', mode: t.mode, limits: !1, parentIsSupSub: !1, symbol: !1, name: r };
+ },
+ htmlBuilder: pn,
+ mathmlBuilder: dn,
+ }),
+ ot({
+ type: 'op',
+ names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ var t = e.parser,
+ r = e.funcName;
+ return { type: 'op', mode: t.mode, limits: !0, parentIsSupSub: !1, symbol: !1, name: r };
+ },
+ htmlBuilder: pn,
+ mathmlBuilder: dn,
+ }),
+ ot({
+ type: 'op',
+ names: [
+ '\\int',
+ '\\iint',
+ '\\iiint',
+ '\\oint',
+ '\\oiint',
+ '\\oiiint',
+ '\u222b',
+ '\u222c',
+ '\u222d',
+ '\u222e',
+ '\u222f',
+ '\u2230',
+ ],
+ props: { numArgs: 0 },
+ handler: function (e) {
+ var t = e.parser,
+ r = e.funcName;
+ return (
+ 1 === r.length && (r = gn[r]),
+ { type: 'op', mode: t.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: r }
+ );
+ },
+ htmlBuilder: pn,
+ mathmlBuilder: dn,
+ }));
+ var vn = function (e, t) {
+ var r,
+ n,
+ a,
+ i,
+ o = !1;
+ if (
+ ('supsub' === e.type
+ ? ((r = e.sup), (n = e.sub), (a = Ut(e.base, 'operatorname')), (o = !0))
+ : (a = Ut(e, 'operatorname')),
+ a.body.length > 0)
+ ) {
+ for (
+ var s = a.body.map(function (e) {
+ var t = e.text;
+ return 'string' == typeof t ? { type: 'textord', mode: e.mode, text: t } : e;
+ }),
+ l = ft(s, t.withFont('mathrm'), !0),
+ h = 0;
+ h < l.length;
+ h++
+ ) {
+ var c = l[h];
+ c instanceof Z && (c.text = c.text.replace(/\u2212/, '-').replace(/\u2217/, '*'));
+ }
+ i = Ke.makeSpan(['mop'], l, t);
+ } else i = Ke.makeSpan(['mop'], [], t);
+ return o ? mn(i, r, n, t, t.style, 0, 0) : i;
+ };
+ function bn(e, t, r) {
+ for (
+ var n = ft(e, t, !1), a = t.sizeMultiplier / r.sizeMultiplier, i = 0;
+ i < n.length;
+ i++
+ ) {
+ var o = n[i].classes.indexOf('sizing');
+ (o < 0
+ ? Array.prototype.push.apply(n[i].classes, t.sizingClasses(r))
+ : n[i].classes[o + 1] === 'reset-size' + t.size &&
+ (n[i].classes[o + 1] = 'reset-size' + r.size),
+ (n[i].height *= a),
+ (n[i].depth *= a));
+ }
+ return Ke.makeFragment(n);
+ }
+ (ot({
+ type: 'operatorname',
+ names: ['\\operatorname@', '\\operatornamewithlimits'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = t[0];
+ return {
+ type: 'operatorname',
+ mode: r.mode,
+ body: ht(a),
+ alwaysHandleSupSub: '\\operatornamewithlimits' === n,
+ limits: !1,
+ parentIsSupSub: !1,
+ };
+ },
+ htmlBuilder: vn,
+ mathmlBuilder: function (e, t) {
+ for (var r = qt(e.body, t.withFont('mathrm')), n = !0, a = 0; a < r.length; a++) {
+ var i = r[a];
+ if (i instanceof Tt.SpaceNode);
+ else if (i instanceof Tt.MathNode)
+ switch (i.type) {
+ case 'mi':
+ case 'mn':
+ case 'ms':
+ case 'mspace':
+ case 'mtext':
+ break;
+ case 'mo':
+ var o = i.children[0];
+ 1 === i.children.length && o instanceof Tt.TextNode
+ ? (o.text = o.text.replace(/\u2212/, '-').replace(/\u2217/, '*'))
+ : (n = !1);
+ break;
+ default:
+ n = !1;
+ }
+ else n = !1;
+ }
+ if (n) {
+ var s = r
+ .map(function (e) {
+ return e.toText();
+ })
+ .join('');
+ r = [new Tt.TextNode(s)];
+ }
+ var l = new Tt.MathNode('mi', r);
+ l.setAttribute('mathvariant', 'normal');
+ var h = new Tt.MathNode('mo', [Bt('\u2061', 'text')]);
+ return e.parentIsSupSub ? new Tt.MathNode('mrow', [l, h]) : Tt.newDocumentFragment([l, h]);
+ },
+ }),
+ Pr('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@'),
+ st({
+ type: 'ordgroup',
+ htmlBuilder: function (e, t) {
+ return e.semisimple
+ ? Ke.makeFragment(ft(e.body, t, !1))
+ : Ke.makeSpan(['mord'], ft(e.body, t, !0), t);
+ },
+ mathmlBuilder: function (e, t) {
+ return It(e.body, t, !0);
+ },
+ }),
+ ot({
+ type: 'overline',
+ names: ['\\overline'],
+ props: { numArgs: 1 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[0];
+ return { type: 'overline', mode: r.mode, body: n };
+ },
+ htmlBuilder: function (e, t) {
+ var r = wt(e.body, t.havingCrampedStyle()),
+ n = Ke.makeLineSpan('overline-line', t),
+ a = t.fontMetrics().defaultRuleThickness,
+ i = Ke.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: r },
+ { type: 'kern', size: 3 * a },
+ { type: 'elem', elem: n },
+ { type: 'kern', size: a },
+ ],
+ },
+ t,
+ );
+ return Ke.makeSpan(['mord', 'overline'], [i], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mo', [new Tt.TextNode('\u203e')]);
+ r.setAttribute('stretchy', 'true');
+ var n = new Tt.MathNode('mover', [Rt(e.body, t), r]);
+ return (n.setAttribute('accent', 'true'), n);
+ },
+ }),
+ ot({
+ type: 'phantom',
+ names: ['\\phantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[0];
+ return { type: 'phantom', mode: r.mode, body: ht(n) };
+ },
+ htmlBuilder: function (e, t) {
+ var r = ft(e.body, t.withPhantom(), !1);
+ return Ke.makeFragment(r);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = qt(e.body, t);
+ return new Tt.MathNode('mphantom', r);
+ },
+ }),
+ ot({
+ type: 'hphantom',
+ names: ['\\hphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[0];
+ return { type: 'hphantom', mode: r.mode, body: n };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Ke.makeSpan([], [wt(e.body, t.withPhantom())]);
+ if (((r.height = 0), (r.depth = 0), r.children))
+ for (var n = 0; n < r.children.length; n++)
+ ((r.children[n].height = 0), (r.children[n].depth = 0));
+ return (
+ (r = Ke.makeVList(
+ { positionType: 'firstBaseline', children: [{ type: 'elem', elem: r }] },
+ t,
+ )),
+ Ke.makeSpan(['mord'], [r], t)
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r = qt(ht(e.body), t),
+ n = new Tt.MathNode('mphantom', r),
+ a = new Tt.MathNode('mpadded', [n]);
+ return (a.setAttribute('height', '0px'), a.setAttribute('depth', '0px'), a);
+ },
+ }),
+ ot({
+ type: 'vphantom',
+ names: ['\\vphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = t[0];
+ return { type: 'vphantom', mode: r.mode, body: n };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Ke.makeSpan(['inner'], [wt(e.body, t.withPhantom())]),
+ n = Ke.makeSpan(['fix'], []);
+ return Ke.makeSpan(['mord', 'rlap'], [r, n], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = qt(ht(e.body), t),
+ n = new Tt.MathNode('mphantom', r),
+ a = new Tt.MathNode('mpadded', [n]);
+ return (a.setAttribute('width', '0px'), a);
+ },
+ }),
+ ot({
+ type: 'raisebox',
+ names: ['\\raisebox'],
+ props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = Ut(t[0], 'size').value,
+ a = t[1];
+ return { type: 'raisebox', mode: r.mode, dy: n, body: a };
+ },
+ htmlBuilder: function (e, t) {
+ var r = wt(e.body, t),
+ n = P(e.dy, t);
+ return Ke.makeVList(
+ { positionType: 'shift', positionData: -n, children: [{ type: 'elem', elem: r }] },
+ t,
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mpadded', [Rt(e.body, t)]),
+ n = e.dy.number + e.dy.unit;
+ return (r.setAttribute('voffset', n), r);
+ },
+ }),
+ ot({
+ type: 'internal',
+ names: ['\\relax'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: function (e) {
+ return { type: 'internal', mode: e.parser.mode };
+ },
+ }),
+ ot({
+ type: 'rule',
+ names: ['\\rule'],
+ props: { numArgs: 2, numOptionalArgs: 1, argTypes: ['size', 'size', 'size'] },
+ handler: function (e, t, r) {
+ var n = e.parser,
+ a = r[0],
+ i = Ut(t[0], 'size'),
+ o = Ut(t[1], 'size');
+ return {
+ type: 'rule',
+ mode: n.mode,
+ shift: a && Ut(a, 'size').value,
+ width: i.value,
+ height: o.value,
+ };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Ke.makeSpan(['mord', 'rule'], [], t),
+ n = P(e.width, t),
+ a = P(e.height, t),
+ i = e.shift ? P(e.shift, t) : 0;
+ return (
+ (r.style.borderRightWidth = F(n)),
+ (r.style.borderTopWidth = F(a)),
+ (r.style.bottom = F(i)),
+ (r.width = n),
+ (r.height = a + i),
+ (r.depth = -i),
+ (r.maxFontSize = 1.125 * a * t.sizeMultiplier),
+ r
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ var r = P(e.width, t),
+ n = P(e.height, t),
+ a = e.shift ? P(e.shift, t) : 0,
+ i = (t.color && t.getColor()) || 'black',
+ o = new Tt.MathNode('mspace');
+ (o.setAttribute('mathbackground', i),
+ o.setAttribute('width', F(r)),
+ o.setAttribute('height', F(n)));
+ var s = new Tt.MathNode('mpadded', [o]);
+ return (
+ a >= 0
+ ? s.setAttribute('height', F(a))
+ : (s.setAttribute('height', F(a)), s.setAttribute('depth', F(-a))),
+ s.setAttribute('voffset', F(a)),
+ s
+ );
+ },
+ }));
+ var yn = [
+ '\\tiny',
+ '\\sixptsize',
+ '\\scriptsize',
+ '\\footnotesize',
+ '\\small',
+ '\\normalsize',
+ '\\large',
+ '\\Large',
+ '\\LARGE',
+ '\\huge',
+ '\\Huge',
+ ];
+ (ot({
+ type: 'sizing',
+ names: yn,
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.breakOnTokenText,
+ n = e.funcName,
+ a = e.parser,
+ i = a.parseExpression(!1, r);
+ return { type: 'sizing', mode: a.mode, size: yn.indexOf(n) + 1, body: i };
+ },
+ htmlBuilder: function (e, t) {
+ var r = t.havingSize(e.size);
+ return bn(e.body, r, t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = t.havingSize(e.size),
+ n = qt(e.body, r),
+ a = new Tt.MathNode('mstyle', n);
+ return (a.setAttribute('mathsize', F(r.sizeMultiplier)), a);
+ },
+ }),
+ ot({
+ type: 'smash',
+ names: ['\\smash'],
+ props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
+ handler: function (e, t, r) {
+ var n = e.parser,
+ a = !1,
+ i = !1,
+ o = r[0] && Ut(r[0], 'ordgroup');
+ if (o)
+ for (var s = '', l = 0; l < o.body.length; ++l) {
+ if ('t' === (s = o.body[l].text)) a = !0;
+ else {
+ if ('b' !== s) {
+ ((a = !1), (i = !1));
+ break;
+ }
+ i = !0;
+ }
+ }
+ else ((a = !0), (i = !0));
+ var h = t[0];
+ return { type: 'smash', mode: n.mode, body: h, smashHeight: a, smashDepth: i };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Ke.makeSpan([], [wt(e.body, t)]);
+ if (!e.smashHeight && !e.smashDepth) return r;
+ if (e.smashHeight && ((r.height = 0), r.children))
+ for (var n = 0; n < r.children.length; n++) r.children[n].height = 0;
+ if (e.smashDepth && ((r.depth = 0), r.children))
+ for (var a = 0; a < r.children.length; a++) r.children[a].depth = 0;
+ var i = Ke.makeVList(
+ { positionType: 'firstBaseline', children: [{ type: 'elem', elem: r }] },
+ t,
+ );
+ return Ke.makeSpan(['mord'], [i], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mpadded', [Rt(e.body, t)]);
+ return (
+ e.smashHeight && r.setAttribute('height', '0px'),
+ e.smashDepth && r.setAttribute('depth', '0px'),
+ r
+ );
+ },
+ }),
+ ot({
+ type: 'sqrt',
+ names: ['\\sqrt'],
+ props: { numArgs: 1, numOptionalArgs: 1 },
+ handler: function (e, t, r) {
+ var n = e.parser,
+ a = r[0],
+ i = t[0];
+ return { type: 'sqrt', mode: n.mode, body: i, index: a };
+ },
+ htmlBuilder: function (e, t) {
+ var r = wt(e.body, t.havingCrampedStyle());
+ (0 === r.height && (r.height = t.fontMetrics().xHeight), (r = Ke.wrapFragment(r, t)));
+ var n = t.fontMetrics().defaultRuleThickness,
+ a = n;
+ t.style.id < x.TEXT.id && (a = t.fontMetrics().xHeight);
+ var i = n + a / 4,
+ o = r.height + r.depth + i + n,
+ s = Nr.sqrtImage(o, t),
+ l = s.span,
+ h = s.ruleWidth,
+ c = s.advanceWidth,
+ m = l.height - h;
+ m > r.height + r.depth + i && (i = (i + m - r.height - r.depth) / 2);
+ var u = l.height - r.height - i - h;
+ r.style.paddingLeft = F(c);
+ var p = Ke.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: r, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: -(r.height + u) },
+ { type: 'elem', elem: l },
+ { type: 'kern', size: h },
+ ],
+ },
+ t,
+ );
+ if (e.index) {
+ var d = t.havingStyle(x.SCRIPTSCRIPT),
+ f = wt(e.index, d, t),
+ g = 0.6 * (p.height - p.depth),
+ v = Ke.makeVList(
+ { positionType: 'shift', positionData: -g, children: [{ type: 'elem', elem: f }] },
+ t,
+ ),
+ b = Ke.makeSpan(['root'], [v]);
+ return Ke.makeSpan(['mord', 'sqrt'], [b, p], t);
+ }
+ return Ke.makeSpan(['mord', 'sqrt'], [p], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = e.body,
+ n = e.index;
+ return n
+ ? new Tt.MathNode('mroot', [Rt(r, t), Rt(n, t)])
+ : new Tt.MathNode('msqrt', [Rt(r, t)]);
+ },
+ }));
+ var xn = { display: x.DISPLAY, text: x.TEXT, script: x.SCRIPT, scriptscript: x.SCRIPTSCRIPT };
+ ot({
+ type: 'styling',
+ names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler: function (e, t) {
+ var r = e.breakOnTokenText,
+ n = e.funcName,
+ a = e.parser,
+ i = a.parseExpression(!0, r),
+ o = n.slice(1, n.length - 5);
+ return { type: 'styling', mode: a.mode, style: o, body: i };
+ },
+ htmlBuilder: function (e, t) {
+ var r = xn[e.style],
+ n = t.havingStyle(r).withFont('');
+ return bn(e.body, n, t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = xn[e.style],
+ n = t.havingStyle(r),
+ a = qt(e.body, n),
+ i = new Tt.MathNode('mstyle', a),
+ o = {
+ display: ['0', 'true'],
+ text: ['0', 'false'],
+ script: ['1', 'false'],
+ scriptscript: ['2', 'false'],
+ }[e.style];
+ return (i.setAttribute('scriptlevel', o[0]), i.setAttribute('displaystyle', o[1]), i);
+ },
+ });
+ var wn = function (e, t) {
+ var r = e.base;
+ return r
+ ? 'op' === r.type
+ ? r.limits && (t.style.size === x.DISPLAY.size || r.alwaysHandleSupSub)
+ ? pn
+ : null
+ : 'operatorname' === r.type
+ ? r.alwaysHandleSupSub && (t.style.size === x.DISPLAY.size || r.limits)
+ ? vn
+ : null
+ : 'accent' === r.type
+ ? l.isCharacterBox(r.base)
+ ? Wt
+ : null
+ : 'horizBrace' === r.type && !e.sub === r.isOver
+ ? ln
+ : null
+ : null;
+ };
+ (st({
+ type: 'supsub',
+ htmlBuilder: function (e, t) {
+ var r = wn(e, t);
+ if (r) return r(e, t);
+ var n,
+ a,
+ i,
+ o = e.base,
+ s = e.sup,
+ h = e.sub,
+ c = wt(o, t),
+ m = t.fontMetrics(),
+ u = 0,
+ p = 0,
+ d = o && l.isCharacterBox(o);
+ if (s) {
+ var f = t.havingStyle(t.style.sup());
+ ((n = wt(s, f, t)),
+ d || (u = c.height - (f.fontMetrics().supDrop * f.sizeMultiplier) / t.sizeMultiplier));
+ }
+ if (h) {
+ var g = t.havingStyle(t.style.sub());
+ ((a = wt(h, g, t)),
+ d || (p = c.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / t.sizeMultiplier));
+ }
+ i = t.style === x.DISPLAY ? m.sup1 : t.style.cramped ? m.sup3 : m.sup2;
+ var v,
+ b = t.sizeMultiplier,
+ y = F(0.5 / m.ptPerEm / b),
+ w = null;
+ if (a) {
+ var k =
+ e.base &&
+ 'op' === e.base.type &&
+ e.base.name &&
+ ('\\oiint' === e.base.name || '\\oiiint' === e.base.name);
+ (c instanceof Z || k) && (w = F(-c.italic));
+ }
+ if (n && a) {
+ ((u = Math.max(u, i, n.depth + 0.25 * m.xHeight)), (p = Math.max(p, m.sub2)));
+ var S = 4 * m.defaultRuleThickness;
+ if (u - n.depth - (a.height - p) < S) {
+ p = S - (u - n.depth) + a.height;
+ var M = 0.8 * m.xHeight - (u - n.depth);
+ M > 0 && ((u += M), (p -= M));
+ }
+ var z = [
+ { type: 'elem', elem: a, shift: p, marginRight: y, marginLeft: w },
+ { type: 'elem', elem: n, shift: -u, marginRight: y },
+ ];
+ v = Ke.makeVList({ positionType: 'individualShift', children: z }, t);
+ } else if (a) {
+ p = Math.max(p, m.sub1, a.height - 0.8 * m.xHeight);
+ var A = [{ type: 'elem', elem: a, marginLeft: w, marginRight: y }];
+ v = Ke.makeVList({ positionType: 'shift', positionData: p, children: A }, t);
+ } else {
+ if (!n) throw new Error('supsub must have either sup or sub.');
+ ((u = Math.max(u, i, n.depth + 0.25 * m.xHeight)),
+ (v = Ke.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -u,
+ children: [{ type: 'elem', elem: n, marginRight: y }],
+ },
+ t,
+ )));
+ }
+ var T = yt(c, 'right') || 'mord';
+ return Ke.makeSpan([T], [c, Ke.makeSpan(['msupsub'], [v])], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r,
+ n = !1;
+ (e.base &&
+ 'horizBrace' === e.base.type &&
+ !!e.sup === e.base.isOver &&
+ ((n = !0), (r = e.base.isOver)),
+ !e.base ||
+ ('op' !== e.base.type && 'operatorname' !== e.base.type) ||
+ (e.base.parentIsSupSub = !0));
+ var a,
+ i = [Rt(e.base, t)];
+ if ((e.sub && i.push(Rt(e.sub, t)), e.sup && i.push(Rt(e.sup, t)), n))
+ a = r ? 'mover' : 'munder';
+ else if (e.sub)
+ if (e.sup) {
+ var o = e.base;
+ a =
+ (o && 'op' === o.type && o.limits && t.style === x.DISPLAY) ||
+ (o &&
+ 'operatorname' === o.type &&
+ o.alwaysHandleSupSub &&
+ (t.style === x.DISPLAY || o.limits))
+ ? 'munderover'
+ : 'msubsup';
+ } else {
+ var s = e.base;
+ a =
+ (s &&
+ 'op' === s.type &&
+ s.limits &&
+ (t.style === x.DISPLAY || s.alwaysHandleSupSub)) ||
+ (s &&
+ 'operatorname' === s.type &&
+ s.alwaysHandleSupSub &&
+ (s.limits || t.style === x.DISPLAY))
+ ? 'munder'
+ : 'msub';
+ }
+ else {
+ var l = e.base;
+ a =
+ (l && 'op' === l.type && l.limits && (t.style === x.DISPLAY || l.alwaysHandleSupSub)) ||
+ (l &&
+ 'operatorname' === l.type &&
+ l.alwaysHandleSupSub &&
+ (l.limits || t.style === x.DISPLAY))
+ ? 'mover'
+ : 'msup';
+ }
+ return new Tt.MathNode(a, i);
+ },
+ }),
+ st({
+ type: 'atom',
+ htmlBuilder: function (e, t) {
+ return Ke.mathsym(e.text, e.mode, t, ['m' + e.family]);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mo', [Bt(e.text, e.mode)]);
+ if ('bin' === e.family) {
+ var n = Nt(e, t);
+ 'bold-italic' === n && r.setAttribute('mathvariant', n);
+ } else
+ 'punct' === e.family
+ ? r.setAttribute('separator', 'true')
+ : ('open' !== e.family && 'close' !== e.family) ||
+ r.setAttribute('stretchy', 'false');
+ return r;
+ },
+ }));
+ var kn = { mi: 'italic', mn: 'normal', mtext: 'normal' };
+ (st({
+ type: 'mathord',
+ htmlBuilder: function (e, t) {
+ return Ke.makeOrd(e, t, 'mathord');
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mi', [Bt(e.text, e.mode, t)]),
+ n = Nt(e, t) || 'italic';
+ return (n !== kn[r.type] && r.setAttribute('mathvariant', n), r);
+ },
+ }),
+ st({
+ type: 'textord',
+ htmlBuilder: function (e, t) {
+ return Ke.makeOrd(e, t, 'textord');
+ },
+ mathmlBuilder: function (e, t) {
+ var r,
+ n = Bt(e.text, e.mode, t),
+ a = Nt(e, t) || 'normal';
+ return (
+ (r =
+ 'text' === e.mode
+ ? new Tt.MathNode('mtext', [n])
+ : /[0-9]/.test(e.text)
+ ? new Tt.MathNode('mn', [n])
+ : '\\prime' === e.text
+ ? new Tt.MathNode('mo', [n])
+ : new Tt.MathNode('mi', [n])),
+ a !== kn[r.type] && r.setAttribute('mathvariant', a),
+ r
+ );
+ },
+ }));
+ var Sn = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' },
+ Mn = {
+ ' ': {},
+ '\\ ': {},
+ '~': { className: 'nobreak' },
+ '\\space': {},
+ '\\nobreakspace': { className: 'nobreak' },
+ };
+ st({
+ type: 'spacing',
+ htmlBuilder: function (e, t) {
+ if (Mn.hasOwnProperty(e.text)) {
+ var r = Mn[e.text].className || '';
+ if ('text' === e.mode) {
+ var a = Ke.makeOrd(e, t, 'textord');
+ return (a.classes.push(r), a);
+ }
+ return Ke.makeSpan(['mspace', r], [Ke.mathsym(e.text, e.mode, t)], t);
+ }
+ if (Sn.hasOwnProperty(e.text)) return Ke.makeSpan(['mspace', Sn[e.text]], [], t);
+ throw new n('Unknown type of space "' + e.text + '"');
+ },
+ mathmlBuilder: function (e, t) {
+ if (!Mn.hasOwnProperty(e.text)) {
+ if (Sn.hasOwnProperty(e.text)) return new Tt.MathNode('mspace');
+ throw new n('Unknown type of space "' + e.text + '"');
+ }
+ return new Tt.MathNode('mtext', [new Tt.TextNode('\xa0')]);
+ },
+ });
+ var zn = function () {
+ var e = new Tt.MathNode('mtd', []);
+ return (e.setAttribute('width', '50%'), e);
+ };
+ st({
+ type: 'tag',
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mtable', [
+ new Tt.MathNode('mtr', [
+ zn(),
+ new Tt.MathNode('mtd', [It(e.body, t)]),
+ zn(),
+ new Tt.MathNode('mtd', [It(e.tag, t)]),
+ ]),
+ ]);
+ return (r.setAttribute('width', '100%'), r);
+ },
+ });
+ var An = {
+ '\\text': void 0,
+ '\\textrm': 'textrm',
+ '\\textsf': 'textsf',
+ '\\texttt': 'texttt',
+ '\\textnormal': 'textrm',
+ },
+ Tn = { '\\textbf': 'textbf', '\\textmd': 'textmd' },
+ Bn = { '\\textit': 'textit', '\\textup': 'textup' },
+ Cn = function (e, t) {
+ var r = e.font;
+ return r
+ ? An[r]
+ ? t.withTextFontFamily(An[r])
+ : Tn[r]
+ ? t.withTextFontWeight(Tn[r])
+ : t.withTextFontShape(Bn[r])
+ : t;
+ };
+ (ot({
+ type: 'text',
+ names: [
+ '\\text',
+ '\\textrm',
+ '\\textsf',
+ '\\texttt',
+ '\\textnormal',
+ '\\textbf',
+ '\\textmd',
+ '\\textit',
+ '\\textup',
+ ],
+ props: { numArgs: 1, argTypes: ['text'], allowedInArgument: !0, allowedInText: !0 },
+ handler: function (e, t) {
+ var r = e.parser,
+ n = e.funcName,
+ a = t[0];
+ return { type: 'text', mode: r.mode, body: ht(a), font: n };
+ },
+ htmlBuilder: function (e, t) {
+ var r = Cn(e, t),
+ n = ft(e.body, r, !0);
+ return Ke.makeSpan(['mord', 'text'], n, r);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = Cn(e, t);
+ return It(e.body, r);
+ },
+ }),
+ ot({
+ type: 'underline',
+ names: ['\\underline'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: function (e, t) {
+ return { type: 'underline', mode: e.parser.mode, body: t[0] };
+ },
+ htmlBuilder: function (e, t) {
+ var r = wt(e.body, t),
+ n = Ke.makeLineSpan('underline-line', t),
+ a = t.fontMetrics().defaultRuleThickness,
+ i = Ke.makeVList(
+ {
+ positionType: 'top',
+ positionData: r.height,
+ children: [
+ { type: 'kern', size: a },
+ { type: 'elem', elem: n },
+ { type: 'kern', size: 3 * a },
+ { type: 'elem', elem: r },
+ ],
+ },
+ t,
+ );
+ return Ke.makeSpan(['mord', 'underline'], [i], t);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.MathNode('mo', [new Tt.TextNode('\u203e')]);
+ r.setAttribute('stretchy', 'true');
+ var n = new Tt.MathNode('munder', [Rt(e.body, t), r]);
+ return (n.setAttribute('accentunder', 'true'), n);
+ },
+ }),
+ ot({
+ type: 'vcenter',
+ names: ['\\vcenter'],
+ props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 },
+ handler: function (e, t) {
+ return { type: 'vcenter', mode: e.parser.mode, body: t[0] };
+ },
+ htmlBuilder: function (e, t) {
+ var r = wt(e.body, t),
+ n = t.fontMetrics().axisHeight,
+ a = 0.5 * (r.height - n - (r.depth + n));
+ return Ke.makeVList(
+ { positionType: 'shift', positionData: a, children: [{ type: 'elem', elem: r }] },
+ t,
+ );
+ },
+ mathmlBuilder: function (e, t) {
+ return new Tt.MathNode('mpadded', [Rt(e.body, t)], ['vcenter']);
+ },
+ }),
+ ot({
+ type: 'verb',
+ names: ['\\verb'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: function (e, t, r) {
+ throw new n('\\verb ended by end of line instead of matching delimiter');
+ },
+ htmlBuilder: function (e, t) {
+ for (var r = Nn(e), n = [], a = t.havingStyle(t.style.text()), i = 0; i < r.length; i++) {
+ var o = r[i];
+ ('~' === o && (o = '\\textasciitilde'),
+ n.push(Ke.makeSymbol(o, 'Typewriter-Regular', e.mode, a, ['mord', 'texttt'])));
+ }
+ return Ke.makeSpan(['mord', 'text'].concat(a.sizingClasses(t)), Ke.tryCombineChars(n), a);
+ },
+ mathmlBuilder: function (e, t) {
+ var r = new Tt.TextNode(Nn(e)),
+ n = new Tt.MathNode('mtext', [r]);
+ return (n.setAttribute('mathvariant', 'monospace'), n);
+ },
+ }));
+ var Nn = function (e) {
+ return e.body.replace(/ /g, e.star ? '\u2423' : '\xa0');
+ },
+ qn = nt,
+ In = '[ \r\n\t]',
+ Rn = '(\\\\[a-zA-Z@]+)' + In + '*',
+ Hn = '[\u0300-\u036f]',
+ On = new RegExp(Hn + '+$'),
+ En =
+ '(' +
+ In +
+ '+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]' +
+ Hn +
+ '*|[\ud800-\udbff][\udc00-\udfff]' +
+ Hn +
+ '*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|' +
+ Rn +
+ '|\\\\[^\ud800-\udfff])',
+ Ln = (function () {
+ function e(e, t) {
+ ((this.input = void 0),
+ (this.settings = void 0),
+ (this.tokenRegex = void 0),
+ (this.catcodes = void 0),
+ (this.input = e),
+ (this.settings = t),
+ (this.tokenRegex = new RegExp(En, 'g')),
+ (this.catcodes = { '%': 14, '~': 13 }));
+ }
+ var t = e.prototype;
+ return (
+ (t.setCatcode = function (e, t) {
+ this.catcodes[e] = t;
+ }),
+ (t.lex = function () {
+ var e = this.input,
+ t = this.tokenRegex.lastIndex;
+ if (t === e.length) return new Gr('EOF', new Fr(this, t, t));
+ var r = this.tokenRegex.exec(e);
+ if (null === r || r.index !== t)
+ throw new n(
+ "Unexpected character: '" + e[t] + "'",
+ new Gr(e[t], new Fr(this, t, t + 1)),
+ );
+ var a = r[6] || r[3] || (r[2] ? '\\ ' : ' ');
+ if (14 === this.catcodes[a]) {
+ var i = e.indexOf('\n', this.tokenRegex.lastIndex);
+ return (
+ -1 === i
+ ? ((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 = i + 1),
+ this.lex()
+ );
+ }
+ return new Gr(a, new Fr(this, t, this.tokenRegex.lastIndex));
+ }),
+ e
+ );
+ })(),
+ Dn = (function () {
+ function e(e, t) {
+ (void 0 === e && (e = {}),
+ void 0 === t && (t = {}),
+ (this.current = void 0),
+ (this.builtins = void 0),
+ (this.undefStack = void 0),
+ (this.current = t),
+ (this.builtins = e),
+ (this.undefStack = []));
+ }
+ var t = e.prototype;
+ return (
+ (t.beginGroup = function () {
+ this.undefStack.push({});
+ }),
+ (t.endGroup = function () {
+ if (0 === this.undefStack.length)
+ throw new n(
+ 'Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug',
+ );
+ var e = this.undefStack.pop();
+ for (var t in e)
+ e.hasOwnProperty(t) &&
+ (null == e[t] ? delete this.current[t] : (this.current[t] = e[t]));
+ }),
+ (t.endGroups = function () {
+ for (; this.undefStack.length > 0; ) this.endGroup();
+ }),
+ (t.has = function (e) {
+ return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e);
+ }),
+ (t.get = function (e) {
+ return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e];
+ }),
+ (t.set = function (e, t, r) {
+ if ((void 0 === r && (r = !1), r)) {
+ for (var n = 0; n < this.undefStack.length; n++) delete this.undefStack[n][e];
+ this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = t);
+ } else {
+ var a = this.undefStack[this.undefStack.length - 1];
+ a && !a.hasOwnProperty(e) && (a[e] = this.current[e]);
+ }
+ null == t ? delete this.current[e] : (this.current[e] = t);
+ }),
+ e
+ );
+ })(),
+ Vn = Vr;
+ (Pr('\\noexpand', function (e) {
+ var t = e.popToken();
+ return (
+ e.isExpandable(t.text) && ((t.noexpand = !0), (t.treatAsRelax = !0)),
+ { tokens: [t], numArgs: 0 }
+ );
+ }),
+ Pr('\\expandafter', function (e) {
+ var t = e.popToken();
+ return (e.expandOnce(!0), { tokens: [t], numArgs: 0 });
+ }),
+ Pr('\\@firstoftwo', function (e) {
+ return { tokens: e.consumeArgs(2)[0], numArgs: 0 };
+ }),
+ Pr('\\@secondoftwo', function (e) {
+ return { tokens: e.consumeArgs(2)[1], numArgs: 0 };
+ }),
+ Pr('\\@ifnextchar', function (e) {
+ var t = e.consumeArgs(3);
+ e.consumeSpaces();
+ var r = e.future();
+ return 1 === t[0].length && t[0][0].text === r.text
+ ? { tokens: t[1], numArgs: 0 }
+ : { tokens: t[2], numArgs: 0 };
+ }),
+ Pr('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}'),
+ Pr('\\TextOrMath', function (e) {
+ var t = e.consumeArgs(2);
+ return 'text' === e.mode ? { tokens: t[0], numArgs: 0 } : { tokens: t[1], numArgs: 0 };
+ }));
+ var Pn = {
+ 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,
+ };
+ Pr('\\char', function (e) {
+ var t,
+ r = e.popToken(),
+ a = '';
+ if ("'" === r.text) ((t = 8), (r = e.popToken()));
+ else if ('"' === r.text) ((t = 16), (r = e.popToken()));
+ else if ('`' === r.text)
+ if ('\\' === (r = e.popToken()).text[0]) a = r.text.charCodeAt(1);
+ else {
+ if ('EOF' === r.text) throw new n('\\char` missing argument');
+ a = r.text.charCodeAt(0);
+ }
+ else t = 10;
+ if (t) {
+ if (null == (a = Pn[r.text]) || a >= t)
+ throw new n('Invalid base-' + t + ' digit ' + r.text);
+ for (var i; null != (i = Pn[e.future().text]) && i < t; )
+ ((a *= t), (a += i), e.popToken());
+ }
+ return '\\@char{' + a + '}';
+ });
+ var Fn = function (e, t, r) {
+ var a = e.consumeArg().tokens;
+ if (1 !== a.length) throw new n("\\newcommand's first argument must be a macro name");
+ var i = a[0].text,
+ o = e.isDefined(i);
+ if (o && !t)
+ throw new n('\\newcommand{' + i + '} attempting to redefine ' + i + '; use \\renewcommand');
+ if (!o && !r)
+ throw new n(
+ '\\renewcommand{' + i + '} when command ' + i + ' does not yet exist; use \\newcommand',
+ );
+ var s = 0;
+ if (1 === (a = e.consumeArg().tokens).length && '[' === a[0].text) {
+ for (var l = '', h = e.expandNextToken(); ']' !== h.text && 'EOF' !== h.text; )
+ ((l += h.text), (h = e.expandNextToken()));
+ if (!l.match(/^\s*[0-9]+\s*$/)) throw new n('Invalid number of arguments: ' + l);
+ ((s = parseInt(l)), (a = e.consumeArg().tokens));
+ }
+ return (e.macros.set(i, { tokens: a, numArgs: s }), '');
+ };
+ (Pr('\\newcommand', function (e) {
+ return Fn(e, !1, !0);
+ }),
+ Pr('\\renewcommand', function (e) {
+ return Fn(e, !0, !1);
+ }),
+ Pr('\\providecommand', function (e) {
+ return Fn(e, !0, !0);
+ }),
+ Pr('\\message', function (e) {
+ var t = e.consumeArgs(1)[0];
+ return (
+ console.log(
+ t
+ .reverse()
+ .map(function (e) {
+ return e.text;
+ })
+ .join(''),
+ ),
+ ''
+ );
+ }),
+ Pr('\\errmessage', function (e) {
+ var t = e.consumeArgs(1)[0];
+ return (
+ console.error(
+ t
+ .reverse()
+ .map(function (e) {
+ return e.text;
+ })
+ .join(''),
+ ),
+ ''
+ );
+ }),
+ Pr('\\show', function (e) {
+ var t = e.popToken(),
+ r = t.text;
+ return (console.log(t, e.macros.get(r), qn[r], ae.math[r], ae.text[r]), '');
+ }),
+ Pr('\\bgroup', '{'),
+ Pr('\\egroup', '}'),
+ Pr('~', '\\nobreakspace'),
+ Pr('\\lq', '`'),
+ Pr('\\rq', "'"),
+ Pr('\\aa', '\\r a'),
+ Pr('\\AA', '\\r A'),
+ Pr('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`\xa9}'),
+ Pr('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}'),
+ Pr('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}'),
+ Pr('\u212c', '\\mathscr{B}'),
+ Pr('\u2130', '\\mathscr{E}'),
+ Pr('\u2131', '\\mathscr{F}'),
+ Pr('\u210b', '\\mathscr{H}'),
+ Pr('\u2110', '\\mathscr{I}'),
+ Pr('\u2112', '\\mathscr{L}'),
+ Pr('\u2133', '\\mathscr{M}'),
+ Pr('\u211b', '\\mathscr{R}'),
+ Pr('\u212d', '\\mathfrak{C}'),
+ Pr('\u210c', '\\mathfrak{H}'),
+ Pr('\u2128', '\\mathfrak{Z}'),
+ Pr('\\Bbbk', '\\Bbb{k}'),
+ Pr('\xb7', '\\cdotp'),
+ Pr('\\llap', '\\mathllap{\\textrm{#1}}'),
+ Pr('\\rlap', '\\mathrlap{\\textrm{#1}}'),
+ Pr('\\clap', '\\mathclap{\\textrm{#1}}'),
+ Pr('\\mathstrut', '\\vphantom{(}'),
+ Pr('\\underbar', '\\underline{\\text{#1}}'),
+ Pr('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),
+ Pr('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}'),
+ Pr('\\ne', '\\neq'),
+ Pr('\u2260', '\\neq'),
+ Pr(
+ '\\notin',
+ '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}',
+ ),
+ Pr('\u2209', '\\notin'),
+ Pr(
+ '\u2258',
+ '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}',
+ ),
+ Pr('\u2259', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}'),
+ Pr('\u225a', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}'),
+ Pr('\u225b', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}'),
+ Pr('\u225d', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}'),
+ Pr('\u225e', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}'),
+ Pr('\u225f', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}'),
+ Pr('\u27c2', '\\perp'),
+ Pr('\u203c', '\\mathclose{!\\mkern-0.8mu!}'),
+ Pr('\u220c', '\\notni'),
+ Pr('\u231c', '\\ulcorner'),
+ Pr('\u231d', '\\urcorner'),
+ Pr('\u231e', '\\llcorner'),
+ Pr('\u231f', '\\lrcorner'),
+ Pr('\xa9', '\\copyright'),
+ Pr('\xae', '\\textregistered'),
+ Pr('\ufe0f', '\\textregistered'),
+ Pr('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),
+ Pr('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),
+ Pr('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),
+ Pr('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),
+ Pr('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}'),
+ Pr('\u22ee', '\\vdots'),
+ Pr('\\varGamma', '\\mathit{\\Gamma}'),
+ Pr('\\varDelta', '\\mathit{\\Delta}'),
+ Pr('\\varTheta', '\\mathit{\\Theta}'),
+ Pr('\\varLambda', '\\mathit{\\Lambda}'),
+ Pr('\\varXi', '\\mathit{\\Xi}'),
+ Pr('\\varPi', '\\mathit{\\Pi}'),
+ Pr('\\varSigma', '\\mathit{\\Sigma}'),
+ Pr('\\varUpsilon', '\\mathit{\\Upsilon}'),
+ Pr('\\varPhi', '\\mathit{\\Phi}'),
+ Pr('\\varPsi', '\\mathit{\\Psi}'),
+ Pr('\\varOmega', '\\mathit{\\Omega}'),
+ Pr('\\substack', '\\begin{subarray}{c}#1\\end{subarray}'),
+ Pr(
+ '\\colon',
+ '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax',
+ ),
+ Pr('\\boxed', '\\fbox{$\\displaystyle{#1}$}'),
+ Pr('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;'),
+ Pr('\\implies', '\\DOTSB\\;\\Longrightarrow\\;'),
+ Pr('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;'));
+ var Gn = {
+ ',': '\\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',
+ };
+ Pr('\\dots', function (e) {
+ var t = '\\dotso',
+ r = e.expandAfterFuture().text;
+ return (
+ r in Gn
+ ? (t = Gn[r])
+ : ('\\not' === r.slice(0, 4) ||
+ (r in ae.math && l.contains(['bin', 'rel'], ae.math[r].group))) &&
+ (t = '\\dotsb'),
+ t
+ );
+ });
+ var Un = {
+ ')': !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,
+ };
+ (Pr('\\dotso', function (e) {
+ return e.future().text in Un ? '\\ldots\\,' : '\\ldots';
+ }),
+ Pr('\\dotsc', function (e) {
+ var t = e.future().text;
+ return t in Un && ',' !== t ? '\\ldots\\,' : '\\ldots';
+ }),
+ Pr('\\cdots', function (e) {
+ return e.future().text in Un ? '\\@cdots\\,' : '\\@cdots';
+ }),
+ Pr('\\dotsb', '\\cdots'),
+ Pr('\\dotsm', '\\cdots'),
+ Pr('\\dotsi', '\\!\\cdots'),
+ Pr('\\dotsx', '\\ldots\\,'),
+ Pr('\\DOTSI', '\\relax'),
+ Pr('\\DOTSB', '\\relax'),
+ Pr('\\DOTSX', '\\relax'),
+ Pr('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax'),
+ Pr('\\,', '\\tmspace+{3mu}{.1667em}'),
+ Pr('\\thinspace', '\\,'),
+ Pr('\\>', '\\mskip{4mu}'),
+ Pr('\\:', '\\tmspace+{4mu}{.2222em}'),
+ Pr('\\medspace', '\\:'),
+ Pr('\\;', '\\tmspace+{5mu}{.2777em}'),
+ Pr('\\thickspace', '\\;'),
+ Pr('\\!', '\\tmspace-{3mu}{.1667em}'),
+ Pr('\\negthinspace', '\\!'),
+ Pr('\\negmedspace', '\\tmspace-{4mu}{.2222em}'),
+ Pr('\\negthickspace', '\\tmspace-{5mu}{.277em}'),
+ Pr('\\enspace', '\\kern.5em '),
+ Pr('\\enskip', '\\hskip.5em\\relax'),
+ Pr('\\quad', '\\hskip1em\\relax'),
+ Pr('\\qquad', '\\hskip2em\\relax'),
+ Pr('\\tag', '\\@ifstar\\tag@literal\\tag@paren'),
+ Pr('\\tag@paren', '\\tag@literal{({#1})}'),
+ Pr('\\tag@literal', function (e) {
+ if (e.macros.get('\\df@tag')) throw new n('Multiple \\tag');
+ return '\\gdef\\df@tag{\\text{#1}}';
+ }),
+ Pr(
+ '\\bmod',
+ '\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}',
+ ),
+ Pr('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)'),
+ Pr('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}'),
+ Pr(
+ '\\mod',
+ '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1',
+ ),
+ Pr('\\newline', '\\\\\\relax'),
+ Pr(
+ '\\TeX',
+ '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}',
+ ));
+ var Yn = F(
+ T['Main-Regular']['T'.charCodeAt(0)][1] - 0.7 * T['Main-Regular']['A'.charCodeAt(0)][1],
+ );
+ (Pr(
+ '\\LaTeX',
+ '\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{' +
+ Yn +
+ '}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}',
+ ),
+ Pr(
+ '\\KaTeX',
+ '\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{' +
+ Yn +
+ '}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}',
+ ),
+ Pr('\\hspace', '\\@ifstar\\@hspacer\\@hspace'),
+ Pr('\\@hspace', '\\hskip #1\\relax'),
+ Pr('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax'),
+ Pr('\\ordinarycolon', ':'),
+ Pr('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}'),
+ Pr(
+ '\\dblcolon',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}',
+ ),
+ Pr(
+ '\\coloneqq',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}',
+ ),
+ Pr(
+ '\\Coloneqq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}',
+ ),
+ Pr(
+ '\\coloneq',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}',
+ ),
+ Pr(
+ '\\Coloneq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}',
+ ),
+ Pr(
+ '\\eqqcolon',
+ '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}',
+ ),
+ Pr(
+ '\\Eqqcolon',
+ '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}',
+ ),
+ Pr(
+ '\\eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}',
+ ),
+ Pr(
+ '\\Eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}',
+ ),
+ Pr(
+ '\\colonapprox',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}',
+ ),
+ Pr(
+ '\\Colonapprox',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}',
+ ),
+ Pr(
+ '\\colonsim',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}',
+ ),
+ Pr(
+ '\\Colonsim',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}',
+ ),
+ Pr('\u2237', '\\dblcolon'),
+ Pr('\u2239', '\\eqcolon'),
+ Pr('\u2254', '\\coloneqq'),
+ Pr('\u2255', '\\eqqcolon'),
+ Pr('\u2a74', '\\Coloneqq'),
+ Pr('\\ratio', '\\vcentcolon'),
+ Pr('\\coloncolon', '\\dblcolon'),
+ Pr('\\colonequals', '\\coloneqq'),
+ Pr('\\coloncolonequals', '\\Coloneqq'),
+ Pr('\\equalscolon', '\\eqqcolon'),
+ Pr('\\equalscoloncolon', '\\Eqqcolon'),
+ Pr('\\colonminus', '\\coloneq'),
+ Pr('\\coloncolonminus', '\\Coloneq'),
+ Pr('\\minuscolon', '\\eqcolon'),
+ Pr('\\minuscoloncolon', '\\Eqcolon'),
+ Pr('\\coloncolonapprox', '\\Colonapprox'),
+ Pr('\\coloncolonsim', '\\Colonsim'),
+ Pr('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}'),
+ Pr('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}'),
+ Pr('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}'),
+ Pr('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}'),
+ Pr('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}'),
+ Pr('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}'),
+ Pr('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}'),
+ Pr('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}'),
+ Pr('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}'),
+ Pr('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}'),
+ Pr('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}'),
+ Pr('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}'),
+ Pr('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}'),
+ Pr('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{\u2269}'),
+ Pr('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{\u2268}'),
+ Pr('\\ngeqq', '\\html@mathml{\\@ngeqq}{\u2271}'),
+ Pr('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{\u2271}'),
+ Pr('\\nleqq', '\\html@mathml{\\@nleqq}{\u2270}'),
+ Pr('\\nleqslant', '\\html@mathml{\\@nleqslant}{\u2270}'),
+ Pr('\\nshortmid', '\\html@mathml{\\@nshortmid}{\u2224}'),
+ Pr('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{\u2226}'),
+ Pr('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{\u2288}'),
+ Pr('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{\u2289}'),
+ Pr('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{\u228a}'),
+ Pr('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{\u2acb}'),
+ Pr('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{\u228b}'),
+ Pr('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{\u2acc}'),
+ Pr('\\imath', '\\html@mathml{\\@imath}{\u0131}'),
+ Pr('\\jmath', '\\html@mathml{\\@jmath}{\u0237}'),
+ Pr('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}'),
+ Pr('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}'),
+ Pr('\u27e6', '\\llbracket'),
+ Pr('\u27e7', '\\rrbracket'),
+ Pr('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}'),
+ Pr('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}'),
+ Pr('\u2983', '\\lBrace'),
+ Pr('\u2984', '\\rBrace'),
+ Pr(
+ '\\minuso',
+ '\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}',
+ ),
+ Pr('\u29b5', '\\minuso'),
+ Pr('\\darr', '\\downarrow'),
+ Pr('\\dArr', '\\Downarrow'),
+ Pr('\\Darr', '\\Downarrow'),
+ Pr('\\lang', '\\langle'),
+ Pr('\\rang', '\\rangle'),
+ Pr('\\uarr', '\\uparrow'),
+ Pr('\\uArr', '\\Uparrow'),
+ Pr('\\Uarr', '\\Uparrow'),
+ Pr('\\N', '\\mathbb{N}'),
+ Pr('\\R', '\\mathbb{R}'),
+ Pr('\\Z', '\\mathbb{Z}'),
+ Pr('\\alef', '\\aleph'),
+ Pr('\\alefsym', '\\aleph'),
+ Pr('\\Alpha', '\\mathrm{A}'),
+ Pr('\\Beta', '\\mathrm{B}'),
+ Pr('\\bull', '\\bullet'),
+ Pr('\\Chi', '\\mathrm{X}'),
+ Pr('\\clubs', '\\clubsuit'),
+ Pr('\\cnums', '\\mathbb{C}'),
+ Pr('\\Complex', '\\mathbb{C}'),
+ Pr('\\Dagger', '\\ddagger'),
+ Pr('\\diamonds', '\\diamondsuit'),
+ Pr('\\empty', '\\emptyset'),
+ Pr('\\Epsilon', '\\mathrm{E}'),
+ Pr('\\Eta', '\\mathrm{H}'),
+ Pr('\\exist', '\\exists'),
+ Pr('\\harr', '\\leftrightarrow'),
+ Pr('\\hArr', '\\Leftrightarrow'),
+ Pr('\\Harr', '\\Leftrightarrow'),
+ Pr('\\hearts', '\\heartsuit'),
+ Pr('\\image', '\\Im'),
+ Pr('\\infin', '\\infty'),
+ Pr('\\Iota', '\\mathrm{I}'),
+ Pr('\\isin', '\\in'),
+ Pr('\\Kappa', '\\mathrm{K}'),
+ Pr('\\larr', '\\leftarrow'),
+ Pr('\\lArr', '\\Leftarrow'),
+ Pr('\\Larr', '\\Leftarrow'),
+ Pr('\\lrarr', '\\leftrightarrow'),
+ Pr('\\lrArr', '\\Leftrightarrow'),
+ Pr('\\Lrarr', '\\Leftrightarrow'),
+ Pr('\\Mu', '\\mathrm{M}'),
+ Pr('\\natnums', '\\mathbb{N}'),
+ Pr('\\Nu', '\\mathrm{N}'),
+ Pr('\\Omicron', '\\mathrm{O}'),
+ Pr('\\plusmn', '\\pm'),
+ Pr('\\rarr', '\\rightarrow'),
+ Pr('\\rArr', '\\Rightarrow'),
+ Pr('\\Rarr', '\\Rightarrow'),
+ Pr('\\real', '\\Re'),
+ Pr('\\reals', '\\mathbb{R}'),
+ Pr('\\Reals', '\\mathbb{R}'),
+ Pr('\\Rho', '\\mathrm{P}'),
+ Pr('\\sdot', '\\cdot'),
+ Pr('\\sect', '\\S'),
+ Pr('\\spades', '\\spadesuit'),
+ Pr('\\sub', '\\subset'),
+ Pr('\\sube', '\\subseteq'),
+ Pr('\\supe', '\\supseteq'),
+ Pr('\\Tau', '\\mathrm{T}'),
+ Pr('\\thetasym', '\\vartheta'),
+ Pr('\\weierp', '\\wp'),
+ Pr('\\Zeta', '\\mathrm{Z}'),
+ Pr('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}'),
+ Pr('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}'),
+ Pr('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits'),
+ Pr('\\bra', '\\mathinner{\\langle{#1}|}'),
+ Pr('\\ket', '\\mathinner{|{#1}\\rangle}'),
+ Pr('\\braket', '\\mathinner{\\langle{#1}\\rangle}'),
+ Pr('\\Bra', '\\left\\langle#1\\right|'),
+ Pr('\\Ket', '\\left|#1\\right\\rangle'));
+ var Xn = function (e) {
+ return function (t) {
+ var r = t.consumeArg().tokens,
+ n = t.consumeArg().tokens,
+ a = t.consumeArg().tokens,
+ i = t.consumeArg().tokens,
+ o = t.macros.get('|'),
+ s = t.macros.get('\\|');
+ t.macros.beginGroup();
+ var l = function (t) {
+ return function (r) {
+ e && (r.macros.set('|', o), a.length && r.macros.set('\\|', s));
+ var i = t;
+ !t && a.length && '|' === r.future().text && (r.popToken(), (i = !0));
+ return { tokens: i ? a : n, numArgs: 0 };
+ };
+ };
+ (t.macros.set('|', l(!1)), a.length && t.macros.set('\\|', l(!0)));
+ var h = t.consumeArg().tokens,
+ c = t.expandTokens([].concat(i, h, r));
+ return (t.macros.endGroup(), { tokens: c.reverse(), numArgs: 0 });
+ };
+ };
+ (Pr('\\bra@ket', Xn(!1)),
+ Pr('\\bra@set', Xn(!0)),
+ Pr(
+ '\\Braket',
+ '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}',
+ ),
+ Pr(
+ '\\Set',
+ '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}',
+ ),
+ Pr('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}'),
+ Pr('\\angln', '{\\angl n}'),
+ Pr('\\blue', '\\textcolor{##6495ed}{#1}'),
+ Pr('\\orange', '\\textcolor{##ffa500}{#1}'),
+ Pr('\\pink', '\\textcolor{##ff00af}{#1}'),
+ Pr('\\red', '\\textcolor{##df0030}{#1}'),
+ Pr('\\green', '\\textcolor{##28ae7b}{#1}'),
+ Pr('\\gray', '\\textcolor{gray}{#1}'),
+ Pr('\\purple', '\\textcolor{##9d38bd}{#1}'),
+ Pr('\\blueA', '\\textcolor{##ccfaff}{#1}'),
+ Pr('\\blueB', '\\textcolor{##80f6ff}{#1}'),
+ Pr('\\blueC', '\\textcolor{##63d9ea}{#1}'),
+ Pr('\\blueD', '\\textcolor{##11accd}{#1}'),
+ Pr('\\blueE', '\\textcolor{##0c7f99}{#1}'),
+ Pr('\\tealA', '\\textcolor{##94fff5}{#1}'),
+ Pr('\\tealB', '\\textcolor{##26edd5}{#1}'),
+ Pr('\\tealC', '\\textcolor{##01d1c1}{#1}'),
+ Pr('\\tealD', '\\textcolor{##01a995}{#1}'),
+ Pr('\\tealE', '\\textcolor{##208170}{#1}'),
+ Pr('\\greenA', '\\textcolor{##b6ffb0}{#1}'),
+ Pr('\\greenB', '\\textcolor{##8af281}{#1}'),
+ Pr('\\greenC', '\\textcolor{##74cf70}{#1}'),
+ Pr('\\greenD', '\\textcolor{##1fab54}{#1}'),
+ Pr('\\greenE', '\\textcolor{##0d923f}{#1}'),
+ Pr('\\goldA', '\\textcolor{##ffd0a9}{#1}'),
+ Pr('\\goldB', '\\textcolor{##ffbb71}{#1}'),
+ Pr('\\goldC', '\\textcolor{##ff9c39}{#1}'),
+ Pr('\\goldD', '\\textcolor{##e07d10}{#1}'),
+ Pr('\\goldE', '\\textcolor{##a75a05}{#1}'),
+ Pr('\\redA', '\\textcolor{##fca9a9}{#1}'),
+ Pr('\\redB', '\\textcolor{##ff8482}{#1}'),
+ Pr('\\redC', '\\textcolor{##f9685d}{#1}'),
+ Pr('\\redD', '\\textcolor{##e84d39}{#1}'),
+ Pr('\\redE', '\\textcolor{##bc2612}{#1}'),
+ Pr('\\maroonA', '\\textcolor{##ffbde0}{#1}'),
+ Pr('\\maroonB', '\\textcolor{##ff92c6}{#1}'),
+ Pr('\\maroonC', '\\textcolor{##ed5fa6}{#1}'),
+ Pr('\\maroonD', '\\textcolor{##ca337c}{#1}'),
+ Pr('\\maroonE', '\\textcolor{##9e034e}{#1}'),
+ Pr('\\purpleA', '\\textcolor{##ddd7ff}{#1}'),
+ Pr('\\purpleB', '\\textcolor{##c6b9fc}{#1}'),
+ Pr('\\purpleC', '\\textcolor{##aa87ff}{#1}'),
+ Pr('\\purpleD', '\\textcolor{##7854ab}{#1}'),
+ Pr('\\purpleE', '\\textcolor{##543b78}{#1}'),
+ Pr('\\mintA', '\\textcolor{##f5f9e8}{#1}'),
+ Pr('\\mintB', '\\textcolor{##edf2df}{#1}'),
+ Pr('\\mintC', '\\textcolor{##e0e5cc}{#1}'),
+ Pr('\\grayA', '\\textcolor{##f6f7f7}{#1}'),
+ Pr('\\grayB', '\\textcolor{##f0f1f2}{#1}'),
+ Pr('\\grayC', '\\textcolor{##e3e5e6}{#1}'),
+ Pr('\\grayD', '\\textcolor{##d6d8da}{#1}'),
+ Pr('\\grayE', '\\textcolor{##babec2}{#1}'),
+ Pr('\\grayF', '\\textcolor{##888d93}{#1}'),
+ Pr('\\grayG', '\\textcolor{##626569}{#1}'),
+ Pr('\\grayH', '\\textcolor{##3b3e40}{#1}'),
+ Pr('\\grayI', '\\textcolor{##21242c}{#1}'),
+ Pr('\\kaBlue', '\\textcolor{##314453}{#1}'),
+ Pr('\\kaGreen', '\\textcolor{##71B307}{#1}'));
+ var Wn = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 },
+ _n = (function () {
+ function e(e, t, r) {
+ ((this.settings = void 0),
+ (this.expansionCount = void 0),
+ (this.lexer = void 0),
+ (this.macros = void 0),
+ (this.stack = void 0),
+ (this.mode = void 0),
+ (this.settings = t),
+ (this.expansionCount = 0),
+ this.feed(e),
+ (this.macros = new Dn(Vn, t.macros)),
+ (this.mode = r),
+ (this.stack = []));
+ }
+ var t = e.prototype;
+ return (
+ (t.feed = function (e) {
+ this.lexer = new Ln(e, this.settings);
+ }),
+ (t.switchMode = function (e) {
+ this.mode = e;
+ }),
+ (t.beginGroup = function () {
+ this.macros.beginGroup();
+ }),
+ (t.endGroup = function () {
+ this.macros.endGroup();
+ }),
+ (t.endGroups = function () {
+ this.macros.endGroups();
+ }),
+ (t.future = function () {
+ return (
+ 0 === this.stack.length && this.pushToken(this.lexer.lex()),
+ this.stack[this.stack.length - 1]
+ );
+ }),
+ (t.popToken = function () {
+ return (this.future(), this.stack.pop());
+ }),
+ (t.pushToken = function (e) {
+ this.stack.push(e);
+ }),
+ (t.pushTokens = function (e) {
+ var t;
+ (t = this.stack).push.apply(t, e);
+ }),
+ (t.scanArgument = function (e) {
+ var t, r, n;
+ if (e) {
+ if ((this.consumeSpaces(), '[' !== this.future().text)) return null;
+ t = this.popToken();
+ var a = this.consumeArg([']']);
+ ((n = a.tokens), (r = a.end));
+ } else {
+ var i = this.consumeArg();
+ ((n = i.tokens), (t = i.start), (r = i.end));
+ }
+ return (this.pushToken(new Gr('EOF', r.loc)), this.pushTokens(n), t.range(r, ''));
+ }),
+ (t.consumeSpaces = function () {
+ for (;;) {
+ if (' ' !== this.future().text) break;
+ this.stack.pop();
+ }
+ }),
+ (t.consumeArg = function (e) {
+ var t = [],
+ r = e && e.length > 0;
+ r || this.consumeSpaces();
+ var a,
+ i = this.future(),
+ o = 0,
+ s = 0;
+ do {
+ if (((a = this.popToken()), t.push(a), '{' === a.text)) ++o;
+ else if ('}' === a.text) {
+ if (-1 === --o) throw new n('Extra }', a);
+ } else if ('EOF' === a.text)
+ throw new n(
+ "Unexpected end of input in a macro argument, expected '" +
+ (e && r ? e[s] : '}') +
+ "'",
+ a,
+ );
+ if (e && r)
+ if ((0 === o || (1 === o && '{' === e[s])) && a.text === e[s]) {
+ if (++s === e.length) {
+ t.splice(-s, s);
+ break;
+ }
+ } else s = 0;
+ } while (0 !== o || r);
+ return (
+ '{' === i.text && '}' === t[t.length - 1].text && (t.pop(), t.shift()),
+ t.reverse(),
+ { tokens: t, start: i, end: a }
+ );
+ }),
+ (t.consumeArgs = function (e, t) {
+ if (t) {
+ if (t.length !== e + 1)
+ throw new n("The length of delimiters doesn't match the number of args!");
+ for (var r = t[0], a = 0; a < r.length; a++) {
+ var i = this.popToken();
+ if (r[a] !== i.text)
+ throw new n("Use of the macro doesn't match its definition", i);
+ }
+ }
+ for (var o = [], s = 0; s < e; s++) o.push(this.consumeArg(t && t[s + 1]).tokens);
+ return o;
+ }),
+ (t.expandOnce = function (e) {
+ var t = this.popToken(),
+ r = t.text,
+ a = t.noexpand ? null : this._getExpansion(r);
+ if (null == a || (e && a.unexpandable)) {
+ if (e && null == a && '\\' === r[0] && !this.isDefined(r))
+ throw new n('Undefined control sequence: ' + r);
+ return (this.pushToken(t), !1);
+ }
+ if ((this.expansionCount++, this.expansionCount > this.settings.maxExpand))
+ throw new n(
+ 'Too many expansions: infinite loop or need to increase maxExpand setting',
+ );
+ var i = a.tokens,
+ o = this.consumeArgs(a.numArgs, a.delimiters);
+ if (a.numArgs)
+ for (var s = (i = i.slice()).length - 1; s >= 0; --s) {
+ var l = i[s];
+ if ('#' === l.text) {
+ if (0 === s) throw new n('Incomplete placeholder at end of macro body', l);
+ if ('#' === (l = i[--s]).text) i.splice(s + 1, 1);
+ else {
+ if (!/^[1-9]$/.test(l.text)) throw new n('Not a valid argument number', l);
+ var h;
+ (h = i).splice.apply(h, [s, 2].concat(o[+l.text - 1]));
+ }
+ }
+ }
+ return (this.pushTokens(i), i.length);
+ }),
+ (t.expandAfterFuture = function () {
+ return (this.expandOnce(), this.future());
+ }),
+ (t.expandNextToken = function () {
+ for (;;)
+ if (!1 === this.expandOnce()) {
+ var e = this.stack.pop();
+ return (e.treatAsRelax && (e.text = '\\relax'), e);
+ }
+ throw new Error();
+ }),
+ (t.expandMacro = function (e) {
+ return this.macros.has(e) ? this.expandTokens([new Gr(e)]) : void 0;
+ }),
+ (t.expandTokens = function (e) {
+ var t = [],
+ r = this.stack.length;
+ for (this.pushTokens(e); this.stack.length > r; )
+ if (!1 === this.expandOnce(!0)) {
+ var n = this.stack.pop();
+ (n.treatAsRelax && ((n.noexpand = !1), (n.treatAsRelax = !1)), t.push(n));
+ }
+ return t;
+ }),
+ (t.expandMacroAsText = function (e) {
+ var t = this.expandMacro(e);
+ return t
+ ? t
+ .map(function (e) {
+ return e.text;
+ })
+ .join('')
+ : t;
+ }),
+ (t._getExpansion = function (e) {
+ var t = this.macros.get(e);
+ if (null == t) return t;
+ if (1 === e.length) {
+ var r = this.lexer.catcodes[e];
+ if (null != r && 13 !== r) return;
+ }
+ var n = 'function' == typeof t ? t(this) : t;
+ if ('string' == typeof n) {
+ var a = 0;
+ if (-1 !== n.indexOf('#'))
+ for (var i = n.replace(/##/g, ''); -1 !== i.indexOf('#' + (a + 1)); ) ++a;
+ for (var o = new Ln(n, this.settings), s = [], l = o.lex(); 'EOF' !== l.text; )
+ (s.push(l), (l = o.lex()));
+ return (s.reverse(), { tokens: s, numArgs: a });
+ }
+ return n;
+ }),
+ (t.isDefined = function (e) {
+ return (
+ this.macros.has(e) ||
+ qn.hasOwnProperty(e) ||
+ ae.math.hasOwnProperty(e) ||
+ ae.text.hasOwnProperty(e) ||
+ Wn.hasOwnProperty(e)
+ );
+ }),
+ (t.isExpandable = function (e) {
+ var t = this.macros.get(e);
+ return null != t
+ ? 'string' == typeof t || 'function' == typeof t || !t.unexpandable
+ : qn.hasOwnProperty(e) && !qn[e].primitive;
+ }),
+ e
+ );
+ })(),
+ jn =
+ /^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,
+ $n = 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',
+ }),
+ Zn = {
+ '\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' },
+ },
+ Kn = {
+ '\xe1': 'a\u0301',
+ '\xe0': 'a\u0300',
+ '\xe4': 'a\u0308',
+ '\u01df': 'a\u0308\u0304',
+ '\xe3': 'a\u0303',
+ '\u0101': 'a\u0304',
+ '\u0103': 'a\u0306',
+ '\u1eaf': 'a\u0306\u0301',
+ '\u1eb1': 'a\u0306\u0300',
+ '\u1eb5': 'a\u0306\u0303',
+ '\u01ce': 'a\u030c',
+ '\xe2': 'a\u0302',
+ '\u1ea5': 'a\u0302\u0301',
+ '\u1ea7': 'a\u0302\u0300',
+ '\u1eab': 'a\u0302\u0303',
+ '\u0227': 'a\u0307',
+ '\u01e1': 'a\u0307\u0304',
+ '\xe5': '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',
+ '\xe7': 'c\u0327',
+ '\u010f': 'd\u030c',
+ '\u1e0b': 'd\u0307',
+ '\u1e11': 'd\u0327',
+ '\xe9': 'e\u0301',
+ '\xe8': 'e\u0300',
+ '\xeb': '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',
+ '\xea': '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',
+ '\xed': 'i\u0301',
+ '\xec': 'i\u0300',
+ '\xef': 'i\u0308',
+ '\u1e2f': 'i\u0308\u0301',
+ '\u0129': 'i\u0303',
+ '\u012b': 'i\u0304',
+ '\u012d': 'i\u0306',
+ '\u01d0': 'i\u030c',
+ '\xee': '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',
+ '\xf1': 'n\u0303',
+ '\u0148': 'n\u030c',
+ '\u1e45': 'n\u0307',
+ '\u0146': 'n\u0327',
+ '\xf3': 'o\u0301',
+ '\xf2': 'o\u0300',
+ '\xf6': 'o\u0308',
+ '\u022b': 'o\u0308\u0304',
+ '\xf5': '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',
+ '\xf4': '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',
+ '\xfa': 'u\u0301',
+ '\xf9': 'u\u0300',
+ '\xfc': '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',
+ '\xfb': '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',
+ '\xfd': 'y\u0301',
+ '\u1ef3': 'y\u0300',
+ '\xff': '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',
+ '\xc1': 'A\u0301',
+ '\xc0': 'A\u0300',
+ '\xc4': 'A\u0308',
+ '\u01de': 'A\u0308\u0304',
+ '\xc3': 'A\u0303',
+ '\u0100': 'A\u0304',
+ '\u0102': 'A\u0306',
+ '\u1eae': 'A\u0306\u0301',
+ '\u1eb0': 'A\u0306\u0300',
+ '\u1eb4': 'A\u0306\u0303',
+ '\u01cd': 'A\u030c',
+ '\xc2': 'A\u0302',
+ '\u1ea4': 'A\u0302\u0301',
+ '\u1ea6': 'A\u0302\u0300',
+ '\u1eaa': 'A\u0302\u0303',
+ '\u0226': 'A\u0307',
+ '\u01e0': 'A\u0307\u0304',
+ '\xc5': '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',
+ '\xc7': 'C\u0327',
+ '\u010e': 'D\u030c',
+ '\u1e0a': 'D\u0307',
+ '\u1e10': 'D\u0327',
+ '\xc9': 'E\u0301',
+ '\xc8': 'E\u0300',
+ '\xcb': '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',
+ '\xca': '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',
+ '\xcd': 'I\u0301',
+ '\xcc': 'I\u0300',
+ '\xcf': 'I\u0308',
+ '\u1e2e': 'I\u0308\u0301',
+ '\u0128': 'I\u0303',
+ '\u012a': 'I\u0304',
+ '\u012c': 'I\u0306',
+ '\u01cf': 'I\u030c',
+ '\xce': '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',
+ '\xd1': 'N\u0303',
+ '\u0147': 'N\u030c',
+ '\u1e44': 'N\u0307',
+ '\u0145': 'N\u0327',
+ '\xd3': 'O\u0301',
+ '\xd2': 'O\u0300',
+ '\xd6': 'O\u0308',
+ '\u022a': 'O\u0308\u0304',
+ '\xd5': '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',
+ '\xd4': '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',
+ '\xda': 'U\u0301',
+ '\xd9': 'U\u0300',
+ '\xdc': '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',
+ '\xdb': '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',
+ '\xdd': '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',
+ },
+ Jn = (function () {
+ function e(e, t) {
+ ((this.mode = void 0),
+ (this.gullet = void 0),
+ (this.settings = void 0),
+ (this.leftrightDepth = void 0),
+ (this.nextToken = void 0),
+ (this.mode = 'math'),
+ (this.gullet = new _n(e, t, this.mode)),
+ (this.settings = t),
+ (this.leftrightDepth = 0));
+ }
+ var t = e.prototype;
+ return (
+ (t.expect = function (e, t) {
+ if ((void 0 === t && (t = !0), this.fetch().text !== e))
+ throw new n("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch());
+ t && this.consume();
+ }),
+ (t.consume = function () {
+ this.nextToken = null;
+ }),
+ (t.fetch = function () {
+ return (
+ null == this.nextToken && (this.nextToken = this.gullet.expandNextToken()),
+ this.nextToken
+ );
+ }),
+ (t.switchMode = function (e) {
+ ((this.mode = e), this.gullet.switchMode(e));
+ }),
+ (t.parse = function () {
+ (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();
+ }
+ }),
+ (t.subparse = function (e) {
+ var t = this.nextToken;
+ (this.consume(), this.gullet.pushToken(new Gr('}')), this.gullet.pushTokens(e));
+ var r = this.parseExpression(!1);
+ return (this.expect('}'), (this.nextToken = t), r);
+ }),
+ (t.parseExpression = function (t, r) {
+ for (var n = []; ; ) {
+ 'math' === this.mode && this.consumeSpaces();
+ var a = this.fetch();
+ if (-1 !== e.endOfExpression.indexOf(a.text)) break;
+ if (r && a.text === r) break;
+ if (t && qn[a.text] && qn[a.text].infix) break;
+ var i = this.parseAtom(r);
+ if (!i) break;
+ 'internal' !== i.type && n.push(i);
+ }
+ return ('text' === this.mode && this.formLigatures(n), this.handleInfixNodes(n));
+ }),
+ (t.handleInfixNodes = function (e) {
+ for (var t, r = -1, a = 0; a < e.length; a++)
+ if ('infix' === e[a].type) {
+ if (-1 !== r) throw new n('only one infix operator per group', e[a].token);
+ ((r = a), (t = e[a].replaceWith));
+ }
+ if (-1 !== r && t) {
+ var i,
+ o,
+ s = e.slice(0, r),
+ l = e.slice(r + 1);
+ return (
+ (i =
+ 1 === s.length && 'ordgroup' === s[0].type
+ ? s[0]
+ : { type: 'ordgroup', mode: this.mode, body: s }),
+ (o =
+ 1 === l.length && 'ordgroup' === l[0].type
+ ? l[0]
+ : { type: 'ordgroup', mode: this.mode, body: l }),
+ [
+ '\\\\abovefrac' === t
+ ? this.callFunction(t, [i, e[r], o], [])
+ : this.callFunction(t, [i, o], []),
+ ]
+ );
+ }
+ return e;
+ }),
+ (t.handleSupSubscript = function (e) {
+ var t = this.fetch(),
+ r = t.text;
+ (this.consume(), this.consumeSpaces());
+ var a = this.parseGroup(e);
+ if (!a) throw new n("Expected group after '" + r + "'", t);
+ return a;
+ }),
+ (t.formatUnsupportedCmd = function (e) {
+ for (var t = [], r = 0; r < e.length; r++)
+ t.push({ type: 'textord', mode: 'text', text: e[r] });
+ var n = { type: 'text', mode: this.mode, body: t };
+ return { type: 'color', mode: this.mode, color: this.settings.errorColor, body: [n] };
+ }),
+ (t.parseAtom = function (t) {
+ var r,
+ a,
+ i = this.parseGroup('atom', t);
+ if ('text' === this.mode) return i;
+ for (;;) {
+ this.consumeSpaces();
+ var o = this.fetch();
+ if ('\\limits' === o.text || '\\nolimits' === o.text) {
+ if (i && 'op' === i.type) {
+ var s = '\\limits' === o.text;
+ ((i.limits = s), (i.alwaysHandleSupSub = !0));
+ } else {
+ if (!i || 'operatorname' !== i.type)
+ throw new n('Limit controls must follow a math operator', o);
+ i.alwaysHandleSupSub && (i.limits = '\\limits' === o.text);
+ }
+ this.consume();
+ } else if ('^' === o.text) {
+ if (r) throw new n('Double superscript', o);
+ r = this.handleSupSubscript('superscript');
+ } else if ('_' === o.text) {
+ if (a) throw new n('Double subscript', o);
+ a = this.handleSupSubscript('subscript');
+ } else if ("'" === o.text) {
+ if (r) throw new n('Double superscript', o);
+ var l = { type: 'textord', mode: this.mode, text: '\\prime' },
+ h = [l];
+ for (this.consume(); "'" === this.fetch().text; ) (h.push(l), this.consume());
+ ('^' === this.fetch().text && h.push(this.handleSupSubscript('superscript')),
+ (r = { type: 'ordgroup', mode: this.mode, body: h }));
+ } else {
+ if (!$n[o.text]) break;
+ var c = $n[o.text],
+ m = jn.test(o.text);
+ for (this.consume(); ; ) {
+ var u = this.fetch().text;
+ if (!$n[u]) break;
+ if (jn.test(u) !== m) break;
+ (this.consume(), (c += $n[u]));
+ }
+ var p = new e(c, this.settings).parse();
+ m
+ ? (a = { type: 'ordgroup', mode: 'math', body: p })
+ : (r = { type: 'ordgroup', mode: 'math', body: p });
+ }
+ }
+ return r || a ? { type: 'supsub', mode: this.mode, base: i, sup: r, sub: a } : i;
+ }),
+ (t.parseFunction = function (e, t) {
+ var r = this.fetch(),
+ a = r.text,
+ i = qn[a];
+ if (!i) return null;
+ if ((this.consume(), t && 'atom' !== t && !i.allowedInArgument))
+ throw new n("Got function '" + a + "' with no arguments" + (t ? ' as ' + t : ''), r);
+ if ('text' === this.mode && !i.allowedInText)
+ throw new n("Can't use function '" + a + "' in text mode", r);
+ if ('math' === this.mode && !1 === i.allowedInMath)
+ throw new n("Can't use function '" + a + "' in math mode", r);
+ var o = this.parseArguments(a, i),
+ s = o.args,
+ l = o.optArgs;
+ return this.callFunction(a, s, l, r, e);
+ }),
+ (t.callFunction = function (e, t, r, a, i) {
+ var o = { funcName: e, parser: this, token: a, breakOnTokenText: i },
+ s = qn[e];
+ if (s && s.handler) return s.handler(o, t, r);
+ throw new n('No function handler for ' + e);
+ }),
+ (t.parseArguments = function (e, t) {
+ var r = t.numArgs + t.numOptionalArgs;
+ if (0 === r) return { args: [], optArgs: [] };
+ for (var a = [], i = [], o = 0; o < r; o++) {
+ var s = t.argTypes && t.argTypes[o],
+ l = o < t.numOptionalArgs;
+ ((t.primitive && null == s) || ('sqrt' === t.type && 1 === o && null == i[0])) &&
+ (s = 'primitive');
+ var h = this.parseGroupOfType("argument to '" + e + "'", s, l);
+ if (l) i.push(h);
+ else {
+ if (null == h) throw new n('Null argument, please report this as a bug');
+ a.push(h);
+ }
+ }
+ return { args: a, optArgs: i };
+ }),
+ (t.parseGroupOfType = function (e, t, r) {
+ switch (t) {
+ case 'color':
+ return this.parseColorGroup(r);
+ case 'size':
+ return this.parseSizeGroup(r);
+ case 'url':
+ return this.parseUrlGroup(r);
+ case 'math':
+ case 'text':
+ return this.parseArgumentGroup(r, t);
+ case 'hbox':
+ var a = this.parseArgumentGroup(r, 'text');
+ return null != a
+ ? { type: 'styling', mode: a.mode, body: [a], style: 'text' }
+ : null;
+ case 'raw':
+ var i = this.parseStringGroup('raw', r);
+ return null != i ? { type: 'raw', mode: 'text', string: i.text } : null;
+ case 'primitive':
+ if (r) throw new n('A primitive argument cannot be optional');
+ var o = this.parseGroup(e);
+ if (null == o) throw new n('Expected group as ' + e, this.fetch());
+ return o;
+ case 'original':
+ case null:
+ case void 0:
+ return this.parseArgumentGroup(r);
+ default:
+ throw new n('Unknown group type as ' + e, this.fetch());
+ }
+ }),
+ (t.consumeSpaces = function () {
+ for (; ' ' === this.fetch().text; ) this.consume();
+ }),
+ (t.parseStringGroup = function (e, t) {
+ var r = this.gullet.scanArgument(t);
+ if (null == r) return null;
+ for (var n, a = ''; 'EOF' !== (n = this.fetch()).text; )
+ ((a += n.text), this.consume());
+ return (this.consume(), (r.text = a), r);
+ }),
+ (t.parseRegexGroup = function (e, t) {
+ for (
+ var r, a = this.fetch(), i = a, o = '';
+ 'EOF' !== (r = this.fetch()).text && e.test(o + r.text);
+ )
+ ((o += (i = r).text), this.consume());
+ if ('' === o) throw new n('Invalid ' + t + ": '" + a.text + "'", a);
+ return a.range(i, o);
+ }),
+ (t.parseColorGroup = function (e) {
+ var t = this.parseStringGroup('color', e);
+ if (null == t) return null;
+ var r = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);
+ if (!r) throw new n("Invalid color: '" + t.text + "'", t);
+ var a = r[0];
+ return (
+ /^[0-9a-f]{6}$/i.test(a) && (a = '#' + a),
+ { type: 'color-token', mode: this.mode, color: a }
+ );
+ }),
+ (t.parseSizeGroup = function (e) {
+ var t,
+ r = !1;
+ if (
+ (this.gullet.consumeSpaces(),
+ !(t =
+ e || '{' === this.gullet.future().text
+ ? this.parseStringGroup('size', e)
+ : this.parseRegexGroup(
+ /^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,
+ 'size',
+ )))
+ )
+ return null;
+ e || 0 !== t.text.length || ((t.text = '0pt'), (r = !0));
+ var a = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);
+ if (!a) throw new n("Invalid size: '" + t.text + "'", t);
+ var i = { number: +(a[1] + a[2]), unit: a[3] };
+ if (!V(i)) throw new n("Invalid unit: '" + i.unit + "'", t);
+ return { type: 'size', mode: this.mode, value: i, isBlank: r };
+ }),
+ (t.parseUrlGroup = function (e) {
+ (this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12));
+ var t = this.parseStringGroup('url', e);
+ if (
+ (this.gullet.lexer.setCatcode('%', 14),
+ this.gullet.lexer.setCatcode('~', 13),
+ null == t)
+ )
+ return null;
+ var r = t.text.replace(/\\([#$%&~_^{}])/g, '$1');
+ return { type: 'url', mode: this.mode, url: r };
+ }),
+ (t.parseArgumentGroup = function (e, t) {
+ var r = this.gullet.scanArgument(e);
+ if (null == r) return null;
+ var n = this.mode;
+ (t && this.switchMode(t), this.gullet.beginGroup());
+ var a = this.parseExpression(!1, 'EOF');
+ (this.expect('EOF'), this.gullet.endGroup());
+ var i = { type: 'ordgroup', mode: this.mode, loc: r.loc, body: a };
+ return (t && this.switchMode(n), i);
+ }),
+ (t.parseGroup = function (e, t) {
+ var r,
+ a = this.fetch(),
+ i = a.text;
+ if ('{' === i || '\\begingroup' === i) {
+ this.consume();
+ var o = '{' === i ? '}' : '\\endgroup';
+ this.gullet.beginGroup();
+ var s = this.parseExpression(!1, o),
+ l = this.fetch();
+ (this.expect(o),
+ this.gullet.endGroup(),
+ (r = {
+ type: 'ordgroup',
+ mode: this.mode,
+ loc: Fr.range(a, l),
+ body: s,
+ semisimple: '\\begingroup' === i || void 0,
+ }));
+ } else if (
+ null == (r = this.parseFunction(t, e) || this.parseSymbol()) &&
+ '\\' === i[0] &&
+ !Wn.hasOwnProperty(i)
+ ) {
+ if (this.settings.throwOnError) throw new n('Undefined control sequence: ' + i, a);
+ ((r = this.formatUnsupportedCmd(i)), this.consume());
+ }
+ return r;
+ }),
+ (t.formLigatures = function (e) {
+ for (var t = e.length - 1, r = 0; r < t; ++r) {
+ var n = e[r],
+ a = n.text;
+ ('-' === a &&
+ '-' === e[r + 1].text &&
+ (r + 1 < t && '-' === e[r + 2].text
+ ? (e.splice(r, 3, {
+ type: 'textord',
+ mode: 'text',
+ loc: Fr.range(n, e[r + 2]),
+ text: '---',
+ }),
+ (t -= 2))
+ : (e.splice(r, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: Fr.range(n, e[r + 1]),
+ text: '--',
+ }),
+ (t -= 1))),
+ ("'" !== a && '`' !== a) ||
+ e[r + 1].text !== a ||
+ (e.splice(r, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: Fr.range(n, e[r + 1]),
+ text: a + a,
+ }),
+ (t -= 1)));
+ }
+ }),
+ (t.parseSymbol = function () {
+ var e = this.fetch(),
+ t = e.text;
+ if (/^\\verb[^a-zA-Z]/.test(t)) {
+ this.consume();
+ var r = t.slice(5),
+ a = '*' === r.charAt(0);
+ if ((a && (r = r.slice(1)), r.length < 2 || r.charAt(0) !== r.slice(-1)))
+ throw new n(
+ '\\verb assertion failed --\n please report what input caused this bug',
+ );
+ return { type: 'verb', mode: 'text', body: (r = r.slice(1, -1)), star: a };
+ }
+ Kn.hasOwnProperty(t[0]) &&
+ !ae[this.mode][t[0]] &&
+ (this.settings.strict &&
+ 'math' === this.mode &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Accented Unicode text character "' + t[0] + '" used in math mode',
+ e,
+ ),
+ (t = Kn[t[0]] + t.slice(1)));
+ var i,
+ o = On.exec(t);
+ if (
+ (o &&
+ ('i' === (t = t.substring(0, o.index))
+ ? (t = '\u0131')
+ : 'j' === t && (t = '\u0237')),
+ ae[this.mode][t])
+ ) {
+ this.settings.strict &&
+ 'math' === this.mode &&
+ Ee.indexOf(t) >= 0 &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Latin-1/Unicode text character "' + t[0] + '" used in math mode',
+ e,
+ );
+ var s,
+ l = ae[this.mode][t].group,
+ h = Fr.range(e);
+ if (te.hasOwnProperty(l)) {
+ var c = l;
+ s = { type: 'atom', mode: this.mode, family: c, loc: h, text: t };
+ } else s = { type: l, mode: this.mode, loc: h, text: t };
+ i = s;
+ } else {
+ if (!(t.charCodeAt(0) >= 128)) return null;
+ (this.settings.strict &&
+ (S(t.charCodeAt(0))
+ ? 'math' === this.mode &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Unicode text character "' + t[0] + '" used in math mode',
+ e,
+ )
+ : this.settings.reportNonstrict(
+ 'unknownSymbol',
+ 'Unrecognized Unicode character "' + t[0] + '" (' + t.charCodeAt(0) + ')',
+ e,
+ )),
+ (i = { type: 'textord', mode: 'text', loc: Fr.range(e), text: t }));
+ }
+ if ((this.consume(), o))
+ for (var m = 0; m < o[0].length; m++) {
+ var u = o[0][m];
+ if (!Zn[u]) throw new n("Unknown accent ' " + u + "'", e);
+ var p = Zn[u][this.mode] || Zn[u].text;
+ if (!p) throw new n('Accent ' + u + ' unsupported in ' + this.mode + ' mode', e);
+ i = {
+ type: 'accent',
+ mode: this.mode,
+ loc: Fr.range(e),
+ label: p,
+ isStretchy: !1,
+ isShifty: !0,
+ base: i,
+ };
+ }
+ return i;
+ }),
+ e
+ );
+ })();
+ Jn.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&'];
+ var Qn = function (e, t) {
+ if (!('string' == typeof e || e instanceof String))
+ throw new TypeError('KaTeX can only parse string typed expression');
+ var r = new Jn(e, t);
+ delete r.gullet.macros.current['\\df@tag'];
+ var a = r.parse();
+ if (
+ (delete r.gullet.macros.current['\\current@color'],
+ delete r.gullet.macros.current['\\color'],
+ r.gullet.macros.get('\\df@tag'))
+ ) {
+ if (!t.displayMode) throw new n('\\tag works only in display equations');
+ a = [{ type: 'tag', mode: 'text', body: a, tag: r.subparse([new Gr('\\df@tag')]) }];
+ }
+ return a;
+ },
+ ea = function (e, t, r) {
+ t.textContent = '';
+ var n = ra(e, r).toNode();
+ t.appendChild(n);
+ };
+ 'undefined' != typeof document &&
+ 'CSS1Compat' !== document.compatMode &&
+ ('undefined' != typeof console &&
+ console.warn(
+ "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.",
+ ),
+ (ea = function () {
+ throw new n("KaTeX doesn't work in quirks mode.");
+ }));
+ var ta = function (e, t, r) {
+ if (r.throwOnError || !(e instanceof n)) throw e;
+ var a = Ke.makeSpan(['katex-error'], [new Z(t)]);
+ return (
+ a.setAttribute('title', e.toString()),
+ a.setAttribute('style', 'color:' + r.errorColor),
+ a
+ );
+ },
+ ra = function (e, t) {
+ var r = new m(t);
+ try {
+ var n = Qn(e, r);
+ return Lt(n, e, r);
+ } catch (t) {
+ return ta(t, e, r);
+ }
+ },
+ na = {
+ version: '0.16.8',
+ render: ea,
+ renderToString: function (e, t) {
+ return ra(e, t).toMarkup();
+ },
+ ParseError: n,
+ SETTINGS_SCHEMA: h,
+ __parse: function (e, t) {
+ var r = new m(t);
+ return Qn(e, r);
+ },
+ __renderToDomTree: ra,
+ __renderToHTMLTree: function (e, t) {
+ var r = new m(t);
+ try {
+ return (function (e, t, r) {
+ var n = St(e, Ot(r)),
+ a = Ke.makeSpan(['katex'], [n]);
+ return Et(a, r);
+ })(Qn(e, r), 0, r);
+ } catch (t) {
+ return ta(t, e, r);
+ }
+ },
+ __setFontMetrics: function (e, t) {
+ T[e] = t;
+ },
+ __defineSymbol: ie,
+ __defineFunction: ot,
+ __defineMacro: Pr,
+ __domTree: { Span: W, Anchor: _, SymbolNode: Z, SvgNode: K, PathNode: J, LineNode: Q },
+ };
+ return (t = t.default);
+ })();
+});
diff --git a/static/js/mermaid.min.js b/static/js/mermaid.min.js
index 1e94f81..8d78c63 100644
--- a/static/js/mermaid.min.js
+++ b/static/js/mermaid.min.js
@@ -1,16 +1,12219 @@
-(function(QM,_g){typeof exports=="object"&&typeof module<"u"?module.exports=_g():typeof define=="function"&&define.amd?define(_g):(QM=typeof globalThis<"u"?globalThis:QM||self,QM.mermaid=_g())})(this,function(){var $We,zWe;"use strict";function QM(i){for(var s=[],u=1;u=Ne?Be:""+Array(Ne+1-Ie.length).join(je)+Be},ge={s:be,z:function(Be){var Ne=-Be.utcOffset(),je=Math.abs(Ne),Ie=Math.floor(je/60),Se=je%60;return(Ne<=0?"+":"-")+be(Ie,2,"0")+":"+be(Se,2,"0")},m:function Be(Ne,je){if(Ne.date()1)return Be(ke[0])}else{var Ke=Ne.name;ne[Ke]=Ne,Se=Ke}return!Ie&&Se&&(ae=Se),Se||!Ie&&ae},pe=function(Be,Ne){if(de(Be))return Be.clone();var je=typeof Ne=="object"?Ne:{};return je.date=Be,je.args=arguments,new xe(je)},G=ge;G.l=X,G.i=de,G.w=function(Be,Ne){return pe(Be,{locale:Ne.$L,utc:Ne.$u,x:Ne.$x,$offset:Ne.$offset})};var xe=function(){function Be(je){this.$L=X(je.locale,null,!0),this.parse(je),this.$x=this.$x||je.x||{},this[se]=!0}var Ne=Be.prototype;return Ne.parse=function(je){this.$d=function(Ie){var Se=Ie.date,Ce=Ie.utc;if(Se===null)return new Date(NaN);if(G.u(Se))return new Date;if(Se instanceof Date)return new Date(Se);if(typeof Se=="string"&&!/Z$/i.test(Se)){var ke=Se.match(ee);if(ke){var Ke=ke[2]-1||0,Ft=(ke[7]||"0").substring(0,3);return Ce?new Date(Date.UTC(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)):new Date(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,Ft)}}return new Date(Se)}(je),this.init()},Ne.init=function(){var je=this.$d;this.$y=je.getFullYear(),this.$M=je.getMonth(),this.$D=je.getDate(),this.$W=je.getDay(),this.$H=je.getHours(),this.$m=je.getMinutes(),this.$s=je.getSeconds(),this.$ms=je.getMilliseconds()},Ne.$utils=function(){return G},Ne.isValid=function(){return this.$d.toString()!==W},Ne.isSame=function(je,Ie){var Se=pe(je);return this.startOf(Ie)<=Se&&Se<=this.endOf(Ie)},Ne.isAfter=function(je,Ie){return pe(je){},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},fpe=function(i="fatal"){let s=d7.fatal;typeof i=="string"?(i=i.toLowerCase(),i in d7&&(s=d7[i])):typeof i=="number"&&(s=i),Xe.trace=()=>{},Xe.debug=()=>{},Xe.info=()=>{},Xe.warn=()=>{},Xe.error=()=>{},Xe.fatal=()=>{},s<=d7.fatal&&(Xe.fatal=console.error?console.error.bind(console,Av("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Av("FATAL"))),s<=d7.error&&(Xe.error=console.error?console.error.bind(console,Av("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Av("ERROR"))),s<=d7.warn&&(Xe.warn=console.warn?console.warn.bind(console,Av("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Av("WARN"))),s<=d7.info&&(Xe.info=console.info?console.info.bind(console,Av("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Av("INFO"))),s<=d7.debug&&(Xe.debug=console.debug?console.debug.bind(console,Av("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Av("DEBUG"))),s<=d7.trace&&(Xe.trace=console.debug?console.debug.bind(console,Av("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Av("TRACE")))},Av=i=>`%c${Ag().format("ss.SSS")} : ${i} : `;var g9={};(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=i.BLANK_URL=void 0;var s=/^([^\w]*)(javascript|data|vbscript)/im,u=/(\w+)(^\w|;)?/g,d=/&(newline|tab);/gi,p=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^.+(:|:)/gim,b=[".","/"];i.BLANK_URL="about:blank";function y(A){return b.indexOf(A[0])>-1}function T(A){var P=A.replace(p,"");return P.replace(u,function(R,F){return String.fromCharCode(F)})}function _(A){if(!A)return i.BLANK_URL;var P=T(A).replace(d,"").replace(p,"").trim();if(!P)return i.BLANK_URL;if(y(P))return P;var R=P.match(v);if(!R)return P;var F=R[0];return s.test(F)?i.BLANK_URL:P}i.sanitizeUrl=_})(g9);function DY(i,s){return i==null||s==null?NaN:is?1:i>=s?0:NaN}function RAt(i,s){return i==null||s==null?NaN:si?1:s>=i?0:NaN}function dpe(i){let s,u,d;i.length!==2?(s=DY,u=(y,T)=>DY(i(y),T),d=(y,T)=>i(y)-T):(s=i===DY||i===RAt?i:jAt,u=i,d=i);function p(y,T,_=0,A=y.length){if(_>>1;u(y[P],T)<0?_=P+1:A=P}while(_>>1;u(y[P],T)<=0?_=P+1:A=P}while(__&&d(y[P-1],T)>-d(y[P],T)?P-1:P}return{left:p,center:b,right:v}}function jAt(){return 0}function $At(i){return i===null?NaN:+i}const zAt=dpe(DY).right;dpe($At).center;const qAt=zAt;class cBe extends Map{constructor(s,u=UAt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:u}}),s!=null)for(const[d,p]of s)this.set(d,p)}get(s){return super.get(uBe(this,s))}has(s){return super.has(uBe(this,s))}set(s,u){return super.set(HAt(this,s),u)}delete(s){return super.delete(VAt(this,s))}}function uBe({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):u}function HAt({_intern:i,_key:s},u){const d=s(u);return i.has(d)?i.get(d):(i.set(d,u),u)}function VAt({_intern:i,_key:s},u){const d=s(u);return i.has(d)&&(u=i.get(d),i.delete(d)),u}function UAt(i){return i!==null&&typeof i=="object"?i.valueOf():i}const GAt=Math.sqrt(50),KAt=Math.sqrt(10),WAt=Math.sqrt(2);function IY(i,s,u){const d=(s-i)/Math.max(0,u),p=Math.floor(Math.log10(d)),v=d/Math.pow(10,p),b=v>=GAt?10:v>=KAt?5:v>=WAt?2:1;let y,T,_;return p<0?(_=Math.pow(10,-p)/b,y=Math.round(i*_),T=Math.round(s*_),y/_s&&--T,_=-_):(_=Math.pow(10,p)*b,y=Math.round(i/_),T=Math.round(s/_),y*_s&&--T),T0))return[];if(i===s)return[i];const d=s=p))return[];const y=v-p+1,T=new Array(y);if(d)if(b<0)for(let _=0;_=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u=p)&&(u=p)}return u}function QAt(i,s){let u;if(s===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=s(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function JAt(i,s,u){i=+i,s=+s,u=(p=arguments.length)<2?(s=i,i=0,1):p<3?1:+u;for(var d=-1,p=Math.max(0,Math.ceil((s-i)/u))|0,v=new Array(p);++d
+i(s)}function rLt(i,s){return s=Math.max(0,i.bandwidth()-s*2)/2,i.round()&&(s=Math.round(s)),u=>+i(u)+s}function iLt(){return!this.__axis}function hBe(i,s){var u=[],d=null,p=null,v=6,b=6,y=3,T=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===OY||i===NY?-1:1,A=i===NY||i===bpe?"x":"y",P=i===OY||i===mpe?eLt:tLt;function R(F){var j=d??(s.ticks?s.ticks.apply(s,u):s.domain()),W=p??(s.tickFormat?s.tickFormat.apply(s,u):ZAt),ee=Math.max(v,0)+y,ie=s.range(),oe=+ie[0]+T,be=+ie[ie.length-1]+T,ge=(s.bandwidth?rLt:nLt)(s.copy(),T),ae=F.selection?F.selection():F,ne=ae.selectAll(".domain").data([null]),se=ae.selectAll(".tick").data(j,s).order(),de=se.exit(),X=se.enter().append("g").attr("class","tick"),pe=se.select("line"),G=se.select("text");ne=ne.merge(ne.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),se=se.merge(X),pe=pe.merge(X.append("line").attr("stroke","currentColor").attr(A+"2",_*v)),G=G.merge(X.append("text").attr("fill","currentColor").attr(A,_*ee).attr("dy",i===OY?"0em":i===mpe?"0.71em":"0.32em")),F!==ae&&(ne=ne.transition(F),se=se.transition(F),pe=pe.transition(F),G=G.transition(F),de=de.transition(F).attr("opacity",lBe).attr("transform",function(xe){return isFinite(xe=ge(xe))?P(xe+T):this.getAttribute("transform")}),X.attr("opacity",lBe).attr("transform",function(xe){var U=this.parentNode.__axis;return P((U&&isFinite(U=U(xe))?U:ge(xe))+T)})),de.remove(),ne.attr("d",i===NY||i===bpe?b?"M"+_*b+","+oe+"H"+T+"V"+be+"H"+_*b:"M"+T+","+oe+"V"+be:b?"M"+oe+","+_*b+"V"+T+"H"+be+"V"+_*b:"M"+oe+","+T+"H"+be),se.attr("opacity",1).attr("transform",function(xe){return P(ge(xe)+T)}),pe.attr(A+"2",_*v),G.attr(A,_*ee).text(W),ae.filter(iLt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===bpe?"start":i===NY?"end":"middle"),ae.each(function(){this.__axis=ge})}return R.scale=function(F){return arguments.length?(s=F,R):s},R.ticks=function(){return u=Array.from(arguments),R},R.tickArguments=function(F){return arguments.length?(u=F==null?[]:Array.from(F),R):u.slice()},R.tickValues=function(F){return arguments.length?(d=F==null?null:Array.from(F),R):d&&d.slice()},R.tickFormat=function(F){return arguments.length?(p=F,R):p},R.tickSize=function(F){return arguments.length?(v=b=+F,R):v},R.tickSizeInner=function(F){return arguments.length?(v=+F,R):v},R.tickSizeOuter=function(F){return arguments.length?(b=+F,R):b},R.tickPadding=function(F){return arguments.length?(y=+F,R):y},R.offset=function(F){return arguments.length?(T=+F,R):T},R}function sLt(i){return hBe(OY,i)}function aLt(i){return hBe(mpe,i)}var oLt={value:()=>{}};function fBe(){for(var i=0,s=arguments.length,u={},d;i=0&&(d=u.slice(p+1),u=u.slice(0,p)),u&&!s.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:d}})}PY.prototype=fBe.prototype={constructor:PY,on:function(i,s){var u=this._,d=cLt(i+"",u),p,v=-1,b=d.length;if(arguments.length<2){for(;++v0)for(var u=new Array(p),d=0,p,v;d
=0&&(s=i.slice(0,u))!=="xmlns"&&(i=i.slice(u+1)),gBe.hasOwnProperty(s)?{space:gBe[s],local:i}:i}function lLt(i){return function(){var s=this.ownerDocument,u=this.namespaceURI;return u===vpe&&s.documentElement.namespaceURI===vpe?s.createElement(i):s.createElementNS(u,i)}}function hLt(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function pBe(i){var s=BY(i);return(s.local?hLt:lLt)(s)}function fLt(){}function wpe(i){return i==null?fLt:function(){return this.querySelector(i)}}function dLt(i){typeof i!="function"&&(i=wpe(i));for(var s=this._groups,u=s.length,d=new Array(u),p=0;p=be&&(be=oe+1);!(ae=ee[be])&&++be=0;)(b=d[p])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function FLt(i){i||(i=RLt);function s(P,R){return P&&R?i(P.__data__,R.__data__):!P-!R}for(var u=this._groups,d=u.length,p=new Array(d),v=0;vs?1:i>=s?0:NaN}function jLt(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function $Lt(){return Array.from(this)}function zLt(){for(var i=this._groups,s=0,u=i.length;s1?this.each((s==null?JLt:typeof s=="function"?eMt:ZLt)(i,s,u??"")):JM(this.node(),i)}function JM(i,s){return i.style.getPropertyValue(s)||xBe(i).getComputedStyle(i,null).getPropertyValue(s)}function nMt(i){return function(){delete this[i]}}function rMt(i,s){return function(){this[i]=s}}function iMt(i,s){return function(){var u=s.apply(this,arguments);u==null?delete this[i]:this[i]=u}}function sMt(i,s){return arguments.length>1?this.each((s==null?nMt:typeof s=="function"?iMt:rMt)(i,s)):this.node()[i]}function kBe(i){return i.trim().split(/^|\s+/)}function ype(i){return i.classList||new EBe(i)}function EBe(i){this._node=i,this._names=kBe(i.getAttribute("class")||"")}EBe.prototype={add:function(i){var s=this._names.indexOf(i);s<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var s=this._names.indexOf(i);s>=0&&(this._names.splice(s,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function TBe(i,s){for(var u=ype(i),d=-1,p=s.length;++d=0&&(u=s.slice(d+1),s=s.slice(0,d)),{type:s,name:u}})}function OMt(i){return function(){var s=this.__on;if(s){for(var u=0,d=-1,p=s.length,v;u
>8&15|s>>4&240,s>>4&15|s&240,(s&15)<<4|s&15,1):u===8?$Y(s>>24&255,s>>16&255,s>>8&255,(s&255)/255):u===4?$Y(s>>12&15|s>>8&240,s>>8&15|s>>4&240,s>>4&15|s&240,((s&15)<<4|s&15)/255):null):(s=qMt.exec(i))?new Lg(s[1],s[2],s[3],1):(s=HMt.exec(i))?new Lg(s[1]*255/100,s[2]*255/100,s[3]*255/100,1):(s=VMt.exec(i))?$Y(s[1],s[2],s[3],s[4]):(s=UMt.exec(i))?$Y(s[1]*255/100,s[2]*255/100,s[3]*255/100,s[4]):(s=GMt.exec(i))?PBe(s[1],s[2]/100,s[3]/100,1):(s=KMt.exec(i))?PBe(s[1],s[2]/100,s[3]/100,s[4]):ABe.hasOwnProperty(i)?DBe(ABe[i]):i==="transparent"?new Lg(NaN,NaN,NaN,0):null}function DBe(i){return new Lg(i>>16&255,i>>8&255,i&255,1)}function $Y(i,s,u,d){return d<=0&&(i=s=u=NaN),new Lg(i,s,u,d)}function IBe(i){return i instanceof hC||(i=fC(i)),i?(i=i.rgb(),new Lg(i.r,i.g,i.b,i.opacity)):new Lg}function kpe(i,s,u,d){return arguments.length===1?IBe(i):new Lg(i,s,u,d??1)}function Lg(i,s,u,d){this.r=+i,this.g=+s,this.b=+u,this.opacity=+d}vF(Lg,kpe,RY(hC,{brighter(i){return i=i==null?jY:Math.pow(jY,i),new Lg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?wF:Math.pow(wF,i),new Lg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Lg(dC(this.r),dC(this.g),dC(this.b),zY(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:OBe,formatHex:OBe,formatHex8:XMt,formatRgb:NBe,toString:NBe}));function OBe(){return`#${gC(this.r)}${gC(this.g)}${gC(this.b)}`}function XMt(){return`#${gC(this.r)}${gC(this.g)}${gC(this.b)}${gC((isNaN(this.opacity)?1:this.opacity)*255)}`}function NBe(){const i=zY(this.opacity);return`${i===1?"rgb(":"rgba("}${dC(this.r)}, ${dC(this.g)}, ${dC(this.b)}${i===1?")":`, ${i})`}`}function zY(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function dC(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function gC(i){return i=dC(i),(i<16?"0":"")+i.toString(16)}function PBe(i,s,u,d){return d<=0?i=s=u=NaN:u<=0||u>=1?i=s=NaN:s<=0&&(i=NaN),new L3(i,s,u,d)}function BBe(i){if(i instanceof L3)return new L3(i.h,i.s,i.l,i.opacity);if(i instanceof hC||(i=fC(i)),!i)return new L3;if(i instanceof L3)return i;i=i.rgb();var s=i.r/255,u=i.g/255,d=i.b/255,p=Math.min(s,u,d),v=Math.max(s,u,d),b=NaN,y=v-p,T=(v+p)/2;return y?(s===v?b=(u-d)/y+(u0&&T<1?0:b,new L3(b,y,T,i.opacity)}function QMt(i,s,u,d){return arguments.length===1?BBe(i):new L3(i,s,u,d??1)}function L3(i,s,u,d){this.h=+i,this.s=+s,this.l=+u,this.opacity=+d}vF(L3,QMt,RY(hC,{brighter(i){return i=i==null?jY:Math.pow(jY,i),new L3(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?wF:Math.pow(wF,i),new L3(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,s=isNaN(i)||isNaN(this.s)?0:this.s,u=this.l,d=u+(u<.5?u:1-u)*s,p=2*u-d;return new Lg(Epe(i>=240?i-240:i+120,p,d),Epe(i,p,d),Epe(i<120?i+240:i-120,p,d),this.opacity)},clamp(){return new L3(FBe(this.h),qY(this.s),qY(this.l),zY(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=zY(this.opacity);return`${i===1?"hsl(":"hsla("}${FBe(this.h)}, ${qY(this.s)*100}%, ${qY(this.l)*100}%${i===1?")":`, ${i})`}`}}));function FBe(i){return i=(i||0)%360,i<0?i+360:i}function qY(i){return Math.max(0,Math.min(1,i||0))}function Epe(i,s,u){return(i<60?s+(u-s)*i/60:i<180?u:i<240?s+(u-s)*(240-i)/60:s)*255}const JMt=Math.PI/180,ZMt=180/Math.PI,HY=18,RBe=.96422,jBe=1,$Be=.82521,zBe=4/29,eD=6/29,qBe=3*eD*eD,eDt=eD*eD*eD;function HBe(i){if(i instanceof j4)return new j4(i.l,i.a,i.b,i.opacity);if(i instanceof g7)return VBe(i);i instanceof Lg||(i=IBe(i));var s=_pe(i.r),u=_pe(i.g),d=_pe(i.b),p=Tpe((.2225045*s+.7168786*u+.0606169*d)/jBe),v,b;return s===u&&u===d?v=b=p:(v=Tpe((.4360747*s+.3850649*u+.1430804*d)/RBe),b=Tpe((.0139322*s+.0971045*u+.7141733*d)/$Be)),new j4(116*p-16,500*(v-p),200*(p-b),i.opacity)}function tDt(i,s,u,d){return arguments.length===1?HBe(i):new j4(i,s,u,d??1)}function j4(i,s,u,d){this.l=+i,this.a=+s,this.b=+u,this.opacity=+d}vF(j4,tDt,RY(hC,{brighter(i){return new j4(this.l+HY*(i??1),this.a,this.b,this.opacity)},darker(i){return new j4(this.l-HY*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,s=isNaN(this.a)?i:i+this.a/500,u=isNaN(this.b)?i:i-this.b/200;return s=RBe*Cpe(s),i=jBe*Cpe(i),u=$Be*Cpe(u),new Lg(Spe(3.1338561*s-1.6168667*i-.4906146*u),Spe(-.9787684*s+1.9161415*i+.033454*u),Spe(.0719453*s-.2289914*i+1.4052427*u),this.opacity)}}));function Tpe(i){return i>eDt?Math.pow(i,1/3):i/qBe+zBe}function Cpe(i){return i>eD?i*i*i:qBe*(i-zBe)}function Spe(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function _pe(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function nDt(i){if(i instanceof g7)return new g7(i.h,i.c,i.l,i.opacity);if(i instanceof j4||(i=HBe(i)),i.a===0&&i.b===0)return new g7(NaN,0()=>i;function UBe(i,s){return function(u){return i+u*s}}function rDt(i,s,u){return i=Math.pow(i,u),s=Math.pow(s,u)-i,u=1/u,function(d){return Math.pow(i+d*s,u)}}function iDt(i,s){var u=s-i;return u?UBe(i,u>180||u<-180?u-360*Math.round(u/360):u):VY(isNaN(i)?s:i)}function sDt(i){return(i=+i)==1?xF:function(s,u){return u-s?rDt(s,u,i):VY(isNaN(s)?u:s)}}function xF(i,s){var u=s-i;return u?UBe(i,u):VY(isNaN(i)?s:i)}const UY=function i(s){var u=sDt(s);function d(p,v){var b=u((p=kpe(p)).r,(v=kpe(v)).r),y=u(p.g,v.g),T=u(p.b,v.b),_=xF(p.opacity,v.opacity);return function(A){return p.r=b(A),p.g=y(A),p.b=T(A),p.opacity=_(A),p+""}}return d.gamma=i,d}(1);function aDt(i,s){s||(s=[]);var u=i?Math.min(s.length,i.length):0,d=s.slice(),p;return function(v){for(p=0;pu&&(v=s.slice(u,v),y[b]?y[b]+=v:y[++b]=v),(d=d[0])===(p=p[0])?y[b]?y[b]+=p:y[++b]=p:(y[++b]=null,T.push({i:b,x:M3(d,p)})),u=Mpe.lastIndex;return u180?A+=360:A-_>180&&(_+=360),R.push({i:P.push(p(P)+"rotate(",null,d)-2,x:M3(_,A)})):A&&P.push(p(P)+"rotate("+A+d)}function y(_,A,P,R){_!==A?R.push({i:P.push(p(P)+"skewX(",null,d)-2,x:M3(_,A)}):A&&P.push(p(P)+"skewX("+A+d)}function T(_,A,P,R,F,j){if(_!==P||A!==R){var W=F.push(p(F)+"scale(",null,",",null,")");j.push({i:W-4,x:M3(_,P)},{i:W-2,x:M3(A,R)})}else(P!==1||R!==1)&&F.push(p(F)+"scale("+P+","+R+")")}return function(_,A){var P=[],R=[];return _=i(_),A=i(A),v(_.translateX,_.translateY,A.translateX,A.translateY,P,R),b(_.rotate,A.rotate,P,R),y(_.skewX,A.skewX,P,R),T(_.scaleX,_.scaleY,A.scaleX,A.scaleY,P,R),_=A=null,function(F){for(var j=-1,W=R.length,ee;++j=0&&i._call.call(void 0,s),i=i._next;--tD}function ZBe(){pC=(WY=CF.now())+YY,tD=kF=0;try{xDt()}finally{tD=0,EDt(),pC=0}}function kDt(){var i=CF.now(),s=i-WY;s>XBe&&(YY-=s,WY=i)}function EDt(){for(var i,s=KY,u,d=1/0;s;)s._call?(d>s._time&&(d=s._time),i=s,s=s._next):(u=s._next,s._next=null,s=i?i._next=u:KY=u);TF=i,Npe(d)}function Npe(i){if(!tD){kF&&(kF=clearTimeout(kF));var s=i-pC;s>24?(i<1/0&&(kF=setTimeout(ZBe,i-CF.now()-YY)),EF&&(EF=clearInterval(EF))):(EF||(WY=CF.now(),EF=setInterval(kDt,XBe)),tD=1,QBe(ZBe))}}function eFe(i,s,u){var d=new XY;return s=s==null?0:+s,d.restart(p=>{d.stop(),i(p+s)},s,u),d}var TDt=fBe("start","end","cancel","interrupt"),CDt=[],tFe=0,nFe=1,Ppe=2,QY=3,rFe=4,Bpe=5,JY=6;function ZY(i,s,u,d,p,v){var b=i.__transition;if(!b)i.__transition={};else if(u in b)return;SDt(i,u,{name:s,index:d,group:p,on:TDt,tween:CDt,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:tFe})}function Fpe(i,s){var u=D3(i,s);if(u.state>tFe)throw new Error("too late; already scheduled");return u}function $4(i,s){var u=D3(i,s);if(u.state>QY)throw new Error("too late; already running");return u}function D3(i,s){var u=i.__transition;if(!u||!(u=u[s]))throw new Error("transition not found");return u}function SDt(i,s,u){var d=i.__transition,p;d[s]=u,u.timer=JBe(v,0,u.time);function v(_){u.state=nFe,u.timer.restart(b,u.delay,u.time),u.delay<=_&&b(_-u.delay)}function b(_){var A,P,R,F;if(u.state!==nFe)return T();for(A in d)if(F=d[A],F.name===u.name){if(F.state===QY)return eFe(b);F.state===rFe?(F.state=JY,F.timer.stop(),F.on.call("interrupt",i,i.__data__,F.index,F.group),delete d[A]):+APpe&&d.state=0&&(s=s.slice(0,u)),!s||s==="start"})}function rIt(i,s,u){var d,p,v=nIt(s)?Fpe:$4;return function(){var b=v(this,i),y=b.on;y!==d&&(p=(d=y).copy()).on(s,u),b.on=p}}function iIt(i,s){var u=this._id;return arguments.length<2?D3(this.node(),u).on.on(i):this.each(rIt(u,i,s))}function sIt(i){return function(){var s=this.parentNode;for(var u in this.__transition)if(+u!==i)return;s&&s.removeChild(this)}}function aIt(){return this.on("end.remove",sIt(this._id))}function oIt(i){var s=this._name,u=this._id;typeof i!="function"&&(i=wpe(i));for(var d=this._groups,p=d.length,v=new Array(p),b=0;b=0))throw new Error(`invalid digits: ${i}`);if(s>15)return oFe;const u=10**s;return function(d){this._+=d[0];for(let p=1,v=d.length;pbC)if(!(Math.abs(P*T-_*A)>bC)||!v)this._append`L${this._x1=s},${this._y1=u}`;else{let F=d-b,j=p-y,W=T*T+_*_,ee=F*F+j*j,ie=Math.sqrt(W),oe=Math.sqrt(R),be=v*Math.tan((jpe-Math.acos((W+R-ee)/(2*ie*oe)))/2),ge=be/oe,ae=be/ie;Math.abs(ge-1)>bC&&this._append`L${s+ge*A},${u+ge*P}`,this._append`A${v},${v},0,0,${+(P*F>A*j)},${this._x1=s+ae*T},${this._y1=u+ae*_}`}}arc(s,u,d,p,v,b){if(s=+s,u=+u,d=+d,b=!!b,d<0)throw new Error(`negative radius: ${d}`);let y=d*Math.cos(p),T=d*Math.sin(p),_=s+y,A=u+T,P=1^b,R=b?p-v:v-p;this._x1===null?this._append`M${_},${A}`:(Math.abs(this._x1-_)>bC||Math.abs(this._y1-A)>bC)&&this._append`L${_},${A}`,d&&(R<0&&(R=R%$pe+$pe),R>IIt?this._append`A${d},${d},0,1,${P},${s-y},${u-T}A${d},${d},0,1,${P},${this._x1=_},${this._y1=A}`:R>bC&&this._append`A${d},${d},0,${+(R>=jpe)},${P},${this._x1=s+d*Math.cos(v)},${this._y1=u+d*Math.sin(v)}`)}rect(s,u,d,p){this._append`M${this._x0=this._x1=+s},${this._y0=this._y1=+u}h${d=+d}v${+p}h${-d}Z`}toString(){return this._}};function PIt(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function BIt(i,s){return fetch(i,s).then(PIt)}function FIt(i){return(s,u)=>BIt(s,u).then(d=>new DOMParser().parseFromString(d,i))}var RIt=FIt("image/svg+xml");function jIt(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function eX(i,s){if((u=(i=s?i.toExponential(s-1):i.toExponential()).indexOf("e"))<0)return null;var u,d=i.slice(0,u);return[d.length>1?d[0]+d.slice(2):d,+i.slice(u+1)]}function nD(i){return i=eX(Math.abs(i)),i?i[1]:NaN}function $It(i,s){return function(u,d){for(var p=u.length,v=[],b=0,y=i[0],T=0;p>0&&y>0&&(T+y+1>d&&(y=Math.max(1,d-T)),v.push(u.substring(p-=y,p+y)),!((T+=y+1)>d));)y=i[b=(b+1)%i.length];return v.reverse().join(s)}}function zIt(i){return function(s){return s.replace(/[0-9]/g,function(u){return i[+u]})}}var qIt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function tX(i){if(!(s=qIt.exec(i)))throw new Error("invalid format: "+i);var s;return new zpe({fill:s[1],align:s[2],sign:s[3],symbol:s[4],zero:s[5],width:s[6],comma:s[7],precision:s[8]&&s[8].slice(1),trim:s[9],type:s[10]})}tX.prototype=zpe.prototype;function zpe(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}zpe.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 HIt(i){e:for(var s=i.length,u=1,d=-1,p;u0&&(d=0);break}return d>0?i.slice(0,d)+i.slice(p+1):i}var cFe;function VIt(i,s){var u=eX(i,s);if(!u)return i+"";var d=u[0],p=u[1],v=p-(cFe=Math.max(-8,Math.min(8,Math.floor(p/3)))*3)+1,b=d.length;return v===b?d:v>b?d+new Array(v-b+1).join("0"):v>0?d.slice(0,v)+"."+d.slice(v):"0."+new Array(1-v).join("0")+eX(i,Math.max(0,s+v-1))[0]}function uFe(i,s){var u=eX(i,s);if(!u)return i+"";var d=u[0],p=u[1];return p<0?"0."+new Array(-p).join("0")+d:d.length>p+1?d.slice(0,p+1)+"."+d.slice(p+1):d+new Array(p-d.length+2).join("0")}const lFe={"%":(i,s)=>(i*100).toFixed(s),b:i=>Math.round(i).toString(2),c:i=>i+"",d:jIt,e:(i,s)=>i.toExponential(s),f:(i,s)=>i.toFixed(s),g:(i,s)=>i.toPrecision(s),o:i=>Math.round(i).toString(8),p:(i,s)=>uFe(i*100,s),r:uFe,s:VIt,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function hFe(i){return i}var fFe=Array.prototype.map,dFe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function UIt(i){var s=i.grouping===void 0||i.thousands===void 0?hFe:$It(fFe.call(i.grouping,Number),i.thousands+""),u=i.currency===void 0?"":i.currency[0]+"",d=i.currency===void 0?"":i.currency[1]+"",p=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?hFe:zIt(fFe.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",y=i.minus===void 0?"−":i.minus+"",T=i.nan===void 0?"NaN":i.nan+"";function _(P){P=tX(P);var R=P.fill,F=P.align,j=P.sign,W=P.symbol,ee=P.zero,ie=P.width,oe=P.comma,be=P.precision,ge=P.trim,ae=P.type;ae==="n"?(oe=!0,ae="g"):lFe[ae]||(be===void 0&&(be=12),ge=!0,ae="g"),(ee||R==="0"&&F==="=")&&(ee=!0,R="0",F="=");var ne=W==="$"?u:W==="#"&&/[boxX]/.test(ae)?"0"+ae.toLowerCase():"",se=W==="$"?d:/[%p]/.test(ae)?b:"",de=lFe[ae],X=/[defgprs%]/.test(ae);be=be===void 0?6:/[gprs]/.test(ae)?Math.max(1,Math.min(21,be)):Math.max(0,Math.min(20,be));function pe(G){var xe=ne,U=se,Be,Ne,je;if(ae==="c")U=de(G)+U,G="";else{G=+G;var Ie=G<0||1/G<0;if(G=isNaN(G)?T:de(Math.abs(G),be),ge&&(G=HIt(G)),Ie&&+G==0&&j!=="+"&&(Ie=!1),xe=(Ie?j==="("?j:y:j==="-"||j==="("?"":j)+xe,U=(ae==="s"?dFe[8+cFe/3]:"")+U+(Ie&&j==="("?")":""),X){for(Be=-1,Ne=G.length;++Beje||je>57){U=(je===46?p+G.slice(Be+1):G.slice(Be))+U,G=G.slice(0,Be);break}}}oe&&!ee&&(G=s(G,1/0));var Se=xe.length+G.length+U.length,Ce=Se>1)+xe+G+U+Ce.slice(Se);break;default:G=Ce+xe+G+U;break}return v(G)}return pe.toString=function(){return P+""},pe}function A(P,R){var F=_((P=tX(P),P.type="f",P)),j=Math.max(-8,Math.min(8,Math.floor(nD(R)/3)))*3,W=Math.pow(10,-j),ee=dFe[8+j/3];return function(ie){return F(W*ie)+ee}}return{format:_,formatPrefix:A}}var nX,gFe,pFe;GIt({thousands:",",grouping:[3],currency:["$",""]});function GIt(i){return nX=UIt(i),gFe=nX.format,pFe=nX.formatPrefix,nX}function KIt(i){return Math.max(0,-nD(Math.abs(i)))}function WIt(i,s){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(nD(s)/3)))*3-nD(Math.abs(i)))}function YIt(i,s){return i=Math.abs(i),s=Math.abs(s)-i,Math.max(0,nD(s)-nD(i))+1}function rX(i,s){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(s).domain(i);break}return this}const bFe=Symbol("implicit");function SF(){var i=new cBe,s=[],u=[],d=bFe;function p(v){let b=i.get(v);if(b===void 0){if(d!==bFe)return d;i.set(v,b=s.push(v)-1)}return u[b%u.length]}return p.domain=function(v){if(!arguments.length)return s.slice();s=[],i=new cBe;for(const b of v)i.has(b)||i.set(b,s.push(b)-1);return p},p.range=function(v){return arguments.length?(u=Array.from(v),p):u.slice()},p.unknown=function(v){return arguments.length?(d=v,p):d},p.copy=function(){return SF(s,u).unknown(d)},rX.apply(p,arguments),p}function qpe(){var i=SF().unknown(void 0),s=i.domain,u=i.range,d=0,p=1,v,b,y=!1,T=0,_=0,A=.5;delete i.unknown;function P(){var R=s().length,F=ps&&(u=i,i=s,s=u),function(d){return Math.max(i,Math.min(s,d))}}function ZIt(i,s,u){var d=i[0],p=i[1],v=s[0],b=s[1];return p2?eOt:ZIt,T=_=null,P}function P(R){return R==null||isNaN(R=+R)?v:(T||(T=y(i.map(d),s,u)))(d(b(R)))}return P.invert=function(R){return b(p((_||(_=y(s,i.map(d),M3)))(R)))},P.domain=function(R){return arguments.length?(i=Array.from(R,QIt),A()):i.slice()},P.range=function(R){return arguments.length?(s=Array.from(R),A()):s.slice()},P.rangeRound=function(R){return s=Array.from(R),u=dDt,A()},P.clamp=function(R){return arguments.length?(b=R?!0:rD,A()):b!==rD},P.interpolate=function(R){return arguments.length?(u=R,A()):u},P.unknown=function(R){return arguments.length?(v=R,P):v},function(R,F){return d=R,p=F,A()}}function wFe(){return tOt()(rD,rD)}function nOt(i,s,u,d){var p=ppe(i,s,u),v;switch(d=tX(d??",f"),d.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(s));return d.precision==null&&!isNaN(v=WIt(p,b))&&(d.precision=v),pFe(d,b)}case"":case"e":case"g":case"p":case"r":{d.precision==null&&!isNaN(v=YIt(p,Math.max(Math.abs(i),Math.abs(s))))&&(d.precision=v-(d.type==="e"));break}case"f":case"%":{d.precision==null&&!isNaN(v=KIt(p))&&(d.precision=v-(d.type==="%")*2);break}}return gFe(d)}function rOt(i){var s=i.domain;return i.ticks=function(u){var d=s();return YAt(d[0],d[d.length-1],u??10)},i.tickFormat=function(u,d){var p=s();return nOt(p[0],p[p.length-1],u??10,d)},i.nice=function(u){u==null&&(u=10);var d=s(),p=0,v=d.length-1,b=d[p],y=d[v],T,_,A=10;for(y0;){if(_=gpe(b,y,u),_===T)return d[p]=b,d[v]=y,s(d);if(_>0)b=Math.floor(b/_)*_,y=Math.ceil(y/_)*_;else if(_<0)b=Math.ceil(b*_)/_,y=Math.floor(y*_)/_;else break;T=_}return i},i}function iD(){var i=wFe();return i.copy=function(){return vFe(i,iD())},rX.apply(i,arguments),rOt(i)}function iOt(i,s){i=i.slice();var u=0,d=i.length-1,p=i[u],v=i[d],b;return v(i(v=new Date(+v)),v),p.ceil=v=>(i(v=new Date(v-1)),s(v,1),i(v),v),p.round=v=>{const b=p(v),y=p.ceil(v);return v-b(s(v=new Date(+v),b==null?1:Math.floor(b)),v),p.range=(v,b,y)=>{const T=[];if(v=p.ceil(v),y=y==null?1:Math.floor(y),!(v0))return T;let _;do T.push(_=new Date(+v)),s(v,y),i(v);while(_c1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,y)=>{if(b>=b)if(y<0)for(;++y<=0;)for(;s(b,-1),!v(b););else for(;--y>=0;)for(;s(b,1),!v(b););}),u&&(p.count=(v,b)=>(Vpe.setTime(+v),Upe.setTime(+b),i(Vpe),i(Upe),Math.floor(u(Vpe,Upe))),p.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?p.filter(d?b=>d(b)%v===0:b=>p.count(0,b)%v===0):p)),p}const sD=c1(()=>{},(i,s)=>{i.setTime(+i+s)},(i,s)=>s-i);sD.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?c1(s=>{s.setTime(Math.floor(s/i)*i)},(s,u)=>{s.setTime(+s+u*i)},(s,u)=>(u-s)/i):sD),sD.range;const m7=1e3,Lv=m7*60,v7=Lv*60,w7=v7*24,Gpe=w7*7,yFe=w7*30,Kpe=w7*365,p9=c1(i=>{i.setTime(i-i.getMilliseconds())},(i,s)=>{i.setTime(+i+s*m7)},(i,s)=>(s-i)/m7,i=>i.getUTCSeconds());p9.range;const _F=c1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m7)},(i,s)=>{i.setTime(+i+s*Lv)},(i,s)=>(s-i)/Lv,i=>i.getMinutes());_F.range,c1(i=>{i.setUTCSeconds(0,0)},(i,s)=>{i.setTime(+i+s*Lv)},(i,s)=>(s-i)/Lv,i=>i.getUTCMinutes()).range;const AF=c1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*m7-i.getMinutes()*Lv)},(i,s)=>{i.setTime(+i+s*v7)},(i,s)=>(s-i)/v7,i=>i.getHours());AF.range,c1(i=>{i.setUTCMinutes(0,0,0)},(i,s)=>{i.setTime(+i+s*v7)},(i,s)=>(s-i)/v7,i=>i.getUTCHours()).range;const mC=c1(i=>i.setHours(0,0,0,0),(i,s)=>i.setDate(i.getDate()+s),(i,s)=>(s-i-(s.getTimezoneOffset()-i.getTimezoneOffset())*Lv)/w7,i=>i.getDate()-1);mC.range;const Wpe=c1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/w7,i=>i.getUTCDate()-1);Wpe.range,c1(i=>{i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCDate(i.getUTCDate()+s)},(i,s)=>(s-i)/w7,i=>Math.floor(i/w7)).range;function vC(i){return c1(s=>{s.setDate(s.getDate()-(s.getDay()+7-i)%7),s.setHours(0,0,0,0)},(s,u)=>{s.setDate(s.getDate()+u*7)},(s,u)=>(u-s-(u.getTimezoneOffset()-s.getTimezoneOffset())*Lv)/Gpe)}const LF=vC(0),MF=vC(1),xFe=vC(2),kFe=vC(3),wC=vC(4),EFe=vC(5),TFe=vC(6);LF.range,MF.range,xFe.range,kFe.range,wC.range,EFe.range,TFe.range;function yC(i){return c1(s=>{s.setUTCDate(s.getUTCDate()-(s.getUTCDay()+7-i)%7),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCDate(s.getUTCDate()+u*7)},(s,u)=>(u-s)/Gpe)}const CFe=yC(0),iX=yC(1),sOt=yC(2),aOt=yC(3),aD=yC(4),oOt=yC(5),cOt=yC(6);CFe.range,iX.range,sOt.range,aOt.range,aD.range,oOt.range,cOt.range;const DF=c1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,s)=>{i.setMonth(i.getMonth()+s)},(i,s)=>s.getMonth()-i.getMonth()+(s.getFullYear()-i.getFullYear())*12,i=>i.getMonth());DF.range,c1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCMonth(i.getUTCMonth()+s)},(i,s)=>s.getUTCMonth()-i.getUTCMonth()+(s.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const y7=c1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,s)=>{i.setFullYear(i.getFullYear()+s)},(i,s)=>s.getFullYear()-i.getFullYear(),i=>i.getFullYear());y7.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:c1(s=>{s.setFullYear(Math.floor(s.getFullYear()/i)*i),s.setMonth(0,1),s.setHours(0,0,0,0)},(s,u)=>{s.setFullYear(s.getFullYear()+u*i)}),y7.range;const xC=c1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,s)=>{i.setUTCFullYear(i.getUTCFullYear()+s)},(i,s)=>s.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());xC.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:c1(s=>{s.setUTCFullYear(Math.floor(s.getUTCFullYear()/i)*i),s.setUTCMonth(0,1),s.setUTCHours(0,0,0,0)},(s,u)=>{s.setUTCFullYear(s.getUTCFullYear()+u*i)}),xC.range;function uOt(i,s,u,d,p,v){const b=[[p9,1,m7],[p9,5,5*m7],[p9,15,15*m7],[p9,30,30*m7],[v,1,Lv],[v,5,5*Lv],[v,15,15*Lv],[v,30,30*Lv],[p,1,v7],[p,3,3*v7],[p,6,6*v7],[p,12,12*v7],[d,1,w7],[d,2,2*w7],[u,1,Gpe],[s,1,yFe],[s,3,3*yFe],[i,1,Kpe]];function y(_,A,P){const R=A<_;R&&([_,A]=[A,_]);const F=P&&typeof P.range=="function"?P:T(_,A,P),j=F?F.range(_,+A+1):[];return R?j.reverse():j}function T(_,A,P){const R=Math.abs(A-_)/P,F=dpe(([,,ee])=>ee).right(b,R);if(F===b.length)return i.every(ppe(_/Kpe,A/Kpe,P));if(F===0)return sD.every(Math.max(ppe(_,A,P),1));const[j,W]=b[R/b[F-1][2]53)return null;"w"in At||(At.w=1),"Z"in At?(On=Xpe(IF(At.y,0,1)),ht=On.getUTCDay(),On=ht>4||ht===0?iX.ceil(On):iX(On),On=Wpe.offset(On,(At.V-1)*7),At.y=On.getUTCFullYear(),At.m=On.getUTCMonth(),At.d=On.getUTCDate()+(At.w+6)%7):(On=Ype(IF(At.y,0,1)),ht=On.getDay(),On=ht>4||ht===0?MF.ceil(On):MF(On),On=mC.offset(On,(At.V-1)*7),At.y=On.getFullYear(),At.m=On.getMonth(),At.d=On.getDate()+(At.w+6)%7)}else("W"in At||"U"in At)&&("w"in At||(At.w="u"in At?At.u%7:"W"in At?1:0),ht="Z"in At?Xpe(IF(At.y,0,1)).getUTCDay():Ype(IF(At.y,0,1)).getDay(),At.m=0,At.d="W"in At?(At.w+6)%7+At.W*7-(ht+5)%7:At.w+At.U*7-(ht+6)%7);return"Z"in At?(At.H+=At.Z/100|0,At.M+=At.Z%100,Xpe(At)):Ype(At)}}function de(xt,Pt,Ze,At){for(var Tt=0,On=Pt.length,ht=Ze.length,zr,yt;Tt=ht)return-1;if(zr=Pt.charCodeAt(Tt++),zr===37){if(zr=Pt.charAt(Tt++),yt=ae[zr in SFe?Pt.charAt(Tt++):zr],!yt||(At=yt(xt,Ze,At))<0)return-1}else if(zr!=Ze.charCodeAt(At++))return-1}return At}function X(xt,Pt,Ze){var At=_.exec(Pt.slice(Ze));return At?(xt.p=A.get(At[0].toLowerCase()),Ze+At[0].length):-1}function pe(xt,Pt,Ze){var At=F.exec(Pt.slice(Ze));return At?(xt.w=j.get(At[0].toLowerCase()),Ze+At[0].length):-1}function G(xt,Pt,Ze){var At=P.exec(Pt.slice(Ze));return At?(xt.w=R.get(At[0].toLowerCase()),Ze+At[0].length):-1}function xe(xt,Pt,Ze){var At=ie.exec(Pt.slice(Ze));return At?(xt.m=oe.get(At[0].toLowerCase()),Ze+At[0].length):-1}function U(xt,Pt,Ze){var At=W.exec(Pt.slice(Ze));return At?(xt.m=ee.get(At[0].toLowerCase()),Ze+At[0].length):-1}function Be(xt,Pt,Ze){return de(xt,s,Pt,Ze)}function Ne(xt,Pt,Ze){return de(xt,u,Pt,Ze)}function je(xt,Pt,Ze){return de(xt,d,Pt,Ze)}function Ie(xt){return b[xt.getDay()]}function Se(xt){return v[xt.getDay()]}function Ce(xt){return T[xt.getMonth()]}function ke(xt){return y[xt.getMonth()]}function Ke(xt){return p[+(xt.getHours()>=12)]}function Ft(xt){return 1+~~(xt.getMonth()/3)}function Pe(xt){return b[xt.getUTCDay()]}function gn(xt){return v[xt.getUTCDay()]}function kt(xt){return T[xt.getUTCMonth()]}function Et(xt){return y[xt.getUTCMonth()]}function Gt(xt){return p[+(xt.getUTCHours()>=12)]}function ln(xt){return 1+~~(xt.getUTCMonth()/3)}return{format:function(xt){var Pt=ne(xt+="",be);return Pt.toString=function(){return xt},Pt},parse:function(xt){var Pt=se(xt+="",!1);return Pt.toString=function(){return xt},Pt},utcFormat:function(xt){var Pt=ne(xt+="",ge);return Pt.toString=function(){return xt},Pt},utcParse:function(xt){var Pt=se(xt+="",!0);return Pt.toString=function(){return xt},Pt}}}var SFe={"-":"",_:" ",0:"0"},ed=/^\s*\d+/,dOt=/^%/,gOt=/[\\^$*+?|[\]().{}]/g;function vu(i,s,u){var d=i<0?"-":"",p=(d?-i:i)+"",v=p.length;return d+(v[s.toLowerCase(),u]))}function bOt(i,s,u){var d=ed.exec(s.slice(u,u+1));return d?(i.w=+d[0],u+d[0].length):-1}function mOt(i,s,u){var d=ed.exec(s.slice(u,u+1));return d?(i.u=+d[0],u+d[0].length):-1}function vOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.U=+d[0],u+d[0].length):-1}function wOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.V=+d[0],u+d[0].length):-1}function yOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.W=+d[0],u+d[0].length):-1}function _Fe(i,s,u){var d=ed.exec(s.slice(u,u+4));return d?(i.y=+d[0],u+d[0].length):-1}function AFe(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.y=+d[0]+(+d[0]>68?1900:2e3),u+d[0].length):-1}function xOt(i,s,u){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(s.slice(u,u+6));return d?(i.Z=d[1]?0:-(d[2]+(d[3]||"00")),u+d[0].length):-1}function kOt(i,s,u){var d=ed.exec(s.slice(u,u+1));return d?(i.q=d[0]*3-3,u+d[0].length):-1}function EOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.m=d[0]-1,u+d[0].length):-1}function LFe(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.d=+d[0],u+d[0].length):-1}function TOt(i,s,u){var d=ed.exec(s.slice(u,u+3));return d?(i.m=0,i.d=+d[0],u+d[0].length):-1}function MFe(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.H=+d[0],u+d[0].length):-1}function COt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.M=+d[0],u+d[0].length):-1}function SOt(i,s,u){var d=ed.exec(s.slice(u,u+2));return d?(i.S=+d[0],u+d[0].length):-1}function _Ot(i,s,u){var d=ed.exec(s.slice(u,u+3));return d?(i.L=+d[0],u+d[0].length):-1}function AOt(i,s,u){var d=ed.exec(s.slice(u,u+6));return d?(i.L=Math.floor(d[0]/1e3),u+d[0].length):-1}function LOt(i,s,u){var d=dOt.exec(s.slice(u,u+1));return d?u+d[0].length:-1}function MOt(i,s,u){var d=ed.exec(s.slice(u));return d?(i.Q=+d[0],u+d[0].length):-1}function DOt(i,s,u){var d=ed.exec(s.slice(u));return d?(i.s=+d[0],u+d[0].length):-1}function DFe(i,s){return vu(i.getDate(),s,2)}function IOt(i,s){return vu(i.getHours(),s,2)}function OOt(i,s){return vu(i.getHours()%12||12,s,2)}function NOt(i,s){return vu(1+mC.count(y7(i),i),s,3)}function IFe(i,s){return vu(i.getMilliseconds(),s,3)}function POt(i,s){return IFe(i,s)+"000"}function BOt(i,s){return vu(i.getMonth()+1,s,2)}function FOt(i,s){return vu(i.getMinutes(),s,2)}function ROt(i,s){return vu(i.getSeconds(),s,2)}function jOt(i){var s=i.getDay();return s===0?7:s}function $Ot(i,s){return vu(LF.count(y7(i)-1,i),s,2)}function OFe(i){var s=i.getDay();return s>=4||s===0?wC(i):wC.ceil(i)}function zOt(i,s){return i=OFe(i),vu(wC.count(y7(i),i)+(y7(i).getDay()===4),s,2)}function qOt(i){return i.getDay()}function HOt(i,s){return vu(MF.count(y7(i)-1,i),s,2)}function VOt(i,s){return vu(i.getFullYear()%100,s,2)}function UOt(i,s){return i=OFe(i),vu(i.getFullYear()%100,s,2)}function GOt(i,s){return vu(i.getFullYear()%1e4,s,4)}function KOt(i,s){var u=i.getDay();return i=u>=4||u===0?wC(i):wC.ceil(i),vu(i.getFullYear()%1e4,s,4)}function WOt(i){var s=i.getTimezoneOffset();return(s>0?"-":(s*=-1,"+"))+vu(s/60|0,"0",2)+vu(s%60,"0",2)}function NFe(i,s){return vu(i.getUTCDate(),s,2)}function YOt(i,s){return vu(i.getUTCHours(),s,2)}function XOt(i,s){return vu(i.getUTCHours()%12||12,s,2)}function QOt(i,s){return vu(1+Wpe.count(xC(i),i),s,3)}function PFe(i,s){return vu(i.getUTCMilliseconds(),s,3)}function JOt(i,s){return PFe(i,s)+"000"}function ZOt(i,s){return vu(i.getUTCMonth()+1,s,2)}function eNt(i,s){return vu(i.getUTCMinutes(),s,2)}function tNt(i,s){return vu(i.getUTCSeconds(),s,2)}function nNt(i){var s=i.getUTCDay();return s===0?7:s}function rNt(i,s){return vu(CFe.count(xC(i)-1,i),s,2)}function BFe(i){var s=i.getUTCDay();return s>=4||s===0?aD(i):aD.ceil(i)}function iNt(i,s){return i=BFe(i),vu(aD.count(xC(i),i)+(xC(i).getUTCDay()===4),s,2)}function sNt(i){return i.getUTCDay()}function aNt(i,s){return vu(iX.count(xC(i)-1,i),s,2)}function oNt(i,s){return vu(i.getUTCFullYear()%100,s,2)}function cNt(i,s){return i=BFe(i),vu(i.getUTCFullYear()%100,s,2)}function uNt(i,s){return vu(i.getUTCFullYear()%1e4,s,4)}function lNt(i,s){var u=i.getUTCDay();return i=u>=4||u===0?aD(i):aD.ceil(i),vu(i.getUTCFullYear()%1e4,s,4)}function hNt(){return"+0000"}function FFe(){return"%"}function RFe(i){return+i}function jFe(i){return Math.floor(+i/1e3)}var oD,sX;fNt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function fNt(i){return oD=fOt(i),sX=oD.format,oD.parse,oD.utcFormat,oD.utcParse,oD}function dNt(i){return new Date(i)}function gNt(i){return i instanceof Date?+i:+new Date(+i)}function $Fe(i,s,u,d,p,v,b,y,T,_){var A=wFe(),P=A.invert,R=A.domain,F=_(".%L"),j=_(":%S"),W=_("%I:%M"),ee=_("%I %p"),ie=_("%a %d"),oe=_("%b %d"),be=_("%B"),ge=_("%Y");function ae(ne){return(T(ne)1?0:i<-1?PF:Math.acos(i)}function HFe(i){return i>=1?aX:i<=-1?-aX:Math.asin(i)}function VFe(i){let s=3;return i.digits=function(u){if(!arguments.length)return s;if(u==null)s=null;else{const d=Math.floor(u);if(!(d>=0))throw new RangeError(`invalid digits: ${u}`);s=d}return i},()=>new NIt(s)}function wNt(i){return i.innerRadius}function yNt(i){return i.outerRadius}function xNt(i){return i.startAngle}function kNt(i){return i.endAngle}function ENt(i){return i&&i.padAngle}function TNt(i,s,u,d,p,v,b,y){var T=u-i,_=d-s,A=b-p,P=y-v,R=P*T-A*_;if(!(R*RBe*Be+Ne*Ne&&(de=pe,X=G),{cx:de,cy:X,x01:-A,y01:-P,x11:de*(p/ae-1),y11:X*(p/ae-1)}}function uD(){var i=wNt,s=yNt,u=Kf(0),d=null,p=xNt,v=kNt,b=ENt,y=null,T=VFe(_);function _(){var A,P,R=+i.apply(this,arguments),F=+s.apply(this,arguments),j=p.apply(this,arguments)-aX,W=v.apply(this,arguments)-aX,ee=qFe(W-j),ie=W>j;if(y||(y=A=T()),FDg))y.moveTo(0,0);else if(ee>oX-Dg)y.moveTo(F*kC(j),F*z4(j)),y.arc(0,0,F,j,W,!ie),R>Dg&&(y.moveTo(R*kC(W),R*z4(W)),y.arc(0,0,R,W,j,ie));else{var oe=j,be=W,ge=j,ae=W,ne=ee,se=ee,de=b.apply(this,arguments)/2,X=de>Dg&&(d?+d.apply(this,arguments):cD(R*R+F*F)),pe=Qpe(qFe(F-R)/2,+u.apply(this,arguments)),G=pe,xe=pe,U,Be;if(X>Dg){var Ne=HFe(X/R*z4(de)),je=HFe(X/F*z4(de));(ne-=Ne*2)>Dg?(Ne*=ie?1:-1,ge+=Ne,ae-=Ne):(ne=0,ge=ae=(j+W)/2),(se-=je*2)>Dg?(je*=ie?1:-1,oe+=je,be-=je):(se=0,oe=be=(j+W)/2)}var Ie=F*kC(oe),Se=F*z4(oe),Ce=R*kC(ae),ke=R*z4(ae);if(pe>Dg){var Ke=F*kC(be),Ft=F*z4(be),Pe=R*kC(ge),gn=R*z4(ge),kt;if(eeDg?xe>Dg?(U=cX(Pe,gn,Ie,Se,F,xe,ie),Be=cX(Ke,Ft,Ce,ke,F,xe,ie),y.moveTo(U.cx+U.x01,U.cy+U.y01),xeDg)||!(ne>Dg)?y.lineTo(Ce,ke):G>Dg?(U=cX(Ce,ke,Ke,Ft,R,-G,ie),Be=cX(Ie,Se,Pe,gn,R,-G,ie),y.lineTo(U.cx+U.x01,U.cy+U.y01),Gi?1:s>=i?0:NaN}function ANt(i){return i}function LNt(){var i=ANt,s=_Nt,u=null,d=Kf(0),p=Kf(oX),v=Kf(0);function b(y){var T,_=(y=UFe(y)).length,A,P,R=0,F=new Array(_),j=new Array(_),W=+d.apply(this,arguments),ee=Math.min(oX,Math.max(-oX,p.apply(this,arguments)-W)),ie,oe=Math.min(Math.abs(ee)/_,v.apply(this,arguments)),be=oe*(ee<0?-1:1),ge;for(T=0;T<_;++T)(ge=j[F[T]=T]=+i(y[T],T,y))>0&&(R+=ge);for(s!=null?F.sort(function(ae,ne){return s(j[ae],j[ne])}):u!=null&&F.sort(function(ae,ne){return u(y[ae],y[ne])}),T=0,P=R?(ee-_*be)/R:0;T<_;++T,W=ie)A=F[T],ge=j[A],ie=W+(ge>0?ge*P:0)+be,j[A]={data:y[A],index:T,value:ge,startAngle:W,endAngle:ie,padAngle:oe};return j}return b.value=function(y){return arguments.length?(i=typeof y=="function"?y:Kf(+y),b):i},b.sortValues=function(y){return arguments.length?(s=y,u=null,b):s},b.sort=function(y){return arguments.length?(u=y,s=null,b):u},b.startAngle=function(y){return arguments.length?(d=typeof y=="function"?y:Kf(+y),b):d},b.endAngle=function(y){return arguments.length?(p=typeof y=="function"?y:Kf(+y),b):p},b.padAngle=function(y){return arguments.length?(v=typeof y=="function"?y:Kf(+y),b):v},b}class KFe{constructor(s,u){this._context=s,this._x=u}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(s,u){switch(s=+s,u=+u,this._point){case 0:{this._point=1,this._line?this._context.lineTo(s,u):this._context.moveTo(s,u);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+s)/2,this._y0,this._x0,u,s,u):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+u)/2,s,this._y0,s,u);break}}this._x0=s,this._y0=u}}function MNt(i){return new KFe(i,!0)}function DNt(i){return new KFe(i,!1)}function b9(){}function uX(i,s,u){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+s)/6,(i._y0+4*i._y1+u)/6)}function lX(i){this._context=i}lX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:uX(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);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:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function BF(i){return new lX(i)}function WFe(i){this._context=i}WFe.prototype={areaStart:b9,areaEnd:b9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x2=i,this._y2=s;break;case 1:this._point=2,this._x3=i,this._y3=s;break;case 2:this._point=3,this._x4=i,this._y4=s,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+s)/6);break;default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function INt(i){return new WFe(i)}function YFe(i){this._context=i}YFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var u=(this._x0+4*this._x1+i)/6,d=(this._y0+4*this._y1+s)/6;this._line?this._context.lineTo(u,d):this._context.moveTo(u,d);break;case 3:this._point=4;default:uX(this,i,s);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s}};function ONt(i){return new YFe(i)}function XFe(i,s){this._basis=new lX(i),this._beta=s}XFe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,s=this._y,u=i.length-1;if(u>0)for(var d=i[0],p=s[0],v=i[u]-d,b=s[u]-p,y=-1,T;++y<=u;)T=y/u,this._basis.point(this._beta*i[y]+(1-this._beta)*(d+T*v),this._beta*s[y]+(1-this._beta)*(p+T*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,s){this._x.push(+i),this._y.push(+s)}};const NNt=function i(s){function u(d){return s===1?new lX(d):new XFe(d,s)}return u.beta=function(d){return i(+d)},u}(.85);function hX(i,s,u){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-s),i._y2+i._k*(i._y1-u),i._x2,i._y2)}function Jpe(i,s){this._context=i,this._k=(1-s)/6}Jpe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:hX(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2,this._x1=i,this._y1=s;break;case 2:this._point=3;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const PNt=function i(s){function u(d){return new Jpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function Zpe(i,s){this._context=i,this._k=(1-s)/6}Zpe.prototype={areaStart:b9,areaEnd:b9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const BNt=function i(s){function u(d){return new Zpe(d,s)}return u.tension=function(d){return i(+d)},u}(0);function e2e(i,s){this._context=i,this._k=(1-s)/6}e2e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){switch(i=+i,s=+s,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:hX(this,i,s);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const FNt=function i(s){function u(d){return new e2e(d,s)}return u.tension=function(d){return i(+d)},u}(0);function t2e(i,s,u){var d=i._x1,p=i._y1,v=i._x2,b=i._y2;if(i._l01_a>Dg){var y=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,T=3*i._l01_a*(i._l01_a+i._l12_a);d=(d*y-i._x0*i._l12_2a+i._x2*i._l01_2a)/T,p=(p*y-i._y0*i._l12_2a+i._y2*i._l01_2a)/T}if(i._l23_a>Dg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,A=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-s*i._l12_2a)/A,b=(b*_+i._y1*i._l23_2a-u*i._l12_2a)/A}i._context.bezierCurveTo(d,p,v,b,i._x2,i._y2)}function QFe(i,s){this._context=i,this._alpha=s}QFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3;default:t2e(this,i,s);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const RNt=function i(s){function u(d){return s?new QFe(d,s):new Jpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function JFe(i,s){this._context=i,this._alpha=s}JFe.prototype={areaStart:b9,areaEnd:b9,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=s;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=s);break;case 2:this._point=3,this._x5=i,this._y5=s;break;default:t2e(this,i,s);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const jNt=function i(s){function u(d){return s?new JFe(d,s):new Zpe(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function ZFe(i,s){this._context=i,this._alpha=s}ZFe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){if(i=+i,s=+s,this._point){var u=this._x2-i,d=this._y2-s;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,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:t2e(this,i,s);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=i,this._y0=this._y1,this._y1=this._y2,this._y2=s}};const $Nt=function i(s){function u(d){return s?new ZFe(d,s):new e2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function eRe(i){this._context=i}eRe.prototype={areaStart:b9,areaEnd:b9,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,s){i=+i,s=+s,this._point?this._context.lineTo(i,s):(this._point=1,this._context.moveTo(i,s))}};function zNt(i){return new eRe(i)}function tRe(i){return i<0?-1:1}function nRe(i,s,u){var d=i._x1-i._x0,p=s-i._x1,v=(i._y1-i._y0)/(d||p<0&&-0),b=(u-i._y1)/(p||d<0&&-0),y=(v*p+b*d)/(d+p);return(tRe(v)+tRe(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(y))||0}function rRe(i,s){var u=i._x1-i._x0;return u?(3*(i._y1-i._y0)/u-s)/2:s}function n2e(i,s,u){var d=i._x0,p=i._y0,v=i._x1,b=i._y1,y=(v-d)/3;i._context.bezierCurveTo(d+y,p+y*s,v-y,b-y*u,v,b)}function fX(i){this._context=i}fX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:n2e(this,this._t0,rRe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,s){var u=NaN;if(i=+i,s=+s,!(i===this._x1&&s===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;break;case 2:this._point=3,n2e(this,rRe(this,u=nRe(this,i,s)),u);break;default:n2e(this,this._t0,u=nRe(this,i,s));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=s,this._t0=u}}};function iRe(i){this._context=new sRe(i)}(iRe.prototype=Object.create(fX.prototype)).point=function(i,s){fX.prototype.point.call(this,s,i)};function sRe(i){this._context=i}sRe.prototype={moveTo:function(i,s){this._context.moveTo(s,i)},closePath:function(){this._context.closePath()},lineTo:function(i,s){this._context.lineTo(s,i)},bezierCurveTo:function(i,s,u,d,p,v){this._context.bezierCurveTo(s,i,d,u,v,p)}};function qNt(i){return new fX(i)}function HNt(i){return new iRe(i)}function aRe(i){this._context=i}aRe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,s=this._y,u=i.length;if(u)if(this._line?this._context.lineTo(i[0],s[0]):this._context.moveTo(i[0],s[0]),u===2)this._context.lineTo(i[1],s[1]);else for(var d=oRe(i),p=oRe(s),v=0,b=1;b=0;--s)p[s]=(b[s]-p[s+1])/v[s];for(v[u-1]=(i[u]+p[u-1])/2,s=0;s=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,s){switch(i=+i,s=+s,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,s):this._context.moveTo(i,s);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,s),this._context.lineTo(i,s);else{var u=this._x*(1-this._t)+i*this._t;this._context.lineTo(u,this._y),this._context.lineTo(u,s)}break}}this._x=i,this._y=s}};function UNt(i){return new dX(i,.5)}function GNt(i){return new dX(i,0)}function KNt(i){return new dX(i,1)}function FF(i,s,u){this.k=i,this.x=s,this.y=u}FF.prototype={constructor:FF,scale:function(i){return i===1?this:new FF(this.k*i,this.x,this.y)},translate:function(i,s){return i===0&s===0?this:new FF(this.k,this.x+this.k*i,this.y+this.k*s)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},FF.prototype;/*! @license DOMPurify 3.2.4 | (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.4/LICENSE */const{entries:cRe,setPrototypeOf:uRe,isFrozen:WNt,getPrototypeOf:YNt,getOwnPropertyDescriptor:XNt}=Object;let{freeze:kp,seal:Mv,create:lRe}=Object,{apply:r2e,construct:i2e}=typeof Reflect<"u"&&Reflect;kp||(kp=function(s){return s}),Mv||(Mv=function(s){return s}),r2e||(r2e=function(s,u,d){return s.apply(u,d)}),i2e||(i2e=function(s,u){return new s(...u)});const gX=Tp(Array.prototype.forEach),QNt=Tp(Array.prototype.lastIndexOf),hRe=Tp(Array.prototype.pop),RF=Tp(Array.prototype.push),JNt=Tp(Array.prototype.splice),pX=Tp(String.prototype.toLowerCase),s2e=Tp(String.prototype.toString),fRe=Tp(String.prototype.match),jF=Tp(String.prototype.replace),ZNt=Tp(String.prototype.indexOf),ePt=Tp(String.prototype.trim),I3=Tp(Object.prototype.hasOwnProperty),Ep=Tp(RegExp.prototype.test),$F=tPt(TypeError);function Tp(i){return function(s){for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p2&&arguments[2]!==void 0?arguments[2]:pX;uRe&&uRe(i,null);let d=s.length;for(;d--;){let p=s[d];if(typeof p=="string"){const v=u(p);v!==p&&(WNt(s)||(s[d]=v),p=v)}i[p]=!0}return i}function nPt(i){for(let s=0;s/gm),oPt=Mv(/\$\{[\w\W]*/gm),cPt=Mv(/^data-[\-\w.\u00B7-\uFFFF]+$/),uPt=Mv(/^aria-[\-\w]+$/),mRe=Mv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),lPt=Mv(/^(?:\w+script|data):/i),hPt=Mv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),vRe=Mv(/^html$/i),fPt=Mv(/^[a-z][.\w]*(-[.\w]+)+$/i);var wRe=Object.freeze({__proto__:null,ARIA_ATTR:uPt,ATTR_WHITESPACE:hPt,CUSTOM_ELEMENT:fPt,DATA_ATTR:cPt,DOCTYPE_NAME:vRe,ERB_EXPR:aPt,IS_ALLOWED_URI:mRe,IS_SCRIPT_OR_DATA:lPt,MUSTACHE_EXPR:sPt,TMPLIT_EXPR:oPt});const qF={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},dPt=function(){return typeof window>"u"?null:window},gPt=function(s,u){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let d=null;const p="data-tt-policy-suffix";u&&u.hasAttribute(p)&&(d=u.getAttribute(p));const v="dompurify"+(d?"#"+d:"");try{return s.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}},yRe=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function xRe(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:dPt();const s=bs=>xRe(bs);if(s.version="3.2.4",s.removed=[],!i||!i.document||i.document.nodeType!==qF.document||!i.Element)return s.isSupported=!1,s;let{document:u}=i;const d=u,p=d.currentScript,{DocumentFragment:v,HTMLTemplateElement:b,Node:y,Element:T,NodeFilter:_,NamedNodeMap:A=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:P,DOMParser:R,trustedTypes:F}=i,j=T.prototype,W=zF(j,"cloneNode"),ee=zF(j,"remove"),ie=zF(j,"nextSibling"),oe=zF(j,"childNodes"),be=zF(j,"parentNode");if(typeof b=="function"){const bs=u.createElement("template");bs.content&&bs.content.ownerDocument&&(u=bs.content.ownerDocument)}let ge,ae="";const{implementation:ne,createNodeIterator:se,createDocumentFragment:de,getElementsByTagName:X}=u,{importNode:pe}=d;let G=yRe();s.isSupported=typeof cRe=="function"&&typeof be=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:xe,ERB_EXPR:U,TMPLIT_EXPR:Be,DATA_ATTR:Ne,ARIA_ATTR:je,IS_SCRIPT_OR_DATA:Ie,ATTR_WHITESPACE:Se,CUSTOM_ELEMENT:Ce}=wRe;let{IS_ALLOWED_URI:ke}=wRe,Ke=null;const Ft=Cc({},[...dRe,...a2e,...o2e,...c2e,...gRe]);let Pe=null;const gn=Cc({},[...pRe,...u2e,...bRe,...bX]);let kt=Object.seal(lRe(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}})),Et=null,Gt=null,ln=!0,xt=!0,Pt=!1,Ze=!0,At=!1,Tt=!0,On=!1,ht=!1,zr=!1,yt=!1,Fi=!1,yi=!1,Ba=!0,na=!1;const Ro="user-content-";let _r=!0,Nn=!1,$n={},qn=null;const Lt=Cc({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let wt=null;const cn=Cc({},["audio","video","img","source","image","track"]);let fn=null;const Mn=Cc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),mo="http://www.w3.org/1998/Math/MathML",Io="http://www.w3.org/2000/svg",Xa="http://www.w3.org/1999/xhtml";let ua=Xa,Oo=!1,Ts=null;const nl=Cc({},[mo,Io,Xa],s2e);let Zo=Cc({},["mi","mo","mn","ms","mtext"]),id=Cc({},["annotation-xml"]);const gm=Cc({},["title","style","font","a","script"]);let qu=null;const lu=["application/xhtml+xml","text/html"],Xc="text/html";let Cs=null,Bc=null;const Ma=u.createElement("form"),No=function(pn){return pn instanceof RegExp||pn instanceof Function},vc=function(){let pn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Bc&&Bc===pn)){if((!pn||typeof pn!="object")&&(pn={}),pn=EC(pn),qu=lu.indexOf(pn.PARSER_MEDIA_TYPE)===-1?Xc:pn.PARSER_MEDIA_TYPE,Cs=qu==="application/xhtml+xml"?s2e:pX,Ke=I3(pn,"ALLOWED_TAGS")?Cc({},pn.ALLOWED_TAGS,Cs):Ft,Pe=I3(pn,"ALLOWED_ATTR")?Cc({},pn.ALLOWED_ATTR,Cs):gn,Ts=I3(pn,"ALLOWED_NAMESPACES")?Cc({},pn.ALLOWED_NAMESPACES,s2e):nl,fn=I3(pn,"ADD_URI_SAFE_ATTR")?Cc(EC(Mn),pn.ADD_URI_SAFE_ATTR,Cs):Mn,wt=I3(pn,"ADD_DATA_URI_TAGS")?Cc(EC(cn),pn.ADD_DATA_URI_TAGS,Cs):cn,qn=I3(pn,"FORBID_CONTENTS")?Cc({},pn.FORBID_CONTENTS,Cs):Lt,Et=I3(pn,"FORBID_TAGS")?Cc({},pn.FORBID_TAGS,Cs):{},Gt=I3(pn,"FORBID_ATTR")?Cc({},pn.FORBID_ATTR,Cs):{},$n=I3(pn,"USE_PROFILES")?pn.USE_PROFILES:!1,ln=pn.ALLOW_ARIA_ATTR!==!1,xt=pn.ALLOW_DATA_ATTR!==!1,Pt=pn.ALLOW_UNKNOWN_PROTOCOLS||!1,Ze=pn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,At=pn.SAFE_FOR_TEMPLATES||!1,Tt=pn.SAFE_FOR_XML!==!1,On=pn.WHOLE_DOCUMENT||!1,yt=pn.RETURN_DOM||!1,Fi=pn.RETURN_DOM_FRAGMENT||!1,yi=pn.RETURN_TRUSTED_TYPE||!1,zr=pn.FORCE_BODY||!1,Ba=pn.SANITIZE_DOM!==!1,na=pn.SANITIZE_NAMED_PROPS||!1,_r=pn.KEEP_CONTENT!==!1,Nn=pn.IN_PLACE||!1,ke=pn.ALLOWED_URI_REGEXP||mRe,ua=pn.NAMESPACE||Xa,Zo=pn.MATHML_TEXT_INTEGRATION_POINTS||Zo,id=pn.HTML_INTEGRATION_POINTS||id,kt=pn.CUSTOM_ELEMENT_HANDLING||{},pn.CUSTOM_ELEMENT_HANDLING&&No(pn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(kt.tagNameCheck=pn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),pn.CUSTOM_ELEMENT_HANDLING&&No(pn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(kt.attributeNameCheck=pn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),pn.CUSTOM_ELEMENT_HANDLING&&typeof pn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(kt.allowCustomizedBuiltInElements=pn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),At&&(xt=!1),Fi&&(yt=!0),$n&&(Ke=Cc({},gRe),Pe=[],$n.html===!0&&(Cc(Ke,dRe),Cc(Pe,pRe)),$n.svg===!0&&(Cc(Ke,a2e),Cc(Pe,u2e),Cc(Pe,bX)),$n.svgFilters===!0&&(Cc(Ke,o2e),Cc(Pe,u2e),Cc(Pe,bX)),$n.mathMl===!0&&(Cc(Ke,c2e),Cc(Pe,bRe),Cc(Pe,bX))),pn.ADD_TAGS&&(Ke===Ft&&(Ke=EC(Ke)),Cc(Ke,pn.ADD_TAGS,Cs)),pn.ADD_ATTR&&(Pe===gn&&(Pe=EC(Pe)),Cc(Pe,pn.ADD_ATTR,Cs)),pn.ADD_URI_SAFE_ATTR&&Cc(fn,pn.ADD_URI_SAFE_ATTR,Cs),pn.FORBID_CONTENTS&&(qn===Lt&&(qn=EC(qn)),Cc(qn,pn.FORBID_CONTENTS,Cs)),_r&&(Ke["#text"]=!0),On&&Cc(Ke,["html","head","body"]),Ke.table&&(Cc(Ke,["tbody"]),delete Et.tbody),pn.TRUSTED_TYPES_POLICY){if(typeof pn.TRUSTED_TYPES_POLICY.createHTML!="function")throw $F('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof pn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw $F('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ge=pn.TRUSTED_TYPES_POLICY,ae=ge.createHTML("")}else ge===void 0&&(ge=gPt(F,p)),ge!==null&&typeof ae=="string"&&(ae=ge.createHTML(""));kp&&kp(pn),Bc=pn}},Qa=Cc({},[...a2e,...o2e,...rPt]),ja=Cc({},[...c2e,...iPt]),ka=function(pn){let Zr=be(pn);(!Zr||!Zr.tagName)&&(Zr={namespaceURI:ua,tagName:"template"});const ss=pX(pn.tagName),hu=pX(Zr.tagName);return Ts[pn.namespaceURI]?pn.namespaceURI===Io?Zr.namespaceURI===Xa?ss==="svg":Zr.namespaceURI===mo?ss==="svg"&&(hu==="annotation-xml"||Zo[hu]):!!Qa[ss]:pn.namespaceURI===mo?Zr.namespaceURI===Xa?ss==="math":Zr.namespaceURI===Io?ss==="math"&&id[hu]:!!ja[ss]:pn.namespaceURI===Xa?Zr.namespaceURI===Io&&!id[hu]||Zr.namespaceURI===mo&&!Zo[hu]?!1:!ja[ss]&&(gm[ss]||!Qa[ss]):!!(qu==="application/xhtml+xml"&&Ts[pn.namespaceURI]):!1},wu=function(pn){RF(s.removed,{element:pn});try{be(pn).removeChild(pn)}catch{ee(pn)}},Fc=function(pn,Zr){try{RF(s.removed,{attribute:Zr.getAttributeNode(pn),from:Zr})}catch{RF(s.removed,{attribute:null,from:Zr})}if(Zr.removeAttribute(pn),pn==="is")if(yt||Fi)try{wu(Zr)}catch{}else try{Zr.setAttribute(pn,"")}catch{}},a5=function(pn){let Zr=null,ss=null;if(zr)pn=" "+pn;else{const yu=fRe(pn,/^[\r\n\t ]+/);ss=yu&&yu[0]}qu==="application/xhtml+xml"&&ua===Xa&&(pn=''+pn+"");const hu=ge?ge.createHTML(pn):pn;if(ua===Xa)try{Zr=new R().parseFromString(hu,qu)}catch{}if(!Zr||!Zr.documentElement){Zr=ne.createDocument(ua,"template",null);try{Zr.documentElement.innerHTML=Oo?ae:hu}catch{}}const pl=Zr.body||Zr.documentElement;return pn&&ss&&pl.insertBefore(u.createTextNode(ss),pl.childNodes[0]||null),ua===Xa?X.call(Zr,On?"html":"body")[0]:On?Zr.documentElement:pl},jg=function(pn){return se.call(pn.ownerDocument||pn,pn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},b1=function(pn){return pn instanceof P&&(typeof pn.nodeName!="string"||typeof pn.textContent!="string"||typeof pn.removeChild!="function"||!(pn.attributes instanceof A)||typeof pn.removeAttribute!="function"||typeof pn.setAttribute!="function"||typeof pn.namespaceURI!="string"||typeof pn.insertBefore!="function"||typeof pn.hasChildNodes!="function")},Hd=function(pn){return typeof y=="function"&&pn instanceof y};function ch(bs,pn,Zr){gX(bs,ss=>{ss.call(s,pn,Zr,Bc)})}const Vd=function(pn){let Zr=null;if(ch(G.beforeSanitizeElements,pn,null),b1(pn))return wu(pn),!0;const ss=Cs(pn.nodeName);if(ch(G.uponSanitizeElement,pn,{tagName:ss,allowedTags:Ke}),pn.hasChildNodes()&&!Hd(pn.firstElementChild)&&Ep(/<[/\w]/g,pn.innerHTML)&&Ep(/<[/\w]/g,pn.textContent)||pn.nodeType===qF.progressingInstruction||Tt&&pn.nodeType===qF.comment&&Ep(/<[/\w]/g,pn.data))return wu(pn),!0;if(!Ke[ss]||Et[ss]){if(!Et[ss]&&Gd(ss)&&(kt.tagNameCheck instanceof RegExp&&Ep(kt.tagNameCheck,ss)||kt.tagNameCheck instanceof Function&&kt.tagNameCheck(ss)))return!1;if(_r&&!qn[ss]){const hu=be(pn)||pn.parentNode,pl=oe(pn)||pn.childNodes;if(pl&&hu){const yu=pl.length;for(let Wi=yu-1;Wi>=0;--Wi){const ls=W(pl[Wi],!0);ls.__removalCount=(pn.__removalCount||0)+1,hu.insertBefore(ls,ie(pn))}}}return wu(pn),!0}return pn instanceof T&&!ka(pn)||(ss==="noscript"||ss==="noembed"||ss==="noframes")&&Ep(/<\/no(script|embed|frames)/i,pn.innerHTML)?(wu(pn),!0):(At&&pn.nodeType===qF.text&&(Zr=pn.textContent,gX([xe,U,Be],hu=>{Zr=jF(Zr,hu," ")}),pn.textContent!==Zr&&(RF(s.removed,{element:pn.cloneNode()}),pn.textContent=Zr)),ch(G.afterSanitizeElements,pn,null),!1)},Ud=function(pn,Zr,ss){if(Ba&&(Zr==="id"||Zr==="name")&&(ss in u||ss in Ma))return!1;if(!(xt&&!Gt[Zr]&&Ep(Ne,Zr))){if(!(ln&&Ep(je,Zr))){if(!Pe[Zr]||Gt[Zr]){if(!(Gd(pn)&&(kt.tagNameCheck instanceof RegExp&&Ep(kt.tagNameCheck,pn)||kt.tagNameCheck instanceof Function&&kt.tagNameCheck(pn))&&(kt.attributeNameCheck instanceof RegExp&&Ep(kt.attributeNameCheck,Zr)||kt.attributeNameCheck instanceof Function&&kt.attributeNameCheck(Zr))||Zr==="is"&&kt.allowCustomizedBuiltInElements&&(kt.tagNameCheck instanceof RegExp&&Ep(kt.tagNameCheck,ss)||kt.tagNameCheck instanceof Function&&kt.tagNameCheck(ss))))return!1}else if(!fn[Zr]){if(!Ep(ke,jF(ss,Se,""))){if(!((Zr==="src"||Zr==="xlink:href"||Zr==="href")&&pn!=="script"&&ZNt(ss,"data:")===0&&wt[pn])){if(!(Pt&&!Ep(Ie,jF(ss,Se,"")))){if(ss)return!1}}}}}}return!0},Gd=function(pn){return pn!=="annotation-xml"&&fRe(pn,Ce)},sd=function(pn){ch(G.beforeSanitizeAttributes,pn,null);const{attributes:Zr}=pn;if(!Zr||b1(pn))return;const ss={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Pe,forceKeepAttr:void 0};let hu=Zr.length;for(;hu--;){const pl=Zr[hu],{name:yu,namespaceURI:Wi,value:ls}=pl,Da=Cs(yu);let ui=yu==="value"?ls:ePt(ls);if(ss.attrName=Da,ss.attrValue=ui,ss.keepAttr=!0,ss.forceKeepAttr=void 0,ch(G.uponSanitizeAttribute,pn,ss),ui=ss.attrValue,na&&(Da==="id"||Da==="name")&&(Fc(yu,pn),ui=Ro+ui),Tt&&Ep(/((--!?|])>)|<\/(style|title)/i,ui)){Fc(yu,pn);continue}if(ss.forceKeepAttr||(Fc(yu,pn),!ss.keepAttr))continue;if(!Ze&&Ep(/\/>/i,ui)){Fc(yu,pn);continue}At&&gX([xe,U,Be],Ot=>{ui=jF(ui,Ot," ")});const nu=Cs(pn.nodeName);if(Ud(nu,Da,ui)){if(ge&&typeof F=="object"&&typeof F.getAttributeType=="function"&&!Wi)switch(F.getAttributeType(nu,Da)){case"TrustedHTML":{ui=ge.createHTML(ui);break}case"TrustedScriptURL":{ui=ge.createScriptURL(ui);break}}try{Wi?pn.setAttributeNS(Wi,yu,ui):pn.setAttribute(yu,ui),b1(pn)?wu(pn):hRe(s.removed)}catch{}}}ch(G.afterSanitizeAttributes,pn,null)},F0=function bs(pn){let Zr=null;const ss=jg(pn);for(ch(G.beforeSanitizeShadowDOM,pn,null);Zr=ss.nextNode();)ch(G.uponSanitizeShadowNode,Zr,null),Vd(Zr),sd(Zr),Zr.content instanceof v&&bs(Zr.content);ch(G.afterSanitizeShadowDOM,pn,null)};return s.sanitize=function(bs){let pn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Zr=null,ss=null,hu=null,pl=null;if(Oo=!bs,Oo&&(bs=""),typeof bs!="string"&&!Hd(bs))if(typeof bs.toString=="function"){if(bs=bs.toString(),typeof bs!="string")throw $F("dirty is not a string, aborting")}else throw $F("toString is not a function");if(!s.isSupported)return bs;if(ht||vc(pn),s.removed=[],typeof bs=="string"&&(Nn=!1),Nn){if(bs.nodeName){const ls=Cs(bs.nodeName);if(!Ke[ls]||Et[ls])throw $F("root node is forbidden and cannot be sanitized in-place")}}else if(bs instanceof y)Zr=a5(""),ss=Zr.ownerDocument.importNode(bs,!0),ss.nodeType===qF.element&&ss.nodeName==="BODY"||ss.nodeName==="HTML"?Zr=ss:Zr.appendChild(ss);else{if(!yt&&!At&&!On&&bs.indexOf("<")===-1)return ge&&yi?ge.createHTML(bs):bs;if(Zr=a5(bs),!Zr)return yt?null:yi?ae:""}Zr&&zr&&wu(Zr.firstChild);const yu=jg(Nn?bs:Zr);for(;hu=yu.nextNode();)Vd(hu),sd(hu),hu.content instanceof v&&F0(hu.content);if(Nn)return bs;if(yt){if(Fi)for(pl=de.call(Zr.ownerDocument);Zr.firstChild;)pl.appendChild(Zr.firstChild);else pl=Zr;return(Pe.shadowroot||Pe.shadowrootmode)&&(pl=pe.call(d,pl,!0)),pl}let Wi=On?Zr.outerHTML:Zr.innerHTML;return On&&Ke["!doctype"]&&Zr.ownerDocument&&Zr.ownerDocument.doctype&&Zr.ownerDocument.doctype.name&&Ep(vRe,Zr.ownerDocument.doctype.name)&&(Wi="
-`+Wi),At&&gX([xe,U,Be],ls=>{Wi=jF(Wi,ls," ")}),ge&&yi?ge.createHTML(Wi):Wi},s.setConfig=function(){let bs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};vc(bs),ht=!0},s.clearConfig=function(){Bc=null,ht=!1},s.isValidAttribute=function(bs,pn,Zr){Bc||vc({});const ss=Cs(bs),hu=Cs(pn);return Ud(ss,hu,Zr)},s.addHook=function(bs,pn){typeof pn=="function"&&RF(G[bs],pn)},s.removeHook=function(bs,pn){if(pn!==void 0){const Zr=QNt(G[bs],pn);return Zr===-1?void 0:JNt(G[bs],Zr,1)[0]}return hRe(G[bs])},s.removeHooks=function(bs){G[bs]=[]},s.removeAllHooks=function(){G=yRe()},s}var lD=xRe();const hD=/
/gi,pPt=i=>i?TRe(i).replace(/\\n/g,"#br#").split("#br#"):[""],bPt=(()=>{let i=!1;return()=>{i||(mPt(),i=!0)}})();function mPt(){const i="data-temp-href-target";lD.addHook("beforeSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute("target")&&s.setAttribute(i,s.getAttribute("target")??"")}),lD.addHook("afterSanitizeAttributes",s=>{s.tagName==="A"&&s.hasAttribute(i)&&(s.setAttribute("target",s.getAttribute(i)??""),s.removeAttribute(i),s.getAttribute("target")==="_blank"&&s.setAttribute("rel","noopener"))})}const kRe=i=>(bPt(),lD.sanitize(i)),ERe=(i,s)=>{var u;if(((u=s.flowchart)==null?void 0:u.htmlLabels)!==!1){const d=s.securityLevel;d==="antiscript"||d==="strict"?i=kRe(i):d!=="loose"&&(i=TRe(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=xPt(i))}return i},yh=(i,s)=>i&&(s.dompurifyConfig?i=lD.sanitize(ERe(i,s),s.dompurifyConfig).toString():i=lD.sanitize(ERe(i,s),{FORBID_TAGS:["style"]}).toString(),i),vPt=(i,s)=>typeof i=="string"?yh(i,s):i.flat().map(u=>yh(u,s)),wPt=i=>hD.test(i),yPt=i=>i.split(hD),xPt=i=>i.replace(/#br#/g,"
"),TRe=i=>i.replace(hD,"#br#"),kPt=i=>{let s="";return i&&(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,s=s.replaceAll(/\(/g,"\\("),s=s.replaceAll(/\)/g,"\\)")),s},u1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),EPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.max(...s)},TPt=function(...i){const s=i.filter(u=>!isNaN(u));return Math.min(...s)},HF=function(i){const s=i.split(/(,)/),u=[];for(let d=0;d0&&d+1Math.max(0,i.split(s).length-1),CPt=(i,s)=>{const u=l2e(i,"~"),d=l2e(s,"~");return u===1&&d===1},SPt=i=>{const s=l2e(i,"~");let u=!1;if(s<=1)return i;s%2!==0&&i.startsWith("~")&&(i=i.substring(1),u=!0);const d=[...i];let p=d.indexOf("~"),v=d.lastIndexOf("~");for(;p!==-1&&v!==-1&&p!==v;)d[p]="<",d[v]=">",p=d.indexOf("~"),v=d.lastIndexOf("~");return u&&d.unshift("~"),d.join("")},CRe=()=>window.MathMLElement!==void 0,h2e=/\$\$(.*)\$\$/g,Dv=i=>{var s;return(((s=i.match(h2e))==null?void 0:s.length)??0)>0},VF=async(i,s)=>{const u=document.createElement("div");u.innerHTML=await TC(i,s),u.id="katex-temp",u.style.visibility="hidden",u.style.position="absolute",u.style.top="0";const d=document.querySelector("body");d==null||d.insertAdjacentElement("beforeend",u);const p={width:u.clientWidth,height:u.clientHeight};return u.remove(),p},_Pt=async(i,s)=>{if(!Dv(i))return i;if(!CRe()&&!s.legacyMathML)return i.replace(h2e,"MathML is unsupported in this environment.");const{default:u}=await Promise.resolve().then(()=>BVt);return i.split(hD).map(d=>Dv(d)?`
+(function (QM, _g) {
+ typeof exports == 'object' && typeof module < 'u'
+ ? (module.exports = _g())
+ : typeof define == 'function' && define.amd
+ ? define(_g)
+ : ((QM = typeof globalThis < 'u' ? globalThis : QM || self), (QM.mermaid = _g()));
+})(this, function () {
+ var $We, zWe;
+ ('use strict');
+ function QM(i) {
+ for (var s = [], u = 1; u < arguments.length; u++) s[u - 1] = arguments[u];
+ var d = Array.from(typeof i == 'string' ? [i] : i);
+ d[d.length - 1] = d[d.length - 1].replace(/\r?\n([\t ]*)$/, '');
+ var p = d.reduce(function (y, T) {
+ var _ = T.match(/\n([\t ]+|(?!\s).)/g);
+ return _
+ ? y.concat(
+ _.map(function (A) {
+ var P, R;
+ return (R = (P = A.match(/[\t ]/g)) === null || P === void 0 ? void 0 : P.length) !==
+ null && R !== void 0
+ ? R
+ : 0;
+ }),
+ )
+ : y;
+ }, []);
+ if (p.length) {
+ var v = new RegExp(
+ `
+[ ]{` +
+ Math.min.apply(Math, p) +
+ '}',
+ 'g',
+ );
+ d = d.map(function (y) {
+ return y.replace(
+ v,
+ `
+`,
+ );
+ });
+ }
+ d[0] = d[0].replace(/^\r?\n/, '');
+ var b = d[0];
+ return (
+ s.forEach(function (y, T) {
+ var _ = b.match(/(?:^|\n)( *)$/),
+ A = _ ? _[1] : '',
+ P = y;
+ (typeof y == 'string' &&
+ y.includes(`
+`) &&
+ (P = String(y)
+ .split(
+ `
+`,
+ )
+ .map(function (R, F) {
+ return F === 0 ? R : '' + A + R;
+ }).join(`
+`)),
+ (b += P + d[T + 1]));
+ }),
+ b
+ );
+ }
+ var _g =
+ typeof globalThis < 'u'
+ ? globalThis
+ : typeof window < 'u'
+ ? window
+ : typeof global < 'u'
+ ? global
+ : typeof self < 'u'
+ ? self
+ : {};
+ function lC(i) {
+ return i && i.__esModule && Object.prototype.hasOwnProperty.call(i, 'default') ? i.default : i;
+ }
+ var oBe = { exports: {} };
+ (function (i, s) {
+ (function (u, d) {
+ i.exports = d();
+ })(_g, function () {
+ var u = 1e3,
+ d = 6e4,
+ p = 36e5,
+ v = 'millisecond',
+ b = 'second',
+ y = 'minute',
+ T = 'hour',
+ _ = 'day',
+ A = 'week',
+ P = 'month',
+ R = 'quarter',
+ F = 'year',
+ j = 'date',
+ W = 'Invalid Date',
+ ee =
+ /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,
+ ie = /\[([^\]]+)]|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,
+ oe = {
+ name: 'en',
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ months:
+ 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
+ '_',
+ ),
+ ordinal: function (Be) {
+ var Ne = ['th', 'st', 'nd', 'rd'],
+ je = Be % 100;
+ return '[' + Be + (Ne[(je - 20) % 10] || Ne[je] || Ne[0]) + ']';
+ },
+ },
+ be = function (Be, Ne, je) {
+ var Ie = String(Be);
+ return !Ie || Ie.length >= Ne ? Be : '' + Array(Ne + 1 - Ie.length).join(je) + Be;
+ },
+ ge = {
+ s: be,
+ z: function (Be) {
+ var Ne = -Be.utcOffset(),
+ je = Math.abs(Ne),
+ Ie = Math.floor(je / 60),
+ Se = je % 60;
+ return (Ne <= 0 ? '+' : '-') + be(Ie, 2, '0') + ':' + be(Se, 2, '0');
+ },
+ m: function Be(Ne, je) {
+ if (Ne.date() < je.date()) return -Be(je, Ne);
+ var Ie = 12 * (je.year() - Ne.year()) + (je.month() - Ne.month()),
+ Se = Ne.clone().add(Ie, P),
+ Ce = je - Se < 0,
+ ke = Ne.clone().add(Ie + (Ce ? -1 : 1), P);
+ return +(-(Ie + (je - Se) / (Ce ? Se - ke : ke - Se)) || 0);
+ },
+ a: function (Be) {
+ return Be < 0 ? Math.ceil(Be) || 0 : Math.floor(Be);
+ },
+ p: function (Be) {
+ return (
+ { M: P, y: F, w: A, d: _, D: j, h: T, m: y, s: b, ms: v, Q: R }[Be] ||
+ String(Be || '')
+ .toLowerCase()
+ .replace(/s$/, '')
+ );
+ },
+ u: function (Be) {
+ return Be === void 0;
+ },
+ },
+ ae = 'en',
+ ne = {};
+ ne[ae] = oe;
+ var se = '$isDayjsObject',
+ de = function (Be) {
+ return Be instanceof xe || !(!Be || !Be[se]);
+ },
+ X = function Be(Ne, je, Ie) {
+ var Se;
+ if (!Ne) return ae;
+ if (typeof Ne == 'string') {
+ var Ce = Ne.toLowerCase();
+ (ne[Ce] && (Se = Ce), je && ((ne[Ce] = je), (Se = Ce)));
+ var ke = Ne.split('-');
+ if (!Se && ke.length > 1) return Be(ke[0]);
+ } else {
+ var Ke = Ne.name;
+ ((ne[Ke] = Ne), (Se = Ke));
+ }
+ return (!Ie && Se && (ae = Se), Se || (!Ie && ae));
+ },
+ pe = function (Be, Ne) {
+ if (de(Be)) return Be.clone();
+ var je = typeof Ne == 'object' ? Ne : {};
+ return ((je.date = Be), (je.args = arguments), new xe(je));
+ },
+ G = ge;
+ ((G.l = X),
+ (G.i = de),
+ (G.w = function (Be, Ne) {
+ return pe(Be, { locale: Ne.$L, utc: Ne.$u, x: Ne.$x, $offset: Ne.$offset });
+ }));
+ var xe = (function () {
+ function Be(je) {
+ ((this.$L = X(je.locale, null, !0)),
+ this.parse(je),
+ (this.$x = this.$x || je.x || {}),
+ (this[se] = !0));
+ }
+ var Ne = Be.prototype;
+ return (
+ (Ne.parse = function (je) {
+ ((this.$d = (function (Ie) {
+ var Se = Ie.date,
+ Ce = Ie.utc;
+ if (Se === null) return new Date(NaN);
+ if (G.u(Se)) return new Date();
+ if (Se instanceof Date) return new Date(Se);
+ if (typeof Se == 'string' && !/Z$/i.test(Se)) {
+ var ke = Se.match(ee);
+ if (ke) {
+ var Ke = ke[2] - 1 || 0,
+ Ft = (ke[7] || '0').substring(0, 3);
+ return Ce
+ ? new Date(
+ Date.UTC(ke[1], Ke, ke[3] || 1, ke[4] || 0, ke[5] || 0, ke[6] || 0, Ft),
+ )
+ : new Date(ke[1], Ke, ke[3] || 1, ke[4] || 0, ke[5] || 0, ke[6] || 0, Ft);
+ }
+ }
+ return new Date(Se);
+ })(je)),
+ this.init());
+ }),
+ (Ne.init = function () {
+ var je = this.$d;
+ ((this.$y = je.getFullYear()),
+ (this.$M = je.getMonth()),
+ (this.$D = je.getDate()),
+ (this.$W = je.getDay()),
+ (this.$H = je.getHours()),
+ (this.$m = je.getMinutes()),
+ (this.$s = je.getSeconds()),
+ (this.$ms = je.getMilliseconds()));
+ }),
+ (Ne.$utils = function () {
+ return G;
+ }),
+ (Ne.isValid = function () {
+ return this.$d.toString() !== W;
+ }),
+ (Ne.isSame = function (je, Ie) {
+ var Se = pe(je);
+ return this.startOf(Ie) <= Se && Se <= this.endOf(Ie);
+ }),
+ (Ne.isAfter = function (je, Ie) {
+ return pe(je) < this.startOf(Ie);
+ }),
+ (Ne.isBefore = function (je, Ie) {
+ return this.endOf(Ie) < pe(je);
+ }),
+ (Ne.$g = function (je, Ie, Se) {
+ return G.u(je) ? this[Ie] : this.set(Se, je);
+ }),
+ (Ne.unix = function () {
+ return Math.floor(this.valueOf() / 1e3);
+ }),
+ (Ne.valueOf = function () {
+ return this.$d.getTime();
+ }),
+ (Ne.startOf = function (je, Ie) {
+ var Se = this,
+ Ce = !!G.u(Ie) || Ie,
+ ke = G.p(je),
+ Ke = function (xt, Pt) {
+ var Ze = G.w(Se.$u ? Date.UTC(Se.$y, Pt, xt) : new Date(Se.$y, Pt, xt), Se);
+ return Ce ? Ze : Ze.endOf(_);
+ },
+ Ft = function (xt, Pt) {
+ return G.w(
+ Se.toDate()[xt].apply(
+ Se.toDate('s'),
+ (Ce ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(Pt),
+ ),
+ Se,
+ );
+ },
+ Pe = this.$W,
+ gn = this.$M,
+ kt = this.$D,
+ Et = 'set' + (this.$u ? 'UTC' : '');
+ switch (ke) {
+ case F:
+ return Ce ? Ke(1, 0) : Ke(31, 11);
+ case P:
+ return Ce ? Ke(1, gn) : Ke(0, gn + 1);
+ case A:
+ var Gt = this.$locale().weekStart || 0,
+ ln = (Pe < Gt ? Pe + 7 : Pe) - Gt;
+ return Ke(Ce ? kt - ln : kt + (6 - ln), gn);
+ case _:
+ case j:
+ return Ft(Et + 'Hours', 0);
+ case T:
+ return Ft(Et + 'Minutes', 1);
+ case y:
+ return Ft(Et + 'Seconds', 2);
+ case b:
+ return Ft(Et + 'Milliseconds', 3);
+ default:
+ return this.clone();
+ }
+ }),
+ (Ne.endOf = function (je) {
+ return this.startOf(je, !1);
+ }),
+ (Ne.$set = function (je, Ie) {
+ var Se,
+ Ce = G.p(je),
+ ke = 'set' + (this.$u ? 'UTC' : ''),
+ Ke = ((Se = {}),
+ (Se[_] = ke + 'Date'),
+ (Se[j] = ke + 'Date'),
+ (Se[P] = ke + 'Month'),
+ (Se[F] = ke + 'FullYear'),
+ (Se[T] = ke + 'Hours'),
+ (Se[y] = ke + 'Minutes'),
+ (Se[b] = ke + 'Seconds'),
+ (Se[v] = ke + 'Milliseconds'),
+ Se)[Ce],
+ Ft = Ce === _ ? this.$D + (Ie - this.$W) : Ie;
+ if (Ce === P || Ce === F) {
+ var Pe = this.clone().set(j, 1);
+ (Pe.$d[Ke](Ft),
+ Pe.init(),
+ (this.$d = Pe.set(j, Math.min(this.$D, Pe.daysInMonth())).$d));
+ } else Ke && this.$d[Ke](Ft);
+ return (this.init(), this);
+ }),
+ (Ne.set = function (je, Ie) {
+ return this.clone().$set(je, Ie);
+ }),
+ (Ne.get = function (je) {
+ return this[G.p(je)]();
+ }),
+ (Ne.add = function (je, Ie) {
+ var Se,
+ Ce = this;
+ je = Number(je);
+ var ke = G.p(Ie),
+ Ke = function (gn) {
+ var kt = pe(Ce);
+ return G.w(kt.date(kt.date() + Math.round(gn * je)), Ce);
+ };
+ if (ke === P) return this.set(P, this.$M + je);
+ if (ke === F) return this.set(F, this.$y + je);
+ if (ke === _) return Ke(1);
+ if (ke === A) return Ke(7);
+ var Ft = ((Se = {}), (Se[y] = d), (Se[T] = p), (Se[b] = u), Se)[ke] || 1,
+ Pe = this.$d.getTime() + je * Ft;
+ return G.w(Pe, this);
+ }),
+ (Ne.subtract = function (je, Ie) {
+ return this.add(-1 * je, Ie);
+ }),
+ (Ne.format = function (je) {
+ var Ie = this,
+ Se = this.$locale();
+ if (!this.isValid()) return Se.invalidDate || W;
+ var Ce = je || 'YYYY-MM-DDTHH:mm:ssZ',
+ ke = G.z(this),
+ Ke = this.$H,
+ Ft = this.$m,
+ Pe = this.$M,
+ gn = Se.weekdays,
+ kt = Se.months,
+ Et = Se.meridiem,
+ Gt = function (Pt, Ze, At, Tt) {
+ return (Pt && (Pt[Ze] || Pt(Ie, Ce))) || At[Ze].slice(0, Tt);
+ },
+ ln = function (Pt) {
+ return G.s(Ke % 12 || 12, Pt, '0');
+ },
+ xt =
+ Et ||
+ function (Pt, Ze, At) {
+ var Tt = Pt < 12 ? 'AM' : 'PM';
+ return At ? Tt.toLowerCase() : Tt;
+ };
+ return Ce.replace(ie, function (Pt, Ze) {
+ return (
+ Ze ||
+ (function (At) {
+ switch (At) {
+ case 'YY':
+ return String(Ie.$y).slice(-2);
+ case 'YYYY':
+ return G.s(Ie.$y, 4, '0');
+ case 'M':
+ return Pe + 1;
+ case 'MM':
+ return G.s(Pe + 1, 2, '0');
+ case 'MMM':
+ return Gt(Se.monthsShort, Pe, kt, 3);
+ case 'MMMM':
+ return Gt(kt, Pe);
+ case 'D':
+ return Ie.$D;
+ case 'DD':
+ return G.s(Ie.$D, 2, '0');
+ case 'd':
+ return String(Ie.$W);
+ case 'dd':
+ return Gt(Se.weekdaysMin, Ie.$W, gn, 2);
+ case 'ddd':
+ return Gt(Se.weekdaysShort, Ie.$W, gn, 3);
+ case 'dddd':
+ return gn[Ie.$W];
+ case 'H':
+ return String(Ke);
+ case 'HH':
+ return G.s(Ke, 2, '0');
+ case 'h':
+ return ln(1);
+ case 'hh':
+ return ln(2);
+ case 'a':
+ return xt(Ke, Ft, !0);
+ case 'A':
+ return xt(Ke, Ft, !1);
+ case 'm':
+ return String(Ft);
+ case 'mm':
+ return G.s(Ft, 2, '0');
+ case 's':
+ return String(Ie.$s);
+ case 'ss':
+ return G.s(Ie.$s, 2, '0');
+ case 'SSS':
+ return G.s(Ie.$ms, 3, '0');
+ case 'Z':
+ return ke;
+ }
+ return null;
+ })(Pt) ||
+ ke.replace(':', '')
+ );
+ });
+ }),
+ (Ne.utcOffset = function () {
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
+ }),
+ (Ne.diff = function (je, Ie, Se) {
+ var Ce,
+ ke = this,
+ Ke = G.p(Ie),
+ Ft = pe(je),
+ Pe = (Ft.utcOffset() - this.utcOffset()) * d,
+ gn = this - Ft,
+ kt = function () {
+ return G.m(ke, Ft);
+ };
+ switch (Ke) {
+ case F:
+ Ce = kt() / 12;
+ break;
+ case P:
+ Ce = kt();
+ break;
+ case R:
+ Ce = kt() / 3;
+ break;
+ case A:
+ Ce = (gn - Pe) / 6048e5;
+ break;
+ case _:
+ Ce = (gn - Pe) / 864e5;
+ break;
+ case T:
+ Ce = gn / p;
+ break;
+ case y:
+ Ce = gn / d;
+ break;
+ case b:
+ Ce = gn / u;
+ break;
+ default:
+ Ce = gn;
+ }
+ return Se ? Ce : G.a(Ce);
+ }),
+ (Ne.daysInMonth = function () {
+ return this.endOf(P).$D;
+ }),
+ (Ne.$locale = function () {
+ return ne[this.$L];
+ }),
+ (Ne.locale = function (je, Ie) {
+ if (!je) return this.$L;
+ var Se = this.clone(),
+ Ce = X(je, Ie, !0);
+ return (Ce && (Se.$L = Ce), Se);
+ }),
+ (Ne.clone = function () {
+ return G.w(this.$d, this);
+ }),
+ (Ne.toDate = function () {
+ return new Date(this.valueOf());
+ }),
+ (Ne.toJSON = function () {
+ return this.isValid() ? this.toISOString() : null;
+ }),
+ (Ne.toISOString = function () {
+ return this.$d.toISOString();
+ }),
+ (Ne.toString = function () {
+ return this.$d.toUTCString();
+ }),
+ Be
+ );
+ })(),
+ U = xe.prototype;
+ return (
+ (pe.prototype = U),
+ [
+ ['$ms', v],
+ ['$s', b],
+ ['$m', y],
+ ['$H', T],
+ ['$W', _],
+ ['$M', P],
+ ['$y', F],
+ ['$D', j],
+ ].forEach(function (Be) {
+ U[Be[1]] = function (Ne) {
+ return this.$g(Ne, Be[0], Be[1]);
+ };
+ }),
+ (pe.extend = function (Be, Ne) {
+ return (Be.$i || (Be(Ne, xe, pe), (Be.$i = !0)), pe);
+ }),
+ (pe.locale = X),
+ (pe.isDayjs = de),
+ (pe.unix = function (Be) {
+ return pe(1e3 * Be);
+ }),
+ (pe.en = ne[ae]),
+ (pe.Ls = ne),
+ (pe.p = {}),
+ pe
+ );
+ });
+ })(oBe);
+ var FAt = oBe.exports;
+ const Ag = lC(FAt),
+ d7 = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 },
+ Xe = {
+ trace: (...i) => {},
+ debug: (...i) => {},
+ info: (...i) => {},
+ warn: (...i) => {},
+ error: (...i) => {},
+ fatal: (...i) => {},
+ },
+ fpe = function (i = 'fatal') {
+ let s = d7.fatal;
+ (typeof i == 'string'
+ ? ((i = i.toLowerCase()), i in d7 && (s = d7[i]))
+ : typeof i == 'number' && (s = i),
+ (Xe.trace = () => {}),
+ (Xe.debug = () => {}),
+ (Xe.info = () => {}),
+ (Xe.warn = () => {}),
+ (Xe.error = () => {}),
+ (Xe.fatal = () => {}),
+ s <= d7.fatal &&
+ (Xe.fatal = console.error
+ ? console.error.bind(console, Av('FATAL'), 'color: orange')
+ : console.log.bind(console, '\x1B[35m', Av('FATAL'))),
+ s <= d7.error &&
+ (Xe.error = console.error
+ ? console.error.bind(console, Av('ERROR'), 'color: orange')
+ : console.log.bind(console, '\x1B[31m', Av('ERROR'))),
+ s <= d7.warn &&
+ (Xe.warn = console.warn
+ ? console.warn.bind(console, Av('WARN'), 'color: orange')
+ : console.log.bind(console, '\x1B[33m', Av('WARN'))),
+ s <= d7.info &&
+ (Xe.info = console.info
+ ? console.info.bind(console, Av('INFO'), 'color: lightblue')
+ : console.log.bind(console, '\x1B[34m', Av('INFO'))),
+ s <= d7.debug &&
+ (Xe.debug = console.debug
+ ? console.debug.bind(console, Av('DEBUG'), 'color: lightgreen')
+ : console.log.bind(console, '\x1B[32m', Av('DEBUG'))),
+ s <= d7.trace &&
+ (Xe.trace = console.debug
+ ? console.debug.bind(console, Av('TRACE'), 'color: lightgreen')
+ : console.log.bind(console, '\x1B[32m', Av('TRACE'))));
+ },
+ Av = (i) => `%c${Ag().format('ss.SSS')} : ${i} : `;
+ var g9 = {};
+ (function (i) {
+ (Object.defineProperty(i, '__esModule', { value: !0 }), (i.sanitizeUrl = i.BLANK_URL = void 0));
+ var s = /^([^\w]*)(javascript|data|vbscript)/im,
+ u = /(\w+)(^\w|;)?/g,
+ d = /&(newline|tab);/gi,
+ p = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,
+ v = /^.+(:|:)/gim,
+ b = ['.', '/'];
+ i.BLANK_URL = 'about:blank';
+ function y(A) {
+ return b.indexOf(A[0]) > -1;
+ }
+ function T(A) {
+ var P = A.replace(p, '');
+ return P.replace(u, function (R, F) {
+ return String.fromCharCode(F);
+ });
+ }
+ function _(A) {
+ if (!A) return i.BLANK_URL;
+ var P = T(A).replace(d, '').replace(p, '').trim();
+ if (!P) return i.BLANK_URL;
+ if (y(P)) return P;
+ var R = P.match(v);
+ if (!R) return P;
+ var F = R[0];
+ return s.test(F) ? i.BLANK_URL : P;
+ }
+ i.sanitizeUrl = _;
+ })(g9);
+ function DY(i, s) {
+ return i == null || s == null ? NaN : i < s ? -1 : i > s ? 1 : i >= s ? 0 : NaN;
+ }
+ function RAt(i, s) {
+ return i == null || s == null ? NaN : s < i ? -1 : s > i ? 1 : s >= i ? 0 : NaN;
+ }
+ function dpe(i) {
+ let s, u, d;
+ i.length !== 2
+ ? ((s = DY), (u = (y, T) => DY(i(y), T)), (d = (y, T) => i(y) - T))
+ : ((s = i === DY || i === RAt ? i : jAt), (u = i), (d = i));
+ function p(y, T, _ = 0, A = y.length) {
+ if (_ < A) {
+ if (s(T, T) !== 0) return A;
+ do {
+ const P = (_ + A) >>> 1;
+ u(y[P], T) < 0 ? (_ = P + 1) : (A = P);
+ } while (_ < A);
+ }
+ return _;
+ }
+ function v(y, T, _ = 0, A = y.length) {
+ if (_ < A) {
+ if (s(T, T) !== 0) return A;
+ do {
+ const P = (_ + A) >>> 1;
+ u(y[P], T) <= 0 ? (_ = P + 1) : (A = P);
+ } while (_ < A);
+ }
+ return _;
+ }
+ function b(y, T, _ = 0, A = y.length) {
+ const P = p(y, T, _, A - 1);
+ return P > _ && d(y[P - 1], T) > -d(y[P], T) ? P - 1 : P;
+ }
+ return { left: p, center: b, right: v };
+ }
+ function jAt() {
+ return 0;
+ }
+ function $At(i) {
+ return i === null ? NaN : +i;
+ }
+ const zAt = dpe(DY).right;
+ dpe($At).center;
+ const qAt = zAt;
+ class cBe extends Map {
+ constructor(s, u = UAt) {
+ if (
+ (super(),
+ Object.defineProperties(this, { _intern: { value: new Map() }, _key: { value: u } }),
+ s != null)
+ )
+ for (const [d, p] of s) this.set(d, p);
+ }
+ get(s) {
+ return super.get(uBe(this, s));
+ }
+ has(s) {
+ return super.has(uBe(this, s));
+ }
+ set(s, u) {
+ return super.set(HAt(this, s), u);
+ }
+ delete(s) {
+ return super.delete(VAt(this, s));
+ }
+ }
+ function uBe({ _intern: i, _key: s }, u) {
+ const d = s(u);
+ return i.has(d) ? i.get(d) : u;
+ }
+ function HAt({ _intern: i, _key: s }, u) {
+ const d = s(u);
+ return i.has(d) ? i.get(d) : (i.set(d, u), u);
+ }
+ function VAt({ _intern: i, _key: s }, u) {
+ const d = s(u);
+ return (i.has(d) && ((u = i.get(d)), i.delete(d)), u);
+ }
+ function UAt(i) {
+ return i !== null && typeof i == 'object' ? i.valueOf() : i;
+ }
+ const GAt = Math.sqrt(50),
+ KAt = Math.sqrt(10),
+ WAt = Math.sqrt(2);
+ function IY(i, s, u) {
+ const d = (s - i) / Math.max(0, u),
+ p = Math.floor(Math.log10(d)),
+ v = d / Math.pow(10, p),
+ b = v >= GAt ? 10 : v >= KAt ? 5 : v >= WAt ? 2 : 1;
+ let y, T, _;
+ return (
+ p < 0
+ ? ((_ = Math.pow(10, -p) / b),
+ (y = Math.round(i * _)),
+ (T = Math.round(s * _)),
+ y / _ < i && ++y,
+ T / _ > s && --T,
+ (_ = -_))
+ : ((_ = Math.pow(10, p) * b),
+ (y = Math.round(i / _)),
+ (T = Math.round(s / _)),
+ y * _ < i && ++y,
+ T * _ > s && --T),
+ T < y && 0.5 <= u && u < 2 ? IY(i, s, u * 2) : [y, T, _]
+ );
+ }
+ function YAt(i, s, u) {
+ if (((s = +s), (i = +i), (u = +u), !(u > 0))) return [];
+ if (i === s) return [i];
+ const d = s < i,
+ [p, v, b] = d ? IY(s, i, u) : IY(i, s, u);
+ if (!(v >= p)) return [];
+ const y = v - p + 1,
+ T = new Array(y);
+ if (d)
+ if (b < 0) for (let _ = 0; _ < y; ++_) T[_] = (v - _) / -b;
+ else for (let _ = 0; _ < y; ++_) T[_] = (v - _) * b;
+ else if (b < 0) for (let _ = 0; _ < y; ++_) T[_] = (p + _) / -b;
+ else for (let _ = 0; _ < y; ++_) T[_] = (p + _) * b;
+ return T;
+ }
+ function gpe(i, s, u) {
+ return ((s = +s), (i = +i), (u = +u), IY(i, s, u)[2]);
+ }
+ function ppe(i, s, u) {
+ ((s = +s), (i = +i), (u = +u));
+ const d = s < i,
+ p = d ? gpe(s, i, u) : gpe(i, s, u);
+ return (d ? -1 : 1) * (p < 0 ? 1 / -p : p);
+ }
+ function XAt(i, s) {
+ let u;
+ if (s === void 0)
+ for (const d of i) d != null && (u < d || (u === void 0 && d >= d)) && (u = d);
+ else {
+ let d = -1;
+ for (let p of i) (p = s(p, ++d, i)) != null && (u < p || (u === void 0 && p >= p)) && (u = p);
+ }
+ return u;
+ }
+ function QAt(i, s) {
+ let u;
+ if (s === void 0)
+ for (const d of i) d != null && (u > d || (u === void 0 && d >= d)) && (u = d);
+ else {
+ let d = -1;
+ for (let p of i) (p = s(p, ++d, i)) != null && (u > p || (u === void 0 && p >= p)) && (u = p);
+ }
+ return u;
+ }
+ function JAt(i, s, u) {
+ ((i = +i), (s = +s), (u = (p = arguments.length) < 2 ? ((s = i), (i = 0), 1) : p < 3 ? 1 : +u));
+ for (var d = -1, p = Math.max(0, Math.ceil((s - i) / u)) | 0, v = new Array(p); ++d < p; )
+ v[d] = i + d * u;
+ return v;
+ }
+ function ZAt(i) {
+ return i;
+ }
+ var OY = 1,
+ bpe = 2,
+ mpe = 3,
+ NY = 4,
+ lBe = 1e-6;
+ function eLt(i) {
+ return 'translate(' + i + ',0)';
+ }
+ function tLt(i) {
+ return 'translate(0,' + i + ')';
+ }
+ function nLt(i) {
+ return (s) => +i(s);
+ }
+ function rLt(i, s) {
+ return (
+ (s = Math.max(0, i.bandwidth() - s * 2) / 2),
+ i.round() && (s = Math.round(s)),
+ (u) => +i(u) + s
+ );
+ }
+ function iLt() {
+ return !this.__axis;
+ }
+ function hBe(i, s) {
+ var u = [],
+ d = null,
+ p = null,
+ v = 6,
+ b = 6,
+ y = 3,
+ T = typeof window < 'u' && window.devicePixelRatio > 1 ? 0 : 0.5,
+ _ = i === OY || i === NY ? -1 : 1,
+ A = i === NY || i === bpe ? 'x' : 'y',
+ P = i === OY || i === mpe ? eLt : tLt;
+ function R(F) {
+ var j = d ?? (s.ticks ? s.ticks.apply(s, u) : s.domain()),
+ W = p ?? (s.tickFormat ? s.tickFormat.apply(s, u) : ZAt),
+ ee = Math.max(v, 0) + y,
+ ie = s.range(),
+ oe = +ie[0] + T,
+ be = +ie[ie.length - 1] + T,
+ ge = (s.bandwidth ? rLt : nLt)(s.copy(), T),
+ ae = F.selection ? F.selection() : F,
+ ne = ae.selectAll('.domain').data([null]),
+ se = ae.selectAll('.tick').data(j, s).order(),
+ de = se.exit(),
+ X = se.enter().append('g').attr('class', 'tick'),
+ pe = se.select('line'),
+ G = se.select('text');
+ ((ne = ne.merge(
+ ne.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'),
+ )),
+ (se = se.merge(X)),
+ (pe = pe.merge(
+ X.append('line')
+ .attr('stroke', 'currentColor')
+ .attr(A + '2', _ * v),
+ )),
+ (G = G.merge(
+ X.append('text')
+ .attr('fill', 'currentColor')
+ .attr(A, _ * ee)
+ .attr('dy', i === OY ? '0em' : i === mpe ? '0.71em' : '0.32em'),
+ )),
+ F !== ae &&
+ ((ne = ne.transition(F)),
+ (se = se.transition(F)),
+ (pe = pe.transition(F)),
+ (G = G.transition(F)),
+ (de = de
+ .transition(F)
+ .attr('opacity', lBe)
+ .attr('transform', function (xe) {
+ return isFinite((xe = ge(xe))) ? P(xe + T) : this.getAttribute('transform');
+ })),
+ X.attr('opacity', lBe).attr('transform', function (xe) {
+ var U = this.parentNode.__axis;
+ return P((U && isFinite((U = U(xe))) ? U : ge(xe)) + T);
+ })),
+ de.remove(),
+ ne.attr(
+ 'd',
+ i === NY || i === bpe
+ ? b
+ ? 'M' + _ * b + ',' + oe + 'H' + T + 'V' + be + 'H' + _ * b
+ : 'M' + T + ',' + oe + 'V' + be
+ : b
+ ? 'M' + oe + ',' + _ * b + 'V' + T + 'H' + be + 'V' + _ * b
+ : 'M' + oe + ',' + T + 'H' + be,
+ ),
+ se.attr('opacity', 1).attr('transform', function (xe) {
+ return P(ge(xe) + T);
+ }),
+ pe.attr(A + '2', _ * v),
+ G.attr(A, _ * ee).text(W),
+ ae
+ .filter(iLt)
+ .attr('fill', 'none')
+ .attr('font-size', 10)
+ .attr('font-family', 'sans-serif')
+ .attr('text-anchor', i === bpe ? 'start' : i === NY ? 'end' : 'middle'),
+ ae.each(function () {
+ this.__axis = ge;
+ }));
+ }
+ return (
+ (R.scale = function (F) {
+ return arguments.length ? ((s = F), R) : s;
+ }),
+ (R.ticks = function () {
+ return ((u = Array.from(arguments)), R);
+ }),
+ (R.tickArguments = function (F) {
+ return arguments.length ? ((u = F == null ? [] : Array.from(F)), R) : u.slice();
+ }),
+ (R.tickValues = function (F) {
+ return arguments.length ? ((d = F == null ? null : Array.from(F)), R) : d && d.slice();
+ }),
+ (R.tickFormat = function (F) {
+ return arguments.length ? ((p = F), R) : p;
+ }),
+ (R.tickSize = function (F) {
+ return arguments.length ? ((v = b = +F), R) : v;
+ }),
+ (R.tickSizeInner = function (F) {
+ return arguments.length ? ((v = +F), R) : v;
+ }),
+ (R.tickSizeOuter = function (F) {
+ return arguments.length ? ((b = +F), R) : b;
+ }),
+ (R.tickPadding = function (F) {
+ return arguments.length ? ((y = +F), R) : y;
+ }),
+ (R.offset = function (F) {
+ return arguments.length ? ((T = +F), R) : T;
+ }),
+ R
+ );
+ }
+ function sLt(i) {
+ return hBe(OY, i);
+ }
+ function aLt(i) {
+ return hBe(mpe, i);
+ }
+ var oLt = { value: () => {} };
+ function fBe() {
+ for (var i = 0, s = arguments.length, u = {}, d; i < s; ++i) {
+ if (!(d = arguments[i] + '') || d in u || /[\s.]/.test(d))
+ throw new Error('illegal type: ' + d);
+ u[d] = [];
+ }
+ return new PY(u);
+ }
+ function PY(i) {
+ this._ = i;
+ }
+ function cLt(i, s) {
+ return i
+ .trim()
+ .split(/^|\s+/)
+ .map(function (u) {
+ var d = '',
+ p = u.indexOf('.');
+ if ((p >= 0 && ((d = u.slice(p + 1)), (u = u.slice(0, p))), u && !s.hasOwnProperty(u)))
+ throw new Error('unknown type: ' + u);
+ return { type: u, name: d };
+ });
+ }
+ PY.prototype = fBe.prototype = {
+ constructor: PY,
+ on: function (i, s) {
+ var u = this._,
+ d = cLt(i + '', u),
+ p,
+ v = -1,
+ b = d.length;
+ if (arguments.length < 2) {
+ for (; ++v < b; ) if ((p = (i = d[v]).type) && (p = uLt(u[p], i.name))) return p;
+ return;
+ }
+ if (s != null && typeof s != 'function') throw new Error('invalid callback: ' + s);
+ for (; ++v < b; )
+ if ((p = (i = d[v]).type)) u[p] = dBe(u[p], i.name, s);
+ else if (s == null) for (p in u) u[p] = dBe(u[p], i.name, null);
+ return this;
+ },
+ copy: function () {
+ var i = {},
+ s = this._;
+ for (var u in s) i[u] = s[u].slice();
+ return new PY(i);
+ },
+ call: function (i, s) {
+ if ((p = arguments.length - 2) > 0)
+ for (var u = new Array(p), d = 0, p, v; d < p; ++d) u[d] = arguments[d + 2];
+ if (!this._.hasOwnProperty(i)) throw new Error('unknown type: ' + i);
+ for (v = this._[i], d = 0, p = v.length; d < p; ++d) v[d].value.apply(s, u);
+ },
+ apply: function (i, s, u) {
+ if (!this._.hasOwnProperty(i)) throw new Error('unknown type: ' + i);
+ for (var d = this._[i], p = 0, v = d.length; p < v; ++p) d[p].value.apply(s, u);
+ },
+ };
+ function uLt(i, s) {
+ for (var u = 0, d = i.length, p; u < d; ++u) if ((p = i[u]).name === s) return p.value;
+ }
+ function dBe(i, s, u) {
+ for (var d = 0, p = i.length; d < p; ++d)
+ if (i[d].name === s) {
+ ((i[d] = oLt), (i = i.slice(0, d).concat(i.slice(d + 1))));
+ break;
+ }
+ return (u != null && i.push({ name: s, value: u }), i);
+ }
+ var vpe = 'http://www.w3.org/1999/xhtml';
+ const gBe = {
+ svg: 'http://www.w3.org/2000/svg',
+ xhtml: vpe,
+ xlink: 'http://www.w3.org/1999/xlink',
+ xml: 'http://www.w3.org/XML/1998/namespace',
+ xmlns: 'http://www.w3.org/2000/xmlns/',
+ };
+ function BY(i) {
+ var s = (i += ''),
+ u = s.indexOf(':');
+ return (
+ u >= 0 && (s = i.slice(0, u)) !== 'xmlns' && (i = i.slice(u + 1)),
+ gBe.hasOwnProperty(s) ? { space: gBe[s], local: i } : i
+ );
+ }
+ function lLt(i) {
+ return function () {
+ var s = this.ownerDocument,
+ u = this.namespaceURI;
+ return u === vpe && s.documentElement.namespaceURI === vpe
+ ? s.createElement(i)
+ : s.createElementNS(u, i);
+ };
+ }
+ function hLt(i) {
+ return function () {
+ return this.ownerDocument.createElementNS(i.space, i.local);
+ };
+ }
+ function pBe(i) {
+ var s = BY(i);
+ return (s.local ? hLt : lLt)(s);
+ }
+ function fLt() {}
+ function wpe(i) {
+ return i == null
+ ? fLt
+ : function () {
+ return this.querySelector(i);
+ };
+ }
+ function dLt(i) {
+ typeof i != 'function' && (i = wpe(i));
+ for (var s = this._groups, u = s.length, d = new Array(u), p = 0; p < u; ++p)
+ for (var v = s[p], b = v.length, y = (d[p] = new Array(b)), T, _, A = 0; A < b; ++A)
+ (T = v[A]) &&
+ (_ = i.call(T, T.__data__, A, v)) &&
+ ('__data__' in T && (_.__data__ = T.__data__), (y[A] = _));
+ return new yp(d, this._parents);
+ }
+ function bBe(i) {
+ return i == null ? [] : Array.isArray(i) ? i : Array.from(i);
+ }
+ function gLt() {
+ return [];
+ }
+ function mBe(i) {
+ return i == null
+ ? gLt
+ : function () {
+ return this.querySelectorAll(i);
+ };
+ }
+ function pLt(i) {
+ return function () {
+ return bBe(i.apply(this, arguments));
+ };
+ }
+ function bLt(i) {
+ typeof i == 'function' ? (i = pLt(i)) : (i = mBe(i));
+ for (var s = this._groups, u = s.length, d = [], p = [], v = 0; v < u; ++v)
+ for (var b = s[v], y = b.length, T, _ = 0; _ < y; ++_)
+ (T = b[_]) && (d.push(i.call(T, T.__data__, _, b)), p.push(T));
+ return new yp(d, p);
+ }
+ function vBe(i) {
+ return function () {
+ return this.matches(i);
+ };
+ }
+ function wBe(i) {
+ return function (s) {
+ return s.matches(i);
+ };
+ }
+ var mLt = Array.prototype.find;
+ function vLt(i) {
+ return function () {
+ return mLt.call(this.children, i);
+ };
+ }
+ function wLt() {
+ return this.firstElementChild;
+ }
+ function yLt(i) {
+ return this.select(i == null ? wLt : vLt(typeof i == 'function' ? i : wBe(i)));
+ }
+ var xLt = Array.prototype.filter;
+ function kLt() {
+ return Array.from(this.children);
+ }
+ function ELt(i) {
+ return function () {
+ return xLt.call(this.children, i);
+ };
+ }
+ function TLt(i) {
+ return this.selectAll(i == null ? kLt : ELt(typeof i == 'function' ? i : wBe(i)));
+ }
+ function CLt(i) {
+ typeof i != 'function' && (i = vBe(i));
+ for (var s = this._groups, u = s.length, d = new Array(u), p = 0; p < u; ++p)
+ for (var v = s[p], b = v.length, y = (d[p] = []), T, _ = 0; _ < b; ++_)
+ (T = v[_]) && i.call(T, T.__data__, _, v) && y.push(T);
+ return new yp(d, this._parents);
+ }
+ function yBe(i) {
+ return new Array(i.length);
+ }
+ function SLt() {
+ return new yp(this._enter || this._groups.map(yBe), this._parents);
+ }
+ function FY(i, s) {
+ ((this.ownerDocument = i.ownerDocument),
+ (this.namespaceURI = i.namespaceURI),
+ (this._next = null),
+ (this._parent = i),
+ (this.__data__ = s));
+ }
+ FY.prototype = {
+ constructor: FY,
+ appendChild: function (i) {
+ return this._parent.insertBefore(i, this._next);
+ },
+ insertBefore: function (i, s) {
+ return this._parent.insertBefore(i, s);
+ },
+ querySelector: function (i) {
+ return this._parent.querySelector(i);
+ },
+ querySelectorAll: function (i) {
+ return this._parent.querySelectorAll(i);
+ },
+ };
+ function _Lt(i) {
+ return function () {
+ return i;
+ };
+ }
+ function ALt(i, s, u, d, p, v) {
+ for (var b = 0, y, T = s.length, _ = v.length; b < _; ++b)
+ (y = s[b]) ? ((y.__data__ = v[b]), (d[b] = y)) : (u[b] = new FY(i, v[b]));
+ for (; b < T; ++b) (y = s[b]) && (p[b] = y);
+ }
+ function LLt(i, s, u, d, p, v, b) {
+ var y,
+ T,
+ _ = new Map(),
+ A = s.length,
+ P = v.length,
+ R = new Array(A),
+ F;
+ for (y = 0; y < A; ++y)
+ (T = s[y]) &&
+ ((R[y] = F = b.call(T, T.__data__, y, s) + ''), _.has(F) ? (p[y] = T) : _.set(F, T));
+ for (y = 0; y < P; ++y)
+ ((F = b.call(i, v[y], y, v) + ''),
+ (T = _.get(F)) ? ((d[y] = T), (T.__data__ = v[y]), _.delete(F)) : (u[y] = new FY(i, v[y])));
+ for (y = 0; y < A; ++y) (T = s[y]) && _.get(R[y]) === T && (p[y] = T);
+ }
+ function MLt(i) {
+ return i.__data__;
+ }
+ function DLt(i, s) {
+ if (!arguments.length) return Array.from(this, MLt);
+ var u = s ? LLt : ALt,
+ d = this._parents,
+ p = this._groups;
+ typeof i != 'function' && (i = _Lt(i));
+ for (
+ var v = p.length, b = new Array(v), y = new Array(v), T = new Array(v), _ = 0;
+ _ < v;
+ ++_
+ ) {
+ var A = d[_],
+ P = p[_],
+ R = P.length,
+ F = ILt(i.call(A, A && A.__data__, _, d)),
+ j = F.length,
+ W = (y[_] = new Array(j)),
+ ee = (b[_] = new Array(j)),
+ ie = (T[_] = new Array(R));
+ u(A, P, W, ee, ie, F, s);
+ for (var oe = 0, be = 0, ge, ae; oe < j; ++oe)
+ if ((ge = W[oe])) {
+ for (oe >= be && (be = oe + 1); !(ae = ee[be]) && ++be < j; );
+ ge._next = ae || null;
+ }
+ }
+ return ((b = new yp(b, d)), (b._enter = y), (b._exit = T), b);
+ }
+ function ILt(i) {
+ return typeof i == 'object' && 'length' in i ? i : Array.from(i);
+ }
+ function OLt() {
+ return new yp(this._exit || this._groups.map(yBe), this._parents);
+ }
+ function NLt(i, s, u) {
+ var d = this.enter(),
+ p = this,
+ v = this.exit();
+ return (
+ typeof i == 'function' ? ((d = i(d)), d && (d = d.selection())) : (d = d.append(i + '')),
+ s != null && ((p = s(p)), p && (p = p.selection())),
+ u == null ? v.remove() : u(v),
+ d && p ? d.merge(p).order() : p
+ );
+ }
+ function PLt(i) {
+ for (
+ var s = i.selection ? i.selection() : i,
+ u = this._groups,
+ d = s._groups,
+ p = u.length,
+ v = d.length,
+ b = Math.min(p, v),
+ y = new Array(p),
+ T = 0;
+ T < b;
+ ++T
+ )
+ for (var _ = u[T], A = d[T], P = _.length, R = (y[T] = new Array(P)), F, j = 0; j < P; ++j)
+ (F = _[j] || A[j]) && (R[j] = F);
+ for (; T < p; ++T) y[T] = u[T];
+ return new yp(y, this._parents);
+ }
+ function BLt() {
+ for (var i = this._groups, s = -1, u = i.length; ++s < u; )
+ for (var d = i[s], p = d.length - 1, v = d[p], b; --p >= 0; )
+ (b = d[p]) &&
+ (v && b.compareDocumentPosition(v) ^ 4 && v.parentNode.insertBefore(b, v), (v = b));
+ return this;
+ }
+ function FLt(i) {
+ i || (i = RLt);
+ function s(P, R) {
+ return P && R ? i(P.__data__, R.__data__) : !P - !R;
+ }
+ for (var u = this._groups, d = u.length, p = new Array(d), v = 0; v < d; ++v) {
+ for (var b = u[v], y = b.length, T = (p[v] = new Array(y)), _, A = 0; A < y; ++A)
+ (_ = b[A]) && (T[A] = _);
+ T.sort(s);
+ }
+ return new yp(p, this._parents).order();
+ }
+ function RLt(i, s) {
+ return i < s ? -1 : i > s ? 1 : i >= s ? 0 : NaN;
+ }
+ function jLt() {
+ var i = arguments[0];
+ return ((arguments[0] = this), i.apply(null, arguments), this);
+ }
+ function $Lt() {
+ return Array.from(this);
+ }
+ function zLt() {
+ for (var i = this._groups, s = 0, u = i.length; s < u; ++s)
+ for (var d = i[s], p = 0, v = d.length; p < v; ++p) {
+ var b = d[p];
+ if (b) return b;
+ }
+ return null;
+ }
+ function qLt() {
+ let i = 0;
+ for (const s of this) ++i;
+ return i;
+ }
+ function HLt() {
+ return !this.node();
+ }
+ function VLt(i) {
+ for (var s = this._groups, u = 0, d = s.length; u < d; ++u)
+ for (var p = s[u], v = 0, b = p.length, y; v < b; ++v)
+ (y = p[v]) && i.call(y, y.__data__, v, p);
+ return this;
+ }
+ function ULt(i) {
+ return function () {
+ this.removeAttribute(i);
+ };
+ }
+ function GLt(i) {
+ return function () {
+ this.removeAttributeNS(i.space, i.local);
+ };
+ }
+ function KLt(i, s) {
+ return function () {
+ this.setAttribute(i, s);
+ };
+ }
+ function WLt(i, s) {
+ return function () {
+ this.setAttributeNS(i.space, i.local, s);
+ };
+ }
+ function YLt(i, s) {
+ return function () {
+ var u = s.apply(this, arguments);
+ u == null ? this.removeAttribute(i) : this.setAttribute(i, u);
+ };
+ }
+ function XLt(i, s) {
+ return function () {
+ var u = s.apply(this, arguments);
+ u == null
+ ? this.removeAttributeNS(i.space, i.local)
+ : this.setAttributeNS(i.space, i.local, u);
+ };
+ }
+ function QLt(i, s) {
+ var u = BY(i);
+ if (arguments.length < 2) {
+ var d = this.node();
+ return u.local ? d.getAttributeNS(u.space, u.local) : d.getAttribute(u);
+ }
+ return this.each(
+ (s == null
+ ? u.local
+ ? GLt
+ : ULt
+ : typeof s == 'function'
+ ? u.local
+ ? XLt
+ : YLt
+ : u.local
+ ? WLt
+ : KLt)(u, s),
+ );
+ }
+ function xBe(i) {
+ return (i.ownerDocument && i.ownerDocument.defaultView) || (i.document && i) || i.defaultView;
+ }
+ function JLt(i) {
+ return function () {
+ this.style.removeProperty(i);
+ };
+ }
+ function ZLt(i, s, u) {
+ return function () {
+ this.style.setProperty(i, s, u);
+ };
+ }
+ function eMt(i, s, u) {
+ return function () {
+ var d = s.apply(this, arguments);
+ d == null ? this.style.removeProperty(i) : this.style.setProperty(i, d, u);
+ };
+ }
+ function tMt(i, s, u) {
+ return arguments.length > 1
+ ? this.each((s == null ? JLt : typeof s == 'function' ? eMt : ZLt)(i, s, u ?? ''))
+ : JM(this.node(), i);
+ }
+ function JM(i, s) {
+ return i.style.getPropertyValue(s) || xBe(i).getComputedStyle(i, null).getPropertyValue(s);
+ }
+ function nMt(i) {
+ return function () {
+ delete this[i];
+ };
+ }
+ function rMt(i, s) {
+ return function () {
+ this[i] = s;
+ };
+ }
+ function iMt(i, s) {
+ return function () {
+ var u = s.apply(this, arguments);
+ u == null ? delete this[i] : (this[i] = u);
+ };
+ }
+ function sMt(i, s) {
+ return arguments.length > 1
+ ? this.each((s == null ? nMt : typeof s == 'function' ? iMt : rMt)(i, s))
+ : this.node()[i];
+ }
+ function kBe(i) {
+ return i.trim().split(/^|\s+/);
+ }
+ function ype(i) {
+ return i.classList || new EBe(i);
+ }
+ function EBe(i) {
+ ((this._node = i), (this._names = kBe(i.getAttribute('class') || '')));
+ }
+ EBe.prototype = {
+ add: function (i) {
+ var s = this._names.indexOf(i);
+ s < 0 && (this._names.push(i), this._node.setAttribute('class', this._names.join(' ')));
+ },
+ remove: function (i) {
+ var s = this._names.indexOf(i);
+ s >= 0 && (this._names.splice(s, 1), this._node.setAttribute('class', this._names.join(' ')));
+ },
+ contains: function (i) {
+ return this._names.indexOf(i) >= 0;
+ },
+ };
+ function TBe(i, s) {
+ for (var u = ype(i), d = -1, p = s.length; ++d < p; ) u.add(s[d]);
+ }
+ function CBe(i, s) {
+ for (var u = ype(i), d = -1, p = s.length; ++d < p; ) u.remove(s[d]);
+ }
+ function aMt(i) {
+ return function () {
+ TBe(this, i);
+ };
+ }
+ function oMt(i) {
+ return function () {
+ CBe(this, i);
+ };
+ }
+ function cMt(i, s) {
+ return function () {
+ (s.apply(this, arguments) ? TBe : CBe)(this, i);
+ };
+ }
+ function uMt(i, s) {
+ var u = kBe(i + '');
+ if (arguments.length < 2) {
+ for (var d = ype(this.node()), p = -1, v = u.length; ++p < v; )
+ if (!d.contains(u[p])) return !1;
+ return !0;
+ }
+ return this.each((typeof s == 'function' ? cMt : s ? aMt : oMt)(u, s));
+ }
+ function lMt() {
+ this.textContent = '';
+ }
+ function hMt(i) {
+ return function () {
+ this.textContent = i;
+ };
+ }
+ function fMt(i) {
+ return function () {
+ var s = i.apply(this, arguments);
+ this.textContent = s ?? '';
+ };
+ }
+ function dMt(i) {
+ return arguments.length
+ ? this.each(i == null ? lMt : (typeof i == 'function' ? fMt : hMt)(i))
+ : this.node().textContent;
+ }
+ function gMt() {
+ this.innerHTML = '';
+ }
+ function pMt(i) {
+ return function () {
+ this.innerHTML = i;
+ };
+ }
+ function bMt(i) {
+ return function () {
+ var s = i.apply(this, arguments);
+ this.innerHTML = s ?? '';
+ };
+ }
+ function mMt(i) {
+ return arguments.length
+ ? this.each(i == null ? gMt : (typeof i == 'function' ? bMt : pMt)(i))
+ : this.node().innerHTML;
+ }
+ function vMt() {
+ this.nextSibling && this.parentNode.appendChild(this);
+ }
+ function wMt() {
+ return this.each(vMt);
+ }
+ function yMt() {
+ this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
+ }
+ function xMt() {
+ return this.each(yMt);
+ }
+ function kMt(i) {
+ var s = typeof i == 'function' ? i : pBe(i);
+ return this.select(function () {
+ return this.appendChild(s.apply(this, arguments));
+ });
+ }
+ function EMt() {
+ return null;
+ }
+ function TMt(i, s) {
+ var u = typeof i == 'function' ? i : pBe(i),
+ d = s == null ? EMt : typeof s == 'function' ? s : wpe(s);
+ return this.select(function () {
+ return this.insertBefore(u.apply(this, arguments), d.apply(this, arguments) || null);
+ });
+ }
+ function CMt() {
+ var i = this.parentNode;
+ i && i.removeChild(this);
+ }
+ function SMt() {
+ return this.each(CMt);
+ }
+ function _Mt() {
+ var i = this.cloneNode(!1),
+ s = this.parentNode;
+ return s ? s.insertBefore(i, this.nextSibling) : i;
+ }
+ function AMt() {
+ var i = this.cloneNode(!0),
+ s = this.parentNode;
+ return s ? s.insertBefore(i, this.nextSibling) : i;
+ }
+ function LMt(i) {
+ return this.select(i ? AMt : _Mt);
+ }
+ function MMt(i) {
+ return arguments.length ? this.property('__data__', i) : this.node().__data__;
+ }
+ function DMt(i) {
+ return function (s) {
+ i.call(this, s, this.__data__);
+ };
+ }
+ function IMt(i) {
+ return i
+ .trim()
+ .split(/^|\s+/)
+ .map(function (s) {
+ var u = '',
+ d = s.indexOf('.');
+ return (d >= 0 && ((u = s.slice(d + 1)), (s = s.slice(0, d))), { type: s, name: u });
+ });
+ }
+ function OMt(i) {
+ return function () {
+ var s = this.__on;
+ if (s) {
+ for (var u = 0, d = -1, p = s.length, v; u < p; ++u)
+ ((v = s[u]),
+ (!i.type || v.type === i.type) && v.name === i.name
+ ? this.removeEventListener(v.type, v.listener, v.options)
+ : (s[++d] = v));
+ ++d ? (s.length = d) : delete this.__on;
+ }
+ };
+ }
+ function NMt(i, s, u) {
+ return function () {
+ var d = this.__on,
+ p,
+ v = DMt(s);
+ if (d) {
+ for (var b = 0, y = d.length; b < y; ++b)
+ if ((p = d[b]).type === i.type && p.name === i.name) {
+ (this.removeEventListener(p.type, p.listener, p.options),
+ this.addEventListener(p.type, (p.listener = v), (p.options = u)),
+ (p.value = s));
+ return;
+ }
+ }
+ (this.addEventListener(i.type, v, u),
+ (p = { type: i.type, name: i.name, value: s, listener: v, options: u }),
+ d ? d.push(p) : (this.__on = [p]));
+ };
+ }
+ function PMt(i, s, u) {
+ var d = IMt(i + ''),
+ p,
+ v = d.length,
+ b;
+ if (arguments.length < 2) {
+ var y = this.node().__on;
+ if (y) {
+ for (var T = 0, _ = y.length, A; T < _; ++T)
+ for (p = 0, A = y[T]; p < v; ++p)
+ if ((b = d[p]).type === A.type && b.name === A.name) return A.value;
+ }
+ return;
+ }
+ for (y = s ? NMt : OMt, p = 0; p < v; ++p) this.each(y(d[p], s, u));
+ return this;
+ }
+ function SBe(i, s, u) {
+ var d = xBe(i),
+ p = d.CustomEvent;
+ (typeof p == 'function'
+ ? (p = new p(s, u))
+ : ((p = d.document.createEvent('Event')),
+ u
+ ? (p.initEvent(s, u.bubbles, u.cancelable), (p.detail = u.detail))
+ : p.initEvent(s, !1, !1)),
+ i.dispatchEvent(p));
+ }
+ function BMt(i, s) {
+ return function () {
+ return SBe(this, i, s);
+ };
+ }
+ function FMt(i, s) {
+ return function () {
+ return SBe(this, i, s.apply(this, arguments));
+ };
+ }
+ function RMt(i, s) {
+ return this.each((typeof s == 'function' ? FMt : BMt)(i, s));
+ }
+ function* jMt() {
+ for (var i = this._groups, s = 0, u = i.length; s < u; ++s)
+ for (var d = i[s], p = 0, v = d.length, b; p < v; ++p) (b = d[p]) && (yield b);
+ }
+ var xpe = [null];
+ function yp(i, s) {
+ ((this._groups = i), (this._parents = s));
+ }
+ function mF() {
+ return new yp([[document.documentElement]], xpe);
+ }
+ function $Mt() {
+ return this;
+ }
+ yp.prototype = mF.prototype = {
+ constructor: yp,
+ select: dLt,
+ selectAll: bLt,
+ selectChild: yLt,
+ selectChildren: TLt,
+ filter: CLt,
+ data: DLt,
+ enter: SLt,
+ exit: OLt,
+ join: NLt,
+ merge: PLt,
+ selection: $Mt,
+ order: BLt,
+ sort: FLt,
+ call: jLt,
+ nodes: $Lt,
+ node: zLt,
+ size: qLt,
+ empty: HLt,
+ each: VLt,
+ attr: QLt,
+ style: tMt,
+ property: sMt,
+ classed: uMt,
+ text: dMt,
+ html: mMt,
+ raise: wMt,
+ lower: xMt,
+ append: kMt,
+ insert: TMt,
+ remove: SMt,
+ clone: LMt,
+ datum: MMt,
+ on: PMt,
+ dispatch: RMt,
+ [Symbol.iterator]: jMt,
+ };
+ function Ir(i) {
+ return typeof i == 'string'
+ ? new yp([[document.querySelector(i)]], [document.documentElement])
+ : new yp([[i]], xpe);
+ }
+ function _Be(i) {
+ return typeof i == 'string'
+ ? new yp([document.querySelectorAll(i)], [document.documentElement])
+ : new yp([bBe(i)], xpe);
+ }
+ function vF(i, s, u) {
+ ((i.prototype = s.prototype = u), (u.constructor = i));
+ }
+ function RY(i, s) {
+ var u = Object.create(i.prototype);
+ for (var d in s) u[d] = s[d];
+ return u;
+ }
+ function hC() {}
+ var wF = 0.7,
+ jY = 1 / wF,
+ ZM = '\\s*([+-]?\\d+)\\s*',
+ yF = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*',
+ R4 = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*',
+ zMt = /^#([0-9a-f]{3,8})$/,
+ qMt = new RegExp(`^rgb\\(${ZM},${ZM},${ZM}\\)$`),
+ HMt = new RegExp(`^rgb\\(${R4},${R4},${R4}\\)$`),
+ VMt = new RegExp(`^rgba\\(${ZM},${ZM},${ZM},${yF}\\)$`),
+ UMt = new RegExp(`^rgba\\(${R4},${R4},${R4},${yF}\\)$`),
+ GMt = new RegExp(`^hsl\\(${yF},${R4},${R4}\\)$`),
+ KMt = new RegExp(`^hsla\\(${yF},${R4},${R4},${yF}\\)$`),
+ ABe = {
+ 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,
+ };
+ vF(hC, fC, {
+ copy(i) {
+ return Object.assign(new this.constructor(), this, i);
+ },
+ displayable() {
+ return this.rgb().displayable();
+ },
+ hex: LBe,
+ formatHex: LBe,
+ formatHex8: WMt,
+ formatHsl: YMt,
+ formatRgb: MBe,
+ toString: MBe,
+ });
+ function LBe() {
+ return this.rgb().formatHex();
+ }
+ function WMt() {
+ return this.rgb().formatHex8();
+ }
+ function YMt() {
+ return BBe(this).formatHsl();
+ }
+ function MBe() {
+ return this.rgb().formatRgb();
+ }
+ function fC(i) {
+ var s, u;
+ return (
+ (i = (i + '').trim().toLowerCase()),
+ (s = zMt.exec(i))
+ ? ((u = s[1].length),
+ (s = parseInt(s[1], 16)),
+ u === 6
+ ? DBe(s)
+ : u === 3
+ ? new Lg(
+ ((s >> 8) & 15) | ((s >> 4) & 240),
+ ((s >> 4) & 15) | (s & 240),
+ ((s & 15) << 4) | (s & 15),
+ 1,
+ )
+ : u === 8
+ ? $Y((s >> 24) & 255, (s >> 16) & 255, (s >> 8) & 255, (s & 255) / 255)
+ : u === 4
+ ? $Y(
+ ((s >> 12) & 15) | ((s >> 8) & 240),
+ ((s >> 8) & 15) | ((s >> 4) & 240),
+ ((s >> 4) & 15) | (s & 240),
+ (((s & 15) << 4) | (s & 15)) / 255,
+ )
+ : null)
+ : (s = qMt.exec(i))
+ ? new Lg(s[1], s[2], s[3], 1)
+ : (s = HMt.exec(i))
+ ? new Lg((s[1] * 255) / 100, (s[2] * 255) / 100, (s[3] * 255) / 100, 1)
+ : (s = VMt.exec(i))
+ ? $Y(s[1], s[2], s[3], s[4])
+ : (s = UMt.exec(i))
+ ? $Y((s[1] * 255) / 100, (s[2] * 255) / 100, (s[3] * 255) / 100, s[4])
+ : (s = GMt.exec(i))
+ ? PBe(s[1], s[2] / 100, s[3] / 100, 1)
+ : (s = KMt.exec(i))
+ ? PBe(s[1], s[2] / 100, s[3] / 100, s[4])
+ : ABe.hasOwnProperty(i)
+ ? DBe(ABe[i])
+ : i === 'transparent'
+ ? new Lg(NaN, NaN, NaN, 0)
+ : null
+ );
+ }
+ function DBe(i) {
+ return new Lg((i >> 16) & 255, (i >> 8) & 255, i & 255, 1);
+ }
+ function $Y(i, s, u, d) {
+ return (d <= 0 && (i = s = u = NaN), new Lg(i, s, u, d));
+ }
+ function IBe(i) {
+ return (
+ i instanceof hC || (i = fC(i)),
+ i ? ((i = i.rgb()), new Lg(i.r, i.g, i.b, i.opacity)) : new Lg()
+ );
+ }
+ function kpe(i, s, u, d) {
+ return arguments.length === 1 ? IBe(i) : new Lg(i, s, u, d ?? 1);
+ }
+ function Lg(i, s, u, d) {
+ ((this.r = +i), (this.g = +s), (this.b = +u), (this.opacity = +d));
+ }
+ vF(
+ Lg,
+ kpe,
+ RY(hC, {
+ brighter(i) {
+ return (
+ (i = i == null ? jY : Math.pow(jY, i)),
+ new Lg(this.r * i, this.g * i, this.b * i, this.opacity)
+ );
+ },
+ darker(i) {
+ return (
+ (i = i == null ? wF : Math.pow(wF, i)),
+ new Lg(this.r * i, this.g * i, this.b * i, this.opacity)
+ );
+ },
+ rgb() {
+ return this;
+ },
+ clamp() {
+ return new Lg(dC(this.r), dC(this.g), dC(this.b), zY(this.opacity));
+ },
+ displayable() {
+ return (
+ -0.5 <= this.r &&
+ this.r < 255.5 &&
+ -0.5 <= this.g &&
+ this.g < 255.5 &&
+ -0.5 <= this.b &&
+ this.b < 255.5 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ );
+ },
+ hex: OBe,
+ formatHex: OBe,
+ formatHex8: XMt,
+ formatRgb: NBe,
+ toString: NBe,
+ }),
+ );
+ function OBe() {
+ return `#${gC(this.r)}${gC(this.g)}${gC(this.b)}`;
+ }
+ function XMt() {
+ return `#${gC(this.r)}${gC(this.g)}${gC(this.b)}${gC((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
+ }
+ function NBe() {
+ const i = zY(this.opacity);
+ return `${i === 1 ? 'rgb(' : 'rgba('}${dC(this.r)}, ${dC(this.g)}, ${dC(this.b)}${i === 1 ? ')' : `, ${i})`}`;
+ }
+ function zY(i) {
+ return isNaN(i) ? 1 : Math.max(0, Math.min(1, i));
+ }
+ function dC(i) {
+ return Math.max(0, Math.min(255, Math.round(i) || 0));
+ }
+ function gC(i) {
+ return ((i = dC(i)), (i < 16 ? '0' : '') + i.toString(16));
+ }
+ function PBe(i, s, u, d) {
+ return (
+ d <= 0 ? (i = s = u = NaN) : u <= 0 || u >= 1 ? (i = s = NaN) : s <= 0 && (i = NaN),
+ new L3(i, s, u, d)
+ );
+ }
+ function BBe(i) {
+ if (i instanceof L3) return new L3(i.h, i.s, i.l, i.opacity);
+ if ((i instanceof hC || (i = fC(i)), !i)) return new L3();
+ if (i instanceof L3) return i;
+ i = i.rgb();
+ var s = i.r / 255,
+ u = i.g / 255,
+ d = i.b / 255,
+ p = Math.min(s, u, d),
+ v = Math.max(s, u, d),
+ b = NaN,
+ y = v - p,
+ T = (v + p) / 2;
+ return (
+ y
+ ? (s === v
+ ? (b = (u - d) / y + (u < d) * 6)
+ : u === v
+ ? (b = (d - s) / y + 2)
+ : (b = (s - u) / y + 4),
+ (y /= T < 0.5 ? v + p : 2 - v - p),
+ (b *= 60))
+ : (y = T > 0 && T < 1 ? 0 : b),
+ new L3(b, y, T, i.opacity)
+ );
+ }
+ function QMt(i, s, u, d) {
+ return arguments.length === 1 ? BBe(i) : new L3(i, s, u, d ?? 1);
+ }
+ function L3(i, s, u, d) {
+ ((this.h = +i), (this.s = +s), (this.l = +u), (this.opacity = +d));
+ }
+ vF(
+ L3,
+ QMt,
+ RY(hC, {
+ brighter(i) {
+ return (
+ (i = i == null ? jY : Math.pow(jY, i)),
+ new L3(this.h, this.s, this.l * i, this.opacity)
+ );
+ },
+ darker(i) {
+ return (
+ (i = i == null ? wF : Math.pow(wF, i)),
+ new L3(this.h, this.s, this.l * i, this.opacity)
+ );
+ },
+ rgb() {
+ var i = (this.h % 360) + (this.h < 0) * 360,
+ s = isNaN(i) || isNaN(this.s) ? 0 : this.s,
+ u = this.l,
+ d = u + (u < 0.5 ? u : 1 - u) * s,
+ p = 2 * u - d;
+ return new Lg(
+ Epe(i >= 240 ? i - 240 : i + 120, p, d),
+ Epe(i, p, d),
+ Epe(i < 120 ? i + 240 : i - 120, p, d),
+ this.opacity,
+ );
+ },
+ clamp() {
+ return new L3(FBe(this.h), qY(this.s), qY(this.l), zY(this.opacity));
+ },
+ displayable() {
+ return (
+ ((0 <= this.s && this.s <= 1) || isNaN(this.s)) &&
+ 0 <= this.l &&
+ this.l <= 1 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ );
+ },
+ formatHsl() {
+ const i = zY(this.opacity);
+ return `${i === 1 ? 'hsl(' : 'hsla('}${FBe(this.h)}, ${qY(this.s) * 100}%, ${qY(this.l) * 100}%${i === 1 ? ')' : `, ${i})`}`;
+ },
+ }),
+ );
+ function FBe(i) {
+ return ((i = (i || 0) % 360), i < 0 ? i + 360 : i);
+ }
+ function qY(i) {
+ return Math.max(0, Math.min(1, i || 0));
+ }
+ function Epe(i, s, u) {
+ return (
+ (i < 60
+ ? s + ((u - s) * i) / 60
+ : i < 180
+ ? u
+ : i < 240
+ ? s + ((u - s) * (240 - i)) / 60
+ : s) * 255
+ );
+ }
+ const JMt = Math.PI / 180,
+ ZMt = 180 / Math.PI,
+ HY = 18,
+ RBe = 0.96422,
+ jBe = 1,
+ $Be = 0.82521,
+ zBe = 4 / 29,
+ eD = 6 / 29,
+ qBe = 3 * eD * eD,
+ eDt = eD * eD * eD;
+ function HBe(i) {
+ if (i instanceof j4) return new j4(i.l, i.a, i.b, i.opacity);
+ if (i instanceof g7) return VBe(i);
+ i instanceof Lg || (i = IBe(i));
+ var s = _pe(i.r),
+ u = _pe(i.g),
+ d = _pe(i.b),
+ p = Tpe((0.2225045 * s + 0.7168786 * u + 0.0606169 * d) / jBe),
+ v,
+ b;
+ return (
+ s === u && u === d
+ ? (v = b = p)
+ : ((v = Tpe((0.4360747 * s + 0.3850649 * u + 0.1430804 * d) / RBe)),
+ (b = Tpe((0.0139322 * s + 0.0971045 * u + 0.7141733 * d) / $Be))),
+ new j4(116 * p - 16, 500 * (v - p), 200 * (p - b), i.opacity)
+ );
+ }
+ function tDt(i, s, u, d) {
+ return arguments.length === 1 ? HBe(i) : new j4(i, s, u, d ?? 1);
+ }
+ function j4(i, s, u, d) {
+ ((this.l = +i), (this.a = +s), (this.b = +u), (this.opacity = +d));
+ }
+ vF(
+ j4,
+ tDt,
+ RY(hC, {
+ brighter(i) {
+ return new j4(this.l + HY * (i ?? 1), this.a, this.b, this.opacity);
+ },
+ darker(i) {
+ return new j4(this.l - HY * (i ?? 1), this.a, this.b, this.opacity);
+ },
+ rgb() {
+ var i = (this.l + 16) / 116,
+ s = isNaN(this.a) ? i : i + this.a / 500,
+ u = isNaN(this.b) ? i : i - this.b / 200;
+ return (
+ (s = RBe * Cpe(s)),
+ (i = jBe * Cpe(i)),
+ (u = $Be * Cpe(u)),
+ new Lg(
+ Spe(3.1338561 * s - 1.6168667 * i - 0.4906146 * u),
+ Spe(-0.9787684 * s + 1.9161415 * i + 0.033454 * u),
+ Spe(0.0719453 * s - 0.2289914 * i + 1.4052427 * u),
+ this.opacity,
+ )
+ );
+ },
+ }),
+ );
+ function Tpe(i) {
+ return i > eDt ? Math.pow(i, 1 / 3) : i / qBe + zBe;
+ }
+ function Cpe(i) {
+ return i > eD ? i * i * i : qBe * (i - zBe);
+ }
+ function Spe(i) {
+ return 255 * (i <= 0.0031308 ? 12.92 * i : 1.055 * Math.pow(i, 1 / 2.4) - 0.055);
+ }
+ function _pe(i) {
+ return (i /= 255) <= 0.04045 ? i / 12.92 : Math.pow((i + 0.055) / 1.055, 2.4);
+ }
+ function nDt(i) {
+ if (i instanceof g7) return new g7(i.h, i.c, i.l, i.opacity);
+ if ((i instanceof j4 || (i = HBe(i)), i.a === 0 && i.b === 0))
+ return new g7(NaN, 0 < i.l && i.l < 100 ? 0 : NaN, i.l, i.opacity);
+ var s = Math.atan2(i.b, i.a) * ZMt;
+ return new g7(s < 0 ? s + 360 : s, Math.sqrt(i.a * i.a + i.b * i.b), i.l, i.opacity);
+ }
+ function Ape(i, s, u, d) {
+ return arguments.length === 1 ? nDt(i) : new g7(i, s, u, d ?? 1);
+ }
+ function g7(i, s, u, d) {
+ ((this.h = +i), (this.c = +s), (this.l = +u), (this.opacity = +d));
+ }
+ function VBe(i) {
+ if (isNaN(i.h)) return new j4(i.l, 0, 0, i.opacity);
+ var s = i.h * JMt;
+ return new j4(i.l, Math.cos(s) * i.c, Math.sin(s) * i.c, i.opacity);
+ }
+ vF(
+ g7,
+ Ape,
+ RY(hC, {
+ brighter(i) {
+ return new g7(this.h, this.c, this.l + HY * (i ?? 1), this.opacity);
+ },
+ darker(i) {
+ return new g7(this.h, this.c, this.l - HY * (i ?? 1), this.opacity);
+ },
+ rgb() {
+ return VBe(this).rgb();
+ },
+ }),
+ );
+ const VY = (i) => () => i;
+ function UBe(i, s) {
+ return function (u) {
+ return i + u * s;
+ };
+ }
+ function rDt(i, s, u) {
+ return (
+ (i = Math.pow(i, u)),
+ (s = Math.pow(s, u) - i),
+ (u = 1 / u),
+ function (d) {
+ return Math.pow(i + d * s, u);
+ }
+ );
+ }
+ function iDt(i, s) {
+ var u = s - i;
+ return u
+ ? UBe(i, u > 180 || u < -180 ? u - 360 * Math.round(u / 360) : u)
+ : VY(isNaN(i) ? s : i);
+ }
+ function sDt(i) {
+ return (i = +i) == 1
+ ? xF
+ : function (s, u) {
+ return u - s ? rDt(s, u, i) : VY(isNaN(s) ? u : s);
+ };
+ }
+ function xF(i, s) {
+ var u = s - i;
+ return u ? UBe(i, u) : VY(isNaN(i) ? s : i);
+ }
+ const UY = (function i(s) {
+ var u = sDt(s);
+ function d(p, v) {
+ var b = u((p = kpe(p)).r, (v = kpe(v)).r),
+ y = u(p.g, v.g),
+ T = u(p.b, v.b),
+ _ = xF(p.opacity, v.opacity);
+ return function (A) {
+ return ((p.r = b(A)), (p.g = y(A)), (p.b = T(A)), (p.opacity = _(A)), p + '');
+ };
+ }
+ return ((d.gamma = i), d);
+ })(1);
+ function aDt(i, s) {
+ s || (s = []);
+ var u = i ? Math.min(s.length, i.length) : 0,
+ d = s.slice(),
+ p;
+ return function (v) {
+ for (p = 0; p < u; ++p) d[p] = i[p] * (1 - v) + s[p] * v;
+ return d;
+ };
+ }
+ function oDt(i) {
+ return ArrayBuffer.isView(i) && !(i instanceof DataView);
+ }
+ function cDt(i, s) {
+ var u = s ? s.length : 0,
+ d = i ? Math.min(u, i.length) : 0,
+ p = new Array(d),
+ v = new Array(u),
+ b;
+ for (b = 0; b < d; ++b) p[b] = Dpe(i[b], s[b]);
+ for (; b < u; ++b) v[b] = s[b];
+ return function (y) {
+ for (b = 0; b < d; ++b) v[b] = p[b](y);
+ return v;
+ };
+ }
+ function uDt(i, s) {
+ var u = new Date();
+ return (
+ (i = +i),
+ (s = +s),
+ function (d) {
+ return (u.setTime(i * (1 - d) + s * d), u);
+ }
+ );
+ }
+ function M3(i, s) {
+ return (
+ (i = +i),
+ (s = +s),
+ function (u) {
+ return i * (1 - u) + s * u;
+ }
+ );
+ }
+ function lDt(i, s) {
+ var u = {},
+ d = {},
+ p;
+ ((i === null || typeof i != 'object') && (i = {}),
+ (s === null || typeof s != 'object') && (s = {}));
+ for (p in s) p in i ? (u[p] = Dpe(i[p], s[p])) : (d[p] = s[p]);
+ return function (v) {
+ for (p in u) d[p] = u[p](v);
+ return d;
+ };
+ }
+ var Lpe = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
+ Mpe = new RegExp(Lpe.source, 'g');
+ function hDt(i) {
+ return function () {
+ return i;
+ };
+ }
+ function fDt(i) {
+ return function (s) {
+ return i(s) + '';
+ };
+ }
+ function GBe(i, s) {
+ var u = (Lpe.lastIndex = Mpe.lastIndex = 0),
+ d,
+ p,
+ v,
+ b = -1,
+ y = [],
+ T = [];
+ for (i = i + '', s = s + ''; (d = Lpe.exec(i)) && (p = Mpe.exec(s)); )
+ ((v = p.index) > u && ((v = s.slice(u, v)), y[b] ? (y[b] += v) : (y[++b] = v)),
+ (d = d[0]) === (p = p[0])
+ ? y[b]
+ ? (y[b] += p)
+ : (y[++b] = p)
+ : ((y[++b] = null), T.push({ i: b, x: M3(d, p) })),
+ (u = Mpe.lastIndex));
+ return (
+ u < s.length && ((v = s.slice(u)), y[b] ? (y[b] += v) : (y[++b] = v)),
+ y.length < 2
+ ? T[0]
+ ? fDt(T[0].x)
+ : hDt(s)
+ : ((s = T.length),
+ function (_) {
+ for (var A = 0, P; A < s; ++A) y[(P = T[A]).i] = P.x(_);
+ return y.join('');
+ })
+ );
+ }
+ function Dpe(i, s) {
+ var u = typeof s,
+ d;
+ return s == null || u === 'boolean'
+ ? VY(s)
+ : (u === 'number'
+ ? M3
+ : u === 'string'
+ ? (d = fC(s))
+ ? ((s = d), UY)
+ : GBe
+ : s instanceof fC
+ ? UY
+ : s instanceof Date
+ ? uDt
+ : oDt(s)
+ ? aDt
+ : Array.isArray(s)
+ ? cDt
+ : (typeof s.valueOf != 'function' && typeof s.toString != 'function') ||
+ isNaN(s)
+ ? lDt
+ : M3)(i, s);
+ }
+ function dDt(i, s) {
+ return (
+ (i = +i),
+ (s = +s),
+ function (u) {
+ return Math.round(i * (1 - u) + s * u);
+ }
+ );
+ }
+ var KBe = 180 / Math.PI,
+ Ipe = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 };
+ function WBe(i, s, u, d, p, v) {
+ var b, y, T;
+ return (
+ (b = Math.sqrt(i * i + s * s)) && ((i /= b), (s /= b)),
+ (T = i * u + s * d) && ((u -= i * T), (d -= s * T)),
+ (y = Math.sqrt(u * u + d * d)) && ((u /= y), (d /= y), (T /= y)),
+ i * d < s * u && ((i = -i), (s = -s), (T = -T), (b = -b)),
+ {
+ translateX: p,
+ translateY: v,
+ rotate: Math.atan2(s, i) * KBe,
+ skewX: Math.atan(T) * KBe,
+ scaleX: b,
+ scaleY: y,
+ }
+ );
+ }
+ var GY;
+ function gDt(i) {
+ const s = new (typeof DOMMatrix == 'function' ? DOMMatrix : WebKitCSSMatrix)(i + '');
+ return s.isIdentity ? Ipe : WBe(s.a, s.b, s.c, s.d, s.e, s.f);
+ }
+ function pDt(i) {
+ return i == null ||
+ (GY || (GY = document.createElementNS('http://www.w3.org/2000/svg', 'g')),
+ GY.setAttribute('transform', i),
+ !(i = GY.transform.baseVal.consolidate()))
+ ? Ipe
+ : ((i = i.matrix), WBe(i.a, i.b, i.c, i.d, i.e, i.f));
+ }
+ function YBe(i, s, u, d) {
+ function p(_) {
+ return _.length ? _.pop() + ' ' : '';
+ }
+ function v(_, A, P, R, F, j) {
+ if (_ !== P || A !== R) {
+ var W = F.push('translate(', null, s, null, u);
+ j.push({ i: W - 4, x: M3(_, P) }, { i: W - 2, x: M3(A, R) });
+ } else (P || R) && F.push('translate(' + P + s + R + u);
+ }
+ function b(_, A, P, R) {
+ _ !== A
+ ? (_ - A > 180 ? (A += 360) : A - _ > 180 && (_ += 360),
+ R.push({ i: P.push(p(P) + 'rotate(', null, d) - 2, x: M3(_, A) }))
+ : A && P.push(p(P) + 'rotate(' + A + d);
+ }
+ function y(_, A, P, R) {
+ _ !== A
+ ? R.push({ i: P.push(p(P) + 'skewX(', null, d) - 2, x: M3(_, A) })
+ : A && P.push(p(P) + 'skewX(' + A + d);
+ }
+ function T(_, A, P, R, F, j) {
+ if (_ !== P || A !== R) {
+ var W = F.push(p(F) + 'scale(', null, ',', null, ')');
+ j.push({ i: W - 4, x: M3(_, P) }, { i: W - 2, x: M3(A, R) });
+ } else (P !== 1 || R !== 1) && F.push(p(F) + 'scale(' + P + ',' + R + ')');
+ }
+ return function (_, A) {
+ var P = [],
+ R = [];
+ return (
+ (_ = i(_)),
+ (A = i(A)),
+ v(_.translateX, _.translateY, A.translateX, A.translateY, P, R),
+ b(_.rotate, A.rotate, P, R),
+ y(_.skewX, A.skewX, P, R),
+ T(_.scaleX, _.scaleY, A.scaleX, A.scaleY, P, R),
+ (_ = A = null),
+ function (F) {
+ for (var j = -1, W = R.length, ee; ++j < W; ) P[(ee = R[j]).i] = ee.x(F);
+ return P.join('');
+ }
+ );
+ };
+ }
+ var bDt = YBe(gDt, 'px, ', 'px)', 'deg)'),
+ mDt = YBe(pDt, ', ', ')', ')');
+ function vDt(i) {
+ return function (s, u) {
+ var d = i((s = Ape(s)).h, (u = Ape(u)).h),
+ p = xF(s.c, u.c),
+ v = xF(s.l, u.l),
+ b = xF(s.opacity, u.opacity);
+ return function (y) {
+ return ((s.h = d(y)), (s.c = p(y)), (s.l = v(y)), (s.opacity = b(y)), s + '');
+ };
+ };
+ }
+ const wDt = vDt(iDt);
+ var tD = 0,
+ kF = 0,
+ EF = 0,
+ XBe = 1e3,
+ KY,
+ TF,
+ WY = 0,
+ pC = 0,
+ YY = 0,
+ CF = typeof performance == 'object' && performance.now ? performance : Date,
+ QBe =
+ typeof window == 'object' && window.requestAnimationFrame
+ ? window.requestAnimationFrame.bind(window)
+ : function (i) {
+ setTimeout(i, 17);
+ };
+ function Ope() {
+ return pC || (QBe(yDt), (pC = CF.now() + YY));
+ }
+ function yDt() {
+ pC = 0;
+ }
+ function XY() {
+ this._call = this._time = this._next = null;
+ }
+ XY.prototype = JBe.prototype = {
+ constructor: XY,
+ restart: function (i, s, u) {
+ if (typeof i != 'function') throw new TypeError('callback is not a function');
+ ((u = (u == null ? Ope() : +u) + (s == null ? 0 : +s)),
+ !this._next && TF !== this && (TF ? (TF._next = this) : (KY = this), (TF = this)),
+ (this._call = i),
+ (this._time = u),
+ Npe());
+ },
+ stop: function () {
+ this._call && ((this._call = null), (this._time = 1 / 0), Npe());
+ },
+ };
+ function JBe(i, s, u) {
+ var d = new XY();
+ return (d.restart(i, s, u), d);
+ }
+ function xDt() {
+ (Ope(), ++tD);
+ for (var i = KY, s; i; ) ((s = pC - i._time) >= 0 && i._call.call(void 0, s), (i = i._next));
+ --tD;
+ }
+ function ZBe() {
+ ((pC = (WY = CF.now()) + YY), (tD = kF = 0));
+ try {
+ xDt();
+ } finally {
+ ((tD = 0), EDt(), (pC = 0));
+ }
+ }
+ function kDt() {
+ var i = CF.now(),
+ s = i - WY;
+ s > XBe && ((YY -= s), (WY = i));
+ }
+ function EDt() {
+ for (var i, s = KY, u, d = 1 / 0; s; )
+ s._call
+ ? (d > s._time && (d = s._time), (i = s), (s = s._next))
+ : ((u = s._next), (s._next = null), (s = i ? (i._next = u) : (KY = u)));
+ ((TF = i), Npe(d));
+ }
+ function Npe(i) {
+ if (!tD) {
+ kF && (kF = clearTimeout(kF));
+ var s = i - pC;
+ s > 24
+ ? (i < 1 / 0 && (kF = setTimeout(ZBe, i - CF.now() - YY)), EF && (EF = clearInterval(EF)))
+ : (EF || ((WY = CF.now()), (EF = setInterval(kDt, XBe))), (tD = 1), QBe(ZBe));
+ }
+ }
+ function eFe(i, s, u) {
+ var d = new XY();
+ return (
+ (s = s == null ? 0 : +s),
+ d.restart(
+ (p) => {
+ (d.stop(), i(p + s));
+ },
+ s,
+ u,
+ ),
+ d
+ );
+ }
+ var TDt = fBe('start', 'end', 'cancel', 'interrupt'),
+ CDt = [],
+ tFe = 0,
+ nFe = 1,
+ Ppe = 2,
+ QY = 3,
+ rFe = 4,
+ Bpe = 5,
+ JY = 6;
+ function ZY(i, s, u, d, p, v) {
+ var b = i.__transition;
+ if (!b) i.__transition = {};
+ else if (u in b) return;
+ SDt(i, u, {
+ name: s,
+ index: d,
+ group: p,
+ on: TDt,
+ tween: CDt,
+ time: v.time,
+ delay: v.delay,
+ duration: v.duration,
+ ease: v.ease,
+ timer: null,
+ state: tFe,
+ });
+ }
+ function Fpe(i, s) {
+ var u = D3(i, s);
+ if (u.state > tFe) throw new Error('too late; already scheduled');
+ return u;
+ }
+ function $4(i, s) {
+ var u = D3(i, s);
+ if (u.state > QY) throw new Error('too late; already running');
+ return u;
+ }
+ function D3(i, s) {
+ var u = i.__transition;
+ if (!u || !(u = u[s])) throw new Error('transition not found');
+ return u;
+ }
+ function SDt(i, s, u) {
+ var d = i.__transition,
+ p;
+ ((d[s] = u), (u.timer = JBe(v, 0, u.time)));
+ function v(_) {
+ ((u.state = nFe), u.timer.restart(b, u.delay, u.time), u.delay <= _ && b(_ - u.delay));
+ }
+ function b(_) {
+ var A, P, R, F;
+ if (u.state !== nFe) return T();
+ for (A in d)
+ if (((F = d[A]), F.name === u.name)) {
+ if (F.state === QY) return eFe(b);
+ F.state === rFe
+ ? ((F.state = JY),
+ F.timer.stop(),
+ F.on.call('interrupt', i, i.__data__, F.index, F.group),
+ delete d[A])
+ : +A < s &&
+ ((F.state = JY),
+ F.timer.stop(),
+ F.on.call('cancel', i, i.__data__, F.index, F.group),
+ delete d[A]);
+ }
+ if (
+ (eFe(function () {
+ u.state === QY && ((u.state = rFe), u.timer.restart(y, u.delay, u.time), y(_));
+ }),
+ (u.state = Ppe),
+ u.on.call('start', i, i.__data__, u.index, u.group),
+ u.state === Ppe)
+ ) {
+ for (u.state = QY, p = new Array((R = u.tween.length)), A = 0, P = -1; A < R; ++A)
+ (F = u.tween[A].value.call(i, i.__data__, u.index, u.group)) && (p[++P] = F);
+ p.length = P + 1;
+ }
+ }
+ function y(_) {
+ for (
+ var A =
+ _ < u.duration
+ ? u.ease.call(null, _ / u.duration)
+ : (u.timer.restart(T), (u.state = Bpe), 1),
+ P = -1,
+ R = p.length;
+ ++P < R;
+ )
+ p[P].call(i, A);
+ u.state === Bpe && (u.on.call('end', i, i.__data__, u.index, u.group), T());
+ }
+ function T() {
+ ((u.state = JY), u.timer.stop(), delete d[s]);
+ for (var _ in d) return;
+ delete i.__transition;
+ }
+ }
+ function _Dt(i, s) {
+ var u = i.__transition,
+ d,
+ p,
+ v = !0,
+ b;
+ if (u) {
+ s = s == null ? null : s + '';
+ for (b in u) {
+ if ((d = u[b]).name !== s) {
+ v = !1;
+ continue;
+ }
+ ((p = d.state > Ppe && d.state < Bpe),
+ (d.state = JY),
+ d.timer.stop(),
+ d.on.call(p ? 'interrupt' : 'cancel', i, i.__data__, d.index, d.group),
+ delete u[b]);
+ }
+ v && delete i.__transition;
+ }
+ }
+ function ADt(i) {
+ return this.each(function () {
+ _Dt(this, i);
+ });
+ }
+ function LDt(i, s) {
+ var u, d;
+ return function () {
+ var p = $4(this, i),
+ v = p.tween;
+ if (v !== u) {
+ d = u = v;
+ for (var b = 0, y = d.length; b < y; ++b)
+ if (d[b].name === s) {
+ ((d = d.slice()), d.splice(b, 1));
+ break;
+ }
+ }
+ p.tween = d;
+ };
+ }
+ function MDt(i, s, u) {
+ var d, p;
+ if (typeof u != 'function') throw new Error();
+ return function () {
+ var v = $4(this, i),
+ b = v.tween;
+ if (b !== d) {
+ p = (d = b).slice();
+ for (var y = { name: s, value: u }, T = 0, _ = p.length; T < _; ++T)
+ if (p[T].name === s) {
+ p[T] = y;
+ break;
+ }
+ T === _ && p.push(y);
+ }
+ v.tween = p;
+ };
+ }
+ function DDt(i, s) {
+ var u = this._id;
+ if (((i += ''), arguments.length < 2)) {
+ for (var d = D3(this.node(), u).tween, p = 0, v = d.length, b; p < v; ++p)
+ if ((b = d[p]).name === i) return b.value;
+ return null;
+ }
+ return this.each((s == null ? LDt : MDt)(u, i, s));
+ }
+ function Rpe(i, s, u) {
+ var d = i._id;
+ return (
+ i.each(function () {
+ var p = $4(this, d);
+ (p.value || (p.value = {}))[s] = u.apply(this, arguments);
+ }),
+ function (p) {
+ return D3(p, d).value[s];
+ }
+ );
+ }
+ function iFe(i, s) {
+ var u;
+ return (typeof s == 'number' ? M3 : s instanceof fC ? UY : (u = fC(s)) ? ((s = u), UY) : GBe)(
+ i,
+ s,
+ );
+ }
+ function IDt(i) {
+ return function () {
+ this.removeAttribute(i);
+ };
+ }
+ function ODt(i) {
+ return function () {
+ this.removeAttributeNS(i.space, i.local);
+ };
+ }
+ function NDt(i, s, u) {
+ var d,
+ p = u + '',
+ v;
+ return function () {
+ var b = this.getAttribute(i);
+ return b === p ? null : b === d ? v : (v = s((d = b), u));
+ };
+ }
+ function PDt(i, s, u) {
+ var d,
+ p = u + '',
+ v;
+ return function () {
+ var b = this.getAttributeNS(i.space, i.local);
+ return b === p ? null : b === d ? v : (v = s((d = b), u));
+ };
+ }
+ function BDt(i, s, u) {
+ var d, p, v;
+ return function () {
+ var b,
+ y = u(this),
+ T;
+ return y == null
+ ? void this.removeAttribute(i)
+ : ((b = this.getAttribute(i)),
+ (T = y + ''),
+ b === T ? null : b === d && T === p ? v : ((p = T), (v = s((d = b), y))));
+ };
+ }
+ function FDt(i, s, u) {
+ var d, p, v;
+ return function () {
+ var b,
+ y = u(this),
+ T;
+ return y == null
+ ? void this.removeAttributeNS(i.space, i.local)
+ : ((b = this.getAttributeNS(i.space, i.local)),
+ (T = y + ''),
+ b === T ? null : b === d && T === p ? v : ((p = T), (v = s((d = b), y))));
+ };
+ }
+ function RDt(i, s) {
+ var u = BY(i),
+ d = u === 'transform' ? mDt : iFe;
+ return this.attrTween(
+ i,
+ typeof s == 'function'
+ ? (u.local ? FDt : BDt)(u, d, Rpe(this, 'attr.' + i, s))
+ : s == null
+ ? (u.local ? ODt : IDt)(u)
+ : (u.local ? PDt : NDt)(u, d, s),
+ );
+ }
+ function jDt(i, s) {
+ return function (u) {
+ this.setAttribute(i, s.call(this, u));
+ };
+ }
+ function $Dt(i, s) {
+ return function (u) {
+ this.setAttributeNS(i.space, i.local, s.call(this, u));
+ };
+ }
+ function zDt(i, s) {
+ var u, d;
+ function p() {
+ var v = s.apply(this, arguments);
+ return (v !== d && (u = (d = v) && $Dt(i, v)), u);
+ }
+ return ((p._value = s), p);
+ }
+ function qDt(i, s) {
+ var u, d;
+ function p() {
+ var v = s.apply(this, arguments);
+ return (v !== d && (u = (d = v) && jDt(i, v)), u);
+ }
+ return ((p._value = s), p);
+ }
+ function HDt(i, s) {
+ var u = 'attr.' + i;
+ if (arguments.length < 2) return (u = this.tween(u)) && u._value;
+ if (s == null) return this.tween(u, null);
+ if (typeof s != 'function') throw new Error();
+ var d = BY(i);
+ return this.tween(u, (d.local ? zDt : qDt)(d, s));
+ }
+ function VDt(i, s) {
+ return function () {
+ Fpe(this, i).delay = +s.apply(this, arguments);
+ };
+ }
+ function UDt(i, s) {
+ return (
+ (s = +s),
+ function () {
+ Fpe(this, i).delay = s;
+ }
+ );
+ }
+ function GDt(i) {
+ var s = this._id;
+ return arguments.length
+ ? this.each((typeof i == 'function' ? VDt : UDt)(s, i))
+ : D3(this.node(), s).delay;
+ }
+ function KDt(i, s) {
+ return function () {
+ $4(this, i).duration = +s.apply(this, arguments);
+ };
+ }
+ function WDt(i, s) {
+ return (
+ (s = +s),
+ function () {
+ $4(this, i).duration = s;
+ }
+ );
+ }
+ function YDt(i) {
+ var s = this._id;
+ return arguments.length
+ ? this.each((typeof i == 'function' ? KDt : WDt)(s, i))
+ : D3(this.node(), s).duration;
+ }
+ function XDt(i, s) {
+ if (typeof s != 'function') throw new Error();
+ return function () {
+ $4(this, i).ease = s;
+ };
+ }
+ function QDt(i) {
+ var s = this._id;
+ return arguments.length ? this.each(XDt(s, i)) : D3(this.node(), s).ease;
+ }
+ function JDt(i, s) {
+ return function () {
+ var u = s.apply(this, arguments);
+ if (typeof u != 'function') throw new Error();
+ $4(this, i).ease = u;
+ };
+ }
+ function ZDt(i) {
+ if (typeof i != 'function') throw new Error();
+ return this.each(JDt(this._id, i));
+ }
+ function eIt(i) {
+ typeof i != 'function' && (i = vBe(i));
+ for (var s = this._groups, u = s.length, d = new Array(u), p = 0; p < u; ++p)
+ for (var v = s[p], b = v.length, y = (d[p] = []), T, _ = 0; _ < b; ++_)
+ (T = v[_]) && i.call(T, T.__data__, _, v) && y.push(T);
+ return new p7(d, this._parents, this._name, this._id);
+ }
+ function tIt(i) {
+ if (i._id !== this._id) throw new Error();
+ for (
+ var s = this._groups,
+ u = i._groups,
+ d = s.length,
+ p = u.length,
+ v = Math.min(d, p),
+ b = new Array(d),
+ y = 0;
+ y < v;
+ ++y
+ )
+ for (var T = s[y], _ = u[y], A = T.length, P = (b[y] = new Array(A)), R, F = 0; F < A; ++F)
+ (R = T[F] || _[F]) && (P[F] = R);
+ for (; y < d; ++y) b[y] = s[y];
+ return new p7(b, this._parents, this._name, this._id);
+ }
+ function nIt(i) {
+ return (i + '')
+ .trim()
+ .split(/^|\s+/)
+ .every(function (s) {
+ var u = s.indexOf('.');
+ return (u >= 0 && (s = s.slice(0, u)), !s || s === 'start');
+ });
+ }
+ function rIt(i, s, u) {
+ var d,
+ p,
+ v = nIt(s) ? Fpe : $4;
+ return function () {
+ var b = v(this, i),
+ y = b.on;
+ (y !== d && (p = (d = y).copy()).on(s, u), (b.on = p));
+ };
+ }
+ function iIt(i, s) {
+ var u = this._id;
+ return arguments.length < 2 ? D3(this.node(), u).on.on(i) : this.each(rIt(u, i, s));
+ }
+ function sIt(i) {
+ return function () {
+ var s = this.parentNode;
+ for (var u in this.__transition) if (+u !== i) return;
+ s && s.removeChild(this);
+ };
+ }
+ function aIt() {
+ return this.on('end.remove', sIt(this._id));
+ }
+ function oIt(i) {
+ var s = this._name,
+ u = this._id;
+ typeof i != 'function' && (i = wpe(i));
+ for (var d = this._groups, p = d.length, v = new Array(p), b = 0; b < p; ++b)
+ for (var y = d[b], T = y.length, _ = (v[b] = new Array(T)), A, P, R = 0; R < T; ++R)
+ (A = y[R]) &&
+ (P = i.call(A, A.__data__, R, y)) &&
+ ('__data__' in A && (P.__data__ = A.__data__),
+ (_[R] = P),
+ ZY(_[R], s, u, R, _, D3(A, u)));
+ return new p7(v, this._parents, s, u);
+ }
+ function cIt(i) {
+ var s = this._name,
+ u = this._id;
+ typeof i != 'function' && (i = mBe(i));
+ for (var d = this._groups, p = d.length, v = [], b = [], y = 0; y < p; ++y)
+ for (var T = d[y], _ = T.length, A, P = 0; P < _; ++P)
+ if ((A = T[P])) {
+ for (
+ var R = i.call(A, A.__data__, P, T), F, j = D3(A, u), W = 0, ee = R.length;
+ W < ee;
+ ++W
+ )
+ (F = R[W]) && ZY(F, s, u, W, R, j);
+ (v.push(R), b.push(A));
+ }
+ return new p7(v, b, s, u);
+ }
+ var uIt = mF.prototype.constructor;
+ function lIt() {
+ return new uIt(this._groups, this._parents);
+ }
+ function hIt(i, s) {
+ var u, d, p;
+ return function () {
+ var v = JM(this, i),
+ b = (this.style.removeProperty(i), JM(this, i));
+ return v === b ? null : v === u && b === d ? p : (p = s((u = v), (d = b)));
+ };
+ }
+ function sFe(i) {
+ return function () {
+ this.style.removeProperty(i);
+ };
+ }
+ function fIt(i, s, u) {
+ var d,
+ p = u + '',
+ v;
+ return function () {
+ var b = JM(this, i);
+ return b === p ? null : b === d ? v : (v = s((d = b), u));
+ };
+ }
+ function dIt(i, s, u) {
+ var d, p, v;
+ return function () {
+ var b = JM(this, i),
+ y = u(this),
+ T = y + '';
+ return (
+ y == null && (T = y = (this.style.removeProperty(i), JM(this, i))),
+ b === T ? null : b === d && T === p ? v : ((p = T), (v = s((d = b), y)))
+ );
+ };
+ }
+ function gIt(i, s) {
+ var u,
+ d,
+ p,
+ v = 'style.' + s,
+ b = 'end.' + v,
+ y;
+ return function () {
+ var T = $4(this, i),
+ _ = T.on,
+ A = T.value[v] == null ? y || (y = sFe(s)) : void 0;
+ ((_ !== u || p !== A) && (d = (u = _).copy()).on(b, (p = A)), (T.on = d));
+ };
+ }
+ function pIt(i, s, u) {
+ var d = (i += '') == 'transform' ? bDt : iFe;
+ return s == null
+ ? this.styleTween(i, hIt(i, d)).on('end.style.' + i, sFe(i))
+ : typeof s == 'function'
+ ? this.styleTween(i, dIt(i, d, Rpe(this, 'style.' + i, s))).each(gIt(this._id, i))
+ : this.styleTween(i, fIt(i, d, s), u).on('end.style.' + i, null);
+ }
+ function bIt(i, s, u) {
+ return function (d) {
+ this.style.setProperty(i, s.call(this, d), u);
+ };
+ }
+ function mIt(i, s, u) {
+ var d, p;
+ function v() {
+ var b = s.apply(this, arguments);
+ return (b !== p && (d = (p = b) && bIt(i, b, u)), d);
+ }
+ return ((v._value = s), v);
+ }
+ function vIt(i, s, u) {
+ var d = 'style.' + (i += '');
+ if (arguments.length < 2) return (d = this.tween(d)) && d._value;
+ if (s == null) return this.tween(d, null);
+ if (typeof s != 'function') throw new Error();
+ return this.tween(d, mIt(i, s, u ?? ''));
+ }
+ function wIt(i) {
+ return function () {
+ this.textContent = i;
+ };
+ }
+ function yIt(i) {
+ return function () {
+ var s = i(this);
+ this.textContent = s ?? '';
+ };
+ }
+ function xIt(i) {
+ return this.tween(
+ 'text',
+ typeof i == 'function' ? yIt(Rpe(this, 'text', i)) : wIt(i == null ? '' : i + ''),
+ );
+ }
+ function kIt(i) {
+ return function (s) {
+ this.textContent = i.call(this, s);
+ };
+ }
+ function EIt(i) {
+ var s, u;
+ function d() {
+ var p = i.apply(this, arguments);
+ return (p !== u && (s = (u = p) && kIt(p)), s);
+ }
+ return ((d._value = i), d);
+ }
+ function TIt(i) {
+ var s = 'text';
+ if (arguments.length < 1) return (s = this.tween(s)) && s._value;
+ if (i == null) return this.tween(s, null);
+ if (typeof i != 'function') throw new Error();
+ return this.tween(s, EIt(i));
+ }
+ function CIt() {
+ for (
+ var i = this._name, s = this._id, u = aFe(), d = this._groups, p = d.length, v = 0;
+ v < p;
+ ++v
+ )
+ for (var b = d[v], y = b.length, T, _ = 0; _ < y; ++_)
+ if ((T = b[_])) {
+ var A = D3(T, s);
+ ZY(T, i, u, _, b, {
+ time: A.time + A.delay + A.duration,
+ delay: 0,
+ duration: A.duration,
+ ease: A.ease,
+ });
+ }
+ return new p7(d, this._parents, i, u);
+ }
+ function SIt() {
+ var i,
+ s,
+ u = this,
+ d = u._id,
+ p = u.size();
+ return new Promise(function (v, b) {
+ var y = { value: b },
+ T = {
+ value: function () {
+ --p === 0 && v();
+ },
+ };
+ (u.each(function () {
+ var _ = $4(this, d),
+ A = _.on;
+ (A !== i &&
+ ((s = (i = A).copy()), s._.cancel.push(y), s._.interrupt.push(y), s._.end.push(T)),
+ (_.on = s));
+ }),
+ p === 0 && v());
+ });
+ }
+ var _It = 0;
+ function p7(i, s, u, d) {
+ ((this._groups = i), (this._parents = s), (this._name = u), (this._id = d));
+ }
+ function aFe() {
+ return ++_It;
+ }
+ var b7 = mF.prototype;
+ p7.prototype = {
+ constructor: p7,
+ select: oIt,
+ selectAll: cIt,
+ selectChild: b7.selectChild,
+ selectChildren: b7.selectChildren,
+ filter: eIt,
+ merge: tIt,
+ selection: lIt,
+ transition: CIt,
+ call: b7.call,
+ nodes: b7.nodes,
+ node: b7.node,
+ size: b7.size,
+ empty: b7.empty,
+ each: b7.each,
+ on: iIt,
+ attr: RDt,
+ attrTween: HDt,
+ style: pIt,
+ styleTween: vIt,
+ text: xIt,
+ textTween: TIt,
+ remove: aIt,
+ tween: DDt,
+ delay: GDt,
+ duration: YDt,
+ ease: QDt,
+ easeVarying: ZDt,
+ end: SIt,
+ [Symbol.iterator]: b7[Symbol.iterator],
+ };
+ function AIt(i) {
+ return ((i *= 2) <= 1 ? i * i * i : (i -= 2) * i * i + 2) / 2;
+ }
+ var LIt = { time: null, delay: 0, duration: 250, ease: AIt };
+ function MIt(i, s) {
+ for (var u; !(u = i.__transition) || !(u = u[s]); )
+ if (!(i = i.parentNode)) throw new Error(`transition ${s} not found`);
+ return u;
+ }
+ function DIt(i) {
+ var s, u;
+ i instanceof p7
+ ? ((s = i._id), (i = i._name))
+ : ((s = aFe()), ((u = LIt).time = Ope()), (i = i == null ? null : i + ''));
+ for (var d = this._groups, p = d.length, v = 0; v < p; ++v)
+ for (var b = d[v], y = b.length, T, _ = 0; _ < y; ++_)
+ (T = b[_]) && ZY(T, i, s, _, b, u || MIt(T, s));
+ return new p7(d, this._parents, i, s);
+ }
+ ((mF.prototype.interrupt = ADt), (mF.prototype.transition = DIt));
+ const jpe = Math.PI,
+ $pe = 2 * jpe,
+ bC = 1e-6,
+ IIt = $pe - bC;
+ function oFe(i) {
+ this._ += i[0];
+ for (let s = 1, u = i.length; s < u; ++s) this._ += arguments[s] + i[s];
+ }
+ function OIt(i) {
+ let s = Math.floor(i);
+ if (!(s >= 0)) throw new Error(`invalid digits: ${i}`);
+ if (s > 15) return oFe;
+ const u = 10 ** s;
+ return function (d) {
+ this._ += d[0];
+ for (let p = 1, v = d.length; p < v; ++p) this._ += Math.round(arguments[p] * u) / u + d[p];
+ };
+ }
+ let NIt = class {
+ constructor(s) {
+ ((this._x0 = this._y0 = this._x1 = this._y1 = null),
+ (this._ = ''),
+ (this._append = s == null ? oFe : OIt(s)));
+ }
+ moveTo(s, u) {
+ this._append`M${(this._x0 = this._x1 = +s)},${(this._y0 = this._y1 = +u)}`;
+ }
+ closePath() {
+ this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`);
+ }
+ lineTo(s, u) {
+ this._append`L${(this._x1 = +s)},${(this._y1 = +u)}`;
+ }
+ quadraticCurveTo(s, u, d, p) {
+ this._append`Q${+s},${+u},${(this._x1 = +d)},${(this._y1 = +p)}`;
+ }
+ bezierCurveTo(s, u, d, p, v, b) {
+ this._append`C${+s},${+u},${+d},${+p},${(this._x1 = +v)},${(this._y1 = +b)}`;
+ }
+ arcTo(s, u, d, p, v) {
+ if (((s = +s), (u = +u), (d = +d), (p = +p), (v = +v), v < 0))
+ throw new Error(`negative radius: ${v}`);
+ let b = this._x1,
+ y = this._y1,
+ T = d - s,
+ _ = p - u,
+ A = b - s,
+ P = y - u,
+ R = A * A + P * P;
+ if (this._x1 === null) this._append`M${(this._x1 = s)},${(this._y1 = u)}`;
+ else if (R > bC)
+ if (!(Math.abs(P * T - _ * A) > bC) || !v)
+ this._append`L${(this._x1 = s)},${(this._y1 = u)}`;
+ else {
+ let F = d - b,
+ j = p - y,
+ W = T * T + _ * _,
+ ee = F * F + j * j,
+ ie = Math.sqrt(W),
+ oe = Math.sqrt(R),
+ be = v * Math.tan((jpe - Math.acos((W + R - ee) / (2 * ie * oe))) / 2),
+ ge = be / oe,
+ ae = be / ie;
+ (Math.abs(ge - 1) > bC && this._append`L${s + ge * A},${u + ge * P}`,
+ this
+ ._append`A${v},${v},0,0,${+(P * F > A * j)},${(this._x1 = s + ae * T)},${(this._y1 = u + ae * _)}`);
+ }
+ }
+ arc(s, u, d, p, v, b) {
+ if (((s = +s), (u = +u), (d = +d), (b = !!b), d < 0))
+ throw new Error(`negative radius: ${d}`);
+ let y = d * Math.cos(p),
+ T = d * Math.sin(p),
+ _ = s + y,
+ A = u + T,
+ P = 1 ^ b,
+ R = b ? p - v : v - p;
+ (this._x1 === null
+ ? this._append`M${_},${A}`
+ : (Math.abs(this._x1 - _) > bC || Math.abs(this._y1 - A) > bC) && this._append`L${_},${A}`,
+ d &&
+ (R < 0 && (R = (R % $pe) + $pe),
+ R > IIt
+ ? this
+ ._append`A${d},${d},0,1,${P},${s - y},${u - T}A${d},${d},0,1,${P},${(this._x1 = _)},${(this._y1 = A)}`
+ : R > bC &&
+ this
+ ._append`A${d},${d},0,${+(R >= jpe)},${P},${(this._x1 = s + d * Math.cos(v))},${(this._y1 = u + d * Math.sin(v))}`));
+ }
+ rect(s, u, d, p) {
+ this
+ ._append`M${(this._x0 = this._x1 = +s)},${(this._y0 = this._y1 = +u)}h${(d = +d)}v${+p}h${-d}Z`;
+ }
+ toString() {
+ return this._;
+ }
+ };
+ function PIt(i) {
+ if (!i.ok) throw new Error(i.status + ' ' + i.statusText);
+ return i.text();
+ }
+ function BIt(i, s) {
+ return fetch(i, s).then(PIt);
+ }
+ function FIt(i) {
+ return (s, u) => BIt(s, u).then((d) => new DOMParser().parseFromString(d, i));
+ }
+ var RIt = FIt('image/svg+xml');
+ function jIt(i) {
+ return Math.abs((i = Math.round(i))) >= 1e21
+ ? i.toLocaleString('en').replace(/,/g, '')
+ : i.toString(10);
+ }
+ function eX(i, s) {
+ if ((u = (i = s ? i.toExponential(s - 1) : i.toExponential()).indexOf('e')) < 0) return null;
+ var u,
+ d = i.slice(0, u);
+ return [d.length > 1 ? d[0] + d.slice(2) : d, +i.slice(u + 1)];
+ }
+ function nD(i) {
+ return ((i = eX(Math.abs(i))), i ? i[1] : NaN);
+ }
+ function $It(i, s) {
+ return function (u, d) {
+ for (
+ var p = u.length, v = [], b = 0, y = i[0], T = 0;
+ p > 0 &&
+ y > 0 &&
+ (T + y + 1 > d && (y = Math.max(1, d - T)),
+ v.push(u.substring((p -= y), p + y)),
+ !((T += y + 1) > d));
+ )
+ y = i[(b = (b + 1) % i.length)];
+ return v.reverse().join(s);
+ };
+ }
+ function zIt(i) {
+ return function (s) {
+ return s.replace(/[0-9]/g, function (u) {
+ return i[+u];
+ });
+ };
+ }
+ var qIt = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
+ function tX(i) {
+ if (!(s = qIt.exec(i))) throw new Error('invalid format: ' + i);
+ var s;
+ return new zpe({
+ fill: s[1],
+ align: s[2],
+ sign: s[3],
+ symbol: s[4],
+ zero: s[5],
+ width: s[6],
+ comma: s[7],
+ precision: s[8] && s[8].slice(1),
+ trim: s[9],
+ type: s[10],
+ });
+ }
+ tX.prototype = zpe.prototype;
+ function zpe(i) {
+ ((this.fill = i.fill === void 0 ? ' ' : i.fill + ''),
+ (this.align = i.align === void 0 ? '>' : i.align + ''),
+ (this.sign = i.sign === void 0 ? '-' : i.sign + ''),
+ (this.symbol = i.symbol === void 0 ? '' : i.symbol + ''),
+ (this.zero = !!i.zero),
+ (this.width = i.width === void 0 ? void 0 : +i.width),
+ (this.comma = !!i.comma),
+ (this.precision = i.precision === void 0 ? void 0 : +i.precision),
+ (this.trim = !!i.trim),
+ (this.type = i.type === void 0 ? '' : i.type + ''));
+ }
+ zpe.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 HIt(i) {
+ e: for (var s = i.length, u = 1, d = -1, p; u < s; ++u)
+ switch (i[u]) {
+ case '.':
+ d = p = u;
+ break;
+ case '0':
+ (d === 0 && (d = u), (p = u));
+ break;
+ default:
+ if (!+i[u]) break e;
+ d > 0 && (d = 0);
+ break;
+ }
+ return d > 0 ? i.slice(0, d) + i.slice(p + 1) : i;
+ }
+ var cFe;
+ function VIt(i, s) {
+ var u = eX(i, s);
+ if (!u) return i + '';
+ var d = u[0],
+ p = u[1],
+ v = p - (cFe = Math.max(-8, Math.min(8, Math.floor(p / 3))) * 3) + 1,
+ b = d.length;
+ return v === b
+ ? d
+ : v > b
+ ? d + new Array(v - b + 1).join('0')
+ : v > 0
+ ? d.slice(0, v) + '.' + d.slice(v)
+ : '0.' + new Array(1 - v).join('0') + eX(i, Math.max(0, s + v - 1))[0];
+ }
+ function uFe(i, s) {
+ var u = eX(i, s);
+ if (!u) return i + '';
+ var d = u[0],
+ p = u[1];
+ return p < 0
+ ? '0.' + new Array(-p).join('0') + d
+ : d.length > p + 1
+ ? d.slice(0, p + 1) + '.' + d.slice(p + 1)
+ : d + new Array(p - d.length + 2).join('0');
+ }
+ const lFe = {
+ '%': (i, s) => (i * 100).toFixed(s),
+ b: (i) => Math.round(i).toString(2),
+ c: (i) => i + '',
+ d: jIt,
+ e: (i, s) => i.toExponential(s),
+ f: (i, s) => i.toFixed(s),
+ g: (i, s) => i.toPrecision(s),
+ o: (i) => Math.round(i).toString(8),
+ p: (i, s) => uFe(i * 100, s),
+ r: uFe,
+ s: VIt,
+ X: (i) => Math.round(i).toString(16).toUpperCase(),
+ x: (i) => Math.round(i).toString(16),
+ };
+ function hFe(i) {
+ return i;
+ }
+ var fFe = Array.prototype.map,
+ dFe = ['y', 'z', 'a', 'f', 'p', 'n', 'µ', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];
+ function UIt(i) {
+ var s =
+ i.grouping === void 0 || i.thousands === void 0
+ ? hFe
+ : $It(fFe.call(i.grouping, Number), i.thousands + ''),
+ u = i.currency === void 0 ? '' : i.currency[0] + '',
+ d = i.currency === void 0 ? '' : i.currency[1] + '',
+ p = i.decimal === void 0 ? '.' : i.decimal + '',
+ v = i.numerals === void 0 ? hFe : zIt(fFe.call(i.numerals, String)),
+ b = i.percent === void 0 ? '%' : i.percent + '',
+ y = i.minus === void 0 ? '−' : i.minus + '',
+ T = i.nan === void 0 ? 'NaN' : i.nan + '';
+ function _(P) {
+ P = tX(P);
+ var R = P.fill,
+ F = P.align,
+ j = P.sign,
+ W = P.symbol,
+ ee = P.zero,
+ ie = P.width,
+ oe = P.comma,
+ be = P.precision,
+ ge = P.trim,
+ ae = P.type;
+ (ae === 'n'
+ ? ((oe = !0), (ae = 'g'))
+ : lFe[ae] || (be === void 0 && (be = 12), (ge = !0), (ae = 'g')),
+ (ee || (R === '0' && F === '=')) && ((ee = !0), (R = '0'), (F = '=')));
+ var ne = W === '$' ? u : W === '#' && /[boxX]/.test(ae) ? '0' + ae.toLowerCase() : '',
+ se = W === '$' ? d : /[%p]/.test(ae) ? b : '',
+ de = lFe[ae],
+ X = /[defgprs%]/.test(ae);
+ be =
+ be === void 0
+ ? 6
+ : /[gprs]/.test(ae)
+ ? Math.max(1, Math.min(21, be))
+ : Math.max(0, Math.min(20, be));
+ function pe(G) {
+ var xe = ne,
+ U = se,
+ Be,
+ Ne,
+ je;
+ if (ae === 'c') ((U = de(G) + U), (G = ''));
+ else {
+ G = +G;
+ var Ie = G < 0 || 1 / G < 0;
+ if (
+ ((G = isNaN(G) ? T : de(Math.abs(G), be)),
+ ge && (G = HIt(G)),
+ Ie && +G == 0 && j !== '+' && (Ie = !1),
+ (xe = (Ie ? (j === '(' ? j : y) : j === '-' || j === '(' ? '' : j) + xe),
+ (U = (ae === 's' ? dFe[8 + cFe / 3] : '') + U + (Ie && j === '(' ? ')' : '')),
+ X)
+ ) {
+ for (Be = -1, Ne = G.length; ++Be < Ne; )
+ if (((je = G.charCodeAt(Be)), 48 > je || je > 57)) {
+ ((U = (je === 46 ? p + G.slice(Be + 1) : G.slice(Be)) + U), (G = G.slice(0, Be)));
+ break;
+ }
+ }
+ }
+ oe && !ee && (G = s(G, 1 / 0));
+ var Se = xe.length + G.length + U.length,
+ Ce = Se < ie ? new Array(ie - Se + 1).join(R) : '';
+ switch ((oe && ee && ((G = s(Ce + G, Ce.length ? ie - U.length : 1 / 0)), (Ce = '')), F)) {
+ case '<':
+ G = xe + G + U + Ce;
+ break;
+ case '=':
+ G = xe + Ce + G + U;
+ break;
+ case '^':
+ G = Ce.slice(0, (Se = Ce.length >> 1)) + xe + G + U + Ce.slice(Se);
+ break;
+ default:
+ G = Ce + xe + G + U;
+ break;
+ }
+ return v(G);
+ }
+ return (
+ (pe.toString = function () {
+ return P + '';
+ }),
+ pe
+ );
+ }
+ function A(P, R) {
+ var F = _(((P = tX(P)), (P.type = 'f'), P)),
+ j = Math.max(-8, Math.min(8, Math.floor(nD(R) / 3))) * 3,
+ W = Math.pow(10, -j),
+ ee = dFe[8 + j / 3];
+ return function (ie) {
+ return F(W * ie) + ee;
+ };
+ }
+ return { format: _, formatPrefix: A };
+ }
+ var nX, gFe, pFe;
+ GIt({ thousands: ',', grouping: [3], currency: ['$', ''] });
+ function GIt(i) {
+ return ((nX = UIt(i)), (gFe = nX.format), (pFe = nX.formatPrefix), nX);
+ }
+ function KIt(i) {
+ return Math.max(0, -nD(Math.abs(i)));
+ }
+ function WIt(i, s) {
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(nD(s) / 3))) * 3 - nD(Math.abs(i)));
+ }
+ function YIt(i, s) {
+ return ((i = Math.abs(i)), (s = Math.abs(s) - i), Math.max(0, nD(s) - nD(i)) + 1);
+ }
+ function rX(i, s) {
+ switch (arguments.length) {
+ case 0:
+ break;
+ case 1:
+ this.range(i);
+ break;
+ default:
+ this.range(s).domain(i);
+ break;
+ }
+ return this;
+ }
+ const bFe = Symbol('implicit');
+ function SF() {
+ var i = new cBe(),
+ s = [],
+ u = [],
+ d = bFe;
+ function p(v) {
+ let b = i.get(v);
+ if (b === void 0) {
+ if (d !== bFe) return d;
+ i.set(v, (b = s.push(v) - 1));
+ }
+ return u[b % u.length];
+ }
+ return (
+ (p.domain = function (v) {
+ if (!arguments.length) return s.slice();
+ ((s = []), (i = new cBe()));
+ for (const b of v) i.has(b) || i.set(b, s.push(b) - 1);
+ return p;
+ }),
+ (p.range = function (v) {
+ return arguments.length ? ((u = Array.from(v)), p) : u.slice();
+ }),
+ (p.unknown = function (v) {
+ return arguments.length ? ((d = v), p) : d;
+ }),
+ (p.copy = function () {
+ return SF(s, u).unknown(d);
+ }),
+ rX.apply(p, arguments),
+ p
+ );
+ }
+ function qpe() {
+ var i = SF().unknown(void 0),
+ s = i.domain,
+ u = i.range,
+ d = 0,
+ p = 1,
+ v,
+ b,
+ y = !1,
+ T = 0,
+ _ = 0,
+ A = 0.5;
+ delete i.unknown;
+ function P() {
+ var R = s().length,
+ F = p < d,
+ j = F ? p : d,
+ W = F ? d : p;
+ ((v = (W - j) / Math.max(1, R - T + _ * 2)),
+ y && (v = Math.floor(v)),
+ (j += (W - j - v * (R - T)) * A),
+ (b = v * (1 - T)),
+ y && ((j = Math.round(j)), (b = Math.round(b))));
+ var ee = JAt(R).map(function (ie) {
+ return j + v * ie;
+ });
+ return u(F ? ee.reverse() : ee);
+ }
+ return (
+ (i.domain = function (R) {
+ return arguments.length ? (s(R), P()) : s();
+ }),
+ (i.range = function (R) {
+ return arguments.length ? (([d, p] = R), (d = +d), (p = +p), P()) : [d, p];
+ }),
+ (i.rangeRound = function (R) {
+ return (([d, p] = R), (d = +d), (p = +p), (y = !0), P());
+ }),
+ (i.bandwidth = function () {
+ return b;
+ }),
+ (i.step = function () {
+ return v;
+ }),
+ (i.round = function (R) {
+ return arguments.length ? ((y = !!R), P()) : y;
+ }),
+ (i.padding = function (R) {
+ return arguments.length ? ((T = Math.min(1, (_ = +R))), P()) : T;
+ }),
+ (i.paddingInner = function (R) {
+ return arguments.length ? ((T = Math.min(1, R)), P()) : T;
+ }),
+ (i.paddingOuter = function (R) {
+ return arguments.length ? ((_ = +R), P()) : _;
+ }),
+ (i.align = function (R) {
+ return arguments.length ? ((A = Math.max(0, Math.min(1, R))), P()) : A;
+ }),
+ (i.copy = function () {
+ return qpe(s(), [d, p]).round(y).paddingInner(T).paddingOuter(_).align(A);
+ }),
+ rX.apply(P(), arguments)
+ );
+ }
+ function XIt(i) {
+ return function () {
+ return i;
+ };
+ }
+ function QIt(i) {
+ return +i;
+ }
+ var mFe = [0, 1];
+ function rD(i) {
+ return i;
+ }
+ function Hpe(i, s) {
+ return (s -= i = +i)
+ ? function (u) {
+ return (u - i) / s;
+ }
+ : XIt(isNaN(s) ? NaN : 0.5);
+ }
+ function JIt(i, s) {
+ var u;
+ return (
+ i > s && ((u = i), (i = s), (s = u)),
+ function (d) {
+ return Math.max(i, Math.min(s, d));
+ }
+ );
+ }
+ function ZIt(i, s, u) {
+ var d = i[0],
+ p = i[1],
+ v = s[0],
+ b = s[1];
+ return (
+ p < d ? ((d = Hpe(p, d)), (v = u(b, v))) : ((d = Hpe(d, p)), (v = u(v, b))),
+ function (y) {
+ return v(d(y));
+ }
+ );
+ }
+ function eOt(i, s, u) {
+ var d = Math.min(i.length, s.length) - 1,
+ p = new Array(d),
+ v = new Array(d),
+ b = -1;
+ for (i[d] < i[0] && ((i = i.slice().reverse()), (s = s.slice().reverse())); ++b < d; )
+ ((p[b] = Hpe(i[b], i[b + 1])), (v[b] = u(s[b], s[b + 1])));
+ return function (y) {
+ var T = qAt(i, y, 1, d) - 1;
+ return v[T](p[T](y));
+ };
+ }
+ function vFe(i, s) {
+ return s
+ .domain(i.domain())
+ .range(i.range())
+ .interpolate(i.interpolate())
+ .clamp(i.clamp())
+ .unknown(i.unknown());
+ }
+ function tOt() {
+ var i = mFe,
+ s = mFe,
+ u = Dpe,
+ d,
+ p,
+ v,
+ b = rD,
+ y,
+ T,
+ _;
+ function A() {
+ var R = Math.min(i.length, s.length);
+ return (b !== rD && (b = JIt(i[0], i[R - 1])), (y = R > 2 ? eOt : ZIt), (T = _ = null), P);
+ }
+ function P(R) {
+ return R == null || isNaN((R = +R)) ? v : (T || (T = y(i.map(d), s, u)))(d(b(R)));
+ }
+ return (
+ (P.invert = function (R) {
+ return b(p((_ || (_ = y(s, i.map(d), M3)))(R)));
+ }),
+ (P.domain = function (R) {
+ return arguments.length ? ((i = Array.from(R, QIt)), A()) : i.slice();
+ }),
+ (P.range = function (R) {
+ return arguments.length ? ((s = Array.from(R)), A()) : s.slice();
+ }),
+ (P.rangeRound = function (R) {
+ return ((s = Array.from(R)), (u = dDt), A());
+ }),
+ (P.clamp = function (R) {
+ return arguments.length ? ((b = R ? !0 : rD), A()) : b !== rD;
+ }),
+ (P.interpolate = function (R) {
+ return arguments.length ? ((u = R), A()) : u;
+ }),
+ (P.unknown = function (R) {
+ return arguments.length ? ((v = R), P) : v;
+ }),
+ function (R, F) {
+ return ((d = R), (p = F), A());
+ }
+ );
+ }
+ function wFe() {
+ return tOt()(rD, rD);
+ }
+ function nOt(i, s, u, d) {
+ var p = ppe(i, s, u),
+ v;
+ switch (((d = tX(d ?? ',f')), d.type)) {
+ case 's': {
+ var b = Math.max(Math.abs(i), Math.abs(s));
+ return (d.precision == null && !isNaN((v = WIt(p, b))) && (d.precision = v), pFe(d, b));
+ }
+ case '':
+ case 'e':
+ case 'g':
+ case 'p':
+ case 'r': {
+ d.precision == null &&
+ !isNaN((v = YIt(p, Math.max(Math.abs(i), Math.abs(s))))) &&
+ (d.precision = v - (d.type === 'e'));
+ break;
+ }
+ case 'f':
+ case '%': {
+ d.precision == null && !isNaN((v = KIt(p))) && (d.precision = v - (d.type === '%') * 2);
+ break;
+ }
+ }
+ return gFe(d);
+ }
+ function rOt(i) {
+ var s = i.domain;
+ return (
+ (i.ticks = function (u) {
+ var d = s();
+ return YAt(d[0], d[d.length - 1], u ?? 10);
+ }),
+ (i.tickFormat = function (u, d) {
+ var p = s();
+ return nOt(p[0], p[p.length - 1], u ?? 10, d);
+ }),
+ (i.nice = function (u) {
+ u == null && (u = 10);
+ var d = s(),
+ p = 0,
+ v = d.length - 1,
+ b = d[p],
+ y = d[v],
+ T,
+ _,
+ A = 10;
+ for (y < b && ((_ = b), (b = y), (y = _), (_ = p), (p = v), (v = _)); A-- > 0; ) {
+ if (((_ = gpe(b, y, u)), _ === T)) return ((d[p] = b), (d[v] = y), s(d));
+ if (_ > 0) ((b = Math.floor(b / _) * _), (y = Math.ceil(y / _) * _));
+ else if (_ < 0) ((b = Math.ceil(b * _) / _), (y = Math.floor(y * _) / _));
+ else break;
+ T = _;
+ }
+ return i;
+ }),
+ i
+ );
+ }
+ function iD() {
+ var i = wFe();
+ return (
+ (i.copy = function () {
+ return vFe(i, iD());
+ }),
+ rX.apply(i, arguments),
+ rOt(i)
+ );
+ }
+ function iOt(i, s) {
+ i = i.slice();
+ var u = 0,
+ d = i.length - 1,
+ p = i[u],
+ v = i[d],
+ b;
+ return (
+ v < p && ((b = u), (u = d), (d = b), (b = p), (p = v), (v = b)),
+ (i[u] = s.floor(p)),
+ (i[d] = s.ceil(v)),
+ i
+ );
+ }
+ const Vpe = new Date(),
+ Upe = new Date();
+ function c1(i, s, u, d) {
+ function p(v) {
+ return (i((v = arguments.length === 0 ? new Date() : new Date(+v))), v);
+ }
+ return (
+ (p.floor = (v) => (i((v = new Date(+v))), v)),
+ (p.ceil = (v) => (i((v = new Date(v - 1))), s(v, 1), i(v), v)),
+ (p.round = (v) => {
+ const b = p(v),
+ y = p.ceil(v);
+ return v - b < y - v ? b : y;
+ }),
+ (p.offset = (v, b) => (s((v = new Date(+v)), b == null ? 1 : Math.floor(b)), v)),
+ (p.range = (v, b, y) => {
+ const T = [];
+ if (((v = p.ceil(v)), (y = y == null ? 1 : Math.floor(y)), !(v < b) || !(y > 0))) return T;
+ let _;
+ do (T.push((_ = new Date(+v))), s(v, y), i(v));
+ while (_ < v && v < b);
+ return T;
+ }),
+ (p.filter = (v) =>
+ c1(
+ (b) => {
+ if (b >= b) for (; i(b), !v(b); ) b.setTime(b - 1);
+ },
+ (b, y) => {
+ if (b >= b)
+ if (y < 0) for (; ++y <= 0; ) for (; s(b, -1), !v(b); );
+ else for (; --y >= 0; ) for (; s(b, 1), !v(b); );
+ },
+ )),
+ u &&
+ ((p.count = (v, b) => (
+ Vpe.setTime(+v),
+ Upe.setTime(+b),
+ i(Vpe),
+ i(Upe),
+ Math.floor(u(Vpe, Upe))
+ )),
+ (p.every = (v) => (
+ (v = Math.floor(v)),
+ !isFinite(v) || !(v > 0)
+ ? null
+ : v > 1
+ ? p.filter(d ? (b) => d(b) % v === 0 : (b) => p.count(0, b) % v === 0)
+ : p
+ ))),
+ p
+ );
+ }
+ const sD = c1(
+ () => {},
+ (i, s) => {
+ i.setTime(+i + s);
+ },
+ (i, s) => s - i,
+ );
+ ((sD.every = (i) => (
+ (i = Math.floor(i)),
+ !isFinite(i) || !(i > 0)
+ ? null
+ : i > 1
+ ? c1(
+ (s) => {
+ s.setTime(Math.floor(s / i) * i);
+ },
+ (s, u) => {
+ s.setTime(+s + u * i);
+ },
+ (s, u) => (u - s) / i,
+ )
+ : sD
+ )),
+ sD.range);
+ const m7 = 1e3,
+ Lv = m7 * 60,
+ v7 = Lv * 60,
+ w7 = v7 * 24,
+ Gpe = w7 * 7,
+ yFe = w7 * 30,
+ Kpe = w7 * 365,
+ p9 = c1(
+ (i) => {
+ i.setTime(i - i.getMilliseconds());
+ },
+ (i, s) => {
+ i.setTime(+i + s * m7);
+ },
+ (i, s) => (s - i) / m7,
+ (i) => i.getUTCSeconds(),
+ );
+ p9.range;
+ const _F = c1(
+ (i) => {
+ i.setTime(i - i.getMilliseconds() - i.getSeconds() * m7);
+ },
+ (i, s) => {
+ i.setTime(+i + s * Lv);
+ },
+ (i, s) => (s - i) / Lv,
+ (i) => i.getMinutes(),
+ );
+ (_F.range,
+ c1(
+ (i) => {
+ i.setUTCSeconds(0, 0);
+ },
+ (i, s) => {
+ i.setTime(+i + s * Lv);
+ },
+ (i, s) => (s - i) / Lv,
+ (i) => i.getUTCMinutes(),
+ ).range);
+ const AF = c1(
+ (i) => {
+ i.setTime(i - i.getMilliseconds() - i.getSeconds() * m7 - i.getMinutes() * Lv);
+ },
+ (i, s) => {
+ i.setTime(+i + s * v7);
+ },
+ (i, s) => (s - i) / v7,
+ (i) => i.getHours(),
+ );
+ (AF.range,
+ c1(
+ (i) => {
+ i.setUTCMinutes(0, 0, 0);
+ },
+ (i, s) => {
+ i.setTime(+i + s * v7);
+ },
+ (i, s) => (s - i) / v7,
+ (i) => i.getUTCHours(),
+ ).range);
+ const mC = c1(
+ (i) => i.setHours(0, 0, 0, 0),
+ (i, s) => i.setDate(i.getDate() + s),
+ (i, s) => (s - i - (s.getTimezoneOffset() - i.getTimezoneOffset()) * Lv) / w7,
+ (i) => i.getDate() - 1,
+ );
+ mC.range;
+ const Wpe = c1(
+ (i) => {
+ i.setUTCHours(0, 0, 0, 0);
+ },
+ (i, s) => {
+ i.setUTCDate(i.getUTCDate() + s);
+ },
+ (i, s) => (s - i) / w7,
+ (i) => i.getUTCDate() - 1,
+ );
+ (Wpe.range,
+ c1(
+ (i) => {
+ i.setUTCHours(0, 0, 0, 0);
+ },
+ (i, s) => {
+ i.setUTCDate(i.getUTCDate() + s);
+ },
+ (i, s) => (s - i) / w7,
+ (i) => Math.floor(i / w7),
+ ).range);
+ function vC(i) {
+ return c1(
+ (s) => {
+ (s.setDate(s.getDate() - ((s.getDay() + 7 - i) % 7)), s.setHours(0, 0, 0, 0));
+ },
+ (s, u) => {
+ s.setDate(s.getDate() + u * 7);
+ },
+ (s, u) => (u - s - (u.getTimezoneOffset() - s.getTimezoneOffset()) * Lv) / Gpe,
+ );
+ }
+ const LF = vC(0),
+ MF = vC(1),
+ xFe = vC(2),
+ kFe = vC(3),
+ wC = vC(4),
+ EFe = vC(5),
+ TFe = vC(6);
+ (LF.range, MF.range, xFe.range, kFe.range, wC.range, EFe.range, TFe.range);
+ function yC(i) {
+ return c1(
+ (s) => {
+ (s.setUTCDate(s.getUTCDate() - ((s.getUTCDay() + 7 - i) % 7)), s.setUTCHours(0, 0, 0, 0));
+ },
+ (s, u) => {
+ s.setUTCDate(s.getUTCDate() + u * 7);
+ },
+ (s, u) => (u - s) / Gpe,
+ );
+ }
+ const CFe = yC(0),
+ iX = yC(1),
+ sOt = yC(2),
+ aOt = yC(3),
+ aD = yC(4),
+ oOt = yC(5),
+ cOt = yC(6);
+ (CFe.range, iX.range, sOt.range, aOt.range, aD.range, oOt.range, cOt.range);
+ const DF = c1(
+ (i) => {
+ (i.setDate(1), i.setHours(0, 0, 0, 0));
+ },
+ (i, s) => {
+ i.setMonth(i.getMonth() + s);
+ },
+ (i, s) => s.getMonth() - i.getMonth() + (s.getFullYear() - i.getFullYear()) * 12,
+ (i) => i.getMonth(),
+ );
+ (DF.range,
+ c1(
+ (i) => {
+ (i.setUTCDate(1), i.setUTCHours(0, 0, 0, 0));
+ },
+ (i, s) => {
+ i.setUTCMonth(i.getUTCMonth() + s);
+ },
+ (i, s) => s.getUTCMonth() - i.getUTCMonth() + (s.getUTCFullYear() - i.getUTCFullYear()) * 12,
+ (i) => i.getUTCMonth(),
+ ).range);
+ const y7 = c1(
+ (i) => {
+ (i.setMonth(0, 1), i.setHours(0, 0, 0, 0));
+ },
+ (i, s) => {
+ i.setFullYear(i.getFullYear() + s);
+ },
+ (i, s) => s.getFullYear() - i.getFullYear(),
+ (i) => i.getFullYear(),
+ );
+ ((y7.every = (i) =>
+ !isFinite((i = Math.floor(i))) || !(i > 0)
+ ? null
+ : c1(
+ (s) => {
+ (s.setFullYear(Math.floor(s.getFullYear() / i) * i),
+ s.setMonth(0, 1),
+ s.setHours(0, 0, 0, 0));
+ },
+ (s, u) => {
+ s.setFullYear(s.getFullYear() + u * i);
+ },
+ )),
+ y7.range);
+ const xC = c1(
+ (i) => {
+ (i.setUTCMonth(0, 1), i.setUTCHours(0, 0, 0, 0));
+ },
+ (i, s) => {
+ i.setUTCFullYear(i.getUTCFullYear() + s);
+ },
+ (i, s) => s.getUTCFullYear() - i.getUTCFullYear(),
+ (i) => i.getUTCFullYear(),
+ );
+ ((xC.every = (i) =>
+ !isFinite((i = Math.floor(i))) || !(i > 0)
+ ? null
+ : c1(
+ (s) => {
+ (s.setUTCFullYear(Math.floor(s.getUTCFullYear() / i) * i),
+ s.setUTCMonth(0, 1),
+ s.setUTCHours(0, 0, 0, 0));
+ },
+ (s, u) => {
+ s.setUTCFullYear(s.getUTCFullYear() + u * i);
+ },
+ )),
+ xC.range);
+ function uOt(i, s, u, d, p, v) {
+ const b = [
+ [p9, 1, m7],
+ [p9, 5, 5 * m7],
+ [p9, 15, 15 * m7],
+ [p9, 30, 30 * m7],
+ [v, 1, Lv],
+ [v, 5, 5 * Lv],
+ [v, 15, 15 * Lv],
+ [v, 30, 30 * Lv],
+ [p, 1, v7],
+ [p, 3, 3 * v7],
+ [p, 6, 6 * v7],
+ [p, 12, 12 * v7],
+ [d, 1, w7],
+ [d, 2, 2 * w7],
+ [u, 1, Gpe],
+ [s, 1, yFe],
+ [s, 3, 3 * yFe],
+ [i, 1, Kpe],
+ ];
+ function y(_, A, P) {
+ const R = A < _;
+ R && ([_, A] = [A, _]);
+ const F = P && typeof P.range == 'function' ? P : T(_, A, P),
+ j = F ? F.range(_, +A + 1) : [];
+ return R ? j.reverse() : j;
+ }
+ function T(_, A, P) {
+ const R = Math.abs(A - _) / P,
+ F = dpe(([, , ee]) => ee).right(b, R);
+ if (F === b.length) return i.every(ppe(_ / Kpe, A / Kpe, P));
+ if (F === 0) return sD.every(Math.max(ppe(_, A, P), 1));
+ const [j, W] = b[R / b[F - 1][2] < b[F][2] / R ? F - 1 : F];
+ return j.every(W);
+ }
+ return [y, T];
+ }
+ const [lOt, hOt] = uOt(y7, DF, LF, mC, AF, _F);
+ function Ype(i) {
+ if (0 <= i.y && i.y < 100) {
+ var s = new Date(-1, i.m, i.d, i.H, i.M, i.S, i.L);
+ return (s.setFullYear(i.y), s);
+ }
+ return new Date(i.y, i.m, i.d, i.H, i.M, i.S, i.L);
+ }
+ function Xpe(i) {
+ if (0 <= i.y && i.y < 100) {
+ var s = new Date(Date.UTC(-1, i.m, i.d, i.H, i.M, i.S, i.L));
+ return (s.setUTCFullYear(i.y), s);
+ }
+ return new Date(Date.UTC(i.y, i.m, i.d, i.H, i.M, i.S, i.L));
+ }
+ function IF(i, s, u) {
+ return { y: i, m: s, d: u, H: 0, M: 0, S: 0, L: 0 };
+ }
+ function fOt(i) {
+ var s = i.dateTime,
+ u = i.date,
+ d = i.time,
+ p = i.periods,
+ v = i.days,
+ b = i.shortDays,
+ y = i.months,
+ T = i.shortMonths,
+ _ = OF(p),
+ A = NF(p),
+ P = OF(v),
+ R = NF(v),
+ F = OF(b),
+ j = NF(b),
+ W = OF(y),
+ ee = NF(y),
+ ie = OF(T),
+ oe = NF(T),
+ be = {
+ a: Ie,
+ A: Se,
+ b: Ce,
+ B: ke,
+ c: null,
+ d: DFe,
+ e: DFe,
+ f: POt,
+ g: UOt,
+ G: KOt,
+ H: IOt,
+ I: OOt,
+ j: NOt,
+ L: IFe,
+ m: BOt,
+ M: FOt,
+ p: Ke,
+ q: Ft,
+ Q: RFe,
+ s: jFe,
+ S: ROt,
+ u: jOt,
+ U: $Ot,
+ V: zOt,
+ w: qOt,
+ W: HOt,
+ x: null,
+ X: null,
+ y: VOt,
+ Y: GOt,
+ Z: WOt,
+ '%': FFe,
+ },
+ ge = {
+ a: Pe,
+ A: gn,
+ b: kt,
+ B: Et,
+ c: null,
+ d: NFe,
+ e: NFe,
+ f: JOt,
+ g: cNt,
+ G: lNt,
+ H: YOt,
+ I: XOt,
+ j: QOt,
+ L: PFe,
+ m: ZOt,
+ M: eNt,
+ p: Gt,
+ q: ln,
+ Q: RFe,
+ s: jFe,
+ S: tNt,
+ u: nNt,
+ U: rNt,
+ V: iNt,
+ w: sNt,
+ W: aNt,
+ x: null,
+ X: null,
+ y: oNt,
+ Y: uNt,
+ Z: hNt,
+ '%': FFe,
+ },
+ ae = {
+ a: pe,
+ A: G,
+ b: xe,
+ B: U,
+ c: Be,
+ d: LFe,
+ e: LFe,
+ f: AOt,
+ g: AFe,
+ G: _Fe,
+ H: MFe,
+ I: MFe,
+ j: TOt,
+ L: _Ot,
+ m: EOt,
+ M: COt,
+ p: X,
+ q: kOt,
+ Q: MOt,
+ s: DOt,
+ S: SOt,
+ u: mOt,
+ U: vOt,
+ V: wOt,
+ w: bOt,
+ W: yOt,
+ x: Ne,
+ X: je,
+ y: AFe,
+ Y: _Fe,
+ Z: xOt,
+ '%': LOt,
+ };
+ ((be.x = ne(u, be)),
+ (be.X = ne(d, be)),
+ (be.c = ne(s, be)),
+ (ge.x = ne(u, ge)),
+ (ge.X = ne(d, ge)),
+ (ge.c = ne(s, ge)));
+ function ne(xt, Pt) {
+ return function (Ze) {
+ var At = [],
+ Tt = -1,
+ On = 0,
+ ht = xt.length,
+ zr,
+ yt,
+ Fi;
+ for (Ze instanceof Date || (Ze = new Date(+Ze)); ++Tt < ht; )
+ xt.charCodeAt(Tt) === 37 &&
+ (At.push(xt.slice(On, Tt)),
+ (yt = SFe[(zr = xt.charAt(++Tt))]) != null
+ ? (zr = xt.charAt(++Tt))
+ : (yt = zr === 'e' ? ' ' : '0'),
+ (Fi = Pt[zr]) && (zr = Fi(Ze, yt)),
+ At.push(zr),
+ (On = Tt + 1));
+ return (At.push(xt.slice(On, Tt)), At.join(''));
+ };
+ }
+ function se(xt, Pt) {
+ return function (Ze) {
+ var At = IF(1900, void 0, 1),
+ Tt = de(At, xt, (Ze += ''), 0),
+ On,
+ ht;
+ if (Tt != Ze.length) return null;
+ if ('Q' in At) return new Date(At.Q);
+ if ('s' in At) return new Date(At.s * 1e3 + ('L' in At ? At.L : 0));
+ if (
+ (Pt && !('Z' in At) && (At.Z = 0),
+ 'p' in At && (At.H = (At.H % 12) + At.p * 12),
+ At.m === void 0 && (At.m = 'q' in At ? At.q : 0),
+ 'V' in At)
+ ) {
+ if (At.V < 1 || At.V > 53) return null;
+ ('w' in At || (At.w = 1),
+ 'Z' in At
+ ? ((On = Xpe(IF(At.y, 0, 1))),
+ (ht = On.getUTCDay()),
+ (On = ht > 4 || ht === 0 ? iX.ceil(On) : iX(On)),
+ (On = Wpe.offset(On, (At.V - 1) * 7)),
+ (At.y = On.getUTCFullYear()),
+ (At.m = On.getUTCMonth()),
+ (At.d = On.getUTCDate() + ((At.w + 6) % 7)))
+ : ((On = Ype(IF(At.y, 0, 1))),
+ (ht = On.getDay()),
+ (On = ht > 4 || ht === 0 ? MF.ceil(On) : MF(On)),
+ (On = mC.offset(On, (At.V - 1) * 7)),
+ (At.y = On.getFullYear()),
+ (At.m = On.getMonth()),
+ (At.d = On.getDate() + ((At.w + 6) % 7))));
+ } else
+ ('W' in At || 'U' in At) &&
+ ('w' in At || (At.w = 'u' in At ? At.u % 7 : 'W' in At ? 1 : 0),
+ (ht = 'Z' in At ? Xpe(IF(At.y, 0, 1)).getUTCDay() : Ype(IF(At.y, 0, 1)).getDay()),
+ (At.m = 0),
+ (At.d =
+ 'W' in At
+ ? ((At.w + 6) % 7) + At.W * 7 - ((ht + 5) % 7)
+ : At.w + At.U * 7 - ((ht + 6) % 7)));
+ return 'Z' in At ? ((At.H += (At.Z / 100) | 0), (At.M += At.Z % 100), Xpe(At)) : Ype(At);
+ };
+ }
+ function de(xt, Pt, Ze, At) {
+ for (var Tt = 0, On = Pt.length, ht = Ze.length, zr, yt; Tt < On; ) {
+ if (At >= ht) return -1;
+ if (((zr = Pt.charCodeAt(Tt++)), zr === 37)) {
+ if (
+ ((zr = Pt.charAt(Tt++)),
+ (yt = ae[zr in SFe ? Pt.charAt(Tt++) : zr]),
+ !yt || (At = yt(xt, Ze, At)) < 0)
+ )
+ return -1;
+ } else if (zr != Ze.charCodeAt(At++)) return -1;
+ }
+ return At;
+ }
+ function X(xt, Pt, Ze) {
+ var At = _.exec(Pt.slice(Ze));
+ return At ? ((xt.p = A.get(At[0].toLowerCase())), Ze + At[0].length) : -1;
+ }
+ function pe(xt, Pt, Ze) {
+ var At = F.exec(Pt.slice(Ze));
+ return At ? ((xt.w = j.get(At[0].toLowerCase())), Ze + At[0].length) : -1;
+ }
+ function G(xt, Pt, Ze) {
+ var At = P.exec(Pt.slice(Ze));
+ return At ? ((xt.w = R.get(At[0].toLowerCase())), Ze + At[0].length) : -1;
+ }
+ function xe(xt, Pt, Ze) {
+ var At = ie.exec(Pt.slice(Ze));
+ return At ? ((xt.m = oe.get(At[0].toLowerCase())), Ze + At[0].length) : -1;
+ }
+ function U(xt, Pt, Ze) {
+ var At = W.exec(Pt.slice(Ze));
+ return At ? ((xt.m = ee.get(At[0].toLowerCase())), Ze + At[0].length) : -1;
+ }
+ function Be(xt, Pt, Ze) {
+ return de(xt, s, Pt, Ze);
+ }
+ function Ne(xt, Pt, Ze) {
+ return de(xt, u, Pt, Ze);
+ }
+ function je(xt, Pt, Ze) {
+ return de(xt, d, Pt, Ze);
+ }
+ function Ie(xt) {
+ return b[xt.getDay()];
+ }
+ function Se(xt) {
+ return v[xt.getDay()];
+ }
+ function Ce(xt) {
+ return T[xt.getMonth()];
+ }
+ function ke(xt) {
+ return y[xt.getMonth()];
+ }
+ function Ke(xt) {
+ return p[+(xt.getHours() >= 12)];
+ }
+ function Ft(xt) {
+ return 1 + ~~(xt.getMonth() / 3);
+ }
+ function Pe(xt) {
+ return b[xt.getUTCDay()];
+ }
+ function gn(xt) {
+ return v[xt.getUTCDay()];
+ }
+ function kt(xt) {
+ return T[xt.getUTCMonth()];
+ }
+ function Et(xt) {
+ return y[xt.getUTCMonth()];
+ }
+ function Gt(xt) {
+ return p[+(xt.getUTCHours() >= 12)];
+ }
+ function ln(xt) {
+ return 1 + ~~(xt.getUTCMonth() / 3);
+ }
+ return {
+ format: function (xt) {
+ var Pt = ne((xt += ''), be);
+ return (
+ (Pt.toString = function () {
+ return xt;
+ }),
+ Pt
+ );
+ },
+ parse: function (xt) {
+ var Pt = se((xt += ''), !1);
+ return (
+ (Pt.toString = function () {
+ return xt;
+ }),
+ Pt
+ );
+ },
+ utcFormat: function (xt) {
+ var Pt = ne((xt += ''), ge);
+ return (
+ (Pt.toString = function () {
+ return xt;
+ }),
+ Pt
+ );
+ },
+ utcParse: function (xt) {
+ var Pt = se((xt += ''), !0);
+ return (
+ (Pt.toString = function () {
+ return xt;
+ }),
+ Pt
+ );
+ },
+ };
+ }
+ var SFe = { '-': '', _: ' ', 0: '0' },
+ ed = /^\s*\d+/,
+ dOt = /^%/,
+ gOt = /[\\^$*+?|[\]().{}]/g;
+ function vu(i, s, u) {
+ var d = i < 0 ? '-' : '',
+ p = (d ? -i : i) + '',
+ v = p.length;
+ return d + (v < u ? new Array(u - v + 1).join(s) + p : p);
+ }
+ function pOt(i) {
+ return i.replace(gOt, '\\$&');
+ }
+ function OF(i) {
+ return new RegExp('^(?:' + i.map(pOt).join('|') + ')', 'i');
+ }
+ function NF(i) {
+ return new Map(i.map((s, u) => [s.toLowerCase(), u]));
+ }
+ function bOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 1));
+ return d ? ((i.w = +d[0]), u + d[0].length) : -1;
+ }
+ function mOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 1));
+ return d ? ((i.u = +d[0]), u + d[0].length) : -1;
+ }
+ function vOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.U = +d[0]), u + d[0].length) : -1;
+ }
+ function wOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.V = +d[0]), u + d[0].length) : -1;
+ }
+ function yOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.W = +d[0]), u + d[0].length) : -1;
+ }
+ function _Fe(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 4));
+ return d ? ((i.y = +d[0]), u + d[0].length) : -1;
+ }
+ function AFe(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.y = +d[0] + (+d[0] > 68 ? 1900 : 2e3)), u + d[0].length) : -1;
+ }
+ function xOt(i, s, u) {
+ var d = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(s.slice(u, u + 6));
+ return d ? ((i.Z = d[1] ? 0 : -(d[2] + (d[3] || '00'))), u + d[0].length) : -1;
+ }
+ function kOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 1));
+ return d ? ((i.q = d[0] * 3 - 3), u + d[0].length) : -1;
+ }
+ function EOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.m = d[0] - 1), u + d[0].length) : -1;
+ }
+ function LFe(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.d = +d[0]), u + d[0].length) : -1;
+ }
+ function TOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 3));
+ return d ? ((i.m = 0), (i.d = +d[0]), u + d[0].length) : -1;
+ }
+ function MFe(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.H = +d[0]), u + d[0].length) : -1;
+ }
+ function COt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.M = +d[0]), u + d[0].length) : -1;
+ }
+ function SOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 2));
+ return d ? ((i.S = +d[0]), u + d[0].length) : -1;
+ }
+ function _Ot(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 3));
+ return d ? ((i.L = +d[0]), u + d[0].length) : -1;
+ }
+ function AOt(i, s, u) {
+ var d = ed.exec(s.slice(u, u + 6));
+ return d ? ((i.L = Math.floor(d[0] / 1e3)), u + d[0].length) : -1;
+ }
+ function LOt(i, s, u) {
+ var d = dOt.exec(s.slice(u, u + 1));
+ return d ? u + d[0].length : -1;
+ }
+ function MOt(i, s, u) {
+ var d = ed.exec(s.slice(u));
+ return d ? ((i.Q = +d[0]), u + d[0].length) : -1;
+ }
+ function DOt(i, s, u) {
+ var d = ed.exec(s.slice(u));
+ return d ? ((i.s = +d[0]), u + d[0].length) : -1;
+ }
+ function DFe(i, s) {
+ return vu(i.getDate(), s, 2);
+ }
+ function IOt(i, s) {
+ return vu(i.getHours(), s, 2);
+ }
+ function OOt(i, s) {
+ return vu(i.getHours() % 12 || 12, s, 2);
+ }
+ function NOt(i, s) {
+ return vu(1 + mC.count(y7(i), i), s, 3);
+ }
+ function IFe(i, s) {
+ return vu(i.getMilliseconds(), s, 3);
+ }
+ function POt(i, s) {
+ return IFe(i, s) + '000';
+ }
+ function BOt(i, s) {
+ return vu(i.getMonth() + 1, s, 2);
+ }
+ function FOt(i, s) {
+ return vu(i.getMinutes(), s, 2);
+ }
+ function ROt(i, s) {
+ return vu(i.getSeconds(), s, 2);
+ }
+ function jOt(i) {
+ var s = i.getDay();
+ return s === 0 ? 7 : s;
+ }
+ function $Ot(i, s) {
+ return vu(LF.count(y7(i) - 1, i), s, 2);
+ }
+ function OFe(i) {
+ var s = i.getDay();
+ return s >= 4 || s === 0 ? wC(i) : wC.ceil(i);
+ }
+ function zOt(i, s) {
+ return ((i = OFe(i)), vu(wC.count(y7(i), i) + (y7(i).getDay() === 4), s, 2));
+ }
+ function qOt(i) {
+ return i.getDay();
+ }
+ function HOt(i, s) {
+ return vu(MF.count(y7(i) - 1, i), s, 2);
+ }
+ function VOt(i, s) {
+ return vu(i.getFullYear() % 100, s, 2);
+ }
+ function UOt(i, s) {
+ return ((i = OFe(i)), vu(i.getFullYear() % 100, s, 2));
+ }
+ function GOt(i, s) {
+ return vu(i.getFullYear() % 1e4, s, 4);
+ }
+ function KOt(i, s) {
+ var u = i.getDay();
+ return ((i = u >= 4 || u === 0 ? wC(i) : wC.ceil(i)), vu(i.getFullYear() % 1e4, s, 4));
+ }
+ function WOt(i) {
+ var s = i.getTimezoneOffset();
+ return (s > 0 ? '-' : ((s *= -1), '+')) + vu((s / 60) | 0, '0', 2) + vu(s % 60, '0', 2);
+ }
+ function NFe(i, s) {
+ return vu(i.getUTCDate(), s, 2);
+ }
+ function YOt(i, s) {
+ return vu(i.getUTCHours(), s, 2);
+ }
+ function XOt(i, s) {
+ return vu(i.getUTCHours() % 12 || 12, s, 2);
+ }
+ function QOt(i, s) {
+ return vu(1 + Wpe.count(xC(i), i), s, 3);
+ }
+ function PFe(i, s) {
+ return vu(i.getUTCMilliseconds(), s, 3);
+ }
+ function JOt(i, s) {
+ return PFe(i, s) + '000';
+ }
+ function ZOt(i, s) {
+ return vu(i.getUTCMonth() + 1, s, 2);
+ }
+ function eNt(i, s) {
+ return vu(i.getUTCMinutes(), s, 2);
+ }
+ function tNt(i, s) {
+ return vu(i.getUTCSeconds(), s, 2);
+ }
+ function nNt(i) {
+ var s = i.getUTCDay();
+ return s === 0 ? 7 : s;
+ }
+ function rNt(i, s) {
+ return vu(CFe.count(xC(i) - 1, i), s, 2);
+ }
+ function BFe(i) {
+ var s = i.getUTCDay();
+ return s >= 4 || s === 0 ? aD(i) : aD.ceil(i);
+ }
+ function iNt(i, s) {
+ return ((i = BFe(i)), vu(aD.count(xC(i), i) + (xC(i).getUTCDay() === 4), s, 2));
+ }
+ function sNt(i) {
+ return i.getUTCDay();
+ }
+ function aNt(i, s) {
+ return vu(iX.count(xC(i) - 1, i), s, 2);
+ }
+ function oNt(i, s) {
+ return vu(i.getUTCFullYear() % 100, s, 2);
+ }
+ function cNt(i, s) {
+ return ((i = BFe(i)), vu(i.getUTCFullYear() % 100, s, 2));
+ }
+ function uNt(i, s) {
+ return vu(i.getUTCFullYear() % 1e4, s, 4);
+ }
+ function lNt(i, s) {
+ var u = i.getUTCDay();
+ return ((i = u >= 4 || u === 0 ? aD(i) : aD.ceil(i)), vu(i.getUTCFullYear() % 1e4, s, 4));
+ }
+ function hNt() {
+ return '+0000';
+ }
+ function FFe() {
+ return '%';
+ }
+ function RFe(i) {
+ return +i;
+ }
+ function jFe(i) {
+ return Math.floor(+i / 1e3);
+ }
+ var oD, sX;
+ fNt({
+ dateTime: '%x, %X',
+ date: '%-m/%-d/%Y',
+ time: '%-I:%M:%S %p',
+ periods: ['AM', 'PM'],
+ days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+ shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+ months: [
+ 'January',
+ 'February',
+ 'March',
+ 'April',
+ 'May',
+ 'June',
+ 'July',
+ 'August',
+ 'September',
+ 'October',
+ 'November',
+ 'December',
+ ],
+ shortMonths: [
+ 'Jan',
+ 'Feb',
+ 'Mar',
+ 'Apr',
+ 'May',
+ 'Jun',
+ 'Jul',
+ 'Aug',
+ 'Sep',
+ 'Oct',
+ 'Nov',
+ 'Dec',
+ ],
+ });
+ function fNt(i) {
+ return ((oD = fOt(i)), (sX = oD.format), oD.parse, oD.utcFormat, oD.utcParse, oD);
+ }
+ function dNt(i) {
+ return new Date(i);
+ }
+ function gNt(i) {
+ return i instanceof Date ? +i : +new Date(+i);
+ }
+ function $Fe(i, s, u, d, p, v, b, y, T, _) {
+ var A = wFe(),
+ P = A.invert,
+ R = A.domain,
+ F = _('.%L'),
+ j = _(':%S'),
+ W = _('%I:%M'),
+ ee = _('%I %p'),
+ ie = _('%a %d'),
+ oe = _('%b %d'),
+ be = _('%B'),
+ ge = _('%Y');
+ function ae(ne) {
+ return (
+ T(ne) < ne
+ ? F
+ : y(ne) < ne
+ ? j
+ : b(ne) < ne
+ ? W
+ : v(ne) < ne
+ ? ee
+ : d(ne) < ne
+ ? p(ne) < ne
+ ? ie
+ : oe
+ : u(ne) < ne
+ ? be
+ : ge
+ )(ne);
+ }
+ return (
+ (A.invert = function (ne) {
+ return new Date(P(ne));
+ }),
+ (A.domain = function (ne) {
+ return arguments.length ? R(Array.from(ne, gNt)) : R().map(dNt);
+ }),
+ (A.ticks = function (ne) {
+ var se = R();
+ return i(se[0], se[se.length - 1], ne ?? 10);
+ }),
+ (A.tickFormat = function (ne, se) {
+ return se == null ? ae : _(se);
+ }),
+ (A.nice = function (ne) {
+ var se = R();
+ return (
+ (!ne || typeof ne.range != 'function') && (ne = s(se[0], se[se.length - 1], ne ?? 10)),
+ ne ? R(iOt(se, ne)) : A
+ );
+ }),
+ (A.copy = function () {
+ return vFe(A, $Fe(i, s, u, d, p, v, b, y, T, _));
+ }),
+ A
+ );
+ }
+ function pNt() {
+ return rX.apply(
+ $Fe(lOt, hOt, y7, DF, LF, mC, AF, _F, p9, sX).domain([
+ new Date(2e3, 0, 1),
+ new Date(2e3, 0, 2),
+ ]),
+ arguments,
+ );
+ }
+ function bNt(i) {
+ for (var s = (i.length / 6) | 0, u = new Array(s), d = 0; d < s; )
+ u[d] = '#' + i.slice(d * 6, ++d * 6);
+ return u;
+ }
+ const zFe = bNt('4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab');
+ function Kf(i) {
+ return function () {
+ return i;
+ };
+ }
+ const qFe = Math.abs,
+ Mg = Math.atan2,
+ kC = Math.cos,
+ mNt = Math.max,
+ Qpe = Math.min,
+ z4 = Math.sin,
+ cD = Math.sqrt,
+ Dg = 1e-12,
+ PF = Math.PI,
+ aX = PF / 2,
+ oX = 2 * PF;
+ function vNt(i) {
+ return i > 1 ? 0 : i < -1 ? PF : Math.acos(i);
+ }
+ function HFe(i) {
+ return i >= 1 ? aX : i <= -1 ? -aX : Math.asin(i);
+ }
+ function VFe(i) {
+ let s = 3;
+ return (
+ (i.digits = function (u) {
+ if (!arguments.length) return s;
+ if (u == null) s = null;
+ else {
+ const d = Math.floor(u);
+ if (!(d >= 0)) throw new RangeError(`invalid digits: ${u}`);
+ s = d;
+ }
+ return i;
+ }),
+ () => new NIt(s)
+ );
+ }
+ function wNt(i) {
+ return i.innerRadius;
+ }
+ function yNt(i) {
+ return i.outerRadius;
+ }
+ function xNt(i) {
+ return i.startAngle;
+ }
+ function kNt(i) {
+ return i.endAngle;
+ }
+ function ENt(i) {
+ return i && i.padAngle;
+ }
+ function TNt(i, s, u, d, p, v, b, y) {
+ var T = u - i,
+ _ = d - s,
+ A = b - p,
+ P = y - v,
+ R = P * T - A * _;
+ if (!(R * R < Dg)) return ((R = (A * (s - v) - P * (i - p)) / R), [i + R * T, s + R * _]);
+ }
+ function cX(i, s, u, d, p, v, b) {
+ var y = i - u,
+ T = s - d,
+ _ = (b ? v : -v) / cD(y * y + T * T),
+ A = _ * T,
+ P = -_ * y,
+ R = i + A,
+ F = s + P,
+ j = u + A,
+ W = d + P,
+ ee = (R + j) / 2,
+ ie = (F + W) / 2,
+ oe = j - R,
+ be = W - F,
+ ge = oe * oe + be * be,
+ ae = p - v,
+ ne = R * W - j * F,
+ se = (be < 0 ? -1 : 1) * cD(mNt(0, ae * ae * ge - ne * ne)),
+ de = (ne * be - oe * se) / ge,
+ X = (-ne * oe - be * se) / ge,
+ pe = (ne * be + oe * se) / ge,
+ G = (-ne * oe + be * se) / ge,
+ xe = de - ee,
+ U = X - ie,
+ Be = pe - ee,
+ Ne = G - ie;
+ return (
+ xe * xe + U * U > Be * Be + Ne * Ne && ((de = pe), (X = G)),
+ { cx: de, cy: X, x01: -A, y01: -P, x11: de * (p / ae - 1), y11: X * (p / ae - 1) }
+ );
+ }
+ function uD() {
+ var i = wNt,
+ s = yNt,
+ u = Kf(0),
+ d = null,
+ p = xNt,
+ v = kNt,
+ b = ENt,
+ y = null,
+ T = VFe(_);
+ function _() {
+ var A,
+ P,
+ R = +i.apply(this, arguments),
+ F = +s.apply(this, arguments),
+ j = p.apply(this, arguments) - aX,
+ W = v.apply(this, arguments) - aX,
+ ee = qFe(W - j),
+ ie = W > j;
+ if ((y || (y = A = T()), F < R && ((P = F), (F = R), (R = P)), !(F > Dg))) y.moveTo(0, 0);
+ else if (ee > oX - Dg)
+ (y.moveTo(F * kC(j), F * z4(j)),
+ y.arc(0, 0, F, j, W, !ie),
+ R > Dg && (y.moveTo(R * kC(W), R * z4(W)), y.arc(0, 0, R, W, j, ie)));
+ else {
+ var oe = j,
+ be = W,
+ ge = j,
+ ae = W,
+ ne = ee,
+ se = ee,
+ de = b.apply(this, arguments) / 2,
+ X = de > Dg && (d ? +d.apply(this, arguments) : cD(R * R + F * F)),
+ pe = Qpe(qFe(F - R) / 2, +u.apply(this, arguments)),
+ G = pe,
+ xe = pe,
+ U,
+ Be;
+ if (X > Dg) {
+ var Ne = HFe((X / R) * z4(de)),
+ je = HFe((X / F) * z4(de));
+ ((ne -= Ne * 2) > Dg
+ ? ((Ne *= ie ? 1 : -1), (ge += Ne), (ae -= Ne))
+ : ((ne = 0), (ge = ae = (j + W) / 2)),
+ (se -= je * 2) > Dg
+ ? ((je *= ie ? 1 : -1), (oe += je), (be -= je))
+ : ((se = 0), (oe = be = (j + W) / 2)));
+ }
+ var Ie = F * kC(oe),
+ Se = F * z4(oe),
+ Ce = R * kC(ae),
+ ke = R * z4(ae);
+ if (pe > Dg) {
+ var Ke = F * kC(be),
+ Ft = F * z4(be),
+ Pe = R * kC(ge),
+ gn = R * z4(ge),
+ kt;
+ if (ee < PF)
+ if ((kt = TNt(Ie, Se, Pe, gn, Ke, Ft, Ce, ke))) {
+ var Et = Ie - kt[0],
+ Gt = Se - kt[1],
+ ln = Ke - kt[0],
+ xt = Ft - kt[1],
+ Pt =
+ 1 /
+ z4(
+ vNt((Et * ln + Gt * xt) / (cD(Et * Et + Gt * Gt) * cD(ln * ln + xt * xt))) / 2,
+ ),
+ Ze = cD(kt[0] * kt[0] + kt[1] * kt[1]);
+ ((G = Qpe(pe, (R - Ze) / (Pt - 1))), (xe = Qpe(pe, (F - Ze) / (Pt + 1))));
+ } else G = xe = 0;
+ }
+ (se > Dg
+ ? xe > Dg
+ ? ((U = cX(Pe, gn, Ie, Se, F, xe, ie)),
+ (Be = cX(Ke, Ft, Ce, ke, F, xe, ie)),
+ y.moveTo(U.cx + U.x01, U.cy + U.y01),
+ xe < pe
+ ? y.arc(U.cx, U.cy, xe, Mg(U.y01, U.x01), Mg(Be.y01, Be.x01), !ie)
+ : (y.arc(U.cx, U.cy, xe, Mg(U.y01, U.x01), Mg(U.y11, U.x11), !ie),
+ y.arc(
+ 0,
+ 0,
+ F,
+ Mg(U.cy + U.y11, U.cx + U.x11),
+ Mg(Be.cy + Be.y11, Be.cx + Be.x11),
+ !ie,
+ ),
+ y.arc(Be.cx, Be.cy, xe, Mg(Be.y11, Be.x11), Mg(Be.y01, Be.x01), !ie)))
+ : (y.moveTo(Ie, Se), y.arc(0, 0, F, oe, be, !ie))
+ : y.moveTo(Ie, Se),
+ !(R > Dg) || !(ne > Dg)
+ ? y.lineTo(Ce, ke)
+ : G > Dg
+ ? ((U = cX(Ce, ke, Ke, Ft, R, -G, ie)),
+ (Be = cX(Ie, Se, Pe, gn, R, -G, ie)),
+ y.lineTo(U.cx + U.x01, U.cy + U.y01),
+ G < pe
+ ? y.arc(U.cx, U.cy, G, Mg(U.y01, U.x01), Mg(Be.y01, Be.x01), !ie)
+ : (y.arc(U.cx, U.cy, G, Mg(U.y01, U.x01), Mg(U.y11, U.x11), !ie),
+ y.arc(
+ 0,
+ 0,
+ R,
+ Mg(U.cy + U.y11, U.cx + U.x11),
+ Mg(Be.cy + Be.y11, Be.cx + Be.x11),
+ ie,
+ ),
+ y.arc(Be.cx, Be.cy, G, Mg(Be.y11, Be.x11), Mg(Be.y01, Be.x01), !ie)))
+ : y.arc(0, 0, R, ae, ge, ie));
+ }
+ if ((y.closePath(), A)) return ((y = null), A + '' || null);
+ }
+ return (
+ (_.centroid = function () {
+ var A = (+i.apply(this, arguments) + +s.apply(this, arguments)) / 2,
+ P = (+p.apply(this, arguments) + +v.apply(this, arguments)) / 2 - PF / 2;
+ return [kC(P) * A, z4(P) * A];
+ }),
+ (_.innerRadius = function (A) {
+ return arguments.length ? ((i = typeof A == 'function' ? A : Kf(+A)), _) : i;
+ }),
+ (_.outerRadius = function (A) {
+ return arguments.length ? ((s = typeof A == 'function' ? A : Kf(+A)), _) : s;
+ }),
+ (_.cornerRadius = function (A) {
+ return arguments.length ? ((u = typeof A == 'function' ? A : Kf(+A)), _) : u;
+ }),
+ (_.padRadius = function (A) {
+ return arguments.length
+ ? ((d = A == null ? null : typeof A == 'function' ? A : Kf(+A)), _)
+ : d;
+ }),
+ (_.startAngle = function (A) {
+ return arguments.length ? ((p = typeof A == 'function' ? A : Kf(+A)), _) : p;
+ }),
+ (_.endAngle = function (A) {
+ return arguments.length ? ((v = typeof A == 'function' ? A : Kf(+A)), _) : v;
+ }),
+ (_.padAngle = function (A) {
+ return arguments.length ? ((b = typeof A == 'function' ? A : Kf(+A)), _) : b;
+ }),
+ (_.context = function (A) {
+ return arguments.length ? ((y = A ?? null), _) : y;
+ }),
+ _
+ );
+ }
+ function UFe(i) {
+ return typeof i == 'object' && 'length' in i ? i : Array.from(i);
+ }
+ function GFe(i) {
+ this._context = i;
+ }
+ GFe.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ this._point = 0;
+ },
+ lineEnd: function () {
+ ((this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ ((this._point = 1), this._line ? this._context.lineTo(i, s) : this._context.moveTo(i, s));
+ break;
+ case 1:
+ this._point = 2;
+ default:
+ this._context.lineTo(i, s);
+ break;
+ }
+ },
+ };
+ function xp(i) {
+ return new GFe(i);
+ }
+ function CNt(i) {
+ return i[0];
+ }
+ function SNt(i) {
+ return i[1];
+ }
+ function x7(i, s) {
+ var u = Kf(!0),
+ d = null,
+ p = xp,
+ v = null,
+ b = VFe(y);
+ ((i = typeof i == 'function' ? i : i === void 0 ? CNt : Kf(i)),
+ (s = typeof s == 'function' ? s : s === void 0 ? SNt : Kf(s)));
+ function y(T) {
+ var _,
+ A = (T = UFe(T)).length,
+ P,
+ R = !1,
+ F;
+ for (d == null && (v = p((F = b()))), _ = 0; _ <= A; ++_)
+ (!(_ < A && u((P = T[_]), _, T)) === R && ((R = !R) ? v.lineStart() : v.lineEnd()),
+ R && v.point(+i(P, _, T), +s(P, _, T)));
+ if (F) return ((v = null), F + '' || null);
+ }
+ return (
+ (y.x = function (T) {
+ return arguments.length ? ((i = typeof T == 'function' ? T : Kf(+T)), y) : i;
+ }),
+ (y.y = function (T) {
+ return arguments.length ? ((s = typeof T == 'function' ? T : Kf(+T)), y) : s;
+ }),
+ (y.defined = function (T) {
+ return arguments.length ? ((u = typeof T == 'function' ? T : Kf(!!T)), y) : u;
+ }),
+ (y.curve = function (T) {
+ return arguments.length ? ((p = T), d != null && (v = p(d)), y) : p;
+ }),
+ (y.context = function (T) {
+ return arguments.length ? (T == null ? (d = v = null) : (v = p((d = T))), y) : d;
+ }),
+ y
+ );
+ }
+ function _Nt(i, s) {
+ return s < i ? -1 : s > i ? 1 : s >= i ? 0 : NaN;
+ }
+ function ANt(i) {
+ return i;
+ }
+ function LNt() {
+ var i = ANt,
+ s = _Nt,
+ u = null,
+ d = Kf(0),
+ p = Kf(oX),
+ v = Kf(0);
+ function b(y) {
+ var T,
+ _ = (y = UFe(y)).length,
+ A,
+ P,
+ R = 0,
+ F = new Array(_),
+ j = new Array(_),
+ W = +d.apply(this, arguments),
+ ee = Math.min(oX, Math.max(-oX, p.apply(this, arguments) - W)),
+ ie,
+ oe = Math.min(Math.abs(ee) / _, v.apply(this, arguments)),
+ be = oe * (ee < 0 ? -1 : 1),
+ ge;
+ for (T = 0; T < _; ++T) (ge = j[(F[T] = T)] = +i(y[T], T, y)) > 0 && (R += ge);
+ for (
+ s != null
+ ? F.sort(function (ae, ne) {
+ return s(j[ae], j[ne]);
+ })
+ : u != null &&
+ F.sort(function (ae, ne) {
+ return u(y[ae], y[ne]);
+ }),
+ T = 0,
+ P = R ? (ee - _ * be) / R : 0;
+ T < _;
+ ++T, W = ie
+ )
+ ((A = F[T]),
+ (ge = j[A]),
+ (ie = W + (ge > 0 ? ge * P : 0) + be),
+ (j[A] = { data: y[A], index: T, value: ge, startAngle: W, endAngle: ie, padAngle: oe }));
+ return j;
+ }
+ return (
+ (b.value = function (y) {
+ return arguments.length ? ((i = typeof y == 'function' ? y : Kf(+y)), b) : i;
+ }),
+ (b.sortValues = function (y) {
+ return arguments.length ? ((s = y), (u = null), b) : s;
+ }),
+ (b.sort = function (y) {
+ return arguments.length ? ((u = y), (s = null), b) : u;
+ }),
+ (b.startAngle = function (y) {
+ return arguments.length ? ((d = typeof y == 'function' ? y : Kf(+y)), b) : d;
+ }),
+ (b.endAngle = function (y) {
+ return arguments.length ? ((p = typeof y == 'function' ? y : Kf(+y)), b) : p;
+ }),
+ (b.padAngle = function (y) {
+ return arguments.length ? ((v = typeof y == 'function' ? y : Kf(+y)), b) : v;
+ }),
+ b
+ );
+ }
+ class KFe {
+ constructor(s, u) {
+ ((this._context = s), (this._x = u));
+ }
+ 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(s, u) {
+ switch (((s = +s), (u = +u), this._point)) {
+ case 0: {
+ ((this._point = 1), this._line ? this._context.lineTo(s, u) : this._context.moveTo(s, u));
+ break;
+ }
+ case 1:
+ this._point = 2;
+ default: {
+ this._x
+ ? this._context.bezierCurveTo(
+ (this._x0 = (this._x0 + s) / 2),
+ this._y0,
+ this._x0,
+ u,
+ s,
+ u,
+ )
+ : this._context.bezierCurveTo(
+ this._x0,
+ (this._y0 = (this._y0 + u) / 2),
+ s,
+ this._y0,
+ s,
+ u,
+ );
+ break;
+ }
+ }
+ ((this._x0 = s), (this._y0 = u));
+ }
+ }
+ function MNt(i) {
+ return new KFe(i, !0);
+ }
+ function DNt(i) {
+ return new KFe(i, !1);
+ }
+ function b9() {}
+ function uX(i, s, u) {
+ i._context.bezierCurveTo(
+ (2 * i._x0 + i._x1) / 3,
+ (2 * i._y0 + i._y1) / 3,
+ (i._x0 + 2 * i._x1) / 3,
+ (i._y0 + 2 * i._y1) / 3,
+ (i._x0 + 4 * i._x1 + s) / 6,
+ (i._y0 + 4 * i._y1 + u) / 6,
+ );
+ }
+ function lX(i) {
+ this._context = i;
+ }
+ lX.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 3:
+ uX(this, this._x1, this._y1);
+ case 2:
+ this._context.lineTo(this._x1, this._y1);
+ break;
+ }
+ ((this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ ((this._point = 1), this._line ? this._context.lineTo(i, s) : this._context.moveTo(i, s));
+ 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:
+ uX(this, i, s);
+ break;
+ }
+ ((this._x0 = this._x1), (this._x1 = i), (this._y0 = this._y1), (this._y1 = s));
+ },
+ };
+ function BF(i) {
+ return new lX(i);
+ }
+ function WFe(i) {
+ this._context = i;
+ }
+ WFe.prototype = {
+ areaStart: b9,
+ areaEnd: b9,
+ lineStart: function () {
+ ((this._x0 =
+ this._x1 =
+ this._x2 =
+ this._x3 =
+ this._x4 =
+ this._y0 =
+ this._y1 =
+ this._y2 =
+ this._y3 =
+ this._y4 =
+ NaN),
+ (this._point = 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 1: {
+ (this._context.moveTo(this._x2, this._y2), this._context.closePath());
+ break;
+ }
+ case 2: {
+ (this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3),
+ this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3),
+ this._context.closePath());
+ break;
+ }
+ case 3: {
+ (this.point(this._x2, this._y2),
+ this.point(this._x3, this._y3),
+ this.point(this._x4, this._y4));
+ break;
+ }
+ }
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ ((this._point = 1), (this._x2 = i), (this._y2 = s));
+ break;
+ case 1:
+ ((this._point = 2), (this._x3 = i), (this._y3 = s));
+ break;
+ case 2:
+ ((this._point = 3),
+ (this._x4 = i),
+ (this._y4 = s),
+ this._context.moveTo(
+ (this._x0 + 4 * this._x1 + i) / 6,
+ (this._y0 + 4 * this._y1 + s) / 6,
+ ));
+ break;
+ default:
+ uX(this, i, s);
+ break;
+ }
+ ((this._x0 = this._x1), (this._x1 = i), (this._y0 = this._y1), (this._y1 = s));
+ },
+ };
+ function INt(i) {
+ return new WFe(i);
+ }
+ function YFe(i) {
+ this._context = i;
+ }
+ YFe.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0));
+ },
+ lineEnd: function () {
+ ((this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ this._point = 1;
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ var u = (this._x0 + 4 * this._x1 + i) / 6,
+ d = (this._y0 + 4 * this._y1 + s) / 6;
+ this._line ? this._context.lineTo(u, d) : this._context.moveTo(u, d);
+ break;
+ case 3:
+ this._point = 4;
+ default:
+ uX(this, i, s);
+ break;
+ }
+ ((this._x0 = this._x1), (this._x1 = i), (this._y0 = this._y1), (this._y1 = s));
+ },
+ };
+ function ONt(i) {
+ return new YFe(i);
+ }
+ function XFe(i, s) {
+ ((this._basis = new lX(i)), (this._beta = s));
+ }
+ XFe.prototype = {
+ lineStart: function () {
+ ((this._x = []), (this._y = []), this._basis.lineStart());
+ },
+ lineEnd: function () {
+ var i = this._x,
+ s = this._y,
+ u = i.length - 1;
+ if (u > 0)
+ for (var d = i[0], p = s[0], v = i[u] - d, b = s[u] - p, y = -1, T; ++y <= u; )
+ ((T = y / u),
+ this._basis.point(
+ this._beta * i[y] + (1 - this._beta) * (d + T * v),
+ this._beta * s[y] + (1 - this._beta) * (p + T * b),
+ ));
+ ((this._x = this._y = null), this._basis.lineEnd());
+ },
+ point: function (i, s) {
+ (this._x.push(+i), this._y.push(+s));
+ },
+ };
+ const NNt = (function i(s) {
+ function u(d) {
+ return s === 1 ? new lX(d) : new XFe(d, s);
+ }
+ return (
+ (u.beta = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0.85);
+ function hX(i, s, u) {
+ i._context.bezierCurveTo(
+ i._x1 + i._k * (i._x2 - i._x0),
+ i._y1 + i._k * (i._y2 - i._y0),
+ i._x2 + i._k * (i._x1 - s),
+ i._y2 + i._k * (i._y1 - u),
+ i._x2,
+ i._y2,
+ );
+ }
+ function Jpe(i, s) {
+ ((this._context = i), (this._k = (1 - s) / 6));
+ }
+ Jpe.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x2, this._y2);
+ break;
+ case 3:
+ hX(this, this._x1, this._y1);
+ break;
+ }
+ ((this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ ((this._point = 1), this._line ? this._context.lineTo(i, s) : this._context.moveTo(i, s));
+ break;
+ case 1:
+ ((this._point = 2), (this._x1 = i), (this._y1 = s));
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ hX(this, i, s);
+ break;
+ }
+ ((this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = i),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = s));
+ },
+ };
+ const PNt = (function i(s) {
+ function u(d) {
+ return new Jpe(d, s);
+ }
+ return (
+ (u.tension = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0);
+ function Zpe(i, s) {
+ ((this._context = i), (this._k = (1 - s) / 6));
+ }
+ Zpe.prototype = {
+ areaStart: b9,
+ areaEnd: b9,
+ lineStart: function () {
+ ((this._x0 =
+ this._x1 =
+ this._x2 =
+ this._x3 =
+ this._x4 =
+ this._x5 =
+ this._y0 =
+ this._y1 =
+ this._y2 =
+ this._y3 =
+ this._y4 =
+ this._y5 =
+ NaN),
+ (this._point = 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 1: {
+ (this._context.moveTo(this._x3, this._y3), this._context.closePath());
+ break;
+ }
+ case 2: {
+ (this._context.lineTo(this._x3, this._y3), this._context.closePath());
+ break;
+ }
+ case 3: {
+ (this.point(this._x3, this._y3),
+ this.point(this._x4, this._y4),
+ this.point(this._x5, this._y5));
+ break;
+ }
+ }
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ ((this._point = 1), (this._x3 = i), (this._y3 = s));
+ break;
+ case 1:
+ ((this._point = 2), this._context.moveTo((this._x4 = i), (this._y4 = s)));
+ break;
+ case 2:
+ ((this._point = 3), (this._x5 = i), (this._y5 = s));
+ break;
+ default:
+ hX(this, i, s);
+ break;
+ }
+ ((this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = i),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = s));
+ },
+ };
+ const BNt = (function i(s) {
+ function u(d) {
+ return new Zpe(d, s);
+ }
+ return (
+ (u.tension = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0);
+ function e2e(i, s) {
+ ((this._context = i), (this._k = (1 - s) / 6));
+ }
+ e2e.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0));
+ },
+ lineEnd: function () {
+ ((this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), 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:
+ hX(this, i, s);
+ break;
+ }
+ ((this._x0 = this._x1),
+ (this._x1 = this._x2),
+ (this._x2 = i),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = s));
+ },
+ };
+ const FNt = (function i(s) {
+ function u(d) {
+ return new e2e(d, s);
+ }
+ return (
+ (u.tension = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0);
+ function t2e(i, s, u) {
+ var d = i._x1,
+ p = i._y1,
+ v = i._x2,
+ b = i._y2;
+ if (i._l01_a > Dg) {
+ var y = 2 * i._l01_2a + 3 * i._l01_a * i._l12_a + i._l12_2a,
+ T = 3 * i._l01_a * (i._l01_a + i._l12_a);
+ ((d = (d * y - i._x0 * i._l12_2a + i._x2 * i._l01_2a) / T),
+ (p = (p * y - i._y0 * i._l12_2a + i._y2 * i._l01_2a) / T));
+ }
+ if (i._l23_a > Dg) {
+ var _ = 2 * i._l23_2a + 3 * i._l23_a * i._l12_a + i._l12_2a,
+ A = 3 * i._l23_a * (i._l23_a + i._l12_a);
+ ((v = (v * _ + i._x1 * i._l23_2a - s * i._l12_2a) / A),
+ (b = (b * _ + i._y1 * i._l23_2a - u * i._l12_2a) / A));
+ }
+ i._context.bezierCurveTo(d, p, v, b, i._x2, i._y2);
+ }
+ function QFe(i, s) {
+ ((this._context = i), (this._alpha = s));
+ }
+ QFe.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN),
+ (this._l01_a =
+ this._l12_a =
+ this._l23_a =
+ this._l01_2a =
+ this._l12_2a =
+ this._l23_2a =
+ this._point =
+ 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x2, this._y2);
+ break;
+ case 3:
+ this.point(this._x2, this._y2);
+ break;
+ }
+ ((this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ if (((i = +i), (s = +s), this._point)) {
+ var u = this._x2 - i,
+ d = this._y2 - s;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(u * u + d * d, this._alpha)));
+ }
+ switch (this._point) {
+ case 0:
+ ((this._point = 1), this._line ? this._context.lineTo(i, s) : this._context.moveTo(i, s));
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ this._point = 3;
+ default:
+ t2e(this, i, s);
+ 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 = i),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = s));
+ },
+ };
+ const RNt = (function i(s) {
+ function u(d) {
+ return s ? new QFe(d, s) : new Jpe(d, 0);
+ }
+ return (
+ (u.alpha = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0.5);
+ function JFe(i, s) {
+ ((this._context = i), (this._alpha = s));
+ }
+ JFe.prototype = {
+ areaStart: b9,
+ areaEnd: b9,
+ lineStart: function () {
+ ((this._x0 =
+ this._x1 =
+ this._x2 =
+ this._x3 =
+ this._x4 =
+ this._x5 =
+ this._y0 =
+ this._y1 =
+ this._y2 =
+ this._y3 =
+ this._y4 =
+ this._y5 =
+ NaN),
+ (this._l01_a =
+ this._l12_a =
+ this._l23_a =
+ this._l01_2a =
+ this._l12_2a =
+ this._l23_2a =
+ this._point =
+ 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 1: {
+ (this._context.moveTo(this._x3, this._y3), this._context.closePath());
+ break;
+ }
+ case 2: {
+ (this._context.lineTo(this._x3, this._y3), this._context.closePath());
+ break;
+ }
+ case 3: {
+ (this.point(this._x3, this._y3),
+ this.point(this._x4, this._y4),
+ this.point(this._x5, this._y5));
+ break;
+ }
+ }
+ },
+ point: function (i, s) {
+ if (((i = +i), (s = +s), this._point)) {
+ var u = this._x2 - i,
+ d = this._y2 - s;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(u * u + d * d, this._alpha)));
+ }
+ switch (this._point) {
+ case 0:
+ ((this._point = 1), (this._x3 = i), (this._y3 = s));
+ break;
+ case 1:
+ ((this._point = 2), this._context.moveTo((this._x4 = i), (this._y4 = s)));
+ break;
+ case 2:
+ ((this._point = 3), (this._x5 = i), (this._y5 = s));
+ break;
+ default:
+ t2e(this, i, s);
+ 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 = i),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = s));
+ },
+ };
+ const jNt = (function i(s) {
+ function u(d) {
+ return s ? new JFe(d, s) : new Zpe(d, 0);
+ }
+ return (
+ (u.alpha = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0.5);
+ function ZFe(i, s) {
+ ((this._context = i), (this._alpha = s));
+ }
+ ZFe.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN),
+ (this._l01_a =
+ this._l12_a =
+ this._l23_a =
+ this._l01_2a =
+ this._l12_2a =
+ this._l23_2a =
+ this._point =
+ 0));
+ },
+ lineEnd: function () {
+ ((this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ if (((i = +i), (s = +s), this._point)) {
+ var u = this._x2 - i,
+ d = this._y2 - s;
+ this._l23_a = Math.sqrt((this._l23_2a = Math.pow(u * u + d * d, 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:
+ t2e(this, i, s);
+ 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 = i),
+ (this._y0 = this._y1),
+ (this._y1 = this._y2),
+ (this._y2 = s));
+ },
+ };
+ const $Nt = (function i(s) {
+ function u(d) {
+ return s ? new ZFe(d, s) : new e2e(d, 0);
+ }
+ return (
+ (u.alpha = function (d) {
+ return i(+d);
+ }),
+ u
+ );
+ })(0.5);
+ function eRe(i) {
+ this._context = i;
+ }
+ eRe.prototype = {
+ areaStart: b9,
+ areaEnd: b9,
+ lineStart: function () {
+ this._point = 0;
+ },
+ lineEnd: function () {
+ this._point && this._context.closePath();
+ },
+ point: function (i, s) {
+ ((i = +i),
+ (s = +s),
+ this._point ? this._context.lineTo(i, s) : ((this._point = 1), this._context.moveTo(i, s)));
+ },
+ };
+ function zNt(i) {
+ return new eRe(i);
+ }
+ function tRe(i) {
+ return i < 0 ? -1 : 1;
+ }
+ function nRe(i, s, u) {
+ var d = i._x1 - i._x0,
+ p = s - i._x1,
+ v = (i._y1 - i._y0) / (d || (p < 0 && -0)),
+ b = (u - i._y1) / (p || (d < 0 && -0)),
+ y = (v * p + b * d) / (d + p);
+ return (tRe(v) + tRe(b)) * Math.min(Math.abs(v), Math.abs(b), 0.5 * Math.abs(y)) || 0;
+ }
+ function rRe(i, s) {
+ var u = i._x1 - i._x0;
+ return u ? ((3 * (i._y1 - i._y0)) / u - s) / 2 : s;
+ }
+ function n2e(i, s, u) {
+ var d = i._x0,
+ p = i._y0,
+ v = i._x1,
+ b = i._y1,
+ y = (v - d) / 3;
+ i._context.bezierCurveTo(d + y, p + y * s, v - y, b - y * u, v, b);
+ }
+ function fX(i) {
+ this._context = i;
+ }
+ fX.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0));
+ },
+ lineEnd: function () {
+ switch (this._point) {
+ case 2:
+ this._context.lineTo(this._x1, this._y1);
+ break;
+ case 3:
+ n2e(this, this._t0, rRe(this, this._t0));
+ break;
+ }
+ ((this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line));
+ },
+ point: function (i, s) {
+ var u = NaN;
+ if (((i = +i), (s = +s), !(i === this._x1 && s === this._y1))) {
+ switch (this._point) {
+ case 0:
+ ((this._point = 1),
+ this._line ? this._context.lineTo(i, s) : this._context.moveTo(i, s));
+ break;
+ case 1:
+ this._point = 2;
+ break;
+ case 2:
+ ((this._point = 3), n2e(this, rRe(this, (u = nRe(this, i, s))), u));
+ break;
+ default:
+ n2e(this, this._t0, (u = nRe(this, i, s)));
+ break;
+ }
+ ((this._x0 = this._x1),
+ (this._x1 = i),
+ (this._y0 = this._y1),
+ (this._y1 = s),
+ (this._t0 = u));
+ }
+ },
+ };
+ function iRe(i) {
+ this._context = new sRe(i);
+ }
+ (iRe.prototype = Object.create(fX.prototype)).point = function (i, s) {
+ fX.prototype.point.call(this, s, i);
+ };
+ function sRe(i) {
+ this._context = i;
+ }
+ sRe.prototype = {
+ moveTo: function (i, s) {
+ this._context.moveTo(s, i);
+ },
+ closePath: function () {
+ this._context.closePath();
+ },
+ lineTo: function (i, s) {
+ this._context.lineTo(s, i);
+ },
+ bezierCurveTo: function (i, s, u, d, p, v) {
+ this._context.bezierCurveTo(s, i, d, u, v, p);
+ },
+ };
+ function qNt(i) {
+ return new fX(i);
+ }
+ function HNt(i) {
+ return new iRe(i);
+ }
+ function aRe(i) {
+ this._context = i;
+ }
+ aRe.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x = []), (this._y = []));
+ },
+ lineEnd: function () {
+ var i = this._x,
+ s = this._y,
+ u = i.length;
+ if (u)
+ if (
+ (this._line ? this._context.lineTo(i[0], s[0]) : this._context.moveTo(i[0], s[0]),
+ u === 2)
+ )
+ this._context.lineTo(i[1], s[1]);
+ else
+ for (var d = oRe(i), p = oRe(s), v = 0, b = 1; b < u; ++v, ++b)
+ this._context.bezierCurveTo(d[0][v], p[0][v], d[1][v], p[1][v], i[b], s[b]);
+ ((this._line || (this._line !== 0 && u === 1)) && this._context.closePath(),
+ (this._line = 1 - this._line),
+ (this._x = this._y = null));
+ },
+ point: function (i, s) {
+ (this._x.push(+i), this._y.push(+s));
+ },
+ };
+ function oRe(i) {
+ var s,
+ u = i.length - 1,
+ d,
+ p = new Array(u),
+ v = new Array(u),
+ b = new Array(u);
+ for (p[0] = 0, v[0] = 2, b[0] = i[0] + 2 * i[1], s = 1; s < u - 1; ++s)
+ ((p[s] = 1), (v[s] = 4), (b[s] = 4 * i[s] + 2 * i[s + 1]));
+ for (p[u - 1] = 2, v[u - 1] = 7, b[u - 1] = 8 * i[u - 1] + i[u], s = 1; s < u; ++s)
+ ((d = p[s] / v[s - 1]), (v[s] -= d), (b[s] -= d * b[s - 1]));
+ for (p[u - 1] = b[u - 1] / v[u - 1], s = u - 2; s >= 0; --s) p[s] = (b[s] - p[s + 1]) / v[s];
+ for (v[u - 1] = (i[u] + p[u - 1]) / 2, s = 0; s < u - 1; ++s) v[s] = 2 * i[s + 1] - p[s + 1];
+ return [p, v];
+ }
+ function VNt(i) {
+ return new aRe(i);
+ }
+ function dX(i, s) {
+ ((this._context = i), (this._t = s));
+ }
+ dX.prototype = {
+ areaStart: function () {
+ this._line = 0;
+ },
+ areaEnd: function () {
+ this._line = NaN;
+ },
+ lineStart: function () {
+ ((this._x = this._y = NaN), (this._point = 0));
+ },
+ lineEnd: function () {
+ (0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y),
+ (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(),
+ this._line >= 0 && ((this._t = 1 - this._t), (this._line = 1 - this._line)));
+ },
+ point: function (i, s) {
+ switch (((i = +i), (s = +s), this._point)) {
+ case 0:
+ ((this._point = 1), this._line ? this._context.lineTo(i, s) : this._context.moveTo(i, s));
+ break;
+ case 1:
+ this._point = 2;
+ default: {
+ if (this._t <= 0) (this._context.lineTo(this._x, s), this._context.lineTo(i, s));
+ else {
+ var u = this._x * (1 - this._t) + i * this._t;
+ (this._context.lineTo(u, this._y), this._context.lineTo(u, s));
+ }
+ break;
+ }
+ }
+ ((this._x = i), (this._y = s));
+ },
+ };
+ function UNt(i) {
+ return new dX(i, 0.5);
+ }
+ function GNt(i) {
+ return new dX(i, 0);
+ }
+ function KNt(i) {
+ return new dX(i, 1);
+ }
+ function FF(i, s, u) {
+ ((this.k = i), (this.x = s), (this.y = u));
+ }
+ ((FF.prototype = {
+ constructor: FF,
+ scale: function (i) {
+ return i === 1 ? this : new FF(this.k * i, this.x, this.y);
+ },
+ translate: function (i, s) {
+ return (i === 0) & (s === 0)
+ ? this
+ : new FF(this.k, this.x + this.k * i, this.y + this.k * s);
+ },
+ apply: function (i) {
+ return [i[0] * this.k + this.x, i[1] * this.k + this.y];
+ },
+ applyX: function (i) {
+ return i * this.k + this.x;
+ },
+ applyY: function (i) {
+ return i * this.k + this.y;
+ },
+ invert: function (i) {
+ return [(i[0] - this.x) / this.k, (i[1] - this.y) / this.k];
+ },
+ invertX: function (i) {
+ return (i - this.x) / this.k;
+ },
+ invertY: function (i) {
+ return (i - this.y) / this.k;
+ },
+ rescaleX: function (i) {
+ return i.copy().domain(i.range().map(this.invertX, this).map(i.invert, i));
+ },
+ rescaleY: function (i) {
+ return i.copy().domain(i.range().map(this.invertY, this).map(i.invert, i));
+ },
+ toString: function () {
+ return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')';
+ },
+ }),
+ FF.prototype);
+ /*! @license DOMPurify 3.2.4 | (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.4/LICENSE */ const {
+ entries: cRe,
+ setPrototypeOf: uRe,
+ isFrozen: WNt,
+ getPrototypeOf: YNt,
+ getOwnPropertyDescriptor: XNt,
+ } = Object;
+ let { freeze: kp, seal: Mv, create: lRe } = Object,
+ { apply: r2e, construct: i2e } = typeof Reflect < 'u' && Reflect;
+ (kp ||
+ (kp = function (s) {
+ return s;
+ }),
+ Mv ||
+ (Mv = function (s) {
+ return s;
+ }),
+ r2e ||
+ (r2e = function (s, u, d) {
+ return s.apply(u, d);
+ }),
+ i2e ||
+ (i2e = function (s, u) {
+ return new s(...u);
+ }));
+ const gX = Tp(Array.prototype.forEach),
+ QNt = Tp(Array.prototype.lastIndexOf),
+ hRe = Tp(Array.prototype.pop),
+ RF = Tp(Array.prototype.push),
+ JNt = Tp(Array.prototype.splice),
+ pX = Tp(String.prototype.toLowerCase),
+ s2e = Tp(String.prototype.toString),
+ fRe = Tp(String.prototype.match),
+ jF = Tp(String.prototype.replace),
+ ZNt = Tp(String.prototype.indexOf),
+ ePt = Tp(String.prototype.trim),
+ I3 = Tp(Object.prototype.hasOwnProperty),
+ Ep = Tp(RegExp.prototype.test),
+ $F = tPt(TypeError);
+ function Tp(i) {
+ return function (s) {
+ for (var u = arguments.length, d = new Array(u > 1 ? u - 1 : 0), p = 1; p < u; p++)
+ d[p - 1] = arguments[p];
+ return r2e(i, s, d);
+ };
+ }
+ function tPt(i) {
+ return function () {
+ for (var s = arguments.length, u = new Array(s), d = 0; d < s; d++) u[d] = arguments[d];
+ return i2e(i, u);
+ };
+ }
+ function Cc(i, s) {
+ let u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : pX;
+ uRe && uRe(i, null);
+ let d = s.length;
+ for (; d--; ) {
+ let p = s[d];
+ if (typeof p == 'string') {
+ const v = u(p);
+ v !== p && (WNt(s) || (s[d] = v), (p = v));
+ }
+ i[p] = !0;
+ }
+ return i;
+ }
+ function nPt(i) {
+ for (let s = 0; s < i.length; s++) I3(i, s) || (i[s] = null);
+ return i;
+ }
+ function EC(i) {
+ const s = lRe(null);
+ for (const [u, d] of cRe(i))
+ I3(i, u) &&
+ (Array.isArray(d)
+ ? (s[u] = nPt(d))
+ : d && typeof d == 'object' && d.constructor === Object
+ ? (s[u] = EC(d))
+ : (s[u] = d));
+ return s;
+ }
+ function zF(i, s) {
+ for (; i !== null; ) {
+ const d = XNt(i, s);
+ if (d) {
+ if (d.get) return Tp(d.get);
+ if (typeof d.value == 'function') return Tp(d.value);
+ }
+ i = YNt(i);
+ }
+ function u() {
+ return null;
+ }
+ return u;
+ }
+ const dRe = kp([
+ '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',
+ ]),
+ a2e = kp([
+ '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',
+ ]),
+ o2e = kp([
+ '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',
+ ]),
+ rPt = kp([
+ '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',
+ ]),
+ c2e = kp([
+ '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',
+ ]),
+ iPt = kp([
+ 'maction',
+ 'maligngroup',
+ 'malignmark',
+ 'mlongdiv',
+ 'mscarries',
+ 'mscarry',
+ 'msgroup',
+ 'mstack',
+ 'msline',
+ 'msrow',
+ 'semantics',
+ 'annotation',
+ 'annotation-xml',
+ 'mprescripts',
+ 'none',
+ ]),
+ gRe = kp(['#text']),
+ pRe = kp([
+ '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',
+ ]),
+ u2e = kp([
+ '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',
+ ]),
+ bRe = kp([
+ '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',
+ ]),
+ bX = kp(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']),
+ sPt = Mv(/\{\{[\w\W]*|[\w\W]*\}\}/gm),
+ aPt = Mv(/<%[\w\W]*|[\w\W]*%>/gm),
+ oPt = Mv(/\$\{[\w\W]*/gm),
+ cPt = Mv(/^data-[\-\w.\u00B7-\uFFFF]+$/),
+ uPt = Mv(/^aria-[\-\w]+$/),
+ mRe = Mv(
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,
+ ),
+ lPt = Mv(/^(?:\w+script|data):/i),
+ hPt = Mv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),
+ vRe = Mv(/^html$/i),
+ fPt = Mv(/^[a-z][.\w]*(-[.\w]+)+$/i);
+ var wRe = Object.freeze({
+ __proto__: null,
+ ARIA_ATTR: uPt,
+ ATTR_WHITESPACE: hPt,
+ CUSTOM_ELEMENT: fPt,
+ DATA_ATTR: cPt,
+ DOCTYPE_NAME: vRe,
+ ERB_EXPR: aPt,
+ IS_ALLOWED_URI: mRe,
+ IS_SCRIPT_OR_DATA: lPt,
+ MUSTACHE_EXPR: sPt,
+ TMPLIT_EXPR: oPt,
+ });
+ const qF = {
+ element: 1,
+ attribute: 2,
+ text: 3,
+ cdataSection: 4,
+ entityReference: 5,
+ entityNode: 6,
+ progressingInstruction: 7,
+ comment: 8,
+ document: 9,
+ documentType: 10,
+ documentFragment: 11,
+ notation: 12,
+ },
+ dPt = function () {
+ return typeof window > 'u' ? null : window;
+ },
+ gPt = function (s, u) {
+ if (typeof s != 'object' || typeof s.createPolicy != 'function') return null;
+ let d = null;
+ const p = 'data-tt-policy-suffix';
+ u && u.hasAttribute(p) && (d = u.getAttribute(p));
+ const v = 'dompurify' + (d ? '#' + d : '');
+ try {
+ return s.createPolicy(v, {
+ createHTML(b) {
+ return b;
+ },
+ createScriptURL(b) {
+ return b;
+ },
+ });
+ } catch {
+ return (console.warn('TrustedTypes policy ' + v + ' could not be created.'), null);
+ }
+ },
+ yRe = function () {
+ return {
+ afterSanitizeAttributes: [],
+ afterSanitizeElements: [],
+ afterSanitizeShadowDOM: [],
+ beforeSanitizeAttributes: [],
+ beforeSanitizeElements: [],
+ beforeSanitizeShadowDOM: [],
+ uponSanitizeAttribute: [],
+ uponSanitizeElement: [],
+ uponSanitizeShadowNode: [],
+ };
+ };
+ function xRe() {
+ let i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : dPt();
+ const s = (bs) => xRe(bs);
+ if (
+ ((s.version = '3.2.4'),
+ (s.removed = []),
+ !i || !i.document || i.document.nodeType !== qF.document || !i.Element)
+ )
+ return ((s.isSupported = !1), s);
+ let { document: u } = i;
+ const d = u,
+ p = d.currentScript,
+ {
+ DocumentFragment: v,
+ HTMLTemplateElement: b,
+ Node: y,
+ Element: T,
+ NodeFilter: _,
+ NamedNodeMap: A = i.NamedNodeMap || i.MozNamedAttrMap,
+ HTMLFormElement: P,
+ DOMParser: R,
+ trustedTypes: F,
+ } = i,
+ j = T.prototype,
+ W = zF(j, 'cloneNode'),
+ ee = zF(j, 'remove'),
+ ie = zF(j, 'nextSibling'),
+ oe = zF(j, 'childNodes'),
+ be = zF(j, 'parentNode');
+ if (typeof b == 'function') {
+ const bs = u.createElement('template');
+ bs.content && bs.content.ownerDocument && (u = bs.content.ownerDocument);
+ }
+ let ge,
+ ae = '';
+ const {
+ implementation: ne,
+ createNodeIterator: se,
+ createDocumentFragment: de,
+ getElementsByTagName: X,
+ } = u,
+ { importNode: pe } = d;
+ let G = yRe();
+ s.isSupported =
+ typeof cRe == 'function' && typeof be == 'function' && ne && ne.createHTMLDocument !== void 0;
+ const {
+ MUSTACHE_EXPR: xe,
+ ERB_EXPR: U,
+ TMPLIT_EXPR: Be,
+ DATA_ATTR: Ne,
+ ARIA_ATTR: je,
+ IS_SCRIPT_OR_DATA: Ie,
+ ATTR_WHITESPACE: Se,
+ CUSTOM_ELEMENT: Ce,
+ } = wRe;
+ let { IS_ALLOWED_URI: ke } = wRe,
+ Ke = null;
+ const Ft = Cc({}, [...dRe, ...a2e, ...o2e, ...c2e, ...gRe]);
+ let Pe = null;
+ const gn = Cc({}, [...pRe, ...u2e, ...bRe, ...bX]);
+ let kt = Object.seal(
+ lRe(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,
+ },
+ }),
+ ),
+ Et = null,
+ Gt = null,
+ ln = !0,
+ xt = !0,
+ Pt = !1,
+ Ze = !0,
+ At = !1,
+ Tt = !0,
+ On = !1,
+ ht = !1,
+ zr = !1,
+ yt = !1,
+ Fi = !1,
+ yi = !1,
+ Ba = !0,
+ na = !1;
+ const Ro = 'user-content-';
+ let _r = !0,
+ Nn = !1,
+ $n = {},
+ qn = null;
+ const Lt = Cc({}, [
+ 'annotation-xml',
+ 'audio',
+ 'colgroup',
+ 'desc',
+ 'foreignobject',
+ 'head',
+ 'iframe',
+ 'math',
+ 'mi',
+ 'mn',
+ 'mo',
+ 'ms',
+ 'mtext',
+ 'noembed',
+ 'noframes',
+ 'noscript',
+ 'plaintext',
+ 'script',
+ 'style',
+ 'svg',
+ 'template',
+ 'thead',
+ 'title',
+ 'video',
+ 'xmp',
+ ]);
+ let wt = null;
+ const cn = Cc({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
+ let fn = null;
+ const Mn = Cc({}, [
+ 'alt',
+ 'class',
+ 'for',
+ 'id',
+ 'label',
+ 'name',
+ 'pattern',
+ 'placeholder',
+ 'role',
+ 'summary',
+ 'title',
+ 'value',
+ 'style',
+ 'xmlns',
+ ]),
+ mo = 'http://www.w3.org/1998/Math/MathML',
+ Io = 'http://www.w3.org/2000/svg',
+ Xa = 'http://www.w3.org/1999/xhtml';
+ let ua = Xa,
+ Oo = !1,
+ Ts = null;
+ const nl = Cc({}, [mo, Io, Xa], s2e);
+ let Zo = Cc({}, ['mi', 'mo', 'mn', 'ms', 'mtext']),
+ id = Cc({}, ['annotation-xml']);
+ const gm = Cc({}, ['title', 'style', 'font', 'a', 'script']);
+ let qu = null;
+ const lu = ['application/xhtml+xml', 'text/html'],
+ Xc = 'text/html';
+ let Cs = null,
+ Bc = null;
+ const Ma = u.createElement('form'),
+ No = function (pn) {
+ return pn instanceof RegExp || pn instanceof Function;
+ },
+ vc = function () {
+ let pn = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ if (!(Bc && Bc === pn)) {
+ if (
+ ((!pn || typeof pn != 'object') && (pn = {}),
+ (pn = EC(pn)),
+ (qu = lu.indexOf(pn.PARSER_MEDIA_TYPE) === -1 ? Xc : pn.PARSER_MEDIA_TYPE),
+ (Cs = qu === 'application/xhtml+xml' ? s2e : pX),
+ (Ke = I3(pn, 'ALLOWED_TAGS') ? Cc({}, pn.ALLOWED_TAGS, Cs) : Ft),
+ (Pe = I3(pn, 'ALLOWED_ATTR') ? Cc({}, pn.ALLOWED_ATTR, Cs) : gn),
+ (Ts = I3(pn, 'ALLOWED_NAMESPACES') ? Cc({}, pn.ALLOWED_NAMESPACES, s2e) : nl),
+ (fn = I3(pn, 'ADD_URI_SAFE_ATTR') ? Cc(EC(Mn), pn.ADD_URI_SAFE_ATTR, Cs) : Mn),
+ (wt = I3(pn, 'ADD_DATA_URI_TAGS') ? Cc(EC(cn), pn.ADD_DATA_URI_TAGS, Cs) : cn),
+ (qn = I3(pn, 'FORBID_CONTENTS') ? Cc({}, pn.FORBID_CONTENTS, Cs) : Lt),
+ (Et = I3(pn, 'FORBID_TAGS') ? Cc({}, pn.FORBID_TAGS, Cs) : {}),
+ (Gt = I3(pn, 'FORBID_ATTR') ? Cc({}, pn.FORBID_ATTR, Cs) : {}),
+ ($n = I3(pn, 'USE_PROFILES') ? pn.USE_PROFILES : !1),
+ (ln = pn.ALLOW_ARIA_ATTR !== !1),
+ (xt = pn.ALLOW_DATA_ATTR !== !1),
+ (Pt = pn.ALLOW_UNKNOWN_PROTOCOLS || !1),
+ (Ze = pn.ALLOW_SELF_CLOSE_IN_ATTR !== !1),
+ (At = pn.SAFE_FOR_TEMPLATES || !1),
+ (Tt = pn.SAFE_FOR_XML !== !1),
+ (On = pn.WHOLE_DOCUMENT || !1),
+ (yt = pn.RETURN_DOM || !1),
+ (Fi = pn.RETURN_DOM_FRAGMENT || !1),
+ (yi = pn.RETURN_TRUSTED_TYPE || !1),
+ (zr = pn.FORCE_BODY || !1),
+ (Ba = pn.SANITIZE_DOM !== !1),
+ (na = pn.SANITIZE_NAMED_PROPS || !1),
+ (_r = pn.KEEP_CONTENT !== !1),
+ (Nn = pn.IN_PLACE || !1),
+ (ke = pn.ALLOWED_URI_REGEXP || mRe),
+ (ua = pn.NAMESPACE || Xa),
+ (Zo = pn.MATHML_TEXT_INTEGRATION_POINTS || Zo),
+ (id = pn.HTML_INTEGRATION_POINTS || id),
+ (kt = pn.CUSTOM_ELEMENT_HANDLING || {}),
+ pn.CUSTOM_ELEMENT_HANDLING &&
+ No(pn.CUSTOM_ELEMENT_HANDLING.tagNameCheck) &&
+ (kt.tagNameCheck = pn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),
+ pn.CUSTOM_ELEMENT_HANDLING &&
+ No(pn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) &&
+ (kt.attributeNameCheck = pn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),
+ pn.CUSTOM_ELEMENT_HANDLING &&
+ typeof pn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == 'boolean' &&
+ (kt.allowCustomizedBuiltInElements =
+ pn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),
+ At && (xt = !1),
+ Fi && (yt = !0),
+ $n &&
+ ((Ke = Cc({}, gRe)),
+ (Pe = []),
+ $n.html === !0 && (Cc(Ke, dRe), Cc(Pe, pRe)),
+ $n.svg === !0 && (Cc(Ke, a2e), Cc(Pe, u2e), Cc(Pe, bX)),
+ $n.svgFilters === !0 && (Cc(Ke, o2e), Cc(Pe, u2e), Cc(Pe, bX)),
+ $n.mathMl === !0 && (Cc(Ke, c2e), Cc(Pe, bRe), Cc(Pe, bX))),
+ pn.ADD_TAGS && (Ke === Ft && (Ke = EC(Ke)), Cc(Ke, pn.ADD_TAGS, Cs)),
+ pn.ADD_ATTR && (Pe === gn && (Pe = EC(Pe)), Cc(Pe, pn.ADD_ATTR, Cs)),
+ pn.ADD_URI_SAFE_ATTR && Cc(fn, pn.ADD_URI_SAFE_ATTR, Cs),
+ pn.FORBID_CONTENTS && (qn === Lt && (qn = EC(qn)), Cc(qn, pn.FORBID_CONTENTS, Cs)),
+ _r && (Ke['#text'] = !0),
+ On && Cc(Ke, ['html', 'head', 'body']),
+ Ke.table && (Cc(Ke, ['tbody']), delete Et.tbody),
+ pn.TRUSTED_TYPES_POLICY)
+ ) {
+ if (typeof pn.TRUSTED_TYPES_POLICY.createHTML != 'function')
+ throw $F(
+ 'TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.',
+ );
+ if (typeof pn.TRUSTED_TYPES_POLICY.createScriptURL != 'function')
+ throw $F(
+ 'TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.',
+ );
+ ((ge = pn.TRUSTED_TYPES_POLICY), (ae = ge.createHTML('')));
+ } else
+ (ge === void 0 && (ge = gPt(F, p)),
+ ge !== null && typeof ae == 'string' && (ae = ge.createHTML('')));
+ (kp && kp(pn), (Bc = pn));
+ }
+ },
+ Qa = Cc({}, [...a2e, ...o2e, ...rPt]),
+ ja = Cc({}, [...c2e, ...iPt]),
+ ka = function (pn) {
+ let Zr = be(pn);
+ (!Zr || !Zr.tagName) && (Zr = { namespaceURI: ua, tagName: 'template' });
+ const ss = pX(pn.tagName),
+ hu = pX(Zr.tagName);
+ return Ts[pn.namespaceURI]
+ ? pn.namespaceURI === Io
+ ? Zr.namespaceURI === Xa
+ ? ss === 'svg'
+ : Zr.namespaceURI === mo
+ ? ss === 'svg' && (hu === 'annotation-xml' || Zo[hu])
+ : !!Qa[ss]
+ : pn.namespaceURI === mo
+ ? Zr.namespaceURI === Xa
+ ? ss === 'math'
+ : Zr.namespaceURI === Io
+ ? ss === 'math' && id[hu]
+ : !!ja[ss]
+ : pn.namespaceURI === Xa
+ ? (Zr.namespaceURI === Io && !id[hu]) || (Zr.namespaceURI === mo && !Zo[hu])
+ ? !1
+ : !ja[ss] && (gm[ss] || !Qa[ss])
+ : !!(qu === 'application/xhtml+xml' && Ts[pn.namespaceURI])
+ : !1;
+ },
+ wu = function (pn) {
+ RF(s.removed, { element: pn });
+ try {
+ be(pn).removeChild(pn);
+ } catch {
+ ee(pn);
+ }
+ },
+ Fc = function (pn, Zr) {
+ try {
+ RF(s.removed, { attribute: Zr.getAttributeNode(pn), from: Zr });
+ } catch {
+ RF(s.removed, { attribute: null, from: Zr });
+ }
+ if ((Zr.removeAttribute(pn), pn === 'is'))
+ if (yt || Fi)
+ try {
+ wu(Zr);
+ } catch {}
+ else
+ try {
+ Zr.setAttribute(pn, '');
+ } catch {}
+ },
+ a5 = function (pn) {
+ let Zr = null,
+ ss = null;
+ if (zr) pn = ' ' + pn;
+ else {
+ const yu = fRe(pn, /^[\r\n\t ]+/);
+ ss = yu && yu[0];
+ }
+ qu === 'application/xhtml+xml' &&
+ ua === Xa &&
+ (pn =
+ '' +
+ pn +
+ '');
+ const hu = ge ? ge.createHTML(pn) : pn;
+ if (ua === Xa)
+ try {
+ Zr = new R().parseFromString(hu, qu);
+ } catch {}
+ if (!Zr || !Zr.documentElement) {
+ Zr = ne.createDocument(ua, 'template', null);
+ try {
+ Zr.documentElement.innerHTML = Oo ? ae : hu;
+ } catch {}
+ }
+ const pl = Zr.body || Zr.documentElement;
+ return (
+ pn && ss && pl.insertBefore(u.createTextNode(ss), pl.childNodes[0] || null),
+ ua === Xa ? X.call(Zr, On ? 'html' : 'body')[0] : On ? Zr.documentElement : pl
+ );
+ },
+ jg = function (pn) {
+ return se.call(
+ pn.ownerDocument || pn,
+ pn,
+ _.SHOW_ELEMENT |
+ _.SHOW_COMMENT |
+ _.SHOW_TEXT |
+ _.SHOW_PROCESSING_INSTRUCTION |
+ _.SHOW_CDATA_SECTION,
+ null,
+ );
+ },
+ b1 = function (pn) {
+ return (
+ pn instanceof P &&
+ (typeof pn.nodeName != 'string' ||
+ typeof pn.textContent != 'string' ||
+ typeof pn.removeChild != 'function' ||
+ !(pn.attributes instanceof A) ||
+ typeof pn.removeAttribute != 'function' ||
+ typeof pn.setAttribute != 'function' ||
+ typeof pn.namespaceURI != 'string' ||
+ typeof pn.insertBefore != 'function' ||
+ typeof pn.hasChildNodes != 'function')
+ );
+ },
+ Hd = function (pn) {
+ return typeof y == 'function' && pn instanceof y;
+ };
+ function ch(bs, pn, Zr) {
+ gX(bs, (ss) => {
+ ss.call(s, pn, Zr, Bc);
+ });
+ }
+ const Vd = function (pn) {
+ let Zr = null;
+ if ((ch(G.beforeSanitizeElements, pn, null), b1(pn))) return (wu(pn), !0);
+ const ss = Cs(pn.nodeName);
+ if (
+ (ch(G.uponSanitizeElement, pn, { tagName: ss, allowedTags: Ke }),
+ (pn.hasChildNodes() &&
+ !Hd(pn.firstElementChild) &&
+ Ep(/<[/\w]/g, pn.innerHTML) &&
+ Ep(/<[/\w]/g, pn.textContent)) ||
+ pn.nodeType === qF.progressingInstruction ||
+ (Tt && pn.nodeType === qF.comment && Ep(/<[/\w]/g, pn.data)))
+ )
+ return (wu(pn), !0);
+ if (!Ke[ss] || Et[ss]) {
+ if (
+ !Et[ss] &&
+ Gd(ss) &&
+ ((kt.tagNameCheck instanceof RegExp && Ep(kt.tagNameCheck, ss)) ||
+ (kt.tagNameCheck instanceof Function && kt.tagNameCheck(ss)))
+ )
+ return !1;
+ if (_r && !qn[ss]) {
+ const hu = be(pn) || pn.parentNode,
+ pl = oe(pn) || pn.childNodes;
+ if (pl && hu) {
+ const yu = pl.length;
+ for (let Wi = yu - 1; Wi >= 0; --Wi) {
+ const ls = W(pl[Wi], !0);
+ ((ls.__removalCount = (pn.__removalCount || 0) + 1), hu.insertBefore(ls, ie(pn)));
+ }
+ }
+ }
+ return (wu(pn), !0);
+ }
+ return (pn instanceof T && !ka(pn)) ||
+ ((ss === 'noscript' || ss === 'noembed' || ss === 'noframes') &&
+ Ep(/<\/no(script|embed|frames)/i, pn.innerHTML))
+ ? (wu(pn), !0)
+ : (At &&
+ pn.nodeType === qF.text &&
+ ((Zr = pn.textContent),
+ gX([xe, U, Be], (hu) => {
+ Zr = jF(Zr, hu, ' ');
+ }),
+ pn.textContent !== Zr &&
+ (RF(s.removed, { element: pn.cloneNode() }), (pn.textContent = Zr))),
+ ch(G.afterSanitizeElements, pn, null),
+ !1);
+ },
+ Ud = function (pn, Zr, ss) {
+ if (Ba && (Zr === 'id' || Zr === 'name') && (ss in u || ss in Ma)) return !1;
+ if (!(xt && !Gt[Zr] && Ep(Ne, Zr))) {
+ if (!(ln && Ep(je, Zr))) {
+ if (!Pe[Zr] || Gt[Zr]) {
+ if (
+ !(
+ (Gd(pn) &&
+ ((kt.tagNameCheck instanceof RegExp && Ep(kt.tagNameCheck, pn)) ||
+ (kt.tagNameCheck instanceof Function && kt.tagNameCheck(pn))) &&
+ ((kt.attributeNameCheck instanceof RegExp && Ep(kt.attributeNameCheck, Zr)) ||
+ (kt.attributeNameCheck instanceof Function && kt.attributeNameCheck(Zr)))) ||
+ (Zr === 'is' &&
+ kt.allowCustomizedBuiltInElements &&
+ ((kt.tagNameCheck instanceof RegExp && Ep(kt.tagNameCheck, ss)) ||
+ (kt.tagNameCheck instanceof Function && kt.tagNameCheck(ss))))
+ )
+ )
+ return !1;
+ } else if (!fn[Zr]) {
+ if (!Ep(ke, jF(ss, Se, ''))) {
+ if (
+ !(
+ (Zr === 'src' || Zr === 'xlink:href' || Zr === 'href') &&
+ pn !== 'script' &&
+ ZNt(ss, 'data:') === 0 &&
+ wt[pn]
+ )
+ ) {
+ if (!(Pt && !Ep(Ie, jF(ss, Se, '')))) {
+ if (ss) return !1;
+ }
+ }
+ }
+ }
+ }
+ }
+ return !0;
+ },
+ Gd = function (pn) {
+ return pn !== 'annotation-xml' && fRe(pn, Ce);
+ },
+ sd = function (pn) {
+ ch(G.beforeSanitizeAttributes, pn, null);
+ const { attributes: Zr } = pn;
+ if (!Zr || b1(pn)) return;
+ const ss = {
+ attrName: '',
+ attrValue: '',
+ keepAttr: !0,
+ allowedAttributes: Pe,
+ forceKeepAttr: void 0,
+ };
+ let hu = Zr.length;
+ for (; hu--; ) {
+ const pl = Zr[hu],
+ { name: yu, namespaceURI: Wi, value: ls } = pl,
+ Da = Cs(yu);
+ let ui = yu === 'value' ? ls : ePt(ls);
+ if (
+ ((ss.attrName = Da),
+ (ss.attrValue = ui),
+ (ss.keepAttr = !0),
+ (ss.forceKeepAttr = void 0),
+ ch(G.uponSanitizeAttribute, pn, ss),
+ (ui = ss.attrValue),
+ na && (Da === 'id' || Da === 'name') && (Fc(yu, pn), (ui = Ro + ui)),
+ Tt && Ep(/((--!?|])>)|<\/(style|title)/i, ui))
+ ) {
+ Fc(yu, pn);
+ continue;
+ }
+ if (ss.forceKeepAttr || (Fc(yu, pn), !ss.keepAttr)) continue;
+ if (!Ze && Ep(/\/>/i, ui)) {
+ Fc(yu, pn);
+ continue;
+ }
+ At &&
+ gX([xe, U, Be], (Ot) => {
+ ui = jF(ui, Ot, ' ');
+ });
+ const nu = Cs(pn.nodeName);
+ if (Ud(nu, Da, ui)) {
+ if (ge && typeof F == 'object' && typeof F.getAttributeType == 'function' && !Wi)
+ switch (F.getAttributeType(nu, Da)) {
+ case 'TrustedHTML': {
+ ui = ge.createHTML(ui);
+ break;
+ }
+ case 'TrustedScriptURL': {
+ ui = ge.createScriptURL(ui);
+ break;
+ }
+ }
+ try {
+ (Wi ? pn.setAttributeNS(Wi, yu, ui) : pn.setAttribute(yu, ui),
+ b1(pn) ? wu(pn) : hRe(s.removed));
+ } catch {}
+ }
+ }
+ ch(G.afterSanitizeAttributes, pn, null);
+ },
+ F0 = function bs(pn) {
+ let Zr = null;
+ const ss = jg(pn);
+ for (ch(G.beforeSanitizeShadowDOM, pn, null); (Zr = ss.nextNode()); )
+ (ch(G.uponSanitizeShadowNode, Zr, null),
+ Vd(Zr),
+ sd(Zr),
+ Zr.content instanceof v && bs(Zr.content));
+ ch(G.afterSanitizeShadowDOM, pn, null);
+ };
+ return (
+ (s.sanitize = function (bs) {
+ let pn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
+ Zr = null,
+ ss = null,
+ hu = null,
+ pl = null;
+ if (((Oo = !bs), Oo && (bs = ''), typeof bs != 'string' && !Hd(bs)))
+ if (typeof bs.toString == 'function') {
+ if (((bs = bs.toString()), typeof bs != 'string'))
+ throw $F('dirty is not a string, aborting');
+ } else throw $F('toString is not a function');
+ if (!s.isSupported) return bs;
+ if ((ht || vc(pn), (s.removed = []), typeof bs == 'string' && (Nn = !1), Nn)) {
+ if (bs.nodeName) {
+ const ls = Cs(bs.nodeName);
+ if (!Ke[ls] || Et[ls])
+ throw $F('root node is forbidden and cannot be sanitized in-place');
+ }
+ } else if (bs instanceof y)
+ ((Zr = a5('')),
+ (ss = Zr.ownerDocument.importNode(bs, !0)),
+ (ss.nodeType === qF.element && ss.nodeName === 'BODY') || ss.nodeName === 'HTML'
+ ? (Zr = ss)
+ : Zr.appendChild(ss));
+ else {
+ if (!yt && !At && !On && bs.indexOf('<') === -1) return ge && yi ? ge.createHTML(bs) : bs;
+ if (((Zr = a5(bs)), !Zr)) return yt ? null : yi ? ae : '';
+ }
+ Zr && zr && wu(Zr.firstChild);
+ const yu = jg(Nn ? bs : Zr);
+ for (; (hu = yu.nextNode()); ) (Vd(hu), sd(hu), hu.content instanceof v && F0(hu.content));
+ if (Nn) return bs;
+ if (yt) {
+ if (Fi)
+ for (pl = de.call(Zr.ownerDocument); Zr.firstChild; ) pl.appendChild(Zr.firstChild);
+ else pl = Zr;
+ return ((Pe.shadowroot || Pe.shadowrootmode) && (pl = pe.call(d, pl, !0)), pl);
+ }
+ let Wi = On ? Zr.outerHTML : Zr.innerHTML;
+ return (
+ On &&
+ Ke['!doctype'] &&
+ Zr.ownerDocument &&
+ Zr.ownerDocument.doctype &&
+ Zr.ownerDocument.doctype.name &&
+ Ep(vRe, Zr.ownerDocument.doctype.name) &&
+ (Wi =
+ '
+` +
+ Wi),
+ At &&
+ gX([xe, U, Be], (ls) => {
+ Wi = jF(Wi, ls, ' ');
+ }),
+ ge && yi ? ge.createHTML(Wi) : Wi
+ );
+ }),
+ (s.setConfig = function () {
+ let bs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
+ (vc(bs), (ht = !0));
+ }),
+ (s.clearConfig = function () {
+ ((Bc = null), (ht = !1));
+ }),
+ (s.isValidAttribute = function (bs, pn, Zr) {
+ Bc || vc({});
+ const ss = Cs(bs),
+ hu = Cs(pn);
+ return Ud(ss, hu, Zr);
+ }),
+ (s.addHook = function (bs, pn) {
+ typeof pn == 'function' && RF(G[bs], pn);
+ }),
+ (s.removeHook = function (bs, pn) {
+ if (pn !== void 0) {
+ const Zr = QNt(G[bs], pn);
+ return Zr === -1 ? void 0 : JNt(G[bs], Zr, 1)[0];
+ }
+ return hRe(G[bs]);
+ }),
+ (s.removeHooks = function (bs) {
+ G[bs] = [];
+ }),
+ (s.removeAllHooks = function () {
+ G = yRe();
+ }),
+ s
+ );
+ }
+ var lD = xRe();
+ const hD = /
/gi,
+ pPt = (i) => (i ? TRe(i).replace(/\\n/g, '#br#').split('#br#') : ['']),
+ bPt = (() => {
+ let i = !1;
+ return () => {
+ i || (mPt(), (i = !0));
+ };
+ })();
+ function mPt() {
+ const i = 'data-temp-href-target';
+ (lD.addHook('beforeSanitizeAttributes', (s) => {
+ s.tagName === 'A' &&
+ s.hasAttribute('target') &&
+ s.setAttribute(i, s.getAttribute('target') ?? '');
+ }),
+ lD.addHook('afterSanitizeAttributes', (s) => {
+ s.tagName === 'A' &&
+ s.hasAttribute(i) &&
+ (s.setAttribute('target', s.getAttribute(i) ?? ''),
+ s.removeAttribute(i),
+ s.getAttribute('target') === '_blank' && s.setAttribute('rel', 'noopener'));
+ }));
+ }
+ const kRe = (i) => (bPt(), lD.sanitize(i)),
+ ERe = (i, s) => {
+ var u;
+ if (((u = s.flowchart) == null ? void 0 : u.htmlLabels) !== !1) {
+ const d = s.securityLevel;
+ d === 'antiscript' || d === 'strict'
+ ? (i = kRe(i))
+ : d !== 'loose' &&
+ ((i = TRe(i)),
+ (i = i.replace(//g, '>')),
+ (i = i.replace(/=/g, '=')),
+ (i = xPt(i)));
+ }
+ return i;
+ },
+ yh = (i, s) =>
+ i &&
+ (s.dompurifyConfig
+ ? (i = lD.sanitize(ERe(i, s), s.dompurifyConfig).toString())
+ : (i = lD.sanitize(ERe(i, s), { FORBID_TAGS: ['style'] }).toString()),
+ i),
+ vPt = (i, s) => (typeof i == 'string' ? yh(i, s) : i.flat().map((u) => yh(u, s))),
+ wPt = (i) => hD.test(i),
+ yPt = (i) => i.split(hD),
+ xPt = (i) => i.replace(/#br#/g, '
'),
+ TRe = (i) => i.replace(hD, '#br#'),
+ kPt = (i) => {
+ let s = '';
+ return (
+ i &&
+ ((s =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (s = s.replaceAll(/\(/g, '\\(')),
+ (s = s.replaceAll(/\)/g, '\\)'))),
+ s
+ );
+ },
+ u1 = (i) => !(i === !1 || ['false', 'null', '0'].includes(String(i).trim().toLowerCase())),
+ EPt = function (...i) {
+ const s = i.filter((u) => !isNaN(u));
+ return Math.max(...s);
+ },
+ TPt = function (...i) {
+ const s = i.filter((u) => !isNaN(u));
+ return Math.min(...s);
+ },
+ HF = function (i) {
+ const s = i.split(/(,)/),
+ u = [];
+ for (let d = 0; d < s.length; d++) {
+ let p = s[d];
+ if (p === ',' && d > 0 && d + 1 < s.length) {
+ const v = s[d - 1],
+ b = s[d + 1];
+ CPt(v, b) && ((p = v + ',' + b), d++, u.pop());
+ }
+ u.push(SPt(p));
+ }
+ return u.join('');
+ },
+ l2e = (i, s) => Math.max(0, i.split(s).length - 1),
+ CPt = (i, s) => {
+ const u = l2e(i, '~'),
+ d = l2e(s, '~');
+ return u === 1 && d === 1;
+ },
+ SPt = (i) => {
+ const s = l2e(i, '~');
+ let u = !1;
+ if (s <= 1) return i;
+ s % 2 !== 0 && i.startsWith('~') && ((i = i.substring(1)), (u = !0));
+ const d = [...i];
+ let p = d.indexOf('~'),
+ v = d.lastIndexOf('~');
+ for (; p !== -1 && v !== -1 && p !== v; )
+ ((d[p] = '<'), (d[v] = '>'), (p = d.indexOf('~')), (v = d.lastIndexOf('~')));
+ return (u && d.unshift('~'), d.join(''));
+ },
+ CRe = () => window.MathMLElement !== void 0,
+ h2e = /\$\$(.*)\$\$/g,
+ Dv = (i) => {
+ var s;
+ return (((s = i.match(h2e)) == null ? void 0 : s.length) ?? 0) > 0;
+ },
+ VF = async (i, s) => {
+ const u = document.createElement('div');
+ ((u.innerHTML = await TC(i, s)),
+ (u.id = 'katex-temp'),
+ (u.style.visibility = 'hidden'),
+ (u.style.position = 'absolute'),
+ (u.style.top = '0'));
+ const d = document.querySelector('body');
+ d == null || d.insertAdjacentElement('beforeend', u);
+ const p = { width: u.clientWidth, height: u.clientHeight };
+ return (u.remove(), p);
+ },
+ _Pt = async (i, s) => {
+ if (!Dv(i)) return i;
+ if (!CRe() && !s.legacyMathML)
+ return i.replace(h2e, 'MathML is unsupported in this environment.');
+ const { default: u } = await Promise.resolve().then(() => BVt);
+ return i
+ .split(hD)
+ .map((d) =>
+ Dv(d)
+ ? `
${d}
- `:`${d}`).join("").replace(h2e,(d,p)=>u.renderToString(p,{throwOnError:!0,displayMode:!0,output:CRe()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,""))},TC=async(i,s)=>yh(await _Pt(i,s),s),ci={getRows:pPt,sanitizeText:yh,sanitizeTextOrArray:vPt,hasBreaks:wPt,splitBreaks:yPt,lineBreakRegex:hD,removeScript:kRe,getUrl:kPt,evaluate:u1,getMax:EPt,getMin:TPt},mX={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:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const s=i/255;return i>.03928?Math.pow((s+.055)/1.055,2.4):s/12.92},hue2rgb:(i,s,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<1/6?i+(s-i)*6*u:u<1/2?s:u<2/3?i+(s-i)*(2/3-u)*6:i),hsl2rgb:({h:i,s,l:u},d)=>{if(!s)return u*2.55;i/=360,s/=100,u/=100;const p=u<.5?u*(1+s):u+s-u*s,v=2*u-p;switch(d){case"r":return mX.hue2rgb(v,p,i+1/3)*255;case"g":return mX.hue2rgb(v,p,i)*255;case"b":return mX.hue2rgb(v,p,i-1/3)*255}},rgb2hsl:({r:i,g:s,b:u},d)=>{i/=255,s/=255,u/=255;const p=Math.max(i,s,u),v=Math.min(i,s,u),b=(p+v)/2;if(d==="l")return b*100;if(p===v)return 0;const y=p-v,T=b>.5?y/(2-p-v):y/(p+v);if(d==="s")return T*100;switch(p){case i:return((s-u)/y+(ss>u?Math.min(s,Math.max(u,i)):Math.min(u,Math.max(s,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const s=Math.round(i).toString(16);return s.length>1?s:`0${s}`}}},m9={};for(let i=0;i<=255;i++)m9[i]=Wa.unit.dec2hex(i);const Ig={ALL:0,RGB:1,HSL:2};class APt{constructor(){this.type=Ig.ALL}get(){return this.type}set(s){if(this.type&&this.type!==s)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=s}reset(){this.type=Ig.ALL}is(s){return this.type===s}}const LPt=APt;class MPt{constructor(s,u){this.color=u,this.changed=!1,this.data=s,this.type=new LPt}set(s,u){return this.color=u,this.changed=!1,this.data=s,this.type.type=Ig.ALL,this}_ensureHSL(){const s=this.data,{h:u,s:d,l:p}=s;u===void 0&&(s.h=Wa.channel.rgb2hsl(s,"h")),d===void 0&&(s.s=Wa.channel.rgb2hsl(s,"s")),p===void 0&&(s.l=Wa.channel.rgb2hsl(s,"l"))}_ensureRGB(){const s=this.data,{r:u,g:d,b:p}=s;u===void 0&&(s.r=Wa.channel.hsl2rgb(s,"r")),d===void 0&&(s.g=Wa.channel.hsl2rgb(s,"g")),p===void 0&&(s.b=Wa.channel.hsl2rgb(s,"b"))}get r(){const s=this.data,u=s.r;return!this.type.is(Ig.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"r"))}get g(){const s=this.data,u=s.g;return!this.type.is(Ig.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"g"))}get b(){const s=this.data,u=s.b;return!this.type.is(Ig.HSL)&&u!==void 0?u:(this._ensureHSL(),Wa.channel.hsl2rgb(s,"b"))}get h(){const s=this.data,u=s.h;return!this.type.is(Ig.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"h"))}get s(){const s=this.data,u=s.s;return!this.type.is(Ig.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"s"))}get l(){const s=this.data,u=s.l;return!this.type.is(Ig.RGB)&&u!==void 0?u:(this._ensureRGB(),Wa.channel.rgb2hsl(s,"l"))}get a(){return this.data.a}set r(s){this.type.set(Ig.RGB),this.changed=!0,this.data.r=s}set g(s){this.type.set(Ig.RGB),this.changed=!0,this.data.g=s}set b(s){this.type.set(Ig.RGB),this.changed=!0,this.data.b=s}set h(s){this.type.set(Ig.HSL),this.changed=!0,this.data.h=s}set s(s){this.type.set(Ig.HSL),this.changed=!0,this.data.s=s}set l(s){this.type.set(Ig.HSL),this.changed=!0,this.data.l=s}set a(s){this.changed=!0,this.data.a=s}}const DPt=MPt,vX=new DPt({r:0,g:0,b:0,a:0},"transparent"),SRe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const s=i.match(SRe.re);if(!s)return;const u=s[1],d=parseInt(u,16),p=u.length,v=p%4===0,b=p>4,y=b?1:17,T=b?8:4,_=v?0:-1,A=b?255:15;return vX.set({r:(d>>T*(_+3)&A)*y,g:(d>>T*(_+2)&A)*y,b:(d>>T*(_+1)&A)*y,a:v?(d&A)*y/255:1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`#${m9[Math.round(s)]}${m9[Math.round(u)]}${m9[Math.round(d)]}${m9[Math.round(p*255)]}`:`#${m9[Math.round(s)]}${m9[Math.round(u)]}${m9[Math.round(d)]}`}},UF=SRe,wX={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:i=>{const s=i.match(wX.hueRe);if(s){const[,u,d]=s;switch(d){case"grad":return Wa.channel.clamp.h(parseFloat(u)*.9);case"rad":return Wa.channel.clamp.h(parseFloat(u)*180/Math.PI);case"turn":return Wa.channel.clamp.h(parseFloat(u)*360)}}return Wa.channel.clamp.h(parseFloat(i))},parse:i=>{const s=i.charCodeAt(0);if(s!==104&&s!==72)return;const u=i.match(wX.re);if(!u)return;const[,d,p,v,b,y]=u;return vX.set({h:wX._hue2deg(d),s:Wa.channel.clamp.s(parseFloat(p)),l:Wa.channel.clamp.l(parseFloat(v)),a:b?Wa.channel.clamp.a(y?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:s,s:u,l:d,a:p}=i;return p<1?`hsla(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%, ${p})`:`hsl(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%)`}},yX=wX,xX={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:i=>{i=i.toLowerCase();const s=xX.colors[i];if(s)return UF.parse(s)},stringify:i=>{const s=UF.stringify(i);for(const u in xX.colors)if(xX.colors[u]===s)return u}},_Re=xX,ARe={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:i=>{const s=i.charCodeAt(0);if(s!==114&&s!==82)return;const u=i.match(ARe.re);if(!u)return;const[,d,p,v,b,y,T,_,A]=u;return vX.set({r:Wa.channel.clamp.r(p?parseFloat(d)*2.55:parseFloat(d)),g:Wa.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Wa.channel.clamp.b(T?parseFloat(y)*2.55:parseFloat(y)),a:_?Wa.channel.clamp.a(A?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:s,g:u,b:d,a:p}=i;return p<1?`rgba(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)}, ${Wa.lang.round(p)})`:`rgb(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)})`}},kX=ARe,O3={format:{keyword:_Re,hex:UF,rgb:kX,rgba:kX,hsl:yX,hsla:yX},parse:i=>{if(typeof i!="string")return i;const s=UF.parse(i)||kX.parse(i)||yX.parse(i)||_Re.parse(i);if(s)return s;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(Ig.HSL)||i.data.r===void 0?yX.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?kX.stringify(i):UF.stringify(i)},LRe=(i,s)=>{const u=O3.parse(i);for(const d in s)u[d]=Wa.channel.clamp[d](s[d]);return O3.stringify(u)},CC=(i,s,u=0,d=1)=>{if(typeof i!="number")return LRe(i,{a:s});const p=vX.set({r:Wa.channel.clamp.r(i),g:Wa.channel.clamp.g(s),b:Wa.channel.clamp.b(u),a:Wa.channel.clamp.a(d)});return O3.stringify(p)},MRe=(i,s)=>Wa.lang.round(O3.parse(i)[s]),IPt=i=>{const{r:s,g:u,b:d}=O3.parse(i),p=.2126*Wa.channel.toLinear(s)+.7152*Wa.channel.toLinear(u)+.0722*Wa.channel.toLinear(d);return Wa.lang.round(p)},OPt=i=>IPt(i)>=.5,SC=i=>!OPt(i),DRe=(i,s,u)=>{const d=O3.parse(i),p=d[s],v=Wa.channel.clamp[s](p+u);return p!==v&&(d[s]=v),O3.stringify(d)},Gs=(i,s)=>DRe(i,"l",s),ga=(i,s)=>DRe(i,"l",-s),In=(i,s)=>{const u=O3.parse(i),d={};for(const p in s)s[p]&&(d[p]=u[p]+s[p]);return LRe(i,d)},NPt=(i,s,u=50)=>{const{r:d,g:p,b:v,a:b}=O3.parse(i),{r:y,g:T,b:_,a:A}=O3.parse(s),P=u/100,R=P*2-1,F=b-A,W=((R*F===-1?R:(R+F)/(1+R*F))+1)/2,ee=1-W,ie=d*W+y*ee,oe=p*W+T*ee,be=v*W+_*ee,ge=b*P+A*(1-P);return CC(ie,oe,be,ge)},Vi=(i,s=100)=>{const u=O3.parse(i);return u.r=255-u.r,u.g=255-u.g,u.b=255-u.b,NPt(u,i,s)},Cp=(i,s)=>s?In(i,{s:-40,l:10}):In(i,{s:-40,l:-10}),EX="#ffffff",TX="#f2f2f2";let PPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var u,d,p,v,b,y,T,_,A,P,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||In(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||In(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Cp(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Cp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Cp(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Cp(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Vi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Vi(this.tertiaryColor),this.lineColor=this.lineColor||Vi(this.background),this.arrowheadColor=this.arrowheadColor||Vi(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?ga(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||ga(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Vi(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||Gs(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this.darkMode)for(let F=0;F{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const BPt=i=>{const s=new PPt;return s.calculate(i),s};let FPt=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Gs(this.primaryColor,16),this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Vi(this.background),this.secondaryBorderColor=Cp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Cp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Gs(Vi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=CC(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=ga("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=ga(this.sectionBkgColor,10),this.taskBorderColor=CC(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=CC(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Gs(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=Gs(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Gs(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330});for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const RPt=i=>{const s=new FPt;return s.calculate(i),s};let jPt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=In(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Cp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Cp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Cp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=CC(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||ga(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||ga(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const f2e=i=>{const s=new jPt;return s.calculate(i),s};let $Pt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Gs("#cde498",10),this.primaryBorderColor=Cp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Cp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Cp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.primaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.actorBorder=ga(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||ga(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||ga(this.tertiaryColor,40);for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}};const zPt=i=>{const s=new $Pt;return s.calculate(i),s};class qPt{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Gs(this.contrast,55),this.background="#ffffff",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Cp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Cp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Cp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Vi(this.primaryColor),this.secondaryTextColor=Vi(this.secondaryColor),this.tertiaryTextColor=Vi(this.tertiaryColor),this.lineColor=Vi(this.background),this.textColor=Vi(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var s,u,d,p,v,b,y,T,_,A,P;this.secondBkg=Gs(this.contrast,55),this.border2=this.contrast,this.actorBorder=Gs(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let R=0;R{this[d]=s[d]}),this.updateColors(),u.forEach(d=>{this[d]=s[d]})}}const k7={base:{getThemeVariables:BPt},dark:{getThemeVariables:RPt},default:{getThemeVariables:f2e},forest:{getThemeVariables:zPt},neutral:{getThemeVariables:i=>{const s=new qPt;return s.calculate(i),s}}},E7={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},IRe={...E7,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:k7.default.getThemeVariables(),sequence:{...E7.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...E7.gantt,tickInterval:void 0,useWidth:void 0},c4:{...E7.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...E7.pie,useWidth:984},xyChart:{...E7.xyChart,useWidth:void 0},requirement:{...E7.requirement,useWidth:void 0},gitGraph:{...E7.gitGraph,useMaxWidth:!1},sankey:{...E7.sankey,useMaxWidth:!1}},ORe=(i,s="")=>Object.keys(i).reduce((u,d)=>Array.isArray(i[d])?u:typeof i[d]=="object"&&i[d]!==null?[...u,s+d,...ORe(i[d],"")]:[...u,s+d],[]),HPt=new Set(ORe(IRe,"")),sh=IRe,CX=i=>{if(Xe.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(s=>CX(s));return}for(const s of Object.keys(i)){if(Xe.debug("Checking key",s),s.startsWith("__")||s.includes("proto")||s.includes("constr")||!HPt.has(s)||i[s]==null){Xe.debug("sanitize deleting key: ",s),delete i[s];continue}if(typeof i[s]=="object"){Xe.debug("sanitizing object",s),CX(i[s]);continue}const u=["themeCSS","fontFamily","altFontFamily"];for(const d of u)s.includes(d)&&(Xe.debug("sanitizing css option",s),i[s]=VPt(i[s]))}if(i.themeVariables)for(const s of Object.keys(i.themeVariables)){const u=i.themeVariables[s];u!=null&&u.match&&!u.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[s]="")}Xe.debug("After sanitization",i)}},VPt=i=>{let s=0,u=0;for(const d of i){if(s{for(const{id:s,detector:u,loader:d}of i)FRe(s,u,d)},FRe=(i,s,u)=>{fD[i]?Xe.error(`Detector with key ${i} already exists`):fD[i]={detector:s,loader:u},Xe.debug(`Detector with key ${i} added${u?" with loader":""}`)},GPt=i=>fD[i].loader,d2e=(i,s,{depth:u=2,clobber:d=!1}={})=>{const p={depth:u,clobber:d};return Array.isArray(s)&&!Array.isArray(i)?(s.forEach(v=>d2e(i,v,p)),i):Array.isArray(s)&&Array.isArray(i)?(s.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||u<=0?i!=null&&typeof i=="object"&&typeof s=="object"?Object.assign(i,s):s:(s!==void 0&&typeof i=="object"&&typeof s=="object"&&Object.keys(s).forEach(v=>{typeof s[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(s[v])?[]:{}),i[v]=d2e(i[v],s[v],{depth:u-1,clobber:d})):(d||typeof i[v]!="object"&&typeof s[v]!="object")&&(i[v]=s[v])}),i)},td=d2e;var KPt=typeof global=="object"&&global&&global.Object===Object&&global;const RRe=KPt;var WPt=typeof self=="object"&&self&&self.Object===Object&&self,YPt=RRe||WPt||Function("return this")();const N3=YPt;var XPt=N3.Symbol;const Iv=XPt;var jRe=Object.prototype,QPt=jRe.hasOwnProperty,JPt=jRe.toString,KF=Iv?Iv.toStringTag:void 0;function ZPt(i){var s=QPt.call(i,KF),u=i[KF];try{i[KF]=void 0;var d=!0}catch{}var p=JPt.call(i);return d&&(s?i[KF]=u:delete i[KF]),p}var eBt=Object.prototype,tBt=eBt.toString;function nBt(i){return tBt.call(i)}var rBt="[object Null]",iBt="[object Undefined]",$Re=Iv?Iv.toStringTag:void 0;function _C(i){return i==null?i===void 0?iBt:rBt:$Re&&$Re in Object(i)?ZPt(i):nBt(i)}function sm(i){var s=typeof i;return i!=null&&(s=="object"||s=="function")}var sBt="[object AsyncFunction]",aBt="[object Function]",oBt="[object GeneratorFunction]",cBt="[object Proxy]";function dD(i){if(!sm(i))return!1;var s=_C(i);return s==aBt||s==oBt||s==sBt||s==cBt}var uBt=N3["__core-js_shared__"];const g2e=uBt;var zRe=function(){var i=/[^.]+$/.exec(g2e&&g2e.keys&&g2e.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function lBt(i){return!!zRe&&zRe in i}var hBt=Function.prototype,fBt=hBt.toString;function AC(i){if(i!=null){try{return fBt.call(i)}catch{}try{return i+""}catch{}}return""}var dBt=/[\\^$.*+?()[\]{}|]/g,gBt=/^\[object .+?Constructor\]$/,pBt=Function.prototype,bBt=Object.prototype,mBt=pBt.toString,vBt=bBt.hasOwnProperty,wBt=RegExp("^"+mBt.call(vBt).replace(dBt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yBt(i){if(!sm(i)||lBt(i))return!1;var s=dD(i)?wBt:gBt;return s.test(AC(i))}function xBt(i,s){return i==null?void 0:i[s]}function LC(i,s){var u=xBt(i,s);return yBt(u)?u:void 0}var kBt=LC(Object,"create");const WF=kBt;function EBt(){this.__data__=WF?WF(null):{},this.size=0}function TBt(i){var s=this.has(i)&&delete this.__data__[i];return this.size-=s?1:0,s}var CBt="__lodash_hash_undefined__",SBt=Object.prototype,_Bt=SBt.hasOwnProperty;function ABt(i){var s=this.__data__;if(WF){var u=s[i];return u===CBt?void 0:u}return _Bt.call(s,i)?s[i]:void 0}var LBt=Object.prototype,MBt=LBt.hasOwnProperty;function DBt(i){var s=this.__data__;return WF?s[i]!==void 0:MBt.call(s,i)}var IBt="__lodash_hash_undefined__";function OBt(i,s){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=WF&&s===void 0?IBt:s,this}function MC(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1}function $Bt(i,s){var u=this.__data__,d=_X(u,i);return d<0?(++this.size,u.push([i,s])):u[d][1]=s,this}function T7(i){var s=-1,u=i==null?0:i.length;for(this.clear();++s-1&&i%1==0&&i<=pFt}function v9(i){return i!=null&&w2e(i.length)&&!dD(i)}function eje(i){return q4(i)&&v9(i)}function bFt(){return!1}var tje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,nje=tje&&typeof module=="object"&&module&&!module.nodeType&&module,mFt=nje&&nje.exports===tje,rje=mFt?N3.Buffer:void 0,vFt=rje?rje.isBuffer:void 0,wFt=vFt||bFt;const mD=wFt;var yFt="[object Object]",xFt=Function.prototype,kFt=Object.prototype,ije=xFt.toString,EFt=kFt.hasOwnProperty,TFt=ije.call(Object);function sje(i){if(!q4(i)||_C(i)!=yFt)return!1;var s=v2e(i);if(s===null)return!0;var u=EFt.call(s,"constructor")&&s.constructor;return typeof u=="function"&&u instanceof u&&ije.call(u)==TFt}var CFt="[object Arguments]",SFt="[object Array]",_Ft="[object Boolean]",AFt="[object Date]",LFt="[object Error]",MFt="[object Function]",DFt="[object Map]",IFt="[object Number]",OFt="[object Object]",NFt="[object RegExp]",PFt="[object Set]",BFt="[object String]",FFt="[object WeakMap]",RFt="[object ArrayBuffer]",jFt="[object DataView]",$Ft="[object Float32Array]",zFt="[object Float64Array]",qFt="[object Int8Array]",HFt="[object Int16Array]",VFt="[object Int32Array]",UFt="[object Uint8Array]",GFt="[object Uint8ClampedArray]",KFt="[object Uint16Array]",WFt="[object Uint32Array]",ah={};ah[$Ft]=ah[zFt]=ah[qFt]=ah[HFt]=ah[VFt]=ah[UFt]=ah[GFt]=ah[KFt]=ah[WFt]=!0,ah[CFt]=ah[SFt]=ah[RFt]=ah[_Ft]=ah[jFt]=ah[AFt]=ah[LFt]=ah[MFt]=ah[DFt]=ah[IFt]=ah[OFt]=ah[NFt]=ah[PFt]=ah[BFt]=ah[FFt]=!1;function YFt(i){return q4(i)&&w2e(i.length)&&!!ah[_C(i)]}function OX(i){return function(s){return i(s)}}var aje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,XF=aje&&typeof module=="object"&&module&&!module.nodeType&&module,XFt=XF&&XF.exports===aje,y2e=XFt&&RRe.process,QFt=function(){try{var i=XF&&XF.require&&XF.require("util").types;return i||y2e&&y2e.binding&&y2e.binding("util")}catch{}}();const vD=QFt;var oje=vD&&vD.isTypedArray,JFt=oje?OX(oje):YFt;const NX=JFt;function x2e(i,s){if(!(s==="constructor"&&typeof i[s]=="function")&&s!="__proto__")return i[s]}var ZFt=Object.prototype,eRt=ZFt.hasOwnProperty;function PX(i,s,u){var d=i[s];(!(eRt.call(i,s)&&gD(d,u))||u===void 0&&!(s in i))&&MX(i,s,u)}function QF(i,s,u,d){var p=!u;u||(u={});for(var v=-1,b=s.length;++v-1&&i%1==0&&i0){if(++s>=pRt)return arguments[0]}else s=0;return i.apply(void 0,arguments)}}var wRt=vRt(gRt);const fje=wRt;function FX(i,s){return fje(hje(i,s,IC),i+"")}function JF(i,s,u){if(!sm(u))return!1;var d=typeof s;return(d=="number"?v9(u)&&BX(s,u.length):d=="string"&&s in u)?gD(u[s],i):!1}function yRt(i){return FX(function(s,u){var d=-1,p=u.length,v=p>1?u[p-1]:void 0,b=p>2?u[2]:void 0;for(v=i.length>3&&typeof v=="function"?(p--,v):void 0,b&&JF(u[0],u[1],b)&&(v=p<3?void 0:v,p=1),s=Object(s);++dy.args);CX(b),d=td(d,[...b])}else d=u.args;if(!d)return;let p=SX(i,s);const v="config";return d[v]!==void 0&&(p==="flowchart-v2"&&(p="flowchart"),d[p]=d[v],delete d[v]),d},gje=function(i,s=null){try{const u=new RegExp(`[%]{2}(?![{]${ERt.source})(?=[}][%]{2}).*
-`,"ig");i=i.trim().replace(u,"").replace(/'/gm,'"'),Xe.debug(`Detecting diagram directive${s!==null?" type:"+s:""} based on the text:${i}`);let d;const p=[];for(;(d=GF.exec(i))!==null;)if(d.index===GF.lastIndex&&GF.lastIndex++,d&&!s||s&&d[1]&&d[1].match(s)||s&&d[2]&&d[2].match(s)){const v=d[1]?d[1]:d[2],b=d[3]?d[3].trim():d[4]?JSON.parse(d[4].trim()):null;p.push({type:v,args:b})}return p.length===0?{type:i,args:null}:p.length===1?p[0]:p}catch(u){return Xe.error(`ERROR: ${u.message} - Unable to parse directive type: '${s}' based on the text: '${i}'`),{type:void 0,args:null}}},CRt=function(i){return i.replace(GF,"")},SRt=function(i,s){for(const[u,d]of s.entries())if(d.match(i))return u;return-1};function Ov(i,s){if(!i)return s;const u=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return kRt[u]??s}function _Rt(i,s){const u=i.trim();if(u)return s.securityLevel!=="loose"?g9.sanitizeUrl(u):u}const ARt=(i,...s)=>{const u=i.split("."),d=u.length-1,p=u[d];let v=window;for(let b=0;b{u+=pje(p,s),s=p});const d=u/2;return k2e(i,d)}function MRt(i){return i.length===1?i[0]:LRt(i)}const bje=(i,s=2)=>{const u=Math.pow(10,s);return Math.round(i*u)/u},k2e=(i,s)=>{let u,d=s;for(const p of i){if(u){const v=pje(p,u);if(v=1)return{x:p.x,y:p.y};if(b>0&&b<1)return{x:bje((1-b)*u.x+b*p.x,5),y:bje((1-b)*u.y+b*p.y,5)}}}u=p}throw new Error("Could not find a suitable point for the given distance")},DRt=(i,s,u)=>{Xe.info(`our points ${JSON.stringify(s)}`),s[0]!==u&&(s=s.reverse());const p=k2e(s,25),v=i?10:5,b=Math.atan2(s[0].y-p.y,s[0].x-p.x),y={x:0,y:0};return y.x=Math.sin(b)*v+(s[0].x+p.x)/2,y.y=-Math.cos(b)*v+(s[0].y+p.y)/2,y};function IRt(i,s,u){const d=structuredClone(u);Xe.info("our points",d),s!=="start_left"&&s!=="start_right"&&d.reverse();const p=25+i,v=k2e(d,p),b=10+i*.5,y=Math.atan2(d[0].y-v.y,d[0].x-v.x),T={x:0,y:0};return s==="start_left"?(T.x=Math.sin(y+Math.PI)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y+Math.PI)*b+(d[0].y+v.y)/2):s==="end_right"?(T.x=Math.sin(y-Math.PI)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y-Math.PI)*b+(d[0].y+v.y)/2-5):s==="end_left"?(T.x=Math.sin(y)*b+(d[0].x+v.x)/2-5,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2-5):(T.x=Math.sin(y)*b+(d[0].x+v.x)/2,T.y=-Math.cos(y)*b+(d[0].y+v.y)/2),T}function am(i){let s="",u="";for(const d of i)d!==void 0&&(d.startsWith("color:")||d.startsWith("text-align:")?u=u+d+";":s=s+d+";");return{style:s,labelStyle:u}}let mje=0;const vje=()=>(mje++,"id-"+Math.random().toString(36).substr(2,12)+"-"+mje);function ORt(i){let s="";const u="0123456789abcdef",d=u.length;for(let p=0;pORt(i.length),NRt=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:""}},PRt=function(i,s){const u=s.text.replace(ci.lineBreakRegex," "),[,d]=OC(s.fontSize),p=i.append("text");p.attr("x",s.x),p.attr("y",s.y),p.style("text-anchor",s.anchor),p.style("font-family",s.fontFamily),p.style("font-size",d),p.style("font-weight",s.fontWeight),p.attr("fill",s.fill),s.class!==void 0&&p.attr("class",s.class);const v=p.append("tspan");return v.attr("x",s.x+s.textMargin*2),v.attr("fill",s.fill),v.text(u),p},yje=pD((i,s,u)=>{if(!i||(u=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},u),ci.lineBreakRegex.test(i)))return i;const d=i.split(" "),p=[];let v="";return d.forEach((b,y)=>{const T=H4(`${b} `,u),_=H4(v,u);if(T>s){const{hyphenatedStrings:R,remainingWord:F}=BRt(b,s,"-",u);p.push(v,...R),v=F}else _+T>=s?(p.push(v),v=b):v=[v,b].filter(Boolean).join(" ");y+1===d.length&&p.push(v)}),p.filter(b=>b!=="").join(u.joinWith)},(i,s,u)=>`${i}${s}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`),BRt=pD((i,s,u="-",d)=>{d=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},d);const p=[...i],v=[];let b="";return p.forEach((y,T)=>{const _=`${b}${y}`;if(H4(_,d)>=s){const P=T+1,R=p.length===P,F=`${_}${u}`;v.push(R?_:F),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,s,u="-",d)=>`${i}${s}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`);function E2e(i,s){return T2e(i,s).height}function H4(i,s){return T2e(i,s).width}const T2e=pD((i,s)=>{const{fontSize:u=12,fontFamily:d="Arial",fontWeight:p=400}=s;if(!i)return{width:0,height:0};const[,v]=OC(u),b=["sans-serif",d],y=i.split(ci.lineBreakRegex),T=[],_=Ir("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const A=_.append("svg");for(const R of b){let F=0;const j={width:0,height:0,lineHeight:0};for(const W of y){const ee=NRt();ee.text=W||dje;const ie=PRt(A,ee).style("font-size",v).style("font-weight",p).style("font-family",R),oe=(ie._groups||ie)[0][0].getBBox();if(oe.width===0&&oe.height===0)throw new Error("svg element not in render tree");j.width=Math.round(Math.max(j.width,oe.width)),F=Math.round(oe.height),j.height+=F,j.lineHeight=Math.round(Math.max(j.lineHeight,F))}T.push(j)}A.remove();const P=isNaN(T[1].height)||isNaN(T[1].width)||isNaN(T[1].lineHeight)||T[0].height>T[1].height&&T[0].width>T[1].width&&T[0].lineHeight>T[1].lineHeight?0:1;return T[P]},(i,s)=>`${i}${s.fontSize}${s.fontWeight}${s.fontFamily}`);class FRt{constructor(s=!1,u){this.count=0,this.count=u?u.length:0,this.next=s?()=>this.count++:()=>Date.now()}}let jX;const RRt=function(i){return jX=jX||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),jX.innerHTML=i,unescape(jX.textContent)};function xje(i){return"str"in i}const jRt=(i,s,u,d)=>{var v;if(!d)return;const p=(v=i.node())==null?void 0:v.getBBox();p&&i.append("text").text(d).attr("x",p.x+p.width/2).attr("y",-u).attr("class",s)},OC=i=>{if(typeof i=="number")return[i,i+"px"];const s=parseInt(i??"",10);return Number.isNaN(s)?[void 0,void 0]:i===String(s)?[s,i+"px"]:[s,i]};function ZF(i,s){return RX({},i,s)}const So={assignWithDepth:td,wrapLabel:yje,calculateTextHeight:E2e,calculateTextWidth:H4,calculateTextDimensions:T2e,cleanAndMerge:ZF,detectInit:TRt,detectDirective:gje,isSubstringInArray:SRt,interpolateToCurve:Ov,calcLabelPosition:MRt,calcCardinalityPosition:DRt,calcTerminalLabelPosition:IRt,formatUrl:_Rt,getStylesFromArray:am,generateId:vje,random:wje,runFunc:ARt,entityDecode:RRt,insertTitle:jRt,parseFontSize:OC,InitIDGenerator:FRt},$Rt=function(i){let s=i;return s=s.replace(/style.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/classDef.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),s=s.replace(/#\w+;/g,function(u){const d=u.substring(1,u.length-1);return/^\+?\d+$/.test(d)?"fl°°"+d+"¶ß":"fl°"+d+"¶ß"}),s},eR=function(i){return i.replace(/fl°°/g,"").replace(/fl°/g,"&").replace(/¶ß/g,";")};var kje="comm",Eje="rule",Tje="decl",zRt="@import",qRt="@keyframes",HRt="@layer",Cje=Math.abs,C2e=String.fromCharCode;function Sje(i){return i.trim()}function $X(i,s,u){return i.replace(s,u)}function VRt(i,s,u){return i.indexOf(s,u)}function tR(i,s){return i.charCodeAt(s)|0}function nR(i,s,u){return i.slice(s,u)}function S7(i){return i.length}function URt(i){return i.length}function zX(i,s){return s.push(i),i}var qX=1,yD=1,_je=0,Nv=0,M0=0,xD="";function S2e(i,s,u,d,p,v,b,y){return{value:i,root:s,parent:u,type:d,props:p,children:v,line:qX,column:yD,length:b,return:"",siblings:y}}function GRt(){return M0}function KRt(){return M0=Nv>0?tR(xD,--Nv):0,yD--,M0===10&&(yD=1,qX--),M0}function B3(){return M0=Nv<_je?tR(xD,Nv++):0,yD++,M0===10&&(yD=1,qX++),M0}function NC(){return tR(xD,Nv)}function HX(){return Nv}function VX(i,s){return nR(xD,i,s)}function _2e(i){switch(i){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function WRt(i){return qX=yD=1,_je=S7(xD=i),Nv=0,[]}function YRt(i){return xD="",i}function A2e(i){return Sje(VX(Nv-1,L2e(i===91?i+2:i===40?i+1:i)))}function XRt(i){for(;(M0=NC())&&M0<33;)B3();return _2e(i)>2||_2e(M0)>3?"":" "}function QRt(i,s){for(;--s&&B3()&&!(M0<48||M0>102||M0>57&&M0<65||M0>70&&M0<97););return VX(i,HX()+(s<6&&NC()==32&&B3()==32))}function L2e(i){for(;B3();)switch(M0){case i:return Nv;case 34:case 39:i!==34&&i!==39&&L2e(M0);break;case 40:i===41&&L2e(i);break;case 92:B3();break}return Nv}function JRt(i,s){for(;B3()&&i+M0!==47+10;)if(i+M0===42+42&&NC()===47)break;return"/*"+VX(s,Nv-1)+"*"+C2e(i===47?i:B3())}function ZRt(i){for(;!_2e(NC());)B3();return VX(i,Nv)}function ejt(i){return YRt(UX("",null,null,null,[""],i=WRt(i),0,[0],i))}function UX(i,s,u,d,p,v,b,y,T){for(var _=0,A=0,P=b,R=0,F=0,j=0,W=1,ee=1,ie=1,oe=0,be="",ge=p,ae=v,ne=d,se=be;ee;)switch(j=oe,oe=B3()){case 40:if(j!=108&&tR(se,P-1)==58){VRt(se+=$X(A2e(oe),"&","&\f"),"&\f",Cje(_?y[_-1]:0))!=-1&&(ie=-1);break}case 34:case 39:case 91:se+=A2e(oe);break;case 9:case 10:case 13:case 32:se+=XRt(j);break;case 92:se+=QRt(HX()-1,7);continue;case 47:switch(NC()){case 42:case 47:zX(tjt(JRt(B3(),HX()),s,u,T),T);break;default:se+="/"}break;case 123*W:y[_++]=S7(se)*ie;case 125*W:case 59:case 0:switch(oe){case 0:case 125:ee=0;case 59+A:ie==-1&&(se=$X(se,/\f/g,"")),F>0&&S7(se)-P&&zX(F>32?Lje(se+";",d,u,P-1,T):Lje($X(se," ","")+";",d,u,P-2,T),T);break;case 59:se+=";";default:if(zX(ne=Aje(se,s,u,_,A,p,y,be,ge=[],ae=[],P,v),v),oe===123)if(A===0)UX(se,s,ne,ne,ge,v,P,y,ae);else switch(R===99&&tR(se,3)===110?100:R){case 100:case 108:case 109:case 115:UX(i,ne,ne,d&&zX(Aje(i,ne,ne,0,0,p,y,be,p,ge=[],P,ae),ae),p,ae,P,y,d?ge:ae);break;default:UX(se,ne,ne,ne,[""],ae,0,y,ae)}}_=A=F=0,W=ie=1,be=se="",P=b;break;case 58:P=1+S7(se),F=j;default:if(W<1){if(oe==123)--W;else if(oe==125&&W++==0&&KRt()==125)continue}switch(se+=C2e(oe),oe*W){case 38:ie=A>0?1:(se+="\f",-1);break;case 44:y[_++]=(S7(se)-1)*ie,ie=1;break;case 64:NC()===45&&(se+=A2e(B3())),R=NC(),A=P=S7(be=se+=ZRt(HX())),oe++;break;case 45:j===45&&S7(se)==2&&(W=0)}}return v}function Aje(i,s,u,d,p,v,b,y,T,_,A,P){for(var R=p-1,F=p===0?v:[""],j=URt(F),W=0,ee=0,ie=0;W0?F[oe]+" "+be:$X(be,/&\f/g,F[oe])))&&(T[ie++]=ge);return S2e(i,s,u,p===0?Eje:y,T,_,A,P)}function tjt(i,s,u,d){return S2e(i,s,u,kje,C2e(GRt()),nR(i,2,-2),0,d)}function Lje(i,s,u,d,p){return S2e(i,s,u,Tje,nR(i,0,d),nR(i,d+1,-1),d,p)}function M2e(i,s){for(var u="",d=0;d{let u=td({},i),d={};for(const p of s)Nje(p),d=td(d,p);if(u=td(u,d),d.theme&&d.theme in k7){const p=td({},Dje),v=td(p.themeVariables||{},d.themeVariables);u.theme&&u.theme in k7&&(u.themeVariables=k7[u.theme].getThemeVariables(v))}return rR=u,Bje(rR),rR},rjt=i=>(F2=td({},kD),F2=td(F2,i),i.theme&&k7[i.theme]&&(F2.themeVariables=k7[i.theme].getThemeVariables(i.themeVariables)),GX(F2,ED),F2),ijt=i=>{Dje=td({},i)},sjt=i=>(F2=td(F2,i),GX(F2,ED),F2),Ije=()=>td({},F2),Oje=i=>(Bje(i),td(rR,i),xh()),xh=()=>td({},rR),Nje=i=>{i&&(["secure",...F2.secure??[]].forEach(s=>{Object.hasOwn(i,s)&&(Xe.debug(`Denied attempt to modify a secure key ${s}`,i[s]),delete i[s])}),Object.keys(i).forEach(s=>{s.startsWith("__")&&delete i[s]}),Object.keys(i).forEach(s=>{typeof i[s]=="string"&&(i[s].includes("<")||i[s].includes(">")||i[s].includes("url(data:"))&&delete i[s],typeof i[s]=="object"&&Nje(i[s])}))},ajt=i=>{CX(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),ED.push(i),GX(F2,ED)},KX=(i=F2)=>{ED=[],GX(i,ED)},ojt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Pje={},cjt=i=>{Pje[i]||(Xe.warn(ojt[i]),Pje[i]=!0)},Bje=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&cjt("LAZY_LOAD_DEPRECATED")},Fje="c4",ujt={id:Fje,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>CUt);return{id:Fje,diagram:i}}},Rje="flowchart",ljt={id:Rje,detector:(i,s)=>{var u,d;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-wrapper"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Oen);return{id:Rje,diagram:i}}},jje="flowchart-v2",hjt={id:jje,detector:(i,s)=>{var u,d,p;return((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="dagre-d3"||((d=s==null?void 0:s.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((p=s==null?void 0:s.flowchart)==null?void 0:p.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Nen);return{id:jje,diagram:i}}},$je="er",fjt={id:$je,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>atn);return{id:$je,diagram:i}}},zje="gitGraph",djt={id:zje,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Itn);return{id:zje,diagram:i}}},qje="gantt",gjt={id:qje,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xnn);return{id:qje,diagram:i}}},Hje="info",pjt={id:Hje,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Enn);return{id:Hje,diagram:i}}},Vje="pie",bjt={id:Vje,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Lnn);return{id:Vje,diagram:i}}},Uje="quadrantChart",mjt={id:Uje,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Unn);return{id:Uje,diagram:i}}},Gje="xychart",vjt={id:Gje,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>prn);return{id:Gje,diagram:i}}},Kje="requirement",wjt={id:Kje,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Crn);return{id:Kje,diagram:i}}},Wje="sequence",yjt={id:Wje,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ain);return{id:Wje,diagram:i}}},Yje="class",xjt={id:Yje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Jin);return{id:Yje,diagram:i}}},Xje="classDiagram",kjt={id:Xje,detector:(i,s)=>{var u;return/^\s*classDiagram/.test(i)&&((u=s==null?void 0:s.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>isn);return{id:Xje,diagram:i}}},Qje="state",Ejt={id:Qje,detector:(i,s)=>{var u;return((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Usn);return{id:Qje,diagram:i}}},Jje="stateDiagram",Tjt={id:Jje,detector:(i,s)=>{var u;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((u=s==null?void 0:s.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>lan);return{id:Jje,diagram:i}}},Zje="journey",Cjt={id:Zje,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Lan);return{id:Zje,diagram:i}}},Sjt=function(i,s){for(let u of s)i.attr(u[0],u[1])},_jt=function(i,s,u){let d=new Map;return u?(d.set("width","100%"),d.set("style",`max-width: ${s}px;`)):(d.set("height",i),d.set("width",s)),d},Og=function(i,s,u,d){const p=_jt(s,u,d);Sjt(i,p)},w9=function(i,s,u,d){const p=s.node().getBBox(),v=p.width,b=p.height;Xe.info(`SVG bounds: ${v}x${b}`,p);let y=0,T=0;Xe.info(`Graph bounds: ${y}x${T}`,i),y=v+u*2,T=b+u*2,Xe.info(`Calculated bounds: ${y}x${T}`),Og(s,T,y,d);const _=`${p.x-u} ${p.y-u} ${p.width+2*u} ${p.height+2*u}`;s.attr("viewBox",_)},WX={},Ajt=(i,s,u)=>{let d="";return i in WX&&WX[i]?d=WX[i](u):Xe.warn(`No theme found for ${i}`),` & {
+ `
+ : `${d}`,
+ )
+ .join('')
+ .replace(h2e, (d, p) =>
+ u
+ .renderToString(p, {
+ throwOnError: !0,
+ displayMode: !0,
+ output: CRe() ? 'mathml' : 'htmlAndMathml',
+ })
+ .replace(/\n/g, ' ')
+ .replace(//g, ''),
+ );
+ },
+ TC = async (i, s) => yh(await _Pt(i, s), s),
+ ci = {
+ getRows: pPt,
+ sanitizeText: yh,
+ sanitizeTextOrArray: vPt,
+ hasBreaks: wPt,
+ splitBreaks: yPt,
+ lineBreakRegex: hD,
+ removeScript: kRe,
+ getUrl: kPt,
+ evaluate: u1,
+ getMax: EPt,
+ getMin: TPt,
+ },
+ mX = {
+ 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: (i) => (i >= 255 ? 255 : i < 0 ? 0 : i),
+ g: (i) => (i >= 255 ? 255 : i < 0 ? 0 : i),
+ b: (i) => (i >= 255 ? 255 : i < 0 ? 0 : i),
+ h: (i) => i % 360,
+ s: (i) => (i >= 100 ? 100 : i < 0 ? 0 : i),
+ l: (i) => (i >= 100 ? 100 : i < 0 ? 0 : i),
+ a: (i) => (i >= 1 ? 1 : i < 0 ? 0 : i),
+ },
+ toLinear: (i) => {
+ const s = i / 255;
+ return i > 0.03928 ? Math.pow((s + 0.055) / 1.055, 2.4) : s / 12.92;
+ },
+ hue2rgb: (i, s, u) => (
+ u < 0 && (u += 1),
+ u > 1 && (u -= 1),
+ u < 1 / 6
+ ? i + (s - i) * 6 * u
+ : u < 1 / 2
+ ? s
+ : u < 2 / 3
+ ? i + (s - i) * (2 / 3 - u) * 6
+ : i
+ ),
+ hsl2rgb: ({ h: i, s, l: u }, d) => {
+ if (!s) return u * 2.55;
+ ((i /= 360), (s /= 100), (u /= 100));
+ const p = u < 0.5 ? u * (1 + s) : u + s - u * s,
+ v = 2 * u - p;
+ switch (d) {
+ case 'r':
+ return mX.hue2rgb(v, p, i + 1 / 3) * 255;
+ case 'g':
+ return mX.hue2rgb(v, p, i) * 255;
+ case 'b':
+ return mX.hue2rgb(v, p, i - 1 / 3) * 255;
+ }
+ },
+ rgb2hsl: ({ r: i, g: s, b: u }, d) => {
+ ((i /= 255), (s /= 255), (u /= 255));
+ const p = Math.max(i, s, u),
+ v = Math.min(i, s, u),
+ b = (p + v) / 2;
+ if (d === 'l') return b * 100;
+ if (p === v) return 0;
+ const y = p - v,
+ T = b > 0.5 ? y / (2 - p - v) : y / (p + v);
+ if (d === 's') return T * 100;
+ switch (p) {
+ case i:
+ return ((s - u) / y + (s < u ? 6 : 0)) * 60;
+ case s:
+ return ((u - i) / y + 2) * 60;
+ case u:
+ return ((i - s) / y + 4) * 60;
+ default:
+ return -1;
+ }
+ },
+ },
+ Wa = {
+ channel: mX,
+ lang: {
+ clamp: (i, s, u) => (s > u ? Math.min(s, Math.max(u, i)) : Math.min(u, Math.max(s, i))),
+ round: (i) => Math.round(i * 1e10) / 1e10,
+ },
+ unit: {
+ dec2hex: (i) => {
+ const s = Math.round(i).toString(16);
+ return s.length > 1 ? s : `0${s}`;
+ },
+ },
+ },
+ m9 = {};
+ for (let i = 0; i <= 255; i++) m9[i] = Wa.unit.dec2hex(i);
+ const Ig = { ALL: 0, RGB: 1, HSL: 2 };
+ class APt {
+ constructor() {
+ this.type = Ig.ALL;
+ }
+ get() {
+ return this.type;
+ }
+ set(s) {
+ if (this.type && this.type !== s)
+ throw new Error('Cannot change both RGB and HSL channels at the same time');
+ this.type = s;
+ }
+ reset() {
+ this.type = Ig.ALL;
+ }
+ is(s) {
+ return this.type === s;
+ }
+ }
+ const LPt = APt;
+ class MPt {
+ constructor(s, u) {
+ ((this.color = u), (this.changed = !1), (this.data = s), (this.type = new LPt()));
+ }
+ set(s, u) {
+ return (
+ (this.color = u),
+ (this.changed = !1),
+ (this.data = s),
+ (this.type.type = Ig.ALL),
+ this
+ );
+ }
+ _ensureHSL() {
+ const s = this.data,
+ { h: u, s: d, l: p } = s;
+ (u === void 0 && (s.h = Wa.channel.rgb2hsl(s, 'h')),
+ d === void 0 && (s.s = Wa.channel.rgb2hsl(s, 's')),
+ p === void 0 && (s.l = Wa.channel.rgb2hsl(s, 'l')));
+ }
+ _ensureRGB() {
+ const s = this.data,
+ { r: u, g: d, b: p } = s;
+ (u === void 0 && (s.r = Wa.channel.hsl2rgb(s, 'r')),
+ d === void 0 && (s.g = Wa.channel.hsl2rgb(s, 'g')),
+ p === void 0 && (s.b = Wa.channel.hsl2rgb(s, 'b')));
+ }
+ get r() {
+ const s = this.data,
+ u = s.r;
+ return !this.type.is(Ig.HSL) && u !== void 0
+ ? u
+ : (this._ensureHSL(), Wa.channel.hsl2rgb(s, 'r'));
+ }
+ get g() {
+ const s = this.data,
+ u = s.g;
+ return !this.type.is(Ig.HSL) && u !== void 0
+ ? u
+ : (this._ensureHSL(), Wa.channel.hsl2rgb(s, 'g'));
+ }
+ get b() {
+ const s = this.data,
+ u = s.b;
+ return !this.type.is(Ig.HSL) && u !== void 0
+ ? u
+ : (this._ensureHSL(), Wa.channel.hsl2rgb(s, 'b'));
+ }
+ get h() {
+ const s = this.data,
+ u = s.h;
+ return !this.type.is(Ig.RGB) && u !== void 0
+ ? u
+ : (this._ensureRGB(), Wa.channel.rgb2hsl(s, 'h'));
+ }
+ get s() {
+ const s = this.data,
+ u = s.s;
+ return !this.type.is(Ig.RGB) && u !== void 0
+ ? u
+ : (this._ensureRGB(), Wa.channel.rgb2hsl(s, 's'));
+ }
+ get l() {
+ const s = this.data,
+ u = s.l;
+ return !this.type.is(Ig.RGB) && u !== void 0
+ ? u
+ : (this._ensureRGB(), Wa.channel.rgb2hsl(s, 'l'));
+ }
+ get a() {
+ return this.data.a;
+ }
+ set r(s) {
+ (this.type.set(Ig.RGB), (this.changed = !0), (this.data.r = s));
+ }
+ set g(s) {
+ (this.type.set(Ig.RGB), (this.changed = !0), (this.data.g = s));
+ }
+ set b(s) {
+ (this.type.set(Ig.RGB), (this.changed = !0), (this.data.b = s));
+ }
+ set h(s) {
+ (this.type.set(Ig.HSL), (this.changed = !0), (this.data.h = s));
+ }
+ set s(s) {
+ (this.type.set(Ig.HSL), (this.changed = !0), (this.data.s = s));
+ }
+ set l(s) {
+ (this.type.set(Ig.HSL), (this.changed = !0), (this.data.l = s));
+ }
+ set a(s) {
+ ((this.changed = !0), (this.data.a = s));
+ }
+ }
+ const DPt = MPt,
+ vX = new DPt({ r: 0, g: 0, b: 0, a: 0 }, 'transparent'),
+ SRe = {
+ re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,
+ parse: (i) => {
+ if (i.charCodeAt(0) !== 35) return;
+ const s = i.match(SRe.re);
+ if (!s) return;
+ const u = s[1],
+ d = parseInt(u, 16),
+ p = u.length,
+ v = p % 4 === 0,
+ b = p > 4,
+ y = b ? 1 : 17,
+ T = b ? 8 : 4,
+ _ = v ? 0 : -1,
+ A = b ? 255 : 15;
+ return vX.set(
+ {
+ r: ((d >> (T * (_ + 3))) & A) * y,
+ g: ((d >> (T * (_ + 2))) & A) * y,
+ b: ((d >> (T * (_ + 1))) & A) * y,
+ a: v ? ((d & A) * y) / 255 : 1,
+ },
+ i,
+ );
+ },
+ stringify: (i) => {
+ const { r: s, g: u, b: d, a: p } = i;
+ return p < 1
+ ? `#${m9[Math.round(s)]}${m9[Math.round(u)]}${m9[Math.round(d)]}${m9[Math.round(p * 255)]}`
+ : `#${m9[Math.round(s)]}${m9[Math.round(u)]}${m9[Math.round(d)]}`;
+ },
+ },
+ UF = SRe,
+ wX = {
+ 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: (i) => {
+ const s = i.match(wX.hueRe);
+ if (s) {
+ const [, u, d] = s;
+ switch (d) {
+ case 'grad':
+ return Wa.channel.clamp.h(parseFloat(u) * 0.9);
+ case 'rad':
+ return Wa.channel.clamp.h((parseFloat(u) * 180) / Math.PI);
+ case 'turn':
+ return Wa.channel.clamp.h(parseFloat(u) * 360);
+ }
+ }
+ return Wa.channel.clamp.h(parseFloat(i));
+ },
+ parse: (i) => {
+ const s = i.charCodeAt(0);
+ if (s !== 104 && s !== 72) return;
+ const u = i.match(wX.re);
+ if (!u) return;
+ const [, d, p, v, b, y] = u;
+ return vX.set(
+ {
+ h: wX._hue2deg(d),
+ s: Wa.channel.clamp.s(parseFloat(p)),
+ l: Wa.channel.clamp.l(parseFloat(v)),
+ a: b ? Wa.channel.clamp.a(y ? parseFloat(b) / 100 : parseFloat(b)) : 1,
+ },
+ i,
+ );
+ },
+ stringify: (i) => {
+ const { h: s, s: u, l: d, a: p } = i;
+ return p < 1
+ ? `hsla(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%, ${p})`
+ : `hsl(${Wa.lang.round(s)}, ${Wa.lang.round(u)}%, ${Wa.lang.round(d)}%)`;
+ },
+ },
+ yX = wX,
+ xX = {
+ 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: (i) => {
+ i = i.toLowerCase();
+ const s = xX.colors[i];
+ if (s) return UF.parse(s);
+ },
+ stringify: (i) => {
+ const s = UF.stringify(i);
+ for (const u in xX.colors) if (xX.colors[u] === s) return u;
+ },
+ },
+ _Re = xX,
+ ARe = {
+ 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: (i) => {
+ const s = i.charCodeAt(0);
+ if (s !== 114 && s !== 82) return;
+ const u = i.match(ARe.re);
+ if (!u) return;
+ const [, d, p, v, b, y, T, _, A] = u;
+ return vX.set(
+ {
+ r: Wa.channel.clamp.r(p ? parseFloat(d) * 2.55 : parseFloat(d)),
+ g: Wa.channel.clamp.g(b ? parseFloat(v) * 2.55 : parseFloat(v)),
+ b: Wa.channel.clamp.b(T ? parseFloat(y) * 2.55 : parseFloat(y)),
+ a: _ ? Wa.channel.clamp.a(A ? parseFloat(_) / 100 : parseFloat(_)) : 1,
+ },
+ i,
+ );
+ },
+ stringify: (i) => {
+ const { r: s, g: u, b: d, a: p } = i;
+ return p < 1
+ ? `rgba(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)}, ${Wa.lang.round(p)})`
+ : `rgb(${Wa.lang.round(s)}, ${Wa.lang.round(u)}, ${Wa.lang.round(d)})`;
+ },
+ },
+ kX = ARe,
+ O3 = {
+ format: { keyword: _Re, hex: UF, rgb: kX, rgba: kX, hsl: yX, hsla: yX },
+ parse: (i) => {
+ if (typeof i != 'string') return i;
+ const s = UF.parse(i) || kX.parse(i) || yX.parse(i) || _Re.parse(i);
+ if (s) return s;
+ throw new Error(`Unsupported color format: "${i}"`);
+ },
+ stringify: (i) =>
+ !i.changed && i.color
+ ? i.color
+ : i.type.is(Ig.HSL) || i.data.r === void 0
+ ? yX.stringify(i)
+ : i.a < 1 || !Number.isInteger(i.r) || !Number.isInteger(i.g) || !Number.isInteger(i.b)
+ ? kX.stringify(i)
+ : UF.stringify(i),
+ },
+ LRe = (i, s) => {
+ const u = O3.parse(i);
+ for (const d in s) u[d] = Wa.channel.clamp[d](s[d]);
+ return O3.stringify(u);
+ },
+ CC = (i, s, u = 0, d = 1) => {
+ if (typeof i != 'number') return LRe(i, { a: s });
+ const p = vX.set({
+ r: Wa.channel.clamp.r(i),
+ g: Wa.channel.clamp.g(s),
+ b: Wa.channel.clamp.b(u),
+ a: Wa.channel.clamp.a(d),
+ });
+ return O3.stringify(p);
+ },
+ MRe = (i, s) => Wa.lang.round(O3.parse(i)[s]),
+ IPt = (i) => {
+ const { r: s, g: u, b: d } = O3.parse(i),
+ p =
+ 0.2126 * Wa.channel.toLinear(s) +
+ 0.7152 * Wa.channel.toLinear(u) +
+ 0.0722 * Wa.channel.toLinear(d);
+ return Wa.lang.round(p);
+ },
+ OPt = (i) => IPt(i) >= 0.5,
+ SC = (i) => !OPt(i),
+ DRe = (i, s, u) => {
+ const d = O3.parse(i),
+ p = d[s],
+ v = Wa.channel.clamp[s](p + u);
+ return (p !== v && (d[s] = v), O3.stringify(d));
+ },
+ Gs = (i, s) => DRe(i, 'l', s),
+ ga = (i, s) => DRe(i, 'l', -s),
+ In = (i, s) => {
+ const u = O3.parse(i),
+ d = {};
+ for (const p in s) s[p] && (d[p] = u[p] + s[p]);
+ return LRe(i, d);
+ },
+ NPt = (i, s, u = 50) => {
+ const { r: d, g: p, b: v, a: b } = O3.parse(i),
+ { r: y, g: T, b: _, a: A } = O3.parse(s),
+ P = u / 100,
+ R = P * 2 - 1,
+ F = b - A,
+ W = ((R * F === -1 ? R : (R + F) / (1 + R * F)) + 1) / 2,
+ ee = 1 - W,
+ ie = d * W + y * ee,
+ oe = p * W + T * ee,
+ be = v * W + _ * ee,
+ ge = b * P + A * (1 - P);
+ return CC(ie, oe, be, ge);
+ },
+ Vi = (i, s = 100) => {
+ const u = O3.parse(i);
+ return ((u.r = 255 - u.r), (u.g = 255 - u.g), (u.b = 255 - u.b), NPt(u, i, s));
+ },
+ Cp = (i, s) => (s ? In(i, { s: -40, l: 10 }) : In(i, { s: -40, l: -10 })),
+ EX = '#ffffff',
+ TX = '#f2f2f2';
+ let PPt = class {
+ constructor() {
+ ((this.background = '#f4f4f4'),
+ (this.primaryColor = '#fff4dd'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = '#333'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'));
+ }
+ updateColors() {
+ var u, d, p, v, b, y, T, _, A, P, R;
+ if (
+ ((this.primaryTextColor = this.primaryTextColor || (this.darkMode ? '#eee' : '#333')),
+ (this.secondaryColor = this.secondaryColor || In(this.primaryColor, { h: -120 })),
+ (this.tertiaryColor = this.tertiaryColor || In(this.primaryColor, { h: 180, l: 5 })),
+ (this.primaryBorderColor = this.primaryBorderColor || Cp(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor =
+ this.secondaryBorderColor || Cp(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor =
+ this.tertiaryBorderColor || Cp(this.tertiaryColor, this.darkMode)),
+ (this.noteBorderColor = this.noteBorderColor || Cp(this.noteBkgColor, this.darkMode)),
+ (this.noteBkgColor = this.noteBkgColor || '#fff5ad'),
+ (this.noteTextColor = this.noteTextColor || '#333'),
+ (this.secondaryTextColor = this.secondaryTextColor || Vi(this.secondaryColor)),
+ (this.tertiaryTextColor = this.tertiaryTextColor || Vi(this.tertiaryColor)),
+ (this.lineColor = this.lineColor || Vi(this.background)),
+ (this.arrowheadColor = this.arrowheadColor || Vi(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 ? ga(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor),
+ (this.actorBorder = this.actorBorder || this.primaryBorderColor),
+ (this.actorBkg = this.actorBkg || this.mainBkg),
+ (this.actorTextColor = this.actorTextColor || this.primaryTextColor),
+ (this.actorLineColor = this.actorLineColor || 'grey'),
+ (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg),
+ (this.signalColor = this.signalColor || this.textColor),
+ (this.signalTextColor = this.signalTextColor || this.textColor),
+ (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder),
+ (this.labelTextColor = this.labelTextColor || this.actorTextColor),
+ (this.loopTextColor = this.loopTextColor || this.actorTextColor),
+ (this.activationBorderColor = this.activationBorderColor || ga(this.secondaryColor, 10)),
+ (this.activationBkgColor = this.activationBkgColor || this.secondaryColor),
+ (this.sequenceNumberColor = this.sequenceNumberColor || Vi(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 || Gs(this.primaryColor, 23)),
+ (this.gridColor = this.gridColor || 'lightgrey'),
+ (this.doneTaskBkgColor = this.doneTaskBkgColor || 'lightgrey'),
+ (this.doneTaskBorderColor = this.doneTaskBorderColor || 'grey'),
+ (this.critBorderColor = this.critBorderColor || '#ff8888'),
+ (this.critBkgColor = this.critBkgColor || 'red'),
+ (this.todayLineColor = this.todayLineColor || 'red'),
+ (this.taskTextColor = this.taskTextColor || this.textColor),
+ (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor),
+ (this.taskTextLightColor = this.taskTextLightColor || this.textColor),
+ (this.taskTextColor = this.taskTextColor || this.primaryTextColor),
+ (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor),
+ (this.taskTextClickableColor = this.taskTextClickableColor || '#003163'),
+ (this.personBorder = this.personBorder || this.primaryBorderColor),
+ (this.personBkg = this.personBkg || this.mainBkg),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground =
+ this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || this.tertiaryColor),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.nodeBorder),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.specialStateColor = this.lineColor),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || In(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || In(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || In(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || In(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || In(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || In(this.primaryColor, { h: 210, l: 150 })),
+ (this.cScale9 = this.cScale9 || In(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || In(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || In(this.primaryColor, { h: 330 })),
+ this.darkMode)
+ )
+ for (let F = 0; F < this.THEME_COLOR_LIMIT; F++)
+ this['cScale' + F] = ga(this['cScale' + F], 75);
+ else
+ for (let F = 0; F < this.THEME_COLOR_LIMIT; F++)
+ this['cScale' + F] = ga(this['cScale' + F], 25);
+ for (let F = 0; F < this.THEME_COLOR_LIMIT; F++)
+ this['cScaleInv' + F] = this['cScaleInv' + F] || Vi(this['cScale' + F]);
+ for (let F = 0; F < this.THEME_COLOR_LIMIT; F++)
+ this.darkMode
+ ? (this['cScalePeer' + F] = this['cScalePeer' + F] || Gs(this['cScale' + F], 10))
+ : (this['cScalePeer' + F] = this['cScalePeer' + F] || ga(this['cScale' + F], 10));
+ this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;
+ for (let F = 0; F < this.THEME_COLOR_LIMIT; F++)
+ this['cScaleLabel' + F] = this['cScaleLabel' + F] || this.scaleLabelColor;
+ const s = this.darkMode ? -4 : -1;
+ for (let F = 0; F < 5; F++)
+ ((this['surface' + F] =
+ this['surface' + F] || In(this.mainBkg, { h: 180, s: -15, l: s * (5 + F * 3) })),
+ (this['surfacePeer' + F] =
+ this['surfacePeer' + F] || In(this.mainBkg, { h: 180, s: -15, l: s * (8 + F * 3) })));
+ ((this.classText = this.classText || this.textColor),
+ (this.fillType0 = this.fillType0 || this.primaryColor),
+ (this.fillType1 = this.fillType1 || this.secondaryColor),
+ (this.fillType2 = this.fillType2 || In(this.primaryColor, { h: 64 })),
+ (this.fillType3 = this.fillType3 || In(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = this.fillType4 || In(this.primaryColor, { h: -64 })),
+ (this.fillType5 = this.fillType5 || In(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = this.fillType6 || In(this.primaryColor, { h: 128 })),
+ (this.fillType7 = this.fillType7 || In(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || this.tertiaryColor),
+ (this.pie4 = this.pie4 || In(this.primaryColor, { l: -10 })),
+ (this.pie5 = this.pie5 || In(this.secondaryColor, { l: -10 })),
+ (this.pie6 = this.pie6 || In(this.tertiaryColor, { l: -10 })),
+ (this.pie7 = this.pie7 || In(this.primaryColor, { h: 60, l: -10 })),
+ (this.pie8 = this.pie8 || In(this.primaryColor, { h: -60, l: -10 })),
+ (this.pie9 = this.pie9 || In(this.primaryColor, { h: 120, l: 0 })),
+ (this.pie10 = this.pie10 || In(this.primaryColor, { h: 60, l: -20 })),
+ (this.pie11 = this.pie11 || In(this.primaryColor, { h: -60, l: -20 })),
+ (this.pie12 = this.pie12 || In(this.primaryColor, { h: 120, l: -10 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || In(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || In(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || In(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || In(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || In(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || In(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || SC(this.quadrant1Fill)
+ ? Gs(this.quadrant1Fill)
+ : ga(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor:
+ ((u = this.xyChart) == null ? void 0 : u.backgroundColor) || this.background,
+ titleColor: ((d = this.xyChart) == null ? void 0 : d.titleColor) || this.primaryTextColor,
+ xAxisTitleColor:
+ ((p = this.xyChart) == null ? void 0 : p.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor:
+ ((v = this.xyChart) == null ? void 0 : v.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor:
+ ((b = this.xyChart) == null ? void 0 : b.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor:
+ ((y = this.xyChart) == null ? void 0 : y.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor:
+ ((T = this.xyChart) == null ? void 0 : T.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor:
+ ((_ = this.xyChart) == null ? void 0 : _.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor:
+ ((A = this.xyChart) == null ? void 0 : A.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor:
+ ((P = this.xyChart) == null ? void 0 : P.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette:
+ ((R = this.xyChart) == null ? void 0 : R.plotColorPalette) ||
+ '#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0',
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground =
+ this.relationLabelBackground ||
+ (this.darkMode ? ga(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || In(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || In(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || In(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || In(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || In(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Gs(this.git0, 25)),
+ (this.git1 = Gs(this.git1, 25)),
+ (this.git2 = Gs(this.git2, 25)),
+ (this.git3 = Gs(this.git3, 25)),
+ (this.git4 = Gs(this.git4, 25)),
+ (this.git5 = Gs(this.git5, 25)),
+ (this.git6 = Gs(this.git6, 25)),
+ (this.git7 = Gs(this.git7, 25)))
+ : ((this.git0 = ga(this.git0, 25)),
+ (this.git1 = ga(this.git1, 25)),
+ (this.git2 = ga(this.git2, 25)),
+ (this.git3 = ga(this.git3, 25)),
+ (this.git4 = ga(this.git4, 25)),
+ (this.git5 = ga(this.git5, 25)),
+ (this.git6 = ga(this.git6, 25)),
+ (this.git7 = ga(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || Vi(this.git0)),
+ (this.gitInv1 = this.gitInv1 || Vi(this.git1)),
+ (this.gitInv2 = this.gitInv2 || Vi(this.git2)),
+ (this.gitInv3 = this.gitInv3 || Vi(this.git3)),
+ (this.gitInv4 = this.gitInv4 || Vi(this.git4)),
+ (this.gitInv5 = this.gitInv5 || Vi(this.git5)),
+ (this.gitInv6 = this.gitInv6 || Vi(this.git6)),
+ (this.gitInv7 = this.gitInv7 || Vi(this.git7)),
+ (this.branchLabelColor =
+ this.branchLabelColor || (this.darkMode ? 'black' : this.labelTextColor)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || EX),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || TX));
+ }
+ calculate(s) {
+ if (typeof s != 'object') {
+ this.updateColors();
+ return;
+ }
+ const u = Object.keys(s);
+ (u.forEach((d) => {
+ this[d] = s[d];
+ }),
+ this.updateColors(),
+ u.forEach((d) => {
+ this[d] = s[d];
+ }));
+ }
+ };
+ const BPt = (i) => {
+ const s = new PPt();
+ return (s.calculate(i), s);
+ };
+ let FPt = class {
+ constructor() {
+ ((this.background = '#333'),
+ (this.primaryColor = '#1f2020'),
+ (this.secondaryColor = Gs(this.primaryColor, 16)),
+ (this.tertiaryColor = In(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = Vi(this.background)),
+ (this.secondaryBorderColor = Cp(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = Cp(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = Vi(this.primaryColor)),
+ (this.secondaryTextColor = Vi(this.secondaryColor)),
+ (this.tertiaryTextColor = Vi(this.tertiaryColor)),
+ (this.lineColor = Vi(this.background)),
+ (this.textColor = Vi(this.background)),
+ (this.mainBkg = '#1f2020'),
+ (this.secondBkg = 'calculated'),
+ (this.mainContrastColor = 'lightgrey'),
+ (this.darkTextColor = Gs(Vi('#323D47'), 10)),
+ (this.lineColor = 'calculated'),
+ (this.border1 = '#81B1DB'),
+ (this.border2 = CC(255, 255, 255, 0.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 = ga('#EAE8D9', 30)),
+ (this.altSectionBkgColor = 'calculated'),
+ (this.sectionBkgColor2 = '#EAE8D9'),
+ (this.excludeBkgColor = ga(this.sectionBkgColor, 10)),
+ (this.taskBorderColor = CC(255, 255, 255, 70)),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextLightColor = 'calculated'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = CC(255, 255, 255, 50)),
+ (this.activeTaskBkgColor = '#81B1DB'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#E83737'),
+ (this.critBkgColor = '#E83737'),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.todayLineColor = '#DB5757'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.labelColor = 'calculated'),
+ (this.errorBkgColor = '#a44141'),
+ (this.errorTextColor = '#ddd'));
+ }
+ updateColors() {
+ var s, u, d, p, v, b, y, T, _, A, P;
+ ((this.secondBkg = Gs(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 = Gs(this.labelBackground, 25)),
+ (this.actorBorder = this.border1),
+ (this.actorBkg = this.mainBkg),
+ (this.actorTextColor = this.mainContrastColor),
+ (this.actorLineColor = this.mainContrastColor),
+ (this.signalColor = this.mainContrastColor),
+ (this.signalTextColor = this.mainContrastColor),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.mainContrastColor),
+ (this.loopTextColor = this.mainContrastColor),
+ (this.noteBorderColor = this.secondaryBorderColor),
+ (this.noteBkgColor = this.secondBkg),
+ (this.noteTextColor = this.secondaryTextColor),
+ (this.activationBorderColor = this.border1),
+ (this.activationBkgColor = this.secondBkg),
+ (this.altSectionBkgColor = this.background),
+ (this.taskBkgColor = Gs(this.mainBkg, 23)),
+ (this.taskTextColor = this.darkTextColor),
+ (this.taskTextLightColor = this.mainContrastColor),
+ (this.taskTextOutsideColor = this.taskTextLightColor),
+ (this.gridColor = this.mainContrastColor),
+ (this.doneTaskBkgColor = this.mainContrastColor),
+ (this.taskTextDarkColor = this.darkTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground =
+ this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#555'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = '#f4f4f4'),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = In(this.primaryColor, { h: 64 })),
+ (this.fillType3 = In(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = In(this.primaryColor, { h: -64 })),
+ (this.fillType5 = In(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = In(this.primaryColor, { h: 128 })),
+ (this.fillType7 = In(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 || In(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || In(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || In(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || In(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || In(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || In(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || In(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || In(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || In(this.primaryColor, { h: 330 })));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleInv' + R] = this['cScaleInv' + R] || Vi(this['cScale' + R]);
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScalePeer' + R] = this['cScalePeer' + R] || Gs(this['cScale' + R], 10);
+ for (let R = 0; R < 5; R++)
+ ((this['surface' + R] =
+ this['surface' + R] || In(this.mainBkg, { h: 30, s: -30, l: -(-10 + R * 4) })),
+ (this['surfacePeer' + R] =
+ this['surfacePeer' + R] || In(this.mainBkg, { h: 30, s: -30, l: -(-7 + R * 4) })));
+ this.scaleLabelColor =
+ this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor);
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleLabel' + R] = this['cScaleLabel' + R] || this.scaleLabelColor;
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++) this['pie' + R] = this['cScale' + R];
+ ((this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || In(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || In(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || In(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || In(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || In(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || In(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || SC(this.quadrant1Fill)
+ ? Gs(this.quadrant1Fill)
+ : ga(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor:
+ ((s = this.xyChart) == null ? void 0 : s.backgroundColor) || this.background,
+ titleColor: ((u = this.xyChart) == null ? void 0 : u.titleColor) || this.primaryTextColor,
+ xAxisTitleColor:
+ ((d = this.xyChart) == null ? void 0 : d.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor:
+ ((p = this.xyChart) == null ? void 0 : p.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor:
+ ((v = this.xyChart) == null ? void 0 : v.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor:
+ ((b = this.xyChart) == null ? void 0 : b.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor:
+ ((y = this.xyChart) == null ? void 0 : y.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor:
+ ((T = this.xyChart) == null ? void 0 : T.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor:
+ ((_ = this.xyChart) == null ? void 0 : _.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor:
+ ((A = this.xyChart) == null ? void 0 : A.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette:
+ ((P = this.xyChart) == null ? void 0 : P.plotColorPalette) ||
+ '#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22',
+ }),
+ (this.classText = this.primaryTextColor),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground =
+ this.relationLabelBackground ||
+ (this.darkMode ? ga(this.secondaryColor, 30) : this.secondaryColor)),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = Gs(this.secondaryColor, 20)),
+ (this.git1 = Gs(this.pie2 || this.secondaryColor, 20)),
+ (this.git2 = Gs(this.pie3 || this.tertiaryColor, 20)),
+ (this.git3 = Gs(this.pie4 || In(this.primaryColor, { h: -30 }), 20)),
+ (this.git4 = Gs(this.pie5 || In(this.primaryColor, { h: -60 }), 20)),
+ (this.git5 = Gs(this.pie6 || In(this.primaryColor, { h: -90 }), 10)),
+ (this.git6 = Gs(this.pie7 || In(this.primaryColor, { h: 60 }), 10)),
+ (this.git7 = Gs(this.pie8 || In(this.primaryColor, { h: 120 }), 20)),
+ (this.gitInv0 = this.gitInv0 || Vi(this.git0)),
+ (this.gitInv1 = this.gitInv1 || Vi(this.git1)),
+ (this.gitInv2 = this.gitInv2 || Vi(this.git2)),
+ (this.gitInv3 = this.gitInv3 || Vi(this.git3)),
+ (this.gitInv4 = this.gitInv4 || Vi(this.git4)),
+ (this.gitInv5 = this.gitInv5 || Vi(this.git5)),
+ (this.gitInv6 = this.gitInv6 || Vi(this.git6)),
+ (this.gitInv7 = this.gitInv7 || Vi(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || Vi(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || Vi(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd =
+ this.attributeBackgroundColorOdd || Gs(this.background, 12)),
+ (this.attributeBackgroundColorEven =
+ this.attributeBackgroundColorEven || Gs(this.background, 2)));
+ }
+ calculate(s) {
+ if (typeof s != 'object') {
+ this.updateColors();
+ return;
+ }
+ const u = Object.keys(s);
+ (u.forEach((d) => {
+ this[d] = s[d];
+ }),
+ this.updateColors(),
+ u.forEach((d) => {
+ this[d] = s[d];
+ }));
+ }
+ };
+ const RPt = (i) => {
+ const s = new FPt();
+ return (s.calculate(i), s);
+ };
+ let jPt = class {
+ constructor() {
+ ((this.background = '#f4f4f4'),
+ (this.primaryColor = '#ECECFF'),
+ (this.secondaryColor = In(this.primaryColor, { h: 120 })),
+ (this.secondaryColor = '#ffffde'),
+ (this.tertiaryColor = In(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = Cp(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = Cp(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = Cp(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = Vi(this.primaryColor)),
+ (this.secondaryTextColor = Vi(this.secondaryColor)),
+ (this.tertiaryTextColor = Vi(this.tertiaryColor)),
+ (this.lineColor = Vi(this.background)),
+ (this.textColor = Vi(this.background)),
+ (this.background = 'white'),
+ (this.mainBkg = '#ECECFF'),
+ (this.secondBkg = '#ffffde'),
+ (this.lineColor = '#333333'),
+ (this.border1 = '#9370DB'),
+ (this.border2 = '#aaaa33'),
+ (this.arrowheadColor = '#333333'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.labelBackground = '#e8e8e8'),
+ (this.textColor = '#333'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = 'calculated'),
+ (this.edgeLabelBackground = 'calculated'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'black'),
+ (this.actorLineColor = 'grey'),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = 'calculated'),
+ (this.altSectionBkgColor = 'calculated'),
+ (this.sectionBkgColor2 = 'calculated'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextLightColor = 'calculated'),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.taskTextClickableColor = 'calculated'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'calculated'),
+ (this.critBorderColor = 'calculated'),
+ (this.critBkgColor = 'calculated'),
+ (this.todayLineColor = 'calculated'),
+ (this.sectionBkgColor = CC(102, 102, 255, 0.49)),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = '#fff400'),
+ (this.taskBorderColor = '#534fbc'),
+ (this.taskBkgColor = '#8a90dd'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'black'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = '#534fbc'),
+ (this.activeTaskBkgColor = '#bfc7ff'),
+ (this.gridColor = 'lightgrey'),
+ (this.doneTaskBkgColor = 'lightgrey'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#ff8888'),
+ (this.critBkgColor = 'red'),
+ (this.todayLineColor = 'red'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222'),
+ this.updateColors());
+ }
+ updateColors() {
+ var s, u, d, p, v, b, y, T, _, A, P;
+ ((this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || In(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || In(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || In(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || In(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || In(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || In(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || In(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || In(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || In(this.primaryColor, { h: 330 })),
+ (this['cScalePeer1'] = this['cScalePeer1'] || ga(this.secondaryColor, 45)),
+ (this['cScalePeer2'] = this['cScalePeer2'] || ga(this.tertiaryColor, 40)));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ ((this['cScale' + R] = ga(this['cScale' + R], 10)),
+ (this['cScalePeer' + R] = this['cScalePeer' + R] || ga(this['cScale' + R], 25)));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleInv' + R] = this['cScaleInv' + R] || In(this['cScale' + R], { h: 180 });
+ for (let R = 0; R < 5; R++)
+ ((this['surface' + R] =
+ this['surface' + R] || In(this.mainBkg, { h: 30, l: -(5 + R * 5) })),
+ (this['surfacePeer' + R] =
+ this['surfacePeer' + R] || In(this.mainBkg, { h: 30, l: -(7 + R * 5) })));
+ if (
+ ((this.scaleLabelColor =
+ this.scaleLabelColor !== 'calculated' && this.scaleLabelColor
+ ? this.scaleLabelColor
+ : this.labelTextColor),
+ this.labelTextColor !== 'calculated')
+ ) {
+ ((this.cScaleLabel0 = this.cScaleLabel0 || Vi(this.labelTextColor)),
+ (this.cScaleLabel3 = this.cScaleLabel3 || Vi(this.labelTextColor)));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleLabel' + R] = this['cScaleLabel' + R] || this.labelTextColor;
+ }
+ ((this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.titleColor = this.textColor),
+ (this.edgeLabelBackground = this.labelBackground),
+ (this.actorBorder = Gs(this.border1, 23)),
+ (this.actorBkg = this.mainBkg),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.signalColor = this.textColor),
+ (this.signalTextColor = this.textColor),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.actorTextColor),
+ (this.loopTextColor = this.actorTextColor),
+ (this.noteBorderColor = this.border2),
+ (this.noteTextColor = this.actorTextColor),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground =
+ this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f0f0f0'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.nodeBorder),
+ (this.specialStateColor = this.lineColor),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = In(this.primaryColor, { h: 64 })),
+ (this.fillType3 = In(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = In(this.primaryColor, { h: -64 })),
+ (this.fillType5 = In(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = In(this.primaryColor, { h: 128 })),
+ (this.fillType7 = In(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || In(this.tertiaryColor, { l: -40 })),
+ (this.pie4 = this.pie4 || In(this.primaryColor, { l: -10 })),
+ (this.pie5 = this.pie5 || In(this.secondaryColor, { l: -30 })),
+ (this.pie6 = this.pie6 || In(this.tertiaryColor, { l: -20 })),
+ (this.pie7 = this.pie7 || In(this.primaryColor, { h: 60, l: -20 })),
+ (this.pie8 = this.pie8 || In(this.primaryColor, { h: -60, l: -40 })),
+ (this.pie9 = this.pie9 || In(this.primaryColor, { h: 120, l: -40 })),
+ (this.pie10 = this.pie10 || In(this.primaryColor, { h: 60, l: -40 })),
+ (this.pie11 = this.pie11 || In(this.primaryColor, { h: -90, l: -40 })),
+ (this.pie12 = this.pie12 || In(this.primaryColor, { h: 120, l: -30 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || In(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || In(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || In(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || In(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || In(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || In(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || SC(this.quadrant1Fill)
+ ? Gs(this.quadrant1Fill)
+ : ga(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor:
+ ((s = this.xyChart) == null ? void 0 : s.backgroundColor) || this.background,
+ titleColor: ((u = this.xyChart) == null ? void 0 : u.titleColor) || this.primaryTextColor,
+ xAxisTitleColor:
+ ((d = this.xyChart) == null ? void 0 : d.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor:
+ ((p = this.xyChart) == null ? void 0 : p.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor:
+ ((v = this.xyChart) == null ? void 0 : v.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor:
+ ((b = this.xyChart) == null ? void 0 : b.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor:
+ ((y = this.xyChart) == null ? void 0 : y.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor:
+ ((T = this.xyChart) == null ? void 0 : T.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor:
+ ((_ = this.xyChart) == null ? void 0 : _.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor:
+ ((A = this.xyChart) == null ? void 0 : A.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette:
+ ((P = this.xyChart) == null ? void 0 : P.plotColorPalette) ||
+ '#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3',
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.labelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || In(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || In(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || In(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || In(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || In(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Gs(this.git0, 25)),
+ (this.git1 = Gs(this.git1, 25)),
+ (this.git2 = Gs(this.git2, 25)),
+ (this.git3 = Gs(this.git3, 25)),
+ (this.git4 = Gs(this.git4, 25)),
+ (this.git5 = Gs(this.git5, 25)),
+ (this.git6 = Gs(this.git6, 25)),
+ (this.git7 = Gs(this.git7, 25)))
+ : ((this.git0 = ga(this.git0, 25)),
+ (this.git1 = ga(this.git1, 25)),
+ (this.git2 = ga(this.git2, 25)),
+ (this.git3 = ga(this.git3, 25)),
+ (this.git4 = ga(this.git4, 25)),
+ (this.git5 = ga(this.git5, 25)),
+ (this.git6 = ga(this.git6, 25)),
+ (this.git7 = ga(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || ga(Vi(this.git0), 25)),
+ (this.gitInv1 = this.gitInv1 || Vi(this.git1)),
+ (this.gitInv2 = this.gitInv2 || Vi(this.git2)),
+ (this.gitInv3 = this.gitInv3 || Vi(this.git3)),
+ (this.gitInv4 = this.gitInv4 || Vi(this.git4)),
+ (this.gitInv5 = this.gitInv5 || Vi(this.git5)),
+ (this.gitInv6 = this.gitInv6 || Vi(this.git6)),
+ (this.gitInv7 = this.gitInv7 || Vi(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || Vi(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || Vi(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || EX),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || TX));
+ }
+ calculate(s) {
+ if (typeof s != 'object') {
+ this.updateColors();
+ return;
+ }
+ const u = Object.keys(s);
+ (u.forEach((d) => {
+ this[d] = s[d];
+ }),
+ this.updateColors(),
+ u.forEach((d) => {
+ this[d] = s[d];
+ }));
+ }
+ };
+ const f2e = (i) => {
+ const s = new jPt();
+ return (s.calculate(i), s);
+ };
+ let $Pt = class {
+ constructor() {
+ ((this.background = '#f4f4f4'),
+ (this.primaryColor = '#cde498'),
+ (this.secondaryColor = '#cdffb2'),
+ (this.background = 'white'),
+ (this.mainBkg = '#cde498'),
+ (this.secondBkg = '#cdffb2'),
+ (this.lineColor = 'green'),
+ (this.border1 = '#13540c'),
+ (this.border2 = '#6eaa49'),
+ (this.arrowheadColor = 'green'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.tertiaryColor = Gs('#cde498', 10)),
+ (this.primaryBorderColor = Cp(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = Cp(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = Cp(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = Vi(this.primaryColor)),
+ (this.secondaryTextColor = Vi(this.secondaryColor)),
+ (this.tertiaryTextColor = Vi(this.primaryColor)),
+ (this.lineColor = Vi(this.background)),
+ (this.textColor = Vi(this.background)),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = '#333'),
+ (this.edgeLabelBackground = '#e8e8e8'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'black'),
+ (this.actorLineColor = 'grey'),
+ (this.signalColor = '#333'),
+ (this.signalTextColor = '#333'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = '#326932'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = '#fff5ad'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = '#6eaa49'),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = '#6eaa49'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = '#487e3a'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'black'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'lightgrey'),
+ (this.doneTaskBkgColor = 'lightgrey'),
+ (this.doneTaskBorderColor = 'grey'),
+ (this.critBorderColor = '#ff8888'),
+ (this.critBkgColor = 'red'),
+ (this.todayLineColor = 'red'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222'));
+ }
+ updateColors() {
+ var s, u, d, p, v, b, y, T, _, A, P;
+ ((this.actorBorder = ga(this.mainBkg, 20)),
+ (this.actorBkg = this.mainBkg),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelTextColor = this.actorTextColor),
+ (this.loopTextColor = this.actorTextColor),
+ (this.noteBorderColor = this.border2),
+ (this.noteTextColor = this.actorTextColor),
+ (this.cScale0 = this.cScale0 || this.primaryColor),
+ (this.cScale1 = this.cScale1 || this.secondaryColor),
+ (this.cScale2 = this.cScale2 || this.tertiaryColor),
+ (this.cScale3 = this.cScale3 || In(this.primaryColor, { h: 30 })),
+ (this.cScale4 = this.cScale4 || In(this.primaryColor, { h: 60 })),
+ (this.cScale5 = this.cScale5 || In(this.primaryColor, { h: 90 })),
+ (this.cScale6 = this.cScale6 || In(this.primaryColor, { h: 120 })),
+ (this.cScale7 = this.cScale7 || In(this.primaryColor, { h: 150 })),
+ (this.cScale8 = this.cScale8 || In(this.primaryColor, { h: 210 })),
+ (this.cScale9 = this.cScale9 || In(this.primaryColor, { h: 270 })),
+ (this.cScale10 = this.cScale10 || In(this.primaryColor, { h: 300 })),
+ (this.cScale11 = this.cScale11 || In(this.primaryColor, { h: 330 })),
+ (this['cScalePeer1'] = this['cScalePeer1'] || ga(this.secondaryColor, 45)),
+ (this['cScalePeer2'] = this['cScalePeer2'] || ga(this.tertiaryColor, 40)));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ ((this['cScale' + R] = ga(this['cScale' + R], 10)),
+ (this['cScalePeer' + R] = this['cScalePeer' + R] || ga(this['cScale' + R], 25)));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleInv' + R] = this['cScaleInv' + R] || In(this['cScale' + R], { h: 180 });
+ this.scaleLabelColor =
+ this.scaleLabelColor !== 'calculated' && this.scaleLabelColor
+ ? this.scaleLabelColor
+ : this.labelTextColor;
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleLabel' + R] = this['cScaleLabel' + R] || this.scaleLabelColor;
+ for (let R = 0; R < 5; R++)
+ ((this['surface' + R] =
+ this['surface' + R] || In(this.mainBkg, { h: 30, s: -30, l: -(5 + R * 5) })),
+ (this['surfacePeer' + R] =
+ this['surfacePeer' + R] || In(this.mainBkg, { h: 30, s: -30, l: -(8 + R * 5) })));
+ ((this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.taskBorderColor = this.border1),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.activeTaskBorderColor = this.taskBorderColor),
+ (this.activeTaskBkgColor = this.mainBkg),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground =
+ this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f0f0f0'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.compositeBorder = this.compositeBorder || this.nodeBorder),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = this.lineColor),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.transitionColor = this.transitionColor || this.lineColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = In(this.primaryColor, { h: 64 })),
+ (this.fillType3 = In(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = In(this.primaryColor, { h: -64 })),
+ (this.fillType5 = In(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = In(this.primaryColor, { h: 128 })),
+ (this.fillType7 = In(this.secondaryColor, { h: 128 })),
+ (this.pie1 = this.pie1 || this.primaryColor),
+ (this.pie2 = this.pie2 || this.secondaryColor),
+ (this.pie3 = this.pie3 || this.tertiaryColor),
+ (this.pie4 = this.pie4 || In(this.primaryColor, { l: -30 })),
+ (this.pie5 = this.pie5 || In(this.secondaryColor, { l: -30 })),
+ (this.pie6 = this.pie6 || In(this.tertiaryColor, { h: 40, l: -40 })),
+ (this.pie7 = this.pie7 || In(this.primaryColor, { h: 60, l: -10 })),
+ (this.pie8 = this.pie8 || In(this.primaryColor, { h: -60, l: -10 })),
+ (this.pie9 = this.pie9 || In(this.primaryColor, { h: 120, l: 0 })),
+ (this.pie10 = this.pie10 || In(this.primaryColor, { h: 60, l: -50 })),
+ (this.pie11 = this.pie11 || In(this.primaryColor, { h: -60, l: -50 })),
+ (this.pie12 = this.pie12 || In(this.primaryColor, { h: 120, l: -50 })),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || In(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || In(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || In(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || In(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || In(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || In(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || SC(this.quadrant1Fill)
+ ? Gs(this.quadrant1Fill)
+ : ga(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor:
+ ((s = this.xyChart) == null ? void 0 : s.backgroundColor) || this.background,
+ titleColor: ((u = this.xyChart) == null ? void 0 : u.titleColor) || this.primaryTextColor,
+ xAxisTitleColor:
+ ((d = this.xyChart) == null ? void 0 : d.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor:
+ ((p = this.xyChart) == null ? void 0 : p.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor:
+ ((v = this.xyChart) == null ? void 0 : v.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor:
+ ((b = this.xyChart) == null ? void 0 : b.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor:
+ ((y = this.xyChart) == null ? void 0 : y.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor:
+ ((T = this.xyChart) == null ? void 0 : T.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor:
+ ((_ = this.xyChart) == null ? void 0 : _.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor:
+ ((A = this.xyChart) == null ? void 0 : A.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette:
+ ((P = this.xyChart) == null ? void 0 : P.plotColorPalette) ||
+ '#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176',
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = this.git0 || this.primaryColor),
+ (this.git1 = this.git1 || this.secondaryColor),
+ (this.git2 = this.git2 || this.tertiaryColor),
+ (this.git3 = this.git3 || In(this.primaryColor, { h: -30 })),
+ (this.git4 = this.git4 || In(this.primaryColor, { h: -60 })),
+ (this.git5 = this.git5 || In(this.primaryColor, { h: -90 })),
+ (this.git6 = this.git6 || In(this.primaryColor, { h: 60 })),
+ (this.git7 = this.git7 || In(this.primaryColor, { h: 120 })),
+ this.darkMode
+ ? ((this.git0 = Gs(this.git0, 25)),
+ (this.git1 = Gs(this.git1, 25)),
+ (this.git2 = Gs(this.git2, 25)),
+ (this.git3 = Gs(this.git3, 25)),
+ (this.git4 = Gs(this.git4, 25)),
+ (this.git5 = Gs(this.git5, 25)),
+ (this.git6 = Gs(this.git6, 25)),
+ (this.git7 = Gs(this.git7, 25)))
+ : ((this.git0 = ga(this.git0, 25)),
+ (this.git1 = ga(this.git1, 25)),
+ (this.git2 = ga(this.git2, 25)),
+ (this.git3 = ga(this.git3, 25)),
+ (this.git4 = ga(this.git4, 25)),
+ (this.git5 = ga(this.git5, 25)),
+ (this.git6 = ga(this.git6, 25)),
+ (this.git7 = ga(this.git7, 25))),
+ (this.gitInv0 = this.gitInv0 || Vi(this.git0)),
+ (this.gitInv1 = this.gitInv1 || Vi(this.git1)),
+ (this.gitInv2 = this.gitInv2 || Vi(this.git2)),
+ (this.gitInv3 = this.gitInv3 || Vi(this.git3)),
+ (this.gitInv4 = this.gitInv4 || Vi(this.git4)),
+ (this.gitInv5 = this.gitInv5 || Vi(this.git5)),
+ (this.gitInv6 = this.gitInv6 || Vi(this.git6)),
+ (this.gitInv7 = this.gitInv7 || Vi(this.git7)),
+ (this.gitBranchLabel0 = this.gitBranchLabel0 || Vi(this.labelTextColor)),
+ (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor),
+ (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor),
+ (this.gitBranchLabel3 = this.gitBranchLabel3 || Vi(this.labelTextColor)),
+ (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor),
+ (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor),
+ (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor),
+ (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || EX),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || TX));
+ }
+ calculate(s) {
+ if (typeof s != 'object') {
+ this.updateColors();
+ return;
+ }
+ const u = Object.keys(s);
+ (u.forEach((d) => {
+ this[d] = s[d];
+ }),
+ this.updateColors(),
+ u.forEach((d) => {
+ this[d] = s[d];
+ }));
+ }
+ };
+ const zPt = (i) => {
+ const s = new $Pt();
+ return (s.calculate(i), s);
+ };
+ class qPt {
+ constructor() {
+ ((this.primaryColor = '#eee'),
+ (this.contrast = '#707070'),
+ (this.secondaryColor = Gs(this.contrast, 55)),
+ (this.background = '#ffffff'),
+ (this.tertiaryColor = In(this.primaryColor, { h: -160 })),
+ (this.primaryBorderColor = Cp(this.primaryColor, this.darkMode)),
+ (this.secondaryBorderColor = Cp(this.secondaryColor, this.darkMode)),
+ (this.tertiaryBorderColor = Cp(this.tertiaryColor, this.darkMode)),
+ (this.primaryTextColor = Vi(this.primaryColor)),
+ (this.secondaryTextColor = Vi(this.secondaryColor)),
+ (this.tertiaryTextColor = Vi(this.tertiaryColor)),
+ (this.lineColor = Vi(this.background)),
+ (this.textColor = Vi(this.background)),
+ (this.mainBkg = '#eee'),
+ (this.secondBkg = 'calculated'),
+ (this.lineColor = '#666'),
+ (this.border1 = '#999'),
+ (this.border2 = 'calculated'),
+ (this.note = '#ffa'),
+ (this.text = '#333'),
+ (this.critical = '#d42'),
+ (this.done = '#bbb'),
+ (this.arrowheadColor = '#333333'),
+ (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'),
+ (this.fontSize = '16px'),
+ (this.THEME_COLOR_LIMIT = 12),
+ (this.nodeBkg = 'calculated'),
+ (this.nodeBorder = 'calculated'),
+ (this.clusterBkg = 'calculated'),
+ (this.clusterBorder = 'calculated'),
+ (this.defaultLinkColor = 'calculated'),
+ (this.titleColor = 'calculated'),
+ (this.edgeLabelBackground = 'white'),
+ (this.actorBorder = 'calculated'),
+ (this.actorBkg = 'calculated'),
+ (this.actorTextColor = 'calculated'),
+ (this.actorLineColor = 'calculated'),
+ (this.signalColor = 'calculated'),
+ (this.signalTextColor = 'calculated'),
+ (this.labelBoxBkgColor = 'calculated'),
+ (this.labelBoxBorderColor = 'calculated'),
+ (this.labelTextColor = 'calculated'),
+ (this.loopTextColor = 'calculated'),
+ (this.noteBorderColor = 'calculated'),
+ (this.noteBkgColor = 'calculated'),
+ (this.noteTextColor = 'calculated'),
+ (this.activationBorderColor = '#666'),
+ (this.activationBkgColor = '#f4f4f4'),
+ (this.sequenceNumberColor = 'white'),
+ (this.sectionBkgColor = 'calculated'),
+ (this.altSectionBkgColor = 'white'),
+ (this.sectionBkgColor2 = 'calculated'),
+ (this.excludeBkgColor = '#eeeeee'),
+ (this.taskBorderColor = 'calculated'),
+ (this.taskBkgColor = 'calculated'),
+ (this.taskTextLightColor = 'white'),
+ (this.taskTextColor = 'calculated'),
+ (this.taskTextDarkColor = 'calculated'),
+ (this.taskTextOutsideColor = 'calculated'),
+ (this.taskTextClickableColor = '#003163'),
+ (this.activeTaskBorderColor = 'calculated'),
+ (this.activeTaskBkgColor = 'calculated'),
+ (this.gridColor = 'calculated'),
+ (this.doneTaskBkgColor = 'calculated'),
+ (this.doneTaskBorderColor = 'calculated'),
+ (this.critBkgColor = 'calculated'),
+ (this.critBorderColor = 'calculated'),
+ (this.todayLineColor = 'calculated'),
+ (this.personBorder = this.primaryBorderColor),
+ (this.personBkg = this.mainBkg),
+ (this.labelColor = 'black'),
+ (this.errorBkgColor = '#552222'),
+ (this.errorTextColor = '#552222'));
+ }
+ updateColors() {
+ var s, u, d, p, v, b, y, T, _, A, P;
+ ((this.secondBkg = Gs(this.contrast, 55)),
+ (this.border2 = this.contrast),
+ (this.actorBorder = Gs(this.border1, 23)),
+ (this.actorBkg = this.mainBkg),
+ (this.actorTextColor = this.text),
+ (this.actorLineColor = this.lineColor),
+ (this.signalColor = this.text),
+ (this.signalTextColor = this.text),
+ (this.labelBoxBkgColor = this.actorBkg),
+ (this.labelBoxBorderColor = this.actorBorder),
+ (this.labelTextColor = this.text),
+ (this.loopTextColor = this.text),
+ (this.noteBorderColor = '#999'),
+ (this.noteBkgColor = '#666'),
+ (this.noteTextColor = '#fff'),
+ (this.cScale0 = this.cScale0 || '#555'),
+ (this.cScale1 = this.cScale1 || '#F4F4F4'),
+ (this.cScale2 = this.cScale2 || '#555'),
+ (this.cScale3 = this.cScale3 || '#BBB'),
+ (this.cScale4 = this.cScale4 || '#777'),
+ (this.cScale5 = this.cScale5 || '#999'),
+ (this.cScale6 = this.cScale6 || '#DDD'),
+ (this.cScale7 = this.cScale7 || '#FFF'),
+ (this.cScale8 = this.cScale8 || '#DDD'),
+ (this.cScale9 = this.cScale9 || '#BBB'),
+ (this.cScale10 = this.cScale10 || '#999'),
+ (this.cScale11 = this.cScale11 || '#777'));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleInv' + R] = this['cScaleInv' + R] || Vi(this['cScale' + R]);
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this.darkMode
+ ? (this['cScalePeer' + R] = this['cScalePeer' + R] || Gs(this['cScale' + R], 10))
+ : (this['cScalePeer' + R] = this['cScalePeer' + R] || ga(this['cScale' + R], 10));
+ ((this.scaleLabelColor =
+ this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor)),
+ (this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1),
+ (this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++)
+ this['cScaleLabel' + R] = this['cScaleLabel' + R] || this.scaleLabelColor;
+ for (let R = 0; R < 5; R++)
+ ((this['surface' + R] = this['surface' + R] || In(this.mainBkg, { l: -(5 + R * 5) })),
+ (this['surfacePeer' + R] =
+ this['surfacePeer' + R] || In(this.mainBkg, { l: -(8 + R * 5) })));
+ ((this.nodeBkg = this.mainBkg),
+ (this.nodeBorder = this.border1),
+ (this.clusterBkg = this.secondBkg),
+ (this.clusterBorder = this.border2),
+ (this.defaultLinkColor = this.lineColor),
+ (this.titleColor = this.text),
+ (this.sectionBkgColor = Gs(this.contrast, 30)),
+ (this.sectionBkgColor2 = Gs(this.contrast, 30)),
+ (this.taskBorderColor = ga(this.contrast, 10)),
+ (this.taskBkgColor = this.contrast),
+ (this.taskTextColor = this.taskTextLightColor),
+ (this.taskTextDarkColor = this.text),
+ (this.taskTextOutsideColor = this.taskTextDarkColor),
+ (this.activeTaskBorderColor = this.taskBorderColor),
+ (this.activeTaskBkgColor = this.mainBkg),
+ (this.gridColor = Gs(this.border1, 30)),
+ (this.doneTaskBkgColor = this.done),
+ (this.doneTaskBorderColor = this.lineColor),
+ (this.critBkgColor = this.critical),
+ (this.critBorderColor = ga(this.critBkgColor, 10)),
+ (this.todayLineColor = this.critBkgColor),
+ (this.transitionColor = this.transitionColor || '#000'),
+ (this.transitionLabelColor = this.transitionLabelColor || this.textColor),
+ (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor),
+ (this.stateBkg = this.stateBkg || this.mainBkg),
+ (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg),
+ (this.compositeBackground =
+ this.compositeBackground || this.background || this.tertiaryColor),
+ (this.altBackground = this.altBackground || '#f4f4f4'),
+ (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg),
+ (this.stateBorder = this.stateBorder || '#000'),
+ (this.innerEndBackground = this.primaryBorderColor),
+ (this.specialStateColor = '#222'),
+ (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor),
+ (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor),
+ (this.classText = this.primaryTextColor),
+ (this.fillType0 = this.primaryColor),
+ (this.fillType1 = this.secondaryColor),
+ (this.fillType2 = In(this.primaryColor, { h: 64 })),
+ (this.fillType3 = In(this.secondaryColor, { h: 64 })),
+ (this.fillType4 = In(this.primaryColor, { h: -64 })),
+ (this.fillType5 = In(this.secondaryColor, { h: -64 })),
+ (this.fillType6 = In(this.primaryColor, { h: 128 })),
+ (this.fillType7 = In(this.secondaryColor, { h: 128 })));
+ for (let R = 0; R < this.THEME_COLOR_LIMIT; R++) this['pie' + R] = this['cScale' + R];
+ ((this.pie12 = this.pie0),
+ (this.pieTitleTextSize = this.pieTitleTextSize || '25px'),
+ (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor),
+ (this.pieSectionTextSize = this.pieSectionTextSize || '17px'),
+ (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor),
+ (this.pieLegendTextSize = this.pieLegendTextSize || '17px'),
+ (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor),
+ (this.pieStrokeColor = this.pieStrokeColor || 'black'),
+ (this.pieStrokeWidth = this.pieStrokeWidth || '2px'),
+ (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || '2px'),
+ (this.pieOuterStrokeColor = this.pieOuterStrokeColor || 'black'),
+ (this.pieOpacity = this.pieOpacity || '0.7'),
+ (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor),
+ (this.quadrant2Fill = this.quadrant2Fill || In(this.primaryColor, { r: 5, g: 5, b: 5 })),
+ (this.quadrant3Fill = this.quadrant3Fill || In(this.primaryColor, { r: 10, g: 10, b: 10 })),
+ (this.quadrant4Fill = this.quadrant4Fill || In(this.primaryColor, { r: 15, g: 15, b: 15 })),
+ (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor),
+ (this.quadrant2TextFill =
+ this.quadrant2TextFill || In(this.primaryTextColor, { r: -5, g: -5, b: -5 })),
+ (this.quadrant3TextFill =
+ this.quadrant3TextFill || In(this.primaryTextColor, { r: -10, g: -10, b: -10 })),
+ (this.quadrant4TextFill =
+ this.quadrant4TextFill || In(this.primaryTextColor, { r: -15, g: -15, b: -15 })),
+ (this.quadrantPointFill =
+ this.quadrantPointFill || SC(this.quadrant1Fill)
+ ? Gs(this.quadrant1Fill)
+ : ga(this.quadrant1Fill)),
+ (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor),
+ (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor),
+ (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor),
+ (this.quadrantInternalBorderStrokeFill =
+ this.quadrantInternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantExternalBorderStrokeFill =
+ this.quadrantExternalBorderStrokeFill || this.primaryBorderColor),
+ (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor),
+ (this.xyChart = {
+ backgroundColor:
+ ((s = this.xyChart) == null ? void 0 : s.backgroundColor) || this.background,
+ titleColor: ((u = this.xyChart) == null ? void 0 : u.titleColor) || this.primaryTextColor,
+ xAxisTitleColor:
+ ((d = this.xyChart) == null ? void 0 : d.xAxisTitleColor) || this.primaryTextColor,
+ xAxisLabelColor:
+ ((p = this.xyChart) == null ? void 0 : p.xAxisLabelColor) || this.primaryTextColor,
+ xAxisTickColor:
+ ((v = this.xyChart) == null ? void 0 : v.xAxisTickColor) || this.primaryTextColor,
+ xAxisLineColor:
+ ((b = this.xyChart) == null ? void 0 : b.xAxisLineColor) || this.primaryTextColor,
+ yAxisTitleColor:
+ ((y = this.xyChart) == null ? void 0 : y.yAxisTitleColor) || this.primaryTextColor,
+ yAxisLabelColor:
+ ((T = this.xyChart) == null ? void 0 : T.yAxisLabelColor) || this.primaryTextColor,
+ yAxisTickColor:
+ ((_ = this.xyChart) == null ? void 0 : _.yAxisTickColor) || this.primaryTextColor,
+ yAxisLineColor:
+ ((A = this.xyChart) == null ? void 0 : A.yAxisLineColor) || this.primaryTextColor,
+ plotColorPalette:
+ ((P = this.xyChart) == null ? void 0 : P.plotColorPalette) ||
+ '#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0',
+ }),
+ (this.requirementBackground = this.requirementBackground || this.primaryColor),
+ (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor),
+ (this.requirementBorderSize = this.requirementBorderSize || '1'),
+ (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor),
+ (this.relationColor = this.relationColor || this.lineColor),
+ (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground),
+ (this.relationLabelColor = this.relationLabelColor || this.actorTextColor),
+ (this.git0 = ga(this.pie1, 25) || this.primaryColor),
+ (this.git1 = this.pie2 || this.secondaryColor),
+ (this.git2 = this.pie3 || this.tertiaryColor),
+ (this.git3 = this.pie4 || In(this.primaryColor, { h: -30 })),
+ (this.git4 = this.pie5 || In(this.primaryColor, { h: -60 })),
+ (this.git5 = this.pie6 || In(this.primaryColor, { h: -90 })),
+ (this.git6 = this.pie7 || In(this.primaryColor, { h: 60 })),
+ (this.git7 = this.pie8 || In(this.primaryColor, { h: 120 })),
+ (this.gitInv0 = this.gitInv0 || Vi(this.git0)),
+ (this.gitInv1 = this.gitInv1 || Vi(this.git1)),
+ (this.gitInv2 = this.gitInv2 || Vi(this.git2)),
+ (this.gitInv3 = this.gitInv3 || Vi(this.git3)),
+ (this.gitInv4 = this.gitInv4 || Vi(this.git4)),
+ (this.gitInv5 = this.gitInv5 || Vi(this.git5)),
+ (this.gitInv6 = this.gitInv6 || Vi(this.git6)),
+ (this.gitInv7 = this.gitInv7 || Vi(this.git7)),
+ (this.branchLabelColor = this.branchLabelColor || this.labelTextColor),
+ (this.gitBranchLabel0 = this.branchLabelColor),
+ (this.gitBranchLabel1 = 'white'),
+ (this.gitBranchLabel2 = this.branchLabelColor),
+ (this.gitBranchLabel3 = 'white'),
+ (this.gitBranchLabel4 = this.branchLabelColor),
+ (this.gitBranchLabel5 = this.branchLabelColor),
+ (this.gitBranchLabel6 = this.branchLabelColor),
+ (this.gitBranchLabel7 = this.branchLabelColor),
+ (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor),
+ (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor),
+ (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor),
+ (this.tagLabelFontSize = this.tagLabelFontSize || '10px'),
+ (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor),
+ (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor),
+ (this.commitLabelFontSize = this.commitLabelFontSize || '10px'),
+ (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || EX),
+ (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || TX));
+ }
+ calculate(s) {
+ if (typeof s != 'object') {
+ this.updateColors();
+ return;
+ }
+ const u = Object.keys(s);
+ (u.forEach((d) => {
+ this[d] = s[d];
+ }),
+ this.updateColors(),
+ u.forEach((d) => {
+ this[d] = s[d];
+ }));
+ }
+ }
+ const k7 = {
+ base: { getThemeVariables: BPt },
+ dark: { getThemeVariables: RPt },
+ default: { getThemeVariables: f2e },
+ forest: { getThemeVariables: zPt },
+ neutral: {
+ getThemeVariables: (i) => {
+ const s = new qPt();
+ return (s.calculate(i), s);
+ },
+ },
+ },
+ E7 = {
+ flowchart: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ subGraphTitleMargin: { top: 0, bottom: 0 },
+ diagramPadding: 8,
+ htmlLabels: !0,
+ nodeSpacing: 50,
+ rankSpacing: 50,
+ curve: 'basis',
+ padding: 15,
+ defaultRenderer: 'dagre-wrapper',
+ wrappingWidth: 200,
+ },
+ sequence: {
+ useMaxWidth: !0,
+ hideUnusedParticipants: !1,
+ activationWidth: 10,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ actorMargin: 50,
+ width: 150,
+ height: 65,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ mirrorActors: !0,
+ forceMenus: !1,
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ showSequenceNumbers: !1,
+ actorFontSize: 14,
+ actorFontFamily: '"Open Sans", sans-serif',
+ actorFontWeight: 400,
+ noteFontSize: 14,
+ noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ noteFontWeight: 400,
+ noteAlign: 'center',
+ messageFontSize: 16,
+ messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif',
+ messageFontWeight: 400,
+ wrap: !1,
+ wrapPadding: 10,
+ labelBoxWidth: 50,
+ labelBoxHeight: 20,
+ },
+ gantt: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ barHeight: 20,
+ barGap: 4,
+ topPadding: 50,
+ rightPadding: 75,
+ leftPadding: 75,
+ gridLineStartPadding: 35,
+ fontSize: 11,
+ sectionFontSize: 11,
+ numberSectionStyles: 4,
+ axisFormat: '%Y-%m-%d',
+ topAxis: !1,
+ displayMode: '',
+ weekday: 'sunday',
+ },
+ journey: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: 'fo',
+ actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
+ sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
+ sectionColours: ['#fff'],
+ },
+ class: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ arrowMarkerAbsolute: !1,
+ dividerMargin: 10,
+ padding: 5,
+ textHeight: 10,
+ defaultRenderer: 'dagre-wrapper',
+ htmlLabels: !1,
+ },
+ state: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ dividerMargin: 10,
+ sizeUnit: 5,
+ padding: 8,
+ textHeight: 10,
+ titleShift: -15,
+ noteMargin: 10,
+ forkWidth: 70,
+ forkHeight: 7,
+ miniPadding: 2,
+ fontSizeFactor: 5.02,
+ fontSize: 24,
+ labelHeight: 16,
+ edgeLengthFactor: '20',
+ compositTitleSize: 35,
+ radius: 5,
+ defaultRenderer: 'dagre-wrapper',
+ },
+ er: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 20,
+ layoutDirection: 'TB',
+ minEntityWidth: 100,
+ minEntityHeight: 75,
+ entityPadding: 15,
+ stroke: 'gray',
+ fill: 'honeydew',
+ fontSize: 12,
+ },
+ pie: { useMaxWidth: !0, textPosition: 0.75 },
+ quadrantChart: {
+ useMaxWidth: !0,
+ chartWidth: 500,
+ chartHeight: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ quadrantPadding: 5,
+ xAxisLabelPadding: 5,
+ yAxisLabelPadding: 5,
+ xAxisLabelFontSize: 16,
+ yAxisLabelFontSize: 16,
+ quadrantLabelFontSize: 16,
+ quadrantTextTopPadding: 5,
+ pointTextPadding: 5,
+ pointLabelFontSize: 12,
+ pointRadius: 5,
+ xAxisPosition: 'top',
+ yAxisPosition: 'left',
+ quadrantInternalBorderStrokeWidth: 1,
+ quadrantExternalBorderStrokeWidth: 2,
+ },
+ xyChart: {
+ useMaxWidth: !0,
+ width: 700,
+ height: 500,
+ titleFontSize: 20,
+ titlePadding: 10,
+ showTitle: !0,
+ xAxis: {
+ $ref: '#/$defs/XYChartAxisConfig',
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2,
+ },
+ yAxis: {
+ $ref: '#/$defs/XYChartAxisConfig',
+ showLabel: !0,
+ labelFontSize: 14,
+ labelPadding: 5,
+ showTitle: !0,
+ titleFontSize: 16,
+ titlePadding: 5,
+ showTick: !0,
+ tickLength: 5,
+ tickWidth: 2,
+ showAxisLine: !0,
+ axisLineWidth: 2,
+ },
+ chartOrientation: 'vertical',
+ plotReservedSpacePercent: 50,
+ },
+ requirement: {
+ useMaxWidth: !0,
+ rect_fill: '#f9f9f9',
+ text_color: '#333',
+ rect_border_size: '0.5px',
+ rect_border_color: '#bbb',
+ rect_min_width: 200,
+ rect_min_height: 200,
+ fontSize: 14,
+ rect_padding: 10,
+ line_height: 20,
+ },
+ mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 },
+ timeline: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ leftMargin: 150,
+ width: 150,
+ height: 50,
+ boxMargin: 10,
+ boxTextMargin: 5,
+ noteMargin: 10,
+ messageMargin: 35,
+ messageAlign: 'center',
+ bottomMarginAdj: 1,
+ rightAngles: !1,
+ taskFontSize: 14,
+ taskFontFamily: '"Open Sans", sans-serif',
+ taskMargin: 50,
+ activationWidth: 10,
+ textPlacement: 'fo',
+ actorColours: ['#8FBC8F', '#7CFC00', '#00FFFF', '#20B2AA', '#B0E0E6', '#FFFFE0'],
+ sectionFills: ['#191970', '#8B008B', '#4B0082', '#2F4F4F', '#800000', '#8B4513', '#00008B'],
+ sectionColours: ['#fff'],
+ disableMulticolor: !1,
+ },
+ gitGraph: {
+ useMaxWidth: !0,
+ titleTopMargin: 25,
+ diagramPadding: 8,
+ nodeLabel: { width: 75, height: 100, x: -25, y: 0 },
+ mainBranchName: 'main',
+ mainBranchOrder: 0,
+ showCommitLabel: !0,
+ showBranches: !0,
+ rotateCommitLabel: !0,
+ parallelCommits: !1,
+ arrowMarkerAbsolute: !1,
+ },
+ c4: {
+ useMaxWidth: !0,
+ diagramMarginX: 50,
+ diagramMarginY: 10,
+ c4ShapeMargin: 50,
+ c4ShapePadding: 20,
+ width: 216,
+ height: 60,
+ boxMargin: 10,
+ c4ShapeInRow: 4,
+ nextLinePaddingX: 0,
+ c4BoundaryInRow: 2,
+ personFontSize: 14,
+ personFontFamily: '"Open Sans", sans-serif',
+ personFontWeight: 'normal',
+ external_personFontSize: 14,
+ external_personFontFamily: '"Open Sans", sans-serif',
+ external_personFontWeight: 'normal',
+ systemFontSize: 14,
+ systemFontFamily: '"Open Sans", sans-serif',
+ systemFontWeight: 'normal',
+ external_systemFontSize: 14,
+ external_systemFontFamily: '"Open Sans", sans-serif',
+ external_systemFontWeight: 'normal',
+ system_dbFontSize: 14,
+ system_dbFontFamily: '"Open Sans", sans-serif',
+ system_dbFontWeight: 'normal',
+ external_system_dbFontSize: 14,
+ external_system_dbFontFamily: '"Open Sans", sans-serif',
+ external_system_dbFontWeight: 'normal',
+ system_queueFontSize: 14,
+ system_queueFontFamily: '"Open Sans", sans-serif',
+ system_queueFontWeight: 'normal',
+ external_system_queueFontSize: 14,
+ external_system_queueFontFamily: '"Open Sans", sans-serif',
+ external_system_queueFontWeight: 'normal',
+ boundaryFontSize: 14,
+ boundaryFontFamily: '"Open Sans", sans-serif',
+ boundaryFontWeight: 'normal',
+ messageFontSize: 12,
+ messageFontFamily: '"Open Sans", sans-serif',
+ messageFontWeight: 'normal',
+ containerFontSize: 14,
+ containerFontFamily: '"Open Sans", sans-serif',
+ containerFontWeight: 'normal',
+ external_containerFontSize: 14,
+ external_containerFontFamily: '"Open Sans", sans-serif',
+ external_containerFontWeight: 'normal',
+ container_dbFontSize: 14,
+ container_dbFontFamily: '"Open Sans", sans-serif',
+ container_dbFontWeight: 'normal',
+ external_container_dbFontSize: 14,
+ external_container_dbFontFamily: '"Open Sans", sans-serif',
+ external_container_dbFontWeight: 'normal',
+ container_queueFontSize: 14,
+ container_queueFontFamily: '"Open Sans", sans-serif',
+ container_queueFontWeight: 'normal',
+ external_container_queueFontSize: 14,
+ external_container_queueFontFamily: '"Open Sans", sans-serif',
+ external_container_queueFontWeight: 'normal',
+ componentFontSize: 14,
+ componentFontFamily: '"Open Sans", sans-serif',
+ componentFontWeight: 'normal',
+ external_componentFontSize: 14,
+ external_componentFontFamily: '"Open Sans", sans-serif',
+ external_componentFontWeight: 'normal',
+ component_dbFontSize: 14,
+ component_dbFontFamily: '"Open Sans", sans-serif',
+ component_dbFontWeight: 'normal',
+ external_component_dbFontSize: 14,
+ external_component_dbFontFamily: '"Open Sans", sans-serif',
+ external_component_dbFontWeight: 'normal',
+ component_queueFontSize: 14,
+ component_queueFontFamily: '"Open Sans", sans-serif',
+ component_queueFontWeight: 'normal',
+ external_component_queueFontSize: 14,
+ external_component_queueFontFamily: '"Open Sans", sans-serif',
+ external_component_queueFontWeight: 'normal',
+ wrap: !0,
+ wrapPadding: 10,
+ person_bg_color: '#08427B',
+ person_border_color: '#073B6F',
+ external_person_bg_color: '#686868',
+ external_person_border_color: '#8A8A8A',
+ system_bg_color: '#1168BD',
+ system_border_color: '#3C7FC0',
+ system_db_bg_color: '#1168BD',
+ system_db_border_color: '#3C7FC0',
+ system_queue_bg_color: '#1168BD',
+ system_queue_border_color: '#3C7FC0',
+ external_system_bg_color: '#999999',
+ external_system_border_color: '#8A8A8A',
+ external_system_db_bg_color: '#999999',
+ external_system_db_border_color: '#8A8A8A',
+ external_system_queue_bg_color: '#999999',
+ external_system_queue_border_color: '#8A8A8A',
+ container_bg_color: '#438DD5',
+ container_border_color: '#3C7FC0',
+ container_db_bg_color: '#438DD5',
+ container_db_border_color: '#3C7FC0',
+ container_queue_bg_color: '#438DD5',
+ container_queue_border_color: '#3C7FC0',
+ external_container_bg_color: '#B3B3B3',
+ external_container_border_color: '#A6A6A6',
+ external_container_db_bg_color: '#B3B3B3',
+ external_container_db_border_color: '#A6A6A6',
+ external_container_queue_bg_color: '#B3B3B3',
+ external_container_queue_border_color: '#A6A6A6',
+ component_bg_color: '#85BBF0',
+ component_border_color: '#78A8D8',
+ component_db_bg_color: '#85BBF0',
+ component_db_border_color: '#78A8D8',
+ component_queue_bg_color: '#85BBF0',
+ component_queue_border_color: '#78A8D8',
+ external_component_bg_color: '#CCCCCC',
+ external_component_border_color: '#BFBFBF',
+ external_component_db_bg_color: '#CCCCCC',
+ external_component_db_border_color: '#BFBFBF',
+ external_component_queue_bg_color: '#CCCCCC',
+ external_component_queue_border_color: '#BFBFBF',
+ },
+ sankey: {
+ useMaxWidth: !0,
+ width: 600,
+ height: 400,
+ linkColor: 'gradient',
+ nodeAlignment: 'justify',
+ showValues: !0,
+ prefix: '',
+ suffix: '',
+ },
+ block: { useMaxWidth: !0, padding: 8 },
+ theme: 'default',
+ maxTextSize: 5e4,
+ maxEdges: 500,
+ darkMode: !1,
+ fontFamily: '"trebuchet ms", verdana, arial, sans-serif;',
+ logLevel: 5,
+ securityLevel: 'strict',
+ startOnLoad: !0,
+ arrowMarkerAbsolute: !1,
+ secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize', 'maxEdges'],
+ legacyMathML: !1,
+ deterministicIds: !1,
+ fontSize: 16,
+ },
+ IRe = {
+ ...E7,
+ deterministicIDSeed: void 0,
+ themeCSS: void 0,
+ themeVariables: k7.default.getThemeVariables(),
+ sequence: {
+ ...E7.sequence,
+ messageFont: function () {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight,
+ };
+ },
+ noteFont: function () {
+ return {
+ fontFamily: this.noteFontFamily,
+ fontSize: this.noteFontSize,
+ fontWeight: this.noteFontWeight,
+ };
+ },
+ actorFont: function () {
+ return {
+ fontFamily: this.actorFontFamily,
+ fontSize: this.actorFontSize,
+ fontWeight: this.actorFontWeight,
+ };
+ },
+ },
+ gantt: { ...E7.gantt, tickInterval: void 0, useWidth: void 0 },
+ c4: {
+ ...E7.c4,
+ useWidth: void 0,
+ personFont: function () {
+ return {
+ fontFamily: this.personFontFamily,
+ fontSize: this.personFontSize,
+ fontWeight: this.personFontWeight,
+ };
+ },
+ external_personFont: function () {
+ return {
+ fontFamily: this.external_personFontFamily,
+ fontSize: this.external_personFontSize,
+ fontWeight: this.external_personFontWeight,
+ };
+ },
+ systemFont: function () {
+ return {
+ fontFamily: this.systemFontFamily,
+ fontSize: this.systemFontSize,
+ fontWeight: this.systemFontWeight,
+ };
+ },
+ external_systemFont: function () {
+ return {
+ fontFamily: this.external_systemFontFamily,
+ fontSize: this.external_systemFontSize,
+ fontWeight: this.external_systemFontWeight,
+ };
+ },
+ system_dbFont: function () {
+ return {
+ fontFamily: this.system_dbFontFamily,
+ fontSize: this.system_dbFontSize,
+ fontWeight: this.system_dbFontWeight,
+ };
+ },
+ external_system_dbFont: function () {
+ return {
+ fontFamily: this.external_system_dbFontFamily,
+ fontSize: this.external_system_dbFontSize,
+ fontWeight: this.external_system_dbFontWeight,
+ };
+ },
+ system_queueFont: function () {
+ return {
+ fontFamily: this.system_queueFontFamily,
+ fontSize: this.system_queueFontSize,
+ fontWeight: this.system_queueFontWeight,
+ };
+ },
+ external_system_queueFont: function () {
+ return {
+ fontFamily: this.external_system_queueFontFamily,
+ fontSize: this.external_system_queueFontSize,
+ fontWeight: this.external_system_queueFontWeight,
+ };
+ },
+ containerFont: function () {
+ return {
+ fontFamily: this.containerFontFamily,
+ fontSize: this.containerFontSize,
+ fontWeight: this.containerFontWeight,
+ };
+ },
+ external_containerFont: function () {
+ return {
+ fontFamily: this.external_containerFontFamily,
+ fontSize: this.external_containerFontSize,
+ fontWeight: this.external_containerFontWeight,
+ };
+ },
+ container_dbFont: function () {
+ return {
+ fontFamily: this.container_dbFontFamily,
+ fontSize: this.container_dbFontSize,
+ fontWeight: this.container_dbFontWeight,
+ };
+ },
+ external_container_dbFont: function () {
+ return {
+ fontFamily: this.external_container_dbFontFamily,
+ fontSize: this.external_container_dbFontSize,
+ fontWeight: this.external_container_dbFontWeight,
+ };
+ },
+ container_queueFont: function () {
+ return {
+ fontFamily: this.container_queueFontFamily,
+ fontSize: this.container_queueFontSize,
+ fontWeight: this.container_queueFontWeight,
+ };
+ },
+ external_container_queueFont: function () {
+ return {
+ fontFamily: this.external_container_queueFontFamily,
+ fontSize: this.external_container_queueFontSize,
+ fontWeight: this.external_container_queueFontWeight,
+ };
+ },
+ componentFont: function () {
+ return {
+ fontFamily: this.componentFontFamily,
+ fontSize: this.componentFontSize,
+ fontWeight: this.componentFontWeight,
+ };
+ },
+ external_componentFont: function () {
+ return {
+ fontFamily: this.external_componentFontFamily,
+ fontSize: this.external_componentFontSize,
+ fontWeight: this.external_componentFontWeight,
+ };
+ },
+ component_dbFont: function () {
+ return {
+ fontFamily: this.component_dbFontFamily,
+ fontSize: this.component_dbFontSize,
+ fontWeight: this.component_dbFontWeight,
+ };
+ },
+ external_component_dbFont: function () {
+ return {
+ fontFamily: this.external_component_dbFontFamily,
+ fontSize: this.external_component_dbFontSize,
+ fontWeight: this.external_component_dbFontWeight,
+ };
+ },
+ component_queueFont: function () {
+ return {
+ fontFamily: this.component_queueFontFamily,
+ fontSize: this.component_queueFontSize,
+ fontWeight: this.component_queueFontWeight,
+ };
+ },
+ external_component_queueFont: function () {
+ return {
+ fontFamily: this.external_component_queueFontFamily,
+ fontSize: this.external_component_queueFontSize,
+ fontWeight: this.external_component_queueFontWeight,
+ };
+ },
+ boundaryFont: function () {
+ return {
+ fontFamily: this.boundaryFontFamily,
+ fontSize: this.boundaryFontSize,
+ fontWeight: this.boundaryFontWeight,
+ };
+ },
+ messageFont: function () {
+ return {
+ fontFamily: this.messageFontFamily,
+ fontSize: this.messageFontSize,
+ fontWeight: this.messageFontWeight,
+ };
+ },
+ },
+ pie: { ...E7.pie, useWidth: 984 },
+ xyChart: { ...E7.xyChart, useWidth: void 0 },
+ requirement: { ...E7.requirement, useWidth: void 0 },
+ gitGraph: { ...E7.gitGraph, useMaxWidth: !1 },
+ sankey: { ...E7.sankey, useMaxWidth: !1 },
+ },
+ ORe = (i, s = '') =>
+ Object.keys(i).reduce(
+ (u, d) =>
+ Array.isArray(i[d])
+ ? u
+ : typeof i[d] == 'object' && i[d] !== null
+ ? [...u, s + d, ...ORe(i[d], '')]
+ : [...u, s + d],
+ [],
+ ),
+ HPt = new Set(ORe(IRe, '')),
+ sh = IRe,
+ CX = (i) => {
+ if ((Xe.debug('sanitizeDirective called with', i), !(typeof i != 'object' || i == null))) {
+ if (Array.isArray(i)) {
+ i.forEach((s) => CX(s));
+ return;
+ }
+ for (const s of Object.keys(i)) {
+ if (
+ (Xe.debug('Checking key', s),
+ s.startsWith('__') ||
+ s.includes('proto') ||
+ s.includes('constr') ||
+ !HPt.has(s) ||
+ i[s] == null)
+ ) {
+ (Xe.debug('sanitize deleting key: ', s), delete i[s]);
+ continue;
+ }
+ if (typeof i[s] == 'object') {
+ (Xe.debug('sanitizing object', s), CX(i[s]));
+ continue;
+ }
+ const u = ['themeCSS', 'fontFamily', 'altFontFamily'];
+ for (const d of u)
+ s.includes(d) && (Xe.debug('sanitizing css option', s), (i[s] = VPt(i[s])));
+ }
+ if (i.themeVariables)
+ for (const s of Object.keys(i.themeVariables)) {
+ const u = i.themeVariables[s];
+ u != null &&
+ u.match &&
+ !u.match(/^[\d "#%(),.;A-Za-z]+$/) &&
+ (i.themeVariables[s] = '');
+ }
+ Xe.debug('After sanitization', i);
+ }
+ },
+ VPt = (i) => {
+ let s = 0,
+ u = 0;
+ for (const d of i) {
+ if (s < u) return '{ /* ERROR: Unbalanced CSS */ }';
+ d === '{' ? s++ : d === '}' && u++;
+ }
+ return s !== u ? '{ /* ERROR: Unbalanced CSS */ }' : i;
+ },
+ NRe = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,
+ GF = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,
+ UPt = /\s*%%.*\n/gm;
+ class PRe extends Error {
+ constructor(s) {
+ (super(s), (this.name = 'UnknownDiagramError'));
+ }
+ }
+ const fD = {},
+ SX = function (i, s) {
+ i = i
+ .replace(NRe, '')
+ .replace(GF, '')
+ .replace(
+ UPt,
+ `
+`,
+ );
+ for (const [u, { detector: d }] of Object.entries(fD)) if (d(i, s)) return u;
+ throw new PRe(`No diagram type detected matching given configuration for text: ${i}`);
+ },
+ BRe = (...i) => {
+ for (const { id: s, detector: u, loader: d } of i) FRe(s, u, d);
+ },
+ FRe = (i, s, u) => {
+ (fD[i]
+ ? Xe.error(`Detector with key ${i} already exists`)
+ : (fD[i] = { detector: s, loader: u }),
+ Xe.debug(`Detector with key ${i} added${u ? ' with loader' : ''}`));
+ },
+ GPt = (i) => fD[i].loader,
+ d2e = (i, s, { depth: u = 2, clobber: d = !1 } = {}) => {
+ const p = { depth: u, clobber: d };
+ return Array.isArray(s) && !Array.isArray(i)
+ ? (s.forEach((v) => d2e(i, v, p)), i)
+ : Array.isArray(s) && Array.isArray(i)
+ ? (s.forEach((v) => {
+ i.includes(v) || i.push(v);
+ }),
+ i)
+ : i === void 0 || u <= 0
+ ? i != null && typeof i == 'object' && typeof s == 'object'
+ ? Object.assign(i, s)
+ : s
+ : (s !== void 0 &&
+ typeof i == 'object' &&
+ typeof s == 'object' &&
+ Object.keys(s).forEach((v) => {
+ typeof s[v] == 'object' && (i[v] === void 0 || typeof i[v] == 'object')
+ ? (i[v] === void 0 && (i[v] = Array.isArray(s[v]) ? [] : {}),
+ (i[v] = d2e(i[v], s[v], { depth: u - 1, clobber: d })))
+ : (d || (typeof i[v] != 'object' && typeof s[v] != 'object')) && (i[v] = s[v]);
+ }),
+ i);
+ },
+ td = d2e;
+ var KPt = typeof global == 'object' && global && global.Object === Object && global;
+ const RRe = KPt;
+ var WPt = typeof self == 'object' && self && self.Object === Object && self,
+ YPt = RRe || WPt || Function('return this')();
+ const N3 = YPt;
+ var XPt = N3.Symbol;
+ const Iv = XPt;
+ var jRe = Object.prototype,
+ QPt = jRe.hasOwnProperty,
+ JPt = jRe.toString,
+ KF = Iv ? Iv.toStringTag : void 0;
+ function ZPt(i) {
+ var s = QPt.call(i, KF),
+ u = i[KF];
+ try {
+ i[KF] = void 0;
+ var d = !0;
+ } catch {}
+ var p = JPt.call(i);
+ return (d && (s ? (i[KF] = u) : delete i[KF]), p);
+ }
+ var eBt = Object.prototype,
+ tBt = eBt.toString;
+ function nBt(i) {
+ return tBt.call(i);
+ }
+ var rBt = '[object Null]',
+ iBt = '[object Undefined]',
+ $Re = Iv ? Iv.toStringTag : void 0;
+ function _C(i) {
+ return i == null ? (i === void 0 ? iBt : rBt) : $Re && $Re in Object(i) ? ZPt(i) : nBt(i);
+ }
+ function sm(i) {
+ var s = typeof i;
+ return i != null && (s == 'object' || s == 'function');
+ }
+ var sBt = '[object AsyncFunction]',
+ aBt = '[object Function]',
+ oBt = '[object GeneratorFunction]',
+ cBt = '[object Proxy]';
+ function dD(i) {
+ if (!sm(i)) return !1;
+ var s = _C(i);
+ return s == aBt || s == oBt || s == sBt || s == cBt;
+ }
+ var uBt = N3['__core-js_shared__'];
+ const g2e = uBt;
+ var zRe = (function () {
+ var i = /[^.]+$/.exec((g2e && g2e.keys && g2e.keys.IE_PROTO) || '');
+ return i ? 'Symbol(src)_1.' + i : '';
+ })();
+ function lBt(i) {
+ return !!zRe && zRe in i;
+ }
+ var hBt = Function.prototype,
+ fBt = hBt.toString;
+ function AC(i) {
+ if (i != null) {
+ try {
+ return fBt.call(i);
+ } catch {}
+ try {
+ return i + '';
+ } catch {}
+ }
+ return '';
+ }
+ var dBt = /[\\^$.*+?()[\]{}|]/g,
+ gBt = /^\[object .+?Constructor\]$/,
+ pBt = Function.prototype,
+ bBt = Object.prototype,
+ mBt = pBt.toString,
+ vBt = bBt.hasOwnProperty,
+ wBt = RegExp(
+ '^' +
+ mBt
+ .call(vBt)
+ .replace(dBt, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') +
+ '$',
+ );
+ function yBt(i) {
+ if (!sm(i) || lBt(i)) return !1;
+ var s = dD(i) ? wBt : gBt;
+ return s.test(AC(i));
+ }
+ function xBt(i, s) {
+ return i == null ? void 0 : i[s];
+ }
+ function LC(i, s) {
+ var u = xBt(i, s);
+ return yBt(u) ? u : void 0;
+ }
+ var kBt = LC(Object, 'create');
+ const WF = kBt;
+ function EBt() {
+ ((this.__data__ = WF ? WF(null) : {}), (this.size = 0));
+ }
+ function TBt(i) {
+ var s = this.has(i) && delete this.__data__[i];
+ return ((this.size -= s ? 1 : 0), s);
+ }
+ var CBt = '__lodash_hash_undefined__',
+ SBt = Object.prototype,
+ _Bt = SBt.hasOwnProperty;
+ function ABt(i) {
+ var s = this.__data__;
+ if (WF) {
+ var u = s[i];
+ return u === CBt ? void 0 : u;
+ }
+ return _Bt.call(s, i) ? s[i] : void 0;
+ }
+ var LBt = Object.prototype,
+ MBt = LBt.hasOwnProperty;
+ function DBt(i) {
+ var s = this.__data__;
+ return WF ? s[i] !== void 0 : MBt.call(s, i);
+ }
+ var IBt = '__lodash_hash_undefined__';
+ function OBt(i, s) {
+ var u = this.__data__;
+ return ((this.size += this.has(i) ? 0 : 1), (u[i] = WF && s === void 0 ? IBt : s), this);
+ }
+ function MC(i) {
+ var s = -1,
+ u = i == null ? 0 : i.length;
+ for (this.clear(); ++s < u; ) {
+ var d = i[s];
+ this.set(d[0], d[1]);
+ }
+ }
+ ((MC.prototype.clear = EBt),
+ (MC.prototype.delete = TBt),
+ (MC.prototype.get = ABt),
+ (MC.prototype.has = DBt),
+ (MC.prototype.set = OBt));
+ function NBt() {
+ ((this.__data__ = []), (this.size = 0));
+ }
+ function gD(i, s) {
+ return i === s || (i !== i && s !== s);
+ }
+ function _X(i, s) {
+ for (var u = i.length; u--; ) if (gD(i[u][0], s)) return u;
+ return -1;
+ }
+ var PBt = Array.prototype,
+ BBt = PBt.splice;
+ function FBt(i) {
+ var s = this.__data__,
+ u = _X(s, i);
+ if (u < 0) return !1;
+ var d = s.length - 1;
+ return (u == d ? s.pop() : BBt.call(s, u, 1), --this.size, !0);
+ }
+ function RBt(i) {
+ var s = this.__data__,
+ u = _X(s, i);
+ return u < 0 ? void 0 : s[u][1];
+ }
+ function jBt(i) {
+ return _X(this.__data__, i) > -1;
+ }
+ function $Bt(i, s) {
+ var u = this.__data__,
+ d = _X(u, i);
+ return (d < 0 ? (++this.size, u.push([i, s])) : (u[d][1] = s), this);
+ }
+ function T7(i) {
+ var s = -1,
+ u = i == null ? 0 : i.length;
+ for (this.clear(); ++s < u; ) {
+ var d = i[s];
+ this.set(d[0], d[1]);
+ }
+ }
+ ((T7.prototype.clear = NBt),
+ (T7.prototype.delete = FBt),
+ (T7.prototype.get = RBt),
+ (T7.prototype.has = jBt),
+ (T7.prototype.set = $Bt));
+ var zBt = LC(N3, 'Map');
+ const YF = zBt;
+ function qBt() {
+ ((this.size = 0),
+ (this.__data__ = { hash: new MC(), map: new (YF || T7)(), string: new MC() }));
+ }
+ function HBt(i) {
+ var s = typeof i;
+ return s == 'string' || s == 'number' || s == 'symbol' || s == 'boolean'
+ ? i !== '__proto__'
+ : i === null;
+ }
+ function AX(i, s) {
+ var u = i.__data__;
+ return HBt(s) ? u[typeof s == 'string' ? 'string' : 'hash'] : u.map;
+ }
+ function VBt(i) {
+ var s = AX(this, i).delete(i);
+ return ((this.size -= s ? 1 : 0), s);
+ }
+ function UBt(i) {
+ return AX(this, i).get(i);
+ }
+ function GBt(i) {
+ return AX(this, i).has(i);
+ }
+ function KBt(i, s) {
+ var u = AX(this, i),
+ d = u.size;
+ return (u.set(i, s), (this.size += u.size == d ? 0 : 1), this);
+ }
+ function C7(i) {
+ var s = -1,
+ u = i == null ? 0 : i.length;
+ for (this.clear(); ++s < u; ) {
+ var d = i[s];
+ this.set(d[0], d[1]);
+ }
+ }
+ ((C7.prototype.clear = qBt),
+ (C7.prototype.delete = VBt),
+ (C7.prototype.get = UBt),
+ (C7.prototype.has = GBt),
+ (C7.prototype.set = KBt));
+ var WBt = 'Expected a function';
+ function pD(i, s) {
+ if (typeof i != 'function' || (s != null && typeof s != 'function')) throw new TypeError(WBt);
+ var u = function () {
+ var d = arguments,
+ p = s ? s.apply(this, d) : d[0],
+ v = u.cache;
+ if (v.has(p)) return v.get(p);
+ var b = i.apply(this, d);
+ return ((u.cache = v.set(p, b) || v), b);
+ };
+ return ((u.cache = new (pD.Cache || C7)()), u);
+ }
+ pD.Cache = C7;
+ function YBt() {
+ ((this.__data__ = new T7()), (this.size = 0));
+ }
+ function XBt(i) {
+ var s = this.__data__,
+ u = s.delete(i);
+ return ((this.size = s.size), u);
+ }
+ function QBt(i) {
+ return this.__data__.get(i);
+ }
+ function JBt(i) {
+ return this.__data__.has(i);
+ }
+ var ZBt = 200;
+ function eFt(i, s) {
+ var u = this.__data__;
+ if (u instanceof T7) {
+ var d = u.__data__;
+ if (!YF || d.length < ZBt - 1) return (d.push([i, s]), (this.size = ++u.size), this);
+ u = this.__data__ = new C7(d);
+ }
+ return (u.set(i, s), (this.size = u.size), this);
+ }
+ function P3(i) {
+ var s = (this.__data__ = new T7(i));
+ this.size = s.size;
+ }
+ ((P3.prototype.clear = YBt),
+ (P3.prototype.delete = XBt),
+ (P3.prototype.get = QBt),
+ (P3.prototype.has = JBt),
+ (P3.prototype.set = eFt));
+ var tFt = (function () {
+ try {
+ var i = LC(Object, 'defineProperty');
+ return (i({}, '', {}), i);
+ } catch {}
+ })();
+ const LX = tFt;
+ function MX(i, s, u) {
+ s == '__proto__' && LX
+ ? LX(i, s, { configurable: !0, enumerable: !0, value: u, writable: !0 })
+ : (i[s] = u);
+ }
+ function p2e(i, s, u) {
+ ((u !== void 0 && !gD(i[s], u)) || (u === void 0 && !(s in i))) && MX(i, s, u);
+ }
+ function nFt(i) {
+ return function (s, u, d) {
+ for (var p = -1, v = Object(s), b = d(s), y = b.length; y--; ) {
+ var T = b[i ? y : ++p];
+ if (u(v[T], T, v) === !1) break;
+ }
+ return s;
+ };
+ }
+ var rFt = nFt();
+ const b2e = rFt;
+ var qRe = typeof exports == 'object' && exports && !exports.nodeType && exports,
+ HRe = qRe && typeof module == 'object' && module && !module.nodeType && module,
+ iFt = HRe && HRe.exports === qRe,
+ VRe = iFt ? N3.Buffer : void 0,
+ URe = VRe ? VRe.allocUnsafe : void 0;
+ function GRe(i, s) {
+ if (s) return i.slice();
+ var u = i.length,
+ d = URe ? URe(u) : new i.constructor(u);
+ return (i.copy(d), d);
+ }
+ var sFt = N3.Uint8Array;
+ const DX = sFt;
+ function m2e(i) {
+ var s = new i.constructor(i.byteLength);
+ return (new DX(s).set(new DX(i)), s);
+ }
+ function KRe(i, s) {
+ var u = s ? m2e(i.buffer) : i.buffer;
+ return new i.constructor(u, i.byteOffset, i.length);
+ }
+ function WRe(i, s) {
+ var u = -1,
+ d = i.length;
+ for (s || (s = Array(d)); ++u < d; ) s[u] = i[u];
+ return s;
+ }
+ var YRe = Object.create,
+ aFt = (function () {
+ function i() {}
+ return function (s) {
+ if (!sm(s)) return {};
+ if (YRe) return YRe(s);
+ i.prototype = s;
+ var u = new i();
+ return ((i.prototype = void 0), u);
+ };
+ })();
+ const oFt = aFt;
+ function XRe(i, s) {
+ return function (u) {
+ return i(s(u));
+ };
+ }
+ var cFt = XRe(Object.getPrototypeOf, Object);
+ const v2e = cFt;
+ var uFt = Object.prototype;
+ function IX(i) {
+ var s = i && i.constructor,
+ u = (typeof s == 'function' && s.prototype) || uFt;
+ return i === u;
+ }
+ function QRe(i) {
+ return typeof i.constructor == 'function' && !IX(i) ? oFt(v2e(i)) : {};
+ }
+ function q4(i) {
+ return i != null && typeof i == 'object';
+ }
+ var lFt = '[object Arguments]';
+ function JRe(i) {
+ return q4(i) && _C(i) == lFt;
+ }
+ var ZRe = Object.prototype,
+ hFt = ZRe.hasOwnProperty,
+ fFt = ZRe.propertyIsEnumerable,
+ dFt = JRe(
+ (function () {
+ return arguments;
+ })(),
+ )
+ ? JRe
+ : function (i) {
+ return q4(i) && hFt.call(i, 'callee') && !fFt.call(i, 'callee');
+ };
+ const bD = dFt;
+ var gFt = Array.isArray;
+ const L0 = gFt;
+ var pFt = 9007199254740991;
+ function w2e(i) {
+ return typeof i == 'number' && i > -1 && i % 1 == 0 && i <= pFt;
+ }
+ function v9(i) {
+ return i != null && w2e(i.length) && !dD(i);
+ }
+ function eje(i) {
+ return q4(i) && v9(i);
+ }
+ function bFt() {
+ return !1;
+ }
+ var tje = typeof exports == 'object' && exports && !exports.nodeType && exports,
+ nje = tje && typeof module == 'object' && module && !module.nodeType && module,
+ mFt = nje && nje.exports === tje,
+ rje = mFt ? N3.Buffer : void 0,
+ vFt = rje ? rje.isBuffer : void 0,
+ wFt = vFt || bFt;
+ const mD = wFt;
+ var yFt = '[object Object]',
+ xFt = Function.prototype,
+ kFt = Object.prototype,
+ ije = xFt.toString,
+ EFt = kFt.hasOwnProperty,
+ TFt = ije.call(Object);
+ function sje(i) {
+ if (!q4(i) || _C(i) != yFt) return !1;
+ var s = v2e(i);
+ if (s === null) return !0;
+ var u = EFt.call(s, 'constructor') && s.constructor;
+ return typeof u == 'function' && u instanceof u && ije.call(u) == TFt;
+ }
+ var CFt = '[object Arguments]',
+ SFt = '[object Array]',
+ _Ft = '[object Boolean]',
+ AFt = '[object Date]',
+ LFt = '[object Error]',
+ MFt = '[object Function]',
+ DFt = '[object Map]',
+ IFt = '[object Number]',
+ OFt = '[object Object]',
+ NFt = '[object RegExp]',
+ PFt = '[object Set]',
+ BFt = '[object String]',
+ FFt = '[object WeakMap]',
+ RFt = '[object ArrayBuffer]',
+ jFt = '[object DataView]',
+ $Ft = '[object Float32Array]',
+ zFt = '[object Float64Array]',
+ qFt = '[object Int8Array]',
+ HFt = '[object Int16Array]',
+ VFt = '[object Int32Array]',
+ UFt = '[object Uint8Array]',
+ GFt = '[object Uint8ClampedArray]',
+ KFt = '[object Uint16Array]',
+ WFt = '[object Uint32Array]',
+ ah = {};
+ ((ah[$Ft] = ah[zFt] = ah[qFt] = ah[HFt] = ah[VFt] = ah[UFt] = ah[GFt] = ah[KFt] = ah[WFt] = !0),
+ (ah[CFt] =
+ ah[SFt] =
+ ah[RFt] =
+ ah[_Ft] =
+ ah[jFt] =
+ ah[AFt] =
+ ah[LFt] =
+ ah[MFt] =
+ ah[DFt] =
+ ah[IFt] =
+ ah[OFt] =
+ ah[NFt] =
+ ah[PFt] =
+ ah[BFt] =
+ ah[FFt] =
+ !1));
+ function YFt(i) {
+ return q4(i) && w2e(i.length) && !!ah[_C(i)];
+ }
+ function OX(i) {
+ return function (s) {
+ return i(s);
+ };
+ }
+ var aje = typeof exports == 'object' && exports && !exports.nodeType && exports,
+ XF = aje && typeof module == 'object' && module && !module.nodeType && module,
+ XFt = XF && XF.exports === aje,
+ y2e = XFt && RRe.process,
+ QFt = (function () {
+ try {
+ var i = XF && XF.require && XF.require('util').types;
+ return i || (y2e && y2e.binding && y2e.binding('util'));
+ } catch {}
+ })();
+ const vD = QFt;
+ var oje = vD && vD.isTypedArray,
+ JFt = oje ? OX(oje) : YFt;
+ const NX = JFt;
+ function x2e(i, s) {
+ if (!(s === 'constructor' && typeof i[s] == 'function') && s != '__proto__') return i[s];
+ }
+ var ZFt = Object.prototype,
+ eRt = ZFt.hasOwnProperty;
+ function PX(i, s, u) {
+ var d = i[s];
+ (!(eRt.call(i, s) && gD(d, u)) || (u === void 0 && !(s in i))) && MX(i, s, u);
+ }
+ function QF(i, s, u, d) {
+ var p = !u;
+ u || (u = {});
+ for (var v = -1, b = s.length; ++v < b; ) {
+ var y = s[v],
+ T = d ? d(u[y], i[y], y, u, i) : void 0;
+ (T === void 0 && (T = i[y]), p ? MX(u, y, T) : PX(u, y, T));
+ }
+ return u;
+ }
+ function tRt(i, s) {
+ for (var u = -1, d = Array(i); ++u < i; ) d[u] = s(u);
+ return d;
+ }
+ var nRt = 9007199254740991,
+ rRt = /^(?:0|[1-9]\d*)$/;
+ function BX(i, s) {
+ var u = typeof i;
+ return (
+ (s = s ?? nRt),
+ !!s && (u == 'number' || (u != 'symbol' && rRt.test(i))) && i > -1 && i % 1 == 0 && i < s
+ );
+ }
+ var iRt = Object.prototype,
+ sRt = iRt.hasOwnProperty;
+ function cje(i, s) {
+ var u = L0(i),
+ d = !u && bD(i),
+ p = !u && !d && mD(i),
+ v = !u && !d && !p && NX(i),
+ b = u || d || p || v,
+ y = b ? tRt(i.length, String) : [],
+ T = y.length;
+ for (var _ in i)
+ (s || sRt.call(i, _)) &&
+ !(
+ b &&
+ (_ == 'length' ||
+ (p && (_ == 'offset' || _ == 'parent')) ||
+ (v && (_ == 'buffer' || _ == 'byteLength' || _ == 'byteOffset')) ||
+ BX(_, T))
+ ) &&
+ y.push(_);
+ return y;
+ }
+ function aRt(i) {
+ var s = [];
+ if (i != null) for (var u in Object(i)) s.push(u);
+ return s;
+ }
+ var oRt = Object.prototype,
+ cRt = oRt.hasOwnProperty;
+ function uRt(i) {
+ if (!sm(i)) return aRt(i);
+ var s = IX(i),
+ u = [];
+ for (var d in i) (d == 'constructor' && (s || !cRt.call(i, d))) || u.push(d);
+ return u;
+ }
+ function DC(i) {
+ return v9(i) ? cje(i, !0) : uRt(i);
+ }
+ function lRt(i) {
+ return QF(i, DC(i));
+ }
+ function hRt(i, s, u, d, p, v, b) {
+ var y = x2e(i, u),
+ T = x2e(s, u),
+ _ = b.get(T);
+ if (_) {
+ p2e(i, u, _);
+ return;
+ }
+ var A = v ? v(y, T, u + '', i, s, b) : void 0,
+ P = A === void 0;
+ if (P) {
+ var R = L0(T),
+ F = !R && mD(T),
+ j = !R && !F && NX(T);
+ ((A = T),
+ R || F || j
+ ? L0(y)
+ ? (A = y)
+ : eje(y)
+ ? (A = WRe(y))
+ : F
+ ? ((P = !1), (A = GRe(T, !0)))
+ : j
+ ? ((P = !1), (A = KRe(T, !0)))
+ : (A = [])
+ : sje(T) || bD(T)
+ ? ((A = y), bD(y) ? (A = lRt(y)) : (!sm(y) || dD(y)) && (A = QRe(T)))
+ : (P = !1));
+ }
+ (P && (b.set(T, A), p(A, T, d, v, b), b.delete(T)), p2e(i, u, A));
+ }
+ function uje(i, s, u, d, p) {
+ i !== s &&
+ b2e(
+ s,
+ function (v, b) {
+ if ((p || (p = new P3()), sm(v))) hRt(i, s, b, u, uje, d, p);
+ else {
+ var y = d ? d(x2e(i, b), v, b + '', i, s, p) : void 0;
+ (y === void 0 && (y = v), p2e(i, b, y));
+ }
+ },
+ DC,
+ );
+ }
+ function IC(i) {
+ return i;
+ }
+ function fRt(i, s, u) {
+ switch (u.length) {
+ case 0:
+ return i.call(s);
+ case 1:
+ return i.call(s, u[0]);
+ case 2:
+ return i.call(s, u[0], u[1]);
+ case 3:
+ return i.call(s, u[0], u[1], u[2]);
+ }
+ return i.apply(s, u);
+ }
+ var lje = Math.max;
+ function hje(i, s, u) {
+ return (
+ (s = lje(s === void 0 ? i.length - 1 : s, 0)),
+ function () {
+ for (var d = arguments, p = -1, v = lje(d.length - s, 0), b = Array(v); ++p < v; )
+ b[p] = d[s + p];
+ p = -1;
+ for (var y = Array(s + 1); ++p < s; ) y[p] = d[p];
+ return ((y[s] = u(b)), fRt(i, this, y));
+ }
+ );
+ }
+ function wD(i) {
+ return function () {
+ return i;
+ };
+ }
+ var dRt = LX
+ ? function (i, s) {
+ return LX(i, 'toString', { configurable: !0, enumerable: !1, value: wD(s), writable: !0 });
+ }
+ : IC;
+ const gRt = dRt;
+ var pRt = 800,
+ bRt = 16,
+ mRt = Date.now;
+ function vRt(i) {
+ var s = 0,
+ u = 0;
+ return function () {
+ var d = mRt(),
+ p = bRt - (d - u);
+ if (((u = d), p > 0)) {
+ if (++s >= pRt) return arguments[0];
+ } else s = 0;
+ return i.apply(void 0, arguments);
+ };
+ }
+ var wRt = vRt(gRt);
+ const fje = wRt;
+ function FX(i, s) {
+ return fje(hje(i, s, IC), i + '');
+ }
+ function JF(i, s, u) {
+ if (!sm(u)) return !1;
+ var d = typeof s;
+ return (d == 'number' ? v9(u) && BX(s, u.length) : d == 'string' && s in u) ? gD(u[s], i) : !1;
+ }
+ function yRt(i) {
+ return FX(function (s, u) {
+ var d = -1,
+ p = u.length,
+ v = p > 1 ? u[p - 1] : void 0,
+ b = p > 2 ? u[2] : void 0;
+ for (
+ v = i.length > 3 && typeof v == 'function' ? (p--, v) : void 0,
+ b && JF(u[0], u[1], b) && ((v = p < 3 ? void 0 : v), (p = 1)),
+ s = Object(s);
+ ++d < p;
+ ) {
+ var y = u[d];
+ y && i(s, y, d, v);
+ }
+ return s;
+ });
+ }
+ var xRt = yRt(function (i, s, u) {
+ uje(i, s, u);
+ });
+ const RX = xRt,
+ dje = '',
+ kRt = {
+ curveBasis: BF,
+ curveBasisClosed: INt,
+ curveBasisOpen: ONt,
+ curveBumpX: MNt,
+ curveBumpY: DNt,
+ curveBundle: NNt,
+ curveCardinalClosed: BNt,
+ curveCardinalOpen: FNt,
+ curveCardinal: PNt,
+ curveCatmullRomClosed: jNt,
+ curveCatmullRomOpen: $Nt,
+ curveCatmullRom: RNt,
+ curveLinear: xp,
+ curveLinearClosed: zNt,
+ curveMonotoneX: qNt,
+ curveMonotoneY: HNt,
+ curveNatural: VNt,
+ curveStep: UNt,
+ curveStepAfter: KNt,
+ curveStepBefore: GNt,
+ },
+ ERt = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,
+ TRt = function (i, s) {
+ const u = gje(i, /(?:init\b)|(?:initialize\b)/);
+ let d = {};
+ if (Array.isArray(u)) {
+ const b = u.map((y) => y.args);
+ (CX(b), (d = td(d, [...b])));
+ } else d = u.args;
+ if (!d) return;
+ let p = SX(i, s);
+ const v = 'config';
+ return (
+ d[v] !== void 0 && (p === 'flowchart-v2' && (p = 'flowchart'), (d[p] = d[v]), delete d[v]),
+ d
+ );
+ },
+ gje = function (i, s = null) {
+ try {
+ const u = new RegExp(
+ `[%]{2}(?![{]${ERt.source})(?=[}][%]{2}).*
+`,
+ 'ig',
+ );
+ ((i = i.trim().replace(u, '').replace(/'/gm, '"')),
+ Xe.debug(
+ `Detecting diagram directive${s !== null ? ' type:' + s : ''} based on the text:${i}`,
+ ));
+ let d;
+ const p = [];
+ for (; (d = GF.exec(i)) !== null; )
+ if (
+ (d.index === GF.lastIndex && GF.lastIndex++,
+ (d && !s) || (s && d[1] && d[1].match(s)) || (s && d[2] && d[2].match(s)))
+ ) {
+ const v = d[1] ? d[1] : d[2],
+ b = d[3] ? d[3].trim() : d[4] ? JSON.parse(d[4].trim()) : null;
+ p.push({ type: v, args: b });
+ }
+ return p.length === 0 ? { type: i, args: null } : p.length === 1 ? p[0] : p;
+ } catch (u) {
+ return (
+ Xe.error(
+ `ERROR: ${u.message} - Unable to parse directive type: '${s}' based on the text: '${i}'`,
+ ),
+ { type: void 0, args: null }
+ );
+ }
+ },
+ CRt = function (i) {
+ return i.replace(GF, '');
+ },
+ SRt = function (i, s) {
+ for (const [u, d] of s.entries()) if (d.match(i)) return u;
+ return -1;
+ };
+ function Ov(i, s) {
+ if (!i) return s;
+ const u = `curve${i.charAt(0).toUpperCase() + i.slice(1)}`;
+ return kRt[u] ?? s;
+ }
+ function _Rt(i, s) {
+ const u = i.trim();
+ if (u) return s.securityLevel !== 'loose' ? g9.sanitizeUrl(u) : u;
+ }
+ const ARt = (i, ...s) => {
+ const u = i.split('.'),
+ d = u.length - 1,
+ p = u[d];
+ let v = window;
+ for (let b = 0; b < d; b++)
+ if (((v = v[u[b]]), !v)) {
+ Xe.error(`Function name: ${i} not found in window`);
+ return;
+ }
+ v[p](...s);
+ };
+ function pje(i, s) {
+ return !i || !s ? 0 : Math.sqrt(Math.pow(s.x - i.x, 2) + Math.pow(s.y - i.y, 2));
+ }
+ function LRt(i) {
+ let s,
+ u = 0;
+ i.forEach((p) => {
+ ((u += pje(p, s)), (s = p));
+ });
+ const d = u / 2;
+ return k2e(i, d);
+ }
+ function MRt(i) {
+ return i.length === 1 ? i[0] : LRt(i);
+ }
+ const bje = (i, s = 2) => {
+ const u = Math.pow(10, s);
+ return Math.round(i * u) / u;
+ },
+ k2e = (i, s) => {
+ let u,
+ d = s;
+ for (const p of i) {
+ if (u) {
+ const v = pje(p, u);
+ if (v < d) d -= v;
+ else {
+ const b = d / v;
+ if (b <= 0) return u;
+ if (b >= 1) return { x: p.x, y: p.y };
+ if (b > 0 && b < 1)
+ return { x: bje((1 - b) * u.x + b * p.x, 5), y: bje((1 - b) * u.y + b * p.y, 5) };
+ }
+ }
+ u = p;
+ }
+ throw new Error('Could not find a suitable point for the given distance');
+ },
+ DRt = (i, s, u) => {
+ (Xe.info(`our points ${JSON.stringify(s)}`), s[0] !== u && (s = s.reverse()));
+ const p = k2e(s, 25),
+ v = i ? 10 : 5,
+ b = Math.atan2(s[0].y - p.y, s[0].x - p.x),
+ y = { x: 0, y: 0 };
+ return (
+ (y.x = Math.sin(b) * v + (s[0].x + p.x) / 2),
+ (y.y = -Math.cos(b) * v + (s[0].y + p.y) / 2),
+ y
+ );
+ };
+ function IRt(i, s, u) {
+ const d = structuredClone(u);
+ (Xe.info('our points', d), s !== 'start_left' && s !== 'start_right' && d.reverse());
+ const p = 25 + i,
+ v = k2e(d, p),
+ b = 10 + i * 0.5,
+ y = Math.atan2(d[0].y - v.y, d[0].x - v.x),
+ T = { x: 0, y: 0 };
+ return (
+ s === 'start_left'
+ ? ((T.x = Math.sin(y + Math.PI) * b + (d[0].x + v.x) / 2),
+ (T.y = -Math.cos(y + Math.PI) * b + (d[0].y + v.y) / 2))
+ : s === 'end_right'
+ ? ((T.x = Math.sin(y - Math.PI) * b + (d[0].x + v.x) / 2 - 5),
+ (T.y = -Math.cos(y - Math.PI) * b + (d[0].y + v.y) / 2 - 5))
+ : s === 'end_left'
+ ? ((T.x = Math.sin(y) * b + (d[0].x + v.x) / 2 - 5),
+ (T.y = -Math.cos(y) * b + (d[0].y + v.y) / 2 - 5))
+ : ((T.x = Math.sin(y) * b + (d[0].x + v.x) / 2),
+ (T.y = -Math.cos(y) * b + (d[0].y + v.y) / 2)),
+ T
+ );
+ }
+ function am(i) {
+ let s = '',
+ u = '';
+ for (const d of i)
+ d !== void 0 &&
+ (d.startsWith('color:') || d.startsWith('text-align:')
+ ? (u = u + d + ';')
+ : (s = s + d + ';'));
+ return { style: s, labelStyle: u };
+ }
+ let mje = 0;
+ const vje = () => (mje++, 'id-' + Math.random().toString(36).substr(2, 12) + '-' + mje);
+ function ORt(i) {
+ let s = '';
+ const u = '0123456789abcdef',
+ d = u.length;
+ for (let p = 0; p < i; p++) s += u.charAt(Math.floor(Math.random() * d));
+ return s;
+ }
+ const wje = (i) => ORt(i.length),
+ NRt = 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: '',
+ };
+ },
+ PRt = function (i, s) {
+ const u = s.text.replace(ci.lineBreakRegex, ' '),
+ [, d] = OC(s.fontSize),
+ p = i.append('text');
+ (p.attr('x', s.x),
+ p.attr('y', s.y),
+ p.style('text-anchor', s.anchor),
+ p.style('font-family', s.fontFamily),
+ p.style('font-size', d),
+ p.style('font-weight', s.fontWeight),
+ p.attr('fill', s.fill),
+ s.class !== void 0 && p.attr('class', s.class));
+ const v = p.append('tspan');
+ return (v.attr('x', s.x + s.textMargin * 2), v.attr('fill', s.fill), v.text(u), p);
+ },
+ yje = pD(
+ (i, s, u) => {
+ if (
+ !i ||
+ ((u = Object.assign(
+ { fontSize: 12, fontWeight: 400, fontFamily: 'Arial', joinWith: '
' },
+ u,
+ )),
+ ci.lineBreakRegex.test(i))
+ )
+ return i;
+ const d = i.split(' '),
+ p = [];
+ let v = '';
+ return (
+ d.forEach((b, y) => {
+ const T = H4(`${b} `, u),
+ _ = H4(v, u);
+ if (T > s) {
+ const { hyphenatedStrings: R, remainingWord: F } = BRt(b, s, '-', u);
+ (p.push(v, ...R), (v = F));
+ } else _ + T >= s ? (p.push(v), (v = b)) : (v = [v, b].filter(Boolean).join(' '));
+ y + 1 === d.length && p.push(v);
+ }),
+ p.filter((b) => b !== '').join(u.joinWith)
+ );
+ },
+ (i, s, u) => `${i}${s}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`,
+ ),
+ BRt = pD(
+ (i, s, u = '-', d) => {
+ d = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: 'Arial', margin: 0 }, d);
+ const p = [...i],
+ v = [];
+ let b = '';
+ return (
+ p.forEach((y, T) => {
+ const _ = `${b}${y}`;
+ if (H4(_, d) >= s) {
+ const P = T + 1,
+ R = p.length === P,
+ F = `${_}${u}`;
+ (v.push(R ? _ : F), (b = ''));
+ } else b = _;
+ }),
+ { hyphenatedStrings: v, remainingWord: b }
+ );
+ },
+ (i, s, u = '-', d) => `${i}${s}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`,
+ );
+ function E2e(i, s) {
+ return T2e(i, s).height;
+ }
+ function H4(i, s) {
+ return T2e(i, s).width;
+ }
+ const T2e = pD(
+ (i, s) => {
+ const { fontSize: u = 12, fontFamily: d = 'Arial', fontWeight: p = 400 } = s;
+ if (!i) return { width: 0, height: 0 };
+ const [, v] = OC(u),
+ b = ['sans-serif', d],
+ y = i.split(ci.lineBreakRegex),
+ T = [],
+ _ = Ir('body');
+ if (!_.remove) return { width: 0, height: 0, lineHeight: 0 };
+ const A = _.append('svg');
+ for (const R of b) {
+ let F = 0;
+ const j = { width: 0, height: 0, lineHeight: 0 };
+ for (const W of y) {
+ const ee = NRt();
+ ee.text = W || dje;
+ const ie = PRt(A, ee)
+ .style('font-size', v)
+ .style('font-weight', p)
+ .style('font-family', R),
+ oe = (ie._groups || ie)[0][0].getBBox();
+ if (oe.width === 0 && oe.height === 0) throw new Error('svg element not in render tree');
+ ((j.width = Math.round(Math.max(j.width, oe.width))),
+ (F = Math.round(oe.height)),
+ (j.height += F),
+ (j.lineHeight = Math.round(Math.max(j.lineHeight, F))));
+ }
+ T.push(j);
+ }
+ A.remove();
+ const P =
+ isNaN(T[1].height) ||
+ isNaN(T[1].width) ||
+ isNaN(T[1].lineHeight) ||
+ (T[0].height > T[1].height && T[0].width > T[1].width && T[0].lineHeight > T[1].lineHeight)
+ ? 0
+ : 1;
+ return T[P];
+ },
+ (i, s) => `${i}${s.fontSize}${s.fontWeight}${s.fontFamily}`,
+ );
+ class FRt {
+ constructor(s = !1, u) {
+ ((this.count = 0),
+ (this.count = u ? u.length : 0),
+ (this.next = s ? () => this.count++ : () => Date.now()));
+ }
+ }
+ let jX;
+ const RRt = function (i) {
+ return (
+ (jX = jX || document.createElement('div')),
+ (i = escape(i).replace(/%26/g, '&').replace(/%23/g, '#').replace(/%3B/g, ';')),
+ (jX.innerHTML = i),
+ unescape(jX.textContent)
+ );
+ };
+ function xje(i) {
+ return 'str' in i;
+ }
+ const jRt = (i, s, u, d) => {
+ var v;
+ if (!d) return;
+ const p = (v = i.node()) == null ? void 0 : v.getBBox();
+ p &&
+ i
+ .append('text')
+ .text(d)
+ .attr('x', p.x + p.width / 2)
+ .attr('y', -u)
+ .attr('class', s);
+ },
+ OC = (i) => {
+ if (typeof i == 'number') return [i, i + 'px'];
+ const s = parseInt(i ?? '', 10);
+ return Number.isNaN(s) ? [void 0, void 0] : i === String(s) ? [s, i + 'px'] : [s, i];
+ };
+ function ZF(i, s) {
+ return RX({}, i, s);
+ }
+ const So = {
+ assignWithDepth: td,
+ wrapLabel: yje,
+ calculateTextHeight: E2e,
+ calculateTextWidth: H4,
+ calculateTextDimensions: T2e,
+ cleanAndMerge: ZF,
+ detectInit: TRt,
+ detectDirective: gje,
+ isSubstringInArray: SRt,
+ interpolateToCurve: Ov,
+ calcLabelPosition: MRt,
+ calcCardinalityPosition: DRt,
+ calcTerminalLabelPosition: IRt,
+ formatUrl: _Rt,
+ getStylesFromArray: am,
+ generateId: vje,
+ random: wje,
+ runFunc: ARt,
+ entityDecode: RRt,
+ insertTitle: jRt,
+ parseFontSize: OC,
+ InitIDGenerator: FRt,
+ },
+ $Rt = function (i) {
+ let s = i;
+ return (
+ (s = s.replace(/style.*:\S*#.*;/g, function (u) {
+ return u.substring(0, u.length - 1);
+ })),
+ (s = s.replace(/classDef.*:\S*#.*;/g, function (u) {
+ return u.substring(0, u.length - 1);
+ })),
+ (s = s.replace(/#\w+;/g, function (u) {
+ const d = u.substring(1, u.length - 1);
+ return /^\+?\d+$/.test(d) ? 'fl°°' + d + '¶ß' : 'fl°' + d + '¶ß';
+ })),
+ s
+ );
+ },
+ eR = function (i) {
+ return i.replace(/fl°°/g, '').replace(/fl°/g, '&').replace(/¶ß/g, ';');
+ };
+ var kje = 'comm',
+ Eje = 'rule',
+ Tje = 'decl',
+ zRt = '@import',
+ qRt = '@keyframes',
+ HRt = '@layer',
+ Cje = Math.abs,
+ C2e = String.fromCharCode;
+ function Sje(i) {
+ return i.trim();
+ }
+ function $X(i, s, u) {
+ return i.replace(s, u);
+ }
+ function VRt(i, s, u) {
+ return i.indexOf(s, u);
+ }
+ function tR(i, s) {
+ return i.charCodeAt(s) | 0;
+ }
+ function nR(i, s, u) {
+ return i.slice(s, u);
+ }
+ function S7(i) {
+ return i.length;
+ }
+ function URt(i) {
+ return i.length;
+ }
+ function zX(i, s) {
+ return (s.push(i), i);
+ }
+ var qX = 1,
+ yD = 1,
+ _je = 0,
+ Nv = 0,
+ M0 = 0,
+ xD = '';
+ function S2e(i, s, u, d, p, v, b, y) {
+ return {
+ value: i,
+ root: s,
+ parent: u,
+ type: d,
+ props: p,
+ children: v,
+ line: qX,
+ column: yD,
+ length: b,
+ return: '',
+ siblings: y,
+ };
+ }
+ function GRt() {
+ return M0;
+ }
+ function KRt() {
+ return ((M0 = Nv > 0 ? tR(xD, --Nv) : 0), yD--, M0 === 10 && ((yD = 1), qX--), M0);
+ }
+ function B3() {
+ return ((M0 = Nv < _je ? tR(xD, Nv++) : 0), yD++, M0 === 10 && ((yD = 1), qX++), M0);
+ }
+ function NC() {
+ return tR(xD, Nv);
+ }
+ function HX() {
+ return Nv;
+ }
+ function VX(i, s) {
+ return nR(xD, i, s);
+ }
+ function _2e(i) {
+ switch (i) {
+ case 0:
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ return 5;
+ case 33:
+ case 43:
+ case 44:
+ case 47:
+ case 62:
+ case 64:
+ case 126:
+ case 59:
+ case 123:
+ case 125:
+ return 4;
+ case 58:
+ return 3;
+ case 34:
+ case 39:
+ case 40:
+ case 91:
+ return 2;
+ case 41:
+ case 93:
+ return 1;
+ }
+ return 0;
+ }
+ function WRt(i) {
+ return ((qX = yD = 1), (_je = S7((xD = i))), (Nv = 0), []);
+ }
+ function YRt(i) {
+ return ((xD = ''), i);
+ }
+ function A2e(i) {
+ return Sje(VX(Nv - 1, L2e(i === 91 ? i + 2 : i === 40 ? i + 1 : i)));
+ }
+ function XRt(i) {
+ for (; (M0 = NC()) && M0 < 33; ) B3();
+ return _2e(i) > 2 || _2e(M0) > 3 ? '' : ' ';
+ }
+ function QRt(i, s) {
+ for (; --s && B3() && !(M0 < 48 || M0 > 102 || (M0 > 57 && M0 < 65) || (M0 > 70 && M0 < 97)); );
+ return VX(i, HX() + (s < 6 && NC() == 32 && B3() == 32));
+ }
+ function L2e(i) {
+ for (; B3(); )
+ switch (M0) {
+ case i:
+ return Nv;
+ case 34:
+ case 39:
+ i !== 34 && i !== 39 && L2e(M0);
+ break;
+ case 40:
+ i === 41 && L2e(i);
+ break;
+ case 92:
+ B3();
+ break;
+ }
+ return Nv;
+ }
+ function JRt(i, s) {
+ for (; B3() && i + M0 !== 47 + 10; ) if (i + M0 === 42 + 42 && NC() === 47) break;
+ return '/*' + VX(s, Nv - 1) + '*' + C2e(i === 47 ? i : B3());
+ }
+ function ZRt(i) {
+ for (; !_2e(NC()); ) B3();
+ return VX(i, Nv);
+ }
+ function ejt(i) {
+ return YRt(UX('', null, null, null, [''], (i = WRt(i)), 0, [0], i));
+ }
+ function UX(i, s, u, d, p, v, b, y, T) {
+ for (
+ var _ = 0,
+ A = 0,
+ P = b,
+ R = 0,
+ F = 0,
+ j = 0,
+ W = 1,
+ ee = 1,
+ ie = 1,
+ oe = 0,
+ be = '',
+ ge = p,
+ ae = v,
+ ne = d,
+ se = be;
+ ee;
+ )
+ switch (((j = oe), (oe = B3()))) {
+ case 40:
+ if (j != 108 && tR(se, P - 1) == 58) {
+ VRt((se += $X(A2e(oe), '&', '&\f')), '&\f', Cje(_ ? y[_ - 1] : 0)) != -1 && (ie = -1);
+ break;
+ }
+ case 34:
+ case 39:
+ case 91:
+ se += A2e(oe);
+ break;
+ case 9:
+ case 10:
+ case 13:
+ case 32:
+ se += XRt(j);
+ break;
+ case 92:
+ se += QRt(HX() - 1, 7);
+ continue;
+ case 47:
+ switch (NC()) {
+ case 42:
+ case 47:
+ zX(tjt(JRt(B3(), HX()), s, u, T), T);
+ break;
+ default:
+ se += '/';
+ }
+ break;
+ case 123 * W:
+ y[_++] = S7(se) * ie;
+ case 125 * W:
+ case 59:
+ case 0:
+ switch (oe) {
+ case 0:
+ case 125:
+ ee = 0;
+ case 59 + A:
+ (ie == -1 && (se = $X(se, /\f/g, '')),
+ F > 0 &&
+ S7(se) - P &&
+ zX(
+ F > 32
+ ? Lje(se + ';', d, u, P - 1, T)
+ : Lje($X(se, ' ', '') + ';', d, u, P - 2, T),
+ T,
+ ));
+ break;
+ case 59:
+ se += ';';
+ default:
+ if (
+ (zX((ne = Aje(se, s, u, _, A, p, y, be, (ge = []), (ae = []), P, v)), v),
+ oe === 123)
+ )
+ if (A === 0) UX(se, s, ne, ne, ge, v, P, y, ae);
+ else
+ switch (R === 99 && tR(se, 3) === 110 ? 100 : R) {
+ case 100:
+ case 108:
+ case 109:
+ case 115:
+ UX(
+ i,
+ ne,
+ ne,
+ d && zX(Aje(i, ne, ne, 0, 0, p, y, be, p, (ge = []), P, ae), ae),
+ p,
+ ae,
+ P,
+ y,
+ d ? ge : ae,
+ );
+ break;
+ default:
+ UX(se, ne, ne, ne, [''], ae, 0, y, ae);
+ }
+ }
+ ((_ = A = F = 0), (W = ie = 1), (be = se = ''), (P = b));
+ break;
+ case 58:
+ ((P = 1 + S7(se)), (F = j));
+ default:
+ if (W < 1) {
+ if (oe == 123) --W;
+ else if (oe == 125 && W++ == 0 && KRt() == 125) continue;
+ }
+ switch (((se += C2e(oe)), oe * W)) {
+ case 38:
+ ie = A > 0 ? 1 : ((se += '\f'), -1);
+ break;
+ case 44:
+ ((y[_++] = (S7(se) - 1) * ie), (ie = 1));
+ break;
+ case 64:
+ (NC() === 45 && (se += A2e(B3())),
+ (R = NC()),
+ (A = P = S7((be = se += ZRt(HX())))),
+ oe++);
+ break;
+ case 45:
+ j === 45 && S7(se) == 2 && (W = 0);
+ }
+ }
+ return v;
+ }
+ function Aje(i, s, u, d, p, v, b, y, T, _, A, P) {
+ for (var R = p - 1, F = p === 0 ? v : [''], j = URt(F), W = 0, ee = 0, ie = 0; W < d; ++W)
+ for (var oe = 0, be = nR(i, R + 1, (R = Cje((ee = b[W])))), ge = i; oe < j; ++oe)
+ (ge = Sje(ee > 0 ? F[oe] + ' ' + be : $X(be, /&\f/g, F[oe]))) && (T[ie++] = ge);
+ return S2e(i, s, u, p === 0 ? Eje : y, T, _, A, P);
+ }
+ function tjt(i, s, u, d) {
+ return S2e(i, s, u, kje, C2e(GRt()), nR(i, 2, -2), 0, d);
+ }
+ function Lje(i, s, u, d, p) {
+ return S2e(i, s, u, Tje, nR(i, 0, d), nR(i, d + 1, -1), d, p);
+ }
+ function M2e(i, s) {
+ for (var u = '', d = 0; d < i.length; d++) u += s(i[d], d, i, s) || '';
+ return u;
+ }
+ function njt(i, s, u, d) {
+ switch (i.type) {
+ case HRt:
+ if (i.children.length) break;
+ case zRt:
+ case Tje:
+ return (i.return = i.return || i.value);
+ case kje:
+ return '';
+ case qRt:
+ return (i.return = i.value + '{' + M2e(i.children, d) + '}');
+ case Eje:
+ if (!S7((i.value = i.props.join(',')))) return '';
+ }
+ return S7((u = M2e(i.children, d))) ? (i.return = i.value + '{' + u + '}') : '';
+ }
+ const Mje = '10.9.5',
+ kD = Object.freeze(sh);
+ let F2 = td({}, kD),
+ Dje,
+ ED = [],
+ rR = td({}, kD);
+ const GX = (i, s) => {
+ let u = td({}, i),
+ d = {};
+ for (const p of s) (Nje(p), (d = td(d, p)));
+ if (((u = td(u, d)), d.theme && d.theme in k7)) {
+ const p = td({}, Dje),
+ v = td(p.themeVariables || {}, d.themeVariables);
+ u.theme && u.theme in k7 && (u.themeVariables = k7[u.theme].getThemeVariables(v));
+ }
+ return ((rR = u), Bje(rR), rR);
+ },
+ rjt = (i) => (
+ (F2 = td({}, kD)),
+ (F2 = td(F2, i)),
+ i.theme &&
+ k7[i.theme] &&
+ (F2.themeVariables = k7[i.theme].getThemeVariables(i.themeVariables)),
+ GX(F2, ED),
+ F2
+ ),
+ ijt = (i) => {
+ Dje = td({}, i);
+ },
+ sjt = (i) => ((F2 = td(F2, i)), GX(F2, ED), F2),
+ Ije = () => td({}, F2),
+ Oje = (i) => (Bje(i), td(rR, i), xh()),
+ xh = () => td({}, rR),
+ Nje = (i) => {
+ i &&
+ (['secure', ...(F2.secure ?? [])].forEach((s) => {
+ Object.hasOwn(i, s) &&
+ (Xe.debug(`Denied attempt to modify a secure key ${s}`, i[s]), delete i[s]);
+ }),
+ Object.keys(i).forEach((s) => {
+ s.startsWith('__') && delete i[s];
+ }),
+ Object.keys(i).forEach((s) => {
+ (typeof i[s] == 'string' &&
+ (i[s].includes('<') || i[s].includes('>') || i[s].includes('url(data:')) &&
+ delete i[s],
+ typeof i[s] == 'object' && Nje(i[s]));
+ }));
+ },
+ ajt = (i) => {
+ (CX(i),
+ i.fontFamily &&
+ (!i.themeVariables || !i.themeVariables.fontFamily) &&
+ (i.themeVariables = { fontFamily: i.fontFamily }),
+ ED.push(i),
+ GX(F2, ED));
+ },
+ KX = (i = F2) => {
+ ((ED = []), GX(i, ED));
+ },
+ ojt = {
+ LAZY_LOAD_DEPRECATED:
+ 'The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.',
+ },
+ Pje = {},
+ cjt = (i) => {
+ Pje[i] || (Xe.warn(ojt[i]), (Pje[i] = !0));
+ },
+ Bje = (i) => {
+ i && (i.lazyLoadedDiagrams || i.loadExternalDiagramsAtStartup) && cjt('LAZY_LOAD_DEPRECATED');
+ },
+ Fje = 'c4',
+ ujt = {
+ id: Fje,
+ detector: (i) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => CUt);
+ return { id: Fje, diagram: i };
+ },
+ },
+ Rje = 'flowchart',
+ ljt = {
+ id: Rje,
+ detector: (i, s) => {
+ var u, d;
+ return ((u = s == null ? void 0 : s.flowchart) == null ? void 0 : u.defaultRenderer) ===
+ 'dagre-wrapper' ||
+ ((d = s == null ? void 0 : s.flowchart) == null ? void 0 : d.defaultRenderer) === 'elk'
+ ? !1
+ : /^\s*graph/.test(i);
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Oen);
+ return { id: Rje, diagram: i };
+ },
+ },
+ jje = 'flowchart-v2',
+ hjt = {
+ id: jje,
+ detector: (i, s) => {
+ var u, d, p;
+ return ((u = s == null ? void 0 : s.flowchart) == null ? void 0 : u.defaultRenderer) ===
+ 'dagre-d3' ||
+ ((d = s == null ? void 0 : s.flowchart) == null ? void 0 : d.defaultRenderer) === 'elk'
+ ? !1
+ : /^\s*graph/.test(i) &&
+ ((p = s == null ? void 0 : s.flowchart) == null ? void 0 : p.defaultRenderer) ===
+ 'dagre-wrapper'
+ ? !0
+ : /^\s*flowchart/.test(i);
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Nen);
+ return { id: jje, diagram: i };
+ },
+ },
+ $je = 'er',
+ fjt = {
+ id: $je,
+ detector: (i) => /^\s*erDiagram/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => atn);
+ return { id: $je, diagram: i };
+ },
+ },
+ zje = 'gitGraph',
+ djt = {
+ id: zje,
+ detector: (i) => /^\s*gitGraph/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Itn);
+ return { id: zje, diagram: i };
+ },
+ },
+ qje = 'gantt',
+ gjt = {
+ id: qje,
+ detector: (i) => /^\s*gantt/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => xnn);
+ return { id: qje, diagram: i };
+ },
+ },
+ Hje = 'info',
+ pjt = {
+ id: Hje,
+ detector: (i) => /^\s*info/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Enn);
+ return { id: Hje, diagram: i };
+ },
+ },
+ Vje = 'pie',
+ bjt = {
+ id: Vje,
+ detector: (i) => /^\s*pie/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Lnn);
+ return { id: Vje, diagram: i };
+ },
+ },
+ Uje = 'quadrantChart',
+ mjt = {
+ id: Uje,
+ detector: (i) => /^\s*quadrantChart/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Unn);
+ return { id: Uje, diagram: i };
+ },
+ },
+ Gje = 'xychart',
+ vjt = {
+ id: Gje,
+ detector: (i) => /^\s*xychart-beta/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => prn);
+ return { id: Gje, diagram: i };
+ },
+ },
+ Kje = 'requirement',
+ wjt = {
+ id: Kje,
+ detector: (i) => /^\s*requirement(Diagram)?/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Crn);
+ return { id: Kje, diagram: i };
+ },
+ },
+ Wje = 'sequence',
+ yjt = {
+ id: Wje,
+ detector: (i) => /^\s*sequenceDiagram/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Ain);
+ return { id: Wje, diagram: i };
+ },
+ },
+ Yje = 'class',
+ xjt = {
+ id: Yje,
+ detector: (i, s) => {
+ var u;
+ return ((u = s == null ? void 0 : s.class) == null ? void 0 : u.defaultRenderer) ===
+ 'dagre-wrapper'
+ ? !1
+ : /^\s*classDiagram/.test(i);
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Jin);
+ return { id: Yje, diagram: i };
+ },
+ },
+ Xje = 'classDiagram',
+ kjt = {
+ id: Xje,
+ detector: (i, s) => {
+ var u;
+ return /^\s*classDiagram/.test(i) &&
+ ((u = s == null ? void 0 : s.class) == null ? void 0 : u.defaultRenderer) ===
+ 'dagre-wrapper'
+ ? !0
+ : /^\s*classDiagram-v2/.test(i);
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => isn);
+ return { id: Xje, diagram: i };
+ },
+ },
+ Qje = 'state',
+ Ejt = {
+ id: Qje,
+ detector: (i, s) => {
+ var u;
+ return ((u = s == null ? void 0 : s.state) == null ? void 0 : u.defaultRenderer) ===
+ 'dagre-wrapper'
+ ? !1
+ : /^\s*stateDiagram/.test(i);
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Usn);
+ return { id: Qje, diagram: i };
+ },
+ },
+ Jje = 'stateDiagram',
+ Tjt = {
+ id: Jje,
+ detector: (i, s) => {
+ var u;
+ return !!(
+ /^\s*stateDiagram-v2/.test(i) ||
+ (/^\s*stateDiagram/.test(i) &&
+ ((u = s == null ? void 0 : s.state) == null ? void 0 : u.defaultRenderer) ===
+ 'dagre-wrapper')
+ );
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => lan);
+ return { id: Jje, diagram: i };
+ },
+ },
+ Zje = 'journey',
+ Cjt = {
+ id: Zje,
+ detector: (i) => /^\s*journey/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Lan);
+ return { id: Zje, diagram: i };
+ },
+ },
+ Sjt = function (i, s) {
+ for (let u of s) i.attr(u[0], u[1]);
+ },
+ _jt = function (i, s, u) {
+ let d = new Map();
+ return (
+ u
+ ? (d.set('width', '100%'), d.set('style', `max-width: ${s}px;`))
+ : (d.set('height', i), d.set('width', s)),
+ d
+ );
+ },
+ Og = function (i, s, u, d) {
+ const p = _jt(s, u, d);
+ Sjt(i, p);
+ },
+ w9 = function (i, s, u, d) {
+ const p = s.node().getBBox(),
+ v = p.width,
+ b = p.height;
+ Xe.info(`SVG bounds: ${v}x${b}`, p);
+ let y = 0,
+ T = 0;
+ (Xe.info(`Graph bounds: ${y}x${T}`, i),
+ (y = v + u * 2),
+ (T = b + u * 2),
+ Xe.info(`Calculated bounds: ${y}x${T}`),
+ Og(s, T, y, d));
+ const _ = `${p.x - u} ${p.y - u} ${p.width + 2 * u} ${p.height + 2 * u}`;
+ s.attr('viewBox', _);
+ },
+ WX = {},
+ Ajt = (i, s, u) => {
+ let d = '';
+ return (
+ i in WX && WX[i] ? (d = WX[i](u)) : Xe.warn(`No theme found for ${i}`),
+ ` & {
font-family: ${u.fontFamily};
font-size: ${u.fontSize};
fill: ${u.textColor}
@@ -59,86 +12262,3116 @@
${d}
${s}
-`},Ljt=(i,s)=>{s!==void 0&&(WX[i]=s)},Mjt=Ajt;let D2e="",I2e="",O2e="";const N2e=i=>yh(i,xh()),Ng=()=>{D2e="",O2e="",I2e=""},Pg=i=>{D2e=N2e(i).replace(/^\s+/g,"")},Sp=()=>D2e,_p=i=>{O2e=N2e(i).replace(/\n\s+/g,`
-`)},Ap=()=>O2e,om=i=>{I2e=N2e(i)},Lp=()=>I2e,e$e=Object.freeze(Object.defineProperty({__proto__:null,clear:Ng,getAccDescription:Ap,getAccTitle:Sp,getDiagramTitle:Lp,setAccDescription:_p,setAccTitle:Pg,setDiagramTitle:om},Symbol.toStringTag,{value:"Module"})),Djt=Xe,Ijt=fpe,qt=xh,Ojt=Oje,t$e=kD,Njt=i=>yh(i,qt()),n$e=w9,Pjt=()=>e$e,YX={},XX=(i,s,u)=>{var d;if(YX[i])throw new Error(`Diagram ${i} already registered.`);YX[i]=s,u&&FRe(i,u),Ljt(i,s.styles),(d=s.injectUtils)==null||d.call(s,Djt,Ijt,qt,Njt,n$e,Pjt(),()=>{})},P2e=i=>{if(i in YX)return YX[i];throw new Bjt(i)};class Bjt extends Error{constructor(s){super(`Diagram ${s} not found.`)}}const iR=i=>{var p;const{securityLevel:s}=qt();let u=Ir("body");if(s==="sandbox"){const b=((p=Ir(`#i${i}`).node())==null?void 0:p.contentDocument)??document;u=Ir(b.body)}return u.select(`#${i}`)},r$e={draw:(i,s,u)=>{Xe.debug(`rendering svg for syntax error
-`);const d=iR(s),p=d.append("g");d.attr("viewBox","0 0 2412 512"),Og(d,100,512,!0),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${u}`)}},Fjt=r$e,Rjt={db:{},renderer:r$e,parser:{parser:{yy:{}},parse:()=>{}}},i$e="flowchart-elk",jjt={id:i$e,detector:(i,s)=>{var u;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((u=s==null?void 0:s.flowchart)==null?void 0:u.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Uan);return{id:i$e,diagram:i}}},s$e="timeline",$jt={id:s$e,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>lon);return{id:s$e,diagram:i}}},a$e="mindmap",zjt={id:a$e,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ron);return{id:a$e,diagram:i}}},o$e="sankey",qjt={id:o$e,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>gcn);return{id:o$e,diagram:i}}},c$e="block",Hjt={id:c$e,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Bcn);return{id:c$e,diagram:i}}};let u$e=!1;const B2e=()=>{u$e||(u$e=!0,XX("error",Rjt,i=>i.toLowerCase().trim()==="error"),XX("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),BRe(ujt,kjt,xjt,fjt,gjt,pjt,bjt,wjt,yjt,jjt,hjt,ljt,zjt,$jt,djt,Tjt,Ejt,Cjt,mjt,qjt,vjt,Hjt))};class l$e{constructor(s,u={}){this.text=s,this.metadata=u,this.type="graph",this.text=$Rt(s),this.text+=`
-`;const d=xh();try{this.type=SX(s,d)}catch(v){this.type="error",this.detectError=v}const p=P2e(this.type);Xe.debug("Type "+this.type),this.db=p.db,this.renderer=p.renderer,this.parser=p.parser,this.parser.parser.yy=this.db,this.init=p.init,this.parse()}parse(){var u,d,p,v,b;if(this.detectError)throw this.detectError;(d=(u=this.db).clear)==null||d.call(u);const s=xh();(p=this.init)==null||p.call(this,s),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(s,u){await this.renderer.draw(this.text,s,u,this)}getParser(){return this.parser}getType(){return this.type}}const Vjt=async(i,s={})=>{const u=SX(i,xh());try{P2e(u)}catch{const p=GPt(u);if(!p)throw new PRe(`Diagram ${u} not found.`);const{id:v,diagram:b}=await p();XX(v,b)}return new l$e(i,s)};let h$e=[];const Ujt=()=>{h$e.forEach(i=>{i()}),h$e=[]};var Gjt=XRe(Object.keys,Object);const Kjt=Gjt;var Wjt=Object.prototype,Yjt=Wjt.hasOwnProperty;function f$e(i){if(!IX(i))return Kjt(i);var s=[];for(var u in Object(i))Yjt.call(i,u)&&u!="constructor"&&s.push(u);return s}var Xjt=LC(N3,"DataView");const F2e=Xjt;var Qjt=LC(N3,"Promise");const R2e=Qjt;var Jjt=LC(N3,"Set");const TD=Jjt;var Zjt=LC(N3,"WeakMap");const j2e=Zjt;var d$e="[object Map]",e$t="[object Object]",g$e="[object Promise]",p$e="[object Set]",b$e="[object WeakMap]",m$e="[object DataView]",t$t=AC(F2e),n$t=AC(YF),r$t=AC(R2e),i$t=AC(TD),s$t=AC(j2e),PC=_C;(F2e&&PC(new F2e(new ArrayBuffer(1)))!=m$e||YF&&PC(new YF)!=d$e||R2e&&PC(R2e.resolve())!=g$e||TD&&PC(new TD)!=p$e||j2e&&PC(new j2e)!=b$e)&&(PC=function(i){var s=_C(i),u=s==e$t?i.constructor:void 0,d=u?AC(u):"";if(d)switch(d){case t$t:return m$e;case n$t:return d$e;case r$t:return g$e;case i$t:return p$e;case s$t:return b$e}return s});const CD=PC;var a$t="[object Map]",o$t="[object Set]",c$t=Object.prototype,u$t=c$t.hasOwnProperty;function sR(i){if(i==null)return!0;if(v9(i)&&(L0(i)||typeof i=="string"||typeof i.splice=="function"||mD(i)||NX(i)||bD(i)))return!i.length;var s=CD(i);if(s==a$t||s==o$t)return!i.size;if(IX(i))return!f$e(i).length;for(var u in i)if(u$t.call(i,u))return!1;return!0}const l$t="graphics-document document";function h$t(i,s){i.attr("role",l$t),s!==""&&i.attr("aria-roledescription",s)}function f$t(i,s,u,d){if(i.insert!==void 0){if(u){const p=`chart-desc-${d}`;i.attr("aria-describedby",p),i.insert("desc",":first-child").attr("id",p).text(u)}if(s){const p=`chart-title-${d}`;i.attr("aria-labelledby",p),i.insert("title",":first-child").attr("id",p).text(s)}}}const d$t=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function v$e(i){return typeof i>"u"||i===null}function g$t(i){return typeof i=="object"&&i!==null}function p$t(i){return Array.isArray(i)?i:v$e(i)?[]:[i]}function b$t(i,s){var u,d,p,v;if(s)for(v=Object.keys(s),u=0,d=v.length;u {
+ s !== void 0 && (WX[i] = s);
+ },
+ Mjt = Ajt;
+ let D2e = '',
+ I2e = '',
+ O2e = '';
+ const N2e = (i) => yh(i, xh()),
+ Ng = () => {
+ ((D2e = ''), (O2e = ''), (I2e = ''));
+ },
+ Pg = (i) => {
+ D2e = N2e(i).replace(/^\s+/g, '');
+ },
+ Sp = () => D2e,
+ _p = (i) => {
+ O2e = N2e(i).replace(
+ /\n\s+/g,
+ `
+`,
+ );
+ },
+ Ap = () => O2e,
+ om = (i) => {
+ I2e = N2e(i);
+ },
+ Lp = () => I2e,
+ e$e = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ clear: Ng,
+ getAccDescription: Ap,
+ getAccTitle: Sp,
+ getDiagramTitle: Lp,
+ setAccDescription: _p,
+ setAccTitle: Pg,
+ setDiagramTitle: om,
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ ),
+ Djt = Xe,
+ Ijt = fpe,
+ qt = xh,
+ Ojt = Oje,
+ t$e = kD,
+ Njt = (i) => yh(i, qt()),
+ n$e = w9,
+ Pjt = () => e$e,
+ YX = {},
+ XX = (i, s, u) => {
+ var d;
+ if (YX[i]) throw new Error(`Diagram ${i} already registered.`);
+ ((YX[i] = s),
+ u && FRe(i, u),
+ Ljt(i, s.styles),
+ (d = s.injectUtils) == null || d.call(s, Djt, Ijt, qt, Njt, n$e, Pjt(), () => {}));
+ },
+ P2e = (i) => {
+ if (i in YX) return YX[i];
+ throw new Bjt(i);
+ };
+ class Bjt extends Error {
+ constructor(s) {
+ super(`Diagram ${s} not found.`);
+ }
+ }
+ const iR = (i) => {
+ var p;
+ const { securityLevel: s } = qt();
+ let u = Ir('body');
+ if (s === 'sandbox') {
+ const b = ((p = Ir(`#i${i}`).node()) == null ? void 0 : p.contentDocument) ?? document;
+ u = Ir(b.body);
+ }
+ return u.select(`#${i}`);
+ },
+ r$e = {
+ draw: (i, s, u) => {
+ Xe.debug(`rendering svg for syntax error
+`);
+ const d = iR(s),
+ p = d.append('g');
+ (d.attr('viewBox', '0 0 2412 512'),
+ Og(d, 100, 512, !0),
+ p
+ .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',
+ ),
+ p
+ .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',
+ ),
+ p
+ .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',
+ ),
+ p
+ .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',
+ ),
+ p
+ .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',
+ ),
+ p
+ .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',
+ ),
+ p
+ .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'),
+ p
+ .append('text')
+ .attr('class', 'error-text')
+ .attr('x', 1250)
+ .attr('y', 400)
+ .attr('font-size', '100px')
+ .style('text-anchor', 'middle')
+ .text(`mermaid version ${u}`));
+ },
+ },
+ Fjt = r$e,
+ Rjt = { db: {}, renderer: r$e, parser: { parser: { yy: {} }, parse: () => {} } },
+ i$e = 'flowchart-elk',
+ jjt = {
+ id: i$e,
+ detector: (i, s) => {
+ var u;
+ return !!(
+ /^\s*flowchart-elk/.test(i) ||
+ (/^\s*flowchart|graph/.test(i) &&
+ ((u = s == null ? void 0 : s.flowchart) == null ? void 0 : u.defaultRenderer) === 'elk')
+ );
+ },
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Uan);
+ return { id: i$e, diagram: i };
+ },
+ },
+ s$e = 'timeline',
+ $jt = {
+ id: s$e,
+ detector: (i) => /^\s*timeline/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => lon);
+ return { id: s$e, diagram: i };
+ },
+ },
+ a$e = 'mindmap',
+ zjt = {
+ id: a$e,
+ detector: (i) => /^\s*mindmap/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Ron);
+ return { id: a$e, diagram: i };
+ },
+ },
+ o$e = 'sankey',
+ qjt = {
+ id: o$e,
+ detector: (i) => /^\s*sankey-beta/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => gcn);
+ return { id: o$e, diagram: i };
+ },
+ },
+ c$e = 'block',
+ Hjt = {
+ id: c$e,
+ detector: (i) => /^\s*block-beta/.test(i),
+ loader: async () => {
+ const { diagram: i } = await Promise.resolve().then(() => Bcn);
+ return { id: c$e, diagram: i };
+ },
+ };
+ let u$e = !1;
+ const B2e = () => {
+ u$e ||
+ ((u$e = !0),
+ XX('error', Rjt, (i) => i.toLowerCase().trim() === 'error'),
+ XX(
+ '---',
+ {
+ db: { clear: () => {} },
+ styles: {},
+ renderer: { draw: () => {} },
+ parser: {
+ parser: { yy: {} },
+ parse: () => {
+ throw new Error(
+ "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks",
+ );
+ },
+ },
+ init: () => null,
+ },
+ (i) => i.toLowerCase().trimStart().startsWith('---'),
+ ),
+ BRe(
+ ujt,
+ kjt,
+ xjt,
+ fjt,
+ gjt,
+ pjt,
+ bjt,
+ wjt,
+ yjt,
+ jjt,
+ hjt,
+ ljt,
+ zjt,
+ $jt,
+ djt,
+ Tjt,
+ Ejt,
+ Cjt,
+ mjt,
+ qjt,
+ vjt,
+ Hjt,
+ ));
+ };
+ class l$e {
+ constructor(s, u = {}) {
+ ((this.text = s),
+ (this.metadata = u),
+ (this.type = 'graph'),
+ (this.text = $Rt(s)),
+ (this.text += `
+`));
+ const d = xh();
+ try {
+ this.type = SX(s, d);
+ } catch (v) {
+ ((this.type = 'error'), (this.detectError = v));
+ }
+ const p = P2e(this.type);
+ (Xe.debug('Type ' + this.type),
+ (this.db = p.db),
+ (this.renderer = p.renderer),
+ (this.parser = p.parser),
+ (this.parser.parser.yy = this.db),
+ (this.init = p.init),
+ this.parse());
+ }
+ parse() {
+ var u, d, p, v, b;
+ if (this.detectError) throw this.detectError;
+ (d = (u = this.db).clear) == null || d.call(u);
+ const s = xh();
+ ((p = this.init) == null || p.call(this, s),
+ this.metadata.title &&
+ ((b = (v = this.db).setDiagramTitle) == null || b.call(v, this.metadata.title)),
+ this.parser.parse(this.text));
+ }
+ async render(s, u) {
+ await this.renderer.draw(this.text, s, u, this);
+ }
+ getParser() {
+ return this.parser;
+ }
+ getType() {
+ return this.type;
+ }
+ }
+ const Vjt = async (i, s = {}) => {
+ const u = SX(i, xh());
+ try {
+ P2e(u);
+ } catch {
+ const p = GPt(u);
+ if (!p) throw new PRe(`Diagram ${u} not found.`);
+ const { id: v, diagram: b } = await p();
+ XX(v, b);
+ }
+ return new l$e(i, s);
+ };
+ let h$e = [];
+ const Ujt = () => {
+ (h$e.forEach((i) => {
+ i();
+ }),
+ (h$e = []));
+ };
+ var Gjt = XRe(Object.keys, Object);
+ const Kjt = Gjt;
+ var Wjt = Object.prototype,
+ Yjt = Wjt.hasOwnProperty;
+ function f$e(i) {
+ if (!IX(i)) return Kjt(i);
+ var s = [];
+ for (var u in Object(i)) Yjt.call(i, u) && u != 'constructor' && s.push(u);
+ return s;
+ }
+ var Xjt = LC(N3, 'DataView');
+ const F2e = Xjt;
+ var Qjt = LC(N3, 'Promise');
+ const R2e = Qjt;
+ var Jjt = LC(N3, 'Set');
+ const TD = Jjt;
+ var Zjt = LC(N3, 'WeakMap');
+ const j2e = Zjt;
+ var d$e = '[object Map]',
+ e$t = '[object Object]',
+ g$e = '[object Promise]',
+ p$e = '[object Set]',
+ b$e = '[object WeakMap]',
+ m$e = '[object DataView]',
+ t$t = AC(F2e),
+ n$t = AC(YF),
+ r$t = AC(R2e),
+ i$t = AC(TD),
+ s$t = AC(j2e),
+ PC = _C;
+ ((F2e && PC(new F2e(new ArrayBuffer(1))) != m$e) ||
+ (YF && PC(new YF()) != d$e) ||
+ (R2e && PC(R2e.resolve()) != g$e) ||
+ (TD && PC(new TD()) != p$e) ||
+ (j2e && PC(new j2e()) != b$e)) &&
+ (PC = function (i) {
+ var s = _C(i),
+ u = s == e$t ? i.constructor : void 0,
+ d = u ? AC(u) : '';
+ if (d)
+ switch (d) {
+ case t$t:
+ return m$e;
+ case n$t:
+ return d$e;
+ case r$t:
+ return g$e;
+ case i$t:
+ return p$e;
+ case s$t:
+ return b$e;
+ }
+ return s;
+ });
+ const CD = PC;
+ var a$t = '[object Map]',
+ o$t = '[object Set]',
+ c$t = Object.prototype,
+ u$t = c$t.hasOwnProperty;
+ function sR(i) {
+ if (i == null) return !0;
+ if (
+ v9(i) &&
+ (L0(i) || typeof i == 'string' || typeof i.splice == 'function' || mD(i) || NX(i) || bD(i))
+ )
+ return !i.length;
+ var s = CD(i);
+ if (s == a$t || s == o$t) return !i.size;
+ if (IX(i)) return !f$e(i).length;
+ for (var u in i) if (u$t.call(i, u)) return !1;
+ return !0;
+ }
+ const l$t = 'graphics-document document';
+ function h$t(i, s) {
+ (i.attr('role', l$t), s !== '' && i.attr('aria-roledescription', s));
+ }
+ function f$t(i, s, u, d) {
+ if (i.insert !== void 0) {
+ if (u) {
+ const p = `chart-desc-${d}`;
+ (i.attr('aria-describedby', p), i.insert('desc', ':first-child').attr('id', p).text(u));
+ }
+ if (s) {
+ const p = `chart-title-${d}`;
+ (i.attr('aria-labelledby', p), i.insert('title', ':first-child').attr('id', p).text(s));
+ }
+ }
+ }
+ const d$t = (i) => i.replace(/^\s*%%(?!{)[^\n]+\n?/gm, '').trimStart();
+ /*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ function v$e(i) {
+ return typeof i > 'u' || i === null;
+ }
+ function g$t(i) {
+ return typeof i == 'object' && i !== null;
+ }
+ function p$t(i) {
+ return Array.isArray(i) ? i : v$e(i) ? [] : [i];
+ }
+ function b$t(i, s) {
+ var u, d, p, v;
+ if (s) for (v = Object.keys(s), u = 0, d = v.length; u < d; u += 1) ((p = v[u]), (i[p] = s[p]));
+ return i;
+ }
+ function m$t(i, s) {
+ var u = '',
+ d;
+ for (d = 0; d < s; d += 1) u += i;
+ return u;
+ }
+ function v$t(i) {
+ return i === 0 && Number.NEGATIVE_INFINITY === 1 / i;
+ }
+ var w$t = v$e,
+ y$t = g$t,
+ x$t = p$t,
+ k$t = m$t,
+ E$t = v$t,
+ T$t = b$t,
+ Mp = {
+ isNothing: w$t,
+ isObject: y$t,
+ toArray: x$t,
+ repeat: k$t,
+ isNegativeZero: E$t,
+ extend: T$t,
+ };
+ function w$e(i, s) {
+ var u = '',
+ d = i.reason || '(unknown reason)';
+ return i.mark
+ ? (i.mark.name && (u += 'in "' + i.mark.name + '" '),
+ (u += '(' + (i.mark.line + 1) + ':' + (i.mark.column + 1) + ')'),
+ !s &&
+ i.mark.snippet &&
+ (u +=
+ `
-`+i.mark.snippet),d+" "+u):d}function aR(i,s){Error.call(this),this.name="YAMLException",this.reason=i,this.mark=s,this.message=w$e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}aR.prototype=Object.create(Error.prototype),aR.prototype.constructor=aR,aR.prototype.toString=function(s){return this.name+": "+w$e(this,s)};var _7=aR;function $2e(i,s,u,d,p){var v="",b="",y=Math.floor(p/2)-1;return d-s>y&&(v=" ... ",s=d-y+v.length),u-d>y&&(b=" ...",u=d+y-b.length),{str:v+i.slice(s,u).replace(/\t/g,"→")+b,pos:d-s+v.length}}function z2e(i,s){return Mp.repeat(" ",s-i.length)+i}function C$t(i,s){if(s=Object.create(s||null),!i.buffer)return null;s.maxLength||(s.maxLength=79),typeof s.indent!="number"&&(s.indent=1),typeof s.linesBefore!="number"&&(s.linesBefore=3),typeof s.linesAfter!="number"&&(s.linesAfter=2);for(var u=/\r?\n|\r|\0/g,d=[0],p=[],v,b=-1;v=u.exec(i.buffer);)p.push(v.index),d.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=d.length-2);b<0&&(b=d.length-1);var y="",T,_,A=Math.min(i.line+s.linesAfter,p.length).toString().length,P=s.maxLength-(s.indent+A+3);for(T=1;T<=s.linesBefore&&!(b-T<0);T++)_=$2e(i.buffer,d[b-T],p[b-T],i.position-(d[b]-d[b-T]),P),y=Mp.repeat(" ",s.indent)+z2e((i.line-T+1).toString(),A)+" | "+_.str+`
-`+y;for(_=$2e(i.buffer,d[b],p[b],i.position,P),y+=Mp.repeat(" ",s.indent)+z2e((i.line+1).toString(),A)+" | "+_.str+`
-`,y+=Mp.repeat("-",s.indent+A+3+_.pos)+`^
-`,T=1;T<=s.linesAfter&&!(b+T>=p.length);T++)_=$2e(i.buffer,d[b+T],p[b+T],i.position-(d[b]-d[b+T]),P),y+=Mp.repeat(" ",s.indent)+z2e((i.line+T+1).toString(),A)+" | "+_.str+`
-`;return y.replace(/\n$/,"")}var S$t=C$t,_$t=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],A$t=["scalar","sequence","mapping"];function L$t(i){var s={};return i!==null&&Object.keys(i).forEach(function(u){i[u].forEach(function(d){s[String(d)]=u})}),s}function M$t(i,s){if(s=s||{},Object.keys(s).forEach(function(u){if(_$t.indexOf(u)===-1)throw new _7('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}),this.options=s,this.tag=i,this.kind=s.kind||null,this.resolve=s.resolve||function(){return!0},this.construct=s.construct||function(u){return u},this.instanceOf=s.instanceOf||null,this.predicate=s.predicate||null,this.represent=s.represent||null,this.representName=s.representName||null,this.defaultStyle=s.defaultStyle||null,this.multi=s.multi||!1,this.styleAliases=L$t(s.styleAliases||null),A$t.indexOf(this.kind)===-1)throw new _7('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var Bg=M$t;function y$e(i,s){var u=[];return i[s].forEach(function(d){var p=u.length;u.forEach(function(v,b){v.tag===d.tag&&v.kind===d.kind&&v.multi===d.multi&&(p=b)}),u[p]=d}),u}function D$t(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},s,u;function d(p){p.multi?(i.multi[p.kind].push(p),i.multi.fallback.push(p)):i[p.kind][p.tag]=i.fallback[p.tag]=p}for(s=0,u=arguments.length;s=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),J$t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Z$t(i){return!(i===null||!J$t.test(i)||i[i.length-1]==="_")}function ezt(i){var s,u;return s=i.replace(/_/g,"").toLowerCase(),u=s[0]==="-"?-1:1,"+-".indexOf(s[0])>=0&&(s=s.slice(1)),s===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:s===".nan"?NaN:u*parseFloat(s,10)}var tzt=/^[-+]?[0-9]+e/;function nzt(i,s){var u;if(isNaN(i))switch(s){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(s){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(s){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Mp.isNegativeZero(i))return"-0.0";return u=i.toString(10),tzt.test(u)?u.replace("e",".e"):u}function rzt(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Mp.isNegativeZero(i))}var izt=new Bg("tag:yaml.org,2002:float",{kind:"scalar",resolve:Z$t,construct:ezt,predicate:rzt,represent:nzt,defaultStyle:"lowercase"}),x$e=B$t.extend({implicit:[$$t,V$t,Q$t,izt]}),szt=x$e,k$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),E$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function azt(i){return i===null?!1:k$e.exec(i)!==null||E$e.exec(i)!==null}function ozt(i){var s,u,d,p,v,b,y,T=0,_=null,A,P,R;if(s=k$e.exec(i),s===null&&(s=E$e.exec(i)),s===null)throw new Error("Date resolve error");if(u=+s[1],d=+s[2]-1,p=+s[3],!s[4])return new Date(Date.UTC(u,d,p));if(v=+s[4],b=+s[5],y=+s[6],s[7]){for(T=s[7].slice(0,3);T.length<3;)T+="0";T=+T}return s[9]&&(A=+s[10],P=+(s[11]||0),_=(A*60+P)*6e4,s[9]==="-"&&(_=-_)),R=new Date(Date.UTC(u,d,p,v,b,y,T)),_&&R.setTime(R.getTime()-_),R}function czt(i){return i.toISOString()}var uzt=new Bg("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:azt,construct:ozt,instanceOf:Date,represent:czt});function lzt(i){return i==="<<"||i===null}var hzt=new Bg("tag:yaml.org,2002:merge",{kind:"scalar",resolve:lzt}),H2e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
-\r`;function fzt(i){if(i===null)return!1;var s,u,d=0,p=i.length,v=H2e;for(u=0;u64)){if(s<0)return!1;d+=6}return d%8===0}function dzt(i){var s,u,d=i.replace(/[\r\n=]/g,""),p=d.length,v=H2e,b=0,y=[];for(s=0;s
>16&255),y.push(b>>8&255),y.push(b&255)),b=b<<6|v.indexOf(d.charAt(s));return u=p%4*6,u===0?(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)):u===18?(y.push(b>>10&255),y.push(b>>2&255)):u===12&&y.push(b>>4&255),new Uint8Array(y)}function gzt(i){var s="",u=0,d,p,v=i.length,b=H2e;for(d=0;d>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]),u=(u<<8)+i[d];return p=v%3,p===0?(s+=b[u>>18&63],s+=b[u>>12&63],s+=b[u>>6&63],s+=b[u&63]):p===2?(s+=b[u>>10&63],s+=b[u>>4&63],s+=b[u<<2&63],s+=b[64]):p===1&&(s+=b[u>>2&63],s+=b[u<<4&63],s+=b[64],s+=b[64]),s}function pzt(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var bzt=new Bg("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fzt,construct:dzt,predicate:pzt,represent:gzt}),mzt=Object.prototype.hasOwnProperty,vzt=Object.prototype.toString;function wzt(i){if(i===null)return!0;var s=[],u,d,p,v,b,y=i;for(u=0,d=y.length;u>10)+55296,(i-65536&1023)+56320)}for(var D$e=new Array(256),I$e=new Array(256),_D=0;_D<256;_D++)D$e[_D]=M$e(_D)?1:0,I$e[_D]=M$e(_D);function jzt(i,s){this.input=i,this.filename=s.filename||null,this.schema=s.schema||Mzt,this.onWarning=s.onWarning||null,this.legacy=s.legacy||!1,this.json=s.json||!1,this.listener=s.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function O$e(i,s){var u={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return u.snippet=S$t(u),new _7(s,u)}function ca(i,s){throw O$e(i,s)}function ZX(i,s){i.onWarning&&i.onWarning.call(null,O$e(i,s))}var N$e={YAML:function(s,u,d){var p,v,b;s.version!==null&&ca(s,"duplication of %YAML directive"),d.length!==1&&ca(s,"YAML directive accepts exactly one argument"),p=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),p===null&&ca(s,"ill-formed argument of the YAML directive"),v=parseInt(p[1],10),b=parseInt(p[2],10),v!==1&&ca(s,"unacceptable YAML version of the document"),s.version=d[0],s.checkLineBreaks=b<2,b!==1&&b!==2&&ZX(s,"unsupported YAML version of the document")},TAG:function(s,u,d){var p,v;d.length!==2&&ca(s,"TAG directive accepts exactly two arguments"),p=d[0],v=d[1],_$e.test(p)||ca(s,"ill-formed tag handle (first argument) of the TAG directive"),y9.call(s.tagMap,p)&&ca(s,'there is a previously declared suffix for "'+p+'" tag handle'),A$e.test(v)||ca(s,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{ca(s,"tag prefix is malformed: "+v)}s.tagMap[p]=v}};function x9(i,s,u,d){var p,v,b,y;if(s1&&(i.result+=Mp.repeat(`
-`,s-1))}function $zt(i,s,u){var d,p,v,b,y,T,_,A,P=i.kind,R=i.result,F;if(F=i.input.charCodeAt(i.position),R2(F)||SD(F)||F===35||F===38||F===42||F===33||F===124||F===62||F===39||F===34||F===37||F===64||F===96||(F===63||F===45)&&(p=i.input.charCodeAt(i.position+1),R2(p)||u&&SD(p)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,y=!1;F!==0;){if(F===58){if(p=i.input.charCodeAt(i.position+1),R2(p)||u&&SD(p))break}else if(F===35){if(d=i.input.charCodeAt(i.position-1),R2(d))break}else{if(i.position===i.lineStart&&eQ(i)||u&&SD(F))break;if(V4(F))if(T=i.line,_=i.lineStart,A=i.lineIndent,D0(i,!1,-1),i.lineIndent>=s){y=!0,F=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=T,i.lineStart=_,i.lineIndent=A;break}}y&&(x9(i,v,b,!1),G2e(i,i.line-T),v=b=i.position,y=!1),BC(F)||(b=i.position+1),F=i.input.charCodeAt(++i.position)}return x9(i,v,b,!1),i.result?!0:(i.kind=P,i.result=R,!1)}function zzt(i,s){var u,d,p;if(u=i.input.charCodeAt(i.position),u!==39)return!1;for(i.kind="scalar",i.result="",i.position++,d=p=i.position;(u=i.input.charCodeAt(i.position))!==0;)if(u===39)if(x9(i,d,i.position,!0),u=i.input.charCodeAt(++i.position),u===39)d=i.position,i.position++,p=i.position;else return!0;else V4(u)?(x9(i,d,p,!0),G2e(i,D0(i,!1,s)),d=p=i.position):i.position===i.lineStart&&eQ(i)?ca(i,"unexpected end of the document within a single quoted scalar"):(i.position++,p=i.position);ca(i,"unexpected end of the stream within a single quoted scalar")}function qzt(i,s){var u,d,p,v,b,y;if(y=i.input.charCodeAt(i.position),y!==34)return!1;for(i.kind="scalar",i.result="",i.position++,u=d=i.position;(y=i.input.charCodeAt(i.position))!==0;){if(y===34)return x9(i,u,i.position,!0),i.position++,!0;if(y===92){if(x9(i,u,i.position,!0),y=i.input.charCodeAt(++i.position),V4(y))D0(i,!1,s);else if(y<256&&D$e[y])i.result+=I$e[y],i.position++;else if((b=Bzt(y))>0){for(p=b,v=0;p>0;p--)y=i.input.charCodeAt(++i.position),(b=Pzt(y))>=0?v=(v<<4)+b:ca(i,"expected hexadecimal character");i.result+=Rzt(v),i.position++}else ca(i,"unknown escape sequence");u=d=i.position}else V4(y)?(x9(i,u,d,!0),G2e(i,D0(i,!1,s)),u=d=i.position):i.position===i.lineStart&&eQ(i)?ca(i,"unexpected end of the document within a double quoted scalar"):(i.position++,d=i.position)}ca(i,"unexpected end of the stream within a double quoted scalar")}function Hzt(i,s){var u=!0,d,p,v,b=i.tag,y,T=i.anchor,_,A,P,R,F,j=Object.create(null),W,ee,ie,oe;if(oe=i.input.charCodeAt(i.position),oe===91)A=93,F=!1,y=[];else if(oe===123)A=125,F=!0,y={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=y),oe=i.input.charCodeAt(++i.position);oe!==0;){if(D0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===A)return i.position++,i.tag=b,i.anchor=T,i.kind=F?"mapping":"sequence",i.result=y,!0;u?oe===44&&ca(i,"expected the node content, but found ','"):ca(i,"missed comma between flow collection entries"),ee=W=ie=null,P=R=!1,oe===63&&(_=i.input.charCodeAt(i.position+1),R2(_)&&(P=R=!0,i.position++,D0(i,!0,s))),d=i.line,p=i.lineStart,v=i.position,LD(i,s,QX,!1,!0),ee=i.tag,W=i.result,D0(i,!0,s),oe=i.input.charCodeAt(i.position),(R||i.line===d)&&oe===58&&(P=!0,oe=i.input.charCodeAt(++i.position),D0(i,!0,s),LD(i,s,QX,!1,!0),ie=i.result),F?AD(i,y,j,ee,W,ie,d,p,v):P?y.push(AD(i,null,j,ee,W,ie,d,p,v)):y.push(W),D0(i,!0,s),oe=i.input.charCodeAt(i.position),oe===44?(u=!0,oe=i.input.charCodeAt(++i.position)):u=!1}ca(i,"unexpected end of the stream within a flow collection")}function Vzt(i,s){var u,d,p=V2e,v=!1,b=!1,y=s,T=0,_=!1,A,P;if(P=i.input.charCodeAt(i.position),P===124)d=!1;else if(P===62)d=!0;else return!1;for(i.kind="scalar",i.result="";P!==0;)if(P=i.input.charCodeAt(++i.position),P===43||P===45)V2e===p?p=P===43?S$e:Dzt:ca(i,"repeat of a chomping mode identifier");else if((A=Fzt(P))>=0)A===0?ca(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?ca(i,"repeat of an indentation width identifier"):(y=s+A-1,b=!0);else break;if(BC(P)){do P=i.input.charCodeAt(++i.position);while(BC(P));if(P===35)do P=i.input.charCodeAt(++i.position);while(!V4(P)&&P!==0)}for(;P!==0;){for(U2e(i),i.lineIndent=0,P=i.input.charCodeAt(i.position);(!b||i.lineIndenty&&(y=i.lineIndent),V4(P)){T++;continue}if(i.lineIndents)&&T!==0)ca(i,"bad indentation of a sequence entry");else if(i.lineIndents)&&(ee&&(b=i.line,y=i.lineStart,T=i.position),LD(i,s,JX,!0,p)&&(ee?j=i.result:W=i.result),ee||(AD(i,P,R,F,j,W,b,y,T),F=j=W=null),D0(i,!0,-1),oe=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>s)&&oe!==0)ca(i,"bad indentation of a mapping entry");else if(i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndents?T=1:i.lineIndent===s?T=0:i.lineIndent tag; it should be "scalar", not "'+i.kind+'"'),P=0,R=i.implicitTypes.length;P"),i.result!==null&&j.kind!==i.kind&&ca(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+j.kind+'", not "'+i.kind+'"'),j.resolve(i.result,i.tag)?(i.result=j.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):ca(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||A}function Yzt(i){var s=i.position,u,d,p,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(D0(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),u=i.position;b!==0&&!R2(b);)b=i.input.charCodeAt(++i.position);for(d=i.input.slice(u,i.position),p=[],d.length<1&&ca(i,"directive name must not be less than one character in length");b!==0;){for(;BC(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!V4(b));break}if(V4(b))break;for(u=i.position;b!==0&&!R2(b);)b=i.input.charCodeAt(++i.position);p.push(i.input.slice(u,i.position))}b!==0&&U2e(i),y9.call(N$e,d)?N$e[d](i,d,p):ZX(i,'unknown document directive "'+d+'"')}if(D0(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,D0(i,!0,-1)):v&&ca(i,"directives end mark is expected"),LD(i,i.lineIndent-1,JX,!1,!0),D0(i,!0,-1),i.checkLineBreaks&&Ozt.test(i.input.slice(s,i.position))&&ZX(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&eQ(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,D0(i,!0,-1));return}if(i.position"u"&&(u=s,s=null);var d=F$e(i,u);if(typeof s!="function")return d;for(var p=0,v=d.length;pi.replace(/\r\n?/g,`
-`).replace(/<(\w+)([^>]*)>/g,(s,u,d)=>"<"+u+d.replace(/="([^"]*)"/g,"='$1'")+">"),sqt=i=>{const{text:s,metadata:u}=rqt(i),{displayMode:d,title:p,config:v={}}=u;return d&&(v.gantt||(v.gantt={}),v.gantt.displayMode=d),{title:p,config:v,text:s}},aqt=i=>{const s=So.detectInit(i)??{},u=So.detectDirective(i,"wrap");return Array.isArray(u)?s.wrap=u.some(({type:d})=>{}):(u==null?void 0:u.type)==="wrap"&&(s.wrap=!0),{text:CRt(i),directive:s}};function R$e(i){const s=iqt(i),u=sqt(s),d=aqt(u.text),p=ZF(u.config,d.directive);return i=d$t(d.text),{code:i,title:u.title,config:p}}const oqt=5e4,cqt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",uqt="sandbox",lqt="loose",hqt="http://www.w3.org/2000/svg",fqt="http://www.w3.org/1999/xlink",dqt="http://www.w3.org/1999/xhtml",gqt="100%",pqt="100%",bqt="border:0;margin:0;",mqt="margin:0",vqt="allow-top-navigation-by-user-activation allow-popups",wqt='The "iframe" tag is not supported by your browser.',yqt=["foreignobject"],xqt=["dominant-baseline"];function j$e(i){const s=R$e(i);return KX(),ajt(s.config??{}),s}async function kqt(i,s){B2e(),i=j$e(i).code;try{await K2e(i)}catch(u){if(s!=null&&s.suppressErrors)return!1;throw u}return!0}const $$e=(i,s,u=[])=>`
-.${i} ${s} { ${u.join(" !important; ")} !important; }`,Eqt=(i,s={})=>{var d;let u="";if(i.themeCSS!==void 0&&(u+=`
-${i.themeCSS}`),i.fontFamily!==void 0&&(u+=`
-:root { --mermaid-font-family: ${i.fontFamily}}`),i.altFontFamily!==void 0&&(u+=`
-:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!sR(s)){const y=i.htmlLabels||((d=i.flowchart)==null?void 0:d.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const T in s){const _=s[T];sR(_.styles)||y.forEach(A=>{u+=$$e(_.id,A,_.styles)}),sR(_.textStyles)||(u+=$$e(_.id,"tspan",_.textStyles))}}return u},Tqt=(i,s,u,d)=>{const p=Eqt(i,u),v=Mjt(s,p,i.themeVariables);return M2e(ejt(`${d}{${v}}`),njt)},Cqt=(i="",s,u)=>{let d=i;return!u&&!s&&(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=eR(d),d=d.replace(/
/g,"
"),d},Sqt=(i="",s)=>{var p,v;const u=(v=(p=s==null?void 0:s.viewBox)==null?void 0:p.baseVal)!=null&&v.height?s.viewBox.baseVal.height+"px":pqt,d=btoa(''+i+"");return``;
+ },
+ z$e = (i, s, u, d, p) => {
+ const v = i.append('div');
+ (v.attr('id', u), d && v.attr('style', d));
+ const b = v.append('svg').attr('id', s).attr('width', '100%').attr('xmlns', hqt);
+ return (p && b.attr('xmlns:xlink', p), b.append('g'), i);
+ };
+ function q$e(i, s) {
+ return i
+ .append('iframe')
+ .attr('id', s)
+ .attr('style', 'width: 100%; height: 100%;')
+ .attr('sandbox', '');
+ }
+ const _qt = (i, s, u, d) => {
+ var p, v, b;
+ ((p = i.getElementById(s)) == null || p.remove(),
+ (v = i.getElementById(u)) == null || v.remove(),
+ (b = i.getElementById(d)) == null || b.remove());
+ },
+ Aqt = async function (i, s, u) {
+ var U, Be, Ne, je, Ie, Se;
+ B2e();
+ const d = j$e(s);
+ s = d.code;
+ const p = xh();
+ (Xe.debug(p), s.length > ((p == null ? void 0 : p.maxTextSize) ?? oqt) && (s = cqt));
+ const v = '#' + i,
+ b = 'i' + i,
+ y = '#' + b,
+ T = 'd' + i,
+ _ = '#' + T;
+ let A = Ir('body');
+ const P = p.securityLevel === uqt,
+ R = p.securityLevel === lqt,
+ F = p.fontFamily;
+ if (u !== void 0) {
+ if ((u && (u.innerHTML = ''), P)) {
+ const Ce = q$e(Ir(u), b);
+ ((A = Ir(Ce.nodes()[0].contentDocument.body)), (A.node().style.margin = 0));
+ } else A = Ir(u);
+ z$e(A, i, T, `font-family: ${F}`, fqt);
+ } else {
+ if ((_qt(document, i, T, b), P)) {
+ const Ce = q$e(Ir('body'), b);
+ ((A = Ir(Ce.nodes()[0].contentDocument.body)), (A.node().style.margin = 0));
+ } else A = Ir('body');
+ z$e(A, i, T);
+ }
+ let j, W;
+ try {
+ j = await K2e(s, { title: d.title });
+ } catch (Ce) {
+ ((j = new l$e('error')), (W = Ce));
+ }
+ const ee = A.select(_).node(),
+ ie = j.type,
+ oe = ee.firstChild,
+ be = oe.firstChild,
+ ge = (Be = (U = j.renderer).getClasses) == null ? void 0 : Be.call(U, s, j),
+ ae = Tqt(p, ie, ge, v),
+ ne = document.createElement('style');
+ ((ne.innerHTML = ae), oe.insertBefore(ne, be));
+ try {
+ await j.renderer.draw(s, i, Mje, j);
+ } catch (Ce) {
+ throw (Fjt.draw(s, i, Mje), Ce);
+ }
+ const se = A.select(`${_} svg`),
+ de = (je = (Ne = j.db).getAccTitle) == null ? void 0 : je.call(Ne),
+ X = (Se = (Ie = j.db).getAccDescription) == null ? void 0 : Se.call(Ie);
+ (Mqt(ie, se, de, X),
+ A.select(`[id="${i}"]`).selectAll('foreignobject > *').attr('xmlns', dqt));
+ let pe = A.select(_).node().innerHTML;
+ if (
+ (Xe.debug('config.arrowMarkerAbsolute', p.arrowMarkerAbsolute),
+ (pe = Cqt(pe, P, u1(p.arrowMarkerAbsolute))),
+ P)
+ ) {
+ const Ce = A.select(_ + ' svg').node();
+ pe = Sqt(pe, Ce);
+ } else
+ R ||
+ (pe = lD.sanitize(pe, {
+ ADD_TAGS: yqt,
+ ADD_ATTR: xqt,
+ HTML_INTEGRATION_POINTS: { foreignobject: !0 },
+ }));
+ if ((Ujt(), W)) throw W;
+ const xe = Ir(P ? y : _).node();
+ return (xe && 'remove' in xe && xe.remove(), { svg: pe, bindFunctions: j.db.bindFunctions });
+ };
+ function Lqt(i = {}) {
+ var u;
+ (i != null &&
+ i.fontFamily &&
+ !((u = i.themeVariables) != null && u.fontFamily) &&
+ (i.themeVariables || (i.themeVariables = {}), (i.themeVariables.fontFamily = i.fontFamily)),
+ ijt(i),
+ i != null && i.theme && i.theme in k7
+ ? (i.themeVariables = k7[i.theme].getThemeVariables(i.themeVariables))
+ : i && (i.themeVariables = k7.default.getThemeVariables(i.themeVariables)));
+ const s = typeof i == 'object' ? rjt(i) : Ije();
+ (fpe(s.logLevel), B2e());
+ }
+ const K2e = (i, s = {}) => {
+ const { code: u } = R$e(i);
+ return Vjt(u, s);
+ };
+ function Mqt(i, s, u, d) {
+ (h$t(s, i), f$t(s, u, d, s.attr('id')));
+ }
+ const FC = Object.freeze({
+ render: Aqt,
+ parse: kqt,
+ getDiagramFromText: K2e,
+ initialize: Lqt,
+ getConfig: xh,
+ setConfig: Oje,
+ getSiteConfig: Ije,
+ updateSiteConfig: sjt,
+ reset: () => {
+ KX();
+ },
+ globalReset: () => {
+ KX(kD);
+ },
+ defaultConfig: kD,
+ });
+ (fpe(xh().logLevel), KX(xh()));
+ const Dqt = async () => {
+ Xe.debug('Loading registered diagrams');
+ const s = (
+ await Promise.allSettled(
+ Object.entries(fD).map(async ([u, { detector: d, loader: p }]) => {
+ if (p)
+ try {
+ P2e(u);
+ } catch {
+ try {
+ const { diagram: b, id: y } = await p();
+ XX(y, b, d);
+ } catch (b) {
+ throw (
+ Xe.error(
+ `Failed to load external diagram with key ${u}. Removing from detectors.`,
+ ),
+ delete fD[u],
+ b
+ );
+ }
+ }
+ }),
+ )
+ ).filter((u) => u.status === 'rejected');
+ if (s.length > 0) {
+ Xe.error(`Failed to load ${s.length} external diagrams`);
+ for (const u of s) Xe.error(u);
+ throw new Error(`Failed to load ${s.length} external diagrams`);
+ }
+ },
+ Iqt = (i, s, u) => {
+ (Xe.warn(i),
+ xje(i)
+ ? (u && u(i.str, i.hash), s.push({ ...i, message: i.str, error: i }))
+ : (u && u(i),
+ i instanceof Error &&
+ s.push({ str: i.message, message: i.message, hash: i.name, error: i })));
+ },
+ H$e = async function (i = { querySelector: '.mermaid' }) {
+ try {
+ await Oqt(i);
+ } catch (s) {
+ if ((xje(s) && Xe.error(s.str), cm.parseError && cm.parseError(s), !i.suppressErrors))
+ throw (Xe.error('Use the suppressErrors option to suppress these errors'), s);
+ }
+ },
+ Oqt = async function (
+ { postRenderCallback: i, querySelector: s, nodes: u } = { querySelector: '.mermaid' },
+ ) {
+ const d = FC.getConfig();
+ Xe.debug(`${i ? '' : 'No '}Callback function found`);
+ let p;
+ if (u) p = u;
+ else if (s) p = document.querySelectorAll(s);
+ else throw new Error('Nodes and querySelector are both undefined');
+ (Xe.debug(`Found ${p.length} diagrams`),
+ (d == null ? void 0 : d.startOnLoad) !== void 0 &&
+ (Xe.debug('Start On Load: ' + (d == null ? void 0 : d.startOnLoad)),
+ FC.updateSiteConfig({ startOnLoad: d == null ? void 0 : d.startOnLoad })));
+ const v = new So.InitIDGenerator(d.deterministicIds, d.deterministicIDSeed);
+ let b;
+ const y = [];
+ for (const T of Array.from(p)) {
+ Xe.info('Rendering diagram: ' + T.id);
+ /*! Check if previously processed */ if (T.getAttribute('data-processed')) continue;
+ T.setAttribute('data-processed', 'true');
+ const _ = `mermaid-${v.next()}`;
+ ((b = T.innerHTML),
+ (b = QM(So.entityDecode(b))
+ .trim()
+ .replace(/
/gi, '
')));
+ const A = So.detectInit(b);
+ A && Xe.debug('Detected early reinit: ', A);
+ try {
+ const { svg: P, bindFunctions: R } = await K$e(_, b, T);
+ ((T.innerHTML = P), i && (await i(_)), R && R(T));
+ } catch (P) {
+ Iqt(P, y, cm.parseError);
+ }
+ }
+ if (y.length > 0) throw y[0];
+ },
+ V$e = function (i) {
+ FC.initialize(i);
+ },
+ Nqt = async function (i, s, u) {
+ (Xe.warn('mermaid.init is deprecated. Please use run instead.'), i && V$e(i));
+ const d = { postRenderCallback: u, querySelector: '.mermaid' };
+ (typeof s == 'string'
+ ? (d.querySelector = s)
+ : s && (s instanceof HTMLElement ? (d.nodes = [s]) : (d.nodes = s)),
+ await H$e(d));
+ },
+ Pqt = async (i, { lazyLoad: s = !0 } = {}) => {
+ (BRe(...i), s === !1 && (await Dqt()));
+ },
+ U$e = function () {
+ if (cm.startOnLoad) {
+ const { startOnLoad: i } = FC.getConfig();
+ i && cm.run().catch((s) => Xe.error('Mermaid failed to initialize', s));
+ }
+ };
+ if (typeof document < 'u') {
+ /*!
+ * Wait for document loaded before starting the execution
+ */ window.addEventListener('load', U$e, !1);
+ }
+ const Bqt = function (i) {
+ cm.parseError = i;
+ },
+ tQ = [];
+ let W2e = !1;
+ const G$e = async () => {
+ if (!W2e) {
+ for (W2e = !0; tQ.length > 0; ) {
+ const i = tQ.shift();
+ if (i)
+ try {
+ await i();
+ } catch (s) {
+ Xe.error('Error executing queue', s);
+ }
+ }
+ W2e = !1;
+ }
+ },
+ Fqt = async (i, s) =>
+ new Promise((u, d) => {
+ const p = () =>
+ new Promise((v, b) => {
+ FC.parse(i, s).then(
+ (y) => {
+ (v(y), u(y));
+ },
+ (y) => {
+ var T;
+ (Xe.error('Error parsing', y),
+ (T = cm.parseError) == null || T.call(cm, y),
+ b(y),
+ d(y));
+ },
+ );
+ });
+ (tQ.push(p), G$e().catch(d));
+ }),
+ K$e = (i, s, u) =>
+ new Promise((d, p) => {
+ const v = () =>
+ new Promise((b, y) => {
+ FC.render(i, s, u).then(
+ (T) => {
+ (b(T), d(T));
+ },
+ (T) => {
+ var _;
+ (Xe.error('Error parsing', T),
+ (_ = cm.parseError) == null || _.call(cm, T),
+ y(T),
+ p(T));
+ },
+ );
+ });
+ (tQ.push(v), G$e().catch(p));
+ }),
+ cm = {
+ startOnLoad: !0,
+ mermaidAPI: FC,
+ parse: Fqt,
+ render: K$e,
+ init: Nqt,
+ run: H$e,
+ registerExternalDiagrams: Pqt,
+ initialize: V$e,
+ parseError: void 0,
+ contentLoaded: U$e,
+ setParseErrorHandler: Bqt,
+ detectType: SX,
+ };
+ class um {
+ constructor(s, u, d) {
+ ((this.lexer = void 0),
+ (this.start = void 0),
+ (this.end = void 0),
+ (this.lexer = s),
+ (this.start = u),
+ (this.end = d));
+ }
+ static range(s, u) {
+ return u
+ ? !s || !s.loc || !u.loc || s.loc.lexer !== u.loc.lexer
+ ? null
+ : new um(s.loc.lexer, s.loc.start, u.loc.end)
+ : s && s.loc;
+ }
+ }
+ class Pv {
+ constructor(s, u) {
+ ((this.text = void 0),
+ (this.loc = void 0),
+ (this.noexpand = void 0),
+ (this.treatAsRelax = void 0),
+ (this.text = s),
+ (this.loc = u));
+ }
+ range(s, u) {
+ return new Pv(u, um.range(this, s));
+ }
+ }
+ class Si {
+ constructor(s, u) {
+ ((this.name = void 0),
+ (this.position = void 0),
+ (this.length = void 0),
+ (this.rawMessage = void 0));
+ var d = 'KaTeX parse error: ' + s,
+ p,
+ v,
+ b = u && u.loc;
+ if (b && b.start <= b.end) {
+ var y = b.lexer.input;
+ ((p = b.start),
+ (v = b.end),
+ p === y.length ? (d += ' at end of input: ') : (d += ' at position ' + (p + 1) + ': '));
+ var T = y.slice(p, v).replace(/[^]/g, '$&̲'),
+ _;
+ p > 15 ? (_ = '…' + y.slice(p - 15, p)) : (_ = y.slice(0, p));
+ var A;
+ (v + 15 < y.length ? (A = y.slice(v, v + 15) + '…') : (A = y.slice(v)), (d += _ + T + A));
+ }
+ var P = new Error(d);
+ return (
+ (P.name = 'ParseError'),
+ (P.__proto__ = Si.prototype),
+ (P.position = p),
+ p != null && v != null && (P.length = v - p),
+ (P.rawMessage = s),
+ P
+ );
+ }
+ }
+ Si.prototype.__proto__ = Error.prototype;
+ var Rqt = function (s, u) {
+ return s.indexOf(u) !== -1;
+ },
+ jqt = function (s, u) {
+ return s === void 0 ? u : s;
+ },
+ $qt = /([A-Z])/g,
+ zqt = function (s) {
+ return s.replace($qt, '-$1').toLowerCase();
+ },
+ qqt = { '&': '&', '>': '>', '<': '<', '"': '"', "'": ''' },
+ Hqt = /[&><"']/g;
+ function Vqt(i) {
+ return String(i).replace(Hqt, (s) => qqt[s]);
+ }
+ var W$e = function i(s) {
+ return s.type === 'ordgroup' || s.type === 'color'
+ ? s.body.length === 1
+ ? i(s.body[0])
+ : s
+ : s.type === 'font'
+ ? i(s.body)
+ : s;
+ },
+ Uqt = function (s) {
+ var u = W$e(s);
+ return u.type === 'mathord' || u.type === 'textord' || u.type === 'atom';
+ },
+ Gqt = function (s) {
+ if (!s) throw new Error('Expected non-null, but got ' + String(s));
+ return s;
+ },
+ Kqt = function (s) {
+ var u = /^[\x00-\x20]*([^\\/#?]*?)(:|*58|*3a|&colon)/i.exec(s);
+ return u
+ ? u[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(u[1])
+ ? null
+ : u[1].toLowerCase()
+ : '_relative';
+ },
+ pa = {
+ contains: Rqt,
+ deflt: jqt,
+ escape: Vqt,
+ hyphenate: zqt,
+ getBaseElem: W$e,
+ isCharacterBox: Uqt,
+ protocolFromUrl: Kqt,
+ },
+ nQ = {
+ 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: (i) => '#' + i,
+ },
+ macros: {
+ type: 'object',
+ cli: '-m, --macro ',
+ cliDescription:
+ "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",
+ cliDefault: [],
+ cliProcessor: (i, s) => (s.push(i), s),
+ },
+ 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: (i) => Math.max(0, i),
+ 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: (i) => Math.max(0, i),
+ 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: (i) => Math.max(0, i),
+ cli: '-e, --max-expand ',
+ cliProcessor: (i) => (i === 'Infinity' ? 1 / 0 : parseInt(i)),
+ },
+ globalGroup: { type: 'boolean', cli: !1 },
+ };
+ function Wqt(i) {
+ if (i.default) return i.default;
+ var s = i.type,
+ u = Array.isArray(s) ? s[0] : s;
+ if (typeof u != 'string') return u.enum[0];
+ switch (u) {
+ case 'boolean':
+ return !1;
+ case 'string':
+ return '';
+ case 'number':
+ return 0;
+ case 'object':
+ return {};
+ }
+ }
+ class Y2e {
+ constructor(s) {
+ ((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),
+ (s = s || {}));
+ for (var u in nQ)
+ if (nQ.hasOwnProperty(u)) {
+ var d = nQ[u];
+ this[u] = s[u] !== void 0 ? (d.processor ? d.processor(s[u]) : s[u]) : Wqt(d);
+ }
+ }
+ reportNonstrict(s, u, d) {
+ var p = this.strict;
+ if ((typeof p == 'function' && (p = p(s, u, d)), !(!p || p === 'ignore'))) {
+ if (p === !0 || p === 'error')
+ throw new Si(
+ "LaTeX-incompatible input and strict mode is set to 'error': " + (u + ' [' + s + ']'),
+ d,
+ );
+ p === 'warn'
+ ? typeof console < 'u' &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " + (u + ' [' + s + ']'),
+ )
+ : typeof console < 'u' &&
+ console.warn(
+ 'LaTeX-incompatible input and strict mode is set to ' +
+ ("unrecognized '" + p + "': " + u + ' [' + s + ']'),
+ );
+ }
+ }
+ useStrictBehavior(s, u, d) {
+ var p = this.strict;
+ if (typeof p == 'function')
+ try {
+ p = p(s, u, d);
+ } catch {
+ p = 'error';
+ }
+ return !p || p === 'ignore'
+ ? !1
+ : p === !0 || p === 'error'
+ ? !0
+ : p === 'warn'
+ ? (typeof console < 'u' &&
+ console.warn(
+ "LaTeX-incompatible input and strict mode is set to 'warn': " +
+ (u + ' [' + s + ']'),
+ ),
+ !1)
+ : (typeof console < 'u' &&
+ console.warn(
+ 'LaTeX-incompatible input and strict mode is set to ' +
+ ("unrecognized '" + p + "': " + u + ' [' + s + ']'),
+ ),
+ !1);
+ }
+ isTrusted(s) {
+ if (s.url && !s.protocol) {
+ var u = pa.protocolFromUrl(s.url);
+ if (u == null) return !1;
+ s.protocol = u;
+ }
+ var d = typeof this.trust == 'function' ? this.trust(s) : this.trust;
+ return !!d;
+ }
+ }
+ class k9 {
+ constructor(s, u, d) {
+ ((this.id = void 0),
+ (this.size = void 0),
+ (this.cramped = void 0),
+ (this.id = s),
+ (this.size = u),
+ (this.cramped = d));
+ }
+ sup() {
+ return U4[Yqt[this.id]];
+ }
+ sub() {
+ return U4[Xqt[this.id]];
+ }
+ fracNum() {
+ return U4[Qqt[this.id]];
+ }
+ fracDen() {
+ return U4[Jqt[this.id]];
+ }
+ cramp() {
+ return U4[Zqt[this.id]];
+ }
+ text() {
+ return U4[eHt[this.id]];
+ }
+ isTight() {
+ return this.size >= 2;
+ }
+ }
+ var X2e = 0,
+ rQ = 1,
+ MD = 2,
+ A7 = 3,
+ oR = 4,
+ Bv = 5,
+ DD = 6,
+ Dp = 7,
+ U4 = [
+ new k9(X2e, 0, !1),
+ new k9(rQ, 0, !0),
+ new k9(MD, 1, !1),
+ new k9(A7, 1, !0),
+ new k9(oR, 2, !1),
+ new k9(Bv, 2, !0),
+ new k9(DD, 3, !1),
+ new k9(Dp, 3, !0),
+ ],
+ Yqt = [oR, Bv, oR, Bv, DD, Dp, DD, Dp],
+ Xqt = [Bv, Bv, Bv, Bv, Dp, Dp, Dp, Dp],
+ Qqt = [MD, A7, oR, Bv, DD, Dp, DD, Dp],
+ Jqt = [A7, A7, Bv, Bv, Dp, Dp, Dp, Dp],
+ Zqt = [rQ, rQ, A7, A7, Bv, Bv, Dp, Dp],
+ eHt = [X2e, rQ, MD, A7, MD, A7, MD, A7],
+ Ca = { DISPLAY: U4[X2e], TEXT: U4[MD], SCRIPT: U4[oR], SCRIPTSCRIPT: U4[DD] },
+ Q2e = [
+ {
+ name: 'latin',
+ blocks: [
+ [256, 591],
+ [768, 879],
+ ],
+ },
+ { name: 'cyrillic', blocks: [[1024, 1279]] },
+ { name: 'armenian', blocks: [[1328, 1423]] },
+ { name: 'brahmic', blocks: [[2304, 4255]] },
+ { name: 'georgian', blocks: [[4256, 4351]] },
+ {
+ name: 'cjk',
+ blocks: [
+ [12288, 12543],
+ [19968, 40879],
+ [65280, 65376],
+ ],
+ },
+ { name: 'hangul', blocks: [[44032, 55215]] },
+ ];
+ function tHt(i) {
+ for (var s = 0; s < Q2e.length; s++)
+ for (var u = Q2e[s], d = 0; d < u.blocks.length; d++) {
+ var p = u.blocks[d];
+ if (i >= p[0] && i <= p[1]) return u.name;
+ }
+ return null;
+ }
+ var iQ = [];
+ Q2e.forEach((i) => i.blocks.forEach((s) => iQ.push(...s)));
+ function Y$e(i) {
+ for (var s = 0; s < iQ.length; s += 2) if (i >= iQ[s] && i <= iQ[s + 1]) return !0;
+ return !1;
+ }
+ var ID = 80,
+ nHt = function (s, u) {
+ return (
+ 'M95,' +
+ (622 + s + u) +
+ `
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
-l`+s/2.075+" -"+s+`
+l` +
+ s / 2.075 +
+ ' -' +
+ s +
+ `
c5.3,-9.3,12,-14,20,-14
-H400000v`+(40+s)+`H845.2724
+H400000v` +
+ (40 + s) +
+ `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+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},rHt=function(s,u){return"M263,"+(601+s+u)+`c0.7,0,18,39.7,52,119
+M` +
+ (834 + s) +
+ ' ' +
+ u +
+ 'h400000v' +
+ (40 + s) +
+ 'h-400000z'
+ );
+ },
+ rHt = function (s, u) {
+ return (
+ 'M263,' +
+ (601 + s + u) +
+ `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`+s/2.084+" -"+s+`
+l` +
+ s / 2.084 +
+ ' -' +
+ s +
+ `
c4.7,-7.3,11,-11,19,-11
-H40000v`+(40+s)+`H1012.3
+H40000v` +
+ (40 + s) +
+ `H1012.3
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
-M`+(1001+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},iHt=function(s,u){return"M983 "+(10+s+u)+`
-l`+s/3.13+" -"+s+`
-c4,-6.7,10,-10,18,-10 H400000v`+(40+s)+`
+M` +
+ (1001 + s) +
+ ' ' +
+ u +
+ 'h400000v' +
+ (40 + s) +
+ 'h-400000z'
+ );
+ },
+ iHt = function (s, u) {
+ return (
+ 'M983 ' +
+ (10 + s + u) +
+ `
+l` +
+ s / 3.13 +
+ ' -' +
+ s +
+ `
+c4,-6.7,10,-10,18,-10 H400000v` +
+ (40 + s) +
+ `
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
-M`+(1001+s)+" "+u+"h400000v"+(40+s)+"h-400000z"},sHt=function(s,u){return"M424,"+(2398+s+u)+`
+M` +
+ (1001 + s) +
+ ' ' +
+ u +
+ 'h400000v' +
+ (40 + s) +
+ 'h-400000z'
+ );
+ },
+ sHt = function (s, u) {
+ return (
+ 'M424,' +
+ (2398 + s + u) +
+ `
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
-l`+s/4.223+" -"+s+`c4,-6.7,10,-10,18,-10 H400000
-v`+(40+s)+`H1014.6
+l` +
+ s / 4.223 +
+ ' -' +
+ s +
+ `c4,-6.7,10,-10,18,-10 H400000
+v` +
+ (40 + s) +
+ `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+s)+" "+u+`
-h400000v`+(40+s)+"h-400000z"},aHt=function(s,u){return"M473,"+(2713+s+u)+`
-c339.3,-1799.3,509.3,-2700,510,-2702 l`+s/5.298+" -"+s+`
-c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+s)+`H1017.7
+c-8,0,-12,-0.7,-12,-2z M` +
+ (1001 + s) +
+ ' ' +
+ u +
+ `
+h400000v` +
+ (40 + s) +
+ 'h-400000z'
+ );
+ },
+ aHt = function (s, u) {
+ return (
+ 'M473,' +
+ (2713 + s + u) +
+ `
+c339.3,-1799.3,509.3,-2700,510,-2702 l` +
+ s / 5.298 +
+ ' -' +
+ s +
+ `
+c3.3,-7.3,9.3,-11,18,-11 H400000v` +
+ (40 + s) +
+ `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+s)+" "+u+"h400000v"+(40+s)+"H1017.7z"},oHt=function(s){var u=s/2;return"M400000 "+s+" H0 L"+u+" 0 l65 45 L145 "+(s-80)+" H400000z"},cHt=function(s,u,d){var p=d-54-u-s;return"M702 "+(s+u)+"H400000"+(40+s)+`
-H742v`+p+`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
+606zM` +
+ (1001 + s) +
+ ' ' +
+ u +
+ 'h400000v' +
+ (40 + s) +
+ 'H1017.7z'
+ );
+ },
+ oHt = function (s) {
+ var u = s / 2;
+ return 'M400000 ' + s + ' H0 L' + u + ' 0 l65 45 L145 ' + (s - 80) + ' H400000z';
+ },
+ cHt = function (s, u, d) {
+ var p = d - 54 - u - s;
+ return (
+ 'M702 ' +
+ (s + u) +
+ 'H400000' +
+ (40 + s) +
+ `
+H742v` +
+ p +
+ `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 `+u+"H400000v"+(40+s)+"H742z"},uHt=function(s,u,d){u=1e3*u;var p="";switch(s){case"sqrtMain":p=nHt(u,ID);break;case"sqrtSize1":p=rHt(u,ID);break;case"sqrtSize2":p=iHt(u,ID);break;case"sqrtSize3":p=sHt(u,ID);break;case"sqrtSize4":p=aHt(u,ID);break;case"sqrtTall":p=cHt(u,ID,d)}return p},lHt=function(s,u){switch(s){case"⎜":return"M291 0 H417 V"+u+" H291z M291 0 H417 V"+u+" H291z";case"∣":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z";case"∥":return"M145 0 H188 V"+u+" H145z M145 0 H188 V"+u+" H145z"+("M367 0 H410 V"+u+" H367z M367 0 H410 V"+u+" H367z");case"⎟":return"M457 0 H583 V"+u+" H457z M457 0 H583 V"+u+" H457z";case"⎢":return"M319 0 H403 V"+u+" H319z M319 0 H403 V"+u+" H319z";case"⎥":return"M263 0 H347 V"+u+" H263z M263 0 H347 V"+u+" H263z";case"⎪":return"M384 0 H504 V"+u+" H384z M384 0 H504 V"+u+" H384z";case"⏐":return"M312 0 H355 V"+u+" H312z M312 0 H355 V"+u+" H312z";case"‖":return"M257 0 H300 V"+u+" H257z M257 0 H300 V"+u+" H257z"+("M478 0 H521 V"+u+" H478z M478 0 H521 V"+u+" H478z");default:return""}},X$e={doubleleftarrow:`M262 157
+219 661 l218 661zM702 ` +
+ u +
+ 'H400000v' +
+ (40 + s) +
+ 'H742z'
+ );
+ },
+ uHt = function (s, u, d) {
+ u = 1e3 * u;
+ var p = '';
+ switch (s) {
+ case 'sqrtMain':
+ p = nHt(u, ID);
+ break;
+ case 'sqrtSize1':
+ p = rHt(u, ID);
+ break;
+ case 'sqrtSize2':
+ p = iHt(u, ID);
+ break;
+ case 'sqrtSize3':
+ p = sHt(u, ID);
+ break;
+ case 'sqrtSize4':
+ p = aHt(u, ID);
+ break;
+ case 'sqrtTall':
+ p = cHt(u, ID, d);
+ }
+ return p;
+ },
+ lHt = function (s, u) {
+ switch (s) {
+ case '⎜':
+ return 'M291 0 H417 V' + u + ' H291z M291 0 H417 V' + u + ' H291z';
+ case '∣':
+ return 'M145 0 H188 V' + u + ' H145z M145 0 H188 V' + u + ' H145z';
+ case '∥':
+ return (
+ 'M145 0 H188 V' +
+ u +
+ ' H145z M145 0 H188 V' +
+ u +
+ ' H145z' +
+ ('M367 0 H410 V' + u + ' H367z M367 0 H410 V' + u + ' H367z')
+ );
+ case '⎟':
+ return 'M457 0 H583 V' + u + ' H457z M457 0 H583 V' + u + ' H457z';
+ case '⎢':
+ return 'M319 0 H403 V' + u + ' H319z M319 0 H403 V' + u + ' H319z';
+ case '⎥':
+ return 'M263 0 H347 V' + u + ' H263z M263 0 H347 V' + u + ' H263z';
+ case '⎪':
+ return 'M384 0 H504 V' + u + ' H384z M384 0 H504 V' + u + ' H384z';
+ case '⏐':
+ return 'M312 0 H355 V' + u + ' H312z M312 0 H355 V' + u + ' H312z';
+ case '‖':
+ return (
+ 'M257 0 H300 V' +
+ u +
+ ' H257z M257 0 H300 V' +
+ u +
+ ' H257z' +
+ ('M478 0 H521 V' + u + ' H478z M478 0 H521 V' + u + ' H478z')
+ );
+ default:
+ return '';
+ }
+ },
+ X$e = {
+ 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
@@ -146,241 +15379,27518 @@ c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
-m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
+m8 0v40h399730v-40zm0 194v40h399730v-40z`,
+ doublerightarrow: `M399738 392l
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
--107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
+-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,
+ leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
- l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
+ l-3-3h399890zM100 241v40h399900v-40z`,
+ leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
- 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
+ 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,
+ leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
--331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
+-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,
+ leftgroup: `M400000 80
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
- 435 0h399565z`,leftgroupunder:`M400000 262
+ 435 0h399565z`,
+ leftgroupunder: `M400000 262
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
- 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
+ 435 219h399565z`,
+ leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
--196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
+-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,
+ leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
-m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
+m0 0v40h400000v-40z`,
+ leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
--152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
+-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,
+ leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
-v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
+v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,
+ lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
- 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z
-M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z
-M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
+ 71.5 23h399859zM103 281v-40h399897v40z`,
+ leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z
+M40 281 V428 H0 V94 H40 V241 H400000 v40z`,
+ leftmapsto: `M40 281 V448H0V74H40V241H400000v40z
+M40 281 V448H0V74H40V241H400000v40z`,
+ leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
- 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z
-M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,
+ longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z
+M0 50 h400000 v40H0z m0 194h40000v40H0z`,
+ midbrace: `M200428 334
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
- 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
+ 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,
+ midbraceunder: `M199572 214
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
--5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
+-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,
+ oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
-60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
+60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,
+ oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
-c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
+c0 110 84 276 504 276s502.4-166 502.4-276z`,
+ oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
-85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
+85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,
+ oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
-c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
+c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,
+ rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
- 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
+ 151.7 139 205zm0 0v40h399900v-40z`,
+ rightbrace: `M400000 542l
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
-c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
+c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,
+ rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
--174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
- 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
- 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
+-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,
+ rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
+ 3-1 3-3v-38c-76-158-257-219-435-219H0z`,
+ rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
+ 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,
+ rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
- 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
+ 69.2 92 94.5zm0 0v40h399900v-40z`,
+ rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
-m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
+m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,
+ rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
--27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
+-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,
+ rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
-m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
+m0-194v40h400000v-40zm0 0v40h400000v-40z`,
+ righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
- 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
-M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,
+ rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
+M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,
+ rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
--167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
+-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,
+ twoheadleftarrow: `M0 167c68 40
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
- 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
+ 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,
+ twoheadrightarrow: `M400000 167
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
- 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
+ 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,
+ tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
--68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
+-68.267.847-113-73.952-191-73.952z`,
+ tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
- 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
+ 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,
+ tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
- -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
+ -338 0-409-156.573-744-156.573z`,
+ tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
- -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
+ -175.236-744-175.236z`,
+ vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
-c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
-c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
--11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
--11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
--11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
--5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
--11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
--11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
--11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
+c-16-25.333-24-45-24-59z`,
+ widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
+c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,
+ widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
+-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,
+ widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
+-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,
+ widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
+-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,
+ baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
-M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
+M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,
+ rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
-151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
+151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,
+ baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
-M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
+M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,
+ rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
-M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
+M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,
+ shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
-M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
+M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,
+ shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
-M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},hHt=function(s,u){switch(s){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v1759 h347 v-84
-H403z M403 1759 V0 H319 V1759 v`+u+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v1759 H0 v84 H347z
-M347 1759 V0 H263 V1759 v`+u+" v1759 h84z";case"vert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15
-c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15
-c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+" v585 h43z";case"doublevert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15
-c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15
-c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+` v585 h43z
-M367 15 v585 v`+u+` v585 c2.667,10,9.667,15,21,15
-c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15
-c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+u+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+u+` v1715 h263 v84 H319z
-MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+u+` v1799 H0 v-84 H319z
-MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v602 h84z
-M403 1759 V0 H319 V1759 v`+u+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v602 h84z
-M347 1759 V0 h-84 V1759 v`+u+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
+M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`,
+ },
+ hHt = function (s, u) {
+ switch (s) {
+ case 'lbrack':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ u +
+ ` v1759 h347 v-84
+H403z M403 1759 V0 H319 V1759 v` +
+ u +
+ ' v1759 h84z'
+ );
+ case 'rbrack':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ u +
+ ` v1759 H0 v84 H347z
+M347 1759 V0 H263 V1759 v` +
+ u +
+ ' v1759 h84z'
+ );
+ case 'vert':
+ return (
+ 'M145 15 v585 v' +
+ u +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -u +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
+ u +
+ ' v585 h43z'
+ );
+ case 'doublevert':
+ return (
+ 'M145 15 v585 v' +
+ u +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -u +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
+ u +
+ ` v585 h43z
+M367 15 v585 v` +
+ u +
+ ` v585 c2.667,10,9.667,15,21,15
+c10,0,16.667,-5,20,-15 v-585 v` +
+ -u +
+ ` v-585 c-2.667,-10,-9.667,-15,-21,-15
+c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` +
+ u +
+ ' v585 h43z'
+ );
+ case 'lfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ u +
+ ` v1715 h263 v84 H319z
+MM319 602 V0 H403 V602 v` +
+ u +
+ ' v1715 H319z'
+ );
+ case 'rfloor':
+ return (
+ 'M319 602 V0 H403 V602 v' +
+ u +
+ ` v1799 H0 v-84 H319z
+MM319 602 V0 H403 V602 v` +
+ u +
+ ' v1715 H319z'
+ );
+ case 'lceil':
+ return (
+ 'M403 1759 V84 H666 V0 H319 V1759 v' +
+ u +
+ ` v602 h84z
+M403 1759 V0 H319 V1759 v` +
+ u +
+ ' v602 h84z'
+ );
+ case 'rceil':
+ return (
+ 'M347 1759 V0 H0 V84 H263 V1759 v' +
+ u +
+ ` v602 h84z
+M347 1759 V0 h-84 V1759 v` +
+ u +
+ ' v602 h84z'
+ );
+ case 'lparen':
+ return (
+ `M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
--36,557 l0,`+(u+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
+-36,557 l0,` +
+ (u + 84) +
+ `c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
-l0,-`+(u+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
--210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
+l0,-` +
+ (u + 92) +
+ `c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
+-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`
+ );
+ case 'rparen':
+ return (
+ `M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
-c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(u+9)+`
+c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` +
+ (u + 9) +
+ `
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
-l0,-`+(u+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
--470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class cR{constructor(s){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=s,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(s){return pa.contains(this.classes,s)}toNode(){for(var s=document.createDocumentFragment(),u=0;uu.toText();return this.children.map(s).join("")}}var G4={"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]}},sQ={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]},Q$e={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function fHt(i,s){G4[i]=s}function J2e(i,s,u){if(!G4[s])throw new Error("Font metrics not found for font: "+s+".");var d=i.charCodeAt(0),p=G4[s][d];if(!p&&i[0]in Q$e&&(d=Q$e[i[0]].charCodeAt(0),p=G4[s][d]),!p&&u==="text"&&Y$e(d)&&(p=G4[s][77]),p)return{depth:p[0],height:p[1],italic:p[2],skew:p[3],width:p[4]}}var Z2e={};function dHt(i){var s;if(i>=5?s=0:i>=3?s=1:s=2,!Z2e[s]){var u=Z2e[s]={cssEmPerMu:sQ.quad[s]/18};for(var d in sQ)sQ.hasOwnProperty(d)&&(u[d]=sQ[d][s])}return Z2e[s]}var gHt=[[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]],J$e=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Z$e=function(s,u){return u.size<2?s:gHt[s-1][u.size-1]};class L7{constructor(s){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=s.style,this.color=s.color,this.size=s.size||L7.BASESIZE,this.textSize=s.textSize||this.size,this.phantom=!!s.phantom,this.font=s.font||"",this.fontFamily=s.fontFamily||"",this.fontWeight=s.fontWeight||"",this.fontShape=s.fontShape||"",this.sizeMultiplier=J$e[this.size-1],this.maxSize=s.maxSize,this.minRuleThickness=s.minRuleThickness,this._fontMetrics=void 0}extend(s){var u={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 d in s)s.hasOwnProperty(d)&&(u[d]=s[d]);return new L7(u)}havingStyle(s){return this.style===s?this:this.extend({style:s,size:Z$e(this.textSize,s)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(s){return this.size===s&&this.textSize===s?this:this.extend({style:this.style.text(),size:s,textSize:s,sizeMultiplier:J$e[s-1]})}havingBaseStyle(s){s=s||this.style.text();var u=Z$e(L7.BASESIZE,s);return this.size===u&&this.textSize===L7.BASESIZE&&this.style===s?this:this.extend({style:s,size:u})}havingBaseSizing(){var s;switch(this.style.id){case 4:case 5:s=3;break;case 6:case 7:s=1;break;default:s=6}return this.extend({style:this.style.text(),size:s})}withColor(s){return this.extend({color:s})}withPhantom(){return this.extend({phantom:!0})}withFont(s){return this.extend({font:s})}withTextFontFamily(s){return this.extend({fontFamily:s,font:""})}withTextFontWeight(s){return this.extend({fontWeight:s,font:""})}withTextFontShape(s){return this.extend({fontShape:s,font:""})}sizingClasses(s){return s.size!==this.size?["sizing","reset-size"+s.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==L7.BASESIZE?["sizing","reset-size"+this.size,"size"+L7.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=dHt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}L7.BASESIZE=6;var ebe={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},pHt={ex:!0,em:!0,mu:!0},eze=function(s){return typeof s!="string"&&(s=s.unit),s in ebe||s in pHt||s==="ex"},Gh=function(s,u){var d;if(s.unit in ebe)d=ebe[s.unit]/u.fontMetrics().ptPerEm/u.sizeMultiplier;else if(s.unit==="mu")d=u.fontMetrics().cssEmPerMu;else{var p;if(u.style.isTight()?p=u.havingStyle(u.style.text()):p=u,s.unit==="ex")d=p.fontMetrics().xHeight;else if(s.unit==="em")d=p.fontMetrics().quad;else throw new Si("Invalid unit: '"+s.unit+"'");p!==u&&(d*=p.sizeMultiplier/u.sizeMultiplier)}return Math.min(s.number*d,u.maxSize)},ji=function(s){return+s.toFixed(4)+"em"},E9=function(s){return s.filter(u=>u).join(" ")},tze=function(s,u,d){if(this.classes=s||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=d||{},u){u.style.isTight()&&this.classes.push("mtight");var p=u.getColor();p&&(this.style.color=p)}},nze=function(s){var u=document.createElement(s);u.className=E9(this.classes);for(var d in this.style)this.style.hasOwnProperty(d)&&(u.style[d]=this.style[d]);for(var p in this.attributes)this.attributes.hasOwnProperty(p)&&u.setAttribute(p,this.attributes[p]);for(var v=0;v";for(var b=0;b",u};class uR{constructor(s,u,d,p){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,tze.call(this,s,d,p),this.children=u||[]}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return pa.contains(this.classes,s)}toNode(){return nze.call(this,"span")}toMarkup(){return rze.call(this,"span")}}class tbe{constructor(s,u,d,p){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,tze.call(this,u,p),this.children=d||[],this.setAttribute("href",s)}setAttribute(s,u){this.attributes[s]=u}hasClass(s){return pa.contains(this.classes,s)}toNode(){return nze.call(this,"a")}toMarkup(){return rze.call(this,"a")}}class bHt{constructor(s,u,d){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=u,this.src=s,this.classes=["mord"],this.style=d}hasClass(s){return pa.contains(this.classes,s)}toNode(){var s=document.createElement("img");s.src=this.src,s.alt=this.alt,s.className="mord";for(var u in this.style)this.style.hasOwnProperty(u)&&(s.style[u]=this.style[u]);return s}toMarkup(){var s='
",s}}var mHt={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class Fv{constructor(s,u,d,p,v,b,y,T){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=s,this.height=u||0,this.depth=d||0,this.italic=p||0,this.skew=v||0,this.width=b||0,this.classes=y||[],this.style=T||{},this.maxFontSize=0;var _=tHt(this.text.charCodeAt(0));_&&this.classes.push(_+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=mHt[this.text])}hasClass(s){return pa.contains(this.classes,s)}toNode(){var s=document.createTextNode(this.text),u=null;this.italic>0&&(u=document.createElement("span"),u.style.marginRight=ji(this.italic)),this.classes.length>0&&(u=u||document.createElement("span"),u.className=E9(this.classes));for(var d in this.style)this.style.hasOwnProperty(d)&&(u=u||document.createElement("span"),u.style[d]=this.style[d]);return u?(u.appendChild(s),u):s}toMarkup(){var s=!1,u="0&&(d+="margin-right:"+this.italic+"em;");for(var p in this.style)this.style.hasOwnProperty(p)&&(d+=pa.hyphenate(p)+":"+this.style[p]+";");d&&(s=!0,u+=' style="'+pa.escape(d)+'"');var v=pa.escape(this.text);return s?(u+=">",u+=v,u+="",u):v}}class M7{constructor(s,u){this.children=void 0,this.attributes=void 0,this.children=s||[],this.attributes=u||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"svg");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);for(var p=0;p";for(var d=0;d",s}}class T9{constructor(s,u){this.pathName=void 0,this.alternate=void 0,this.pathName=s,this.alternate=u}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"path");return this.alternate?u.setAttribute("d",this.alternate):u.setAttribute("d",X$e[this.pathName]),u}toMarkup(){return this.alternate?' ':' '}}class nbe{constructor(s){this.attributes=void 0,this.attributes=s||{}}toNode(){var s="http://www.w3.org/2000/svg",u=document.createElementNS(s,"line");for(var d in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,d)&&u.setAttribute(d,this.attributes[d]);return u}toMarkup(){var s=" ",s}}function ize(i){if(i instanceof Fv)return i;throw new Error("Expected symbolNode but got "+String(i)+".")}function vHt(i){if(i instanceof uR)return i;throw new Error("Expected span but got "+String(i)+".")}var wHt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},yHt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Ul={math:{},text:{}};function we(i,s,u,d,p,v){Ul[i][p]={font:s,group:u,replace:d},v&&d&&(Ul[i][d]=Ul[i][p])}var Ae="math",si="text",Ue="main",$t="ams",kh="accent-token",us="bin",Ip="close",OD="inner",Sa="mathord",I0="op-token",lm="open",aQ="punct",Ht="rel",D7="spacing",vn="textord";we(Ae,Ue,Ht,"≡","\\equiv",!0),we(Ae,Ue,Ht,"≺","\\prec",!0),we(Ae,Ue,Ht,"≻","\\succ",!0),we(Ae,Ue,Ht,"∼","\\sim",!0),we(Ae,Ue,Ht,"⊥","\\perp"),we(Ae,Ue,Ht,"⪯","\\preceq",!0),we(Ae,Ue,Ht,"⪰","\\succeq",!0),we(Ae,Ue,Ht,"≃","\\simeq",!0),we(Ae,Ue,Ht,"∣","\\mid",!0),we(Ae,Ue,Ht,"≪","\\ll",!0),we(Ae,Ue,Ht,"≫","\\gg",!0),we(Ae,Ue,Ht,"≍","\\asymp",!0),we(Ae,Ue,Ht,"∥","\\parallel"),we(Ae,Ue,Ht,"⋈","\\bowtie",!0),we(Ae,Ue,Ht,"⌣","\\smile",!0),we(Ae,Ue,Ht,"⊑","\\sqsubseteq",!0),we(Ae,Ue,Ht,"⊒","\\sqsupseteq",!0),we(Ae,Ue,Ht,"≐","\\doteq",!0),we(Ae,Ue,Ht,"⌢","\\frown",!0),we(Ae,Ue,Ht,"∋","\\ni",!0),we(Ae,Ue,Ht,"∝","\\propto",!0),we(Ae,Ue,Ht,"⊢","\\vdash",!0),we(Ae,Ue,Ht,"⊣","\\dashv",!0),we(Ae,Ue,Ht,"∋","\\owns"),we(Ae,Ue,aQ,".","\\ldotp"),we(Ae,Ue,aQ,"⋅","\\cdotp"),we(Ae,Ue,vn,"#","\\#"),we(si,Ue,vn,"#","\\#"),we(Ae,Ue,vn,"&","\\&"),we(si,Ue,vn,"&","\\&"),we(Ae,Ue,vn,"ℵ","\\aleph",!0),we(Ae,Ue,vn,"∀","\\forall",!0),we(Ae,Ue,vn,"ℏ","\\hbar",!0),we(Ae,Ue,vn,"∃","\\exists",!0),we(Ae,Ue,vn,"∇","\\nabla",!0),we(Ae,Ue,vn,"♭","\\flat",!0),we(Ae,Ue,vn,"ℓ","\\ell",!0),we(Ae,Ue,vn,"♮","\\natural",!0),we(Ae,Ue,vn,"♣","\\clubsuit",!0),we(Ae,Ue,vn,"℘","\\wp",!0),we(Ae,Ue,vn,"♯","\\sharp",!0),we(Ae,Ue,vn,"♢","\\diamondsuit",!0),we(Ae,Ue,vn,"ℜ","\\Re",!0),we(Ae,Ue,vn,"♡","\\heartsuit",!0),we(Ae,Ue,vn,"ℑ","\\Im",!0),we(Ae,Ue,vn,"♠","\\spadesuit",!0),we(Ae,Ue,vn,"§","\\S",!0),we(si,Ue,vn,"§","\\S"),we(Ae,Ue,vn,"¶","\\P",!0),we(si,Ue,vn,"¶","\\P"),we(Ae,Ue,vn,"†","\\dag"),we(si,Ue,vn,"†","\\dag"),we(si,Ue,vn,"†","\\textdagger"),we(Ae,Ue,vn,"‡","\\ddag"),we(si,Ue,vn,"‡","\\ddag"),we(si,Ue,vn,"‡","\\textdaggerdbl"),we(Ae,Ue,Ip,"⎱","\\rmoustache",!0),we(Ae,Ue,lm,"⎰","\\lmoustache",!0),we(Ae,Ue,Ip,"⟯","\\rgroup",!0),we(Ae,Ue,lm,"⟮","\\lgroup",!0),we(Ae,Ue,us,"∓","\\mp",!0),we(Ae,Ue,us,"⊖","\\ominus",!0),we(Ae,Ue,us,"⊎","\\uplus",!0),we(Ae,Ue,us,"⊓","\\sqcap",!0),we(Ae,Ue,us,"∗","\\ast"),we(Ae,Ue,us,"⊔","\\sqcup",!0),we(Ae,Ue,us,"◯","\\bigcirc",!0),we(Ae,Ue,us,"∙","\\bullet",!0),we(Ae,Ue,us,"‡","\\ddagger"),we(Ae,Ue,us,"≀","\\wr",!0),we(Ae,Ue,us,"⨿","\\amalg"),we(Ae,Ue,us,"&","\\And"),we(Ae,Ue,Ht,"⟵","\\longleftarrow",!0),we(Ae,Ue,Ht,"⇐","\\Leftarrow",!0),we(Ae,Ue,Ht,"⟸","\\Longleftarrow",!0),we(Ae,Ue,Ht,"⟶","\\longrightarrow",!0),we(Ae,Ue,Ht,"⇒","\\Rightarrow",!0),we(Ae,Ue,Ht,"⟹","\\Longrightarrow",!0),we(Ae,Ue,Ht,"↔","\\leftrightarrow",!0),we(Ae,Ue,Ht,"⟷","\\longleftrightarrow",!0),we(Ae,Ue,Ht,"⇔","\\Leftrightarrow",!0),we(Ae,Ue,Ht,"⟺","\\Longleftrightarrow",!0),we(Ae,Ue,Ht,"↦","\\mapsto",!0),we(Ae,Ue,Ht,"⟼","\\longmapsto",!0),we(Ae,Ue,Ht,"↗","\\nearrow",!0),we(Ae,Ue,Ht,"↩","\\hookleftarrow",!0),we(Ae,Ue,Ht,"↪","\\hookrightarrow",!0),we(Ae,Ue,Ht,"↘","\\searrow",!0),we(Ae,Ue,Ht,"↼","\\leftharpoonup",!0),we(Ae,Ue,Ht,"⇀","\\rightharpoonup",!0),we(Ae,Ue,Ht,"↙","\\swarrow",!0),we(Ae,Ue,Ht,"↽","\\leftharpoondown",!0),we(Ae,Ue,Ht,"⇁","\\rightharpoondown",!0),we(Ae,Ue,Ht,"↖","\\nwarrow",!0),we(Ae,Ue,Ht,"⇌","\\rightleftharpoons",!0),we(Ae,$t,Ht,"≮","\\nless",!0),we(Ae,$t,Ht,"","\\@nleqslant"),we(Ae,$t,Ht,"","\\@nleqq"),we(Ae,$t,Ht,"⪇","\\lneq",!0),we(Ae,$t,Ht,"≨","\\lneqq",!0),we(Ae,$t,Ht,"","\\@lvertneqq"),we(Ae,$t,Ht,"⋦","\\lnsim",!0),we(Ae,$t,Ht,"⪉","\\lnapprox",!0),we(Ae,$t,Ht,"⊀","\\nprec",!0),we(Ae,$t,Ht,"⋠","\\npreceq",!0),we(Ae,$t,Ht,"⋨","\\precnsim",!0),we(Ae,$t,Ht,"⪹","\\precnapprox",!0),we(Ae,$t,Ht,"≁","\\nsim",!0),we(Ae,$t,Ht,"","\\@nshortmid"),we(Ae,$t,Ht,"∤","\\nmid",!0),we(Ae,$t,Ht,"⊬","\\nvdash",!0),we(Ae,$t,Ht,"⊭","\\nvDash",!0),we(Ae,$t,Ht,"⋪","\\ntriangleleft"),we(Ae,$t,Ht,"⋬","\\ntrianglelefteq",!0),we(Ae,$t,Ht,"⊊","\\subsetneq",!0),we(Ae,$t,Ht,"","\\@varsubsetneq"),we(Ae,$t,Ht,"⫋","\\subsetneqq",!0),we(Ae,$t,Ht,"","\\@varsubsetneqq"),we(Ae,$t,Ht,"≯","\\ngtr",!0),we(Ae,$t,Ht,"","\\@ngeqslant"),we(Ae,$t,Ht,"","\\@ngeqq"),we(Ae,$t,Ht,"⪈","\\gneq",!0),we(Ae,$t,Ht,"≩","\\gneqq",!0),we(Ae,$t,Ht,"","\\@gvertneqq"),we(Ae,$t,Ht,"⋧","\\gnsim",!0),we(Ae,$t,Ht,"⪊","\\gnapprox",!0),we(Ae,$t,Ht,"⊁","\\nsucc",!0),we(Ae,$t,Ht,"⋡","\\nsucceq",!0),we(Ae,$t,Ht,"⋩","\\succnsim",!0),we(Ae,$t,Ht,"⪺","\\succnapprox",!0),we(Ae,$t,Ht,"≆","\\ncong",!0),we(Ae,$t,Ht,"","\\@nshortparallel"),we(Ae,$t,Ht,"∦","\\nparallel",!0),we(Ae,$t,Ht,"⊯","\\nVDash",!0),we(Ae,$t,Ht,"⋫","\\ntriangleright"),we(Ae,$t,Ht,"⋭","\\ntrianglerighteq",!0),we(Ae,$t,Ht,"","\\@nsupseteqq"),we(Ae,$t,Ht,"⊋","\\supsetneq",!0),we(Ae,$t,Ht,"","\\@varsupsetneq"),we(Ae,$t,Ht,"⫌","\\supsetneqq",!0),we(Ae,$t,Ht,"","\\@varsupsetneqq"),we(Ae,$t,Ht,"⊮","\\nVdash",!0),we(Ae,$t,Ht,"⪵","\\precneqq",!0),we(Ae,$t,Ht,"⪶","\\succneqq",!0),we(Ae,$t,Ht,"","\\@nsubseteqq"),we(Ae,$t,us,"⊴","\\unlhd"),we(Ae,$t,us,"⊵","\\unrhd"),we(Ae,$t,Ht,"↚","\\nleftarrow",!0),we(Ae,$t,Ht,"↛","\\nrightarrow",!0),we(Ae,$t,Ht,"⇍","\\nLeftarrow",!0),we(Ae,$t,Ht,"⇏","\\nRightarrow",!0),we(Ae,$t,Ht,"↮","\\nleftrightarrow",!0),we(Ae,$t,Ht,"⇎","\\nLeftrightarrow",!0),we(Ae,$t,Ht,"△","\\vartriangle"),we(Ae,$t,vn,"ℏ","\\hslash"),we(Ae,$t,vn,"▽","\\triangledown"),we(Ae,$t,vn,"◊","\\lozenge"),we(Ae,$t,vn,"Ⓢ","\\circledS"),we(Ae,$t,vn,"®","\\circledR"),we(si,$t,vn,"®","\\circledR"),we(Ae,$t,vn,"∡","\\measuredangle",!0),we(Ae,$t,vn,"∄","\\nexists"),we(Ae,$t,vn,"℧","\\mho"),we(Ae,$t,vn,"Ⅎ","\\Finv",!0),we(Ae,$t,vn,"⅁","\\Game",!0),we(Ae,$t,vn,"‵","\\backprime"),we(Ae,$t,vn,"▲","\\blacktriangle"),we(Ae,$t,vn,"▼","\\blacktriangledown"),we(Ae,$t,vn,"■","\\blacksquare"),we(Ae,$t,vn,"⧫","\\blacklozenge"),we(Ae,$t,vn,"★","\\bigstar"),we(Ae,$t,vn,"∢","\\sphericalangle",!0),we(Ae,$t,vn,"∁","\\complement",!0),we(Ae,$t,vn,"ð","\\eth",!0),we(si,Ue,vn,"ð","ð"),we(Ae,$t,vn,"╱","\\diagup"),we(Ae,$t,vn,"╲","\\diagdown"),we(Ae,$t,vn,"□","\\square"),we(Ae,$t,vn,"□","\\Box"),we(Ae,$t,vn,"◊","\\Diamond"),we(Ae,$t,vn,"¥","\\yen",!0),we(si,$t,vn,"¥","\\yen",!0),we(Ae,$t,vn,"✓","\\checkmark",!0),we(si,$t,vn,"✓","\\checkmark"),we(Ae,$t,vn,"ℶ","\\beth",!0),we(Ae,$t,vn,"ℸ","\\daleth",!0),we(Ae,$t,vn,"ℷ","\\gimel",!0),we(Ae,$t,vn,"ϝ","\\digamma",!0),we(Ae,$t,vn,"ϰ","\\varkappa"),we(Ae,$t,lm,"┌","\\@ulcorner",!0),we(Ae,$t,Ip,"┐","\\@urcorner",!0),we(Ae,$t,lm,"└","\\@llcorner",!0),we(Ae,$t,Ip,"┘","\\@lrcorner",!0),we(Ae,$t,Ht,"≦","\\leqq",!0),we(Ae,$t,Ht,"⩽","\\leqslant",!0),we(Ae,$t,Ht,"⪕","\\eqslantless",!0),we(Ae,$t,Ht,"≲","\\lesssim",!0),we(Ae,$t,Ht,"⪅","\\lessapprox",!0),we(Ae,$t,Ht,"≊","\\approxeq",!0),we(Ae,$t,us,"⋖","\\lessdot"),we(Ae,$t,Ht,"⋘","\\lll",!0),we(Ae,$t,Ht,"≶","\\lessgtr",!0),we(Ae,$t,Ht,"⋚","\\lesseqgtr",!0),we(Ae,$t,Ht,"⪋","\\lesseqqgtr",!0),we(Ae,$t,Ht,"≑","\\doteqdot"),we(Ae,$t,Ht,"≓","\\risingdotseq",!0),we(Ae,$t,Ht,"≒","\\fallingdotseq",!0),we(Ae,$t,Ht,"∽","\\backsim",!0),we(Ae,$t,Ht,"⋍","\\backsimeq",!0),we(Ae,$t,Ht,"⫅","\\subseteqq",!0),we(Ae,$t,Ht,"⋐","\\Subset",!0),we(Ae,$t,Ht,"⊏","\\sqsubset",!0),we(Ae,$t,Ht,"≼","\\preccurlyeq",!0),we(Ae,$t,Ht,"⋞","\\curlyeqprec",!0),we(Ae,$t,Ht,"≾","\\precsim",!0),we(Ae,$t,Ht,"⪷","\\precapprox",!0),we(Ae,$t,Ht,"⊲","\\vartriangleleft"),we(Ae,$t,Ht,"⊴","\\trianglelefteq"),we(Ae,$t,Ht,"⊨","\\vDash",!0),we(Ae,$t,Ht,"⊪","\\Vvdash",!0),we(Ae,$t,Ht,"⌣","\\smallsmile"),we(Ae,$t,Ht,"⌢","\\smallfrown"),we(Ae,$t,Ht,"≏","\\bumpeq",!0),we(Ae,$t,Ht,"≎","\\Bumpeq",!0),we(Ae,$t,Ht,"≧","\\geqq",!0),we(Ae,$t,Ht,"⩾","\\geqslant",!0),we(Ae,$t,Ht,"⪖","\\eqslantgtr",!0),we(Ae,$t,Ht,"≳","\\gtrsim",!0),we(Ae,$t,Ht,"⪆","\\gtrapprox",!0),we(Ae,$t,us,"⋗","\\gtrdot"),we(Ae,$t,Ht,"⋙","\\ggg",!0),we(Ae,$t,Ht,"≷","\\gtrless",!0),we(Ae,$t,Ht,"⋛","\\gtreqless",!0),we(Ae,$t,Ht,"⪌","\\gtreqqless",!0),we(Ae,$t,Ht,"≖","\\eqcirc",!0),we(Ae,$t,Ht,"≗","\\circeq",!0),we(Ae,$t,Ht,"≜","\\triangleq",!0),we(Ae,$t,Ht,"∼","\\thicksim"),we(Ae,$t,Ht,"≈","\\thickapprox"),we(Ae,$t,Ht,"⫆","\\supseteqq",!0),we(Ae,$t,Ht,"⋑","\\Supset",!0),we(Ae,$t,Ht,"⊐","\\sqsupset",!0),we(Ae,$t,Ht,"≽","\\succcurlyeq",!0),we(Ae,$t,Ht,"⋟","\\curlyeqsucc",!0),we(Ae,$t,Ht,"≿","\\succsim",!0),we(Ae,$t,Ht,"⪸","\\succapprox",!0),we(Ae,$t,Ht,"⊳","\\vartriangleright"),we(Ae,$t,Ht,"⊵","\\trianglerighteq"),we(Ae,$t,Ht,"⊩","\\Vdash",!0),we(Ae,$t,Ht,"∣","\\shortmid"),we(Ae,$t,Ht,"∥","\\shortparallel"),we(Ae,$t,Ht,"≬","\\between",!0),we(Ae,$t,Ht,"⋔","\\pitchfork",!0),we(Ae,$t,Ht,"∝","\\varpropto"),we(Ae,$t,Ht,"◀","\\blacktriangleleft"),we(Ae,$t,Ht,"∴","\\therefore",!0),we(Ae,$t,Ht,"∍","\\backepsilon"),we(Ae,$t,Ht,"▶","\\blacktriangleright"),we(Ae,$t,Ht,"∵","\\because",!0),we(Ae,$t,Ht,"⋘","\\llless"),we(Ae,$t,Ht,"⋙","\\gggtr"),we(Ae,$t,us,"⊲","\\lhd"),we(Ae,$t,us,"⊳","\\rhd"),we(Ae,$t,Ht,"≂","\\eqsim",!0),we(Ae,Ue,Ht,"⋈","\\Join"),we(Ae,$t,Ht,"≑","\\Doteq",!0),we(Ae,$t,us,"∔","\\dotplus",!0),we(Ae,$t,us,"∖","\\smallsetminus"),we(Ae,$t,us,"⋒","\\Cap",!0),we(Ae,$t,us,"⋓","\\Cup",!0),we(Ae,$t,us,"⩞","\\doublebarwedge",!0),we(Ae,$t,us,"⊟","\\boxminus",!0),we(Ae,$t,us,"⊞","\\boxplus",!0),we(Ae,$t,us,"⋇","\\divideontimes",!0),we(Ae,$t,us,"⋉","\\ltimes",!0),we(Ae,$t,us,"⋊","\\rtimes",!0),we(Ae,$t,us,"⋋","\\leftthreetimes",!0),we(Ae,$t,us,"⋌","\\rightthreetimes",!0),we(Ae,$t,us,"⋏","\\curlywedge",!0),we(Ae,$t,us,"⋎","\\curlyvee",!0),we(Ae,$t,us,"⊝","\\circleddash",!0),we(Ae,$t,us,"⊛","\\circledast",!0),we(Ae,$t,us,"⋅","\\centerdot"),we(Ae,$t,us,"⊺","\\intercal",!0),we(Ae,$t,us,"⋒","\\doublecap"),we(Ae,$t,us,"⋓","\\doublecup"),we(Ae,$t,us,"⊠","\\boxtimes",!0),we(Ae,$t,Ht,"⇢","\\dashrightarrow",!0),we(Ae,$t,Ht,"⇠","\\dashleftarrow",!0),we(Ae,$t,Ht,"⇇","\\leftleftarrows",!0),we(Ae,$t,Ht,"⇆","\\leftrightarrows",!0),we(Ae,$t,Ht,"⇚","\\Lleftarrow",!0),we(Ae,$t,Ht,"↞","\\twoheadleftarrow",!0),we(Ae,$t,Ht,"↢","\\leftarrowtail",!0),we(Ae,$t,Ht,"↫","\\looparrowleft",!0),we(Ae,$t,Ht,"⇋","\\leftrightharpoons",!0),we(Ae,$t,Ht,"↶","\\curvearrowleft",!0),we(Ae,$t,Ht,"↺","\\circlearrowleft",!0),we(Ae,$t,Ht,"↰","\\Lsh",!0),we(Ae,$t,Ht,"⇈","\\upuparrows",!0),we(Ae,$t,Ht,"↿","\\upharpoonleft",!0),we(Ae,$t,Ht,"⇃","\\downharpoonleft",!0),we(Ae,Ue,Ht,"⊶","\\origof",!0),we(Ae,Ue,Ht,"⊷","\\imageof",!0),we(Ae,$t,Ht,"⊸","\\multimap",!0),we(Ae,$t,Ht,"↭","\\leftrightsquigarrow",!0),we(Ae,$t,Ht,"⇉","\\rightrightarrows",!0),we(Ae,$t,Ht,"⇄","\\rightleftarrows",!0),we(Ae,$t,Ht,"↠","\\twoheadrightarrow",!0),we(Ae,$t,Ht,"↣","\\rightarrowtail",!0),we(Ae,$t,Ht,"↬","\\looparrowright",!0),we(Ae,$t,Ht,"↷","\\curvearrowright",!0),we(Ae,$t,Ht,"↻","\\circlearrowright",!0),we(Ae,$t,Ht,"↱","\\Rsh",!0),we(Ae,$t,Ht,"⇊","\\downdownarrows",!0),we(Ae,$t,Ht,"↾","\\upharpoonright",!0),we(Ae,$t,Ht,"⇂","\\downharpoonright",!0),we(Ae,$t,Ht,"⇝","\\rightsquigarrow",!0),we(Ae,$t,Ht,"⇝","\\leadsto"),we(Ae,$t,Ht,"⇛","\\Rrightarrow",!0),we(Ae,$t,Ht,"↾","\\restriction"),we(Ae,Ue,vn,"‘","`"),we(Ae,Ue,vn,"$","\\$"),we(si,Ue,vn,"$","\\$"),we(si,Ue,vn,"$","\\textdollar"),we(Ae,Ue,vn,"%","\\%"),we(si,Ue,vn,"%","\\%"),we(Ae,Ue,vn,"_","\\_"),we(si,Ue,vn,"_","\\_"),we(si,Ue,vn,"_","\\textunderscore"),we(Ae,Ue,vn,"∠","\\angle",!0),we(Ae,Ue,vn,"∞","\\infty",!0),we(Ae,Ue,vn,"′","\\prime"),we(Ae,Ue,vn,"△","\\triangle"),we(Ae,Ue,vn,"Γ","\\Gamma",!0),we(Ae,Ue,vn,"Δ","\\Delta",!0),we(Ae,Ue,vn,"Θ","\\Theta",!0),we(Ae,Ue,vn,"Λ","\\Lambda",!0),we(Ae,Ue,vn,"Ξ","\\Xi",!0),we(Ae,Ue,vn,"Π","\\Pi",!0),we(Ae,Ue,vn,"Σ","\\Sigma",!0),we(Ae,Ue,vn,"Υ","\\Upsilon",!0),we(Ae,Ue,vn,"Φ","\\Phi",!0),we(Ae,Ue,vn,"Ψ","\\Psi",!0),we(Ae,Ue,vn,"Ω","\\Omega",!0),we(Ae,Ue,vn,"A","Α"),we(Ae,Ue,vn,"B","Β"),we(Ae,Ue,vn,"E","Ε"),we(Ae,Ue,vn,"Z","Ζ"),we(Ae,Ue,vn,"H","Η"),we(Ae,Ue,vn,"I","Ι"),we(Ae,Ue,vn,"K","Κ"),we(Ae,Ue,vn,"M","Μ"),we(Ae,Ue,vn,"N","Ν"),we(Ae,Ue,vn,"O","Ο"),we(Ae,Ue,vn,"P","Ρ"),we(Ae,Ue,vn,"T","Τ"),we(Ae,Ue,vn,"X","Χ"),we(Ae,Ue,vn,"¬","\\neg",!0),we(Ae,Ue,vn,"¬","\\lnot"),we(Ae,Ue,vn,"⊤","\\top"),we(Ae,Ue,vn,"⊥","\\bot"),we(Ae,Ue,vn,"∅","\\emptyset"),we(Ae,$t,vn,"∅","\\varnothing"),we(Ae,Ue,Sa,"α","\\alpha",!0),we(Ae,Ue,Sa,"β","\\beta",!0),we(Ae,Ue,Sa,"γ","\\gamma",!0),we(Ae,Ue,Sa,"δ","\\delta",!0),we(Ae,Ue,Sa,"ϵ","\\epsilon",!0),we(Ae,Ue,Sa,"ζ","\\zeta",!0),we(Ae,Ue,Sa,"η","\\eta",!0),we(Ae,Ue,Sa,"θ","\\theta",!0),we(Ae,Ue,Sa,"ι","\\iota",!0),we(Ae,Ue,Sa,"κ","\\kappa",!0),we(Ae,Ue,Sa,"λ","\\lambda",!0),we(Ae,Ue,Sa,"μ","\\mu",!0),we(Ae,Ue,Sa,"ν","\\nu",!0),we(Ae,Ue,Sa,"ξ","\\xi",!0),we(Ae,Ue,Sa,"ο","\\omicron",!0),we(Ae,Ue,Sa,"π","\\pi",!0),we(Ae,Ue,Sa,"ρ","\\rho",!0),we(Ae,Ue,Sa,"σ","\\sigma",!0),we(Ae,Ue,Sa,"τ","\\tau",!0),we(Ae,Ue,Sa,"υ","\\upsilon",!0),we(Ae,Ue,Sa,"ϕ","\\phi",!0),we(Ae,Ue,Sa,"χ","\\chi",!0),we(Ae,Ue,Sa,"ψ","\\psi",!0),we(Ae,Ue,Sa,"ω","\\omega",!0),we(Ae,Ue,Sa,"ε","\\varepsilon",!0),we(Ae,Ue,Sa,"ϑ","\\vartheta",!0),we(Ae,Ue,Sa,"ϖ","\\varpi",!0),we(Ae,Ue,Sa,"ϱ","\\varrho",!0),we(Ae,Ue,Sa,"ς","\\varsigma",!0),we(Ae,Ue,Sa,"φ","\\varphi",!0),we(Ae,Ue,us,"∗","*",!0),we(Ae,Ue,us,"+","+"),we(Ae,Ue,us,"−","-",!0),we(Ae,Ue,us,"⋅","\\cdot",!0),we(Ae,Ue,us,"∘","\\circ",!0),we(Ae,Ue,us,"÷","\\div",!0),we(Ae,Ue,us,"±","\\pm",!0),we(Ae,Ue,us,"×","\\times",!0),we(Ae,Ue,us,"∩","\\cap",!0),we(Ae,Ue,us,"∪","\\cup",!0),we(Ae,Ue,us,"∖","\\setminus",!0),we(Ae,Ue,us,"∧","\\land"),we(Ae,Ue,us,"∨","\\lor"),we(Ae,Ue,us,"∧","\\wedge",!0),we(Ae,Ue,us,"∨","\\vee",!0),we(Ae,Ue,vn,"√","\\surd"),we(Ae,Ue,lm,"⟨","\\langle",!0),we(Ae,Ue,lm,"∣","\\lvert"),we(Ae,Ue,lm,"∥","\\lVert"),we(Ae,Ue,Ip,"?","?"),we(Ae,Ue,Ip,"!","!"),we(Ae,Ue,Ip,"⟩","\\rangle",!0),we(Ae,Ue,Ip,"∣","\\rvert"),we(Ae,Ue,Ip,"∥","\\rVert"),we(Ae,Ue,Ht,"=","="),we(Ae,Ue,Ht,":",":"),we(Ae,Ue,Ht,"≈","\\approx",!0),we(Ae,Ue,Ht,"≅","\\cong",!0),we(Ae,Ue,Ht,"≥","\\ge"),we(Ae,Ue,Ht,"≥","\\geq",!0),we(Ae,Ue,Ht,"←","\\gets"),we(Ae,Ue,Ht,">","\\gt",!0),we(Ae,Ue,Ht,"∈","\\in",!0),we(Ae,Ue,Ht,"","\\@not"),we(Ae,Ue,Ht,"⊂","\\subset",!0),we(Ae,Ue,Ht,"⊃","\\supset",!0),we(Ae,Ue,Ht,"⊆","\\subseteq",!0),we(Ae,Ue,Ht,"⊇","\\supseteq",!0),we(Ae,$t,Ht,"⊈","\\nsubseteq",!0),we(Ae,$t,Ht,"⊉","\\nsupseteq",!0),we(Ae,Ue,Ht,"⊨","\\models"),we(Ae,Ue,Ht,"←","\\leftarrow",!0),we(Ae,Ue,Ht,"≤","\\le"),we(Ae,Ue,Ht,"≤","\\leq",!0),we(Ae,Ue,Ht,"<","\\lt",!0),we(Ae,Ue,Ht,"→","\\rightarrow",!0),we(Ae,Ue,Ht,"→","\\to"),we(Ae,$t,Ht,"≱","\\ngeq",!0),we(Ae,$t,Ht,"≰","\\nleq",!0),we(Ae,Ue,D7," ","\\ "),we(Ae,Ue,D7," ","\\space"),we(Ae,Ue,D7," ","\\nobreakspace"),we(si,Ue,D7," ","\\ "),we(si,Ue,D7," "," "),we(si,Ue,D7," ","\\space"),we(si,Ue,D7," ","\\nobreakspace"),we(Ae,Ue,D7,null,"\\nobreak"),we(Ae,Ue,D7,null,"\\allowbreak"),we(Ae,Ue,aQ,",",","),we(Ae,Ue,aQ,";",";"),we(Ae,$t,us,"⊼","\\barwedge",!0),we(Ae,$t,us,"⊻","\\veebar",!0),we(Ae,Ue,us,"⊙","\\odot",!0),we(Ae,Ue,us,"⊕","\\oplus",!0),we(Ae,Ue,us,"⊗","\\otimes",!0),we(Ae,Ue,vn,"∂","\\partial",!0),we(Ae,Ue,us,"⊘","\\oslash",!0),we(Ae,$t,us,"⊚","\\circledcirc",!0),we(Ae,$t,us,"⊡","\\boxdot",!0),we(Ae,Ue,us,"△","\\bigtriangleup"),we(Ae,Ue,us,"▽","\\bigtriangledown"),we(Ae,Ue,us,"†","\\dagger"),we(Ae,Ue,us,"⋄","\\diamond"),we(Ae,Ue,us,"⋆","\\star"),we(Ae,Ue,us,"◃","\\triangleleft"),we(Ae,Ue,us,"▹","\\triangleright"),we(Ae,Ue,lm,"{","\\{"),we(si,Ue,vn,"{","\\{"),we(si,Ue,vn,"{","\\textbraceleft"),we(Ae,Ue,Ip,"}","\\}"),we(si,Ue,vn,"}","\\}"),we(si,Ue,vn,"}","\\textbraceright"),we(Ae,Ue,lm,"{","\\lbrace"),we(Ae,Ue,Ip,"}","\\rbrace"),we(Ae,Ue,lm,"[","\\lbrack",!0),we(si,Ue,vn,"[","\\lbrack",!0),we(Ae,Ue,Ip,"]","\\rbrack",!0),we(si,Ue,vn,"]","\\rbrack",!0),we(Ae,Ue,lm,"(","\\lparen",!0),we(Ae,Ue,Ip,")","\\rparen",!0),we(si,Ue,vn,"<","\\textless",!0),we(si,Ue,vn,">","\\textgreater",!0),we(Ae,Ue,lm,"⌊","\\lfloor",!0),we(Ae,Ue,Ip,"⌋","\\rfloor",!0),we(Ae,Ue,lm,"⌈","\\lceil",!0),we(Ae,Ue,Ip,"⌉","\\rceil",!0),we(Ae,Ue,vn,"\\","\\backslash"),we(Ae,Ue,vn,"∣","|"),we(Ae,Ue,vn,"∣","\\vert"),we(si,Ue,vn,"|","\\textbar",!0),we(Ae,Ue,vn,"∥","\\|"),we(Ae,Ue,vn,"∥","\\Vert"),we(si,Ue,vn,"∥","\\textbardbl"),we(si,Ue,vn,"~","\\textasciitilde"),we(si,Ue,vn,"\\","\\textbackslash"),we(si,Ue,vn,"^","\\textasciicircum"),we(Ae,Ue,Ht,"↑","\\uparrow",!0),we(Ae,Ue,Ht,"⇑","\\Uparrow",!0),we(Ae,Ue,Ht,"↓","\\downarrow",!0),we(Ae,Ue,Ht,"⇓","\\Downarrow",!0),we(Ae,Ue,Ht,"↕","\\updownarrow",!0),we(Ae,Ue,Ht,"⇕","\\Updownarrow",!0),we(Ae,Ue,I0,"∐","\\coprod"),we(Ae,Ue,I0,"⋁","\\bigvee"),we(Ae,Ue,I0,"⋀","\\bigwedge"),we(Ae,Ue,I0,"⨄","\\biguplus"),we(Ae,Ue,I0,"⋂","\\bigcap"),we(Ae,Ue,I0,"⋃","\\bigcup"),we(Ae,Ue,I0,"∫","\\int"),we(Ae,Ue,I0,"∫","\\intop"),we(Ae,Ue,I0,"∬","\\iint"),we(Ae,Ue,I0,"∭","\\iiint"),we(Ae,Ue,I0,"∏","\\prod"),we(Ae,Ue,I0,"∑","\\sum"),we(Ae,Ue,I0,"⨂","\\bigotimes"),we(Ae,Ue,I0,"⨁","\\bigoplus"),we(Ae,Ue,I0,"⨀","\\bigodot"),we(Ae,Ue,I0,"∮","\\oint"),we(Ae,Ue,I0,"∯","\\oiint"),we(Ae,Ue,I0,"∰","\\oiiint"),we(Ae,Ue,I0,"⨆","\\bigsqcup"),we(Ae,Ue,I0,"∫","\\smallint"),we(si,Ue,OD,"…","\\textellipsis"),we(Ae,Ue,OD,"…","\\mathellipsis"),we(si,Ue,OD,"…","\\ldots",!0),we(Ae,Ue,OD,"…","\\ldots",!0),we(Ae,Ue,OD,"⋯","\\@cdots",!0),we(Ae,Ue,OD,"⋱","\\ddots",!0),we(Ae,Ue,vn,"⋮","\\varvdots"),we(Ae,Ue,kh,"ˊ","\\acute"),we(Ae,Ue,kh,"ˋ","\\grave"),we(Ae,Ue,kh,"¨","\\ddot"),we(Ae,Ue,kh,"~","\\tilde"),we(Ae,Ue,kh,"ˉ","\\bar"),we(Ae,Ue,kh,"˘","\\breve"),we(Ae,Ue,kh,"ˇ","\\check"),we(Ae,Ue,kh,"^","\\hat"),we(Ae,Ue,kh,"⃗","\\vec"),we(Ae,Ue,kh,"˙","\\dot"),we(Ae,Ue,kh,"˚","\\mathring"),we(Ae,Ue,Sa,"","\\@imath"),we(Ae,Ue,Sa,"","\\@jmath"),we(Ae,Ue,vn,"ı","ı"),we(Ae,Ue,vn,"ȷ","ȷ"),we(si,Ue,vn,"ı","\\i",!0),we(si,Ue,vn,"ȷ","\\j",!0),we(si,Ue,vn,"ß","\\ss",!0),we(si,Ue,vn,"æ","\\ae",!0),we(si,Ue,vn,"œ","\\oe",!0),we(si,Ue,vn,"ø","\\o",!0),we(si,Ue,vn,"Æ","\\AE",!0),we(si,Ue,vn,"Œ","\\OE",!0),we(si,Ue,vn,"Ø","\\O",!0),we(si,Ue,kh,"ˊ","\\'"),we(si,Ue,kh,"ˋ","\\`"),we(si,Ue,kh,"ˆ","\\^"),we(si,Ue,kh,"˜","\\~"),we(si,Ue,kh,"ˉ","\\="),we(si,Ue,kh,"˘","\\u"),we(si,Ue,kh,"˙","\\."),we(si,Ue,kh,"¸","\\c"),we(si,Ue,kh,"˚","\\r"),we(si,Ue,kh,"ˇ","\\v"),we(si,Ue,kh,"¨",'\\"'),we(si,Ue,kh,"˝","\\H"),we(si,Ue,kh,"◯","\\textcircled");var sze={"--":!0,"---":!0,"``":!0,"''":!0};we(si,Ue,vn,"–","--",!0),we(si,Ue,vn,"–","\\textendash"),we(si,Ue,vn,"—","---",!0),we(si,Ue,vn,"—","\\textemdash"),we(si,Ue,vn,"‘","`",!0),we(si,Ue,vn,"‘","\\textquoteleft"),we(si,Ue,vn,"’","'",!0),we(si,Ue,vn,"’","\\textquoteright"),we(si,Ue,vn,"“","``",!0),we(si,Ue,vn,"“","\\textquotedblleft"),we(si,Ue,vn,"”","''",!0),we(si,Ue,vn,"”","\\textquotedblright"),we(Ae,Ue,vn,"°","\\degree",!0),we(si,Ue,vn,"°","\\degree"),we(si,Ue,vn,"°","\\textdegree",!0),we(Ae,Ue,vn,"£","\\pounds"),we(Ae,Ue,vn,"£","\\mathsterling",!0),we(si,Ue,vn,"£","\\pounds"),we(si,Ue,vn,"£","\\textsterling",!0),we(Ae,$t,vn,"✠","\\maltese"),we(si,$t,vn,"✠","\\maltese");for(var aze='0123456789/@."',rbe=0;rbe0)return F3(v,_,p,u,b.concat(A));if(T){var P,R;if(T==="boldsymbol"){var F=EHt(v,p,u,b,d);P=F.fontName,R=[F.fontClass]}else y?(P=dze[T].fontName,R=[T]):(P=fQ(T,u.fontWeight,u.fontShape),R=[T,u.fontWeight,u.fontShape]);if(hQ(v,P,p).metrics)return F3(v,P,p,u,b.concat(R));if(sze.hasOwnProperty(v)&&P.slice(0,10)==="Typewriter"){for(var j=[],W=0;W{if(E9(i.classes)!==E9(s.classes)||i.skew!==s.skew||i.maxFontSize!==s.maxFontSize)return!1;if(i.classes.length===1){var u=i.classes[0];if(u==="mbin"||u==="mord")return!1}for(var d in i.style)if(i.style.hasOwnProperty(d)&&i.style[d]!==s.style[d])return!1;for(var p in s.style)if(s.style.hasOwnProperty(p)&&i.style[p]!==s.style[p])return!1;return!0},SHt=i=>{for(var s=0;su&&(u=b.height),b.depth>d&&(d=b.depth),b.maxFontSize>p&&(p=b.maxFontSize)}s.height=u,s.depth=d,s.maxFontSize=p},j2=function(s,u,d,p){var v=new uR(s,u,d,p);return cbe(v),v},hze=(i,s,u,d)=>new uR(i,s,u,d),_Ht=function(s,u,d){var p=j2([s],[],u);return p.height=Math.max(d||u.fontMetrics().defaultRuleThickness,u.minRuleThickness),p.style.borderBottomWidth=ji(p.height),p.maxFontSize=1,p},AHt=function(s,u,d,p){var v=new tbe(s,u,d,p);return cbe(v),v},fze=function(s){var u=new cR(s);return cbe(u),u},LHt=function(s,u){return s instanceof cR?j2([],[s],u):s},MHt=function(s){if(s.positionType==="individualShift"){for(var u=s.children,d=[u[0]],p=-u[0].shift-u[0].elem.depth,v=p,b=1;b{var u=j2(["mspace"],[],s),d=Gh(i,s);return u.style.marginRight=ji(d),u},fQ=function(s,u,d){var p="";switch(s){case"amsrm":p="AMS";break;case"textrm":p="Main";break;case"textsf":p="SansSerif";break;case"texttt":p="Typewriter";break;default:p=s}var v;return u==="textbf"&&d==="textit"?v="BoldItalic":u==="textbf"?v="Bold":u==="textit"?v="Italic":v="Regular",p+"-"+v},dze={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},gze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},OHt=function(s,u){var[d,p,v]=gze[s],b=new T9(d),y=new M7([b],{width:ji(p),height:ji(v),style:"width:"+ji(p),viewBox:"0 0 "+1e3*p+" "+1e3*v,preserveAspectRatio:"xMinYMin"}),T=hze(["overlay"],[y],u);return T.height=v,T.style.height=ji(v),T.style.width=ji(p),T},Hn={fontMap:dze,makeSymbol:F3,mathsym:kHt,makeSpan:j2,makeSvgSpan:hze,makeLineSpan:_Ht,makeAnchor:AHt,makeFragment:fze,wrapFragment:LHt,makeVList:DHt,makeOrd:THt,makeGlue:IHt,staticSvg:OHt,svgData:gze,tryCombineChars:SHt},Kh={number:3,unit:"mu"},jC={number:4,unit:"mu"},I7={number:5,unit:"mu"},NHt={mord:{mop:Kh,mbin:jC,mrel:I7,minner:Kh},mop:{mord:Kh,mop:Kh,mrel:I7,minner:Kh},mbin:{mord:jC,mop:jC,mopen:jC,minner:jC},mrel:{mord:I7,mop:I7,mopen:I7,minner:I7},mopen:{},mclose:{mop:Kh,mbin:jC,mrel:I7,minner:Kh},mpunct:{mord:Kh,mop:Kh,mrel:I7,mopen:Kh,mclose:Kh,mpunct:Kh,minner:Kh},minner:{mord:Kh,mop:Kh,mbin:jC,mrel:I7,mopen:Kh,mpunct:Kh,minner:Kh}},PHt={mord:{mop:Kh},mop:{mord:Kh,mop:Kh},mbin:{},mrel:{},mopen:{},mclose:{mop:Kh},mpunct:{},minner:{mop:Kh}},pze={},dQ={},gQ={};function Ji(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs,argTypes:d.argTypes,allowedInArgument:!!d.allowedInArgument,allowedInText:!!d.allowedInText,allowedInMath:d.allowedInMath===void 0?!0:d.allowedInMath,numOptionalArgs:d.numOptionalArgs||0,infix:!!d.infix,primitive:!!d.primitive,handler:p},T=0;T{var ee=W.classes[0],ie=j.classes[0];ee==="mbin"&&pa.contains(FHt,ie)?W.classes[0]="mord":ie==="mbin"&&pa.contains(BHt,ee)&&(j.classes[0]="mord")},{node:P},R,F),bze(v,(j,W)=>{var ee=ube(W),ie=ube(j),oe=ee&&ie?j.hasClass("mtight")?PHt[ee][ie]:NHt[ee][ie]:null;if(oe)return Hn.makeGlue(oe,_)},{node:P},R,F),v},bze=function i(s,u,d,p,v){p&&s.push(p);for(var b=0;bR=>{s.splice(P+1,0,R),b++})(b)}p&&s.pop()},mze=function(s){return s instanceof cR||s instanceof tbe||s instanceof uR&&s.hasClass("enclosing")?s:null},$Ht=function i(s,u){var d=mze(s);if(d){var p=d.children;if(p.length){if(u==="right")return i(p[p.length-1],"right");if(u==="left")return i(p[0],"left")}}return s},ube=function(s,u){return s?(u&&(s=$Ht(s,u)),jHt[s.classes[0]]||null):null},lR=function(s,u){var d=["nulldelimiter"].concat(s.baseSizingClasses());return O7(u.concat(d))},uu=function(s,u,d){if(!s)return O7();if(dQ[s.type]){var p=dQ[s.type](s,u);if(d&&u.size!==d.size){p=O7(u.sizingClasses(d),[p],u);var v=u.sizeMultiplier/d.sizeMultiplier;p.height*=v,p.depth*=v}return p}else throw new Si("Got group of unknown type: '"+s.type+"'")};function bQ(i,s){var u=O7(["base"],i,s),d=O7(["strut"]);return d.style.height=ji(u.height+u.depth),u.depth&&(d.style.verticalAlign=ji(-u.depth)),u.children.unshift(d),u}function lbe(i,s){var u=null;i.length===1&&i[0].type==="tag"&&(u=i[0].tag,i=i[0].body);var d=l1(i,s,"root"),p;d.length===2&&d[1].hasClass("tag")&&(p=d.pop());for(var v=[],b=[],y=0;y0&&(v.push(bQ(b,s)),b=[]),v.push(d[y]));b.length>0&&v.push(bQ(b,s));var _;u?(_=bQ(l1(u,s,!0)),_.classes=["tag"],v.push(_)):p&&v.push(p);var A=O7(["katex-html"],v);if(A.setAttribute("aria-hidden","true"),_){var P=_.children[0];P.style.height=ji(A.height+A.depth),A.depth&&(P.style.verticalAlign=ji(-A.depth))}return A}function vze(i){return new cR(i)}class Rv{constructor(s,u,d){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=s,this.attributes={},this.children=u||[],this.classes=d||[]}setAttribute(s,u){this.attributes[s]=u}getAttribute(s){return this.attributes[s]}toNode(){var s=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&s.setAttribute(u,this.attributes[u]);this.classes.length>0&&(s.className=E9(this.classes));for(var d=0;d0&&(s+=' class ="'+pa.escape(E9(this.classes))+'"'),s+=">";for(var d=0;d",s}toText(){return this.children.map(s=>s.toText()).join("")}}class hR{constructor(s){this.text=void 0,this.text=s}toNode(){return document.createTextNode(this.text)}toMarkup(){return pa.escape(this.toText())}toText(){return this.text}}class zHt{constructor(s){this.width=void 0,this.character=void 0,this.width=s,s>=.05555&&s<=.05556?this.character=" ":s>=.1666&&s<=.1667?this.character=" ":s>=.2222&&s<=.2223?this.character=" ":s>=.2777&&s<=.2778?this.character=" ":s>=-.05556&&s<=-.05555?this.character=" ":s>=-.1667&&s<=-.1666?this.character=" ":s>=-.2223&&s<=-.2222?this.character=" ":s>=-.2778&&s<=-.2777?this.character=" ":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var s=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return s.setAttribute("width",ji(this.width)),s}toMarkup(){return this.character?""+this.character+" ":' '}toText(){return this.character?this.character:" "}}var wi={MathNode:Rv,TextNode:hR,SpaceNode:zHt,newDocumentFragment:vze},jv=function(s,u,d){return Ul[u][s]&&Ul[u][s].replace&&s.charCodeAt(0)!==55349&&!(sze.hasOwnProperty(s)&&d&&(d.fontFamily&&d.fontFamily.slice(4,6)==="tt"||d.font&&d.font.slice(4,6)==="tt"))&&(s=Ul[u][s].replace),new wi.TextNode(s)},hbe=function(s){return s.length===1?s[0]:new wi.MathNode("mrow",s)},fbe=function(s,u){if(u.fontFamily==="texttt")return"monospace";if(u.fontFamily==="textsf")return u.fontShape==="textit"&&u.fontWeight==="textbf"?"sans-serif-bold-italic":u.fontShape==="textit"?"sans-serif-italic":u.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(u.fontShape==="textit"&&u.fontWeight==="textbf")return"bold-italic";if(u.fontShape==="textit")return"italic";if(u.fontWeight==="textbf")return"bold";var d=u.font;if(!d||d==="mathnormal")return null;var p=s.mode;if(d==="mathit")return"italic";if(d==="boldsymbol")return s.type==="textord"?"bold":"bold-italic";if(d==="mathbf")return"bold";if(d==="mathbb")return"double-struck";if(d==="mathfrak")return"fraktur";if(d==="mathscr"||d==="mathcal")return"script";if(d==="mathsf")return"sans-serif";if(d==="mathtt")return"monospace";var v=s.text;if(pa.contains(["\\imath","\\jmath"],v))return null;Ul[p][v]&&Ul[p][v].replace&&(v=Ul[p][v].replace);var b=Hn.fontMap[d].fontName;return J2e(v,b,p)?Hn.fontMap[d].variant:null},$2=function(s,u,d){if(s.length===1){var p=Dl(s[0],u);return d&&p instanceof Rv&&p.type==="mo"&&(p.setAttribute("lspace","0em"),p.setAttribute("rspace","0em")),[p]}for(var v=[],b,y=0;y0&&(P.text=P.text.slice(0,1)+"̸"+P.text.slice(1),v.pop())}}}v.push(T),b=T}return v},S9=function(s,u,d){return hbe($2(s,u,d))},Dl=function(s,u){if(!s)return new wi.MathNode("mrow");if(gQ[s.type]){var d=gQ[s.type](s,u);return d}else throw new Si("Got group of unknown type: '"+s.type+"'")};function wze(i,s,u,d,p){var v=$2(i,u),b;v.length===1&&v[0]instanceof Rv&&pa.contains(["mrow","mtable"],v[0].type)?b=v[0]:b=new wi.MathNode("mrow",v);var y=new wi.MathNode("annotation",[new wi.TextNode(s)]);y.setAttribute("encoding","application/x-tex");var T=new wi.MathNode("semantics",[b,y]),_=new wi.MathNode("math",[T]);_.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),d&&_.setAttribute("display","block");var A=p?"katex":"katex-mathml";return Hn.makeSpan([A],[_])}var yze=function(s){return new L7({style:s.displayMode?Ca.DISPLAY:Ca.TEXT,maxSize:s.maxSize,minRuleThickness:s.minRuleThickness})},xze=function(s,u){if(u.displayMode){var d=["katex-display"];u.leqno&&d.push("leqno"),u.fleqn&&d.push("fleqn"),s=Hn.makeSpan(d,[s])}return s},qHt=function(s,u,d){var p=yze(d),v;if(d.output==="mathml")return wze(s,u,p,d.displayMode,!0);if(d.output==="html"){var b=lbe(s,p);v=Hn.makeSpan(["katex"],[b])}else{var y=wze(s,u,p,d.displayMode,!1),T=lbe(s,p);v=Hn.makeSpan(["katex"],[y,T])}return xze(v,d)},HHt=function(s,u,d){var p=yze(d),v=lbe(s,p),b=Hn.makeSpan(["katex"],[v]);return xze(b,d)},VHt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},UHt=function(s){var u=new wi.MathNode("mo",[new wi.TextNode(VHt[s.replace(/^\\/,"")])]);return u.setAttribute("stretchy","true"),u},GHt={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]},KHt=function(s){return s.type==="ordgroup"?s.body.length:1},WHt=function(s,u){function d(){var y=4e5,T=s.label.slice(1);if(pa.contains(["widehat","widecheck","widetilde","utilde"],T)){var _=s,A=KHt(_.base),P,R,F;if(A>5)T==="widehat"||T==="widecheck"?(P=420,y=2364,F=.42,R=T+"4"):(P=312,y=2340,F=.34,R="tilde4");else{var j=[1,1,2,2,3,3][A];T==="widehat"||T==="widecheck"?(y=[0,1062,2364,2364,2364][j],P=[0,239,300,360,420][j],F=[0,.24,.3,.3,.36,.42][j],R=T+j):(y=[0,600,1033,2339,2340][j],P=[0,260,286,306,312][j],F=[0,.26,.286,.3,.306,.34][j],R="tilde"+j)}var W=new T9(R),ee=new M7([W],{width:"100%",height:ji(F),viewBox:"0 0 "+y+" "+P,preserveAspectRatio:"none"});return{span:Hn.makeSvgSpan([],[ee],u),minWidth:0,height:F}}else{var ie=[],oe=GHt[T],[be,ge,ae]=oe,ne=ae/1e3,se=be.length,de,X;if(se===1){var pe=oe[3];de=["hide-tail"],X=[pe]}else if(se===2)de=["halfarrow-left","halfarrow-right"],X=["xMinYMin","xMaxYMin"];else if(se===3)de=["brace-left","brace-center","brace-right"],X=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
- `+se+" children.");for(var G=0;G0&&(p.style.minWidth=ji(v)),p},YHt=function(s,u,d,p,v){var b,y=s.height+s.depth+d+p;if(/fbox|color|angl/.test(u)){if(b=Hn.makeSpan(["stretchy",u],[],v),u==="fbox"){var T=v.color&&v.getColor();T&&(b.style.borderColor=T)}}else{var _=[];/^[bx]cancel$/.test(u)&&_.push(new nbe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(u)&&_.push(new nbe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var A=new M7(_,{width:"100%",height:ji(y)});b=Hn.makeSvgSpan([],[A],v)}return b.height=y,b.style.height=ji(y),b},N7={encloseSpan:YHt,mathMLnode:UHt,svgSpan:WHt};function Ko(i,s){if(!i||i.type!==s)throw new Error("Expected node of type "+s+", but got "+(i?"node of type "+i.type:String(i)));return i}function dbe(i){var s=mQ(i);if(!s)throw new Error("Expected node of symbol group type, but got "+(i?"node of type "+i.type:String(i)));return s}function mQ(i){return i&&(i.type==="atom"||yHt.hasOwnProperty(i.type))?i:null}var gbe=(i,s)=>{var u,d,p;i&&i.type==="supsub"?(d=Ko(i.base,"accent"),u=d.base,i.base=u,p=vHt(uu(i,s)),i.base=d):(d=Ko(i,"accent"),u=d.base);var v=uu(u,s.havingCrampedStyle()),b=d.isShifty&&pa.isCharacterBox(u),y=0;if(b){var T=pa.getBaseElem(u),_=uu(T,s.havingCrampedStyle());y=ize(_).skew}var A=d.label==="\\c",P=A?v.height+v.depth:Math.min(v.height,s.fontMetrics().xHeight),R;if(d.isStretchy)R=N7.svgSpan(d,s),R=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"elem",elem:R,wrapperClasses:["svg-align"],wrapperStyle:y>0?{width:"calc(100% - "+ji(2*y)+")",marginLeft:ji(2*y)}:void 0}]},s);else{var F,j;d.label==="\\vec"?(F=Hn.staticSvg("vec",s),j=Hn.svgData.vec[1]):(F=Hn.makeOrd({mode:d.mode,text:d.label},s,"textord"),F=ize(F),F.italic=0,j=F.width,A&&(P+=F.depth)),R=Hn.makeSpan(["accent-body"],[F]);var W=d.label==="\\textcircled";W&&(R.classes.push("accent-full"),P=v.height);var ee=y;W||(ee-=j/2),R.style.left=ji(ee),d.label==="\\textcircled"&&(R.style.top=".2em"),R=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:-P},{type:"elem",elem:R}]},s)}var ie=Hn.makeSpan(["mord","accent"],[R],s);return p?(p.children[0]=ie,p.height=Math.max(ie.height,p.height),p.classes[0]="mord",p):ie},kze=(i,s)=>{var u=i.isStretchy?N7.mathMLnode(i.label):new wi.MathNode("mo",[jv(i.label,i.mode)]),d=new wi.MathNode("mover",[Dl(i.base,s),u]);return d.setAttribute("accent","true"),d},XHt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(i=>"\\"+i).join("|"));Ji({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:(i,s)=>{var u=pQ(s[0]),d=!XHt.test(i.funcName),p=!d||i.funcName==="\\widehat"||i.funcName==="\\widetilde"||i.funcName==="\\widecheck";return{type:"accent",mode:i.parser.mode,label:i.funcName,isStretchy:d,isShifty:p,base:u}},htmlBuilder:gbe,mathmlBuilder:kze}),Ji({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(i,s)=>{var u=s[0],d=i.parser.mode;return d==="math"&&(i.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+i.funcName+" works only in text mode"),d="text"),{type:"accent",mode:d,label:i.funcName,isStretchy:!1,isShifty:!0,base:u}},htmlBuilder:gbe,mathmlBuilder:kze}),Ji({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"accentUnder",mode:u.mode,label:d,base:p}},htmlBuilder:(i,s)=>{var u=uu(i.base,s),d=N7.svgSpan(i,s),p=i.label==="\\utilde"?.12:0,v=Hn.makeVList({positionType:"top",positionData:u.height,children:[{type:"elem",elem:d,wrapperClasses:["svg-align"]},{type:"kern",size:p},{type:"elem",elem:u}]},s);return Hn.makeSpan(["mord","accentunder"],[v],s)},mathmlBuilder:(i,s)=>{var u=N7.mathMLnode(i.label),d=new wi.MathNode("munder",[Dl(i.base,s),u]);return d.setAttribute("accentunder","true"),d}});var vQ=i=>{var s=new wi.MathNode("mpadded",i?[i]:[]);return s.setAttribute("width","+0.6em"),s.setAttribute("lspace","0.3em"),s};Ji({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(i,s,u){var{parser:d,funcName:p}=i;return{type:"xArrow",mode:d.mode,label:p,body:s[0],below:u[0]}},htmlBuilder(i,s){var u=s.style,d=s.havingStyle(u.sup()),p=Hn.wrapFragment(uu(i.body,d,s),s),v=i.label.slice(0,2)==="\\x"?"x":"cd";p.classes.push(v+"-arrow-pad");var b;i.below&&(d=s.havingStyle(u.sub()),b=Hn.wrapFragment(uu(i.below,d,s),s),b.classes.push(v+"-arrow-pad"));var y=N7.svgSpan(i,s),T=-s.fontMetrics().axisHeight+.5*y.height,_=-s.fontMetrics().axisHeight-.5*y.height-.111;(p.depth>.25||i.label==="\\xleftequilibrium")&&(_-=p.depth);var A;if(b){var P=-s.fontMetrics().axisHeight+b.height+.5*y.height+.111;A=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T},{type:"elem",elem:b,shift:P}]},s)}else A=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:T}]},s);return A.children[0].children[0].children[1].classes.push("svg-align"),Hn.makeSpan(["mrel","x-arrow"],[A],s)},mathmlBuilder(i,s){var u=N7.mathMLnode(i.label);u.setAttribute("minsize",i.label.charAt(0)==="x"?"1.75em":"3.0em");var d;if(i.body){var p=vQ(Dl(i.body,s));if(i.below){var v=vQ(Dl(i.below,s));d=new wi.MathNode("munderover",[u,v,p])}else d=new wi.MathNode("mover",[u,p])}else if(i.below){var b=vQ(Dl(i.below,s));d=new wi.MathNode("munder",[u,b])}else d=vQ(),d=new wi.MathNode("mover",[u,d]);return d}});var QHt=Hn.makeSpan;function Eze(i,s){var u=l1(i.body,s,!0);return QHt([i.mclass],u,s)}function Tze(i,s){var u,d=$2(i.body,s);return i.mclass==="minner"?u=new wi.MathNode("mpadded",d):i.mclass==="mord"?i.isCharacterBox?(u=d[0],u.type="mi"):u=new wi.MathNode("mi",d):(i.isCharacterBox?(u=d[0],u.type="mo"):u=new wi.MathNode("mo",d),i.mclass==="mbin"?(u.attributes.lspace="0.22em",u.attributes.rspace="0.22em"):i.mclass==="mpunct"?(u.attributes.lspace="0em",u.attributes.rspace="0.17em"):i.mclass==="mopen"||i.mclass==="mclose"?(u.attributes.lspace="0em",u.attributes.rspace="0em"):i.mclass==="minner"&&(u.attributes.lspace="0.0556em",u.attributes.width="+0.1111em")),u}Ji({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"mclass",mode:u.mode,mclass:"m"+d.slice(5),body:Wf(p),isCharacterBox:pa.isCharacterBox(p)}},htmlBuilder:Eze,mathmlBuilder:Tze});var wQ=i=>{var s=i.type==="ordgroup"&&i.body.length?i.body[0]:i;return s.type==="atom"&&(s.family==="bin"||s.family==="rel")?"m"+s.family:"mord"};Ji({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(i,s){var{parser:u}=i;return{type:"mclass",mode:u.mode,mclass:wQ(s[0]),body:Wf(s[1]),isCharacterBox:pa.isCharacterBox(s[1])}}}),Ji({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(i,s){var{parser:u,funcName:d}=i,p=s[1],v=s[0],b;d!=="\\stackrel"?b=wQ(p):b="mrel";var y={type:"op",mode:p.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:d!=="\\stackrel",body:Wf(p)},T={type:"supsub",mode:v.mode,base:y,sup:d==="\\underset"?null:v,sub:d==="\\underset"?v:null};return{type:"mclass",mode:u.mode,mclass:b,body:[T],isCharacterBox:pa.isCharacterBox(T)}},htmlBuilder:Eze,mathmlBuilder:Tze}),Ji({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"pmb",mode:u.mode,mclass:wQ(s[0]),body:Wf(s[0])}},htmlBuilder(i,s){var u=l1(i.body,s,!0),d=Hn.makeSpan([i.mclass],u,s);return d.style.textShadow="0.02em 0.01em 0.04px",d},mathmlBuilder(i,s){var u=$2(i.body,s),d=new wi.MathNode("mstyle",u);return d.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),d}});var JHt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Cze=()=>({type:"styling",body:[],mode:"math",style:"display"}),Sze=i=>i.type==="textord"&&i.text==="@",ZHt=(i,s)=>(i.type==="mathord"||i.type==="atom")&&i.text===s;function eVt(i,s,u){var d=JHt[i];switch(d){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return u.callFunction(d,[s[0]],[s[1]]);case"\\uparrow":case"\\downarrow":{var p=u.callFunction("\\\\cdleft",[s[0]],[]),v={type:"atom",text:d,mode:"math",family:"rel"},b=u.callFunction("\\Big",[v],[]),y=u.callFunction("\\\\cdright",[s[1]],[]),T={type:"ordgroup",mode:"math",body:[p,b,y]};return u.callFunction("\\\\cdparent",[T],[])}case"\\\\cdlongequal":return u.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var _={type:"textord",text:"\\Vert",mode:"math"};return u.callFunction("\\Big",[_],[])}default:return{type:"textord",text:" ",mode:"math"}}}function tVt(i){var s=[];for(i.gullet.beginGroup(),i.gullet.macros.set("\\cr","\\\\\\relax"),i.gullet.beginGroup();;){s.push(i.parseExpression(!1,"\\\\")),i.gullet.endGroup(),i.gullet.beginGroup();var u=i.fetch().text;if(u==="&"||u==="\\\\")i.consume();else if(u==="\\end"){s[s.length-1].length===0&&s.pop();break}else throw new Si("Expected \\\\ or \\cr or \\end",i.nextToken)}for(var d=[],p=[d],v=0;v-1))if("<>AV".indexOf(_)>-1)for(var P=0;P<2;P++){for(var R=!0,F=T+1;FAV=|." after @',b[T]);var j=eVt(_,A,i),W={type:"styling",body:[j],mode:"math",style:"display"};d.push(W),y=Cze()}v%2===0?d.push(y):d.shift(),d=[],p.push(d)}i.gullet.endGroup(),i.gullet.endGroup();var ee=new Array(p[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:p,arraystretch:1,addJot:!0,rowGaps:[null],cols:ee,colSeparationType:"CD",hLinesBeforeRow:new Array(p.length+1).fill([])}}Ji({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"cdlabel",mode:u.mode,side:d.slice(4),label:s[0]}},htmlBuilder(i,s){var u=s.havingStyle(s.style.sup()),d=Hn.wrapFragment(uu(i.label,u,s),s);return d.classes.push("cd-label-"+i.side),d.style.bottom=ji(.8-d.depth),d.height=0,d.depth=0,d},mathmlBuilder(i,s){var u=new wi.MathNode("mrow",[Dl(i.label,s)]);return u=new wi.MathNode("mpadded",[u]),u.setAttribute("width","0"),i.side==="left"&&u.setAttribute("lspace","-1width"),u.setAttribute("voffset","0.7em"),u=new wi.MathNode("mstyle",[u]),u.setAttribute("displaystyle","false"),u.setAttribute("scriptlevel","1"),u}}),Ji({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(i,s){var{parser:u}=i;return{type:"cdlabelparent",mode:u.mode,fragment:s[0]}},htmlBuilder(i,s){var u=Hn.wrapFragment(uu(i.fragment,s),s);return u.classes.push("cd-vert-arrow"),u},mathmlBuilder(i,s){return new wi.MathNode("mrow",[Dl(i.fragment,s)])}}),Ji({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(i,s){for(var{parser:u}=i,d=Ko(s[0],"ordgroup"),p=d.body,v="",b=0;b=1114111)throw new Si("\\@char with invalid code point "+v);return T<=65535?_=String.fromCharCode(T):(T-=65536,_=String.fromCharCode((T>>10)+55296,(T&1023)+56320)),{type:"textord",mode:u.mode,text:_}}});var _ze=(i,s)=>{var u=l1(i.body,s.withColor(i.color),!1);return Hn.makeFragment(u)},Aze=(i,s)=>{var u=$2(i.body,s.withColor(i.color)),d=new wi.MathNode("mstyle",u);return d.setAttribute("mathcolor",i.color),d};Ji({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(i,s){var{parser:u}=i,d=Ko(s[0],"color-token").color,p=s[1];return{type:"color",mode:u.mode,color:d,body:Wf(p)}},htmlBuilder:_ze,mathmlBuilder:Aze}),Ji({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(i,s){var{parser:u,breakOnTokenText:d}=i,p=Ko(s[0],"color-token").color;u.gullet.macros.set("\\current@color",p);var v=u.parseExpression(!0,d);return{type:"color",mode:u.mode,color:p,body:v}},htmlBuilder:_ze,mathmlBuilder:Aze}),Ji({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(i,s,u){var{parser:d}=i,p=d.gullet.future().text==="["?d.parseSizeGroup(!0):null,v=!d.settings.displayMode||!d.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:d.mode,newLine:v,size:p&&Ko(p,"size").value}},htmlBuilder(i,s){var u=Hn.makeSpan(["mspace"],[],s);return i.newLine&&(u.classes.push("newline"),i.size&&(u.style.marginTop=ji(Gh(i.size,s)))),u},mathmlBuilder(i,s){var u=new wi.MathNode("mspace");return i.newLine&&(u.setAttribute("linebreak","newline"),i.size&&u.setAttribute("height",ji(Gh(i.size,s)))),u}});var pbe={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Lze=i=>{var s=i.text;if(/^(?:[\\{}$^_]|EOF)$/.test(s))throw new Si("Expected a control sequence",i);return s},nVt=i=>{var s=i.gullet.popToken();return s.text==="="&&(s=i.gullet.popToken(),s.text===" "&&(s=i.gullet.popToken())),s},Mze=(i,s,u,d)=>{var p=i.gullet.macros.get(u.text);p==null&&(u.noexpand=!0,p={tokens:[u],numArgs:0,unexpandable:!i.gullet.isExpandable(u.text)}),i.gullet.macros.set(s,p,d)};Ji({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s,funcName:u}=i;s.consumeSpaces();var d=s.fetch();if(pbe[d.text])return(u==="\\global"||u==="\\\\globallong")&&(d.text=pbe[d.text]),Ko(s.parseFunction(),"internal");throw new Si("Invalid token after macro prefix",d)}}),Ji({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=s.gullet.popToken(),p=d.text;if(/^(?:[\\{}$^_]|EOF)$/.test(p))throw new Si("Expected a control sequence",d);for(var v=0,b,y=[[]];s.gullet.future().text!=="{";)if(d=s.gullet.popToken(),d.text==="#"){if(s.gullet.future().text==="{"){b=s.gullet.future(),y[v].push("{");break}if(d=s.gullet.popToken(),!/^[1-9]$/.test(d.text))throw new Si('Invalid argument number "'+d.text+'"');if(parseInt(d.text)!==v+1)throw new Si('Argument number "'+d.text+'" out of order');v++,y.push([])}else{if(d.text==="EOF")throw new Si("Expected a macro definition");y[v].push(d.text)}var{tokens:T}=s.gullet.consumeArg();return b&&T.unshift(b),(u==="\\edef"||u==="\\xdef")&&(T=s.gullet.expandTokens(T),T.reverse()),s.gullet.macros.set(p,{tokens:T,numArgs:v,delimiters:y},u===pbe[u]),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=Lze(s.gullet.popToken());s.gullet.consumeSpaces();var p=nVt(s);return Mze(s,d,p,u==="\\\\globallet"),{type:"internal",mode:s.mode}}}),Ji({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:s,funcName:u}=i,d=Lze(s.gullet.popToken()),p=s.gullet.popToken(),v=s.gullet.popToken();return Mze(s,d,v,u==="\\\\globalfuture"),s.gullet.pushToken(v),s.gullet.pushToken(p),{type:"internal",mode:s.mode}}});var fR=function(s,u,d){var p=Ul.math[s]&&Ul.math[s].replace,v=J2e(p||s,u,d);if(!v)throw new Error("Unsupported symbol "+s+" and font size "+u+".");return v},bbe=function(s,u,d,p){var v=d.havingBaseStyle(u),b=Hn.makeSpan(p.concat(v.sizingClasses(d)),[s],d),y=v.sizeMultiplier/d.sizeMultiplier;return b.height*=y,b.depth*=y,b.maxFontSize=v.sizeMultiplier,b},Dze=function(s,u,d){var p=u.havingBaseStyle(d),v=(1-u.sizeMultiplier/p.sizeMultiplier)*u.fontMetrics().axisHeight;s.classes.push("delimcenter"),s.style.top=ji(v),s.height-=v,s.depth+=v},rVt=function(s,u,d,p,v,b){var y=Hn.makeSymbol(s,"Main-Regular",v,p),T=bbe(y,u,p,b);return d&&Dze(T,p,u),T},iVt=function(s,u,d,p){return Hn.makeSymbol(s,"Size"+u+"-Regular",d,p)},Ize=function(s,u,d,p,v,b){var y=iVt(s,u,v,p),T=bbe(Hn.makeSpan(["delimsizing","size"+u],[y],p),Ca.TEXT,p,b);return d&&Dze(T,p,Ca.TEXT),T},mbe=function(s,u,d){var p;u==="Size1-Regular"?p="delim-size1":p="delim-size4";var v=Hn.makeSpan(["delimsizinginner",p],[Hn.makeSpan([],[Hn.makeSymbol(s,u,d)])]);return{type:"elem",elem:v}},vbe=function(s,u,d){var p=G4["Size4-Regular"][s.charCodeAt(0)]?G4["Size4-Regular"][s.charCodeAt(0)][4]:G4["Size1-Regular"][s.charCodeAt(0)][4],v=new T9("inner",lHt(s,Math.round(1e3*u))),b=new M7([v],{width:ji(p),height:ji(u),style:"width:"+ji(p),viewBox:"0 0 "+1e3*p+" "+Math.round(1e3*u),preserveAspectRatio:"xMinYMin"}),y=Hn.makeSvgSpan([],[b],d);return y.height=u,y.style.height=ji(u),y.style.width=ji(p),{type:"elem",elem:y}},wbe=.008,yQ={type:"kern",size:-1*wbe},sVt=["|","\\lvert","\\rvert","\\vert"],aVt=["\\|","\\lVert","\\rVert","\\Vert"],Oze=function(s,u,d,p,v,b){var y,T,_,A,P="",R=0;y=_=A=s,T=null;var F="Size1-Regular";s==="\\uparrow"?_=A="⏐":s==="\\Uparrow"?_=A="‖":s==="\\downarrow"?y=_="⏐":s==="\\Downarrow"?y=_="‖":s==="\\updownarrow"?(y="\\uparrow",_="⏐",A="\\downarrow"):s==="\\Updownarrow"?(y="\\Uparrow",_="‖",A="\\Downarrow"):pa.contains(sVt,s)?(_="∣",P="vert",R=333):pa.contains(aVt,s)?(_="∥",P="doublevert",R=556):s==="["||s==="\\lbrack"?(y="⎡",_="⎢",A="⎣",F="Size4-Regular",P="lbrack",R=667):s==="]"||s==="\\rbrack"?(y="⎤",_="⎥",A="⎦",F="Size4-Regular",P="rbrack",R=667):s==="\\lfloor"||s==="⌊"?(_=y="⎢",A="⎣",F="Size4-Regular",P="lfloor",R=667):s==="\\lceil"||s==="⌈"?(y="⎡",_=A="⎢",F="Size4-Regular",P="lceil",R=667):s==="\\rfloor"||s==="⌋"?(_=y="⎥",A="⎦",F="Size4-Regular",P="rfloor",R=667):s==="\\rceil"||s==="⌉"?(y="⎤",_=A="⎥",F="Size4-Regular",P="rceil",R=667):s==="("||s==="\\lparen"?(y="⎛",_="⎜",A="⎝",F="Size4-Regular",P="lparen",R=875):s===")"||s==="\\rparen"?(y="⎞",_="⎟",A="⎠",F="Size4-Regular",P="rparen",R=875):s==="\\{"||s==="\\lbrace"?(y="⎧",T="⎨",A="⎩",_="⎪",F="Size4-Regular"):s==="\\}"||s==="\\rbrace"?(y="⎫",T="⎬",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lgroup"||s==="⟮"?(y="⎧",A="⎩",_="⎪",F="Size4-Regular"):s==="\\rgroup"||s==="⟯"?(y="⎫",A="⎭",_="⎪",F="Size4-Regular"):s==="\\lmoustache"||s==="⎰"?(y="⎧",A="⎭",_="⎪",F="Size4-Regular"):(s==="\\rmoustache"||s==="⎱")&&(y="⎫",A="⎩",_="⎪",F="Size4-Regular");var j=fR(y,F,v),W=j.height+j.depth,ee=fR(_,F,v),ie=ee.height+ee.depth,oe=fR(A,F,v),be=oe.height+oe.depth,ge=0,ae=1;if(T!==null){var ne=fR(T,F,v);ge=ne.height+ne.depth,ae=2}var se=W+be+ge,de=Math.max(0,Math.ceil((u-se)/(ae*ie))),X=se+de*ae*ie,pe=p.fontMetrics().axisHeight;d&&(pe*=p.sizeMultiplier);var G=X/2-pe,xe=[];if(P.length>0){var U=X-W-be,Be=Math.round(X*1e3),Ne=hHt(P,Math.round(U*1e3)),je=new T9(P,Ne),Ie=(R/1e3).toFixed(3)+"em",Se=(Be/1e3).toFixed(3)+"em",Ce=new M7([je],{width:Ie,height:Se,viewBox:"0 0 "+R+" "+Be}),ke=Hn.makeSvgSpan([],[Ce],p);ke.height=Be/1e3,ke.style.width=Ie,ke.style.height=Se,xe.push({type:"elem",elem:ke})}else{if(xe.push(mbe(A,F,v)),xe.push(yQ),T===null){var Ke=X-W-be+2*wbe;xe.push(vbe(_,Ke,p))}else{var Ft=(X-W-be-ge)/2+2*wbe;xe.push(vbe(_,Ft,p)),xe.push(yQ),xe.push(mbe(T,F,v)),xe.push(yQ),xe.push(vbe(_,Ft,p))}xe.push(yQ),xe.push(mbe(y,F,v))}var Pe=p.havingBaseStyle(Ca.TEXT),gn=Hn.makeVList({positionType:"bottom",positionData:G,children:xe},Pe);return bbe(Hn.makeSpan(["delimsizing","mult"],[gn],Pe),Ca.TEXT,p,b)},ybe=80,xbe=.08,kbe=function(s,u,d,p,v){var b=uHt(s,p,d),y=new T9(s,b),T=new M7([y],{width:"400em",height:ji(u),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});return Hn.makeSvgSpan(["hide-tail"],[T],v)},oVt=function(s,u){var d=u.havingBaseSizing(),p=Fze("\\surd",s*d.sizeMultiplier,Bze,d),v=d.sizeMultiplier,b=Math.max(0,u.minRuleThickness-u.fontMetrics().sqrtRuleThickness),y,T=0,_=0,A=0,P;return p.type==="small"?(A=1e3+1e3*b+ybe,s<1?v=1:s<1.4&&(v=.7),T=(1+b+xbe)/v,_=(1+b)/v,y=kbe("sqrtMain",T,A,b,u),y.style.minWidth="0.853em",P=.833/v):p.type==="large"?(A=(1e3+ybe)*dR[p.size],_=(dR[p.size]+b)/v,T=(dR[p.size]+b+xbe)/v,y=kbe("sqrtSize"+p.size,T,A,b,u),y.style.minWidth="1.02em",P=1/v):(T=s+b+xbe,_=s+b,A=Math.floor(1e3*s+b)+ybe,y=kbe("sqrtTall",T,A,b,u),y.style.minWidth="0.742em",P=1.056),y.height=_,y.style.height=ji(T),{span:y,advanceWidth:P,ruleWidth:(u.fontMetrics().sqrtRuleThickness+b)*v}},Nze=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],cVt=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Pze=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],dR=[0,1.2,1.8,2.4,3],uVt=function(s,u,d,p,v){if(s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle"),pa.contains(Nze,s)||pa.contains(Pze,s))return Ize(s,u,!1,d,p,v);if(pa.contains(cVt,s))return Oze(s,dR[u],!1,d,p,v);throw new Si("Illegal delimiter: '"+s+"'")},lVt=[{type:"small",style:Ca.SCRIPTSCRIPT},{type:"small",style:Ca.SCRIPT},{type:"small",style:Ca.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],hVt=[{type:"small",style:Ca.SCRIPTSCRIPT},{type:"small",style:Ca.SCRIPT},{type:"small",style:Ca.TEXT},{type:"stack"}],Bze=[{type:"small",style:Ca.SCRIPTSCRIPT},{type:"small",style:Ca.SCRIPT},{type:"small",style:Ca.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],fVt=function(s){if(s.type==="small")return"Main-Regular";if(s.type==="large")return"Size"+s.size+"-Regular";if(s.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+s.type+"' here.")},Fze=function(s,u,d,p){for(var v=Math.min(2,3-p.style.size),b=v;bu)return d[b]}return d[d.length-1]},Rze=function(s,u,d,p,v,b){s==="<"||s==="\\lt"||s==="⟨"?s="\\langle":(s===">"||s==="\\gt"||s==="⟩")&&(s="\\rangle");var y;pa.contains(Pze,s)?y=lVt:pa.contains(Nze,s)?y=Bze:y=hVt;var T=Fze(s,u,y,p);return T.type==="small"?rVt(s,T.style,d,p,v,b):T.type==="large"?Ize(s,T.size,d,p,v,b):Oze(s,u,d,p,v,b)},dVt=function(s,u,d,p,v,b){var y=p.fontMetrics().axisHeight*p.sizeMultiplier,T=901,_=5/p.fontMetrics().ptPerEm,A=Math.max(u-y,d+y),P=Math.max(A/500*T,2*A-_);return Rze(s,P,!0,p,v,b)},P7={sqrtImage:oVt,sizedDelim:uVt,sizeToMaxHeight:dR,customSizedDelim:Rze,leftRightDelim:dVt},jze={"\\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}},gVt=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function xQ(i,s){var u=mQ(i);if(u&&pa.contains(gVt,u.text))return u;throw u?new Si("Invalid delimiter '"+u.text+"' after '"+s.funcName+"'",i):new Si("Invalid delimiter type '"+i.type+"'",i)}Ji({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:(i,s)=>{var u=xQ(s[0],i);return{type:"delimsizing",mode:i.parser.mode,size:jze[i.funcName].size,mclass:jze[i.funcName].mclass,delim:u.text}},htmlBuilder:(i,s)=>i.delim==="."?Hn.makeSpan([i.mclass]):P7.sizedDelim(i.delim,i.size,s,i.mode,[i.mclass]),mathmlBuilder:i=>{var s=[];i.delim!=="."&&s.push(jv(i.delim,i.mode));var u=new wi.MathNode("mo",s);i.mclass==="mopen"||i.mclass==="mclose"?u.setAttribute("fence","true"):u.setAttribute("fence","false"),u.setAttribute("stretchy","true");var d=ji(P7.sizeToMaxHeight[i.size]);return u.setAttribute("minsize",d),u.setAttribute("maxsize",d),u}});function $ze(i){if(!i.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Ji({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=i.parser.gullet.macros.get("\\current@color");if(u&&typeof u!="string")throw new Si("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:i.parser.mode,delim:xQ(s[0],i).text,color:u}}}),Ji({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=xQ(s[0],i),d=i.parser;++d.leftrightDepth;var p=d.parseExpression(!1);--d.leftrightDepth,d.expect("\\right",!1);var v=Ko(d.parseFunction(),"leftright-right");return{type:"leftright",mode:d.mode,body:p,left:u.text,right:v.delim,rightColor:v.color}},htmlBuilder:(i,s)=>{$ze(i);for(var u=l1(i.body,s,!0,["mopen","mclose"]),d=0,p=0,v=!1,b=0;b{$ze(i);var u=$2(i.body,s);if(i.left!=="."){var d=new wi.MathNode("mo",[jv(i.left,i.mode)]);d.setAttribute("fence","true"),u.unshift(d)}if(i.right!=="."){var p=new wi.MathNode("mo",[jv(i.right,i.mode)]);p.setAttribute("fence","true"),i.rightColor&&p.setAttribute("mathcolor",i.rightColor),u.push(p)}return hbe(u)}}),Ji({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var u=xQ(s[0],i);if(!i.parser.leftrightDepth)throw new Si("\\middle without preceding \\left",u);return{type:"middle",mode:i.parser.mode,delim:u.text}},htmlBuilder:(i,s)=>{var u;if(i.delim===".")u=lR(s,[]);else{u=P7.sizedDelim(i.delim,1,s,i.mode,[]);var d={delim:i.delim,options:s};u.isMiddle=d}return u},mathmlBuilder:(i,s)=>{var u=i.delim==="\\vert"||i.delim==="|"?jv("|","text"):jv(i.delim,i.mode),d=new wi.MathNode("mo",[u]);return d.setAttribute("fence","true"),d.setAttribute("lspace","0.05em"),d.setAttribute("rspace","0.05em"),d}});var Ebe=(i,s)=>{var u=Hn.wrapFragment(uu(i.body,s),s),d=i.label.slice(1),p=s.sizeMultiplier,v,b=0,y=pa.isCharacterBox(i.body);if(d==="sout")v=Hn.makeSpan(["stretchy","sout"]),v.height=s.fontMetrics().defaultRuleThickness/p,b=-.5*s.fontMetrics().xHeight;else if(d==="phase"){var T=Gh({number:.6,unit:"pt"},s),_=Gh({number:.35,unit:"ex"},s),A=s.havingBaseSizing();p=p/A.sizeMultiplier;var P=u.height+u.depth+T+_;u.style.paddingLeft=ji(P/2+T);var R=Math.floor(1e3*P*p),F=oHt(R),j=new M7([new T9("phase",F)],{width:"400em",height:ji(R/1e3),viewBox:"0 0 400000 "+R,preserveAspectRatio:"xMinYMin slice"});v=Hn.makeSvgSpan(["hide-tail"],[j],s),v.style.height=ji(P),b=u.depth+T+_}else{/cancel/.test(d)?y||u.classes.push("cancel-pad"):d==="angl"?u.classes.push("anglpad"):u.classes.push("boxpad");var W=0,ee=0,ie=0;/box/.test(d)?(ie=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness),W=s.fontMetrics().fboxsep+(d==="colorbox"?0:ie),ee=W):d==="angl"?(ie=Math.max(s.fontMetrics().defaultRuleThickness,s.minRuleThickness),W=4*ie,ee=Math.max(0,.25-u.depth)):(W=y?.2:0,ee=W),v=N7.encloseSpan(u,d,W,ee,s),/fbox|boxed|fcolorbox/.test(d)?(v.style.borderStyle="solid",v.style.borderWidth=ji(ie)):d==="angl"&&ie!==.049&&(v.style.borderTopWidth=ji(ie),v.style.borderRightWidth=ji(ie)),b=u.depth+ee,i.backgroundColor&&(v.style.backgroundColor=i.backgroundColor,i.borderColor&&(v.style.borderColor=i.borderColor))}var oe;if(i.backgroundColor)oe=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:v,shift:b},{type:"elem",elem:u,shift:0}]},s);else{var be=/cancel|phase/.test(d)?["svg-align"]:[];oe=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:v,shift:b,wrapperClasses:be}]},s)}return/cancel/.test(d)&&(oe.height=u.height,oe.depth=u.depth),/cancel/.test(d)&&!y?Hn.makeSpan(["mord","cancel-lap"],[oe],s):Hn.makeSpan(["mord"],[oe],s)},Tbe=(i,s)=>{var u=0,d=new wi.MathNode(i.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Dl(i.body,s)]);switch(i.label){case"\\cancel":d.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":d.setAttribute("notation","downdiagonalstrike");break;case"\\phase":d.setAttribute("notation","phasorangle");break;case"\\sout":d.setAttribute("notation","horizontalstrike");break;case"\\fbox":d.setAttribute("notation","box");break;case"\\angl":d.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(u=s.fontMetrics().fboxsep*s.fontMetrics().ptPerEm,d.setAttribute("width","+"+2*u+"pt"),d.setAttribute("height","+"+2*u+"pt"),d.setAttribute("lspace",u+"pt"),d.setAttribute("voffset",u+"pt"),i.label==="\\fcolorbox"){var p=Math.max(s.fontMetrics().fboxrule,s.minRuleThickness);d.setAttribute("style","border: "+p+"em solid "+String(i.borderColor))}break;case"\\xcancel":d.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return i.backgroundColor&&d.setAttribute("mathbackground",i.backgroundColor),d};Ji({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Ko(s[0],"color-token").color,b=s[1];return{type:"enclose",mode:d.mode,label:p,backgroundColor:v,body:b}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(i,s,u){var{parser:d,funcName:p}=i,v=Ko(s[0],"color-token").color,b=Ko(s[1],"color-token").color,y=s[2];return{type:"enclose",mode:d.mode,label:p,backgroundColor:b,borderColor:v,body:y}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\fbox",body:s[0]}}}),Ji({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:Ebe,mathmlBuilder:Tbe}),Ji({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\angl",body:s[0]}}});var zze={};function K4(i){for(var{type:s,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:s,numArgs:d.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:p},T=0;T{var s=i.parser.settings;if(!s.displayMode)throw new Si("{"+i.envName+"} can be used only in display mode.")};function Cbe(i){if(i.indexOf("ed")===-1)return i.indexOf("*")===-1}function _9(i,s,u){var{hskipBeforeAndAfter:d,addJot:p,cols:v,arraystretch:b,colSeparationType:y,autoTag:T,singleRow:_,emptySingleRow:A,maxNumCols:P,leqno:R}=s;if(i.gullet.beginGroup(),_||i.gullet.macros.set("\\cr","\\\\\\relax"),!b){var F=i.gullet.expandMacroAsText("\\arraystretch");if(F==null)b=1;else if(b=parseFloat(F),!b||b<0)throw new Si("Invalid \\arraystretch: "+F)}i.gullet.beginGroup();var j=[],W=[j],ee=[],ie=[],oe=T!=null?[]:void 0;function be(){T&&i.gullet.macros.set("\\@eqnsw","1",!0)}function ge(){oe&&(i.gullet.macros.get("\\df@tag")?(oe.push(i.subparse([new Pv("\\df@tag")])),i.gullet.macros.set("\\df@tag",void 0,!0)):oe.push(!!T&&i.gullet.macros.get("\\@eqnsw")==="1"))}for(be(),ie.push(Hze(i));;){var ae=i.parseExpression(!1,_?"\\end":"\\\\");i.gullet.endGroup(),i.gullet.beginGroup(),ae={type:"ordgroup",mode:i.mode,body:ae},u&&(ae={type:"styling",mode:i.mode,style:u,body:[ae]}),j.push(ae);var ne=i.fetch().text;if(ne==="&"){if(P&&j.length===P){if(_||y)throw new Si("Too many tab characters: &",i.nextToken);i.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}i.consume()}else if(ne==="\\end"){ge(),j.length===1&&ae.type==="styling"&&ae.body[0].body.length===0&&(W.length>1||!A)&&W.pop(),ie.length0&&(be+=.25),_.push({pos:be,isDashed:Fi[yi]})}for(ge(b[0]),d=0;d0&&(G+=oe,seFi))for(d=0;d=y)){var Gt=void 0;(p>0||s.hskipBeforeAndAfter)&&(Gt=pa.deflt(Ft.pregap,R),Gt!==0&&(Ne=Hn.makeSpan(["arraycolsep"],[]),Ne.style.width=ji(Gt),Be.push(Ne)));var ln=[];for(d=0;d0){for(var At=Hn.makeLineSpan("hline",u,A),Tt=Hn.makeLineSpan("hdashline",u,A),On=[{type:"elem",elem:T,shift:0}];_.length>0;){var ht=_.pop(),zr=ht.pos-xe;ht.isDashed?On.push({type:"elem",elem:Tt,shift:zr}):On.push({type:"elem",elem:At,shift:zr})}T=Hn.makeVList({positionType:"individualShift",children:On},u)}if(Ie.length===0)return Hn.makeSpan(["mord"],[T],u);var yt=Hn.makeVList({positionType:"individualShift",children:Ie},u);return yt=Hn.makeSpan(["tag"],[yt],u),Hn.makeFragment([T,yt])},pVt={c:"center ",l:"left ",r:"right "},Y4=function(s,u){for(var d=[],p=new wi.MathNode("mtd",[],["mtr-glue"]),v=new wi.MathNode("mtd",[],["mml-eqn-num"]),b=0;b0){var j=s.cols,W="",ee=!1,ie=0,oe=j.length;j[0].type==="separator"&&(R+="top ",ie=1),j[j.length-1].type==="separator"&&(R+="bottom ",oe-=1);for(var be=ie;be0?"left ":"",R+=de[de.length-1].length>0?"right ":"";for(var X=1;X-1?"alignat":"align",v=s.envName==="split",b=_9(s.parser,{cols:d,addJot:!0,autoTag:v?void 0:Cbe(s.envName),emptySingleRow:!0,colSeparationType:p,maxNumCols:v?2:void 0,leqno:s.parser.settings.leqno},"display"),y,T=0,_={type:"ordgroup",mode:s.mode,body:[]};if(u[0]&&u[0].type==="ordgroup"){for(var A="",P=0;P0&&F&&(ee=1),d[j]={type:"align",align:W,pregap:ee,postgap:0}}return b.colSeparationType=F?"align":"alignat",b};K4({type:"array",names:["array","darray"],props:{numArgs:1},handler(i,s){var u=mQ(s[0]),d=u?[s[0]]:Ko(s[0],"ordgroup").body,p=d.map(function(b){var y=dbe(b),T=y.text;if("lcr".indexOf(T)!==-1)return{type:"align",align:T};if(T==="|")return{type:"separator",separator:"|"};if(T===":")return{type:"separator",separator:":"};throw new Si("Unknown column alignment: "+T,b)}),v={cols:p,hskipBeforeAndAfter:!0,maxNumCols:p.length};return _9(i.parser,v,Sbe(i.envName))},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(i){var s={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[i.envName.replace("*","")],u="c",d={hskipBeforeAndAfter:!1,cols:[{type:"align",align:u}]};if(i.envName.charAt(i.envName.length-1)==="*"){var p=i.parser;if(p.consumeSpaces(),p.fetch().text==="["){if(p.consume(),p.consumeSpaces(),u=p.fetch().text,"lcr".indexOf(u)===-1)throw new Si("Expected l or c or r",p.nextToken);p.consume(),p.consumeSpaces(),p.expect("]"),p.consume(),d.cols=[{type:"align",align:u}]}}var v=_9(i.parser,d,Sbe(i.envName)),b=Math.max(0,...v.body.map(y=>y.length));return v.cols=new Array(b).fill({type:"align",align:u}),s?{type:"leftright",mode:i.mode,body:[v],left:s[0],right:s[1],rightColor:void 0}:v},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(i){var s={arraystretch:.5},u=_9(i.parser,s,"script");return u.colSeparationType="small",u},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["subarray"],props:{numArgs:1},handler(i,s){var u=mQ(s[0]),d=u?[s[0]]:Ko(s[0],"ordgroup").body,p=d.map(function(b){var y=dbe(b),T=y.text;if("lc".indexOf(T)!==-1)return{type:"align",align:T};throw new Si("Unknown column alignment: "+T,b)});if(p.length>1)throw new Si("{subarray} can contain only one column");var v={cols:p,hskipBeforeAndAfter:!1,arraystretch:.5};if(v=_9(i.parser,v,"script"),v.body.length>0&&v.body[0].length>1)throw new Si("{subarray} can contain only one column");return v},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(i){var s={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},u=_9(i.parser,s,Sbe(i.envName));return{type:"leftright",mode:i.mode,body:[u],left:i.envName.indexOf("r")>-1?".":"\\{",right:i.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Vze,htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(i){pa.contains(["gather","gather*"],i.envName)&&kQ(i);var s={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Cbe(i.envName),emptySingleRow:!0,leqno:i.parser.settings.leqno};return _9(i.parser,s,"display")},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Vze,htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(i){kQ(i);var s={autoTag:Cbe(i.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:i.parser.settings.leqno};return _9(i.parser,s,"display")},htmlBuilder:W4,mathmlBuilder:Y4}),K4({type:"array",names:["CD"],props:{numArgs:0},handler(i){return kQ(i),tVt(i.parser)},htmlBuilder:W4,mathmlBuilder:Y4}),et("\\nonumber","\\gdef\\@eqnsw{0}"),et("\\notag","\\nonumber"),Ji({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(i,s){throw new Si(i.funcName+" valid only within array environment")}});var Uze=zze;Ji({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];if(p.type!=="ordgroup")throw new Si("Invalid environment name",p);for(var v="",b=0;b{var u=i.font,d=s.withFont(u);return uu(i.body,d)},Kze=(i,s)=>{var u=i.font,d=s.withFont(u);return Dl(i.body,d)},Wze={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ji({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=pQ(s[0]),v=d;return v in Wze&&(v=Wze[v]),{type:"font",mode:u.mode,font:v.slice(1),body:p}},htmlBuilder:Gze,mathmlBuilder:Kze}),Ji({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(i,s)=>{var{parser:u}=i,d=s[0],p=pa.isCharacterBox(d);return{type:"mclass",mode:u.mode,mclass:wQ(d),body:[{type:"font",mode:u.mode,font:"boldsymbol",body:d}],isCharacterBox:p}}}),Ji({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d,breakOnTokenText:p}=i,{mode:v}=u,b=u.parseExpression(!0,p),y="math"+d.slice(1);return{type:"font",mode:v,font:y,body:{type:"ordgroup",mode:u.mode,body:b}}},htmlBuilder:Gze,mathmlBuilder:Kze});var Yze=(i,s)=>{var u=s;return i==="display"?u=u.id>=Ca.SCRIPT.id?u.text():Ca.DISPLAY:i==="text"&&u.size===Ca.DISPLAY.size?u=Ca.TEXT:i==="script"?u=Ca.SCRIPT:i==="scriptscript"&&(u=Ca.SCRIPTSCRIPT),u},_be=(i,s)=>{var u=Yze(i.size,s.style),d=u.fracNum(),p=u.fracDen(),v;v=s.havingStyle(d);var b=uu(i.numer,v,s);if(i.continued){var y=8.5/s.fontMetrics().ptPerEm,T=3.5/s.fontMetrics().ptPerEm;b.height=b.height0?j=3*R:j=7*R,W=s.fontMetrics().denom1):(P>0?(F=s.fontMetrics().num2,j=R):(F=s.fontMetrics().num3,j=3*R),W=s.fontMetrics().denom2);var ee;if(A){var oe=s.fontMetrics().axisHeight;F-b.depth-(oe+.5*P){var u=new wi.MathNode("mfrac",[Dl(i.numer,s),Dl(i.denom,s)]);if(!i.hasBarLine)u.setAttribute("linethickness","0px");else if(i.barSize){var d=Gh(i.barSize,s);u.setAttribute("linethickness",ji(d))}var p=Yze(i.size,s.style);if(p.size!==s.style.size){u=new wi.MathNode("mstyle",[u]);var v=p.size===Ca.DISPLAY.size?"true":"false";u.setAttribute("displaystyle",v),u.setAttribute("scriptlevel","0")}if(i.leftDelim!=null||i.rightDelim!=null){var b=[];if(i.leftDelim!=null){var y=new wi.MathNode("mo",[new wi.TextNode(i.leftDelim.replace("\\",""))]);y.setAttribute("fence","true"),b.push(y)}if(b.push(u),i.rightDelim!=null){var T=new wi.MathNode("mo",[new wi.TextNode(i.rightDelim.replace("\\",""))]);T.setAttribute("fence","true"),b.push(T)}return hbe(b)}return u};Ji({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1],b,y=null,T=null,_="auto";switch(d){case"\\dfrac":case"\\frac":case"\\tfrac":b=!0;break;case"\\\\atopfrac":b=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":b=!1,y="(",T=")";break;case"\\\\bracefrac":b=!1,y="\\{",T="\\}";break;case"\\\\brackfrac":b=!1,y="[",T="]";break;default:throw new Error("Unrecognized genfrac command")}switch(d){case"\\dfrac":case"\\dbinom":_="display";break;case"\\tfrac":case"\\tbinom":_="text";break}return{type:"genfrac",mode:u.mode,continued:!1,numer:p,denom:v,hasBarLine:b,leftDelim:y,rightDelim:T,size:_,barSize:null}},htmlBuilder:_be,mathmlBuilder:Abe}),Ji({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=s[1];return{type:"genfrac",mode:u.mode,continued:!0,numer:p,denom:v,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),Ji({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(i){var{parser:s,funcName:u,token:d}=i,p;switch(u){case"\\over":p="\\frac";break;case"\\choose":p="\\binom";break;case"\\atop":p="\\\\atopfrac";break;case"\\brace":p="\\\\bracefrac";break;case"\\brack":p="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:s.mode,replaceWith:p,token:d}}});var Xze=["display","text","script","scriptscript"],Qze=function(s){var u=null;return s.length>0&&(u=s,u=u==="."?null:u),u};Ji({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(i,s){var{parser:u}=i,d=s[4],p=s[5],v=pQ(s[0]),b=v.type==="atom"&&v.family==="open"?Qze(v.text):null,y=pQ(s[1]),T=y.type==="atom"&&y.family==="close"?Qze(y.text):null,_=Ko(s[2],"size"),A,P=null;_.isBlank?A=!0:(P=_.value,A=P.number>0);var R="auto",F=s[3];if(F.type==="ordgroup"){if(F.body.length>0){var j=Ko(F.body[0],"textord");R=Xze[Number(j.text)]}}else F=Ko(F,"textord"),R=Xze[Number(F.text)];return{type:"genfrac",mode:u.mode,numer:d,denom:p,continued:!1,hasBarLine:A,barSize:P,leftDelim:b,rightDelim:T,size:R}},htmlBuilder:_be,mathmlBuilder:Abe}),Ji({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(i,s){var{parser:u,funcName:d,token:p}=i;return{type:"infix",mode:u.mode,replaceWith:"\\\\abovefrac",size:Ko(s[0],"size").value,token:p}}}),Ji({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0],v=Gqt(Ko(s[1],"infix").size),b=s[2],y=v.number>0;return{type:"genfrac",mode:u.mode,numer:p,denom:b,continued:!1,hasBarLine:y,barSize:v,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:_be,mathmlBuilder:Abe});var Jze=(i,s)=>{var u=s.style,d,p;i.type==="supsub"?(d=i.sup?uu(i.sup,s.havingStyle(u.sup()),s):uu(i.sub,s.havingStyle(u.sub()),s),p=Ko(i.base,"horizBrace")):p=Ko(i,"horizBrace");var v=uu(p.base,s.havingBaseStyle(Ca.DISPLAY)),b=N7.svgSpan(p,s),y;if(p.isOver?(y=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:.1},{type:"elem",elem:b}]},s),y.children[0].children[0].children[1].classes.push("svg-align")):(y=Hn.makeVList({positionType:"bottom",positionData:v.depth+.1+b.height,children:[{type:"elem",elem:b},{type:"kern",size:.1},{type:"elem",elem:v}]},s),y.children[0].children[0].children[0].classes.push("svg-align")),d){var T=Hn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s);p.isOver?y=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:T},{type:"kern",size:.2},{type:"elem",elem:d}]},s):y=Hn.makeVList({positionType:"bottom",positionData:T.depth+.2+d.height+d.depth,children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:T}]},s)}return Hn.makeSpan(["mord",p.isOver?"mover":"munder"],[y],s)},bVt=(i,s)=>{var u=N7.mathMLnode(i.label);return new wi.MathNode(i.isOver?"mover":"munder",[Dl(i.base,s),u])};Ji({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(i,s){var{parser:u,funcName:d}=i;return{type:"horizBrace",mode:u.mode,label:d,isOver:/^\\over/.test(d),base:s[0]}},htmlBuilder:Jze,mathmlBuilder:bVt}),Ji({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[1],p=Ko(s[0],"url").url;return u.settings.isTrusted({command:"\\href",url:p})?{type:"href",mode:u.mode,href:p,body:Wf(d)}:u.formatUnsupportedCmd("\\href")},htmlBuilder:(i,s)=>{var u=l1(i.body,s,!1);return Hn.makeAnchor(i.href,[],u,s)},mathmlBuilder:(i,s)=>{var u=S9(i.body,s);return u instanceof Rv||(u=new Rv("mrow",[u])),u.setAttribute("href",i.href),u}}),Ji({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=Ko(s[0],"url").url;if(!u.settings.isTrusted({command:"\\url",url:d}))return u.formatUnsupportedCmd("\\url");for(var p=[],v=0;v{var{parser:u,funcName:d,token:p}=i,v=Ko(s[0],"raw").string,b=s[1];u.settings.strict&&u.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var y,T={};switch(d){case"\\htmlClass":T.class=v,y={command:"\\htmlClass",class:v};break;case"\\htmlId":T.id=v,y={command:"\\htmlId",id:v};break;case"\\htmlStyle":T.style=v,y={command:"\\htmlStyle",style:v};break;case"\\htmlData":{for(var _=v.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length!==2)throw new Si("Error parsing key-value for \\htmlData");T["data-"+P[0].trim()]=P[1].trim()}y={command:"\\htmlData",attributes:T};break}default:throw new Error("Unrecognized html command")}return u.settings.isTrusted(y)?{type:"html",mode:u.mode,attributes:T,body:Wf(b)}:u.formatUnsupportedCmd(d)},htmlBuilder:(i,s)=>{var u=l1(i.body,s,!1),d=["enclosing"];i.attributes.class&&d.push(...i.attributes.class.trim().split(/\s+/));var p=Hn.makeSpan(d,u,s);for(var v in i.attributes)v!=="class"&&i.attributes.hasOwnProperty(v)&&p.setAttribute(v,i.attributes[v]);return p},mathmlBuilder:(i,s)=>S9(i.body,s)}),Ji({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"htmlmathml",mode:u.mode,html:Wf(s[0]),mathml:Wf(s[1])}},htmlBuilder:(i,s)=>{var u=l1(i.html,s,!1);return Hn.makeFragment(u)},mathmlBuilder:(i,s)=>S9(i.mathml,s)});var Lbe=function(s){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(s))return{number:+s,unit:"bp"};var u=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(s);if(!u)throw new Si("Invalid size: '"+s+"' in \\includegraphics");var d={number:+(u[1]+u[2]),unit:u[3]};if(!eze(d))throw new Si("Invalid unit: '"+d.unit+"' in \\includegraphics.");return d};Ji({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(i,s,u)=>{var{parser:d}=i,p={number:0,unit:"em"},v={number:.9,unit:"em"},b={number:0,unit:"em"},y="";if(u[0])for(var T=Ko(u[0],"raw").string,_=T.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length===2){var R=P[1].trim();switch(P[0].trim()){case"alt":y=R;break;case"width":p=Lbe(R);break;case"height":v=Lbe(R);break;case"totalheight":b=Lbe(R);break;default:throw new Si("Invalid key: '"+P[0]+"' in \\includegraphics.")}}}var F=Ko(s[0],"url").url;return y===""&&(y=F,y=y.replace(/^.*[\\/]/,""),y=y.substring(0,y.lastIndexOf("."))),d.settings.isTrusted({command:"\\includegraphics",url:F})?{type:"includegraphics",mode:d.mode,alt:y,width:p,height:v,totalheight:b,src:F}:d.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(i,s)=>{var u=Gh(i.height,s),d=0;i.totalheight.number>0&&(d=Gh(i.totalheight,s)-u);var p=0;i.width.number>0&&(p=Gh(i.width,s));var v={height:ji(u+d)};p>0&&(v.width=ji(p)),d>0&&(v.verticalAlign=ji(-d));var b=new bHt(i.src,i.alt,v);return b.height=u,b.depth=d,b},mathmlBuilder:(i,s)=>{var u=new wi.MathNode("mglyph",[]);u.setAttribute("alt",i.alt);var d=Gh(i.height,s),p=0;if(i.totalheight.number>0&&(p=Gh(i.totalheight,s)-d,u.setAttribute("valign",ji(-p))),u.setAttribute("height",ji(d+p)),i.width.number>0){var v=Gh(i.width,s);u.setAttribute("width",ji(v))}return u.setAttribute("src",i.src),u}}),Ji({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=Ko(s[0],"size");if(u.settings.strict){var v=d[1]==="m",b=p.value.unit==="mu";v?(b||u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" supports only mu units, "+("not "+p.value.unit+" units")),u.mode!=="math"&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" works only in math mode")):b&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" doesn't support mu units")}return{type:"kern",mode:u.mode,dimension:p.value}},htmlBuilder(i,s){return Hn.makeGlue(i.dimension,s)},mathmlBuilder(i,s){var u=Gh(i.dimension,s);return new wi.SpaceNode(u)}}),Ji({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"lap",mode:u.mode,alignment:d.slice(5),body:p}},htmlBuilder:(i,s)=>{var u;i.alignment==="clap"?(u=Hn.makeSpan([],[uu(i.body,s)]),u=Hn.makeSpan(["inner"],[u],s)):u=Hn.makeSpan(["inner"],[uu(i.body,s)]);var d=Hn.makeSpan(["fix"],[]),p=Hn.makeSpan([i.alignment],[u,d],s),v=Hn.makeSpan(["strut"]);return v.style.height=ji(p.height+p.depth),p.depth&&(v.style.verticalAlign=ji(-p.depth)),p.children.unshift(v),p=Hn.makeSpan(["thinbox"],[p],s),Hn.makeSpan(["mord","vbox"],[p],s)},mathmlBuilder:(i,s)=>{var u=new wi.MathNode("mpadded",[Dl(i.body,s)]);if(i.alignment!=="rlap"){var d=i.alignment==="llap"?"-1":"-0.5";u.setAttribute("lspace",d+"width")}return u.setAttribute("width","0px"),u}}),Ji({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){var{funcName:u,parser:d}=i,p=d.mode;d.switchMode("math");var v=u==="\\("?"\\)":"$",b=d.parseExpression(!1,v);return d.expect(v),d.switchMode(p),{type:"styling",mode:d.mode,style:"text",body:b}}}),Ji({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,s){throw new Si("Mismatched "+i.funcName)}});var Zze=(i,s)=>{switch(s.style.size){case Ca.DISPLAY.size:return i.display;case Ca.TEXT.size:return i.text;case Ca.SCRIPT.size:return i.script;case Ca.SCRIPTSCRIPT.size:return i.scriptscript;default:return i.text}};Ji({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(i,s)=>{var{parser:u}=i;return{type:"mathchoice",mode:u.mode,display:Wf(s[0]),text:Wf(s[1]),script:Wf(s[2]),scriptscript:Wf(s[3])}},htmlBuilder:(i,s)=>{var u=Zze(i,s),d=l1(u,s,!1);return Hn.makeFragment(d)},mathmlBuilder:(i,s)=>{var u=Zze(i,s);return S9(u,s)}});var eqe=(i,s,u,d,p,v,b)=>{i=Hn.makeSpan([],[i]);var y=u&&pa.isCharacterBox(u),T,_;if(s){var A=uu(s,d.havingStyle(p.sup()),d);_={elem:A,kern:Math.max(d.fontMetrics().bigOpSpacing1,d.fontMetrics().bigOpSpacing3-A.depth)}}if(u){var P=uu(u,d.havingStyle(p.sub()),d);T={elem:P,kern:Math.max(d.fontMetrics().bigOpSpacing2,d.fontMetrics().bigOpSpacing4-P.height)}}var R;if(_&&T){var F=d.fontMetrics().bigOpSpacing5+T.elem.height+T.elem.depth+T.kern+i.depth+b;R=Hn.makeVList({positionType:"bottom",positionData:F,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:ji(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:ji(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else if(T){var j=i.height-b;R=Hn.makeVList({positionType:"top",positionData:j,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:T.elem,marginLeft:ji(-v)},{type:"kern",size:T.kern},{type:"elem",elem:i}]},d)}else if(_){var W=i.depth+b;R=Hn.makeVList({positionType:"bottom",positionData:W,children:[{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:ji(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]},d)}else return i;var ee=[R];if(T&&v!==0&&!y){var ie=Hn.makeSpan(["mspace"],[],d);ie.style.marginRight=ji(v),ee.unshift(ie)}return Hn.makeSpan(["mop","op-limits"],ee,d)},tqe=["\\smallint"],ND=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Ko(i.base,"op"),p=!0):v=Ko(i,"op");var b=s.style,y=!1;b.size===Ca.DISPLAY.size&&v.symbol&&!pa.contains(tqe,v.name)&&(y=!0);var T;if(v.symbol){var _=y?"Size2-Regular":"Size1-Regular",A="";if((v.name==="\\oiint"||v.name==="\\oiiint")&&(A=v.name.slice(1),v.name=A==="oiint"?"\\iint":"\\iiint"),T=Hn.makeSymbol(v.name,_,"math",s,["mop","op-symbol",y?"large-op":"small-op"]),A.length>0){var P=T.italic,R=Hn.staticSvg(A+"Size"+(y?"2":"1"),s);T=Hn.makeVList({positionType:"individualShift",children:[{type:"elem",elem:T,shift:0},{type:"elem",elem:R,shift:y?.08:0}]},s),v.name="\\"+A,T.classes.unshift("mop"),T.italic=P}}else if(v.body){var F=l1(v.body,s,!0);F.length===1&&F[0]instanceof Fv?(T=F[0],T.classes[0]="mop"):T=Hn.makeSpan(["mop"],F,s)}else{for(var j=[],W=1;W{var u;if(i.symbol)u=new Rv("mo",[jv(i.name,i.mode)]),pa.contains(tqe,i.name)&&u.setAttribute("largeop","false");else if(i.body)u=new Rv("mo",$2(i.body,s));else{u=new Rv("mi",[new hR(i.name.slice(1))]);var d=new Rv("mo",[jv("","text")]);i.parentIsSupSub?u=new Rv("mrow",[u,d]):u=vze([u,d])}return u},mVt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};Ji({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=d;return p.length===1&&(p=mVt[p]),{type:"op",mode:u.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:p}},htmlBuilder:ND,mathmlBuilder:gR}),Ji({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"op",mode:u.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Wf(d)}},htmlBuilder:ND,mathmlBuilder:gR});var vVt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};Ji({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(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:ND,mathmlBuilder:gR}),Ji({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i;return{type:"op",mode:s.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:ND,mathmlBuilder:gR}),Ji({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(i){var{parser:s,funcName:u}=i,d=u;return d.length===1&&(d=vVt[d]),{type:"op",mode:s.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:d}},htmlBuilder:ND,mathmlBuilder:gR});var nqe=(i,s)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Ko(i.base,"operatorname"),p=!0):v=Ko(i,"operatorname");var b;if(v.body.length>0){for(var y=v.body.map(P=>{var R=P.text;return typeof R=="string"?{type:"textord",mode:P.mode,text:R}:P}),T=l1(y,s.withFont("mathrm"),!0),_=0;_{for(var u=$2(i.body,s.withFont("mathrm")),d=!0,p=0;pA.toText()).join("");u=[new wi.TextNode(y)]}var T=new wi.MathNode("mi",u);T.setAttribute("mathvariant","normal");var _=new wi.MathNode("mo",[jv("","text")]);return i.parentIsSupSub?new wi.MathNode("mrow",[T,_]):wi.newDocumentFragment([T,_])};Ji({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(i,s)=>{var{parser:u,funcName:d}=i,p=s[0];return{type:"operatorname",mode:u.mode,body:Wf(p),alwaysHandleSupSub:d==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:nqe,mathmlBuilder:wVt}),et("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),$C({type:"ordgroup",htmlBuilder(i,s){return i.semisimple?Hn.makeFragment(l1(i.body,s,!1)):Hn.makeSpan(["mord"],l1(i.body,s,!0),s)},mathmlBuilder(i,s){return S9(i.body,s,!0)}}),Ji({type:"overline",names:["\\overline"],props:{numArgs:1},handler(i,s){var{parser:u}=i,d=s[0];return{type:"overline",mode:u.mode,body:d}},htmlBuilder(i,s){var u=uu(i.body,s.havingCrampedStyle()),d=Hn.makeLineSpan("overline-line",s),p=s.fontMetrics().defaultRuleThickness,v=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:3*p},{type:"elem",elem:d},{type:"kern",size:p}]},s);return Hn.makeSpan(["mord","overline"],[v],s)},mathmlBuilder(i,s){var u=new wi.MathNode("mo",[new wi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new wi.MathNode("mover",[Dl(i.body,s),u]);return d.setAttribute("accent","true"),d}}),Ji({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"phantom",mode:u.mode,body:Wf(d)}},htmlBuilder:(i,s)=>{var u=l1(i.body,s.withPhantom(),!1);return Hn.makeFragment(u)},mathmlBuilder:(i,s)=>{var u=$2(i.body,s);return new wi.MathNode("mphantom",u)}}),Ji({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"hphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=Hn.makeSpan([],[uu(i.body,s.withPhantom())]);if(u.height=0,u.depth=0,u.children)for(var d=0;d{var u=$2(Wf(i.body),s),d=new wi.MathNode("mphantom",u),p=new wi.MathNode("mpadded",[d]);return p.setAttribute("height","0px"),p.setAttribute("depth","0px"),p}}),Ji({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,s)=>{var{parser:u}=i,d=s[0];return{type:"vphantom",mode:u.mode,body:d}},htmlBuilder:(i,s)=>{var u=Hn.makeSpan(["inner"],[uu(i.body,s.withPhantom())]),d=Hn.makeSpan(["fix"],[]);return Hn.makeSpan(["mord","rlap"],[u,d],s)},mathmlBuilder:(i,s)=>{var u=$2(Wf(i.body),s),d=new wi.MathNode("mphantom",u),p=new wi.MathNode("mpadded",[d]);return p.setAttribute("width","0px"),p}}),Ji({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(i,s){var{parser:u}=i,d=Ko(s[0],"size").value,p=s[1];return{type:"raisebox",mode:u.mode,dy:d,body:p}},htmlBuilder(i,s){var u=uu(i.body,s),d=Gh(i.dy,s);return Hn.makeVList({positionType:"shift",positionData:-d,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){var u=new wi.MathNode("mpadded",[Dl(i.body,s)]),d=i.dy.number+i.dy.unit;return u.setAttribute("voffset",d),u}}),Ji({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:s}=i;return{type:"internal",mode:s.mode}}}),Ji({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(i,s,u){var{parser:d}=i,p=u[0],v=Ko(s[0],"size"),b=Ko(s[1],"size");return{type:"rule",mode:d.mode,shift:p&&Ko(p,"size").value,width:v.value,height:b.value}},htmlBuilder(i,s){var u=Hn.makeSpan(["mord","rule"],[],s),d=Gh(i.width,s),p=Gh(i.height,s),v=i.shift?Gh(i.shift,s):0;return u.style.borderRightWidth=ji(d),u.style.borderTopWidth=ji(p),u.style.bottom=ji(v),u.width=d,u.height=p+v,u.depth=-v,u.maxFontSize=p*1.125*s.sizeMultiplier,u},mathmlBuilder(i,s){var u=Gh(i.width,s),d=Gh(i.height,s),p=i.shift?Gh(i.shift,s):0,v=s.color&&s.getColor()||"black",b=new wi.MathNode("mspace");b.setAttribute("mathbackground",v),b.setAttribute("width",ji(u)),b.setAttribute("height",ji(d));var y=new wi.MathNode("mpadded",[b]);return p>=0?y.setAttribute("height",ji(p)):(y.setAttribute("height",ji(p)),y.setAttribute("depth",ji(-p))),y.setAttribute("voffset",ji(p)),y}});function rqe(i,s,u){for(var d=l1(i,s,!1),p=s.sizeMultiplier/u.sizeMultiplier,v=0;v{var u=s.havingSize(i.size);return rqe(i.body,u,s)};Ji({type:"sizing",names:iqe,props:{numArgs:0,allowedInText:!0},handler:(i,s)=>{var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!1,u);return{type:"sizing",mode:p.mode,size:iqe.indexOf(d)+1,body:v}},htmlBuilder:yVt,mathmlBuilder:(i,s)=>{var u=s.havingSize(i.size),d=$2(i.body,u),p=new wi.MathNode("mstyle",d);return p.setAttribute("mathsize",ji(u.sizeMultiplier)),p}}),Ji({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(i,s,u)=>{var{parser:d}=i,p=!1,v=!1,b=u[0]&&Ko(u[0],"ordgroup");if(b)for(var y="",T=0;T{var u=Hn.makeSpan([],[uu(i.body,s)]);if(!i.smashHeight&&!i.smashDepth)return u;if(i.smashHeight&&(u.height=0,u.children))for(var d=0;d{var u=new wi.MathNode("mpadded",[Dl(i.body,s)]);return i.smashHeight&&u.setAttribute("height","0px"),i.smashDepth&&u.setAttribute("depth","0px"),u}}),Ji({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(i,s,u){var{parser:d}=i,p=u[0],v=s[0];return{type:"sqrt",mode:d.mode,body:v,index:p}},htmlBuilder(i,s){var u=uu(i.body,s.havingCrampedStyle());u.height===0&&(u.height=s.fontMetrics().xHeight),u=Hn.wrapFragment(u,s);var d=s.fontMetrics(),p=d.defaultRuleThickness,v=p;s.style.idu.height+u.depth+b&&(b=(b+P-u.height-u.depth)/2);var R=T.height-u.height-b-_;u.style.paddingLeft=ji(A);var F=Hn.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:-(u.height+R)},{type:"elem",elem:T},{type:"kern",size:_}]},s);if(i.index){var j=s.havingStyle(Ca.SCRIPTSCRIPT),W=uu(i.index,j,s),ee=.6*(F.height-F.depth),ie=Hn.makeVList({positionType:"shift",positionData:-ee,children:[{type:"elem",elem:W}]},s),oe=Hn.makeSpan(["root"],[ie]);return Hn.makeSpan(["mord","sqrt"],[oe,F],s)}else return Hn.makeSpan(["mord","sqrt"],[F],s)},mathmlBuilder(i,s){var{body:u,index:d}=i;return d?new wi.MathNode("mroot",[Dl(u,s),Dl(d,s)]):new wi.MathNode("msqrt",[Dl(u,s)])}});var sqe={display:Ca.DISPLAY,text:Ca.TEXT,script:Ca.SCRIPT,scriptscript:Ca.SCRIPTSCRIPT};Ji({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i,s){var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!0,u),b=d.slice(1,d.length-5);return{type:"styling",mode:p.mode,style:b,body:v}},htmlBuilder(i,s){var u=sqe[i.style],d=s.havingStyle(u).withFont("");return rqe(i.body,d,s)},mathmlBuilder(i,s){var u=sqe[i.style],d=s.havingStyle(u),p=$2(i.body,d),v=new wi.MathNode("mstyle",p),b={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},y=b[i.style];return v.setAttribute("scriptlevel",y[0]),v.setAttribute("displaystyle",y[1]),v}});var xVt=function(s,u){var d=s.base;if(d)if(d.type==="op"){var p=d.limits&&(u.style.size===Ca.DISPLAY.size||d.alwaysHandleSupSub);return p?ND:null}else if(d.type==="operatorname"){var v=d.alwaysHandleSupSub&&(u.style.size===Ca.DISPLAY.size||d.limits);return v?nqe:null}else{if(d.type==="accent")return pa.isCharacterBox(d.base)?gbe:null;if(d.type==="horizBrace"){var b=!s.sub;return b===d.isOver?Jze:null}else return null}else return null};$C({type:"supsub",htmlBuilder(i,s){var u=xVt(i,s);if(u)return u(i,s);var{base:d,sup:p,sub:v}=i,b=uu(d,s),y,T,_=s.fontMetrics(),A=0,P=0,R=d&&pa.isCharacterBox(d);if(p){var F=s.havingStyle(s.style.sup());y=uu(p,F,s),R||(A=b.height-F.fontMetrics().supDrop*F.sizeMultiplier/s.sizeMultiplier)}if(v){var j=s.havingStyle(s.style.sub());T=uu(v,j,s),R||(P=b.depth+j.fontMetrics().subDrop*j.sizeMultiplier/s.sizeMultiplier)}var W;s.style===Ca.DISPLAY?W=_.sup1:s.style.cramped?W=_.sup3:W=_.sup2;var ee=s.sizeMultiplier,ie=ji(.5/_.ptPerEm/ee),oe=null;if(T){var be=i.base&&i.base.type==="op"&&i.base.name&&(i.base.name==="\\oiint"||i.base.name==="\\oiiint");(b instanceof Fv||be)&&(oe=ji(-b.italic))}var ge;if(y&&T){A=Math.max(A,W,y.depth+.25*_.xHeight),P=Math.max(P,_.sub2);var ae=_.defaultRuleThickness,ne=4*ae;if(A-y.depth-(T.height-P)0&&(A+=se,P-=se)}var de=[{type:"elem",elem:T,shift:P,marginRight:ie,marginLeft:oe},{type:"elem",elem:y,shift:-A,marginRight:ie}];ge=Hn.makeVList({positionType:"individualShift",children:de},s)}else if(T){P=Math.max(P,_.sub1,T.height-.8*_.xHeight);var X=[{type:"elem",elem:T,marginLeft:oe,marginRight:ie}];ge=Hn.makeVList({positionType:"shift",positionData:P,children:X},s)}else if(y)A=Math.max(A,W,y.depth+.25*_.xHeight),ge=Hn.makeVList({positionType:"shift",positionData:-A,children:[{type:"elem",elem:y,marginRight:ie}]},s);else throw new Error("supsub must have either sup or sub.");var pe=ube(b,"right")||"mord";return Hn.makeSpan([pe],[b,Hn.makeSpan(["msupsub"],[ge])],s)},mathmlBuilder(i,s){var u=!1,d,p;i.base&&i.base.type==="horizBrace"&&(p=!!i.sup,p===i.base.isOver&&(u=!0,d=i.base.isOver)),i.base&&(i.base.type==="op"||i.base.type==="operatorname")&&(i.base.parentIsSupSub=!0);var v=[Dl(i.base,s)];i.sub&&v.push(Dl(i.sub,s)),i.sup&&v.push(Dl(i.sup,s));var b;if(u)b=d?"mover":"munder";else if(i.sub)if(i.sup){var _=i.base;_&&_.type==="op"&&_.limits&&s.style===Ca.DISPLAY||_&&_.type==="operatorname"&&_.alwaysHandleSupSub&&(s.style===Ca.DISPLAY||_.limits)?b="munderover":b="msubsup"}else{var T=i.base;T&&T.type==="op"&&T.limits&&(s.style===Ca.DISPLAY||T.alwaysHandleSupSub)||T&&T.type==="operatorname"&&T.alwaysHandleSupSub&&(T.limits||s.style===Ca.DISPLAY)?b="munder":b="msub"}else{var y=i.base;y&&y.type==="op"&&y.limits&&(s.style===Ca.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||s.style===Ca.DISPLAY)?b="mover":b="msup"}return new wi.MathNode(b,v)}}),$C({type:"atom",htmlBuilder(i,s){return Hn.mathsym(i.text,i.mode,s,["m"+i.family])},mathmlBuilder(i,s){var u=new wi.MathNode("mo",[jv(i.text,i.mode)]);if(i.family==="bin"){var d=fbe(i,s);d==="bold-italic"&&u.setAttribute("mathvariant",d)}else i.family==="punct"?u.setAttribute("separator","true"):(i.family==="open"||i.family==="close")&&u.setAttribute("stretchy","false");return u}});var aqe={mi:"italic",mn:"normal",mtext:"normal"};$C({type:"mathord",htmlBuilder(i,s){return Hn.makeOrd(i,s,"mathord")},mathmlBuilder(i,s){var u=new wi.MathNode("mi",[jv(i.text,i.mode,s)]),d=fbe(i,s)||"italic";return d!==aqe[u.type]&&u.setAttribute("mathvariant",d),u}}),$C({type:"textord",htmlBuilder(i,s){return Hn.makeOrd(i,s,"textord")},mathmlBuilder(i,s){var u=jv(i.text,i.mode,s),d=fbe(i,s)||"normal",p;return i.mode==="text"?p=new wi.MathNode("mtext",[u]):/[0-9]/.test(i.text)?p=new wi.MathNode("mn",[u]):i.text==="\\prime"?p=new wi.MathNode("mo",[u]):p=new wi.MathNode("mi",[u]),d!==aqe[p.type]&&p.setAttribute("mathvariant",d),p}});var Mbe={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Dbe={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$C({type:"spacing",htmlBuilder(i,s){if(Dbe.hasOwnProperty(i.text)){var u=Dbe[i.text].className||"";if(i.mode==="text"){var d=Hn.makeOrd(i,s,"textord");return d.classes.push(u),d}else return Hn.makeSpan(["mspace",u],[Hn.mathsym(i.text,i.mode,s)],s)}else{if(Mbe.hasOwnProperty(i.text))return Hn.makeSpan(["mspace",Mbe[i.text]],[],s);throw new Si('Unknown type of space "'+i.text+'"')}},mathmlBuilder(i,s){var u;if(Dbe.hasOwnProperty(i.text))u=new wi.MathNode("mtext",[new wi.TextNode(" ")]);else{if(Mbe.hasOwnProperty(i.text))return new wi.MathNode("mspace");throw new Si('Unknown type of space "'+i.text+'"')}return u}});var oqe=()=>{var i=new wi.MathNode("mtd",[]);return i.setAttribute("width","50%"),i};$C({type:"tag",mathmlBuilder(i,s){var u=new wi.MathNode("mtable",[new wi.MathNode("mtr",[oqe(),new wi.MathNode("mtd",[S9(i.body,s)]),oqe(),new wi.MathNode("mtd",[S9(i.tag,s)])])]);return u.setAttribute("width","100%"),u}});var cqe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},uqe={"\\textbf":"textbf","\\textmd":"textmd"},kVt={"\\textit":"textit","\\textup":"textup"},lqe=(i,s)=>{var u=i.font;if(u){if(cqe[u])return s.withTextFontFamily(cqe[u]);if(uqe[u])return s.withTextFontWeight(uqe[u]);if(u==="\\emph")return s.fontShape==="textit"?s.withTextFontShape("textup"):s.withTextFontShape("textit")}else return s;return s.withTextFontShape(kVt[u])};Ji({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(i,s){var{parser:u,funcName:d}=i,p=s[0];return{type:"text",mode:u.mode,body:Wf(p),font:d}},htmlBuilder(i,s){var u=lqe(i,s),d=l1(i.body,u,!0);return Hn.makeSpan(["mord","text"],d,u)},mathmlBuilder(i,s){var u=lqe(i,s);return S9(i.body,u)}}),Ji({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(i,s){var{parser:u}=i;return{type:"underline",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=uu(i.body,s),d=Hn.makeLineSpan("underline-line",s),p=s.fontMetrics().defaultRuleThickness,v=Hn.makeVList({positionType:"top",positionData:u.height,children:[{type:"kern",size:p},{type:"elem",elem:d},{type:"kern",size:3*p},{type:"elem",elem:u}]},s);return Hn.makeSpan(["mord","underline"],[v],s)},mathmlBuilder(i,s){var u=new wi.MathNode("mo",[new wi.TextNode("‾")]);u.setAttribute("stretchy","true");var d=new wi.MathNode("munder",[Dl(i.body,s),u]);return d.setAttribute("accentunder","true"),d}}),Ji({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(i,s){var{parser:u}=i;return{type:"vcenter",mode:u.mode,body:s[0]}},htmlBuilder(i,s){var u=uu(i.body,s),d=s.fontMetrics().axisHeight,p=.5*(u.height-d-(u.depth+d));return Hn.makeVList({positionType:"shift",positionData:p,children:[{type:"elem",elem:u}]},s)},mathmlBuilder(i,s){return new wi.MathNode("mpadded",[Dl(i.body,s)],["vcenter"])}}),Ji({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(i,s,u){throw new Si("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(i,s){for(var u=hqe(i),d=[],p=s.havingStyle(s.style.text()),v=0;vi.body.replace(/ /g,i.star?"␣":" "),A9=pze,fqe=`[ \r
- ]`,EVt="\\\\[a-zA-Z@]+",TVt="\\\\[^\uD800-\uDFFF]",CVt="("+EVt+")"+fqe+"*",SVt=`\\\\(
+l0,-` +
+ (u + 144) +
+ `c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
+-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`
+ );
+ default:
+ throw new Error('Unknown stretchy delimiter.');
+ }
+ };
+ class cR {
+ constructor(s) {
+ ((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 = s),
+ (this.classes = []),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = {}));
+ }
+ hasClass(s) {
+ return pa.contains(this.classes, s);
+ }
+ toNode() {
+ for (var s = document.createDocumentFragment(), u = 0; u < this.children.length; u++)
+ s.appendChild(this.children[u].toNode());
+ return s;
+ }
+ toMarkup() {
+ for (var s = '', u = 0; u < this.children.length; u++) s += this.children[u].toMarkup();
+ return s;
+ }
+ toText() {
+ var s = (u) => u.toText();
+ return this.children.map(s).join('');
+ }
+ }
+ var G4 = {
+ 'AMS-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68889, 0, 0, 0.72222],
+ 66: [0, 0.68889, 0, 0, 0.66667],
+ 67: [0, 0.68889, 0, 0, 0.72222],
+ 68: [0, 0.68889, 0, 0, 0.72222],
+ 69: [0, 0.68889, 0, 0, 0.66667],
+ 70: [0, 0.68889, 0, 0, 0.61111],
+ 71: [0, 0.68889, 0, 0, 0.77778],
+ 72: [0, 0.68889, 0, 0, 0.77778],
+ 73: [0, 0.68889, 0, 0, 0.38889],
+ 74: [0.16667, 0.68889, 0, 0, 0.5],
+ 75: [0, 0.68889, 0, 0, 0.77778],
+ 76: [0, 0.68889, 0, 0, 0.66667],
+ 77: [0, 0.68889, 0, 0, 0.94445],
+ 78: [0, 0.68889, 0, 0, 0.72222],
+ 79: [0.16667, 0.68889, 0, 0, 0.77778],
+ 80: [0, 0.68889, 0, 0, 0.61111],
+ 81: [0.16667, 0.68889, 0, 0, 0.77778],
+ 82: [0, 0.68889, 0, 0, 0.72222],
+ 83: [0, 0.68889, 0, 0, 0.55556],
+ 84: [0, 0.68889, 0, 0, 0.66667],
+ 85: [0, 0.68889, 0, 0, 0.72222],
+ 86: [0, 0.68889, 0, 0, 0.72222],
+ 87: [0, 0.68889, 0, 0, 1],
+ 88: [0, 0.68889, 0, 0, 0.72222],
+ 89: [0, 0.68889, 0, 0, 0.72222],
+ 90: [0, 0.68889, 0, 0, 0.66667],
+ 107: [0, 0.68889, 0, 0, 0.55556],
+ 160: [0, 0, 0, 0, 0.25],
+ 165: [0, 0.675, 0.025, 0, 0.75],
+ 174: [0.15559, 0.69224, 0, 0, 0.94666],
+ 240: [0, 0.68889, 0, 0, 0.55556],
+ 295: [0, 0.68889, 0, 0, 0.54028],
+ 710: [0, 0.825, 0, 0, 2.33334],
+ 732: [0, 0.9, 0, 0, 2.33334],
+ 770: [0, 0.825, 0, 0, 2.33334],
+ 771: [0, 0.9, 0, 0, 2.33334],
+ 989: [0.08167, 0.58167, 0, 0, 0.77778],
+ 1008: [0, 0.43056, 0.04028, 0, 0.66667],
+ 8245: [0, 0.54986, 0, 0, 0.275],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8487: [0, 0.68889, 0, 0, 0.72222],
+ 8498: [0, 0.68889, 0, 0, 0.55556],
+ 8502: [0, 0.68889, 0, 0, 0.66667],
+ 8503: [0, 0.68889, 0, 0, 0.44445],
+ 8504: [0, 0.68889, 0, 0, 0.66667],
+ 8513: [0, 0.68889, 0, 0, 0.63889],
+ 8592: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8594: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8602: [-0.13313, 0.36687, 0, 0, 1],
+ 8603: [-0.13313, 0.36687, 0, 0, 1],
+ 8606: [0.01354, 0.52239, 0, 0, 1],
+ 8608: [0.01354, 0.52239, 0, 0, 1],
+ 8610: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8611: [0.01354, 0.52239, 0, 0, 1.11111],
+ 8619: [0, 0.54986, 0, 0, 1],
+ 8620: [0, 0.54986, 0, 0, 1],
+ 8621: [-0.13313, 0.37788, 0, 0, 1.38889],
+ 8622: [-0.13313, 0.36687, 0, 0, 1],
+ 8624: [0, 0.69224, 0, 0, 0.5],
+ 8625: [0, 0.69224, 0, 0, 0.5],
+ 8630: [0, 0.43056, 0, 0, 1],
+ 8631: [0, 0.43056, 0, 0, 1],
+ 8634: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8635: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8638: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8639: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8642: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8643: [0.19444, 0.69224, 0, 0, 0.41667],
+ 8644: [0.1808, 0.675, 0, 0, 1],
+ 8646: [0.1808, 0.675, 0, 0, 1],
+ 8647: [0.1808, 0.675, 0, 0, 1],
+ 8648: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8649: [0.1808, 0.675, 0, 0, 1],
+ 8650: [0.19444, 0.69224, 0, 0, 0.83334],
+ 8651: [0.01354, 0.52239, 0, 0, 1],
+ 8652: [0.01354, 0.52239, 0, 0, 1],
+ 8653: [-0.13313, 0.36687, 0, 0, 1],
+ 8654: [-0.13313, 0.36687, 0, 0, 1],
+ 8655: [-0.13313, 0.36687, 0, 0, 1],
+ 8666: [0.13667, 0.63667, 0, 0, 1],
+ 8667: [0.13667, 0.63667, 0, 0, 1],
+ 8669: [-0.13313, 0.37788, 0, 0, 1],
+ 8672: [-0.064, 0.437, 0, 0, 1.334],
+ 8674: [-0.064, 0.437, 0, 0, 1.334],
+ 8705: [0, 0.825, 0, 0, 0.5],
+ 8708: [0, 0.68889, 0, 0, 0.55556],
+ 8709: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8717: [0, 0.43056, 0, 0, 0.42917],
+ 8722: [-0.03598, 0.46402, 0, 0, 0.5],
+ 8724: [0.08198, 0.69224, 0, 0, 0.77778],
+ 8726: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8733: [0, 0.69224, 0, 0, 0.77778],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8737: [0, 0.69224, 0, 0, 0.72222],
+ 8738: [0.03517, 0.52239, 0, 0, 0.72222],
+ 8739: [0.08167, 0.58167, 0, 0, 0.22222],
+ 8740: [0.25142, 0.74111, 0, 0, 0.27778],
+ 8741: [0.08167, 0.58167, 0, 0, 0.38889],
+ 8742: [0.25142, 0.74111, 0, 0, 0.5],
+ 8756: [0, 0.69224, 0, 0, 0.66667],
+ 8757: [0, 0.69224, 0, 0, 0.66667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8765: [-0.13313, 0.37788, 0, 0, 0.77778],
+ 8769: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8770: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8774: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8778: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8782: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8783: [0.06062, 0.54986, 0, 0, 0.77778],
+ 8785: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8786: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8787: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8790: [0, 0.69224, 0, 0, 0.77778],
+ 8791: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8796: [0.08198, 0.91667, 0, 0, 0.77778],
+ 8806: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8807: [0.25583, 0.75583, 0, 0, 0.77778],
+ 8808: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8809: [0.25142, 0.75726, 0, 0, 0.77778],
+ 8812: [0.25583, 0.75583, 0, 0, 0.5],
+ 8814: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8815: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8816: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8817: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8818: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8819: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8822: [0.1808, 0.675, 0, 0, 0.77778],
+ 8823: [0.1808, 0.675, 0, 0, 0.77778],
+ 8828: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8829: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8830: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8831: [0.22958, 0.72958, 0, 0, 0.77778],
+ 8832: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8833: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8840: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8841: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8842: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8843: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8847: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8848: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8858: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8859: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8861: [0.08198, 0.58198, 0, 0, 0.77778],
+ 8862: [0, 0.675, 0, 0, 0.77778],
+ 8863: [0, 0.675, 0, 0, 0.77778],
+ 8864: [0, 0.675, 0, 0, 0.77778],
+ 8865: [0, 0.675, 0, 0, 0.77778],
+ 8872: [0, 0.69224, 0, 0, 0.61111],
+ 8873: [0, 0.69224, 0, 0, 0.72222],
+ 8874: [0, 0.69224, 0, 0, 0.88889],
+ 8876: [0, 0.68889, 0, 0, 0.61111],
+ 8877: [0, 0.68889, 0, 0, 0.61111],
+ 8878: [0, 0.68889, 0, 0, 0.72222],
+ 8879: [0, 0.68889, 0, 0, 0.72222],
+ 8882: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8883: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8884: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8885: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8888: [0, 0.54986, 0, 0, 1.11111],
+ 8890: [0.19444, 0.43056, 0, 0, 0.55556],
+ 8891: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8892: [0.19444, 0.69224, 0, 0, 0.61111],
+ 8901: [0, 0.54986, 0, 0, 0.27778],
+ 8903: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8905: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8906: [0.08167, 0.58167, 0, 0, 0.77778],
+ 8907: [0, 0.69224, 0, 0, 0.77778],
+ 8908: [0, 0.69224, 0, 0, 0.77778],
+ 8909: [-0.03598, 0.46402, 0, 0, 0.77778],
+ 8910: [0, 0.54986, 0, 0, 0.76042],
+ 8911: [0, 0.54986, 0, 0, 0.76042],
+ 8912: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8913: [0.03517, 0.54986, 0, 0, 0.77778],
+ 8914: [0, 0.54986, 0, 0, 0.66667],
+ 8915: [0, 0.54986, 0, 0, 0.66667],
+ 8916: [0, 0.69224, 0, 0, 0.66667],
+ 8918: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8919: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8920: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8921: [0.03517, 0.54986, 0, 0, 1.33334],
+ 8922: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8923: [0.38569, 0.88569, 0, 0, 0.77778],
+ 8926: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8927: [0.13667, 0.63667, 0, 0, 0.77778],
+ 8928: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8929: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8934: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8935: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8936: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8937: [0.23222, 0.74111, 0, 0, 0.77778],
+ 8938: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8939: [0.20576, 0.70576, 0, 0, 0.77778],
+ 8940: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8941: [0.30274, 0.79383, 0, 0, 0.77778],
+ 8994: [0.19444, 0.69224, 0, 0, 0.77778],
+ 8995: [0.19444, 0.69224, 0, 0, 0.77778],
+ 9416: [0.15559, 0.69224, 0, 0, 0.90222],
+ 9484: [0, 0.69224, 0, 0, 0.5],
+ 9488: [0, 0.69224, 0, 0, 0.5],
+ 9492: [0, 0.37788, 0, 0, 0.5],
+ 9496: [0, 0.37788, 0, 0, 0.5],
+ 9585: [0.19444, 0.68889, 0, 0, 0.88889],
+ 9586: [0.19444, 0.74111, 0, 0, 0.88889],
+ 9632: [0, 0.675, 0, 0, 0.77778],
+ 9633: [0, 0.675, 0, 0, 0.77778],
+ 9650: [0, 0.54986, 0, 0, 0.72222],
+ 9651: [0, 0.54986, 0, 0, 0.72222],
+ 9654: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9660: [0, 0.54986, 0, 0, 0.72222],
+ 9661: [0, 0.54986, 0, 0, 0.72222],
+ 9664: [0.03517, 0.54986, 0, 0, 0.77778],
+ 9674: [0.11111, 0.69224, 0, 0, 0.66667],
+ 9733: [0.19444, 0.69224, 0, 0, 0.94445],
+ 10003: [0, 0.69224, 0, 0, 0.83334],
+ 10016: [0, 0.69224, 0, 0, 0.83334],
+ 10731: [0.11111, 0.69224, 0, 0, 0.66667],
+ 10846: [0.19444, 0.75583, 0, 0, 0.61111],
+ 10877: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10878: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10885: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10886: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10887: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10888: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10889: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10890: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10891: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10892: [0.48256, 0.98256, 0, 0, 0.77778],
+ 10901: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10902: [0.13667, 0.63667, 0, 0, 0.77778],
+ 10933: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10934: [0.25142, 0.75726, 0, 0, 0.77778],
+ 10935: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10936: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10937: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10938: [0.26167, 0.75726, 0, 0, 0.77778],
+ 10949: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10950: [0.25583, 0.75583, 0, 0, 0.77778],
+ 10955: [0.28481, 0.79383, 0, 0, 0.77778],
+ 10956: [0.28481, 0.79383, 0, 0, 0.77778],
+ 57350: [0.08167, 0.58167, 0, 0, 0.22222],
+ 57351: [0.08167, 0.58167, 0, 0, 0.38889],
+ 57352: [0.08167, 0.58167, 0, 0, 0.77778],
+ 57353: [0, 0.43056, 0.04028, 0, 0.66667],
+ 57356: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57357: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57358: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57359: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57360: [0.30274, 0.79383, 0, 0, 0.77778],
+ 57361: [0.41951, 0.91951, 0, 0, 0.77778],
+ 57366: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57367: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57368: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57369: [0.25142, 0.75726, 0, 0, 0.77778],
+ 57370: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57371: [0.13597, 0.63597, 0, 0, 0.77778],
+ },
+ 'Caligraphic-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.68333, 0, 0.19445, 0.79847],
+ 66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
+ 67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
+ 68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
+ 69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
+ 70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
+ 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
+ 72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
+ 73: [0, 0.68333, 0.07382, 0, 0.54452],
+ 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
+ 75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
+ 76: [0, 0.68333, 0, 0.13889, 0.68972],
+ 77: [0, 0.68333, 0, 0.13889, 1.2009],
+ 78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
+ 79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
+ 80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
+ 81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
+ 82: [0, 0.68333, 0, 0.08334, 0.8475],
+ 83: [0, 0.68333, 0.075, 0.13889, 0.60556],
+ 84: [0, 0.68333, 0.25417, 0, 0.54464],
+ 85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
+ 86: [0, 0.68333, 0.08222, 0, 0.61278],
+ 87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
+ 88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
+ 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
+ 90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
+ 160: [0, 0, 0, 0, 0.25],
+ },
+ 'Fraktur-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69141, 0, 0, 0.29574],
+ 34: [0, 0.69141, 0, 0, 0.21471],
+ 38: [0, 0.69141, 0, 0, 0.73786],
+ 39: [0, 0.69141, 0, 0, 0.21201],
+ 40: [0.24982, 0.74947, 0, 0, 0.38865],
+ 41: [0.24982, 0.74947, 0, 0, 0.38865],
+ 42: [0, 0.62119, 0, 0, 0.27764],
+ 43: [0.08319, 0.58283, 0, 0, 0.75623],
+ 44: [0, 0.10803, 0, 0, 0.27764],
+ 45: [0.08319, 0.58283, 0, 0, 0.75623],
+ 46: [0, 0.10803, 0, 0, 0.27764],
+ 47: [0.24982, 0.74947, 0, 0, 0.50181],
+ 48: [0, 0.47534, 0, 0, 0.50181],
+ 49: [0, 0.47534, 0, 0, 0.50181],
+ 50: [0, 0.47534, 0, 0, 0.50181],
+ 51: [0.18906, 0.47534, 0, 0, 0.50181],
+ 52: [0.18906, 0.47534, 0, 0, 0.50181],
+ 53: [0.18906, 0.47534, 0, 0, 0.50181],
+ 54: [0, 0.69141, 0, 0, 0.50181],
+ 55: [0.18906, 0.47534, 0, 0, 0.50181],
+ 56: [0, 0.69141, 0, 0, 0.50181],
+ 57: [0.18906, 0.47534, 0, 0, 0.50181],
+ 58: [0, 0.47534, 0, 0, 0.21606],
+ 59: [0.12604, 0.47534, 0, 0, 0.21606],
+ 61: [-0.13099, 0.36866, 0, 0, 0.75623],
+ 63: [0, 0.69141, 0, 0, 0.36245],
+ 65: [0, 0.69141, 0, 0, 0.7176],
+ 66: [0, 0.69141, 0, 0, 0.88397],
+ 67: [0, 0.69141, 0, 0, 0.61254],
+ 68: [0, 0.69141, 0, 0, 0.83158],
+ 69: [0, 0.69141, 0, 0, 0.66278],
+ 70: [0.12604, 0.69141, 0, 0, 0.61119],
+ 71: [0, 0.69141, 0, 0, 0.78539],
+ 72: [0.06302, 0.69141, 0, 0, 0.7203],
+ 73: [0, 0.69141, 0, 0, 0.55448],
+ 74: [0.12604, 0.69141, 0, 0, 0.55231],
+ 75: [0, 0.69141, 0, 0, 0.66845],
+ 76: [0, 0.69141, 0, 0, 0.66602],
+ 77: [0, 0.69141, 0, 0, 1.04953],
+ 78: [0, 0.69141, 0, 0, 0.83212],
+ 79: [0, 0.69141, 0, 0, 0.82699],
+ 80: [0.18906, 0.69141, 0, 0, 0.82753],
+ 81: [0.03781, 0.69141, 0, 0, 0.82699],
+ 82: [0, 0.69141, 0, 0, 0.82807],
+ 83: [0, 0.69141, 0, 0, 0.82861],
+ 84: [0, 0.69141, 0, 0, 0.66899],
+ 85: [0, 0.69141, 0, 0, 0.64576],
+ 86: [0, 0.69141, 0, 0, 0.83131],
+ 87: [0, 0.69141, 0, 0, 1.04602],
+ 88: [0, 0.69141, 0, 0, 0.71922],
+ 89: [0.18906, 0.69141, 0, 0, 0.83293],
+ 90: [0.12604, 0.69141, 0, 0, 0.60201],
+ 91: [0.24982, 0.74947, 0, 0, 0.27764],
+ 93: [0.24982, 0.74947, 0, 0, 0.27764],
+ 94: [0, 0.69141, 0, 0, 0.49965],
+ 97: [0, 0.47534, 0, 0, 0.50046],
+ 98: [0, 0.69141, 0, 0, 0.51315],
+ 99: [0, 0.47534, 0, 0, 0.38946],
+ 100: [0, 0.62119, 0, 0, 0.49857],
+ 101: [0, 0.47534, 0, 0, 0.40053],
+ 102: [0.18906, 0.69141, 0, 0, 0.32626],
+ 103: [0.18906, 0.47534, 0, 0, 0.5037],
+ 104: [0.18906, 0.69141, 0, 0, 0.52126],
+ 105: [0, 0.69141, 0, 0, 0.27899],
+ 106: [0, 0.69141, 0, 0, 0.28088],
+ 107: [0, 0.69141, 0, 0, 0.38946],
+ 108: [0, 0.69141, 0, 0, 0.27953],
+ 109: [0, 0.47534, 0, 0, 0.76676],
+ 110: [0, 0.47534, 0, 0, 0.52666],
+ 111: [0, 0.47534, 0, 0, 0.48885],
+ 112: [0.18906, 0.52396, 0, 0, 0.50046],
+ 113: [0.18906, 0.47534, 0, 0, 0.48912],
+ 114: [0, 0.47534, 0, 0, 0.38919],
+ 115: [0, 0.47534, 0, 0, 0.44266],
+ 116: [0, 0.62119, 0, 0, 0.33301],
+ 117: [0, 0.47534, 0, 0, 0.5172],
+ 118: [0, 0.52396, 0, 0, 0.5118],
+ 119: [0, 0.52396, 0, 0, 0.77351],
+ 120: [0.18906, 0.47534, 0, 0, 0.38865],
+ 121: [0.18906, 0.47534, 0, 0, 0.49884],
+ 122: [0.18906, 0.47534, 0, 0, 0.39054],
+ 160: [0, 0, 0, 0, 0.25],
+ 8216: [0, 0.69141, 0, 0, 0.21471],
+ 8217: [0, 0.69141, 0, 0, 0.21471],
+ 58112: [0, 0.62119, 0, 0, 0.49749],
+ 58113: [0, 0.62119, 0, 0, 0.4983],
+ 58114: [0.18906, 0.69141, 0, 0, 0.33328],
+ 58115: [0.18906, 0.69141, 0, 0, 0.32923],
+ 58116: [0.18906, 0.47534, 0, 0, 0.50343],
+ 58117: [0, 0.69141, 0, 0, 0.33301],
+ 58118: [0, 0.62119, 0, 0, 0.33409],
+ 58119: [0, 0.47534, 0, 0, 0.50073],
+ },
+ 'Main-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.35],
+ 34: [0, 0.69444, 0, 0, 0.60278],
+ 35: [0.19444, 0.69444, 0, 0, 0.95833],
+ 36: [0.05556, 0.75, 0, 0, 0.575],
+ 37: [0.05556, 0.75, 0, 0, 0.95833],
+ 38: [0, 0.69444, 0, 0, 0.89444],
+ 39: [0, 0.69444, 0, 0, 0.31944],
+ 40: [0.25, 0.75, 0, 0, 0.44722],
+ 41: [0.25, 0.75, 0, 0, 0.44722],
+ 42: [0, 0.75, 0, 0, 0.575],
+ 43: [0.13333, 0.63333, 0, 0, 0.89444],
+ 44: [0.19444, 0.15556, 0, 0, 0.31944],
+ 45: [0, 0.44444, 0, 0, 0.38333],
+ 46: [0, 0.15556, 0, 0, 0.31944],
+ 47: [0.25, 0.75, 0, 0, 0.575],
+ 48: [0, 0.64444, 0, 0, 0.575],
+ 49: [0, 0.64444, 0, 0, 0.575],
+ 50: [0, 0.64444, 0, 0, 0.575],
+ 51: [0, 0.64444, 0, 0, 0.575],
+ 52: [0, 0.64444, 0, 0, 0.575],
+ 53: [0, 0.64444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0, 0.64444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0, 0.64444, 0, 0, 0.575],
+ 58: [0, 0.44444, 0, 0, 0.31944],
+ 59: [0.19444, 0.44444, 0, 0, 0.31944],
+ 60: [0.08556, 0.58556, 0, 0, 0.89444],
+ 61: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 62: [0.08556, 0.58556, 0, 0, 0.89444],
+ 63: [0, 0.69444, 0, 0, 0.54305],
+ 64: [0, 0.69444, 0, 0, 0.89444],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0, 0, 0.81805],
+ 67: [0, 0.68611, 0, 0, 0.83055],
+ 68: [0, 0.68611, 0, 0, 0.88194],
+ 69: [0, 0.68611, 0, 0, 0.75555],
+ 70: [0, 0.68611, 0, 0, 0.72361],
+ 71: [0, 0.68611, 0, 0, 0.90416],
+ 72: [0, 0.68611, 0, 0, 0.9],
+ 73: [0, 0.68611, 0, 0, 0.43611],
+ 74: [0, 0.68611, 0, 0, 0.59444],
+ 75: [0, 0.68611, 0, 0, 0.90138],
+ 76: [0, 0.68611, 0, 0, 0.69166],
+ 77: [0, 0.68611, 0, 0, 1.09166],
+ 78: [0, 0.68611, 0, 0, 0.9],
+ 79: [0, 0.68611, 0, 0, 0.86388],
+ 80: [0, 0.68611, 0, 0, 0.78611],
+ 81: [0.19444, 0.68611, 0, 0, 0.86388],
+ 82: [0, 0.68611, 0, 0, 0.8625],
+ 83: [0, 0.68611, 0, 0, 0.63889],
+ 84: [0, 0.68611, 0, 0, 0.8],
+ 85: [0, 0.68611, 0, 0, 0.88472],
+ 86: [0, 0.68611, 0.01597, 0, 0.86944],
+ 87: [0, 0.68611, 0.01597, 0, 1.18888],
+ 88: [0, 0.68611, 0, 0, 0.86944],
+ 89: [0, 0.68611, 0.02875, 0, 0.86944],
+ 90: [0, 0.68611, 0, 0, 0.70277],
+ 91: [0.25, 0.75, 0, 0, 0.31944],
+ 92: [0.25, 0.75, 0, 0, 0.575],
+ 93: [0.25, 0.75, 0, 0, 0.31944],
+ 94: [0, 0.69444, 0, 0, 0.575],
+ 95: [0.31, 0.13444, 0.03194, 0, 0.575],
+ 97: [0, 0.44444, 0, 0, 0.55902],
+ 98: [0, 0.69444, 0, 0, 0.63889],
+ 99: [0, 0.44444, 0, 0, 0.51111],
+ 100: [0, 0.69444, 0, 0, 0.63889],
+ 101: [0, 0.44444, 0, 0, 0.52708],
+ 102: [0, 0.69444, 0.10903, 0, 0.35139],
+ 103: [0.19444, 0.44444, 0.01597, 0, 0.575],
+ 104: [0, 0.69444, 0, 0, 0.63889],
+ 105: [0, 0.69444, 0, 0, 0.31944],
+ 106: [0.19444, 0.69444, 0, 0, 0.35139],
+ 107: [0, 0.69444, 0, 0, 0.60694],
+ 108: [0, 0.69444, 0, 0, 0.31944],
+ 109: [0, 0.44444, 0, 0, 0.95833],
+ 110: [0, 0.44444, 0, 0, 0.63889],
+ 111: [0, 0.44444, 0, 0, 0.575],
+ 112: [0.19444, 0.44444, 0, 0, 0.63889],
+ 113: [0.19444, 0.44444, 0, 0, 0.60694],
+ 114: [0, 0.44444, 0, 0, 0.47361],
+ 115: [0, 0.44444, 0, 0, 0.45361],
+ 116: [0, 0.63492, 0, 0, 0.44722],
+ 117: [0, 0.44444, 0, 0, 0.63889],
+ 118: [0, 0.44444, 0.01597, 0, 0.60694],
+ 119: [0, 0.44444, 0.01597, 0, 0.83055],
+ 120: [0, 0.44444, 0, 0, 0.60694],
+ 121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
+ 122: [0, 0.44444, 0, 0, 0.51111],
+ 123: [0.25, 0.75, 0, 0, 0.575],
+ 124: [0.25, 0.75, 0, 0, 0.31944],
+ 125: [0.25, 0.75, 0, 0, 0.575],
+ 126: [0.35, 0.34444, 0, 0, 0.575],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.86853],
+ 168: [0, 0.69444, 0, 0, 0.575],
+ 172: [0, 0.44444, 0, 0, 0.76666],
+ 176: [0, 0.69444, 0, 0, 0.86944],
+ 177: [0.13333, 0.63333, 0, 0, 0.89444],
+ 184: [0.17014, 0, 0, 0, 0.51111],
+ 198: [0, 0.68611, 0, 0, 1.04166],
+ 215: [0.13333, 0.63333, 0, 0, 0.89444],
+ 216: [0.04861, 0.73472, 0, 0, 0.89444],
+ 223: [0, 0.69444, 0, 0, 0.59722],
+ 230: [0, 0.44444, 0, 0, 0.83055],
+ 247: [0.13333, 0.63333, 0, 0, 0.89444],
+ 248: [0.09722, 0.54167, 0, 0, 0.575],
+ 305: [0, 0.44444, 0, 0, 0.31944],
+ 338: [0, 0.68611, 0, 0, 1.16944],
+ 339: [0, 0.44444, 0, 0, 0.89444],
+ 567: [0.19444, 0.44444, 0, 0, 0.35139],
+ 710: [0, 0.69444, 0, 0, 0.575],
+ 711: [0, 0.63194, 0, 0, 0.575],
+ 713: [0, 0.59611, 0, 0, 0.575],
+ 714: [0, 0.69444, 0, 0, 0.575],
+ 715: [0, 0.69444, 0, 0, 0.575],
+ 728: [0, 0.69444, 0, 0, 0.575],
+ 729: [0, 0.69444, 0, 0, 0.31944],
+ 730: [0, 0.69444, 0, 0, 0.86944],
+ 732: [0, 0.69444, 0, 0, 0.575],
+ 733: [0, 0.69444, 0, 0, 0.575],
+ 915: [0, 0.68611, 0, 0, 0.69166],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0, 0, 0.89444],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0, 0, 0.76666],
+ 928: [0, 0.68611, 0, 0, 0.9],
+ 931: [0, 0.68611, 0, 0, 0.83055],
+ 933: [0, 0.68611, 0, 0, 0.89444],
+ 934: [0, 0.68611, 0, 0, 0.83055],
+ 936: [0, 0.68611, 0, 0, 0.89444],
+ 937: [0, 0.68611, 0, 0, 0.83055],
+ 8211: [0, 0.44444, 0.03194, 0, 0.575],
+ 8212: [0, 0.44444, 0.03194, 0, 1.14999],
+ 8216: [0, 0.69444, 0, 0, 0.31944],
+ 8217: [0, 0.69444, 0, 0, 0.31944],
+ 8220: [0, 0.69444, 0, 0, 0.60278],
+ 8221: [0, 0.69444, 0, 0, 0.60278],
+ 8224: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8225: [0.19444, 0.69444, 0, 0, 0.51111],
+ 8242: [0, 0.55556, 0, 0, 0.34444],
+ 8407: [0, 0.72444, 0.15486, 0, 0.575],
+ 8463: [0, 0.69444, 0, 0, 0.66759],
+ 8465: [0, 0.69444, 0, 0, 0.83055],
+ 8467: [0, 0.69444, 0, 0, 0.47361],
+ 8472: [0.19444, 0.44444, 0, 0, 0.74027],
+ 8476: [0, 0.69444, 0, 0, 0.83055],
+ 8501: [0, 0.69444, 0, 0, 0.70277],
+ 8592: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8593: [0.19444, 0.69444, 0, 0, 0.575],
+ 8594: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8595: [0.19444, 0.69444, 0, 0, 0.575],
+ 8596: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8597: [0.25, 0.75, 0, 0, 0.575],
+ 8598: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8599: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8600: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8601: [0.19444, 0.69444, 0, 0, 1.14999],
+ 8636: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8637: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8640: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8641: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8656: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8657: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8658: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8659: [0.19444, 0.69444, 0, 0, 0.70277],
+ 8660: [-0.10889, 0.39111, 0, 0, 1.14999],
+ 8661: [0.25, 0.75, 0, 0, 0.70277],
+ 8704: [0, 0.69444, 0, 0, 0.63889],
+ 8706: [0, 0.69444, 0.06389, 0, 0.62847],
+ 8707: [0, 0.69444, 0, 0, 0.63889],
+ 8709: [0.05556, 0.75, 0, 0, 0.575],
+ 8711: [0, 0.68611, 0, 0, 0.95833],
+ 8712: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8715: [0.08556, 0.58556, 0, 0, 0.76666],
+ 8722: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8723: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8725: [0.25, 0.75, 0, 0, 0.575],
+ 8726: [0.25, 0.75, 0, 0, 0.575],
+ 8727: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8728: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8729: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8730: [0.18, 0.82, 0, 0, 0.95833],
+ 8733: [0, 0.44444, 0, 0, 0.89444],
+ 8734: [0, 0.44444, 0, 0, 1.14999],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.31944],
+ 8741: [0.25, 0.75, 0, 0, 0.575],
+ 8743: [0, 0.55556, 0, 0, 0.76666],
+ 8744: [0, 0.55556, 0, 0, 0.76666],
+ 8745: [0, 0.55556, 0, 0, 0.76666],
+ 8746: [0, 0.55556, 0, 0, 0.76666],
+ 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
+ 8764: [-0.10889, 0.39111, 0, 0, 0.89444],
+ 8768: [0.19444, 0.69444, 0, 0, 0.31944],
+ 8771: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8773: [0.027, 0.638, 0, 0, 0.894],
+ 8776: [0.02444, 0.52444, 0, 0, 0.89444],
+ 8781: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8801: [0.00222, 0.50222, 0, 0, 0.89444],
+ 8804: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8805: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8810: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8811: [0.08556, 0.58556, 0, 0, 1.14999],
+ 8826: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8827: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8834: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8835: [0.08556, 0.58556, 0, 0, 0.89444],
+ 8838: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8839: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8846: [0, 0.55556, 0, 0, 0.76666],
+ 8849: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8850: [0.19667, 0.69667, 0, 0, 0.89444],
+ 8851: [0, 0.55556, 0, 0, 0.76666],
+ 8852: [0, 0.55556, 0, 0, 0.76666],
+ 8853: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8854: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8855: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8856: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8857: [0.13333, 0.63333, 0, 0, 0.89444],
+ 8866: [0, 0.69444, 0, 0, 0.70277],
+ 8867: [0, 0.69444, 0, 0, 0.70277],
+ 8868: [0, 0.69444, 0, 0, 0.89444],
+ 8869: [0, 0.69444, 0, 0, 0.89444],
+ 8900: [-0.02639, 0.47361, 0, 0, 0.575],
+ 8901: [-0.02639, 0.47361, 0, 0, 0.31944],
+ 8902: [-0.02778, 0.47222, 0, 0, 0.575],
+ 8968: [0.25, 0.75, 0, 0, 0.51111],
+ 8969: [0.25, 0.75, 0, 0, 0.51111],
+ 8970: [0.25, 0.75, 0, 0, 0.51111],
+ 8971: [0.25, 0.75, 0, 0, 0.51111],
+ 8994: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 8995: [-0.13889, 0.36111, 0, 0, 1.14999],
+ 9651: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9657: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9661: [0.19444, 0.69444, 0, 0, 1.02222],
+ 9667: [-0.02778, 0.47222, 0, 0, 0.575],
+ 9711: [0.19444, 0.69444, 0, 0, 1.14999],
+ 9824: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9825: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9826: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9827: [0.12963, 0.69444, 0, 0, 0.89444],
+ 9837: [0, 0.75, 0, 0, 0.44722],
+ 9838: [0.19444, 0.69444, 0, 0, 0.44722],
+ 9839: [0.19444, 0.69444, 0, 0, 0.44722],
+ 10216: [0.25, 0.75, 0, 0, 0.44722],
+ 10217: [0.25, 0.75, 0, 0, 0.44722],
+ 10815: [0, 0.68611, 0, 0, 0.9],
+ 10927: [0.19667, 0.69667, 0, 0, 0.89444],
+ 10928: [0.19667, 0.69667, 0, 0, 0.89444],
+ 57376: [0.19444, 0.69444, 0, 0, 0],
+ },
+ 'Main-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.11417, 0, 0.38611],
+ 34: [0, 0.69444, 0.07939, 0, 0.62055],
+ 35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
+ 37: [0.05556, 0.75, 0.12861, 0, 0.94444],
+ 38: [0, 0.69444, 0.08528, 0, 0.88555],
+ 39: [0, 0.69444, 0.12945, 0, 0.35555],
+ 40: [0.25, 0.75, 0.15806, 0, 0.47333],
+ 41: [0.25, 0.75, 0.03306, 0, 0.47333],
+ 42: [0, 0.75, 0.14333, 0, 0.59111],
+ 43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
+ 44: [0.19444, 0.14722, 0, 0, 0.35555],
+ 45: [0, 0.44444, 0.02611, 0, 0.41444],
+ 46: [0, 0.14722, 0, 0, 0.35555],
+ 47: [0.25, 0.75, 0.15806, 0, 0.59111],
+ 48: [0, 0.64444, 0.13167, 0, 0.59111],
+ 49: [0, 0.64444, 0.13167, 0, 0.59111],
+ 50: [0, 0.64444, 0.13167, 0, 0.59111],
+ 51: [0, 0.64444, 0.13167, 0, 0.59111],
+ 52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 53: [0, 0.64444, 0.13167, 0, 0.59111],
+ 54: [0, 0.64444, 0.13167, 0, 0.59111],
+ 55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
+ 56: [0, 0.64444, 0.13167, 0, 0.59111],
+ 57: [0, 0.64444, 0.13167, 0, 0.59111],
+ 58: [0, 0.44444, 0.06695, 0, 0.35555],
+ 59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
+ 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
+ 63: [0, 0.69444, 0.11472, 0, 0.59111],
+ 64: [0, 0.69444, 0.09208, 0, 0.88555],
+ 65: [0, 0.68611, 0, 0, 0.86555],
+ 66: [0, 0.68611, 0.0992, 0, 0.81666],
+ 67: [0, 0.68611, 0.14208, 0, 0.82666],
+ 68: [0, 0.68611, 0.09062, 0, 0.87555],
+ 69: [0, 0.68611, 0.11431, 0, 0.75666],
+ 70: [0, 0.68611, 0.12903, 0, 0.72722],
+ 71: [0, 0.68611, 0.07347, 0, 0.89527],
+ 72: [0, 0.68611, 0.17208, 0, 0.8961],
+ 73: [0, 0.68611, 0.15681, 0, 0.47166],
+ 74: [0, 0.68611, 0.145, 0, 0.61055],
+ 75: [0, 0.68611, 0.14208, 0, 0.89499],
+ 76: [0, 0.68611, 0, 0, 0.69777],
+ 77: [0, 0.68611, 0.17208, 0, 1.07277],
+ 78: [0, 0.68611, 0.17208, 0, 0.8961],
+ 79: [0, 0.68611, 0.09062, 0, 0.85499],
+ 80: [0, 0.68611, 0.0992, 0, 0.78721],
+ 81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
+ 82: [0, 0.68611, 0.02559, 0, 0.85944],
+ 83: [0, 0.68611, 0.11264, 0, 0.64999],
+ 84: [0, 0.68611, 0.12903, 0, 0.7961],
+ 85: [0, 0.68611, 0.17208, 0, 0.88083],
+ 86: [0, 0.68611, 0.18625, 0, 0.86555],
+ 87: [0, 0.68611, 0.18625, 0, 1.15999],
+ 88: [0, 0.68611, 0.15681, 0, 0.86555],
+ 89: [0, 0.68611, 0.19803, 0, 0.86555],
+ 90: [0, 0.68611, 0.14208, 0, 0.70888],
+ 91: [0.25, 0.75, 0.1875, 0, 0.35611],
+ 93: [0.25, 0.75, 0.09972, 0, 0.35611],
+ 94: [0, 0.69444, 0.06709, 0, 0.59111],
+ 95: [0.31, 0.13444, 0.09811, 0, 0.59111],
+ 97: [0, 0.44444, 0.09426, 0, 0.59111],
+ 98: [0, 0.69444, 0.07861, 0, 0.53222],
+ 99: [0, 0.44444, 0.05222, 0, 0.53222],
+ 100: [0, 0.69444, 0.10861, 0, 0.59111],
+ 101: [0, 0.44444, 0.085, 0, 0.53222],
+ 102: [0.19444, 0.69444, 0.21778, 0, 0.4],
+ 103: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 104: [0, 0.69444, 0.09426, 0, 0.59111],
+ 105: [0, 0.69326, 0.11387, 0, 0.35555],
+ 106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
+ 107: [0, 0.69444, 0.11111, 0, 0.53222],
+ 108: [0, 0.69444, 0.10861, 0, 0.29666],
+ 109: [0, 0.44444, 0.09426, 0, 0.94444],
+ 110: [0, 0.44444, 0.09426, 0, 0.64999],
+ 111: [0, 0.44444, 0.07861, 0, 0.59111],
+ 112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
+ 113: [0.19444, 0.44444, 0.105, 0, 0.53222],
+ 114: [0, 0.44444, 0.11111, 0, 0.50167],
+ 115: [0, 0.44444, 0.08167, 0, 0.48694],
+ 116: [0, 0.63492, 0.09639, 0, 0.385],
+ 117: [0, 0.44444, 0.09426, 0, 0.62055],
+ 118: [0, 0.44444, 0.11111, 0, 0.53222],
+ 119: [0, 0.44444, 0.11111, 0, 0.76777],
+ 120: [0, 0.44444, 0.12583, 0, 0.56055],
+ 121: [0.19444, 0.44444, 0.105, 0, 0.56166],
+ 122: [0, 0.44444, 0.13889, 0, 0.49055],
+ 126: [0.35, 0.34444, 0.11472, 0, 0.59111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0.11473, 0, 0.59111],
+ 176: [0, 0.69444, 0, 0, 0.94888],
+ 184: [0.17014, 0, 0, 0, 0.53222],
+ 198: [0, 0.68611, 0.11431, 0, 1.02277],
+ 216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
+ 223: [0.19444, 0.69444, 0.09736, 0, 0.665],
+ 230: [0, 0.44444, 0.085, 0, 0.82666],
+ 248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
+ 305: [0, 0.44444, 0.09426, 0, 0.35555],
+ 338: [0, 0.68611, 0.11431, 0, 1.14054],
+ 339: [0, 0.44444, 0.085, 0, 0.82666],
+ 567: [0.19444, 0.44444, 0.04611, 0, 0.385],
+ 710: [0, 0.69444, 0.06709, 0, 0.59111],
+ 711: [0, 0.63194, 0.08271, 0, 0.59111],
+ 713: [0, 0.59444, 0.10444, 0, 0.59111],
+ 714: [0, 0.69444, 0.08528, 0, 0.59111],
+ 715: [0, 0.69444, 0, 0, 0.59111],
+ 728: [0, 0.69444, 0.10333, 0, 0.59111],
+ 729: [0, 0.69444, 0.12945, 0, 0.35555],
+ 730: [0, 0.69444, 0, 0, 0.94888],
+ 732: [0, 0.69444, 0.11472, 0, 0.59111],
+ 733: [0, 0.69444, 0.11472, 0, 0.59111],
+ 915: [0, 0.68611, 0.12903, 0, 0.69777],
+ 916: [0, 0.68611, 0, 0, 0.94444],
+ 920: [0, 0.68611, 0.09062, 0, 0.88555],
+ 923: [0, 0.68611, 0, 0, 0.80666],
+ 926: [0, 0.68611, 0.15092, 0, 0.76777],
+ 928: [0, 0.68611, 0.17208, 0, 0.8961],
+ 931: [0, 0.68611, 0.11431, 0, 0.82666],
+ 933: [0, 0.68611, 0.10778, 0, 0.88555],
+ 934: [0, 0.68611, 0.05632, 0, 0.82666],
+ 936: [0, 0.68611, 0.10778, 0, 0.88555],
+ 937: [0, 0.68611, 0.0992, 0, 0.82666],
+ 8211: [0, 0.44444, 0.09811, 0, 0.59111],
+ 8212: [0, 0.44444, 0.09811, 0, 1.18221],
+ 8216: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8217: [0, 0.69444, 0.12945, 0, 0.35555],
+ 8220: [0, 0.69444, 0.16772, 0, 0.62055],
+ 8221: [0, 0.69444, 0.07939, 0, 0.62055],
+ },
+ 'Main-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.12417, 0, 0.30667],
+ 34: [0, 0.69444, 0.06961, 0, 0.51444],
+ 35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
+ 37: [0.05556, 0.75, 0.13639, 0, 0.81777],
+ 38: [0, 0.69444, 0.09694, 0, 0.76666],
+ 39: [0, 0.69444, 0.12417, 0, 0.30667],
+ 40: [0.25, 0.75, 0.16194, 0, 0.40889],
+ 41: [0.25, 0.75, 0.03694, 0, 0.40889],
+ 42: [0, 0.75, 0.14917, 0, 0.51111],
+ 43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
+ 44: [0.19444, 0.10556, 0, 0, 0.30667],
+ 45: [0, 0.43056, 0.02826, 0, 0.35778],
+ 46: [0, 0.10556, 0, 0, 0.30667],
+ 47: [0.25, 0.75, 0.16194, 0, 0.51111],
+ 48: [0, 0.64444, 0.13556, 0, 0.51111],
+ 49: [0, 0.64444, 0.13556, 0, 0.51111],
+ 50: [0, 0.64444, 0.13556, 0, 0.51111],
+ 51: [0, 0.64444, 0.13556, 0, 0.51111],
+ 52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 53: [0, 0.64444, 0.13556, 0, 0.51111],
+ 54: [0, 0.64444, 0.13556, 0, 0.51111],
+ 55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
+ 56: [0, 0.64444, 0.13556, 0, 0.51111],
+ 57: [0, 0.64444, 0.13556, 0, 0.51111],
+ 58: [0, 0.43056, 0.0582, 0, 0.30667],
+ 59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
+ 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
+ 63: [0, 0.69444, 0.1225, 0, 0.51111],
+ 64: [0, 0.69444, 0.09597, 0, 0.76666],
+ 65: [0, 0.68333, 0, 0, 0.74333],
+ 66: [0, 0.68333, 0.10257, 0, 0.70389],
+ 67: [0, 0.68333, 0.14528, 0, 0.71555],
+ 68: [0, 0.68333, 0.09403, 0, 0.755],
+ 69: [0, 0.68333, 0.12028, 0, 0.67833],
+ 70: [0, 0.68333, 0.13305, 0, 0.65277],
+ 71: [0, 0.68333, 0.08722, 0, 0.77361],
+ 72: [0, 0.68333, 0.16389, 0, 0.74333],
+ 73: [0, 0.68333, 0.15806, 0, 0.38555],
+ 74: [0, 0.68333, 0.14028, 0, 0.525],
+ 75: [0, 0.68333, 0.14528, 0, 0.76888],
+ 76: [0, 0.68333, 0, 0, 0.62722],
+ 77: [0, 0.68333, 0.16389, 0, 0.89666],
+ 78: [0, 0.68333, 0.16389, 0, 0.74333],
+ 79: [0, 0.68333, 0.09403, 0, 0.76666],
+ 80: [0, 0.68333, 0.10257, 0, 0.67833],
+ 81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
+ 82: [0, 0.68333, 0.03868, 0, 0.72944],
+ 83: [0, 0.68333, 0.11972, 0, 0.56222],
+ 84: [0, 0.68333, 0.13305, 0, 0.71555],
+ 85: [0, 0.68333, 0.16389, 0, 0.74333],
+ 86: [0, 0.68333, 0.18361, 0, 0.74333],
+ 87: [0, 0.68333, 0.18361, 0, 0.99888],
+ 88: [0, 0.68333, 0.15806, 0, 0.74333],
+ 89: [0, 0.68333, 0.19383, 0, 0.74333],
+ 90: [0, 0.68333, 0.14528, 0, 0.61333],
+ 91: [0.25, 0.75, 0.1875, 0, 0.30667],
+ 93: [0.25, 0.75, 0.10528, 0, 0.30667],
+ 94: [0, 0.69444, 0.06646, 0, 0.51111],
+ 95: [0.31, 0.12056, 0.09208, 0, 0.51111],
+ 97: [0, 0.43056, 0.07671, 0, 0.51111],
+ 98: [0, 0.69444, 0.06312, 0, 0.46],
+ 99: [0, 0.43056, 0.05653, 0, 0.46],
+ 100: [0, 0.69444, 0.10333, 0, 0.51111],
+ 101: [0, 0.43056, 0.07514, 0, 0.46],
+ 102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
+ 103: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 104: [0, 0.69444, 0.07671, 0, 0.51111],
+ 105: [0, 0.65536, 0.1019, 0, 0.30667],
+ 106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
+ 107: [0, 0.69444, 0.10764, 0, 0.46],
+ 108: [0, 0.69444, 0.10333, 0, 0.25555],
+ 109: [0, 0.43056, 0.07671, 0, 0.81777],
+ 110: [0, 0.43056, 0.07671, 0, 0.56222],
+ 111: [0, 0.43056, 0.06312, 0, 0.51111],
+ 112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
+ 113: [0.19444, 0.43056, 0.08847, 0, 0.46],
+ 114: [0, 0.43056, 0.10764, 0, 0.42166],
+ 115: [0, 0.43056, 0.08208, 0, 0.40889],
+ 116: [0, 0.61508, 0.09486, 0, 0.33222],
+ 117: [0, 0.43056, 0.07671, 0, 0.53666],
+ 118: [0, 0.43056, 0.10764, 0, 0.46],
+ 119: [0, 0.43056, 0.10764, 0, 0.66444],
+ 120: [0, 0.43056, 0.12042, 0, 0.46389],
+ 121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
+ 122: [0, 0.43056, 0.12292, 0, 0.40889],
+ 126: [0.35, 0.31786, 0.11585, 0, 0.51111],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.66786, 0.10474, 0, 0.51111],
+ 176: [0, 0.69444, 0, 0, 0.83129],
+ 184: [0.17014, 0, 0, 0, 0.46],
+ 198: [0, 0.68333, 0.12028, 0, 0.88277],
+ 216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
+ 223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
+ 230: [0, 0.43056, 0.07514, 0, 0.71555],
+ 248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
+ 338: [0, 0.68333, 0.12028, 0, 0.98499],
+ 339: [0, 0.43056, 0.07514, 0, 0.71555],
+ 710: [0, 0.69444, 0.06646, 0, 0.51111],
+ 711: [0, 0.62847, 0.08295, 0, 0.51111],
+ 713: [0, 0.56167, 0.10333, 0, 0.51111],
+ 714: [0, 0.69444, 0.09694, 0, 0.51111],
+ 715: [0, 0.69444, 0, 0, 0.51111],
+ 728: [0, 0.69444, 0.10806, 0, 0.51111],
+ 729: [0, 0.66786, 0.11752, 0, 0.30667],
+ 730: [0, 0.69444, 0, 0, 0.83129],
+ 732: [0, 0.66786, 0.11585, 0, 0.51111],
+ 733: [0, 0.69444, 0.1225, 0, 0.51111],
+ 915: [0, 0.68333, 0.13305, 0, 0.62722],
+ 916: [0, 0.68333, 0, 0, 0.81777],
+ 920: [0, 0.68333, 0.09403, 0, 0.76666],
+ 923: [0, 0.68333, 0, 0, 0.69222],
+ 926: [0, 0.68333, 0.15294, 0, 0.66444],
+ 928: [0, 0.68333, 0.16389, 0, 0.74333],
+ 931: [0, 0.68333, 0.12028, 0, 0.71555],
+ 933: [0, 0.68333, 0.11111, 0, 0.76666],
+ 934: [0, 0.68333, 0.05986, 0, 0.71555],
+ 936: [0, 0.68333, 0.11111, 0, 0.76666],
+ 937: [0, 0.68333, 0.10257, 0, 0.71555],
+ 8211: [0, 0.43056, 0.09208, 0, 0.51111],
+ 8212: [0, 0.43056, 0.09208, 0, 1.02222],
+ 8216: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8217: [0, 0.69444, 0.12417, 0, 0.30667],
+ 8220: [0, 0.69444, 0.1685, 0, 0.51444],
+ 8221: [0, 0.69444, 0.06961, 0, 0.51444],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ },
+ 'Main-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.27778],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.77778],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.19444, 0.10556, 0, 0, 0.27778],
+ 45: [0, 0.43056, 0, 0, 0.33333],
+ 46: [0, 0.10556, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.64444, 0, 0, 0.5],
+ 49: [0, 0.64444, 0, 0, 0.5],
+ 50: [0, 0.64444, 0, 0, 0.5],
+ 51: [0, 0.64444, 0, 0, 0.5],
+ 52: [0, 0.64444, 0, 0, 0.5],
+ 53: [0, 0.64444, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0, 0.64444, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0, 0.64444, 0, 0, 0.5],
+ 58: [0, 0.43056, 0, 0, 0.27778],
+ 59: [0.19444, 0.43056, 0, 0, 0.27778],
+ 60: [0.0391, 0.5391, 0, 0, 0.77778],
+ 61: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 62: [0.0391, 0.5391, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.77778],
+ 65: [0, 0.68333, 0, 0, 0.75],
+ 66: [0, 0.68333, 0, 0, 0.70834],
+ 67: [0, 0.68333, 0, 0, 0.72222],
+ 68: [0, 0.68333, 0, 0, 0.76389],
+ 69: [0, 0.68333, 0, 0, 0.68056],
+ 70: [0, 0.68333, 0, 0, 0.65278],
+ 71: [0, 0.68333, 0, 0, 0.78472],
+ 72: [0, 0.68333, 0, 0, 0.75],
+ 73: [0, 0.68333, 0, 0, 0.36111],
+ 74: [0, 0.68333, 0, 0, 0.51389],
+ 75: [0, 0.68333, 0, 0, 0.77778],
+ 76: [0, 0.68333, 0, 0, 0.625],
+ 77: [0, 0.68333, 0, 0, 0.91667],
+ 78: [0, 0.68333, 0, 0, 0.75],
+ 79: [0, 0.68333, 0, 0, 0.77778],
+ 80: [0, 0.68333, 0, 0, 0.68056],
+ 81: [0.19444, 0.68333, 0, 0, 0.77778],
+ 82: [0, 0.68333, 0, 0, 0.73611],
+ 83: [0, 0.68333, 0, 0, 0.55556],
+ 84: [0, 0.68333, 0, 0, 0.72222],
+ 85: [0, 0.68333, 0, 0, 0.75],
+ 86: [0, 0.68333, 0.01389, 0, 0.75],
+ 87: [0, 0.68333, 0.01389, 0, 1.02778],
+ 88: [0, 0.68333, 0, 0, 0.75],
+ 89: [0, 0.68333, 0.025, 0, 0.75],
+ 90: [0, 0.68333, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.27778],
+ 92: [0.25, 0.75, 0, 0, 0.5],
+ 93: [0.25, 0.75, 0, 0, 0.27778],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.31, 0.12056, 0.02778, 0, 0.5],
+ 97: [0, 0.43056, 0, 0, 0.5],
+ 98: [0, 0.69444, 0, 0, 0.55556],
+ 99: [0, 0.43056, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.55556],
+ 101: [0, 0.43056, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.07778, 0, 0.30556],
+ 103: [0.19444, 0.43056, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.55556],
+ 105: [0, 0.66786, 0, 0, 0.27778],
+ 106: [0.19444, 0.66786, 0, 0, 0.30556],
+ 107: [0, 0.69444, 0, 0, 0.52778],
+ 108: [0, 0.69444, 0, 0, 0.27778],
+ 109: [0, 0.43056, 0, 0, 0.83334],
+ 110: [0, 0.43056, 0, 0, 0.55556],
+ 111: [0, 0.43056, 0, 0, 0.5],
+ 112: [0.19444, 0.43056, 0, 0, 0.55556],
+ 113: [0.19444, 0.43056, 0, 0, 0.52778],
+ 114: [0, 0.43056, 0, 0, 0.39167],
+ 115: [0, 0.43056, 0, 0, 0.39445],
+ 116: [0, 0.61508, 0, 0, 0.38889],
+ 117: [0, 0.43056, 0, 0, 0.55556],
+ 118: [0, 0.43056, 0.01389, 0, 0.52778],
+ 119: [0, 0.43056, 0.01389, 0, 0.72222],
+ 120: [0, 0.43056, 0, 0, 0.52778],
+ 121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
+ 122: [0, 0.43056, 0, 0, 0.44445],
+ 123: [0.25, 0.75, 0, 0, 0.5],
+ 124: [0.25, 0.75, 0, 0, 0.27778],
+ 125: [0.25, 0.75, 0, 0, 0.5],
+ 126: [0.35, 0.31786, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 163: [0, 0.69444, 0, 0, 0.76909],
+ 167: [0.19444, 0.69444, 0, 0, 0.44445],
+ 168: [0, 0.66786, 0, 0, 0.5],
+ 172: [0, 0.43056, 0, 0, 0.66667],
+ 176: [0, 0.69444, 0, 0, 0.75],
+ 177: [0.08333, 0.58333, 0, 0, 0.77778],
+ 182: [0.19444, 0.69444, 0, 0, 0.61111],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 198: [0, 0.68333, 0, 0, 0.90278],
+ 215: [0.08333, 0.58333, 0, 0, 0.77778],
+ 216: [0.04861, 0.73194, 0, 0, 0.77778],
+ 223: [0, 0.69444, 0, 0, 0.5],
+ 230: [0, 0.43056, 0, 0, 0.72222],
+ 247: [0.08333, 0.58333, 0, 0, 0.77778],
+ 248: [0.09722, 0.52778, 0, 0, 0.5],
+ 305: [0, 0.43056, 0, 0, 0.27778],
+ 338: [0, 0.68333, 0, 0, 1.01389],
+ 339: [0, 0.43056, 0, 0, 0.77778],
+ 567: [0.19444, 0.43056, 0, 0, 0.30556],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.62847, 0, 0, 0.5],
+ 713: [0, 0.56778, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.66786, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.75],
+ 732: [0, 0.66786, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.68333, 0, 0, 0.625],
+ 916: [0, 0.68333, 0, 0, 0.83334],
+ 920: [0, 0.68333, 0, 0, 0.77778],
+ 923: [0, 0.68333, 0, 0, 0.69445],
+ 926: [0, 0.68333, 0, 0, 0.66667],
+ 928: [0, 0.68333, 0, 0, 0.75],
+ 931: [0, 0.68333, 0, 0, 0.72222],
+ 933: [0, 0.68333, 0, 0, 0.77778],
+ 934: [0, 0.68333, 0, 0, 0.72222],
+ 936: [0, 0.68333, 0, 0, 0.77778],
+ 937: [0, 0.68333, 0, 0, 0.72222],
+ 8211: [0, 0.43056, 0.02778, 0, 0.5],
+ 8212: [0, 0.43056, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5],
+ 8224: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8225: [0.19444, 0.69444, 0, 0, 0.44445],
+ 8230: [0, 0.123, 0, 0, 1.172],
+ 8242: [0, 0.55556, 0, 0, 0.275],
+ 8407: [0, 0.71444, 0.15382, 0, 0.5],
+ 8463: [0, 0.68889, 0, 0, 0.54028],
+ 8465: [0, 0.69444, 0, 0, 0.72222],
+ 8467: [0, 0.69444, 0, 0.11111, 0.41667],
+ 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
+ 8476: [0, 0.69444, 0, 0, 0.72222],
+ 8501: [0, 0.69444, 0, 0, 0.61111],
+ 8592: [-0.13313, 0.36687, 0, 0, 1],
+ 8593: [0.19444, 0.69444, 0, 0, 0.5],
+ 8594: [-0.13313, 0.36687, 0, 0, 1],
+ 8595: [0.19444, 0.69444, 0, 0, 0.5],
+ 8596: [-0.13313, 0.36687, 0, 0, 1],
+ 8597: [0.25, 0.75, 0, 0, 0.5],
+ 8598: [0.19444, 0.69444, 0, 0, 1],
+ 8599: [0.19444, 0.69444, 0, 0, 1],
+ 8600: [0.19444, 0.69444, 0, 0, 1],
+ 8601: [0.19444, 0.69444, 0, 0, 1],
+ 8614: [0.011, 0.511, 0, 0, 1],
+ 8617: [0.011, 0.511, 0, 0, 1.126],
+ 8618: [0.011, 0.511, 0, 0, 1.126],
+ 8636: [-0.13313, 0.36687, 0, 0, 1],
+ 8637: [-0.13313, 0.36687, 0, 0, 1],
+ 8640: [-0.13313, 0.36687, 0, 0, 1],
+ 8641: [-0.13313, 0.36687, 0, 0, 1],
+ 8652: [0.011, 0.671, 0, 0, 1],
+ 8656: [-0.13313, 0.36687, 0, 0, 1],
+ 8657: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8658: [-0.13313, 0.36687, 0, 0, 1],
+ 8659: [0.19444, 0.69444, 0, 0, 0.61111],
+ 8660: [-0.13313, 0.36687, 0, 0, 1],
+ 8661: [0.25, 0.75, 0, 0, 0.61111],
+ 8704: [0, 0.69444, 0, 0, 0.55556],
+ 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
+ 8707: [0, 0.69444, 0, 0, 0.55556],
+ 8709: [0.05556, 0.75, 0, 0, 0.5],
+ 8711: [0, 0.68333, 0, 0, 0.83334],
+ 8712: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8715: [0.0391, 0.5391, 0, 0, 0.66667],
+ 8722: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8723: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8725: [0.25, 0.75, 0, 0, 0.5],
+ 8726: [0.25, 0.75, 0, 0, 0.5],
+ 8727: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8728: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8729: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8730: [0.2, 0.8, 0, 0, 0.83334],
+ 8733: [0, 0.43056, 0, 0, 0.77778],
+ 8734: [0, 0.43056, 0, 0, 1],
+ 8736: [0, 0.69224, 0, 0, 0.72222],
+ 8739: [0.25, 0.75, 0, 0, 0.27778],
+ 8741: [0.25, 0.75, 0, 0, 0.5],
+ 8743: [0, 0.55556, 0, 0, 0.66667],
+ 8744: [0, 0.55556, 0, 0, 0.66667],
+ 8745: [0, 0.55556, 0, 0, 0.66667],
+ 8746: [0, 0.55556, 0, 0, 0.66667],
+ 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
+ 8764: [-0.13313, 0.36687, 0, 0, 0.77778],
+ 8768: [0.19444, 0.69444, 0, 0, 0.27778],
+ 8771: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8773: [-0.022, 0.589, 0, 0, 0.778],
+ 8776: [-0.01688, 0.48312, 0, 0, 0.77778],
+ 8781: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8784: [-0.133, 0.673, 0, 0, 0.778],
+ 8801: [-0.03625, 0.46375, 0, 0, 0.77778],
+ 8804: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8805: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8810: [0.0391, 0.5391, 0, 0, 1],
+ 8811: [0.0391, 0.5391, 0, 0, 1],
+ 8826: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8827: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8834: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8835: [0.0391, 0.5391, 0, 0, 0.77778],
+ 8838: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8839: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8846: [0, 0.55556, 0, 0, 0.66667],
+ 8849: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8850: [0.13597, 0.63597, 0, 0, 0.77778],
+ 8851: [0, 0.55556, 0, 0, 0.66667],
+ 8852: [0, 0.55556, 0, 0, 0.66667],
+ 8853: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8854: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8855: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8856: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8857: [0.08333, 0.58333, 0, 0, 0.77778],
+ 8866: [0, 0.69444, 0, 0, 0.61111],
+ 8867: [0, 0.69444, 0, 0, 0.61111],
+ 8868: [0, 0.69444, 0, 0, 0.77778],
+ 8869: [0, 0.69444, 0, 0, 0.77778],
+ 8872: [0.249, 0.75, 0, 0, 0.867],
+ 8900: [-0.05555, 0.44445, 0, 0, 0.5],
+ 8901: [-0.05555, 0.44445, 0, 0, 0.27778],
+ 8902: [-0.03472, 0.46528, 0, 0, 0.5],
+ 8904: [0.005, 0.505, 0, 0, 0.9],
+ 8942: [0.03, 0.903, 0, 0, 0.278],
+ 8943: [-0.19, 0.313, 0, 0, 1.172],
+ 8945: [-0.1, 0.823, 0, 0, 1.282],
+ 8968: [0.25, 0.75, 0, 0, 0.44445],
+ 8969: [0.25, 0.75, 0, 0, 0.44445],
+ 8970: [0.25, 0.75, 0, 0, 0.44445],
+ 8971: [0.25, 0.75, 0, 0, 0.44445],
+ 8994: [-0.14236, 0.35764, 0, 0, 1],
+ 8995: [-0.14236, 0.35764, 0, 0, 1],
+ 9136: [0.244, 0.744, 0, 0, 0.412],
+ 9137: [0.244, 0.745, 0, 0, 0.412],
+ 9651: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9657: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9661: [0.19444, 0.69444, 0, 0, 0.88889],
+ 9667: [-0.03472, 0.46528, 0, 0, 0.5],
+ 9711: [0.19444, 0.69444, 0, 0, 1],
+ 9824: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9825: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9826: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9827: [0.12963, 0.69444, 0, 0, 0.77778],
+ 9837: [0, 0.75, 0, 0, 0.38889],
+ 9838: [0.19444, 0.69444, 0, 0, 0.38889],
+ 9839: [0.19444, 0.69444, 0, 0, 0.38889],
+ 10216: [0.25, 0.75, 0, 0, 0.38889],
+ 10217: [0.25, 0.75, 0, 0, 0.38889],
+ 10222: [0.244, 0.744, 0, 0, 0.412],
+ 10223: [0.244, 0.745, 0, 0, 0.412],
+ 10229: [0.011, 0.511, 0, 0, 1.609],
+ 10230: [0.011, 0.511, 0, 0, 1.638],
+ 10231: [0.011, 0.511, 0, 0, 1.859],
+ 10232: [0.024, 0.525, 0, 0, 1.609],
+ 10233: [0.024, 0.525, 0, 0, 1.638],
+ 10234: [0.024, 0.525, 0, 0, 1.858],
+ 10236: [0.011, 0.511, 0, 0, 1.638],
+ 10815: [0, 0.68333, 0, 0, 0.75],
+ 10927: [0.13597, 0.63597, 0, 0, 0.77778],
+ 10928: [0.13597, 0.63597, 0, 0, 0.77778],
+ 57376: [0.19444, 0.69444, 0, 0, 0],
+ },
+ 'Math-BoldItalic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.44444, 0, 0, 0.575],
+ 49: [0, 0.44444, 0, 0, 0.575],
+ 50: [0, 0.44444, 0, 0, 0.575],
+ 51: [0.19444, 0.44444, 0, 0, 0.575],
+ 52: [0.19444, 0.44444, 0, 0, 0.575],
+ 53: [0.19444, 0.44444, 0, 0, 0.575],
+ 54: [0, 0.64444, 0, 0, 0.575],
+ 55: [0.19444, 0.44444, 0, 0, 0.575],
+ 56: [0, 0.64444, 0, 0, 0.575],
+ 57: [0.19444, 0.44444, 0, 0, 0.575],
+ 65: [0, 0.68611, 0, 0, 0.86944],
+ 66: [0, 0.68611, 0.04835, 0, 0.8664],
+ 67: [0, 0.68611, 0.06979, 0, 0.81694],
+ 68: [0, 0.68611, 0.03194, 0, 0.93812],
+ 69: [0, 0.68611, 0.05451, 0, 0.81007],
+ 70: [0, 0.68611, 0.15972, 0, 0.68889],
+ 71: [0, 0.68611, 0, 0, 0.88673],
+ 72: [0, 0.68611, 0.08229, 0, 0.98229],
+ 73: [0, 0.68611, 0.07778, 0, 0.51111],
+ 74: [0, 0.68611, 0.10069, 0, 0.63125],
+ 75: [0, 0.68611, 0.06979, 0, 0.97118],
+ 76: [0, 0.68611, 0, 0, 0.75555],
+ 77: [0, 0.68611, 0.11424, 0, 1.14201],
+ 78: [0, 0.68611, 0.11424, 0, 0.95034],
+ 79: [0, 0.68611, 0.03194, 0, 0.83666],
+ 80: [0, 0.68611, 0.15972, 0, 0.72309],
+ 81: [0.19444, 0.68611, 0, 0, 0.86861],
+ 82: [0, 0.68611, 0.00421, 0, 0.87235],
+ 83: [0, 0.68611, 0.05382, 0, 0.69271],
+ 84: [0, 0.68611, 0.15972, 0, 0.63663],
+ 85: [0, 0.68611, 0.11424, 0, 0.80027],
+ 86: [0, 0.68611, 0.25555, 0, 0.67778],
+ 87: [0, 0.68611, 0.15972, 0, 1.09305],
+ 88: [0, 0.68611, 0.07778, 0, 0.94722],
+ 89: [0, 0.68611, 0.25555, 0, 0.67458],
+ 90: [0, 0.68611, 0.06979, 0, 0.77257],
+ 97: [0, 0.44444, 0, 0, 0.63287],
+ 98: [0, 0.69444, 0, 0, 0.52083],
+ 99: [0, 0.44444, 0, 0, 0.51342],
+ 100: [0, 0.69444, 0, 0, 0.60972],
+ 101: [0, 0.44444, 0, 0, 0.55361],
+ 102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
+ 103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
+ 104: [0, 0.69444, 0, 0, 0.66759],
+ 105: [0, 0.69326, 0, 0, 0.4048],
+ 106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
+ 107: [0, 0.69444, 0.01852, 0, 0.6037],
+ 108: [0, 0.69444, 0.0088, 0, 0.34815],
+ 109: [0, 0.44444, 0, 0, 1.0324],
+ 110: [0, 0.44444, 0, 0, 0.71296],
+ 111: [0, 0.44444, 0, 0, 0.58472],
+ 112: [0.19444, 0.44444, 0, 0, 0.60092],
+ 113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
+ 114: [0, 0.44444, 0.03194, 0, 0.5287],
+ 115: [0, 0.44444, 0, 0, 0.53125],
+ 116: [0, 0.63492, 0, 0, 0.41528],
+ 117: [0, 0.44444, 0, 0, 0.68102],
+ 118: [0, 0.44444, 0.03704, 0, 0.56666],
+ 119: [0, 0.44444, 0.02778, 0, 0.83148],
+ 120: [0, 0.44444, 0, 0, 0.65903],
+ 121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
+ 122: [0, 0.44444, 0.04213, 0, 0.55509],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68611, 0.15972, 0, 0.65694],
+ 916: [0, 0.68611, 0, 0, 0.95833],
+ 920: [0, 0.68611, 0.03194, 0, 0.86722],
+ 923: [0, 0.68611, 0, 0, 0.80555],
+ 926: [0, 0.68611, 0.07458, 0, 0.84125],
+ 928: [0, 0.68611, 0.08229, 0, 0.98229],
+ 931: [0, 0.68611, 0.05451, 0, 0.88507],
+ 933: [0, 0.68611, 0.15972, 0, 0.67083],
+ 934: [0, 0.68611, 0, 0, 0.76666],
+ 936: [0, 0.68611, 0.11653, 0, 0.71402],
+ 937: [0, 0.68611, 0.04835, 0, 0.8789],
+ 945: [0, 0.44444, 0, 0, 0.76064],
+ 946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
+ 947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
+ 948: [0, 0.69444, 0.03819, 0, 0.52222],
+ 949: [0, 0.44444, 0, 0, 0.52882],
+ 950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
+ 951: [0.19444, 0.44444, 0.03704, 0, 0.6],
+ 952: [0, 0.69444, 0.03194, 0, 0.5618],
+ 953: [0, 0.44444, 0, 0, 0.41204],
+ 954: [0, 0.44444, 0, 0, 0.66759],
+ 955: [0, 0.69444, 0, 0, 0.67083],
+ 956: [0.19444, 0.44444, 0, 0, 0.70787],
+ 957: [0, 0.44444, 0.06898, 0, 0.57685],
+ 958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
+ 959: [0, 0.44444, 0, 0, 0.58472],
+ 960: [0, 0.44444, 0.03704, 0, 0.68241],
+ 961: [0.19444, 0.44444, 0, 0, 0.6118],
+ 962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
+ 963: [0, 0.44444, 0.03704, 0, 0.68588],
+ 964: [0, 0.44444, 0.13472, 0, 0.52083],
+ 965: [0, 0.44444, 0.03704, 0, 0.63055],
+ 966: [0.19444, 0.44444, 0, 0, 0.74722],
+ 967: [0.19444, 0.44444, 0, 0, 0.71805],
+ 968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
+ 969: [0, 0.44444, 0.03704, 0, 0.71782],
+ 977: [0, 0.69444, 0, 0, 0.69155],
+ 981: [0.19444, 0.69444, 0, 0, 0.7125],
+ 982: [0, 0.44444, 0.03194, 0, 0.975],
+ 1009: [0.19444, 0.44444, 0, 0, 0.6118],
+ 1013: [0, 0.44444, 0, 0, 0.48333],
+ 57649: [0, 0.44444, 0, 0, 0.39352],
+ 57911: [0.19444, 0.44444, 0, 0, 0.43889],
+ },
+ 'Math-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 48: [0, 0.43056, 0, 0, 0.5],
+ 49: [0, 0.43056, 0, 0, 0.5],
+ 50: [0, 0.43056, 0, 0, 0.5],
+ 51: [0.19444, 0.43056, 0, 0, 0.5],
+ 52: [0.19444, 0.43056, 0, 0, 0.5],
+ 53: [0.19444, 0.43056, 0, 0, 0.5],
+ 54: [0, 0.64444, 0, 0, 0.5],
+ 55: [0.19444, 0.43056, 0, 0, 0.5],
+ 56: [0, 0.64444, 0, 0, 0.5],
+ 57: [0.19444, 0.43056, 0, 0, 0.5],
+ 65: [0, 0.68333, 0, 0.13889, 0.75],
+ 66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
+ 67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
+ 68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
+ 69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
+ 70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
+ 71: [0, 0.68333, 0, 0.08334, 0.78625],
+ 72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
+ 74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
+ 75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
+ 76: [0, 0.68333, 0, 0.02778, 0.68056],
+ 77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
+ 78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
+ 79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
+ 81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
+ 82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
+ 83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
+ 84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
+ 85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
+ 86: [0, 0.68333, 0.22222, 0, 0.58333],
+ 87: [0, 0.68333, 0.13889, 0, 0.94445],
+ 88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
+ 89: [0, 0.68333, 0.22222, 0, 0.58056],
+ 90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
+ 97: [0, 0.43056, 0, 0, 0.52859],
+ 98: [0, 0.69444, 0, 0, 0.42917],
+ 99: [0, 0.43056, 0, 0.05556, 0.43276],
+ 100: [0, 0.69444, 0, 0.16667, 0.52049],
+ 101: [0, 0.43056, 0, 0.05556, 0.46563],
+ 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
+ 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
+ 104: [0, 0.69444, 0, 0, 0.57616],
+ 105: [0, 0.65952, 0, 0, 0.34451],
+ 106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
+ 107: [0, 0.69444, 0.03148, 0, 0.5206],
+ 108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
+ 109: [0, 0.43056, 0, 0, 0.87801],
+ 110: [0, 0.43056, 0, 0, 0.60023],
+ 111: [0, 0.43056, 0, 0.05556, 0.48472],
+ 112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
+ 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
+ 114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
+ 115: [0, 0.43056, 0, 0.05556, 0.46875],
+ 116: [0, 0.61508, 0, 0.08334, 0.36111],
+ 117: [0, 0.43056, 0, 0.02778, 0.57246],
+ 118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
+ 119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
+ 120: [0, 0.43056, 0, 0.02778, 0.57153],
+ 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
+ 122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
+ 160: [0, 0, 0, 0, 0.25],
+ 915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
+ 916: [0, 0.68333, 0, 0.16667, 0.83334],
+ 920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
+ 923: [0, 0.68333, 0, 0.16667, 0.69445],
+ 926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
+ 928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
+ 931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
+ 933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
+ 934: [0, 0.68333, 0, 0.08334, 0.66667],
+ 936: [0, 0.68333, 0.11, 0.05556, 0.61222],
+ 937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
+ 945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
+ 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
+ 947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
+ 948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
+ 949: [0, 0.43056, 0, 0.08334, 0.46632],
+ 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
+ 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
+ 952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
+ 953: [0, 0.43056, 0, 0.05556, 0.35394],
+ 954: [0, 0.43056, 0, 0, 0.57616],
+ 955: [0, 0.69444, 0, 0, 0.58334],
+ 956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
+ 957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
+ 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
+ 959: [0, 0.43056, 0, 0.05556, 0.48472],
+ 960: [0, 0.43056, 0.03588, 0, 0.57003],
+ 961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
+ 963: [0, 0.43056, 0.03588, 0, 0.57141],
+ 964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
+ 965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
+ 966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
+ 967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
+ 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
+ 969: [0, 0.43056, 0.03588, 0, 0.62245],
+ 977: [0, 0.69444, 0, 0.08334, 0.59144],
+ 981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
+ 982: [0, 0.43056, 0.02778, 0, 0.82813],
+ 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
+ 1013: [0, 0.43056, 0, 0.05556, 0.4059],
+ 57649: [0, 0.43056, 0, 0.02778, 0.32246],
+ 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403],
+ },
+ 'SansSerif-Bold': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.36667],
+ 34: [0, 0.69444, 0, 0, 0.55834],
+ 35: [0.19444, 0.69444, 0, 0, 0.91667],
+ 36: [0.05556, 0.75, 0, 0, 0.55],
+ 37: [0.05556, 0.75, 0, 0, 1.02912],
+ 38: [0, 0.69444, 0, 0, 0.83056],
+ 39: [0, 0.69444, 0, 0, 0.30556],
+ 40: [0.25, 0.75, 0, 0, 0.42778],
+ 41: [0.25, 0.75, 0, 0, 0.42778],
+ 42: [0, 0.75, 0, 0, 0.55],
+ 43: [0.11667, 0.61667, 0, 0, 0.85556],
+ 44: [0.10556, 0.13056, 0, 0, 0.30556],
+ 45: [0, 0.45833, 0, 0, 0.36667],
+ 46: [0, 0.13056, 0, 0, 0.30556],
+ 47: [0.25, 0.75, 0, 0, 0.55],
+ 48: [0, 0.69444, 0, 0, 0.55],
+ 49: [0, 0.69444, 0, 0, 0.55],
+ 50: [0, 0.69444, 0, 0, 0.55],
+ 51: [0, 0.69444, 0, 0, 0.55],
+ 52: [0, 0.69444, 0, 0, 0.55],
+ 53: [0, 0.69444, 0, 0, 0.55],
+ 54: [0, 0.69444, 0, 0, 0.55],
+ 55: [0, 0.69444, 0, 0, 0.55],
+ 56: [0, 0.69444, 0, 0, 0.55],
+ 57: [0, 0.69444, 0, 0, 0.55],
+ 58: [0, 0.45833, 0, 0, 0.30556],
+ 59: [0.10556, 0.45833, 0, 0, 0.30556],
+ 61: [-0.09375, 0.40625, 0, 0, 0.85556],
+ 63: [0, 0.69444, 0, 0, 0.51945],
+ 64: [0, 0.69444, 0, 0, 0.73334],
+ 65: [0, 0.69444, 0, 0, 0.73334],
+ 66: [0, 0.69444, 0, 0, 0.73334],
+ 67: [0, 0.69444, 0, 0, 0.70278],
+ 68: [0, 0.69444, 0, 0, 0.79445],
+ 69: [0, 0.69444, 0, 0, 0.64167],
+ 70: [0, 0.69444, 0, 0, 0.61111],
+ 71: [0, 0.69444, 0, 0, 0.73334],
+ 72: [0, 0.69444, 0, 0, 0.79445],
+ 73: [0, 0.69444, 0, 0, 0.33056],
+ 74: [0, 0.69444, 0, 0, 0.51945],
+ 75: [0, 0.69444, 0, 0, 0.76389],
+ 76: [0, 0.69444, 0, 0, 0.58056],
+ 77: [0, 0.69444, 0, 0, 0.97778],
+ 78: [0, 0.69444, 0, 0, 0.79445],
+ 79: [0, 0.69444, 0, 0, 0.79445],
+ 80: [0, 0.69444, 0, 0, 0.70278],
+ 81: [0.10556, 0.69444, 0, 0, 0.79445],
+ 82: [0, 0.69444, 0, 0, 0.70278],
+ 83: [0, 0.69444, 0, 0, 0.61111],
+ 84: [0, 0.69444, 0, 0, 0.73334],
+ 85: [0, 0.69444, 0, 0, 0.76389],
+ 86: [0, 0.69444, 0.01528, 0, 0.73334],
+ 87: [0, 0.69444, 0.01528, 0, 1.03889],
+ 88: [0, 0.69444, 0, 0, 0.73334],
+ 89: [0, 0.69444, 0.0275, 0, 0.73334],
+ 90: [0, 0.69444, 0, 0, 0.67223],
+ 91: [0.25, 0.75, 0, 0, 0.34306],
+ 93: [0.25, 0.75, 0, 0, 0.34306],
+ 94: [0, 0.69444, 0, 0, 0.55],
+ 95: [0.35, 0.10833, 0.03056, 0, 0.55],
+ 97: [0, 0.45833, 0, 0, 0.525],
+ 98: [0, 0.69444, 0, 0, 0.56111],
+ 99: [0, 0.45833, 0, 0, 0.48889],
+ 100: [0, 0.69444, 0, 0, 0.56111],
+ 101: [0, 0.45833, 0, 0, 0.51111],
+ 102: [0, 0.69444, 0.07639, 0, 0.33611],
+ 103: [0.19444, 0.45833, 0.01528, 0, 0.55],
+ 104: [0, 0.69444, 0, 0, 0.56111],
+ 105: [0, 0.69444, 0, 0, 0.25556],
+ 106: [0.19444, 0.69444, 0, 0, 0.28611],
+ 107: [0, 0.69444, 0, 0, 0.53056],
+ 108: [0, 0.69444, 0, 0, 0.25556],
+ 109: [0, 0.45833, 0, 0, 0.86667],
+ 110: [0, 0.45833, 0, 0, 0.56111],
+ 111: [0, 0.45833, 0, 0, 0.55],
+ 112: [0.19444, 0.45833, 0, 0, 0.56111],
+ 113: [0.19444, 0.45833, 0, 0, 0.56111],
+ 114: [0, 0.45833, 0.01528, 0, 0.37222],
+ 115: [0, 0.45833, 0, 0, 0.42167],
+ 116: [0, 0.58929, 0, 0, 0.40417],
+ 117: [0, 0.45833, 0, 0, 0.56111],
+ 118: [0, 0.45833, 0.01528, 0, 0.5],
+ 119: [0, 0.45833, 0.01528, 0, 0.74445],
+ 120: [0, 0.45833, 0, 0, 0.5],
+ 121: [0.19444, 0.45833, 0.01528, 0, 0.5],
+ 122: [0, 0.45833, 0, 0, 0.47639],
+ 126: [0.35, 0.34444, 0, 0, 0.55],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.69444, 0, 0, 0.55],
+ 176: [0, 0.69444, 0, 0, 0.73334],
+ 180: [0, 0.69444, 0, 0, 0.55],
+ 184: [0.17014, 0, 0, 0, 0.48889],
+ 305: [0, 0.45833, 0, 0, 0.25556],
+ 567: [0.19444, 0.45833, 0, 0, 0.28611],
+ 710: [0, 0.69444, 0, 0, 0.55],
+ 711: [0, 0.63542, 0, 0, 0.55],
+ 713: [0, 0.63778, 0, 0, 0.55],
+ 728: [0, 0.69444, 0, 0, 0.55],
+ 729: [0, 0.69444, 0, 0, 0.30556],
+ 730: [0, 0.69444, 0, 0, 0.73334],
+ 732: [0, 0.69444, 0, 0, 0.55],
+ 733: [0, 0.69444, 0, 0, 0.55],
+ 915: [0, 0.69444, 0, 0, 0.58056],
+ 916: [0, 0.69444, 0, 0, 0.91667],
+ 920: [0, 0.69444, 0, 0, 0.85556],
+ 923: [0, 0.69444, 0, 0, 0.67223],
+ 926: [0, 0.69444, 0, 0, 0.73334],
+ 928: [0, 0.69444, 0, 0, 0.79445],
+ 931: [0, 0.69444, 0, 0, 0.79445],
+ 933: [0, 0.69444, 0, 0, 0.85556],
+ 934: [0, 0.69444, 0, 0, 0.79445],
+ 936: [0, 0.69444, 0, 0, 0.85556],
+ 937: [0, 0.69444, 0, 0, 0.79445],
+ 8211: [0, 0.45833, 0.03056, 0, 0.55],
+ 8212: [0, 0.45833, 0.03056, 0, 1.10001],
+ 8216: [0, 0.69444, 0, 0, 0.30556],
+ 8217: [0, 0.69444, 0, 0, 0.30556],
+ 8220: [0, 0.69444, 0, 0, 0.55834],
+ 8221: [0, 0.69444, 0, 0, 0.55834],
+ },
+ 'SansSerif-Italic': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0.05733, 0, 0.31945],
+ 34: [0, 0.69444, 0.00316, 0, 0.5],
+ 35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
+ 36: [0.05556, 0.75, 0.11156, 0, 0.5],
+ 37: [0.05556, 0.75, 0.03126, 0, 0.83334],
+ 38: [0, 0.69444, 0.03058, 0, 0.75834],
+ 39: [0, 0.69444, 0.07816, 0, 0.27778],
+ 40: [0.25, 0.75, 0.13164, 0, 0.38889],
+ 41: [0.25, 0.75, 0.02536, 0, 0.38889],
+ 42: [0, 0.75, 0.11775, 0, 0.5],
+ 43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0.01946, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0.13164, 0, 0.5],
+ 48: [0, 0.65556, 0.11156, 0, 0.5],
+ 49: [0, 0.65556, 0.11156, 0, 0.5],
+ 50: [0, 0.65556, 0.11156, 0, 0.5],
+ 51: [0, 0.65556, 0.11156, 0, 0.5],
+ 52: [0, 0.65556, 0.11156, 0, 0.5],
+ 53: [0, 0.65556, 0.11156, 0, 0.5],
+ 54: [0, 0.65556, 0.11156, 0, 0.5],
+ 55: [0, 0.65556, 0.11156, 0, 0.5],
+ 56: [0, 0.65556, 0.11156, 0, 0.5],
+ 57: [0, 0.65556, 0.11156, 0, 0.5],
+ 58: [0, 0.44444, 0.02502, 0, 0.27778],
+ 59: [0.125, 0.44444, 0.02502, 0, 0.27778],
+ 61: [-0.13, 0.37, 0.05087, 0, 0.77778],
+ 63: [0, 0.69444, 0.11809, 0, 0.47222],
+ 64: [0, 0.69444, 0.07555, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0.08293, 0, 0.66667],
+ 67: [0, 0.69444, 0.11983, 0, 0.63889],
+ 68: [0, 0.69444, 0.07555, 0, 0.72223],
+ 69: [0, 0.69444, 0.11983, 0, 0.59722],
+ 70: [0, 0.69444, 0.13372, 0, 0.56945],
+ 71: [0, 0.69444, 0.11983, 0, 0.66667],
+ 72: [0, 0.69444, 0.08094, 0, 0.70834],
+ 73: [0, 0.69444, 0.13372, 0, 0.27778],
+ 74: [0, 0.69444, 0.08094, 0, 0.47222],
+ 75: [0, 0.69444, 0.11983, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0.08094, 0, 0.875],
+ 78: [0, 0.69444, 0.08094, 0, 0.70834],
+ 79: [0, 0.69444, 0.07555, 0, 0.73611],
+ 80: [0, 0.69444, 0.08293, 0, 0.63889],
+ 81: [0.125, 0.69444, 0.07555, 0, 0.73611],
+ 82: [0, 0.69444, 0.08293, 0, 0.64584],
+ 83: [0, 0.69444, 0.09205, 0, 0.55556],
+ 84: [0, 0.69444, 0.13372, 0, 0.68056],
+ 85: [0, 0.69444, 0.08094, 0, 0.6875],
+ 86: [0, 0.69444, 0.1615, 0, 0.66667],
+ 87: [0, 0.69444, 0.1615, 0, 0.94445],
+ 88: [0, 0.69444, 0.13372, 0, 0.66667],
+ 89: [0, 0.69444, 0.17261, 0, 0.66667],
+ 90: [0, 0.69444, 0.11983, 0, 0.61111],
+ 91: [0.25, 0.75, 0.15942, 0, 0.28889],
+ 93: [0.25, 0.75, 0.08719, 0, 0.28889],
+ 94: [0, 0.69444, 0.0799, 0, 0.5],
+ 95: [0.35, 0.09444, 0.08616, 0, 0.5],
+ 97: [0, 0.44444, 0.00981, 0, 0.48056],
+ 98: [0, 0.69444, 0.03057, 0, 0.51667],
+ 99: [0, 0.44444, 0.08336, 0, 0.44445],
+ 100: [0, 0.69444, 0.09483, 0, 0.51667],
+ 101: [0, 0.44444, 0.06778, 0, 0.44445],
+ 102: [0, 0.69444, 0.21705, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.10836, 0, 0.5],
+ 104: [0, 0.69444, 0.01778, 0, 0.51667],
+ 105: [0, 0.67937, 0.09718, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
+ 107: [0, 0.69444, 0.08336, 0, 0.48889],
+ 108: [0, 0.69444, 0.09483, 0, 0.23889],
+ 109: [0, 0.44444, 0.01778, 0, 0.79445],
+ 110: [0, 0.44444, 0.01778, 0, 0.51667],
+ 111: [0, 0.44444, 0.06613, 0, 0.5],
+ 112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
+ 114: [0, 0.44444, 0.10836, 0, 0.34167],
+ 115: [0, 0.44444, 0.0778, 0, 0.38333],
+ 116: [0, 0.57143, 0.07225, 0, 0.36111],
+ 117: [0, 0.44444, 0.04169, 0, 0.51667],
+ 118: [0, 0.44444, 0.10836, 0, 0.46111],
+ 119: [0, 0.44444, 0.10836, 0, 0.68334],
+ 120: [0, 0.44444, 0.09169, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
+ 122: [0, 0.44444, 0.08752, 0, 0.43472],
+ 126: [0.35, 0.32659, 0.08826, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0.06385, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.73752],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0.04169, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
+ 710: [0, 0.69444, 0.0799, 0, 0.5],
+ 711: [0, 0.63194, 0.08432, 0, 0.5],
+ 713: [0, 0.60889, 0.08776, 0, 0.5],
+ 714: [0, 0.69444, 0.09205, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0.09483, 0, 0.5],
+ 729: [0, 0.67937, 0.07774, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.73752],
+ 732: [0, 0.67659, 0.08826, 0, 0.5],
+ 733: [0, 0.69444, 0.09205, 0, 0.5],
+ 915: [0, 0.69444, 0.13372, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0.07555, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0.12816, 0, 0.66667],
+ 928: [0, 0.69444, 0.08094, 0, 0.70834],
+ 931: [0, 0.69444, 0.11983, 0, 0.72222],
+ 933: [0, 0.69444, 0.09031, 0, 0.77778],
+ 934: [0, 0.69444, 0.04603, 0, 0.72222],
+ 936: [0, 0.69444, 0.09031, 0, 0.77778],
+ 937: [0, 0.69444, 0.08293, 0, 0.72222],
+ 8211: [0, 0.44444, 0.08616, 0, 0.5],
+ 8212: [0, 0.44444, 0.08616, 0, 1],
+ 8216: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8217: [0, 0.69444, 0.07816, 0, 0.27778],
+ 8220: [0, 0.69444, 0.14205, 0, 0.5],
+ 8221: [0, 0.69444, 0.00316, 0, 0.5],
+ },
+ 'SansSerif-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 33: [0, 0.69444, 0, 0, 0.31945],
+ 34: [0, 0.69444, 0, 0, 0.5],
+ 35: [0.19444, 0.69444, 0, 0, 0.83334],
+ 36: [0.05556, 0.75, 0, 0, 0.5],
+ 37: [0.05556, 0.75, 0, 0, 0.83334],
+ 38: [0, 0.69444, 0, 0, 0.75834],
+ 39: [0, 0.69444, 0, 0, 0.27778],
+ 40: [0.25, 0.75, 0, 0, 0.38889],
+ 41: [0.25, 0.75, 0, 0, 0.38889],
+ 42: [0, 0.75, 0, 0, 0.5],
+ 43: [0.08333, 0.58333, 0, 0, 0.77778],
+ 44: [0.125, 0.08333, 0, 0, 0.27778],
+ 45: [0, 0.44444, 0, 0, 0.33333],
+ 46: [0, 0.08333, 0, 0, 0.27778],
+ 47: [0.25, 0.75, 0, 0, 0.5],
+ 48: [0, 0.65556, 0, 0, 0.5],
+ 49: [0, 0.65556, 0, 0, 0.5],
+ 50: [0, 0.65556, 0, 0, 0.5],
+ 51: [0, 0.65556, 0, 0, 0.5],
+ 52: [0, 0.65556, 0, 0, 0.5],
+ 53: [0, 0.65556, 0, 0, 0.5],
+ 54: [0, 0.65556, 0, 0, 0.5],
+ 55: [0, 0.65556, 0, 0, 0.5],
+ 56: [0, 0.65556, 0, 0, 0.5],
+ 57: [0, 0.65556, 0, 0, 0.5],
+ 58: [0, 0.44444, 0, 0, 0.27778],
+ 59: [0.125, 0.44444, 0, 0, 0.27778],
+ 61: [-0.13, 0.37, 0, 0, 0.77778],
+ 63: [0, 0.69444, 0, 0, 0.47222],
+ 64: [0, 0.69444, 0, 0, 0.66667],
+ 65: [0, 0.69444, 0, 0, 0.66667],
+ 66: [0, 0.69444, 0, 0, 0.66667],
+ 67: [0, 0.69444, 0, 0, 0.63889],
+ 68: [0, 0.69444, 0, 0, 0.72223],
+ 69: [0, 0.69444, 0, 0, 0.59722],
+ 70: [0, 0.69444, 0, 0, 0.56945],
+ 71: [0, 0.69444, 0, 0, 0.66667],
+ 72: [0, 0.69444, 0, 0, 0.70834],
+ 73: [0, 0.69444, 0, 0, 0.27778],
+ 74: [0, 0.69444, 0, 0, 0.47222],
+ 75: [0, 0.69444, 0, 0, 0.69445],
+ 76: [0, 0.69444, 0, 0, 0.54167],
+ 77: [0, 0.69444, 0, 0, 0.875],
+ 78: [0, 0.69444, 0, 0, 0.70834],
+ 79: [0, 0.69444, 0, 0, 0.73611],
+ 80: [0, 0.69444, 0, 0, 0.63889],
+ 81: [0.125, 0.69444, 0, 0, 0.73611],
+ 82: [0, 0.69444, 0, 0, 0.64584],
+ 83: [0, 0.69444, 0, 0, 0.55556],
+ 84: [0, 0.69444, 0, 0, 0.68056],
+ 85: [0, 0.69444, 0, 0, 0.6875],
+ 86: [0, 0.69444, 0.01389, 0, 0.66667],
+ 87: [0, 0.69444, 0.01389, 0, 0.94445],
+ 88: [0, 0.69444, 0, 0, 0.66667],
+ 89: [0, 0.69444, 0.025, 0, 0.66667],
+ 90: [0, 0.69444, 0, 0, 0.61111],
+ 91: [0.25, 0.75, 0, 0, 0.28889],
+ 93: [0.25, 0.75, 0, 0, 0.28889],
+ 94: [0, 0.69444, 0, 0, 0.5],
+ 95: [0.35, 0.09444, 0.02778, 0, 0.5],
+ 97: [0, 0.44444, 0, 0, 0.48056],
+ 98: [0, 0.69444, 0, 0, 0.51667],
+ 99: [0, 0.44444, 0, 0, 0.44445],
+ 100: [0, 0.69444, 0, 0, 0.51667],
+ 101: [0, 0.44444, 0, 0, 0.44445],
+ 102: [0, 0.69444, 0.06944, 0, 0.30556],
+ 103: [0.19444, 0.44444, 0.01389, 0, 0.5],
+ 104: [0, 0.69444, 0, 0, 0.51667],
+ 105: [0, 0.67937, 0, 0, 0.23889],
+ 106: [0.19444, 0.67937, 0, 0, 0.26667],
+ 107: [0, 0.69444, 0, 0, 0.48889],
+ 108: [0, 0.69444, 0, 0, 0.23889],
+ 109: [0, 0.44444, 0, 0, 0.79445],
+ 110: [0, 0.44444, 0, 0, 0.51667],
+ 111: [0, 0.44444, 0, 0, 0.5],
+ 112: [0.19444, 0.44444, 0, 0, 0.51667],
+ 113: [0.19444, 0.44444, 0, 0, 0.51667],
+ 114: [0, 0.44444, 0.01389, 0, 0.34167],
+ 115: [0, 0.44444, 0, 0, 0.38333],
+ 116: [0, 0.57143, 0, 0, 0.36111],
+ 117: [0, 0.44444, 0, 0, 0.51667],
+ 118: [0, 0.44444, 0.01389, 0, 0.46111],
+ 119: [0, 0.44444, 0.01389, 0, 0.68334],
+ 120: [0, 0.44444, 0, 0, 0.46111],
+ 121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
+ 122: [0, 0.44444, 0, 0, 0.43472],
+ 126: [0.35, 0.32659, 0, 0, 0.5],
+ 160: [0, 0, 0, 0, 0.25],
+ 168: [0, 0.67937, 0, 0, 0.5],
+ 176: [0, 0.69444, 0, 0, 0.66667],
+ 184: [0.17014, 0, 0, 0, 0.44445],
+ 305: [0, 0.44444, 0, 0, 0.23889],
+ 567: [0.19444, 0.44444, 0, 0, 0.26667],
+ 710: [0, 0.69444, 0, 0, 0.5],
+ 711: [0, 0.63194, 0, 0, 0.5],
+ 713: [0, 0.60889, 0, 0, 0.5],
+ 714: [0, 0.69444, 0, 0, 0.5],
+ 715: [0, 0.69444, 0, 0, 0.5],
+ 728: [0, 0.69444, 0, 0, 0.5],
+ 729: [0, 0.67937, 0, 0, 0.27778],
+ 730: [0, 0.69444, 0, 0, 0.66667],
+ 732: [0, 0.67659, 0, 0, 0.5],
+ 733: [0, 0.69444, 0, 0, 0.5],
+ 915: [0, 0.69444, 0, 0, 0.54167],
+ 916: [0, 0.69444, 0, 0, 0.83334],
+ 920: [0, 0.69444, 0, 0, 0.77778],
+ 923: [0, 0.69444, 0, 0, 0.61111],
+ 926: [0, 0.69444, 0, 0, 0.66667],
+ 928: [0, 0.69444, 0, 0, 0.70834],
+ 931: [0, 0.69444, 0, 0, 0.72222],
+ 933: [0, 0.69444, 0, 0, 0.77778],
+ 934: [0, 0.69444, 0, 0, 0.72222],
+ 936: [0, 0.69444, 0, 0, 0.77778],
+ 937: [0, 0.69444, 0, 0, 0.72222],
+ 8211: [0, 0.44444, 0.02778, 0, 0.5],
+ 8212: [0, 0.44444, 0.02778, 0, 1],
+ 8216: [0, 0.69444, 0, 0, 0.27778],
+ 8217: [0, 0.69444, 0, 0, 0.27778],
+ 8220: [0, 0.69444, 0, 0, 0.5],
+ 8221: [0, 0.69444, 0, 0, 0.5],
+ },
+ 'Script-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 65: [0, 0.7, 0.22925, 0, 0.80253],
+ 66: [0, 0.7, 0.04087, 0, 0.90757],
+ 67: [0, 0.7, 0.1689, 0, 0.66619],
+ 68: [0, 0.7, 0.09371, 0, 0.77443],
+ 69: [0, 0.7, 0.18583, 0, 0.56162],
+ 70: [0, 0.7, 0.13634, 0, 0.89544],
+ 71: [0, 0.7, 0.17322, 0, 0.60961],
+ 72: [0, 0.7, 0.29694, 0, 0.96919],
+ 73: [0, 0.7, 0.19189, 0, 0.80907],
+ 74: [0.27778, 0.7, 0.19189, 0, 1.05159],
+ 75: [0, 0.7, 0.31259, 0, 0.91364],
+ 76: [0, 0.7, 0.19189, 0, 0.87373],
+ 77: [0, 0.7, 0.15981, 0, 1.08031],
+ 78: [0, 0.7, 0.3525, 0, 0.9015],
+ 79: [0, 0.7, 0.08078, 0, 0.73787],
+ 80: [0, 0.7, 0.08078, 0, 1.01262],
+ 81: [0, 0.7, 0.03305, 0, 0.88282],
+ 82: [0, 0.7, 0.06259, 0, 0.85],
+ 83: [0, 0.7, 0.19189, 0, 0.86767],
+ 84: [0, 0.7, 0.29087, 0, 0.74697],
+ 85: [0, 0.7, 0.25815, 0, 0.79996],
+ 86: [0, 0.7, 0.27523, 0, 0.62204],
+ 87: [0, 0.7, 0.27523, 0, 0.80532],
+ 88: [0, 0.7, 0.26006, 0, 0.94445],
+ 89: [0, 0.7, 0.2939, 0, 0.70961],
+ 90: [0, 0.7, 0.24037, 0, 0.8212],
+ 160: [0, 0, 0, 0, 0.25],
+ },
+ 'Size1-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.35001, 0.85, 0, 0, 0.45834],
+ 41: [0.35001, 0.85, 0, 0, 0.45834],
+ 47: [0.35001, 0.85, 0, 0, 0.57778],
+ 91: [0.35001, 0.85, 0, 0, 0.41667],
+ 92: [0.35001, 0.85, 0, 0, 0.57778],
+ 93: [0.35001, 0.85, 0, 0, 0.41667],
+ 123: [0.35001, 0.85, 0, 0, 0.58334],
+ 125: [0.35001, 0.85, 0, 0, 0.58334],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.72222, 0, 0, 0.55556],
+ 732: [0, 0.72222, 0, 0, 0.55556],
+ 770: [0, 0.72222, 0, 0, 0.55556],
+ 771: [0, 0.72222, 0, 0, 0.55556],
+ 8214: [-99e-5, 0.601, 0, 0, 0.77778],
+ 8593: [1e-5, 0.6, 0, 0, 0.66667],
+ 8595: [1e-5, 0.6, 0, 0, 0.66667],
+ 8657: [1e-5, 0.6, 0, 0, 0.77778],
+ 8659: [1e-5, 0.6, 0, 0, 0.77778],
+ 8719: [0.25001, 0.75, 0, 0, 0.94445],
+ 8720: [0.25001, 0.75, 0, 0, 0.94445],
+ 8721: [0.25001, 0.75, 0, 0, 1.05556],
+ 8730: [0.35001, 0.85, 0, 0, 1],
+ 8739: [-0.00599, 0.606, 0, 0, 0.33333],
+ 8741: [-0.00599, 0.606, 0, 0, 0.55556],
+ 8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8748: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8749: [0.306, 0.805, 0.19445, 0, 0.47222],
+ 8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
+ 8896: [0.25001, 0.75, 0, 0, 0.83334],
+ 8897: [0.25001, 0.75, 0, 0, 0.83334],
+ 8898: [0.25001, 0.75, 0, 0, 0.83334],
+ 8899: [0.25001, 0.75, 0, 0, 0.83334],
+ 8968: [0.35001, 0.85, 0, 0, 0.47222],
+ 8969: [0.35001, 0.85, 0, 0, 0.47222],
+ 8970: [0.35001, 0.85, 0, 0, 0.47222],
+ 8971: [0.35001, 0.85, 0, 0, 0.47222],
+ 9168: [-99e-5, 0.601, 0, 0, 0.66667],
+ 10216: [0.35001, 0.85, 0, 0, 0.47222],
+ 10217: [0.35001, 0.85, 0, 0, 0.47222],
+ 10752: [0.25001, 0.75, 0, 0, 1.11111],
+ 10753: [0.25001, 0.75, 0, 0, 1.11111],
+ 10754: [0.25001, 0.75, 0, 0, 1.11111],
+ 10756: [0.25001, 0.75, 0, 0, 0.83334],
+ 10758: [0.25001, 0.75, 0, 0, 0.83334],
+ },
+ 'Size2-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.65002, 1.15, 0, 0, 0.59722],
+ 41: [0.65002, 1.15, 0, 0, 0.59722],
+ 47: [0.65002, 1.15, 0, 0, 0.81111],
+ 91: [0.65002, 1.15, 0, 0, 0.47222],
+ 92: [0.65002, 1.15, 0, 0, 0.81111],
+ 93: [0.65002, 1.15, 0, 0, 0.47222],
+ 123: [0.65002, 1.15, 0, 0, 0.66667],
+ 125: [0.65002, 1.15, 0, 0, 0.66667],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1],
+ 732: [0, 0.75, 0, 0, 1],
+ 770: [0, 0.75, 0, 0, 1],
+ 771: [0, 0.75, 0, 0, 1],
+ 8719: [0.55001, 1.05, 0, 0, 1.27778],
+ 8720: [0.55001, 1.05, 0, 0, 1.27778],
+ 8721: [0.55001, 1.05, 0, 0, 1.44445],
+ 8730: [0.65002, 1.15, 0, 0, 1],
+ 8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8748: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8749: [0.862, 1.36, 0.44445, 0, 0.55556],
+ 8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
+ 8896: [0.55001, 1.05, 0, 0, 1.11111],
+ 8897: [0.55001, 1.05, 0, 0, 1.11111],
+ 8898: [0.55001, 1.05, 0, 0, 1.11111],
+ 8899: [0.55001, 1.05, 0, 0, 1.11111],
+ 8968: [0.65002, 1.15, 0, 0, 0.52778],
+ 8969: [0.65002, 1.15, 0, 0, 0.52778],
+ 8970: [0.65002, 1.15, 0, 0, 0.52778],
+ 8971: [0.65002, 1.15, 0, 0, 0.52778],
+ 10216: [0.65002, 1.15, 0, 0, 0.61111],
+ 10217: [0.65002, 1.15, 0, 0, 0.61111],
+ 10752: [0.55001, 1.05, 0, 0, 1.51112],
+ 10753: [0.55001, 1.05, 0, 0, 1.51112],
+ 10754: [0.55001, 1.05, 0, 0, 1.51112],
+ 10756: [0.55001, 1.05, 0, 0, 1.11111],
+ 10758: [0.55001, 1.05, 0, 0, 1.11111],
+ },
+ 'Size3-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [0.95003, 1.45, 0, 0, 0.73611],
+ 41: [0.95003, 1.45, 0, 0, 0.73611],
+ 47: [0.95003, 1.45, 0, 0, 1.04445],
+ 91: [0.95003, 1.45, 0, 0, 0.52778],
+ 92: [0.95003, 1.45, 0, 0, 1.04445],
+ 93: [0.95003, 1.45, 0, 0, 0.52778],
+ 123: [0.95003, 1.45, 0, 0, 0.75],
+ 125: [0.95003, 1.45, 0, 0, 0.75],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.75, 0, 0, 1.44445],
+ 732: [0, 0.75, 0, 0, 1.44445],
+ 770: [0, 0.75, 0, 0, 1.44445],
+ 771: [0, 0.75, 0, 0, 1.44445],
+ 8730: [0.95003, 1.45, 0, 0, 1],
+ 8968: [0.95003, 1.45, 0, 0, 0.58334],
+ 8969: [0.95003, 1.45, 0, 0, 0.58334],
+ 8970: [0.95003, 1.45, 0, 0, 0.58334],
+ 8971: [0.95003, 1.45, 0, 0, 0.58334],
+ 10216: [0.95003, 1.45, 0, 0, 0.75],
+ 10217: [0.95003, 1.45, 0, 0, 0.75],
+ },
+ 'Size4-Regular': {
+ 32: [0, 0, 0, 0, 0.25],
+ 40: [1.25003, 1.75, 0, 0, 0.79167],
+ 41: [1.25003, 1.75, 0, 0, 0.79167],
+ 47: [1.25003, 1.75, 0, 0, 1.27778],
+ 91: [1.25003, 1.75, 0, 0, 0.58334],
+ 92: [1.25003, 1.75, 0, 0, 1.27778],
+ 93: [1.25003, 1.75, 0, 0, 0.58334],
+ 123: [1.25003, 1.75, 0, 0, 0.80556],
+ 125: [1.25003, 1.75, 0, 0, 0.80556],
+ 160: [0, 0, 0, 0, 0.25],
+ 710: [0, 0.825, 0, 0, 1.8889],
+ 732: [0, 0.825, 0, 0, 1.8889],
+ 770: [0, 0.825, 0, 0, 1.8889],
+ 771: [0, 0.825, 0, 0, 1.8889],
+ 8730: [1.25003, 1.75, 0, 0, 1],
+ 8968: [1.25003, 1.75, 0, 0, 0.63889],
+ 8969: [1.25003, 1.75, 0, 0, 0.63889],
+ 8970: [1.25003, 1.75, 0, 0, 0.63889],
+ 8971: [1.25003, 1.75, 0, 0, 0.63889],
+ 9115: [0.64502, 1.155, 0, 0, 0.875],
+ 9116: [1e-5, 0.6, 0, 0, 0.875],
+ 9117: [0.64502, 1.155, 0, 0, 0.875],
+ 9118: [0.64502, 1.155, 0, 0, 0.875],
+ 9119: [1e-5, 0.6, 0, 0, 0.875],
+ 9120: [0.64502, 1.155, 0, 0, 0.875],
+ 9121: [0.64502, 1.155, 0, 0, 0.66667],
+ 9122: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9123: [0.64502, 1.155, 0, 0, 0.66667],
+ 9124: [0.64502, 1.155, 0, 0, 0.66667],
+ 9125: [-99e-5, 0.601, 0, 0, 0.66667],
+ 9126: [0.64502, 1.155, 0, 0, 0.66667],
+ 9127: [1e-5, 0.9, 0, 0, 0.88889],
+ 9128: [0.65002, 1.15, 0, 0, 0.88889],
+ 9129: [0.90001, 0, 0, 0, 0.88889],
+ 9130: [0, 0.3, 0, 0, 0.88889],
+ 9131: [1e-5, 0.9, 0, 0, 0.88889],
+ 9132: [0.65002, 1.15, 0, 0, 0.88889],
+ 9133: [0.90001, 0, 0, 0, 0.88889],
+ 9143: [0.88502, 0.915, 0, 0, 1.05556],
+ 10216: [1.25003, 1.75, 0, 0, 0.80556],
+ 10217: [1.25003, 1.75, 0, 0, 0.80556],
+ 57344: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57345: [-0.00499, 0.605, 0, 0, 1.05556],
+ 57680: [0, 0.12, 0, 0, 0.45],
+ 57681: [0, 0.12, 0, 0, 0.45],
+ 57682: [0, 0.12, 0, 0, 0.45],
+ 57683: [0, 0.12, 0, 0, 0.45],
+ },
+ 'Typewriter-Regular': {
+ 32: [0, 0, 0, 0, 0.525],
+ 33: [0, 0.61111, 0, 0, 0.525],
+ 34: [0, 0.61111, 0, 0, 0.525],
+ 35: [0, 0.61111, 0, 0, 0.525],
+ 36: [0.08333, 0.69444, 0, 0, 0.525],
+ 37: [0.08333, 0.69444, 0, 0, 0.525],
+ 38: [0, 0.61111, 0, 0, 0.525],
+ 39: [0, 0.61111, 0, 0, 0.525],
+ 40: [0.08333, 0.69444, 0, 0, 0.525],
+ 41: [0.08333, 0.69444, 0, 0, 0.525],
+ 42: [0, 0.52083, 0, 0, 0.525],
+ 43: [-0.08056, 0.53055, 0, 0, 0.525],
+ 44: [0.13889, 0.125, 0, 0, 0.525],
+ 45: [-0.08056, 0.53055, 0, 0, 0.525],
+ 46: [0, 0.125, 0, 0, 0.525],
+ 47: [0.08333, 0.69444, 0, 0, 0.525],
+ 48: [0, 0.61111, 0, 0, 0.525],
+ 49: [0, 0.61111, 0, 0, 0.525],
+ 50: [0, 0.61111, 0, 0, 0.525],
+ 51: [0, 0.61111, 0, 0, 0.525],
+ 52: [0, 0.61111, 0, 0, 0.525],
+ 53: [0, 0.61111, 0, 0, 0.525],
+ 54: [0, 0.61111, 0, 0, 0.525],
+ 55: [0, 0.61111, 0, 0, 0.525],
+ 56: [0, 0.61111, 0, 0, 0.525],
+ 57: [0, 0.61111, 0, 0, 0.525],
+ 58: [0, 0.43056, 0, 0, 0.525],
+ 59: [0.13889, 0.43056, 0, 0, 0.525],
+ 60: [-0.05556, 0.55556, 0, 0, 0.525],
+ 61: [-0.19549, 0.41562, 0, 0, 0.525],
+ 62: [-0.05556, 0.55556, 0, 0, 0.525],
+ 63: [0, 0.61111, 0, 0, 0.525],
+ 64: [0, 0.61111, 0, 0, 0.525],
+ 65: [0, 0.61111, 0, 0, 0.525],
+ 66: [0, 0.61111, 0, 0, 0.525],
+ 67: [0, 0.61111, 0, 0, 0.525],
+ 68: [0, 0.61111, 0, 0, 0.525],
+ 69: [0, 0.61111, 0, 0, 0.525],
+ 70: [0, 0.61111, 0, 0, 0.525],
+ 71: [0, 0.61111, 0, 0, 0.525],
+ 72: [0, 0.61111, 0, 0, 0.525],
+ 73: [0, 0.61111, 0, 0, 0.525],
+ 74: [0, 0.61111, 0, 0, 0.525],
+ 75: [0, 0.61111, 0, 0, 0.525],
+ 76: [0, 0.61111, 0, 0, 0.525],
+ 77: [0, 0.61111, 0, 0, 0.525],
+ 78: [0, 0.61111, 0, 0, 0.525],
+ 79: [0, 0.61111, 0, 0, 0.525],
+ 80: [0, 0.61111, 0, 0, 0.525],
+ 81: [0.13889, 0.61111, 0, 0, 0.525],
+ 82: [0, 0.61111, 0, 0, 0.525],
+ 83: [0, 0.61111, 0, 0, 0.525],
+ 84: [0, 0.61111, 0, 0, 0.525],
+ 85: [0, 0.61111, 0, 0, 0.525],
+ 86: [0, 0.61111, 0, 0, 0.525],
+ 87: [0, 0.61111, 0, 0, 0.525],
+ 88: [0, 0.61111, 0, 0, 0.525],
+ 89: [0, 0.61111, 0, 0, 0.525],
+ 90: [0, 0.61111, 0, 0, 0.525],
+ 91: [0.08333, 0.69444, 0, 0, 0.525],
+ 92: [0.08333, 0.69444, 0, 0, 0.525],
+ 93: [0.08333, 0.69444, 0, 0, 0.525],
+ 94: [0, 0.61111, 0, 0, 0.525],
+ 95: [0.09514, 0, 0, 0, 0.525],
+ 96: [0, 0.61111, 0, 0, 0.525],
+ 97: [0, 0.43056, 0, 0, 0.525],
+ 98: [0, 0.61111, 0, 0, 0.525],
+ 99: [0, 0.43056, 0, 0, 0.525],
+ 100: [0, 0.61111, 0, 0, 0.525],
+ 101: [0, 0.43056, 0, 0, 0.525],
+ 102: [0, 0.61111, 0, 0, 0.525],
+ 103: [0.22222, 0.43056, 0, 0, 0.525],
+ 104: [0, 0.61111, 0, 0, 0.525],
+ 105: [0, 0.61111, 0, 0, 0.525],
+ 106: [0.22222, 0.61111, 0, 0, 0.525],
+ 107: [0, 0.61111, 0, 0, 0.525],
+ 108: [0, 0.61111, 0, 0, 0.525],
+ 109: [0, 0.43056, 0, 0, 0.525],
+ 110: [0, 0.43056, 0, 0, 0.525],
+ 111: [0, 0.43056, 0, 0, 0.525],
+ 112: [0.22222, 0.43056, 0, 0, 0.525],
+ 113: [0.22222, 0.43056, 0, 0, 0.525],
+ 114: [0, 0.43056, 0, 0, 0.525],
+ 115: [0, 0.43056, 0, 0, 0.525],
+ 116: [0, 0.55358, 0, 0, 0.525],
+ 117: [0, 0.43056, 0, 0, 0.525],
+ 118: [0, 0.43056, 0, 0, 0.525],
+ 119: [0, 0.43056, 0, 0, 0.525],
+ 120: [0, 0.43056, 0, 0, 0.525],
+ 121: [0.22222, 0.43056, 0, 0, 0.525],
+ 122: [0, 0.43056, 0, 0, 0.525],
+ 123: [0.08333, 0.69444, 0, 0, 0.525],
+ 124: [0.08333, 0.69444, 0, 0, 0.525],
+ 125: [0.08333, 0.69444, 0, 0, 0.525],
+ 126: [0, 0.61111, 0, 0, 0.525],
+ 127: [0, 0.61111, 0, 0, 0.525],
+ 160: [0, 0, 0, 0, 0.525],
+ 176: [0, 0.61111, 0, 0, 0.525],
+ 184: [0.19445, 0, 0, 0, 0.525],
+ 305: [0, 0.43056, 0, 0, 0.525],
+ 567: [0.22222, 0.43056, 0, 0, 0.525],
+ 711: [0, 0.56597, 0, 0, 0.525],
+ 713: [0, 0.56555, 0, 0, 0.525],
+ 714: [0, 0.61111, 0, 0, 0.525],
+ 715: [0, 0.61111, 0, 0, 0.525],
+ 728: [0, 0.61111, 0, 0, 0.525],
+ 730: [0, 0.61111, 0, 0, 0.525],
+ 770: [0, 0.61111, 0, 0, 0.525],
+ 771: [0, 0.61111, 0, 0, 0.525],
+ 776: [0, 0.61111, 0, 0, 0.525],
+ 915: [0, 0.61111, 0, 0, 0.525],
+ 916: [0, 0.61111, 0, 0, 0.525],
+ 920: [0, 0.61111, 0, 0, 0.525],
+ 923: [0, 0.61111, 0, 0, 0.525],
+ 926: [0, 0.61111, 0, 0, 0.525],
+ 928: [0, 0.61111, 0, 0, 0.525],
+ 931: [0, 0.61111, 0, 0, 0.525],
+ 933: [0, 0.61111, 0, 0, 0.525],
+ 934: [0, 0.61111, 0, 0, 0.525],
+ 936: [0, 0.61111, 0, 0, 0.525],
+ 937: [0, 0.61111, 0, 0, 0.525],
+ 8216: [0, 0.61111, 0, 0, 0.525],
+ 8217: [0, 0.61111, 0, 0, 0.525],
+ 8242: [0, 0.61111, 0, 0, 0.525],
+ 9251: [0.11111, 0.21944, 0, 0, 0.525],
+ },
+ },
+ sQ = {
+ slant: [0.25, 0.25, 0.25],
+ space: [0, 0, 0],
+ stretch: [0, 0, 0],
+ shrink: [0, 0, 0],
+ xHeight: [0.431, 0.431, 0.431],
+ quad: [1, 1.171, 1.472],
+ extraSpace: [0, 0, 0],
+ num1: [0.677, 0.732, 0.925],
+ num2: [0.394, 0.384, 0.387],
+ num3: [0.444, 0.471, 0.504],
+ denom1: [0.686, 0.752, 1.025],
+ denom2: [0.345, 0.344, 0.532],
+ sup1: [0.413, 0.503, 0.504],
+ sup2: [0.363, 0.431, 0.404],
+ sup3: [0.289, 0.286, 0.294],
+ sub1: [0.15, 0.143, 0.2],
+ sub2: [0.247, 0.286, 0.4],
+ supDrop: [0.386, 0.353, 0.494],
+ subDrop: [0.05, 0.071, 0.1],
+ delim1: [2.39, 1.7, 1.98],
+ delim2: [1.01, 1.157, 1.42],
+ axisHeight: [0.25, 0.25, 0.25],
+ defaultRuleThickness: [0.04, 0.049, 0.049],
+ bigOpSpacing1: [0.111, 0.111, 0.111],
+ bigOpSpacing2: [0.166, 0.166, 0.166],
+ bigOpSpacing3: [0.2, 0.2, 0.2],
+ bigOpSpacing4: [0.6, 0.611, 0.611],
+ bigOpSpacing5: [0.1, 0.143, 0.143],
+ sqrtRuleThickness: [0.04, 0.04, 0.04],
+ ptPerEm: [10, 10, 10],
+ doubleRuleSep: [0.2, 0.2, 0.2],
+ arrayRuleWidth: [0.04, 0.04, 0.04],
+ fboxsep: [0.3, 0.3, 0.3],
+ fboxrule: [0.04, 0.04, 0.04],
+ },
+ Q$e = {
+ Å: 'A',
+ Ð: 'D',
+ Þ: 'o',
+ å: 'a',
+ ð: 'd',
+ þ: 'o',
+ А: 'A',
+ Б: 'B',
+ В: 'B',
+ Г: 'F',
+ Д: 'A',
+ Е: 'E',
+ Ж: 'K',
+ З: '3',
+ И: 'N',
+ Й: 'N',
+ К: 'K',
+ Л: 'N',
+ М: 'M',
+ Н: 'H',
+ О: 'O',
+ П: 'N',
+ Р: 'P',
+ С: 'C',
+ Т: 'T',
+ У: 'y',
+ Ф: 'O',
+ Х: 'X',
+ Ц: 'U',
+ Ч: 'h',
+ Ш: 'W',
+ Щ: 'W',
+ Ъ: 'B',
+ Ы: 'X',
+ Ь: 'B',
+ Э: '3',
+ Ю: 'X',
+ Я: 'R',
+ а: 'a',
+ б: 'b',
+ в: 'a',
+ г: 'r',
+ д: 'y',
+ е: 'e',
+ ж: 'm',
+ з: 'e',
+ и: 'n',
+ й: 'n',
+ к: 'n',
+ л: 'n',
+ м: 'm',
+ н: 'n',
+ о: 'o',
+ п: 'n',
+ р: 'p',
+ с: 'c',
+ т: 'o',
+ у: 'y',
+ ф: 'b',
+ х: 'x',
+ ц: 'n',
+ ч: 'n',
+ ш: 'w',
+ щ: 'w',
+ ъ: 'a',
+ ы: 'm',
+ ь: 'a',
+ э: 'e',
+ ю: 'm',
+ я: 'r',
+ };
+ function fHt(i, s) {
+ G4[i] = s;
+ }
+ function J2e(i, s, u) {
+ if (!G4[s]) throw new Error('Font metrics not found for font: ' + s + '.');
+ var d = i.charCodeAt(0),
+ p = G4[s][d];
+ if (
+ (!p && i[0] in Q$e && ((d = Q$e[i[0]].charCodeAt(0)), (p = G4[s][d])),
+ !p && u === 'text' && Y$e(d) && (p = G4[s][77]),
+ p)
+ )
+ return { depth: p[0], height: p[1], italic: p[2], skew: p[3], width: p[4] };
+ }
+ var Z2e = {};
+ function dHt(i) {
+ var s;
+ if ((i >= 5 ? (s = 0) : i >= 3 ? (s = 1) : (s = 2), !Z2e[s])) {
+ var u = (Z2e[s] = { cssEmPerMu: sQ.quad[s] / 18 });
+ for (var d in sQ) sQ.hasOwnProperty(d) && (u[d] = sQ[d][s]);
+ }
+ return Z2e[s];
+ }
+ var gHt = [
+ [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],
+ ],
+ J$e = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488],
+ Z$e = function (s, u) {
+ return u.size < 2 ? s : gHt[s - 1][u.size - 1];
+ };
+ class L7 {
+ constructor(s) {
+ ((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 = s.style),
+ (this.color = s.color),
+ (this.size = s.size || L7.BASESIZE),
+ (this.textSize = s.textSize || this.size),
+ (this.phantom = !!s.phantom),
+ (this.font = s.font || ''),
+ (this.fontFamily = s.fontFamily || ''),
+ (this.fontWeight = s.fontWeight || ''),
+ (this.fontShape = s.fontShape || ''),
+ (this.sizeMultiplier = J$e[this.size - 1]),
+ (this.maxSize = s.maxSize),
+ (this.minRuleThickness = s.minRuleThickness),
+ (this._fontMetrics = void 0));
+ }
+ extend(s) {
+ var u = {
+ 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 d in s) s.hasOwnProperty(d) && (u[d] = s[d]);
+ return new L7(u);
+ }
+ havingStyle(s) {
+ return this.style === s ? this : this.extend({ style: s, size: Z$e(this.textSize, s) });
+ }
+ havingCrampedStyle() {
+ return this.havingStyle(this.style.cramp());
+ }
+ havingSize(s) {
+ return this.size === s && this.textSize === s
+ ? this
+ : this.extend({
+ style: this.style.text(),
+ size: s,
+ textSize: s,
+ sizeMultiplier: J$e[s - 1],
+ });
+ }
+ havingBaseStyle(s) {
+ s = s || this.style.text();
+ var u = Z$e(L7.BASESIZE, s);
+ return this.size === u && this.textSize === L7.BASESIZE && this.style === s
+ ? this
+ : this.extend({ style: s, size: u });
+ }
+ havingBaseSizing() {
+ var s;
+ switch (this.style.id) {
+ case 4:
+ case 5:
+ s = 3;
+ break;
+ case 6:
+ case 7:
+ s = 1;
+ break;
+ default:
+ s = 6;
+ }
+ return this.extend({ style: this.style.text(), size: s });
+ }
+ withColor(s) {
+ return this.extend({ color: s });
+ }
+ withPhantom() {
+ return this.extend({ phantom: !0 });
+ }
+ withFont(s) {
+ return this.extend({ font: s });
+ }
+ withTextFontFamily(s) {
+ return this.extend({ fontFamily: s, font: '' });
+ }
+ withTextFontWeight(s) {
+ return this.extend({ fontWeight: s, font: '' });
+ }
+ withTextFontShape(s) {
+ return this.extend({ fontShape: s, font: '' });
+ }
+ sizingClasses(s) {
+ return s.size !== this.size ? ['sizing', 'reset-size' + s.size, 'size' + this.size] : [];
+ }
+ baseSizingClasses() {
+ return this.size !== L7.BASESIZE
+ ? ['sizing', 'reset-size' + this.size, 'size' + L7.BASESIZE]
+ : [];
+ }
+ fontMetrics() {
+ return (this._fontMetrics || (this._fontMetrics = dHt(this.size)), this._fontMetrics);
+ }
+ getColor() {
+ return this.phantom ? 'transparent' : this.color;
+ }
+ }
+ L7.BASESIZE = 6;
+ var ebe = {
+ 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,
+ },
+ pHt = { ex: !0, em: !0, mu: !0 },
+ eze = function (s) {
+ return (typeof s != 'string' && (s = s.unit), s in ebe || s in pHt || s === 'ex');
+ },
+ Gh = function (s, u) {
+ var d;
+ if (s.unit in ebe) d = ebe[s.unit] / u.fontMetrics().ptPerEm / u.sizeMultiplier;
+ else if (s.unit === 'mu') d = u.fontMetrics().cssEmPerMu;
+ else {
+ var p;
+ if ((u.style.isTight() ? (p = u.havingStyle(u.style.text())) : (p = u), s.unit === 'ex'))
+ d = p.fontMetrics().xHeight;
+ else if (s.unit === 'em') d = p.fontMetrics().quad;
+ else throw new Si("Invalid unit: '" + s.unit + "'");
+ p !== u && (d *= p.sizeMultiplier / u.sizeMultiplier);
+ }
+ return Math.min(s.number * d, u.maxSize);
+ },
+ ji = function (s) {
+ return +s.toFixed(4) + 'em';
+ },
+ E9 = function (s) {
+ return s.filter((u) => u).join(' ');
+ },
+ tze = function (s, u, d) {
+ if (
+ ((this.classes = s || []),
+ (this.attributes = {}),
+ (this.height = 0),
+ (this.depth = 0),
+ (this.maxFontSize = 0),
+ (this.style = d || {}),
+ u)
+ ) {
+ u.style.isTight() && this.classes.push('mtight');
+ var p = u.getColor();
+ p && (this.style.color = p);
+ }
+ },
+ nze = function (s) {
+ var u = document.createElement(s);
+ u.className = E9(this.classes);
+ for (var d in this.style) this.style.hasOwnProperty(d) && (u.style[d] = this.style[d]);
+ for (var p in this.attributes)
+ this.attributes.hasOwnProperty(p) && u.setAttribute(p, this.attributes[p]);
+ for (var v = 0; v < this.children.length; v++) u.appendChild(this.children[v].toNode());
+ return u;
+ },
+ rze = function (s) {
+ var u = '<' + s;
+ this.classes.length && (u += ' class="' + pa.escape(E9(this.classes)) + '"');
+ var d = '';
+ for (var p in this.style)
+ this.style.hasOwnProperty(p) && (d += pa.hyphenate(p) + ':' + this.style[p] + ';');
+ d && (u += ' style="' + pa.escape(d) + '"');
+ for (var v in this.attributes)
+ this.attributes.hasOwnProperty(v) &&
+ (u += ' ' + v + '="' + pa.escape(this.attributes[v]) + '"');
+ u += '>';
+ for (var b = 0; b < this.children.length; b++) u += this.children[b].toMarkup();
+ return ((u += '' + s + '>'), u);
+ };
+ class uR {
+ constructor(s, u, d, p) {
+ ((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),
+ tze.call(this, s, d, p),
+ (this.children = u || []));
+ }
+ setAttribute(s, u) {
+ this.attributes[s] = u;
+ }
+ hasClass(s) {
+ return pa.contains(this.classes, s);
+ }
+ toNode() {
+ return nze.call(this, 'span');
+ }
+ toMarkup() {
+ return rze.call(this, 'span');
+ }
+ }
+ class tbe {
+ constructor(s, u, d, p) {
+ ((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),
+ tze.call(this, u, p),
+ (this.children = d || []),
+ this.setAttribute('href', s));
+ }
+ setAttribute(s, u) {
+ this.attributes[s] = u;
+ }
+ hasClass(s) {
+ return pa.contains(this.classes, s);
+ }
+ toNode() {
+ return nze.call(this, 'a');
+ }
+ toMarkup() {
+ return rze.call(this, 'a');
+ }
+ }
+ class bHt {
+ constructor(s, u, d) {
+ ((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 = u),
+ (this.src = s),
+ (this.classes = ['mord']),
+ (this.style = d));
+ }
+ hasClass(s) {
+ return pa.contains(this.classes, s);
+ }
+ toNode() {
+ var s = document.createElement('img');
+ ((s.src = this.src), (s.alt = this.alt), (s.className = 'mord'));
+ for (var u in this.style) this.style.hasOwnProperty(u) && (s.style[u] = this.style[u]);
+ return s;
+ }
+ toMarkup() {
+ var s = '
"), s);
+ }
+ }
+ var mHt = { î: 'ı̂', ï: 'ı̈', í: 'ı́', ì: 'ı̀' };
+ class Fv {
+ constructor(s, u, d, p, v, b, y, T) {
+ ((this.text = void 0),
+ (this.height = void 0),
+ (this.depth = void 0),
+ (this.italic = void 0),
+ (this.skew = void 0),
+ (this.width = void 0),
+ (this.maxFontSize = void 0),
+ (this.classes = void 0),
+ (this.style = void 0),
+ (this.text = s),
+ (this.height = u || 0),
+ (this.depth = d || 0),
+ (this.italic = p || 0),
+ (this.skew = v || 0),
+ (this.width = b || 0),
+ (this.classes = y || []),
+ (this.style = T || {}),
+ (this.maxFontSize = 0));
+ var _ = tHt(this.text.charCodeAt(0));
+ (_ && this.classes.push(_ + '_fallback'),
+ /[îïíì]/.test(this.text) && (this.text = mHt[this.text]));
+ }
+ hasClass(s) {
+ return pa.contains(this.classes, s);
+ }
+ toNode() {
+ var s = document.createTextNode(this.text),
+ u = null;
+ (this.italic > 0 &&
+ ((u = document.createElement('span')), (u.style.marginRight = ji(this.italic))),
+ this.classes.length > 0 &&
+ ((u = u || document.createElement('span')), (u.className = E9(this.classes))));
+ for (var d in this.style)
+ this.style.hasOwnProperty(d) &&
+ ((u = u || document.createElement('span')), (u.style[d] = this.style[d]));
+ return u ? (u.appendChild(s), u) : s;
+ }
+ toMarkup() {
+ var s = !1,
+ u = ' 0 && (d += 'margin-right:' + this.italic + 'em;');
+ for (var p in this.style)
+ this.style.hasOwnProperty(p) && (d += pa.hyphenate(p) + ':' + this.style[p] + ';');
+ d && ((s = !0), (u += ' style="' + pa.escape(d) + '"'));
+ var v = pa.escape(this.text);
+ return s ? ((u += '>'), (u += v), (u += ''), u) : v;
+ }
+ }
+ class M7 {
+ constructor(s, u) {
+ ((this.children = void 0),
+ (this.attributes = void 0),
+ (this.children = s || []),
+ (this.attributes = u || {}));
+ }
+ toNode() {
+ var s = 'http://www.w3.org/2000/svg',
+ u = document.createElementNS(s, 'svg');
+ for (var d in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, d) &&
+ u.setAttribute(d, this.attributes[d]);
+ for (var p = 0; p < this.children.length; p++) u.appendChild(this.children[p].toNode());
+ return u;
+ }
+ toMarkup() {
+ var s = ''), s);
+ }
+ }
+ class T9 {
+ constructor(s, u) {
+ ((this.pathName = void 0),
+ (this.alternate = void 0),
+ (this.pathName = s),
+ (this.alternate = u));
+ }
+ toNode() {
+ var s = 'http://www.w3.org/2000/svg',
+ u = document.createElementNS(s, 'path');
+ return (
+ this.alternate
+ ? u.setAttribute('d', this.alternate)
+ : u.setAttribute('d', X$e[this.pathName]),
+ u
+ );
+ }
+ toMarkup() {
+ return this.alternate
+ ? ' '
+ : ' ';
+ }
+ }
+ class nbe {
+ constructor(s) {
+ ((this.attributes = void 0), (this.attributes = s || {}));
+ }
+ toNode() {
+ var s = 'http://www.w3.org/2000/svg',
+ u = document.createElementNS(s, 'line');
+ for (var d in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, d) &&
+ u.setAttribute(d, this.attributes[d]);
+ return u;
+ }
+ toMarkup() {
+ var s = ' '), s);
+ }
+ }
+ function ize(i) {
+ if (i instanceof Fv) return i;
+ throw new Error('Expected symbolNode but got ' + String(i) + '.');
+ }
+ function vHt(i) {
+ if (i instanceof uR) return i;
+ throw new Error('Expected span but got ' + String(i) + '.');
+ }
+ var wHt = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 },
+ yHt = { 'accent-token': 1, mathord: 1, 'op-token': 1, spacing: 1, textord: 1 },
+ Ul = { math: {}, text: {} };
+ function we(i, s, u, d, p, v) {
+ ((Ul[i][p] = { font: s, group: u, replace: d }), v && d && (Ul[i][d] = Ul[i][p]));
+ }
+ var Ae = 'math',
+ si = 'text',
+ Ue = 'main',
+ $t = 'ams',
+ kh = 'accent-token',
+ us = 'bin',
+ Ip = 'close',
+ OD = 'inner',
+ Sa = 'mathord',
+ I0 = 'op-token',
+ lm = 'open',
+ aQ = 'punct',
+ Ht = 'rel',
+ D7 = 'spacing',
+ vn = 'textord';
+ (we(Ae, Ue, Ht, '≡', '\\equiv', !0),
+ we(Ae, Ue, Ht, '≺', '\\prec', !0),
+ we(Ae, Ue, Ht, '≻', '\\succ', !0),
+ we(Ae, Ue, Ht, '∼', '\\sim', !0),
+ we(Ae, Ue, Ht, '⊥', '\\perp'),
+ we(Ae, Ue, Ht, '⪯', '\\preceq', !0),
+ we(Ae, Ue, Ht, '⪰', '\\succeq', !0),
+ we(Ae, Ue, Ht, '≃', '\\simeq', !0),
+ we(Ae, Ue, Ht, '∣', '\\mid', !0),
+ we(Ae, Ue, Ht, '≪', '\\ll', !0),
+ we(Ae, Ue, Ht, '≫', '\\gg', !0),
+ we(Ae, Ue, Ht, '≍', '\\asymp', !0),
+ we(Ae, Ue, Ht, '∥', '\\parallel'),
+ we(Ae, Ue, Ht, '⋈', '\\bowtie', !0),
+ we(Ae, Ue, Ht, '⌣', '\\smile', !0),
+ we(Ae, Ue, Ht, '⊑', '\\sqsubseteq', !0),
+ we(Ae, Ue, Ht, '⊒', '\\sqsupseteq', !0),
+ we(Ae, Ue, Ht, '≐', '\\doteq', !0),
+ we(Ae, Ue, Ht, '⌢', '\\frown', !0),
+ we(Ae, Ue, Ht, '∋', '\\ni', !0),
+ we(Ae, Ue, Ht, '∝', '\\propto', !0),
+ we(Ae, Ue, Ht, '⊢', '\\vdash', !0),
+ we(Ae, Ue, Ht, '⊣', '\\dashv', !0),
+ we(Ae, Ue, Ht, '∋', '\\owns'),
+ we(Ae, Ue, aQ, '.', '\\ldotp'),
+ we(Ae, Ue, aQ, '⋅', '\\cdotp'),
+ we(Ae, Ue, vn, '#', '\\#'),
+ we(si, Ue, vn, '#', '\\#'),
+ we(Ae, Ue, vn, '&', '\\&'),
+ we(si, Ue, vn, '&', '\\&'),
+ we(Ae, Ue, vn, 'ℵ', '\\aleph', !0),
+ we(Ae, Ue, vn, '∀', '\\forall', !0),
+ we(Ae, Ue, vn, 'ℏ', '\\hbar', !0),
+ we(Ae, Ue, vn, '∃', '\\exists', !0),
+ we(Ae, Ue, vn, '∇', '\\nabla', !0),
+ we(Ae, Ue, vn, '♭', '\\flat', !0),
+ we(Ae, Ue, vn, 'ℓ', '\\ell', !0),
+ we(Ae, Ue, vn, '♮', '\\natural', !0),
+ we(Ae, Ue, vn, '♣', '\\clubsuit', !0),
+ we(Ae, Ue, vn, '℘', '\\wp', !0),
+ we(Ae, Ue, vn, '♯', '\\sharp', !0),
+ we(Ae, Ue, vn, '♢', '\\diamondsuit', !0),
+ we(Ae, Ue, vn, 'ℜ', '\\Re', !0),
+ we(Ae, Ue, vn, '♡', '\\heartsuit', !0),
+ we(Ae, Ue, vn, 'ℑ', '\\Im', !0),
+ we(Ae, Ue, vn, '♠', '\\spadesuit', !0),
+ we(Ae, Ue, vn, '§', '\\S', !0),
+ we(si, Ue, vn, '§', '\\S'),
+ we(Ae, Ue, vn, '¶', '\\P', !0),
+ we(si, Ue, vn, '¶', '\\P'),
+ we(Ae, Ue, vn, '†', '\\dag'),
+ we(si, Ue, vn, '†', '\\dag'),
+ we(si, Ue, vn, '†', '\\textdagger'),
+ we(Ae, Ue, vn, '‡', '\\ddag'),
+ we(si, Ue, vn, '‡', '\\ddag'),
+ we(si, Ue, vn, '‡', '\\textdaggerdbl'),
+ we(Ae, Ue, Ip, '⎱', '\\rmoustache', !0),
+ we(Ae, Ue, lm, '⎰', '\\lmoustache', !0),
+ we(Ae, Ue, Ip, '⟯', '\\rgroup', !0),
+ we(Ae, Ue, lm, '⟮', '\\lgroup', !0),
+ we(Ae, Ue, us, '∓', '\\mp', !0),
+ we(Ae, Ue, us, '⊖', '\\ominus', !0),
+ we(Ae, Ue, us, '⊎', '\\uplus', !0),
+ we(Ae, Ue, us, '⊓', '\\sqcap', !0),
+ we(Ae, Ue, us, '∗', '\\ast'),
+ we(Ae, Ue, us, '⊔', '\\sqcup', !0),
+ we(Ae, Ue, us, '◯', '\\bigcirc', !0),
+ we(Ae, Ue, us, '∙', '\\bullet', !0),
+ we(Ae, Ue, us, '‡', '\\ddagger'),
+ we(Ae, Ue, us, '≀', '\\wr', !0),
+ we(Ae, Ue, us, '⨿', '\\amalg'),
+ we(Ae, Ue, us, '&', '\\And'),
+ we(Ae, Ue, Ht, '⟵', '\\longleftarrow', !0),
+ we(Ae, Ue, Ht, '⇐', '\\Leftarrow', !0),
+ we(Ae, Ue, Ht, '⟸', '\\Longleftarrow', !0),
+ we(Ae, Ue, Ht, '⟶', '\\longrightarrow', !0),
+ we(Ae, Ue, Ht, '⇒', '\\Rightarrow', !0),
+ we(Ae, Ue, Ht, '⟹', '\\Longrightarrow', !0),
+ we(Ae, Ue, Ht, '↔', '\\leftrightarrow', !0),
+ we(Ae, Ue, Ht, '⟷', '\\longleftrightarrow', !0),
+ we(Ae, Ue, Ht, '⇔', '\\Leftrightarrow', !0),
+ we(Ae, Ue, Ht, '⟺', '\\Longleftrightarrow', !0),
+ we(Ae, Ue, Ht, '↦', '\\mapsto', !0),
+ we(Ae, Ue, Ht, '⟼', '\\longmapsto', !0),
+ we(Ae, Ue, Ht, '↗', '\\nearrow', !0),
+ we(Ae, Ue, Ht, '↩', '\\hookleftarrow', !0),
+ we(Ae, Ue, Ht, '↪', '\\hookrightarrow', !0),
+ we(Ae, Ue, Ht, '↘', '\\searrow', !0),
+ we(Ae, Ue, Ht, '↼', '\\leftharpoonup', !0),
+ we(Ae, Ue, Ht, '⇀', '\\rightharpoonup', !0),
+ we(Ae, Ue, Ht, '↙', '\\swarrow', !0),
+ we(Ae, Ue, Ht, '↽', '\\leftharpoondown', !0),
+ we(Ae, Ue, Ht, '⇁', '\\rightharpoondown', !0),
+ we(Ae, Ue, Ht, '↖', '\\nwarrow', !0),
+ we(Ae, Ue, Ht, '⇌', '\\rightleftharpoons', !0),
+ we(Ae, $t, Ht, '≮', '\\nless', !0),
+ we(Ae, $t, Ht, '', '\\@nleqslant'),
+ we(Ae, $t, Ht, '', '\\@nleqq'),
+ we(Ae, $t, Ht, '⪇', '\\lneq', !0),
+ we(Ae, $t, Ht, '≨', '\\lneqq', !0),
+ we(Ae, $t, Ht, '', '\\@lvertneqq'),
+ we(Ae, $t, Ht, '⋦', '\\lnsim', !0),
+ we(Ae, $t, Ht, '⪉', '\\lnapprox', !0),
+ we(Ae, $t, Ht, '⊀', '\\nprec', !0),
+ we(Ae, $t, Ht, '⋠', '\\npreceq', !0),
+ we(Ae, $t, Ht, '⋨', '\\precnsim', !0),
+ we(Ae, $t, Ht, '⪹', '\\precnapprox', !0),
+ we(Ae, $t, Ht, '≁', '\\nsim', !0),
+ we(Ae, $t, Ht, '', '\\@nshortmid'),
+ we(Ae, $t, Ht, '∤', '\\nmid', !0),
+ we(Ae, $t, Ht, '⊬', '\\nvdash', !0),
+ we(Ae, $t, Ht, '⊭', '\\nvDash', !0),
+ we(Ae, $t, Ht, '⋪', '\\ntriangleleft'),
+ we(Ae, $t, Ht, '⋬', '\\ntrianglelefteq', !0),
+ we(Ae, $t, Ht, '⊊', '\\subsetneq', !0),
+ we(Ae, $t, Ht, '', '\\@varsubsetneq'),
+ we(Ae, $t, Ht, '⫋', '\\subsetneqq', !0),
+ we(Ae, $t, Ht, '', '\\@varsubsetneqq'),
+ we(Ae, $t, Ht, '≯', '\\ngtr', !0),
+ we(Ae, $t, Ht, '', '\\@ngeqslant'),
+ we(Ae, $t, Ht, '', '\\@ngeqq'),
+ we(Ae, $t, Ht, '⪈', '\\gneq', !0),
+ we(Ae, $t, Ht, '≩', '\\gneqq', !0),
+ we(Ae, $t, Ht, '', '\\@gvertneqq'),
+ we(Ae, $t, Ht, '⋧', '\\gnsim', !0),
+ we(Ae, $t, Ht, '⪊', '\\gnapprox', !0),
+ we(Ae, $t, Ht, '⊁', '\\nsucc', !0),
+ we(Ae, $t, Ht, '⋡', '\\nsucceq', !0),
+ we(Ae, $t, Ht, '⋩', '\\succnsim', !0),
+ we(Ae, $t, Ht, '⪺', '\\succnapprox', !0),
+ we(Ae, $t, Ht, '≆', '\\ncong', !0),
+ we(Ae, $t, Ht, '', '\\@nshortparallel'),
+ we(Ae, $t, Ht, '∦', '\\nparallel', !0),
+ we(Ae, $t, Ht, '⊯', '\\nVDash', !0),
+ we(Ae, $t, Ht, '⋫', '\\ntriangleright'),
+ we(Ae, $t, Ht, '⋭', '\\ntrianglerighteq', !0),
+ we(Ae, $t, Ht, '', '\\@nsupseteqq'),
+ we(Ae, $t, Ht, '⊋', '\\supsetneq', !0),
+ we(Ae, $t, Ht, '', '\\@varsupsetneq'),
+ we(Ae, $t, Ht, '⫌', '\\supsetneqq', !0),
+ we(Ae, $t, Ht, '', '\\@varsupsetneqq'),
+ we(Ae, $t, Ht, '⊮', '\\nVdash', !0),
+ we(Ae, $t, Ht, '⪵', '\\precneqq', !0),
+ we(Ae, $t, Ht, '⪶', '\\succneqq', !0),
+ we(Ae, $t, Ht, '', '\\@nsubseteqq'),
+ we(Ae, $t, us, '⊴', '\\unlhd'),
+ we(Ae, $t, us, '⊵', '\\unrhd'),
+ we(Ae, $t, Ht, '↚', '\\nleftarrow', !0),
+ we(Ae, $t, Ht, '↛', '\\nrightarrow', !0),
+ we(Ae, $t, Ht, '⇍', '\\nLeftarrow', !0),
+ we(Ae, $t, Ht, '⇏', '\\nRightarrow', !0),
+ we(Ae, $t, Ht, '↮', '\\nleftrightarrow', !0),
+ we(Ae, $t, Ht, '⇎', '\\nLeftrightarrow', !0),
+ we(Ae, $t, Ht, '△', '\\vartriangle'),
+ we(Ae, $t, vn, 'ℏ', '\\hslash'),
+ we(Ae, $t, vn, '▽', '\\triangledown'),
+ we(Ae, $t, vn, '◊', '\\lozenge'),
+ we(Ae, $t, vn, 'Ⓢ', '\\circledS'),
+ we(Ae, $t, vn, '®', '\\circledR'),
+ we(si, $t, vn, '®', '\\circledR'),
+ we(Ae, $t, vn, '∡', '\\measuredangle', !0),
+ we(Ae, $t, vn, '∄', '\\nexists'),
+ we(Ae, $t, vn, '℧', '\\mho'),
+ we(Ae, $t, vn, 'Ⅎ', '\\Finv', !0),
+ we(Ae, $t, vn, '⅁', '\\Game', !0),
+ we(Ae, $t, vn, '‵', '\\backprime'),
+ we(Ae, $t, vn, '▲', '\\blacktriangle'),
+ we(Ae, $t, vn, '▼', '\\blacktriangledown'),
+ we(Ae, $t, vn, '■', '\\blacksquare'),
+ we(Ae, $t, vn, '⧫', '\\blacklozenge'),
+ we(Ae, $t, vn, '★', '\\bigstar'),
+ we(Ae, $t, vn, '∢', '\\sphericalangle', !0),
+ we(Ae, $t, vn, '∁', '\\complement', !0),
+ we(Ae, $t, vn, 'ð', '\\eth', !0),
+ we(si, Ue, vn, 'ð', 'ð'),
+ we(Ae, $t, vn, '╱', '\\diagup'),
+ we(Ae, $t, vn, '╲', '\\diagdown'),
+ we(Ae, $t, vn, '□', '\\square'),
+ we(Ae, $t, vn, '□', '\\Box'),
+ we(Ae, $t, vn, '◊', '\\Diamond'),
+ we(Ae, $t, vn, '¥', '\\yen', !0),
+ we(si, $t, vn, '¥', '\\yen', !0),
+ we(Ae, $t, vn, '✓', '\\checkmark', !0),
+ we(si, $t, vn, '✓', '\\checkmark'),
+ we(Ae, $t, vn, 'ℶ', '\\beth', !0),
+ we(Ae, $t, vn, 'ℸ', '\\daleth', !0),
+ we(Ae, $t, vn, 'ℷ', '\\gimel', !0),
+ we(Ae, $t, vn, 'ϝ', '\\digamma', !0),
+ we(Ae, $t, vn, 'ϰ', '\\varkappa'),
+ we(Ae, $t, lm, '┌', '\\@ulcorner', !0),
+ we(Ae, $t, Ip, '┐', '\\@urcorner', !0),
+ we(Ae, $t, lm, '└', '\\@llcorner', !0),
+ we(Ae, $t, Ip, '┘', '\\@lrcorner', !0),
+ we(Ae, $t, Ht, '≦', '\\leqq', !0),
+ we(Ae, $t, Ht, '⩽', '\\leqslant', !0),
+ we(Ae, $t, Ht, '⪕', '\\eqslantless', !0),
+ we(Ae, $t, Ht, '≲', '\\lesssim', !0),
+ we(Ae, $t, Ht, '⪅', '\\lessapprox', !0),
+ we(Ae, $t, Ht, '≊', '\\approxeq', !0),
+ we(Ae, $t, us, '⋖', '\\lessdot'),
+ we(Ae, $t, Ht, '⋘', '\\lll', !0),
+ we(Ae, $t, Ht, '≶', '\\lessgtr', !0),
+ we(Ae, $t, Ht, '⋚', '\\lesseqgtr', !0),
+ we(Ae, $t, Ht, '⪋', '\\lesseqqgtr', !0),
+ we(Ae, $t, Ht, '≑', '\\doteqdot'),
+ we(Ae, $t, Ht, '≓', '\\risingdotseq', !0),
+ we(Ae, $t, Ht, '≒', '\\fallingdotseq', !0),
+ we(Ae, $t, Ht, '∽', '\\backsim', !0),
+ we(Ae, $t, Ht, '⋍', '\\backsimeq', !0),
+ we(Ae, $t, Ht, '⫅', '\\subseteqq', !0),
+ we(Ae, $t, Ht, '⋐', '\\Subset', !0),
+ we(Ae, $t, Ht, '⊏', '\\sqsubset', !0),
+ we(Ae, $t, Ht, '≼', '\\preccurlyeq', !0),
+ we(Ae, $t, Ht, '⋞', '\\curlyeqprec', !0),
+ we(Ae, $t, Ht, '≾', '\\precsim', !0),
+ we(Ae, $t, Ht, '⪷', '\\precapprox', !0),
+ we(Ae, $t, Ht, '⊲', '\\vartriangleleft'),
+ we(Ae, $t, Ht, '⊴', '\\trianglelefteq'),
+ we(Ae, $t, Ht, '⊨', '\\vDash', !0),
+ we(Ae, $t, Ht, '⊪', '\\Vvdash', !0),
+ we(Ae, $t, Ht, '⌣', '\\smallsmile'),
+ we(Ae, $t, Ht, '⌢', '\\smallfrown'),
+ we(Ae, $t, Ht, '≏', '\\bumpeq', !0),
+ we(Ae, $t, Ht, '≎', '\\Bumpeq', !0),
+ we(Ae, $t, Ht, '≧', '\\geqq', !0),
+ we(Ae, $t, Ht, '⩾', '\\geqslant', !0),
+ we(Ae, $t, Ht, '⪖', '\\eqslantgtr', !0),
+ we(Ae, $t, Ht, '≳', '\\gtrsim', !0),
+ we(Ae, $t, Ht, '⪆', '\\gtrapprox', !0),
+ we(Ae, $t, us, '⋗', '\\gtrdot'),
+ we(Ae, $t, Ht, '⋙', '\\ggg', !0),
+ we(Ae, $t, Ht, '≷', '\\gtrless', !0),
+ we(Ae, $t, Ht, '⋛', '\\gtreqless', !0),
+ we(Ae, $t, Ht, '⪌', '\\gtreqqless', !0),
+ we(Ae, $t, Ht, '≖', '\\eqcirc', !0),
+ we(Ae, $t, Ht, '≗', '\\circeq', !0),
+ we(Ae, $t, Ht, '≜', '\\triangleq', !0),
+ we(Ae, $t, Ht, '∼', '\\thicksim'),
+ we(Ae, $t, Ht, '≈', '\\thickapprox'),
+ we(Ae, $t, Ht, '⫆', '\\supseteqq', !0),
+ we(Ae, $t, Ht, '⋑', '\\Supset', !0),
+ we(Ae, $t, Ht, '⊐', '\\sqsupset', !0),
+ we(Ae, $t, Ht, '≽', '\\succcurlyeq', !0),
+ we(Ae, $t, Ht, '⋟', '\\curlyeqsucc', !0),
+ we(Ae, $t, Ht, '≿', '\\succsim', !0),
+ we(Ae, $t, Ht, '⪸', '\\succapprox', !0),
+ we(Ae, $t, Ht, '⊳', '\\vartriangleright'),
+ we(Ae, $t, Ht, '⊵', '\\trianglerighteq'),
+ we(Ae, $t, Ht, '⊩', '\\Vdash', !0),
+ we(Ae, $t, Ht, '∣', '\\shortmid'),
+ we(Ae, $t, Ht, '∥', '\\shortparallel'),
+ we(Ae, $t, Ht, '≬', '\\between', !0),
+ we(Ae, $t, Ht, '⋔', '\\pitchfork', !0),
+ we(Ae, $t, Ht, '∝', '\\varpropto'),
+ we(Ae, $t, Ht, '◀', '\\blacktriangleleft'),
+ we(Ae, $t, Ht, '∴', '\\therefore', !0),
+ we(Ae, $t, Ht, '∍', '\\backepsilon'),
+ we(Ae, $t, Ht, '▶', '\\blacktriangleright'),
+ we(Ae, $t, Ht, '∵', '\\because', !0),
+ we(Ae, $t, Ht, '⋘', '\\llless'),
+ we(Ae, $t, Ht, '⋙', '\\gggtr'),
+ we(Ae, $t, us, '⊲', '\\lhd'),
+ we(Ae, $t, us, '⊳', '\\rhd'),
+ we(Ae, $t, Ht, '≂', '\\eqsim', !0),
+ we(Ae, Ue, Ht, '⋈', '\\Join'),
+ we(Ae, $t, Ht, '≑', '\\Doteq', !0),
+ we(Ae, $t, us, '∔', '\\dotplus', !0),
+ we(Ae, $t, us, '∖', '\\smallsetminus'),
+ we(Ae, $t, us, '⋒', '\\Cap', !0),
+ we(Ae, $t, us, '⋓', '\\Cup', !0),
+ we(Ae, $t, us, '⩞', '\\doublebarwedge', !0),
+ we(Ae, $t, us, '⊟', '\\boxminus', !0),
+ we(Ae, $t, us, '⊞', '\\boxplus', !0),
+ we(Ae, $t, us, '⋇', '\\divideontimes', !0),
+ we(Ae, $t, us, '⋉', '\\ltimes', !0),
+ we(Ae, $t, us, '⋊', '\\rtimes', !0),
+ we(Ae, $t, us, '⋋', '\\leftthreetimes', !0),
+ we(Ae, $t, us, '⋌', '\\rightthreetimes', !0),
+ we(Ae, $t, us, '⋏', '\\curlywedge', !0),
+ we(Ae, $t, us, '⋎', '\\curlyvee', !0),
+ we(Ae, $t, us, '⊝', '\\circleddash', !0),
+ we(Ae, $t, us, '⊛', '\\circledast', !0),
+ we(Ae, $t, us, '⋅', '\\centerdot'),
+ we(Ae, $t, us, '⊺', '\\intercal', !0),
+ we(Ae, $t, us, '⋒', '\\doublecap'),
+ we(Ae, $t, us, '⋓', '\\doublecup'),
+ we(Ae, $t, us, '⊠', '\\boxtimes', !0),
+ we(Ae, $t, Ht, '⇢', '\\dashrightarrow', !0),
+ we(Ae, $t, Ht, '⇠', '\\dashleftarrow', !0),
+ we(Ae, $t, Ht, '⇇', '\\leftleftarrows', !0),
+ we(Ae, $t, Ht, '⇆', '\\leftrightarrows', !0),
+ we(Ae, $t, Ht, '⇚', '\\Lleftarrow', !0),
+ we(Ae, $t, Ht, '↞', '\\twoheadleftarrow', !0),
+ we(Ae, $t, Ht, '↢', '\\leftarrowtail', !0),
+ we(Ae, $t, Ht, '↫', '\\looparrowleft', !0),
+ we(Ae, $t, Ht, '⇋', '\\leftrightharpoons', !0),
+ we(Ae, $t, Ht, '↶', '\\curvearrowleft', !0),
+ we(Ae, $t, Ht, '↺', '\\circlearrowleft', !0),
+ we(Ae, $t, Ht, '↰', '\\Lsh', !0),
+ we(Ae, $t, Ht, '⇈', '\\upuparrows', !0),
+ we(Ae, $t, Ht, '↿', '\\upharpoonleft', !0),
+ we(Ae, $t, Ht, '⇃', '\\downharpoonleft', !0),
+ we(Ae, Ue, Ht, '⊶', '\\origof', !0),
+ we(Ae, Ue, Ht, '⊷', '\\imageof', !0),
+ we(Ae, $t, Ht, '⊸', '\\multimap', !0),
+ we(Ae, $t, Ht, '↭', '\\leftrightsquigarrow', !0),
+ we(Ae, $t, Ht, '⇉', '\\rightrightarrows', !0),
+ we(Ae, $t, Ht, '⇄', '\\rightleftarrows', !0),
+ we(Ae, $t, Ht, '↠', '\\twoheadrightarrow', !0),
+ we(Ae, $t, Ht, '↣', '\\rightarrowtail', !0),
+ we(Ae, $t, Ht, '↬', '\\looparrowright', !0),
+ we(Ae, $t, Ht, '↷', '\\curvearrowright', !0),
+ we(Ae, $t, Ht, '↻', '\\circlearrowright', !0),
+ we(Ae, $t, Ht, '↱', '\\Rsh', !0),
+ we(Ae, $t, Ht, '⇊', '\\downdownarrows', !0),
+ we(Ae, $t, Ht, '↾', '\\upharpoonright', !0),
+ we(Ae, $t, Ht, '⇂', '\\downharpoonright', !0),
+ we(Ae, $t, Ht, '⇝', '\\rightsquigarrow', !0),
+ we(Ae, $t, Ht, '⇝', '\\leadsto'),
+ we(Ae, $t, Ht, '⇛', '\\Rrightarrow', !0),
+ we(Ae, $t, Ht, '↾', '\\restriction'),
+ we(Ae, Ue, vn, '‘', '`'),
+ we(Ae, Ue, vn, '$', '\\$'),
+ we(si, Ue, vn, '$', '\\$'),
+ we(si, Ue, vn, '$', '\\textdollar'),
+ we(Ae, Ue, vn, '%', '\\%'),
+ we(si, Ue, vn, '%', '\\%'),
+ we(Ae, Ue, vn, '_', '\\_'),
+ we(si, Ue, vn, '_', '\\_'),
+ we(si, Ue, vn, '_', '\\textunderscore'),
+ we(Ae, Ue, vn, '∠', '\\angle', !0),
+ we(Ae, Ue, vn, '∞', '\\infty', !0),
+ we(Ae, Ue, vn, '′', '\\prime'),
+ we(Ae, Ue, vn, '△', '\\triangle'),
+ we(Ae, Ue, vn, 'Γ', '\\Gamma', !0),
+ we(Ae, Ue, vn, 'Δ', '\\Delta', !0),
+ we(Ae, Ue, vn, 'Θ', '\\Theta', !0),
+ we(Ae, Ue, vn, 'Λ', '\\Lambda', !0),
+ we(Ae, Ue, vn, 'Ξ', '\\Xi', !0),
+ we(Ae, Ue, vn, 'Π', '\\Pi', !0),
+ we(Ae, Ue, vn, 'Σ', '\\Sigma', !0),
+ we(Ae, Ue, vn, 'Υ', '\\Upsilon', !0),
+ we(Ae, Ue, vn, 'Φ', '\\Phi', !0),
+ we(Ae, Ue, vn, 'Ψ', '\\Psi', !0),
+ we(Ae, Ue, vn, 'Ω', '\\Omega', !0),
+ we(Ae, Ue, vn, 'A', 'Α'),
+ we(Ae, Ue, vn, 'B', 'Β'),
+ we(Ae, Ue, vn, 'E', 'Ε'),
+ we(Ae, Ue, vn, 'Z', 'Ζ'),
+ we(Ae, Ue, vn, 'H', 'Η'),
+ we(Ae, Ue, vn, 'I', 'Ι'),
+ we(Ae, Ue, vn, 'K', 'Κ'),
+ we(Ae, Ue, vn, 'M', 'Μ'),
+ we(Ae, Ue, vn, 'N', 'Ν'),
+ we(Ae, Ue, vn, 'O', 'Ο'),
+ we(Ae, Ue, vn, 'P', 'Ρ'),
+ we(Ae, Ue, vn, 'T', 'Τ'),
+ we(Ae, Ue, vn, 'X', 'Χ'),
+ we(Ae, Ue, vn, '¬', '\\neg', !0),
+ we(Ae, Ue, vn, '¬', '\\lnot'),
+ we(Ae, Ue, vn, '⊤', '\\top'),
+ we(Ae, Ue, vn, '⊥', '\\bot'),
+ we(Ae, Ue, vn, '∅', '\\emptyset'),
+ we(Ae, $t, vn, '∅', '\\varnothing'),
+ we(Ae, Ue, Sa, 'α', '\\alpha', !0),
+ we(Ae, Ue, Sa, 'β', '\\beta', !0),
+ we(Ae, Ue, Sa, 'γ', '\\gamma', !0),
+ we(Ae, Ue, Sa, 'δ', '\\delta', !0),
+ we(Ae, Ue, Sa, 'ϵ', '\\epsilon', !0),
+ we(Ae, Ue, Sa, 'ζ', '\\zeta', !0),
+ we(Ae, Ue, Sa, 'η', '\\eta', !0),
+ we(Ae, Ue, Sa, 'θ', '\\theta', !0),
+ we(Ae, Ue, Sa, 'ι', '\\iota', !0),
+ we(Ae, Ue, Sa, 'κ', '\\kappa', !0),
+ we(Ae, Ue, Sa, 'λ', '\\lambda', !0),
+ we(Ae, Ue, Sa, 'μ', '\\mu', !0),
+ we(Ae, Ue, Sa, 'ν', '\\nu', !0),
+ we(Ae, Ue, Sa, 'ξ', '\\xi', !0),
+ we(Ae, Ue, Sa, 'ο', '\\omicron', !0),
+ we(Ae, Ue, Sa, 'π', '\\pi', !0),
+ we(Ae, Ue, Sa, 'ρ', '\\rho', !0),
+ we(Ae, Ue, Sa, 'σ', '\\sigma', !0),
+ we(Ae, Ue, Sa, 'τ', '\\tau', !0),
+ we(Ae, Ue, Sa, 'υ', '\\upsilon', !0),
+ we(Ae, Ue, Sa, 'ϕ', '\\phi', !0),
+ we(Ae, Ue, Sa, 'χ', '\\chi', !0),
+ we(Ae, Ue, Sa, 'ψ', '\\psi', !0),
+ we(Ae, Ue, Sa, 'ω', '\\omega', !0),
+ we(Ae, Ue, Sa, 'ε', '\\varepsilon', !0),
+ we(Ae, Ue, Sa, 'ϑ', '\\vartheta', !0),
+ we(Ae, Ue, Sa, 'ϖ', '\\varpi', !0),
+ we(Ae, Ue, Sa, 'ϱ', '\\varrho', !0),
+ we(Ae, Ue, Sa, 'ς', '\\varsigma', !0),
+ we(Ae, Ue, Sa, 'φ', '\\varphi', !0),
+ we(Ae, Ue, us, '∗', '*', !0),
+ we(Ae, Ue, us, '+', '+'),
+ we(Ae, Ue, us, '−', '-', !0),
+ we(Ae, Ue, us, '⋅', '\\cdot', !0),
+ we(Ae, Ue, us, '∘', '\\circ', !0),
+ we(Ae, Ue, us, '÷', '\\div', !0),
+ we(Ae, Ue, us, '±', '\\pm', !0),
+ we(Ae, Ue, us, '×', '\\times', !0),
+ we(Ae, Ue, us, '∩', '\\cap', !0),
+ we(Ae, Ue, us, '∪', '\\cup', !0),
+ we(Ae, Ue, us, '∖', '\\setminus', !0),
+ we(Ae, Ue, us, '∧', '\\land'),
+ we(Ae, Ue, us, '∨', '\\lor'),
+ we(Ae, Ue, us, '∧', '\\wedge', !0),
+ we(Ae, Ue, us, '∨', '\\vee', !0),
+ we(Ae, Ue, vn, '√', '\\surd'),
+ we(Ae, Ue, lm, '⟨', '\\langle', !0),
+ we(Ae, Ue, lm, '∣', '\\lvert'),
+ we(Ae, Ue, lm, '∥', '\\lVert'),
+ we(Ae, Ue, Ip, '?', '?'),
+ we(Ae, Ue, Ip, '!', '!'),
+ we(Ae, Ue, Ip, '⟩', '\\rangle', !0),
+ we(Ae, Ue, Ip, '∣', '\\rvert'),
+ we(Ae, Ue, Ip, '∥', '\\rVert'),
+ we(Ae, Ue, Ht, '=', '='),
+ we(Ae, Ue, Ht, ':', ':'),
+ we(Ae, Ue, Ht, '≈', '\\approx', !0),
+ we(Ae, Ue, Ht, '≅', '\\cong', !0),
+ we(Ae, Ue, Ht, '≥', '\\ge'),
+ we(Ae, Ue, Ht, '≥', '\\geq', !0),
+ we(Ae, Ue, Ht, '←', '\\gets'),
+ we(Ae, Ue, Ht, '>', '\\gt', !0),
+ we(Ae, Ue, Ht, '∈', '\\in', !0),
+ we(Ae, Ue, Ht, '', '\\@not'),
+ we(Ae, Ue, Ht, '⊂', '\\subset', !0),
+ we(Ae, Ue, Ht, '⊃', '\\supset', !0),
+ we(Ae, Ue, Ht, '⊆', '\\subseteq', !0),
+ we(Ae, Ue, Ht, '⊇', '\\supseteq', !0),
+ we(Ae, $t, Ht, '⊈', '\\nsubseteq', !0),
+ we(Ae, $t, Ht, '⊉', '\\nsupseteq', !0),
+ we(Ae, Ue, Ht, '⊨', '\\models'),
+ we(Ae, Ue, Ht, '←', '\\leftarrow', !0),
+ we(Ae, Ue, Ht, '≤', '\\le'),
+ we(Ae, Ue, Ht, '≤', '\\leq', !0),
+ we(Ae, Ue, Ht, '<', '\\lt', !0),
+ we(Ae, Ue, Ht, '→', '\\rightarrow', !0),
+ we(Ae, Ue, Ht, '→', '\\to'),
+ we(Ae, $t, Ht, '≱', '\\ngeq', !0),
+ we(Ae, $t, Ht, '≰', '\\nleq', !0),
+ we(Ae, Ue, D7, ' ', '\\ '),
+ we(Ae, Ue, D7, ' ', '\\space'),
+ we(Ae, Ue, D7, ' ', '\\nobreakspace'),
+ we(si, Ue, D7, ' ', '\\ '),
+ we(si, Ue, D7, ' ', ' '),
+ we(si, Ue, D7, ' ', '\\space'),
+ we(si, Ue, D7, ' ', '\\nobreakspace'),
+ we(Ae, Ue, D7, null, '\\nobreak'),
+ we(Ae, Ue, D7, null, '\\allowbreak'),
+ we(Ae, Ue, aQ, ',', ','),
+ we(Ae, Ue, aQ, ';', ';'),
+ we(Ae, $t, us, '⊼', '\\barwedge', !0),
+ we(Ae, $t, us, '⊻', '\\veebar', !0),
+ we(Ae, Ue, us, '⊙', '\\odot', !0),
+ we(Ae, Ue, us, '⊕', '\\oplus', !0),
+ we(Ae, Ue, us, '⊗', '\\otimes', !0),
+ we(Ae, Ue, vn, '∂', '\\partial', !0),
+ we(Ae, Ue, us, '⊘', '\\oslash', !0),
+ we(Ae, $t, us, '⊚', '\\circledcirc', !0),
+ we(Ae, $t, us, '⊡', '\\boxdot', !0),
+ we(Ae, Ue, us, '△', '\\bigtriangleup'),
+ we(Ae, Ue, us, '▽', '\\bigtriangledown'),
+ we(Ae, Ue, us, '†', '\\dagger'),
+ we(Ae, Ue, us, '⋄', '\\diamond'),
+ we(Ae, Ue, us, '⋆', '\\star'),
+ we(Ae, Ue, us, '◃', '\\triangleleft'),
+ we(Ae, Ue, us, '▹', '\\triangleright'),
+ we(Ae, Ue, lm, '{', '\\{'),
+ we(si, Ue, vn, '{', '\\{'),
+ we(si, Ue, vn, '{', '\\textbraceleft'),
+ we(Ae, Ue, Ip, '}', '\\}'),
+ we(si, Ue, vn, '}', '\\}'),
+ we(si, Ue, vn, '}', '\\textbraceright'),
+ we(Ae, Ue, lm, '{', '\\lbrace'),
+ we(Ae, Ue, Ip, '}', '\\rbrace'),
+ we(Ae, Ue, lm, '[', '\\lbrack', !0),
+ we(si, Ue, vn, '[', '\\lbrack', !0),
+ we(Ae, Ue, Ip, ']', '\\rbrack', !0),
+ we(si, Ue, vn, ']', '\\rbrack', !0),
+ we(Ae, Ue, lm, '(', '\\lparen', !0),
+ we(Ae, Ue, Ip, ')', '\\rparen', !0),
+ we(si, Ue, vn, '<', '\\textless', !0),
+ we(si, Ue, vn, '>', '\\textgreater', !0),
+ we(Ae, Ue, lm, '⌊', '\\lfloor', !0),
+ we(Ae, Ue, Ip, '⌋', '\\rfloor', !0),
+ we(Ae, Ue, lm, '⌈', '\\lceil', !0),
+ we(Ae, Ue, Ip, '⌉', '\\rceil', !0),
+ we(Ae, Ue, vn, '\\', '\\backslash'),
+ we(Ae, Ue, vn, '∣', '|'),
+ we(Ae, Ue, vn, '∣', '\\vert'),
+ we(si, Ue, vn, '|', '\\textbar', !0),
+ we(Ae, Ue, vn, '∥', '\\|'),
+ we(Ae, Ue, vn, '∥', '\\Vert'),
+ we(si, Ue, vn, '∥', '\\textbardbl'),
+ we(si, Ue, vn, '~', '\\textasciitilde'),
+ we(si, Ue, vn, '\\', '\\textbackslash'),
+ we(si, Ue, vn, '^', '\\textasciicircum'),
+ we(Ae, Ue, Ht, '↑', '\\uparrow', !0),
+ we(Ae, Ue, Ht, '⇑', '\\Uparrow', !0),
+ we(Ae, Ue, Ht, '↓', '\\downarrow', !0),
+ we(Ae, Ue, Ht, '⇓', '\\Downarrow', !0),
+ we(Ae, Ue, Ht, '↕', '\\updownarrow', !0),
+ we(Ae, Ue, Ht, '⇕', '\\Updownarrow', !0),
+ we(Ae, Ue, I0, '∐', '\\coprod'),
+ we(Ae, Ue, I0, '⋁', '\\bigvee'),
+ we(Ae, Ue, I0, '⋀', '\\bigwedge'),
+ we(Ae, Ue, I0, '⨄', '\\biguplus'),
+ we(Ae, Ue, I0, '⋂', '\\bigcap'),
+ we(Ae, Ue, I0, '⋃', '\\bigcup'),
+ we(Ae, Ue, I0, '∫', '\\int'),
+ we(Ae, Ue, I0, '∫', '\\intop'),
+ we(Ae, Ue, I0, '∬', '\\iint'),
+ we(Ae, Ue, I0, '∭', '\\iiint'),
+ we(Ae, Ue, I0, '∏', '\\prod'),
+ we(Ae, Ue, I0, '∑', '\\sum'),
+ we(Ae, Ue, I0, '⨂', '\\bigotimes'),
+ we(Ae, Ue, I0, '⨁', '\\bigoplus'),
+ we(Ae, Ue, I0, '⨀', '\\bigodot'),
+ we(Ae, Ue, I0, '∮', '\\oint'),
+ we(Ae, Ue, I0, '∯', '\\oiint'),
+ we(Ae, Ue, I0, '∰', '\\oiiint'),
+ we(Ae, Ue, I0, '⨆', '\\bigsqcup'),
+ we(Ae, Ue, I0, '∫', '\\smallint'),
+ we(si, Ue, OD, '…', '\\textellipsis'),
+ we(Ae, Ue, OD, '…', '\\mathellipsis'),
+ we(si, Ue, OD, '…', '\\ldots', !0),
+ we(Ae, Ue, OD, '…', '\\ldots', !0),
+ we(Ae, Ue, OD, '⋯', '\\@cdots', !0),
+ we(Ae, Ue, OD, '⋱', '\\ddots', !0),
+ we(Ae, Ue, vn, '⋮', '\\varvdots'),
+ we(Ae, Ue, kh, 'ˊ', '\\acute'),
+ we(Ae, Ue, kh, 'ˋ', '\\grave'),
+ we(Ae, Ue, kh, '¨', '\\ddot'),
+ we(Ae, Ue, kh, '~', '\\tilde'),
+ we(Ae, Ue, kh, 'ˉ', '\\bar'),
+ we(Ae, Ue, kh, '˘', '\\breve'),
+ we(Ae, Ue, kh, 'ˇ', '\\check'),
+ we(Ae, Ue, kh, '^', '\\hat'),
+ we(Ae, Ue, kh, '⃗', '\\vec'),
+ we(Ae, Ue, kh, '˙', '\\dot'),
+ we(Ae, Ue, kh, '˚', '\\mathring'),
+ we(Ae, Ue, Sa, '', '\\@imath'),
+ we(Ae, Ue, Sa, '', '\\@jmath'),
+ we(Ae, Ue, vn, 'ı', 'ı'),
+ we(Ae, Ue, vn, 'ȷ', 'ȷ'),
+ we(si, Ue, vn, 'ı', '\\i', !0),
+ we(si, Ue, vn, 'ȷ', '\\j', !0),
+ we(si, Ue, vn, 'ß', '\\ss', !0),
+ we(si, Ue, vn, 'æ', '\\ae', !0),
+ we(si, Ue, vn, 'œ', '\\oe', !0),
+ we(si, Ue, vn, 'ø', '\\o', !0),
+ we(si, Ue, vn, 'Æ', '\\AE', !0),
+ we(si, Ue, vn, 'Œ', '\\OE', !0),
+ we(si, Ue, vn, 'Ø', '\\O', !0),
+ we(si, Ue, kh, 'ˊ', "\\'"),
+ we(si, Ue, kh, 'ˋ', '\\`'),
+ we(si, Ue, kh, 'ˆ', '\\^'),
+ we(si, Ue, kh, '˜', '\\~'),
+ we(si, Ue, kh, 'ˉ', '\\='),
+ we(si, Ue, kh, '˘', '\\u'),
+ we(si, Ue, kh, '˙', '\\.'),
+ we(si, Ue, kh, '¸', '\\c'),
+ we(si, Ue, kh, '˚', '\\r'),
+ we(si, Ue, kh, 'ˇ', '\\v'),
+ we(si, Ue, kh, '¨', '\\"'),
+ we(si, Ue, kh, '˝', '\\H'),
+ we(si, Ue, kh, '◯', '\\textcircled'));
+ var sze = { '--': !0, '---': !0, '``': !0, "''": !0 };
+ (we(si, Ue, vn, '–', '--', !0),
+ we(si, Ue, vn, '–', '\\textendash'),
+ we(si, Ue, vn, '—', '---', !0),
+ we(si, Ue, vn, '—', '\\textemdash'),
+ we(si, Ue, vn, '‘', '`', !0),
+ we(si, Ue, vn, '‘', '\\textquoteleft'),
+ we(si, Ue, vn, '’', "'", !0),
+ we(si, Ue, vn, '’', '\\textquoteright'),
+ we(si, Ue, vn, '“', '``', !0),
+ we(si, Ue, vn, '“', '\\textquotedblleft'),
+ we(si, Ue, vn, '”', "''", !0),
+ we(si, Ue, vn, '”', '\\textquotedblright'),
+ we(Ae, Ue, vn, '°', '\\degree', !0),
+ we(si, Ue, vn, '°', '\\degree'),
+ we(si, Ue, vn, '°', '\\textdegree', !0),
+ we(Ae, Ue, vn, '£', '\\pounds'),
+ we(Ae, Ue, vn, '£', '\\mathsterling', !0),
+ we(si, Ue, vn, '£', '\\pounds'),
+ we(si, Ue, vn, '£', '\\textsterling', !0),
+ we(Ae, $t, vn, '✠', '\\maltese'),
+ we(si, $t, vn, '✠', '\\maltese'));
+ for (var aze = '0123456789/@."', rbe = 0; rbe < aze.length; rbe++) {
+ var oze = aze.charAt(rbe);
+ we(Ae, Ue, vn, oze, oze);
+ }
+ for (var cze = '0123456789!@*()-=+";:?/.,', ibe = 0; ibe < cze.length; ibe++) {
+ var uze = cze.charAt(ibe);
+ we(si, Ue, vn, uze, uze);
+ }
+ for (
+ var oQ = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', sbe = 0;
+ sbe < oQ.length;
+ sbe++
+ ) {
+ var cQ = oQ.charAt(sbe);
+ (we(Ae, Ue, Sa, cQ, cQ), we(si, Ue, vn, cQ, cQ));
+ }
+ (we(Ae, $t, vn, 'C', 'ℂ'),
+ we(si, $t, vn, 'C', 'ℂ'),
+ we(Ae, $t, vn, 'H', 'ℍ'),
+ we(si, $t, vn, 'H', 'ℍ'),
+ we(Ae, $t, vn, 'N', 'ℕ'),
+ we(si, $t, vn, 'N', 'ℕ'),
+ we(Ae, $t, vn, 'P', 'ℙ'),
+ we(si, $t, vn, 'P', 'ℙ'),
+ we(Ae, $t, vn, 'Q', 'ℚ'),
+ we(si, $t, vn, 'Q', 'ℚ'),
+ we(Ae, $t, vn, 'R', 'ℝ'),
+ we(si, $t, vn, 'R', 'ℝ'),
+ we(Ae, $t, vn, 'Z', 'ℤ'),
+ we(si, $t, vn, 'Z', 'ℤ'),
+ we(Ae, Ue, Sa, 'h', 'ℎ'),
+ we(si, Ue, Sa, 'h', 'ℎ'));
+ for (var Ya = '', Op = 0; Op < oQ.length; Op++) {
+ var kf = oQ.charAt(Op);
+ ((Ya = String.fromCharCode(55349, 56320 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56372 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56424 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56580 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56684 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56736 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56788 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56840 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56944 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ Op < 26 &&
+ ((Ya = String.fromCharCode(55349, 56632 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya),
+ (Ya = String.fromCharCode(55349, 56476 + Op)),
+ we(Ae, Ue, Sa, kf, Ya),
+ we(si, Ue, vn, kf, Ya)));
+ }
+ ((Ya = String.fromCharCode(55349, 56668)), we(Ae, Ue, Sa, 'k', Ya), we(si, Ue, vn, 'k', Ya));
+ for (var RC = 0; RC < 10; RC++) {
+ var C9 = RC.toString();
+ ((Ya = String.fromCharCode(55349, 57294 + RC)),
+ we(Ae, Ue, Sa, C9, Ya),
+ we(si, Ue, vn, C9, Ya),
+ (Ya = String.fromCharCode(55349, 57314 + RC)),
+ we(Ae, Ue, Sa, C9, Ya),
+ we(si, Ue, vn, C9, Ya),
+ (Ya = String.fromCharCode(55349, 57324 + RC)),
+ we(Ae, Ue, Sa, C9, Ya),
+ we(si, Ue, vn, C9, Ya),
+ (Ya = String.fromCharCode(55349, 57334 + RC)),
+ we(Ae, Ue, Sa, C9, Ya),
+ we(si, Ue, vn, C9, Ya));
+ }
+ for (var abe = 'ÐÞþ', obe = 0; obe < abe.length; obe++) {
+ var uQ = abe.charAt(obe);
+ (we(Ae, Ue, Sa, uQ, uQ), we(si, Ue, vn, uQ, uQ));
+ }
+ var lQ = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['mathnormal', 'textit', 'Math-Italic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['boldsymbol', 'boldsymbol', 'Main-BoldItalic'],
+ ['mathscr', 'textscr', 'Script-Regular'],
+ ['', '', ''],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathfrak', 'textfrak', 'Fraktur-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathbb', 'textbb', 'AMS-Regular'],
+ ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
+ ['mathboldfrak', 'textboldfrak', 'Fraktur-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['mathitsf', 'textitsf', 'SansSerif-Italic'],
+ ['', '', ''],
+ ['', '', ''],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ],
+ lze = [
+ ['mathbf', 'textbf', 'Main-Bold'],
+ ['', '', ''],
+ ['mathsf', 'textsf', 'SansSerif-Regular'],
+ ['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
+ ['mathtt', 'texttt', 'Typewriter-Regular'],
+ ],
+ xHt = function (s, u) {
+ var d = s.charCodeAt(0),
+ p = s.charCodeAt(1),
+ v = (d - 55296) * 1024 + (p - 56320) + 65536,
+ b = u === 'math' ? 0 : 1;
+ if (119808 <= v && v < 120484) {
+ var y = Math.floor((v - 119808) / 26);
+ return [lQ[y][2], lQ[y][b]];
+ } else if (120782 <= v && v <= 120831) {
+ var T = Math.floor((v - 120782) / 10);
+ return [lze[T][2], lze[T][b]];
+ } else {
+ if (v === 120485 || v === 120486) return [lQ[0][2], lQ[0][b]];
+ if (120486 < v && v < 120782) return ['', ''];
+ throw new Si('Unsupported character: ' + s);
+ }
+ },
+ hQ = function (s, u, d) {
+ return (
+ Ul[d][s] && Ul[d][s].replace && (s = Ul[d][s].replace),
+ { value: s, metrics: J2e(s, u, d) }
+ );
+ },
+ F3 = function (s, u, d, p, v) {
+ var b = hQ(s, u, d),
+ y = b.metrics;
+ s = b.value;
+ var T;
+ if (y) {
+ var _ = y.italic;
+ ((d === 'text' || (p && p.font === 'mathit')) && (_ = 0),
+ (T = new Fv(s, y.height, y.depth, _, y.skew, y.width, v)));
+ } else
+ (typeof console < 'u' &&
+ console.warn(
+ 'No character metrics ' + ("for '" + s + "' in style '" + u + "' and mode '" + d + "'"),
+ ),
+ (T = new Fv(s, 0, 0, 0, 0, 0, v)));
+ if (p) {
+ ((T.maxFontSize = p.sizeMultiplier), p.style.isTight() && T.classes.push('mtight'));
+ var A = p.getColor();
+ A && (T.style.color = A);
+ }
+ return T;
+ },
+ kHt = function (s, u, d, p) {
+ return (
+ p === void 0 && (p = []),
+ d.font === 'boldsymbol' && hQ(s, 'Main-Bold', u).metrics
+ ? F3(s, 'Main-Bold', u, d, p.concat(['mathbf']))
+ : s === '\\' || Ul[u][s].font === 'main'
+ ? F3(s, 'Main-Regular', u, d, p)
+ : F3(s, 'AMS-Regular', u, d, p.concat(['amsrm']))
+ );
+ },
+ EHt = function (s, u, d, p, v) {
+ return v !== 'textord' && hQ(s, 'Math-BoldItalic', u).metrics
+ ? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' }
+ : { fontName: 'Main-Bold', fontClass: 'mathbf' };
+ },
+ THt = function (s, u, d) {
+ var p = s.mode,
+ v = s.text,
+ b = ['mord'],
+ y = p === 'math' || (p === 'text' && u.font),
+ T = y ? u.font : u.fontFamily,
+ _ = '',
+ A = '';
+ if ((v.charCodeAt(0) === 55349 && ([_, A] = xHt(v, p)), _.length > 0))
+ return F3(v, _, p, u, b.concat(A));
+ if (T) {
+ var P, R;
+ if (T === 'boldsymbol') {
+ var F = EHt(v, p, u, b, d);
+ ((P = F.fontName), (R = [F.fontClass]));
+ } else
+ y
+ ? ((P = dze[T].fontName), (R = [T]))
+ : ((P = fQ(T, u.fontWeight, u.fontShape)), (R = [T, u.fontWeight, u.fontShape]));
+ if (hQ(v, P, p).metrics) return F3(v, P, p, u, b.concat(R));
+ if (sze.hasOwnProperty(v) && P.slice(0, 10) === 'Typewriter') {
+ for (var j = [], W = 0; W < v.length; W++) j.push(F3(v[W], P, p, u, b.concat(R)));
+ return fze(j);
+ }
+ }
+ if (d === 'mathord') return F3(v, 'Math-Italic', p, u, b.concat(['mathnormal']));
+ if (d === 'textord') {
+ var ee = Ul[p][v] && Ul[p][v].font;
+ if (ee === 'ams') {
+ var ie = fQ('amsrm', u.fontWeight, u.fontShape);
+ return F3(v, ie, p, u, b.concat('amsrm', u.fontWeight, u.fontShape));
+ } else if (ee === 'main' || !ee) {
+ var oe = fQ('textrm', u.fontWeight, u.fontShape);
+ return F3(v, oe, p, u, b.concat(u.fontWeight, u.fontShape));
+ } else {
+ var be = fQ(ee, u.fontWeight, u.fontShape);
+ return F3(v, be, p, u, b.concat(be, u.fontWeight, u.fontShape));
+ }
+ } else throw new Error('unexpected type: ' + d + ' in makeOrd');
+ },
+ CHt = (i, s) => {
+ if (E9(i.classes) !== E9(s.classes) || i.skew !== s.skew || i.maxFontSize !== s.maxFontSize)
+ return !1;
+ if (i.classes.length === 1) {
+ var u = i.classes[0];
+ if (u === 'mbin' || u === 'mord') return !1;
+ }
+ for (var d in i.style) if (i.style.hasOwnProperty(d) && i.style[d] !== s.style[d]) return !1;
+ for (var p in s.style) if (s.style.hasOwnProperty(p) && i.style[p] !== s.style[p]) return !1;
+ return !0;
+ },
+ SHt = (i) => {
+ for (var s = 0; s < i.length - 1; s++) {
+ var u = i[s],
+ d = i[s + 1];
+ u instanceof Fv &&
+ d instanceof Fv &&
+ CHt(u, d) &&
+ ((u.text += d.text),
+ (u.height = Math.max(u.height, d.height)),
+ (u.depth = Math.max(u.depth, d.depth)),
+ (u.italic = d.italic),
+ i.splice(s + 1, 1),
+ s--);
+ }
+ return i;
+ },
+ cbe = function (s) {
+ for (var u = 0, d = 0, p = 0, v = 0; v < s.children.length; v++) {
+ var b = s.children[v];
+ (b.height > u && (u = b.height),
+ b.depth > d && (d = b.depth),
+ b.maxFontSize > p && (p = b.maxFontSize));
+ }
+ ((s.height = u), (s.depth = d), (s.maxFontSize = p));
+ },
+ j2 = function (s, u, d, p) {
+ var v = new uR(s, u, d, p);
+ return (cbe(v), v);
+ },
+ hze = (i, s, u, d) => new uR(i, s, u, d),
+ _Ht = function (s, u, d) {
+ var p = j2([s], [], u);
+ return (
+ (p.height = Math.max(d || u.fontMetrics().defaultRuleThickness, u.minRuleThickness)),
+ (p.style.borderBottomWidth = ji(p.height)),
+ (p.maxFontSize = 1),
+ p
+ );
+ },
+ AHt = function (s, u, d, p) {
+ var v = new tbe(s, u, d, p);
+ return (cbe(v), v);
+ },
+ fze = function (s) {
+ var u = new cR(s);
+ return (cbe(u), u);
+ },
+ LHt = function (s, u) {
+ return s instanceof cR ? j2([], [s], u) : s;
+ },
+ MHt = function (s) {
+ if (s.positionType === 'individualShift') {
+ for (
+ var u = s.children, d = [u[0]], p = -u[0].shift - u[0].elem.depth, v = p, b = 1;
+ b < u.length;
+ b++
+ ) {
+ var y = -u[b].shift - v - u[b].elem.depth,
+ T = y - (u[b - 1].elem.height + u[b - 1].elem.depth);
+ ((v = v + y), d.push({ type: 'kern', size: T }), d.push(u[b]));
+ }
+ return { children: d, depth: p };
+ }
+ var _;
+ if (s.positionType === 'top') {
+ for (var A = s.positionData, P = 0; P < s.children.length; P++) {
+ var R = s.children[P];
+ A -= R.type === 'kern' ? R.size : R.elem.height + R.elem.depth;
+ }
+ _ = A;
+ } else if (s.positionType === 'bottom') _ = -s.positionData;
+ else {
+ var F = s.children[0];
+ if (F.type !== 'elem') throw new Error('First child must have type "elem".');
+ if (s.positionType === 'shift') _ = -F.elem.depth - s.positionData;
+ else if (s.positionType === 'firstBaseline') _ = -F.elem.depth;
+ else throw new Error('Invalid positionType ' + s.positionType + '.');
+ }
+ return { children: s.children, depth: _ };
+ },
+ DHt = function (s, u) {
+ for (var { children: d, depth: p } = MHt(s), v = 0, b = 0; b < d.length; b++) {
+ var y = d[b];
+ if (y.type === 'elem') {
+ var T = y.elem;
+ v = Math.max(v, T.maxFontSize, T.height);
+ }
+ }
+ v += 2;
+ var _ = j2(['pstrut'], []);
+ _.style.height = ji(v);
+ for (var A = [], P = p, R = p, F = p, j = 0; j < d.length; j++) {
+ var W = d[j];
+ if (W.type === 'kern') F += W.size;
+ else {
+ var ee = W.elem,
+ ie = W.wrapperClasses || [],
+ oe = W.wrapperStyle || {},
+ be = j2(ie, [_, ee], void 0, oe);
+ ((be.style.top = ji(-v - F - ee.depth)),
+ W.marginLeft && (be.style.marginLeft = W.marginLeft),
+ W.marginRight && (be.style.marginRight = W.marginRight),
+ A.push(be),
+ (F += ee.height + ee.depth));
+ }
+ ((P = Math.min(P, F)), (R = Math.max(R, F)));
+ }
+ var ge = j2(['vlist'], A);
+ ge.style.height = ji(R);
+ var ae;
+ if (P < 0) {
+ var ne = j2([], []),
+ se = j2(['vlist'], [ne]);
+ se.style.height = ji(-P);
+ var de = j2(['vlist-s'], [new Fv('')]);
+ ae = [j2(['vlist-r'], [ge, de]), j2(['vlist-r'], [se])];
+ } else ae = [j2(['vlist-r'], [ge])];
+ var X = j2(['vlist-t'], ae);
+ return (ae.length === 2 && X.classes.push('vlist-t2'), (X.height = R), (X.depth = -P), X);
+ },
+ IHt = (i, s) => {
+ var u = j2(['mspace'], [], s),
+ d = Gh(i, s);
+ return ((u.style.marginRight = ji(d)), u);
+ },
+ fQ = function (s, u, d) {
+ var p = '';
+ switch (s) {
+ case 'amsrm':
+ p = 'AMS';
+ break;
+ case 'textrm':
+ p = 'Main';
+ break;
+ case 'textsf':
+ p = 'SansSerif';
+ break;
+ case 'texttt':
+ p = 'Typewriter';
+ break;
+ default:
+ p = s;
+ }
+ var v;
+ return (
+ u === 'textbf' && d === 'textit'
+ ? (v = 'BoldItalic')
+ : u === 'textbf'
+ ? (v = 'Bold')
+ : u === 'textit'
+ ? (v = 'Italic')
+ : (v = 'Regular'),
+ p + '-' + v
+ );
+ },
+ dze = {
+ mathbf: { variant: 'bold', fontName: 'Main-Bold' },
+ mathrm: { variant: 'normal', fontName: 'Main-Regular' },
+ textit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathit: { variant: 'italic', fontName: 'Main-Italic' },
+ mathnormal: { variant: 'italic', fontName: 'Math-Italic' },
+ mathbb: { variant: 'double-struck', fontName: 'AMS-Regular' },
+ mathcal: { variant: 'script', fontName: 'Caligraphic-Regular' },
+ mathfrak: { variant: 'fraktur', fontName: 'Fraktur-Regular' },
+ mathscr: { variant: 'script', fontName: 'Script-Regular' },
+ mathsf: { variant: 'sans-serif', fontName: 'SansSerif-Regular' },
+ mathtt: { variant: 'monospace', fontName: 'Typewriter-Regular' },
+ },
+ gze = {
+ vec: ['vec', 0.471, 0.714],
+ oiintSize1: ['oiintSize1', 0.957, 0.499],
+ oiintSize2: ['oiintSize2', 1.472, 0.659],
+ oiiintSize1: ['oiiintSize1', 1.304, 0.499],
+ oiiintSize2: ['oiiintSize2', 1.98, 0.659],
+ },
+ OHt = function (s, u) {
+ var [d, p, v] = gze[s],
+ b = new T9(d),
+ y = new M7([b], {
+ width: ji(p),
+ height: ji(v),
+ style: 'width:' + ji(p),
+ viewBox: '0 0 ' + 1e3 * p + ' ' + 1e3 * v,
+ preserveAspectRatio: 'xMinYMin',
+ }),
+ T = hze(['overlay'], [y], u);
+ return ((T.height = v), (T.style.height = ji(v)), (T.style.width = ji(p)), T);
+ },
+ Hn = {
+ fontMap: dze,
+ makeSymbol: F3,
+ mathsym: kHt,
+ makeSpan: j2,
+ makeSvgSpan: hze,
+ makeLineSpan: _Ht,
+ makeAnchor: AHt,
+ makeFragment: fze,
+ wrapFragment: LHt,
+ makeVList: DHt,
+ makeOrd: THt,
+ makeGlue: IHt,
+ staticSvg: OHt,
+ svgData: gze,
+ tryCombineChars: SHt,
+ },
+ Kh = { number: 3, unit: 'mu' },
+ jC = { number: 4, unit: 'mu' },
+ I7 = { number: 5, unit: 'mu' },
+ NHt = {
+ mord: { mop: Kh, mbin: jC, mrel: I7, minner: Kh },
+ mop: { mord: Kh, mop: Kh, mrel: I7, minner: Kh },
+ mbin: { mord: jC, mop: jC, mopen: jC, minner: jC },
+ mrel: { mord: I7, mop: I7, mopen: I7, minner: I7 },
+ mopen: {},
+ mclose: { mop: Kh, mbin: jC, mrel: I7, minner: Kh },
+ mpunct: { mord: Kh, mop: Kh, mrel: I7, mopen: Kh, mclose: Kh, mpunct: Kh, minner: Kh },
+ minner: { mord: Kh, mop: Kh, mbin: jC, mrel: I7, mopen: Kh, mpunct: Kh, minner: Kh },
+ },
+ PHt = {
+ mord: { mop: Kh },
+ mop: { mord: Kh, mop: Kh },
+ mbin: {},
+ mrel: {},
+ mopen: {},
+ mclose: { mop: Kh },
+ mpunct: {},
+ minner: { mop: Kh },
+ },
+ pze = {},
+ dQ = {},
+ gQ = {};
+ function Ji(i) {
+ for (
+ var { type: s, names: u, props: d, handler: p, htmlBuilder: v, mathmlBuilder: b } = i,
+ y = {
+ type: s,
+ numArgs: d.numArgs,
+ argTypes: d.argTypes,
+ allowedInArgument: !!d.allowedInArgument,
+ allowedInText: !!d.allowedInText,
+ allowedInMath: d.allowedInMath === void 0 ? !0 : d.allowedInMath,
+ numOptionalArgs: d.numOptionalArgs || 0,
+ infix: !!d.infix,
+ primitive: !!d.primitive,
+ handler: p,
+ },
+ T = 0;
+ T < u.length;
+ ++T
+ )
+ pze[u[T]] = y;
+ s && (v && (dQ[s] = v), b && (gQ[s] = b));
+ }
+ function $C(i) {
+ var { type: s, htmlBuilder: u, mathmlBuilder: d } = i;
+ Ji({
+ type: s,
+ names: [],
+ props: { numArgs: 0 },
+ handler() {
+ throw new Error('Should never be called.');
+ },
+ htmlBuilder: u,
+ mathmlBuilder: d,
+ });
+ }
+ var pQ = function (s) {
+ return s.type === 'ordgroup' && s.body.length === 1 ? s.body[0] : s;
+ },
+ Wf = function (s) {
+ return s.type === 'ordgroup' ? s.body : [s];
+ },
+ O7 = Hn.makeSpan,
+ BHt = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct'],
+ FHt = ['rightmost', 'mrel', 'mclose', 'mpunct'],
+ RHt = { display: Ca.DISPLAY, text: Ca.TEXT, script: Ca.SCRIPT, scriptscript: Ca.SCRIPTSCRIPT },
+ jHt = {
+ mord: 'mord',
+ mop: 'mop',
+ mbin: 'mbin',
+ mrel: 'mrel',
+ mopen: 'mopen',
+ mclose: 'mclose',
+ mpunct: 'mpunct',
+ minner: 'minner',
+ },
+ l1 = function (s, u, d, p) {
+ p === void 0 && (p = [null, null]);
+ for (var v = [], b = 0; b < s.length; b++) {
+ var y = uu(s[b], u);
+ if (y instanceof cR) {
+ var T = y.children;
+ v.push(...T);
+ } else v.push(y);
+ }
+ if ((Hn.tryCombineChars(v), !d)) return v;
+ var _ = u;
+ if (s.length === 1) {
+ var A = s[0];
+ A.type === 'sizing'
+ ? (_ = u.havingSize(A.size))
+ : A.type === 'styling' && (_ = u.havingStyle(RHt[A.style]));
+ }
+ var P = O7([p[0] || 'leftmost'], [], u),
+ R = O7([p[1] || 'rightmost'], [], u),
+ F = d === 'root';
+ return (
+ bze(
+ v,
+ (j, W) => {
+ var ee = W.classes[0],
+ ie = j.classes[0];
+ ee === 'mbin' && pa.contains(FHt, ie)
+ ? (W.classes[0] = 'mord')
+ : ie === 'mbin' && pa.contains(BHt, ee) && (j.classes[0] = 'mord');
+ },
+ { node: P },
+ R,
+ F,
+ ),
+ bze(
+ v,
+ (j, W) => {
+ var ee = ube(W),
+ ie = ube(j),
+ oe = ee && ie ? (j.hasClass('mtight') ? PHt[ee][ie] : NHt[ee][ie]) : null;
+ if (oe) return Hn.makeGlue(oe, _);
+ },
+ { node: P },
+ R,
+ F,
+ ),
+ v
+ );
+ },
+ bze = function i(s, u, d, p, v) {
+ p && s.push(p);
+ for (var b = 0; b < s.length; b++) {
+ var y = s[b],
+ T = mze(y);
+ if (T) {
+ i(T.children, u, d, null, v);
+ continue;
+ }
+ var _ = !y.hasClass('mspace');
+ if (_) {
+ var A = u(y, d.node);
+ A && (d.insertAfter ? d.insertAfter(A) : (s.unshift(A), b++));
+ }
+ (_ ? (d.node = y) : v && y.hasClass('newline') && (d.node = O7(['leftmost'])),
+ (d.insertAfter = ((P) => (R) => {
+ (s.splice(P + 1, 0, R), b++);
+ })(b)));
+ }
+ p && s.pop();
+ },
+ mze = function (s) {
+ return s instanceof cR || s instanceof tbe || (s instanceof uR && s.hasClass('enclosing'))
+ ? s
+ : null;
+ },
+ $Ht = function i(s, u) {
+ var d = mze(s);
+ if (d) {
+ var p = d.children;
+ if (p.length) {
+ if (u === 'right') return i(p[p.length - 1], 'right');
+ if (u === 'left') return i(p[0], 'left');
+ }
+ }
+ return s;
+ },
+ ube = function (s, u) {
+ return s ? (u && (s = $Ht(s, u)), jHt[s.classes[0]] || null) : null;
+ },
+ lR = function (s, u) {
+ var d = ['nulldelimiter'].concat(s.baseSizingClasses());
+ return O7(u.concat(d));
+ },
+ uu = function (s, u, d) {
+ if (!s) return O7();
+ if (dQ[s.type]) {
+ var p = dQ[s.type](s, u);
+ if (d && u.size !== d.size) {
+ p = O7(u.sizingClasses(d), [p], u);
+ var v = u.sizeMultiplier / d.sizeMultiplier;
+ ((p.height *= v), (p.depth *= v));
+ }
+ return p;
+ } else throw new Si("Got group of unknown type: '" + s.type + "'");
+ };
+ function bQ(i, s) {
+ var u = O7(['base'], i, s),
+ d = O7(['strut']);
+ return (
+ (d.style.height = ji(u.height + u.depth)),
+ u.depth && (d.style.verticalAlign = ji(-u.depth)),
+ u.children.unshift(d),
+ u
+ );
+ }
+ function lbe(i, s) {
+ var u = null;
+ i.length === 1 && i[0].type === 'tag' && ((u = i[0].tag), (i = i[0].body));
+ var d = l1(i, s, 'root'),
+ p;
+ d.length === 2 && d[1].hasClass('tag') && (p = d.pop());
+ for (var v = [], b = [], y = 0; y < d.length; y++)
+ if (
+ (b.push(d[y]),
+ d[y].hasClass('mbin') || d[y].hasClass('mrel') || d[y].hasClass('allowbreak'))
+ ) {
+ for (
+ var T = !1;
+ y < d.length - 1 && d[y + 1].hasClass('mspace') && !d[y + 1].hasClass('newline');
+ )
+ (y++, b.push(d[y]), d[y].hasClass('nobreak') && (T = !0));
+ T || (v.push(bQ(b, s)), (b = []));
+ } else
+ d[y].hasClass('newline') &&
+ (b.pop(), b.length > 0 && (v.push(bQ(b, s)), (b = [])), v.push(d[y]));
+ b.length > 0 && v.push(bQ(b, s));
+ var _;
+ u ? ((_ = bQ(l1(u, s, !0))), (_.classes = ['tag']), v.push(_)) : p && v.push(p);
+ var A = O7(['katex-html'], v);
+ if ((A.setAttribute('aria-hidden', 'true'), _)) {
+ var P = _.children[0];
+ ((P.style.height = ji(A.height + A.depth)),
+ A.depth && (P.style.verticalAlign = ji(-A.depth)));
+ }
+ return A;
+ }
+ function vze(i) {
+ return new cR(i);
+ }
+ class Rv {
+ constructor(s, u, d) {
+ ((this.type = void 0),
+ (this.attributes = void 0),
+ (this.children = void 0),
+ (this.classes = void 0),
+ (this.type = s),
+ (this.attributes = {}),
+ (this.children = u || []),
+ (this.classes = d || []));
+ }
+ setAttribute(s, u) {
+ this.attributes[s] = u;
+ }
+ getAttribute(s) {
+ return this.attributes[s];
+ }
+ toNode() {
+ var s = document.createElementNS('http://www.w3.org/1998/Math/MathML', this.type);
+ for (var u in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, u) &&
+ s.setAttribute(u, this.attributes[u]);
+ this.classes.length > 0 && (s.className = E9(this.classes));
+ for (var d = 0; d < this.children.length; d++) s.appendChild(this.children[d].toNode());
+ return s;
+ }
+ toMarkup() {
+ var s = '<' + this.type;
+ for (var u in this.attributes)
+ Object.prototype.hasOwnProperty.call(this.attributes, u) &&
+ ((s += ' ' + u + '="'), (s += pa.escape(this.attributes[u])), (s += '"'));
+ (this.classes.length > 0 && (s += ' class ="' + pa.escape(E9(this.classes)) + '"'),
+ (s += '>'));
+ for (var d = 0; d < this.children.length; d++) s += this.children[d].toMarkup();
+ return ((s += '' + this.type + '>'), s);
+ }
+ toText() {
+ return this.children.map((s) => s.toText()).join('');
+ }
+ }
+ class hR {
+ constructor(s) {
+ ((this.text = void 0), (this.text = s));
+ }
+ toNode() {
+ return document.createTextNode(this.text);
+ }
+ toMarkup() {
+ return pa.escape(this.toText());
+ }
+ toText() {
+ return this.text;
+ }
+ }
+ class zHt {
+ constructor(s) {
+ ((this.width = void 0),
+ (this.character = void 0),
+ (this.width = s),
+ s >= 0.05555 && s <= 0.05556
+ ? (this.character = ' ')
+ : s >= 0.1666 && s <= 0.1667
+ ? (this.character = ' ')
+ : s >= 0.2222 && s <= 0.2223
+ ? (this.character = ' ')
+ : s >= 0.2777 && s <= 0.2778
+ ? (this.character = ' ')
+ : s >= -0.05556 && s <= -0.05555
+ ? (this.character = ' ')
+ : s >= -0.1667 && s <= -0.1666
+ ? (this.character = ' ')
+ : s >= -0.2223 && s <= -0.2222
+ ? (this.character = ' ')
+ : s >= -0.2778 && s <= -0.2777
+ ? (this.character = ' ')
+ : (this.character = null));
+ }
+ toNode() {
+ if (this.character) return document.createTextNode(this.character);
+ var s = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'mspace');
+ return (s.setAttribute('width', ji(this.width)), s);
+ }
+ toMarkup() {
+ return this.character
+ ? '' + this.character + ' '
+ : ' ';
+ }
+ toText() {
+ return this.character ? this.character : ' ';
+ }
+ }
+ var wi = { MathNode: Rv, TextNode: hR, SpaceNode: zHt, newDocumentFragment: vze },
+ jv = function (s, u, d) {
+ return (
+ Ul[u][s] &&
+ Ul[u][s].replace &&
+ s.charCodeAt(0) !== 55349 &&
+ !(
+ sze.hasOwnProperty(s) &&
+ d &&
+ ((d.fontFamily && d.fontFamily.slice(4, 6) === 'tt') ||
+ (d.font && d.font.slice(4, 6) === 'tt'))
+ ) &&
+ (s = Ul[u][s].replace),
+ new wi.TextNode(s)
+ );
+ },
+ hbe = function (s) {
+ return s.length === 1 ? s[0] : new wi.MathNode('mrow', s);
+ },
+ fbe = function (s, u) {
+ if (u.fontFamily === 'texttt') return 'monospace';
+ if (u.fontFamily === 'textsf')
+ return u.fontShape === 'textit' && u.fontWeight === 'textbf'
+ ? 'sans-serif-bold-italic'
+ : u.fontShape === 'textit'
+ ? 'sans-serif-italic'
+ : u.fontWeight === 'textbf'
+ ? 'bold-sans-serif'
+ : 'sans-serif';
+ if (u.fontShape === 'textit' && u.fontWeight === 'textbf') return 'bold-italic';
+ if (u.fontShape === 'textit') return 'italic';
+ if (u.fontWeight === 'textbf') return 'bold';
+ var d = u.font;
+ if (!d || d === 'mathnormal') return null;
+ var p = s.mode;
+ if (d === 'mathit') return 'italic';
+ if (d === 'boldsymbol') return s.type === 'textord' ? 'bold' : 'bold-italic';
+ if (d === 'mathbf') return 'bold';
+ if (d === 'mathbb') return 'double-struck';
+ if (d === 'mathfrak') return 'fraktur';
+ if (d === 'mathscr' || d === 'mathcal') return 'script';
+ if (d === 'mathsf') return 'sans-serif';
+ if (d === 'mathtt') return 'monospace';
+ var v = s.text;
+ if (pa.contains(['\\imath', '\\jmath'], v)) return null;
+ Ul[p][v] && Ul[p][v].replace && (v = Ul[p][v].replace);
+ var b = Hn.fontMap[d].fontName;
+ return J2e(v, b, p) ? Hn.fontMap[d].variant : null;
+ },
+ $2 = function (s, u, d) {
+ if (s.length === 1) {
+ var p = Dl(s[0], u);
+ return (
+ d &&
+ p instanceof Rv &&
+ p.type === 'mo' &&
+ (p.setAttribute('lspace', '0em'), p.setAttribute('rspace', '0em')),
+ [p]
+ );
+ }
+ for (var v = [], b, y = 0; y < s.length; y++) {
+ var T = Dl(s[y], u);
+ if (T instanceof Rv && b instanceof Rv) {
+ if (
+ T.type === 'mtext' &&
+ b.type === 'mtext' &&
+ T.getAttribute('mathvariant') === b.getAttribute('mathvariant')
+ ) {
+ b.children.push(...T.children);
+ continue;
+ } else if (T.type === 'mn' && b.type === 'mn') {
+ b.children.push(...T.children);
+ continue;
+ } else if (T.type === 'mi' && T.children.length === 1 && b.type === 'mn') {
+ var _ = T.children[0];
+ if (_ instanceof hR && _.text === '.') {
+ b.children.push(...T.children);
+ continue;
+ }
+ } else if (b.type === 'mi' && b.children.length === 1) {
+ var A = b.children[0];
+ if (
+ A instanceof hR &&
+ A.text === '̸' &&
+ (T.type === 'mo' || T.type === 'mi' || T.type === 'mn')
+ ) {
+ var P = T.children[0];
+ P instanceof hR &&
+ P.text.length > 0 &&
+ ((P.text = P.text.slice(0, 1) + '̸' + P.text.slice(1)), v.pop());
+ }
+ }
+ }
+ (v.push(T), (b = T));
+ }
+ return v;
+ },
+ S9 = function (s, u, d) {
+ return hbe($2(s, u, d));
+ },
+ Dl = function (s, u) {
+ if (!s) return new wi.MathNode('mrow');
+ if (gQ[s.type]) {
+ var d = gQ[s.type](s, u);
+ return d;
+ } else throw new Si("Got group of unknown type: '" + s.type + "'");
+ };
+ function wze(i, s, u, d, p) {
+ var v = $2(i, u),
+ b;
+ v.length === 1 && v[0] instanceof Rv && pa.contains(['mrow', 'mtable'], v[0].type)
+ ? (b = v[0])
+ : (b = new wi.MathNode('mrow', v));
+ var y = new wi.MathNode('annotation', [new wi.TextNode(s)]);
+ y.setAttribute('encoding', 'application/x-tex');
+ var T = new wi.MathNode('semantics', [b, y]),
+ _ = new wi.MathNode('math', [T]);
+ (_.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'),
+ d && _.setAttribute('display', 'block'));
+ var A = p ? 'katex' : 'katex-mathml';
+ return Hn.makeSpan([A], [_]);
+ }
+ var yze = function (s) {
+ return new L7({
+ style: s.displayMode ? Ca.DISPLAY : Ca.TEXT,
+ maxSize: s.maxSize,
+ minRuleThickness: s.minRuleThickness,
+ });
+ },
+ xze = function (s, u) {
+ if (u.displayMode) {
+ var d = ['katex-display'];
+ (u.leqno && d.push('leqno'), u.fleqn && d.push('fleqn'), (s = Hn.makeSpan(d, [s])));
+ }
+ return s;
+ },
+ qHt = function (s, u, d) {
+ var p = yze(d),
+ v;
+ if (d.output === 'mathml') return wze(s, u, p, d.displayMode, !0);
+ if (d.output === 'html') {
+ var b = lbe(s, p);
+ v = Hn.makeSpan(['katex'], [b]);
+ } else {
+ var y = wze(s, u, p, d.displayMode, !1),
+ T = lbe(s, p);
+ v = Hn.makeSpan(['katex'], [y, T]);
+ }
+ return xze(v, d);
+ },
+ HHt = function (s, u, d) {
+ var p = yze(d),
+ v = lbe(s, p),
+ b = Hn.makeSpan(['katex'], [v]);
+ return xze(b, d);
+ },
+ VHt = {
+ widehat: '^',
+ widecheck: 'ˇ',
+ widetilde: '~',
+ utilde: '~',
+ overleftarrow: '←',
+ underleftarrow: '←',
+ xleftarrow: '←',
+ overrightarrow: '→',
+ underrightarrow: '→',
+ xrightarrow: '→',
+ underbrace: '⏟',
+ overbrace: '⏞',
+ overgroup: '⏠',
+ undergroup: '⏡',
+ overleftrightarrow: '↔',
+ underleftrightarrow: '↔',
+ xleftrightarrow: '↔',
+ Overrightarrow: '⇒',
+ xRightarrow: '⇒',
+ overleftharpoon: '↼',
+ xleftharpoonup: '↼',
+ overrightharpoon: '⇀',
+ xrightharpoonup: '⇀',
+ xLeftarrow: '⇐',
+ xLeftrightarrow: '⇔',
+ xhookleftarrow: '↩',
+ xhookrightarrow: '↪',
+ xmapsto: '↦',
+ xrightharpoondown: '⇁',
+ xleftharpoondown: '↽',
+ xrightleftharpoons: '⇌',
+ xleftrightharpoons: '⇋',
+ xtwoheadleftarrow: '↞',
+ xtwoheadrightarrow: '↠',
+ xlongequal: '=',
+ xtofrom: '⇄',
+ xrightleftarrows: '⇄',
+ xrightequilibrium: '⇌',
+ xleftequilibrium: '⇋',
+ '\\cdrightarrow': '→',
+ '\\cdleftarrow': '←',
+ '\\cdlongequal': '=',
+ },
+ UHt = function (s) {
+ var u = new wi.MathNode('mo', [new wi.TextNode(VHt[s.replace(/^\\/, '')])]);
+ return (u.setAttribute('stretchy', 'true'), u);
+ },
+ GHt = {
+ overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
+ underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
+ underleftarrow: [['leftarrow'], 0.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'], 0.888, 560, 'xMaxYMin'],
+ xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'],
+ xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'],
+ overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
+ xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'],
+ overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
+ xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'],
+ xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'],
+ '\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'],
+ xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'],
+ xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'],
+ overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
+ overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548],
+ underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548],
+ underleftrightarrow: [['leftarrow', 'rightarrow'], 0.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'], 0.888, 522],
+ underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
+ overgroup: [['leftgroup', 'rightgroup'], 0.888, 342],
+ undergroup: [['leftgroupunder', 'rightgroupunder'], 0.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],
+ },
+ KHt = function (s) {
+ return s.type === 'ordgroup' ? s.body.length : 1;
+ },
+ WHt = function (s, u) {
+ function d() {
+ var y = 4e5,
+ T = s.label.slice(1);
+ if (pa.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], T)) {
+ var _ = s,
+ A = KHt(_.base),
+ P,
+ R,
+ F;
+ if (A > 5)
+ T === 'widehat' || T === 'widecheck'
+ ? ((P = 420), (y = 2364), (F = 0.42), (R = T + '4'))
+ : ((P = 312), (y = 2340), (F = 0.34), (R = 'tilde4'));
+ else {
+ var j = [1, 1, 2, 2, 3, 3][A];
+ T === 'widehat' || T === 'widecheck'
+ ? ((y = [0, 1062, 2364, 2364, 2364][j]),
+ (P = [0, 239, 300, 360, 420][j]),
+ (F = [0, 0.24, 0.3, 0.3, 0.36, 0.42][j]),
+ (R = T + j))
+ : ((y = [0, 600, 1033, 2339, 2340][j]),
+ (P = [0, 260, 286, 306, 312][j]),
+ (F = [0, 0.26, 0.286, 0.3, 0.306, 0.34][j]),
+ (R = 'tilde' + j));
+ }
+ var W = new T9(R),
+ ee = new M7([W], {
+ width: '100%',
+ height: ji(F),
+ viewBox: '0 0 ' + y + ' ' + P,
+ preserveAspectRatio: 'none',
+ });
+ return { span: Hn.makeSvgSpan([], [ee], u), minWidth: 0, height: F };
+ } else {
+ var ie = [],
+ oe = GHt[T],
+ [be, ge, ae] = oe,
+ ne = ae / 1e3,
+ se = be.length,
+ de,
+ X;
+ if (se === 1) {
+ var pe = oe[3];
+ ((de = ['hide-tail']), (X = [pe]));
+ } else if (se === 2)
+ ((de = ['halfarrow-left', 'halfarrow-right']), (X = ['xMinYMin', 'xMaxYMin']));
+ else if (se === 3)
+ ((de = ['brace-left', 'brace-center', 'brace-right']),
+ (X = ['xMinYMin', 'xMidYMin', 'xMaxYMin']));
+ else
+ throw new Error(
+ `Correct katexImagesData or update code here to support
+ ` +
+ se +
+ ' children.',
+ );
+ for (var G = 0; G < se; G++) {
+ var xe = new T9(be[G]),
+ U = new M7([xe], {
+ width: '400em',
+ height: ji(ne),
+ viewBox: '0 0 ' + y + ' ' + ae,
+ preserveAspectRatio: X[G] + ' slice',
+ }),
+ Be = Hn.makeSvgSpan([de[G]], [U], u);
+ if (se === 1) return { span: Be, minWidth: ge, height: ne };
+ ((Be.style.height = ji(ne)), ie.push(Be));
+ }
+ return { span: Hn.makeSpan(['stretchy'], ie, u), minWidth: ge, height: ne };
+ }
+ }
+ var { span: p, minWidth: v, height: b } = d();
+ return ((p.height = b), (p.style.height = ji(b)), v > 0 && (p.style.minWidth = ji(v)), p);
+ },
+ YHt = function (s, u, d, p, v) {
+ var b,
+ y = s.height + s.depth + d + p;
+ if (/fbox|color|angl/.test(u)) {
+ if (((b = Hn.makeSpan(['stretchy', u], [], v)), u === 'fbox')) {
+ var T = v.color && v.getColor();
+ T && (b.style.borderColor = T);
+ }
+ } else {
+ var _ = [];
+ (/^[bx]cancel$/.test(u) &&
+ _.push(new nbe({ x1: '0', y1: '0', x2: '100%', y2: '100%', 'stroke-width': '0.046em' })),
+ /^x?cancel$/.test(u) &&
+ _.push(
+ new nbe({ x1: '0', y1: '100%', x2: '100%', y2: '0', 'stroke-width': '0.046em' }),
+ ));
+ var A = new M7(_, { width: '100%', height: ji(y) });
+ b = Hn.makeSvgSpan([], [A], v);
+ }
+ return ((b.height = y), (b.style.height = ji(y)), b);
+ },
+ N7 = { encloseSpan: YHt, mathMLnode: UHt, svgSpan: WHt };
+ function Ko(i, s) {
+ if (!i || i.type !== s)
+ throw new Error(
+ 'Expected node of type ' + s + ', but got ' + (i ? 'node of type ' + i.type : String(i)),
+ );
+ return i;
+ }
+ function dbe(i) {
+ var s = mQ(i);
+ if (!s)
+ throw new Error(
+ 'Expected node of symbol group type, but got ' + (i ? 'node of type ' + i.type : String(i)),
+ );
+ return s;
+ }
+ function mQ(i) {
+ return i && (i.type === 'atom' || yHt.hasOwnProperty(i.type)) ? i : null;
+ }
+ var gbe = (i, s) => {
+ var u, d, p;
+ i && i.type === 'supsub'
+ ? ((d = Ko(i.base, 'accent')),
+ (u = d.base),
+ (i.base = u),
+ (p = vHt(uu(i, s))),
+ (i.base = d))
+ : ((d = Ko(i, 'accent')), (u = d.base));
+ var v = uu(u, s.havingCrampedStyle()),
+ b = d.isShifty && pa.isCharacterBox(u),
+ y = 0;
+ if (b) {
+ var T = pa.getBaseElem(u),
+ _ = uu(T, s.havingCrampedStyle());
+ y = ize(_).skew;
+ }
+ var A = d.label === '\\c',
+ P = A ? v.height + v.depth : Math.min(v.height, s.fontMetrics().xHeight),
+ R;
+ if (d.isStretchy)
+ ((R = N7.svgSpan(d, s)),
+ (R = Hn.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: v },
+ {
+ type: 'elem',
+ elem: R,
+ wrapperClasses: ['svg-align'],
+ wrapperStyle:
+ y > 0
+ ? { width: 'calc(100% - ' + ji(2 * y) + ')', marginLeft: ji(2 * y) }
+ : void 0,
+ },
+ ],
+ },
+ s,
+ )));
+ else {
+ var F, j;
+ (d.label === '\\vec'
+ ? ((F = Hn.staticSvg('vec', s)), (j = Hn.svgData.vec[1]))
+ : ((F = Hn.makeOrd({ mode: d.mode, text: d.label }, s, 'textord')),
+ (F = ize(F)),
+ (F.italic = 0),
+ (j = F.width),
+ A && (P += F.depth)),
+ (R = Hn.makeSpan(['accent-body'], [F])));
+ var W = d.label === '\\textcircled';
+ W && (R.classes.push('accent-full'), (P = v.height));
+ var ee = y;
+ (W || (ee -= j / 2),
+ (R.style.left = ji(ee)),
+ d.label === '\\textcircled' && (R.style.top = '.2em'),
+ (R = Hn.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: v },
+ { type: 'kern', size: -P },
+ { type: 'elem', elem: R },
+ ],
+ },
+ s,
+ )));
+ }
+ var ie = Hn.makeSpan(['mord', 'accent'], [R], s);
+ return p
+ ? ((p.children[0] = ie),
+ (p.height = Math.max(ie.height, p.height)),
+ (p.classes[0] = 'mord'),
+ p)
+ : ie;
+ },
+ kze = (i, s) => {
+ var u = i.isStretchy ? N7.mathMLnode(i.label) : new wi.MathNode('mo', [jv(i.label, i.mode)]),
+ d = new wi.MathNode('mover', [Dl(i.base, s), u]);
+ return (d.setAttribute('accent', 'true'), d);
+ },
+ XHt = new RegExp(
+ [
+ '\\acute',
+ '\\grave',
+ '\\ddot',
+ '\\tilde',
+ '\\bar',
+ '\\breve',
+ '\\check',
+ '\\hat',
+ '\\vec',
+ '\\dot',
+ '\\mathring',
+ ]
+ .map((i) => '\\' + i)
+ .join('|'),
+ );
+ (Ji({
+ 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: (i, s) => {
+ var u = pQ(s[0]),
+ d = !XHt.test(i.funcName),
+ p =
+ !d ||
+ i.funcName === '\\widehat' ||
+ i.funcName === '\\widetilde' ||
+ i.funcName === '\\widecheck';
+ return {
+ type: 'accent',
+ mode: i.parser.mode,
+ label: i.funcName,
+ isStretchy: d,
+ isShifty: p,
+ base: u,
+ };
+ },
+ htmlBuilder: gbe,
+ mathmlBuilder: kze,
+ }),
+ Ji({
+ type: 'accent',
+ names: [
+ "\\'",
+ '\\`',
+ '\\^',
+ '\\~',
+ '\\=',
+ '\\u',
+ '\\.',
+ '\\"',
+ '\\c',
+ '\\r',
+ '\\H',
+ '\\v',
+ '\\textcircled',
+ ],
+ props: { numArgs: 1, allowedInText: !0, allowedInMath: !0, argTypes: ['primitive'] },
+ handler: (i, s) => {
+ var u = s[0],
+ d = i.parser.mode;
+ return (
+ d === 'math' &&
+ (i.parser.settings.reportNonstrict(
+ 'mathVsTextAccents',
+ "LaTeX's accent " + i.funcName + ' works only in text mode',
+ ),
+ (d = 'text')),
+ { type: 'accent', mode: d, label: i.funcName, isStretchy: !1, isShifty: !0, base: u }
+ );
+ },
+ htmlBuilder: gbe,
+ mathmlBuilder: kze,
+ }),
+ Ji({
+ type: 'accentUnder',
+ names: [
+ '\\underleftarrow',
+ '\\underrightarrow',
+ '\\underleftrightarrow',
+ '\\undergroup',
+ '\\underlinesegment',
+ '\\utilde',
+ ],
+ props: { numArgs: 1 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ return { type: 'accentUnder', mode: u.mode, label: d, base: p };
+ },
+ htmlBuilder: (i, s) => {
+ var u = uu(i.base, s),
+ d = N7.svgSpan(i, s),
+ p = i.label === '\\utilde' ? 0.12 : 0,
+ v = Hn.makeVList(
+ {
+ positionType: 'top',
+ positionData: u.height,
+ children: [
+ { type: 'elem', elem: d, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: p },
+ { type: 'elem', elem: u },
+ ],
+ },
+ s,
+ );
+ return Hn.makeSpan(['mord', 'accentunder'], [v], s);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = N7.mathMLnode(i.label),
+ d = new wi.MathNode('munder', [Dl(i.base, s), u]);
+ return (d.setAttribute('accentunder', 'true'), d);
+ },
+ }));
+ var vQ = (i) => {
+ var s = new wi.MathNode('mpadded', i ? [i] : []);
+ return (s.setAttribute('width', '+0.6em'), s.setAttribute('lspace', '0.3em'), s);
+ };
+ Ji({
+ 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(i, s, u) {
+ var { parser: d, funcName: p } = i;
+ return { type: 'xArrow', mode: d.mode, label: p, body: s[0], below: u[0] };
+ },
+ htmlBuilder(i, s) {
+ var u = s.style,
+ d = s.havingStyle(u.sup()),
+ p = Hn.wrapFragment(uu(i.body, d, s), s),
+ v = i.label.slice(0, 2) === '\\x' ? 'x' : 'cd';
+ p.classes.push(v + '-arrow-pad');
+ var b;
+ i.below &&
+ ((d = s.havingStyle(u.sub())),
+ (b = Hn.wrapFragment(uu(i.below, d, s), s)),
+ b.classes.push(v + '-arrow-pad'));
+ var y = N7.svgSpan(i, s),
+ T = -s.fontMetrics().axisHeight + 0.5 * y.height,
+ _ = -s.fontMetrics().axisHeight - 0.5 * y.height - 0.111;
+ (p.depth > 0.25 || i.label === '\\xleftequilibrium') && (_ -= p.depth);
+ var A;
+ if (b) {
+ var P = -s.fontMetrics().axisHeight + b.height + 0.5 * y.height + 0.111;
+ A = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: p, shift: _ },
+ { type: 'elem', elem: y, shift: T },
+ { type: 'elem', elem: b, shift: P },
+ ],
+ },
+ s,
+ );
+ } else
+ A = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: p, shift: _ },
+ { type: 'elem', elem: y, shift: T },
+ ],
+ },
+ s,
+ );
+ return (
+ A.children[0].children[0].children[1].classes.push('svg-align'),
+ Hn.makeSpan(['mrel', 'x-arrow'], [A], s)
+ );
+ },
+ mathmlBuilder(i, s) {
+ var u = N7.mathMLnode(i.label);
+ u.setAttribute('minsize', i.label.charAt(0) === 'x' ? '1.75em' : '3.0em');
+ var d;
+ if (i.body) {
+ var p = vQ(Dl(i.body, s));
+ if (i.below) {
+ var v = vQ(Dl(i.below, s));
+ d = new wi.MathNode('munderover', [u, v, p]);
+ } else d = new wi.MathNode('mover', [u, p]);
+ } else if (i.below) {
+ var b = vQ(Dl(i.below, s));
+ d = new wi.MathNode('munder', [u, b]);
+ } else ((d = vQ()), (d = new wi.MathNode('mover', [u, d])));
+ return d;
+ },
+ });
+ var QHt = Hn.makeSpan;
+ function Eze(i, s) {
+ var u = l1(i.body, s, !0);
+ return QHt([i.mclass], u, s);
+ }
+ function Tze(i, s) {
+ var u,
+ d = $2(i.body, s);
+ return (
+ i.mclass === 'minner'
+ ? (u = new wi.MathNode('mpadded', d))
+ : i.mclass === 'mord'
+ ? i.isCharacterBox
+ ? ((u = d[0]), (u.type = 'mi'))
+ : (u = new wi.MathNode('mi', d))
+ : (i.isCharacterBox ? ((u = d[0]), (u.type = 'mo')) : (u = new wi.MathNode('mo', d)),
+ i.mclass === 'mbin'
+ ? ((u.attributes.lspace = '0.22em'), (u.attributes.rspace = '0.22em'))
+ : i.mclass === 'mpunct'
+ ? ((u.attributes.lspace = '0em'), (u.attributes.rspace = '0.17em'))
+ : i.mclass === 'mopen' || i.mclass === 'mclose'
+ ? ((u.attributes.lspace = '0em'), (u.attributes.rspace = '0em'))
+ : i.mclass === 'minner' &&
+ ((u.attributes.lspace = '0.0556em'), (u.attributes.width = '+0.1111em'))),
+ u
+ );
+ }
+ Ji({
+ type: 'mclass',
+ names: [
+ '\\mathord',
+ '\\mathbin',
+ '\\mathrel',
+ '\\mathopen',
+ '\\mathclose',
+ '\\mathpunct',
+ '\\mathinner',
+ ],
+ props: { numArgs: 1, primitive: !0 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ return {
+ type: 'mclass',
+ mode: u.mode,
+ mclass: 'm' + d.slice(5),
+ body: Wf(p),
+ isCharacterBox: pa.isCharacterBox(p),
+ };
+ },
+ htmlBuilder: Eze,
+ mathmlBuilder: Tze,
+ });
+ var wQ = (i) => {
+ var s = i.type === 'ordgroup' && i.body.length ? i.body[0] : i;
+ return s.type === 'atom' && (s.family === 'bin' || s.family === 'rel')
+ ? 'm' + s.family
+ : 'mord';
+ };
+ (Ji({
+ type: 'mclass',
+ names: ['\\@binrel'],
+ props: { numArgs: 2 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return {
+ type: 'mclass',
+ mode: u.mode,
+ mclass: wQ(s[0]),
+ body: Wf(s[1]),
+ isCharacterBox: pa.isCharacterBox(s[1]),
+ };
+ },
+ }),
+ Ji({
+ type: 'mclass',
+ names: ['\\stackrel', '\\overset', '\\underset'],
+ props: { numArgs: 2 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i,
+ p = s[1],
+ v = s[0],
+ b;
+ d !== '\\stackrel' ? (b = wQ(p)) : (b = 'mrel');
+ var y = {
+ type: 'op',
+ mode: p.mode,
+ limits: !0,
+ alwaysHandleSupSub: !0,
+ parentIsSupSub: !1,
+ symbol: !1,
+ suppressBaseShift: d !== '\\stackrel',
+ body: Wf(p),
+ },
+ T = {
+ type: 'supsub',
+ mode: v.mode,
+ base: y,
+ sup: d === '\\underset' ? null : v,
+ sub: d === '\\underset' ? v : null,
+ };
+ return {
+ type: 'mclass',
+ mode: u.mode,
+ mclass: b,
+ body: [T],
+ isCharacterBox: pa.isCharacterBox(T),
+ };
+ },
+ htmlBuilder: Eze,
+ mathmlBuilder: Tze,
+ }),
+ Ji({
+ type: 'pmb',
+ names: ['\\pmb'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'pmb', mode: u.mode, mclass: wQ(s[0]), body: Wf(s[0]) };
+ },
+ htmlBuilder(i, s) {
+ var u = l1(i.body, s, !0),
+ d = Hn.makeSpan([i.mclass], u, s);
+ return ((d.style.textShadow = '0.02em 0.01em 0.04px'), d);
+ },
+ mathmlBuilder(i, s) {
+ var u = $2(i.body, s),
+ d = new wi.MathNode('mstyle', u);
+ return (d.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), d);
+ },
+ }));
+ var JHt = {
+ '>': '\\\\cdrightarrow',
+ '<': '\\\\cdleftarrow',
+ '=': '\\\\cdlongequal',
+ A: '\\uparrow',
+ V: '\\downarrow',
+ '|': '\\Vert',
+ '.': 'no arrow',
+ },
+ Cze = () => ({ type: 'styling', body: [], mode: 'math', style: 'display' }),
+ Sze = (i) => i.type === 'textord' && i.text === '@',
+ ZHt = (i, s) => (i.type === 'mathord' || i.type === 'atom') && i.text === s;
+ function eVt(i, s, u) {
+ var d = JHt[i];
+ switch (d) {
+ case '\\\\cdrightarrow':
+ case '\\\\cdleftarrow':
+ return u.callFunction(d, [s[0]], [s[1]]);
+ case '\\uparrow':
+ case '\\downarrow': {
+ var p = u.callFunction('\\\\cdleft', [s[0]], []),
+ v = { type: 'atom', text: d, mode: 'math', family: 'rel' },
+ b = u.callFunction('\\Big', [v], []),
+ y = u.callFunction('\\\\cdright', [s[1]], []),
+ T = { type: 'ordgroup', mode: 'math', body: [p, b, y] };
+ return u.callFunction('\\\\cdparent', [T], []);
+ }
+ case '\\\\cdlongequal':
+ return u.callFunction('\\\\cdlongequal', [], []);
+ case '\\Vert': {
+ var _ = { type: 'textord', text: '\\Vert', mode: 'math' };
+ return u.callFunction('\\Big', [_], []);
+ }
+ default:
+ return { type: 'textord', text: ' ', mode: 'math' };
+ }
+ }
+ function tVt(i) {
+ var s = [];
+ for (
+ i.gullet.beginGroup(), i.gullet.macros.set('\\cr', '\\\\\\relax'), i.gullet.beginGroup();
+ ;
+ ) {
+ (s.push(i.parseExpression(!1, '\\\\')), i.gullet.endGroup(), i.gullet.beginGroup());
+ var u = i.fetch().text;
+ if (u === '&' || u === '\\\\') i.consume();
+ else if (u === '\\end') {
+ s[s.length - 1].length === 0 && s.pop();
+ break;
+ } else throw new Si('Expected \\\\ or \\cr or \\end', i.nextToken);
+ }
+ for (var d = [], p = [d], v = 0; v < s.length; v++) {
+ for (var b = s[v], y = Cze(), T = 0; T < b.length; T++)
+ if (!Sze(b[T])) y.body.push(b[T]);
+ else {
+ (d.push(y), (T += 1));
+ var _ = dbe(b[T]).text,
+ A = new Array(2);
+ if (
+ ((A[0] = { type: 'ordgroup', mode: 'math', body: [] }),
+ (A[1] = { type: 'ordgroup', mode: 'math', body: [] }),
+ !('=|.'.indexOf(_) > -1))
+ )
+ if ('<>AV'.indexOf(_) > -1)
+ for (var P = 0; P < 2; P++) {
+ for (var R = !0, F = T + 1; F < b.length; F++) {
+ if (ZHt(b[F], _)) {
+ ((R = !1), (T = F));
+ break;
+ }
+ if (Sze(b[F]))
+ throw new Si('Missing a ' + _ + ' character to complete a CD arrow.', b[F]);
+ A[P].body.push(b[F]);
+ }
+ if (R) throw new Si('Missing a ' + _ + ' character to complete a CD arrow.', b[T]);
+ }
+ else throw new Si('Expected one of "<>AV=|." after @', b[T]);
+ var j = eVt(_, A, i),
+ W = { type: 'styling', body: [j], mode: 'math', style: 'display' };
+ (d.push(W), (y = Cze()));
+ }
+ (v % 2 === 0 ? d.push(y) : d.shift(), (d = []), p.push(d));
+ }
+ (i.gullet.endGroup(), i.gullet.endGroup());
+ var ee = new Array(p[0].length).fill({
+ type: 'align',
+ align: 'c',
+ pregap: 0.25,
+ postgap: 0.25,
+ });
+ return {
+ type: 'array',
+ mode: 'math',
+ body: p,
+ arraystretch: 1,
+ addJot: !0,
+ rowGaps: [null],
+ cols: ee,
+ colSeparationType: 'CD',
+ hLinesBeforeRow: new Array(p.length + 1).fill([]),
+ };
+ }
+ (Ji({
+ type: 'cdlabel',
+ names: ['\\\\cdleft', '\\\\cdright'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i;
+ return { type: 'cdlabel', mode: u.mode, side: d.slice(4), label: s[0] };
+ },
+ htmlBuilder(i, s) {
+ var u = s.havingStyle(s.style.sup()),
+ d = Hn.wrapFragment(uu(i.label, u, s), s);
+ return (
+ d.classes.push('cd-label-' + i.side),
+ (d.style.bottom = ji(0.8 - d.depth)),
+ (d.height = 0),
+ (d.depth = 0),
+ d
+ );
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mrow', [Dl(i.label, s)]);
+ return (
+ (u = new wi.MathNode('mpadded', [u])),
+ u.setAttribute('width', '0'),
+ i.side === 'left' && u.setAttribute('lspace', '-1width'),
+ u.setAttribute('voffset', '0.7em'),
+ (u = new wi.MathNode('mstyle', [u])),
+ u.setAttribute('displaystyle', 'false'),
+ u.setAttribute('scriptlevel', '1'),
+ u
+ );
+ },
+ }),
+ Ji({
+ type: 'cdlabelparent',
+ names: ['\\\\cdparent'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'cdlabelparent', mode: u.mode, fragment: s[0] };
+ },
+ htmlBuilder(i, s) {
+ var u = Hn.wrapFragment(uu(i.fragment, s), s);
+ return (u.classes.push('cd-vert-arrow'), u);
+ },
+ mathmlBuilder(i, s) {
+ return new wi.MathNode('mrow', [Dl(i.fragment, s)]);
+ },
+ }),
+ Ji({
+ type: 'textord',
+ names: ['\\@char'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(i, s) {
+ for (
+ var { parser: u } = i, d = Ko(s[0], 'ordgroup'), p = d.body, v = '', b = 0;
+ b < p.length;
+ b++
+ ) {
+ var y = Ko(p[b], 'textord');
+ v += y.text;
+ }
+ var T = parseInt(v),
+ _;
+ if (isNaN(T)) throw new Si('\\@char has non-numeric argument ' + v);
+ if (T < 0 || T >= 1114111) throw new Si('\\@char with invalid code point ' + v);
+ return (
+ T <= 65535
+ ? (_ = String.fromCharCode(T))
+ : ((T -= 65536), (_ = String.fromCharCode((T >> 10) + 55296, (T & 1023) + 56320))),
+ { type: 'textord', mode: u.mode, text: _ }
+ );
+ },
+ }));
+ var _ze = (i, s) => {
+ var u = l1(i.body, s.withColor(i.color), !1);
+ return Hn.makeFragment(u);
+ },
+ Aze = (i, s) => {
+ var u = $2(i.body, s.withColor(i.color)),
+ d = new wi.MathNode('mstyle', u);
+ return (d.setAttribute('mathcolor', i.color), d);
+ };
+ (Ji({
+ type: 'color',
+ names: ['\\textcolor'],
+ props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'original'] },
+ handler(i, s) {
+ var { parser: u } = i,
+ d = Ko(s[0], 'color-token').color,
+ p = s[1];
+ return { type: 'color', mode: u.mode, color: d, body: Wf(p) };
+ },
+ htmlBuilder: _ze,
+ mathmlBuilder: Aze,
+ }),
+ Ji({
+ type: 'color',
+ names: ['\\color'],
+ props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] },
+ handler(i, s) {
+ var { parser: u, breakOnTokenText: d } = i,
+ p = Ko(s[0], 'color-token').color;
+ u.gullet.macros.set('\\current@color', p);
+ var v = u.parseExpression(!0, d);
+ return { type: 'color', mode: u.mode, color: p, body: v };
+ },
+ htmlBuilder: _ze,
+ mathmlBuilder: Aze,
+ }),
+ Ji({
+ type: 'cr',
+ names: ['\\\\'],
+ props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 },
+ handler(i, s, u) {
+ var { parser: d } = i,
+ p = d.gullet.future().text === '[' ? d.parseSizeGroup(!0) : null,
+ v =
+ !d.settings.displayMode ||
+ !d.settings.useStrictBehavior(
+ 'newLineInDisplayMode',
+ 'In LaTeX, \\\\ or \\newline does nothing in display mode',
+ );
+ return { type: 'cr', mode: d.mode, newLine: v, size: p && Ko(p, 'size').value };
+ },
+ htmlBuilder(i, s) {
+ var u = Hn.makeSpan(['mspace'], [], s);
+ return (
+ i.newLine &&
+ (u.classes.push('newline'), i.size && (u.style.marginTop = ji(Gh(i.size, s)))),
+ u
+ );
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mspace');
+ return (
+ i.newLine &&
+ (u.setAttribute('linebreak', 'newline'),
+ i.size && u.setAttribute('height', ji(Gh(i.size, s)))),
+ u
+ );
+ },
+ }));
+ var pbe = {
+ '\\global': '\\global',
+ '\\long': '\\\\globallong',
+ '\\\\globallong': '\\\\globallong',
+ '\\def': '\\gdef',
+ '\\gdef': '\\gdef',
+ '\\edef': '\\xdef',
+ '\\xdef': '\\xdef',
+ '\\let': '\\\\globallet',
+ '\\futurelet': '\\\\globalfuture',
+ },
+ Lze = (i) => {
+ var s = i.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(s)) throw new Si('Expected a control sequence', i);
+ return s;
+ },
+ nVt = (i) => {
+ var s = i.gullet.popToken();
+ return (
+ s.text === '=' && ((s = i.gullet.popToken()), s.text === ' ' && (s = i.gullet.popToken())),
+ s
+ );
+ },
+ Mze = (i, s, u, d) => {
+ var p = i.gullet.macros.get(u.text);
+ (p == null &&
+ ((u.noexpand = !0),
+ (p = { tokens: [u], numArgs: 0, unexpandable: !i.gullet.isExpandable(u.text) })),
+ i.gullet.macros.set(s, p, d));
+ };
+ (Ji({
+ type: 'internal',
+ names: ['\\global', '\\long', '\\\\globallong'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(i) {
+ var { parser: s, funcName: u } = i;
+ s.consumeSpaces();
+ var d = s.fetch();
+ if (pbe[d.text])
+ return (
+ (u === '\\global' || u === '\\\\globallong') && (d.text = pbe[d.text]),
+ Ko(s.parseFunction(), 'internal')
+ );
+ throw new Si('Invalid token after macro prefix', d);
+ },
+ }),
+ Ji({
+ type: 'internal',
+ names: ['\\def', '\\gdef', '\\edef', '\\xdef'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(i) {
+ var { parser: s, funcName: u } = i,
+ d = s.gullet.popToken(),
+ p = d.text;
+ if (/^(?:[\\{}$^_]|EOF)$/.test(p)) throw new Si('Expected a control sequence', d);
+ for (var v = 0, b, y = [[]]; s.gullet.future().text !== '{'; )
+ if (((d = s.gullet.popToken()), d.text === '#')) {
+ if (s.gullet.future().text === '{') {
+ ((b = s.gullet.future()), y[v].push('{'));
+ break;
+ }
+ if (((d = s.gullet.popToken()), !/^[1-9]$/.test(d.text)))
+ throw new Si('Invalid argument number "' + d.text + '"');
+ if (parseInt(d.text) !== v + 1)
+ throw new Si('Argument number "' + d.text + '" out of order');
+ (v++, y.push([]));
+ } else {
+ if (d.text === 'EOF') throw new Si('Expected a macro definition');
+ y[v].push(d.text);
+ }
+ var { tokens: T } = s.gullet.consumeArg();
+ return (
+ b && T.unshift(b),
+ (u === '\\edef' || u === '\\xdef') && ((T = s.gullet.expandTokens(T)), T.reverse()),
+ s.gullet.macros.set(p, { tokens: T, numArgs: v, delimiters: y }, u === pbe[u]),
+ { type: 'internal', mode: s.mode }
+ );
+ },
+ }),
+ Ji({
+ type: 'internal',
+ names: ['\\let', '\\\\globallet'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(i) {
+ var { parser: s, funcName: u } = i,
+ d = Lze(s.gullet.popToken());
+ s.gullet.consumeSpaces();
+ var p = nVt(s);
+ return (Mze(s, d, p, u === '\\\\globallet'), { type: 'internal', mode: s.mode });
+ },
+ }),
+ Ji({
+ type: 'internal',
+ names: ['\\futurelet', '\\\\globalfuture'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(i) {
+ var { parser: s, funcName: u } = i,
+ d = Lze(s.gullet.popToken()),
+ p = s.gullet.popToken(),
+ v = s.gullet.popToken();
+ return (
+ Mze(s, d, v, u === '\\\\globalfuture'),
+ s.gullet.pushToken(v),
+ s.gullet.pushToken(p),
+ { type: 'internal', mode: s.mode }
+ );
+ },
+ }));
+ var fR = function (s, u, d) {
+ var p = Ul.math[s] && Ul.math[s].replace,
+ v = J2e(p || s, u, d);
+ if (!v) throw new Error('Unsupported symbol ' + s + ' and font size ' + u + '.');
+ return v;
+ },
+ bbe = function (s, u, d, p) {
+ var v = d.havingBaseStyle(u),
+ b = Hn.makeSpan(p.concat(v.sizingClasses(d)), [s], d),
+ y = v.sizeMultiplier / d.sizeMultiplier;
+ return ((b.height *= y), (b.depth *= y), (b.maxFontSize = v.sizeMultiplier), b);
+ },
+ Dze = function (s, u, d) {
+ var p = u.havingBaseStyle(d),
+ v = (1 - u.sizeMultiplier / p.sizeMultiplier) * u.fontMetrics().axisHeight;
+ (s.classes.push('delimcenter'), (s.style.top = ji(v)), (s.height -= v), (s.depth += v));
+ },
+ rVt = function (s, u, d, p, v, b) {
+ var y = Hn.makeSymbol(s, 'Main-Regular', v, p),
+ T = bbe(y, u, p, b);
+ return (d && Dze(T, p, u), T);
+ },
+ iVt = function (s, u, d, p) {
+ return Hn.makeSymbol(s, 'Size' + u + '-Regular', d, p);
+ },
+ Ize = function (s, u, d, p, v, b) {
+ var y = iVt(s, u, v, p),
+ T = bbe(Hn.makeSpan(['delimsizing', 'size' + u], [y], p), Ca.TEXT, p, b);
+ return (d && Dze(T, p, Ca.TEXT), T);
+ },
+ mbe = function (s, u, d) {
+ var p;
+ u === 'Size1-Regular' ? (p = 'delim-size1') : (p = 'delim-size4');
+ var v = Hn.makeSpan(['delimsizinginner', p], [Hn.makeSpan([], [Hn.makeSymbol(s, u, d)])]);
+ return { type: 'elem', elem: v };
+ },
+ vbe = function (s, u, d) {
+ var p = G4['Size4-Regular'][s.charCodeAt(0)]
+ ? G4['Size4-Regular'][s.charCodeAt(0)][4]
+ : G4['Size1-Regular'][s.charCodeAt(0)][4],
+ v = new T9('inner', lHt(s, Math.round(1e3 * u))),
+ b = new M7([v], {
+ width: ji(p),
+ height: ji(u),
+ style: 'width:' + ji(p),
+ viewBox: '0 0 ' + 1e3 * p + ' ' + Math.round(1e3 * u),
+ preserveAspectRatio: 'xMinYMin',
+ }),
+ y = Hn.makeSvgSpan([], [b], d);
+ return (
+ (y.height = u),
+ (y.style.height = ji(u)),
+ (y.style.width = ji(p)),
+ { type: 'elem', elem: y }
+ );
+ },
+ wbe = 0.008,
+ yQ = { type: 'kern', size: -1 * wbe },
+ sVt = ['|', '\\lvert', '\\rvert', '\\vert'],
+ aVt = ['\\|', '\\lVert', '\\rVert', '\\Vert'],
+ Oze = function (s, u, d, p, v, b) {
+ var y,
+ T,
+ _,
+ A,
+ P = '',
+ R = 0;
+ ((y = _ = A = s), (T = null));
+ var F = 'Size1-Regular';
+ s === '\\uparrow'
+ ? (_ = A = '⏐')
+ : s === '\\Uparrow'
+ ? (_ = A = '‖')
+ : s === '\\downarrow'
+ ? (y = _ = '⏐')
+ : s === '\\Downarrow'
+ ? (y = _ = '‖')
+ : s === '\\updownarrow'
+ ? ((y = '\\uparrow'), (_ = '⏐'), (A = '\\downarrow'))
+ : s === '\\Updownarrow'
+ ? ((y = '\\Uparrow'), (_ = '‖'), (A = '\\Downarrow'))
+ : pa.contains(sVt, s)
+ ? ((_ = '∣'), (P = 'vert'), (R = 333))
+ : pa.contains(aVt, s)
+ ? ((_ = '∥'), (P = 'doublevert'), (R = 556))
+ : s === '[' || s === '\\lbrack'
+ ? ((y = '⎡'),
+ (_ = '⎢'),
+ (A = '⎣'),
+ (F = 'Size4-Regular'),
+ (P = 'lbrack'),
+ (R = 667))
+ : s === ']' || s === '\\rbrack'
+ ? ((y = '⎤'),
+ (_ = '⎥'),
+ (A = '⎦'),
+ (F = 'Size4-Regular'),
+ (P = 'rbrack'),
+ (R = 667))
+ : s === '\\lfloor' || s === '⌊'
+ ? ((_ = y = '⎢'),
+ (A = '⎣'),
+ (F = 'Size4-Regular'),
+ (P = 'lfloor'),
+ (R = 667))
+ : s === '\\lceil' || s === '⌈'
+ ? ((y = '⎡'),
+ (_ = A = '⎢'),
+ (F = 'Size4-Regular'),
+ (P = 'lceil'),
+ (R = 667))
+ : s === '\\rfloor' || s === '⌋'
+ ? ((_ = y = '⎥'),
+ (A = '⎦'),
+ (F = 'Size4-Regular'),
+ (P = 'rfloor'),
+ (R = 667))
+ : s === '\\rceil' || s === '⌉'
+ ? ((y = '⎤'),
+ (_ = A = '⎥'),
+ (F = 'Size4-Regular'),
+ (P = 'rceil'),
+ (R = 667))
+ : s === '(' || s === '\\lparen'
+ ? ((y = '⎛'),
+ (_ = '⎜'),
+ (A = '⎝'),
+ (F = 'Size4-Regular'),
+ (P = 'lparen'),
+ (R = 875))
+ : s === ')' || s === '\\rparen'
+ ? ((y = '⎞'),
+ (_ = '⎟'),
+ (A = '⎠'),
+ (F = 'Size4-Regular'),
+ (P = 'rparen'),
+ (R = 875))
+ : s === '\\{' || s === '\\lbrace'
+ ? ((y = '⎧'),
+ (T = '⎨'),
+ (A = '⎩'),
+ (_ = '⎪'),
+ (F = 'Size4-Regular'))
+ : s === '\\}' || s === '\\rbrace'
+ ? ((y = '⎫'),
+ (T = '⎬'),
+ (A = '⎭'),
+ (_ = '⎪'),
+ (F = 'Size4-Regular'))
+ : s === '\\lgroup' || s === '⟮'
+ ? ((y = '⎧'),
+ (A = '⎩'),
+ (_ = '⎪'),
+ (F = 'Size4-Regular'))
+ : s === '\\rgroup' || s === '⟯'
+ ? ((y = '⎫'),
+ (A = '⎭'),
+ (_ = '⎪'),
+ (F = 'Size4-Regular'))
+ : s === '\\lmoustache' || s === '⎰'
+ ? ((y = '⎧'),
+ (A = '⎭'),
+ (_ = '⎪'),
+ (F = 'Size4-Regular'))
+ : (s === '\\rmoustache' || s === '⎱') &&
+ ((y = '⎫'),
+ (A = '⎩'),
+ (_ = '⎪'),
+ (F = 'Size4-Regular'));
+ var j = fR(y, F, v),
+ W = j.height + j.depth,
+ ee = fR(_, F, v),
+ ie = ee.height + ee.depth,
+ oe = fR(A, F, v),
+ be = oe.height + oe.depth,
+ ge = 0,
+ ae = 1;
+ if (T !== null) {
+ var ne = fR(T, F, v);
+ ((ge = ne.height + ne.depth), (ae = 2));
+ }
+ var se = W + be + ge,
+ de = Math.max(0, Math.ceil((u - se) / (ae * ie))),
+ X = se + de * ae * ie,
+ pe = p.fontMetrics().axisHeight;
+ d && (pe *= p.sizeMultiplier);
+ var G = X / 2 - pe,
+ xe = [];
+ if (P.length > 0) {
+ var U = X - W - be,
+ Be = Math.round(X * 1e3),
+ Ne = hHt(P, Math.round(U * 1e3)),
+ je = new T9(P, Ne),
+ Ie = (R / 1e3).toFixed(3) + 'em',
+ Se = (Be / 1e3).toFixed(3) + 'em',
+ Ce = new M7([je], { width: Ie, height: Se, viewBox: '0 0 ' + R + ' ' + Be }),
+ ke = Hn.makeSvgSpan([], [Ce], p);
+ ((ke.height = Be / 1e3),
+ (ke.style.width = Ie),
+ (ke.style.height = Se),
+ xe.push({ type: 'elem', elem: ke }));
+ } else {
+ if ((xe.push(mbe(A, F, v)), xe.push(yQ), T === null)) {
+ var Ke = X - W - be + 2 * wbe;
+ xe.push(vbe(_, Ke, p));
+ } else {
+ var Ft = (X - W - be - ge) / 2 + 2 * wbe;
+ (xe.push(vbe(_, Ft, p)),
+ xe.push(yQ),
+ xe.push(mbe(T, F, v)),
+ xe.push(yQ),
+ xe.push(vbe(_, Ft, p)));
+ }
+ (xe.push(yQ), xe.push(mbe(y, F, v)));
+ }
+ var Pe = p.havingBaseStyle(Ca.TEXT),
+ gn = Hn.makeVList({ positionType: 'bottom', positionData: G, children: xe }, Pe);
+ return bbe(Hn.makeSpan(['delimsizing', 'mult'], [gn], Pe), Ca.TEXT, p, b);
+ },
+ ybe = 80,
+ xbe = 0.08,
+ kbe = function (s, u, d, p, v) {
+ var b = uHt(s, p, d),
+ y = new T9(s, b),
+ T = new M7([y], {
+ width: '400em',
+ height: ji(u),
+ viewBox: '0 0 400000 ' + d,
+ preserveAspectRatio: 'xMinYMin slice',
+ });
+ return Hn.makeSvgSpan(['hide-tail'], [T], v);
+ },
+ oVt = function (s, u) {
+ var d = u.havingBaseSizing(),
+ p = Fze('\\surd', s * d.sizeMultiplier, Bze, d),
+ v = d.sizeMultiplier,
+ b = Math.max(0, u.minRuleThickness - u.fontMetrics().sqrtRuleThickness),
+ y,
+ T = 0,
+ _ = 0,
+ A = 0,
+ P;
+ return (
+ p.type === 'small'
+ ? ((A = 1e3 + 1e3 * b + ybe),
+ s < 1 ? (v = 1) : s < 1.4 && (v = 0.7),
+ (T = (1 + b + xbe) / v),
+ (_ = (1 + b) / v),
+ (y = kbe('sqrtMain', T, A, b, u)),
+ (y.style.minWidth = '0.853em'),
+ (P = 0.833 / v))
+ : p.type === 'large'
+ ? ((A = (1e3 + ybe) * dR[p.size]),
+ (_ = (dR[p.size] + b) / v),
+ (T = (dR[p.size] + b + xbe) / v),
+ (y = kbe('sqrtSize' + p.size, T, A, b, u)),
+ (y.style.minWidth = '1.02em'),
+ (P = 1 / v))
+ : ((T = s + b + xbe),
+ (_ = s + b),
+ (A = Math.floor(1e3 * s + b) + ybe),
+ (y = kbe('sqrtTall', T, A, b, u)),
+ (y.style.minWidth = '0.742em'),
+ (P = 1.056)),
+ (y.height = _),
+ (y.style.height = ji(T)),
+ { span: y, advanceWidth: P, ruleWidth: (u.fontMetrics().sqrtRuleThickness + b) * v }
+ );
+ },
+ Nze = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '⌊',
+ '⌋',
+ '\\lceil',
+ '\\rceil',
+ '⌈',
+ '⌉',
+ '\\surd',
+ ],
+ cVt = [
+ '\\uparrow',
+ '\\downarrow',
+ '\\updownarrow',
+ '\\Uparrow',
+ '\\Downarrow',
+ '\\Updownarrow',
+ '|',
+ '\\|',
+ '\\vert',
+ '\\Vert',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '⟮',
+ '⟯',
+ '\\lmoustache',
+ '\\rmoustache',
+ '⎰',
+ '⎱',
+ ],
+ Pze = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt'],
+ dR = [0, 1.2, 1.8, 2.4, 3],
+ uVt = function (s, u, d, p, v) {
+ if (
+ (s === '<' || s === '\\lt' || s === '⟨'
+ ? (s = '\\langle')
+ : (s === '>' || s === '\\gt' || s === '⟩') && (s = '\\rangle'),
+ pa.contains(Nze, s) || pa.contains(Pze, s))
+ )
+ return Ize(s, u, !1, d, p, v);
+ if (pa.contains(cVt, s)) return Oze(s, dR[u], !1, d, p, v);
+ throw new Si("Illegal delimiter: '" + s + "'");
+ },
+ lVt = [
+ { type: 'small', style: Ca.SCRIPTSCRIPT },
+ { type: 'small', style: Ca.SCRIPT },
+ { type: 'small', style: Ca.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 },
+ ],
+ hVt = [
+ { type: 'small', style: Ca.SCRIPTSCRIPT },
+ { type: 'small', style: Ca.SCRIPT },
+ { type: 'small', style: Ca.TEXT },
+ { type: 'stack' },
+ ],
+ Bze = [
+ { type: 'small', style: Ca.SCRIPTSCRIPT },
+ { type: 'small', style: Ca.SCRIPT },
+ { type: 'small', style: Ca.TEXT },
+ { type: 'large', size: 1 },
+ { type: 'large', size: 2 },
+ { type: 'large', size: 3 },
+ { type: 'large', size: 4 },
+ { type: 'stack' },
+ ],
+ fVt = function (s) {
+ if (s.type === 'small') return 'Main-Regular';
+ if (s.type === 'large') return 'Size' + s.size + '-Regular';
+ if (s.type === 'stack') return 'Size4-Regular';
+ throw new Error("Add support for delim type '" + s.type + "' here.");
+ },
+ Fze = function (s, u, d, p) {
+ for (
+ var v = Math.min(2, 3 - p.style.size), b = v;
+ b < d.length && d[b].type !== 'stack';
+ b++
+ ) {
+ var y = fR(s, fVt(d[b]), 'math'),
+ T = y.height + y.depth;
+ if (d[b].type === 'small') {
+ var _ = p.havingBaseStyle(d[b].style);
+ T *= _.sizeMultiplier;
+ }
+ if (T > u) return d[b];
+ }
+ return d[d.length - 1];
+ },
+ Rze = function (s, u, d, p, v, b) {
+ s === '<' || s === '\\lt' || s === '⟨'
+ ? (s = '\\langle')
+ : (s === '>' || s === '\\gt' || s === '⟩') && (s = '\\rangle');
+ var y;
+ pa.contains(Pze, s) ? (y = lVt) : pa.contains(Nze, s) ? (y = Bze) : (y = hVt);
+ var T = Fze(s, u, y, p);
+ return T.type === 'small'
+ ? rVt(s, T.style, d, p, v, b)
+ : T.type === 'large'
+ ? Ize(s, T.size, d, p, v, b)
+ : Oze(s, u, d, p, v, b);
+ },
+ dVt = function (s, u, d, p, v, b) {
+ var y = p.fontMetrics().axisHeight * p.sizeMultiplier,
+ T = 901,
+ _ = 5 / p.fontMetrics().ptPerEm,
+ A = Math.max(u - y, d + y),
+ P = Math.max((A / 500) * T, 2 * A - _);
+ return Rze(s, P, !0, p, v, b);
+ },
+ P7 = {
+ sqrtImage: oVt,
+ sizedDelim: uVt,
+ sizeToMaxHeight: dR,
+ customSizedDelim: Rze,
+ leftRightDelim: dVt,
+ },
+ jze = {
+ '\\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 },
+ },
+ gVt = [
+ '(',
+ '\\lparen',
+ ')',
+ '\\rparen',
+ '[',
+ '\\lbrack',
+ ']',
+ '\\rbrack',
+ '\\{',
+ '\\lbrace',
+ '\\}',
+ '\\rbrace',
+ '\\lfloor',
+ '\\rfloor',
+ '⌊',
+ '⌋',
+ '\\lceil',
+ '\\rceil',
+ '⌈',
+ '⌉',
+ '<',
+ '>',
+ '\\langle',
+ '⟨',
+ '\\rangle',
+ '⟩',
+ '\\lt',
+ '\\gt',
+ '\\lvert',
+ '\\rvert',
+ '\\lVert',
+ '\\rVert',
+ '\\lgroup',
+ '\\rgroup',
+ '⟮',
+ '⟯',
+ '\\lmoustache',
+ '\\rmoustache',
+ '⎰',
+ '⎱',
+ '/',
+ '\\backslash',
+ '|',
+ '\\vert',
+ '\\|',
+ '\\Vert',
+ '\\uparrow',
+ '\\Uparrow',
+ '\\downarrow',
+ '\\Downarrow',
+ '\\updownarrow',
+ '\\Updownarrow',
+ '.',
+ ];
+ function xQ(i, s) {
+ var u = mQ(i);
+ if (u && pa.contains(gVt, u.text)) return u;
+ throw u
+ ? new Si("Invalid delimiter '" + u.text + "' after '" + s.funcName + "'", i)
+ : new Si("Invalid delimiter type '" + i.type + "'", i);
+ }
+ Ji({
+ 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: (i, s) => {
+ var u = xQ(s[0], i);
+ return {
+ type: 'delimsizing',
+ mode: i.parser.mode,
+ size: jze[i.funcName].size,
+ mclass: jze[i.funcName].mclass,
+ delim: u.text,
+ };
+ },
+ htmlBuilder: (i, s) =>
+ i.delim === '.'
+ ? Hn.makeSpan([i.mclass])
+ : P7.sizedDelim(i.delim, i.size, s, i.mode, [i.mclass]),
+ mathmlBuilder: (i) => {
+ var s = [];
+ i.delim !== '.' && s.push(jv(i.delim, i.mode));
+ var u = new wi.MathNode('mo', s);
+ (i.mclass === 'mopen' || i.mclass === 'mclose'
+ ? u.setAttribute('fence', 'true')
+ : u.setAttribute('fence', 'false'),
+ u.setAttribute('stretchy', 'true'));
+ var d = ji(P7.sizeToMaxHeight[i.size]);
+ return (u.setAttribute('minsize', d), u.setAttribute('maxsize', d), u);
+ },
+ });
+ function $ze(i) {
+ if (!i.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
+ }
+ (Ji({
+ type: 'leftright-right',
+ names: ['\\right'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: (i, s) => {
+ var u = i.parser.gullet.macros.get('\\current@color');
+ if (u && typeof u != 'string') throw new Si('\\current@color set to non-string in \\right');
+ return { type: 'leftright-right', mode: i.parser.mode, delim: xQ(s[0], i).text, color: u };
+ },
+ }),
+ Ji({
+ type: 'leftright',
+ names: ['\\left'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: (i, s) => {
+ var u = xQ(s[0], i),
+ d = i.parser;
+ ++d.leftrightDepth;
+ var p = d.parseExpression(!1);
+ (--d.leftrightDepth, d.expect('\\right', !1));
+ var v = Ko(d.parseFunction(), 'leftright-right');
+ return {
+ type: 'leftright',
+ mode: d.mode,
+ body: p,
+ left: u.text,
+ right: v.delim,
+ rightColor: v.color,
+ };
+ },
+ htmlBuilder: (i, s) => {
+ $ze(i);
+ for (
+ var u = l1(i.body, s, !0, ['mopen', 'mclose']), d = 0, p = 0, v = !1, b = 0;
+ b < u.length;
+ b++
+ )
+ u[b].isMiddle
+ ? (v = !0)
+ : ((d = Math.max(u[b].height, d)), (p = Math.max(u[b].depth, p)));
+ ((d *= s.sizeMultiplier), (p *= s.sizeMultiplier));
+ var y;
+ if (
+ (i.left === '.'
+ ? (y = lR(s, ['mopen']))
+ : (y = P7.leftRightDelim(i.left, d, p, s, i.mode, ['mopen'])),
+ u.unshift(y),
+ v)
+ )
+ for (var T = 1; T < u.length; T++) {
+ var _ = u[T],
+ A = _.isMiddle;
+ A && (u[T] = P7.leftRightDelim(A.delim, d, p, A.options, i.mode, []));
+ }
+ var P;
+ if (i.right === '.') P = lR(s, ['mclose']);
+ else {
+ var R = i.rightColor ? s.withColor(i.rightColor) : s;
+ P = P7.leftRightDelim(i.right, d, p, R, i.mode, ['mclose']);
+ }
+ return (u.push(P), Hn.makeSpan(['minner'], u, s));
+ },
+ mathmlBuilder: (i, s) => {
+ $ze(i);
+ var u = $2(i.body, s);
+ if (i.left !== '.') {
+ var d = new wi.MathNode('mo', [jv(i.left, i.mode)]);
+ (d.setAttribute('fence', 'true'), u.unshift(d));
+ }
+ if (i.right !== '.') {
+ var p = new wi.MathNode('mo', [jv(i.right, i.mode)]);
+ (p.setAttribute('fence', 'true'),
+ i.rightColor && p.setAttribute('mathcolor', i.rightColor),
+ u.push(p));
+ }
+ return hbe(u);
+ },
+ }),
+ Ji({
+ type: 'middle',
+ names: ['\\middle'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: (i, s) => {
+ var u = xQ(s[0], i);
+ if (!i.parser.leftrightDepth) throw new Si('\\middle without preceding \\left', u);
+ return { type: 'middle', mode: i.parser.mode, delim: u.text };
+ },
+ htmlBuilder: (i, s) => {
+ var u;
+ if (i.delim === '.') u = lR(s, []);
+ else {
+ u = P7.sizedDelim(i.delim, 1, s, i.mode, []);
+ var d = { delim: i.delim, options: s };
+ u.isMiddle = d;
+ }
+ return u;
+ },
+ mathmlBuilder: (i, s) => {
+ var u = i.delim === '\\vert' || i.delim === '|' ? jv('|', 'text') : jv(i.delim, i.mode),
+ d = new wi.MathNode('mo', [u]);
+ return (
+ d.setAttribute('fence', 'true'),
+ d.setAttribute('lspace', '0.05em'),
+ d.setAttribute('rspace', '0.05em'),
+ d
+ );
+ },
+ }));
+ var Ebe = (i, s) => {
+ var u = Hn.wrapFragment(uu(i.body, s), s),
+ d = i.label.slice(1),
+ p = s.sizeMultiplier,
+ v,
+ b = 0,
+ y = pa.isCharacterBox(i.body);
+ if (d === 'sout')
+ ((v = Hn.makeSpan(['stretchy', 'sout'])),
+ (v.height = s.fontMetrics().defaultRuleThickness / p),
+ (b = -0.5 * s.fontMetrics().xHeight));
+ else if (d === 'phase') {
+ var T = Gh({ number: 0.6, unit: 'pt' }, s),
+ _ = Gh({ number: 0.35, unit: 'ex' }, s),
+ A = s.havingBaseSizing();
+ p = p / A.sizeMultiplier;
+ var P = u.height + u.depth + T + _;
+ u.style.paddingLeft = ji(P / 2 + T);
+ var R = Math.floor(1e3 * P * p),
+ F = oHt(R),
+ j = new M7([new T9('phase', F)], {
+ width: '400em',
+ height: ji(R / 1e3),
+ viewBox: '0 0 400000 ' + R,
+ preserveAspectRatio: 'xMinYMin slice',
+ });
+ ((v = Hn.makeSvgSpan(['hide-tail'], [j], s)),
+ (v.style.height = ji(P)),
+ (b = u.depth + T + _));
+ } else {
+ /cancel/.test(d)
+ ? y || u.classes.push('cancel-pad')
+ : d === 'angl'
+ ? u.classes.push('anglpad')
+ : u.classes.push('boxpad');
+ var W = 0,
+ ee = 0,
+ ie = 0;
+ (/box/.test(d)
+ ? ((ie = Math.max(s.fontMetrics().fboxrule, s.minRuleThickness)),
+ (W = s.fontMetrics().fboxsep + (d === 'colorbox' ? 0 : ie)),
+ (ee = W))
+ : d === 'angl'
+ ? ((ie = Math.max(s.fontMetrics().defaultRuleThickness, s.minRuleThickness)),
+ (W = 4 * ie),
+ (ee = Math.max(0, 0.25 - u.depth)))
+ : ((W = y ? 0.2 : 0), (ee = W)),
+ (v = N7.encloseSpan(u, d, W, ee, s)),
+ /fbox|boxed|fcolorbox/.test(d)
+ ? ((v.style.borderStyle = 'solid'), (v.style.borderWidth = ji(ie)))
+ : d === 'angl' &&
+ ie !== 0.049 &&
+ ((v.style.borderTopWidth = ji(ie)), (v.style.borderRightWidth = ji(ie))),
+ (b = u.depth + ee),
+ i.backgroundColor &&
+ ((v.style.backgroundColor = i.backgroundColor),
+ i.borderColor && (v.style.borderColor = i.borderColor)));
+ }
+ var oe;
+ if (i.backgroundColor)
+ oe = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: v, shift: b },
+ { type: 'elem', elem: u, shift: 0 },
+ ],
+ },
+ s,
+ );
+ else {
+ var be = /cancel|phase/.test(d) ? ['svg-align'] : [];
+ oe = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: u, shift: 0 },
+ { type: 'elem', elem: v, shift: b, wrapperClasses: be },
+ ],
+ },
+ s,
+ );
+ }
+ return (
+ /cancel/.test(d) && ((oe.height = u.height), (oe.depth = u.depth)),
+ /cancel/.test(d) && !y
+ ? Hn.makeSpan(['mord', 'cancel-lap'], [oe], s)
+ : Hn.makeSpan(['mord'], [oe], s)
+ );
+ },
+ Tbe = (i, s) => {
+ var u = 0,
+ d = new wi.MathNode(i.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [
+ Dl(i.body, s),
+ ]);
+ switch (i.label) {
+ case '\\cancel':
+ d.setAttribute('notation', 'updiagonalstrike');
+ break;
+ case '\\bcancel':
+ d.setAttribute('notation', 'downdiagonalstrike');
+ break;
+ case '\\phase':
+ d.setAttribute('notation', 'phasorangle');
+ break;
+ case '\\sout':
+ d.setAttribute('notation', 'horizontalstrike');
+ break;
+ case '\\fbox':
+ d.setAttribute('notation', 'box');
+ break;
+ case '\\angl':
+ d.setAttribute('notation', 'actuarial');
+ break;
+ case '\\fcolorbox':
+ case '\\colorbox':
+ if (
+ ((u = s.fontMetrics().fboxsep * s.fontMetrics().ptPerEm),
+ d.setAttribute('width', '+' + 2 * u + 'pt'),
+ d.setAttribute('height', '+' + 2 * u + 'pt'),
+ d.setAttribute('lspace', u + 'pt'),
+ d.setAttribute('voffset', u + 'pt'),
+ i.label === '\\fcolorbox')
+ ) {
+ var p = Math.max(s.fontMetrics().fboxrule, s.minRuleThickness);
+ d.setAttribute('style', 'border: ' + p + 'em solid ' + String(i.borderColor));
+ }
+ break;
+ case '\\xcancel':
+ d.setAttribute('notation', 'updiagonalstrike downdiagonalstrike');
+ break;
+ }
+ return (i.backgroundColor && d.setAttribute('mathbackground', i.backgroundColor), d);
+ };
+ (Ji({
+ type: 'enclose',
+ names: ['\\colorbox'],
+ props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] },
+ handler(i, s, u) {
+ var { parser: d, funcName: p } = i,
+ v = Ko(s[0], 'color-token').color,
+ b = s[1];
+ return { type: 'enclose', mode: d.mode, label: p, backgroundColor: v, body: b };
+ },
+ htmlBuilder: Ebe,
+ mathmlBuilder: Tbe,
+ }),
+ Ji({
+ type: 'enclose',
+ names: ['\\fcolorbox'],
+ props: { numArgs: 3, allowedInText: !0, argTypes: ['color', 'color', 'text'] },
+ handler(i, s, u) {
+ var { parser: d, funcName: p } = i,
+ v = Ko(s[0], 'color-token').color,
+ b = Ko(s[1], 'color-token').color,
+ y = s[2];
+ return {
+ type: 'enclose',
+ mode: d.mode,
+ label: p,
+ backgroundColor: b,
+ borderColor: v,
+ body: y,
+ };
+ },
+ htmlBuilder: Ebe,
+ mathmlBuilder: Tbe,
+ }),
+ Ji({
+ type: 'enclose',
+ names: ['\\fbox'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !0 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'enclose', mode: u.mode, label: '\\fbox', body: s[0] };
+ },
+ }),
+ Ji({
+ type: 'enclose',
+ names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ return { type: 'enclose', mode: u.mode, label: d, body: p };
+ },
+ htmlBuilder: Ebe,
+ mathmlBuilder: Tbe,
+ }),
+ Ji({
+ type: 'enclose',
+ names: ['\\angl'],
+ props: { numArgs: 1, argTypes: ['hbox'], allowedInText: !1 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'enclose', mode: u.mode, label: '\\angl', body: s[0] };
+ },
+ }));
+ var zze = {};
+ function K4(i) {
+ for (
+ var { type: s, names: u, props: d, handler: p, htmlBuilder: v, mathmlBuilder: b } = i,
+ y = { type: s, numArgs: d.numArgs || 0, allowedInText: !1, numOptionalArgs: 0, handler: p },
+ T = 0;
+ T < u.length;
+ ++T
+ )
+ zze[u[T]] = y;
+ (v && (dQ[s] = v), b && (gQ[s] = b));
+ }
+ var qze = {};
+ function et(i, s) {
+ qze[i] = s;
+ }
+ function Hze(i) {
+ var s = [];
+ i.consumeSpaces();
+ var u = i.fetch().text;
+ for (
+ u === '\\relax' && (i.consume(), i.consumeSpaces(), (u = i.fetch().text));
+ u === '\\hline' || u === '\\hdashline';
+ )
+ (i.consume(), s.push(u === '\\hdashline'), i.consumeSpaces(), (u = i.fetch().text));
+ return s;
+ }
+ var kQ = (i) => {
+ var s = i.parser.settings;
+ if (!s.displayMode) throw new Si('{' + i.envName + '} can be used only in display mode.');
+ };
+ function Cbe(i) {
+ if (i.indexOf('ed') === -1) return i.indexOf('*') === -1;
+ }
+ function _9(i, s, u) {
+ var {
+ hskipBeforeAndAfter: d,
+ addJot: p,
+ cols: v,
+ arraystretch: b,
+ colSeparationType: y,
+ autoTag: T,
+ singleRow: _,
+ emptySingleRow: A,
+ maxNumCols: P,
+ leqno: R,
+ } = s;
+ if ((i.gullet.beginGroup(), _ || i.gullet.macros.set('\\cr', '\\\\\\relax'), !b)) {
+ var F = i.gullet.expandMacroAsText('\\arraystretch');
+ if (F == null) b = 1;
+ else if (((b = parseFloat(F)), !b || b < 0)) throw new Si('Invalid \\arraystretch: ' + F);
+ }
+ i.gullet.beginGroup();
+ var j = [],
+ W = [j],
+ ee = [],
+ ie = [],
+ oe = T != null ? [] : void 0;
+ function be() {
+ T && i.gullet.macros.set('\\@eqnsw', '1', !0);
+ }
+ function ge() {
+ oe &&
+ (i.gullet.macros.get('\\df@tag')
+ ? (oe.push(i.subparse([new Pv('\\df@tag')])), i.gullet.macros.set('\\df@tag', void 0, !0))
+ : oe.push(!!T && i.gullet.macros.get('\\@eqnsw') === '1'));
+ }
+ for (be(), ie.push(Hze(i)); ; ) {
+ var ae = i.parseExpression(!1, _ ? '\\end' : '\\\\');
+ (i.gullet.endGroup(),
+ i.gullet.beginGroup(),
+ (ae = { type: 'ordgroup', mode: i.mode, body: ae }),
+ u && (ae = { type: 'styling', mode: i.mode, style: u, body: [ae] }),
+ j.push(ae));
+ var ne = i.fetch().text;
+ if (ne === '&') {
+ if (P && j.length === P) {
+ if (_ || y) throw new Si('Too many tab characters: &', i.nextToken);
+ i.settings.reportNonstrict(
+ 'textEnv',
+ 'Too few columns specified in the {array} column argument.',
+ );
+ }
+ i.consume();
+ } else if (ne === '\\end') {
+ (ge(),
+ j.length === 1 &&
+ ae.type === 'styling' &&
+ ae.body[0].body.length === 0 &&
+ (W.length > 1 || !A) &&
+ W.pop(),
+ ie.length < W.length + 1 && ie.push([]));
+ break;
+ } else if (ne === '\\\\') {
+ i.consume();
+ var se = void 0;
+ (i.gullet.future().text !== ' ' && (se = i.parseSizeGroup(!0)),
+ ee.push(se ? se.value : null),
+ ge(),
+ ie.push(Hze(i)),
+ (j = []),
+ W.push(j),
+ be());
+ } else throw new Si('Expected & or \\\\ or \\cr or \\end', i.nextToken);
+ }
+ return (
+ i.gullet.endGroup(),
+ i.gullet.endGroup(),
+ {
+ type: 'array',
+ mode: i.mode,
+ addJot: p,
+ arraystretch: b,
+ body: W,
+ cols: v,
+ rowGaps: ee,
+ hskipBeforeAndAfter: d,
+ hLinesBeforeRow: ie,
+ colSeparationType: y,
+ tags: oe,
+ leqno: R,
+ }
+ );
+ }
+ function Sbe(i) {
+ return i.slice(0, 1) === 'd' ? 'display' : 'text';
+ }
+ var W4 = function (s, u) {
+ var d,
+ p,
+ v = s.body.length,
+ b = s.hLinesBeforeRow,
+ y = 0,
+ T = new Array(v),
+ _ = [],
+ A = Math.max(u.fontMetrics().arrayRuleWidth, u.minRuleThickness),
+ P = 1 / u.fontMetrics().ptPerEm,
+ R = 5 * P;
+ if (s.colSeparationType && s.colSeparationType === 'small') {
+ var F = u.havingStyle(Ca.SCRIPT).sizeMultiplier;
+ R = 0.2778 * (F / u.sizeMultiplier);
+ }
+ var j = s.colSeparationType === 'CD' ? Gh({ number: 3, unit: 'ex' }, u) : 12 * P,
+ W = 3 * P,
+ ee = s.arraystretch * j,
+ ie = 0.7 * ee,
+ oe = 0.3 * ee,
+ be = 0;
+ function ge(Fi) {
+ for (var yi = 0; yi < Fi.length; ++yi)
+ (yi > 0 && (be += 0.25), _.push({ pos: be, isDashed: Fi[yi] }));
+ }
+ for (ge(b[0]), d = 0; d < s.body.length; ++d) {
+ var ae = s.body[d],
+ ne = ie,
+ se = oe;
+ y < ae.length && (y = ae.length);
+ var de = new Array(ae.length);
+ for (p = 0; p < ae.length; ++p) {
+ var X = uu(ae[p], u);
+ (se < X.depth && (se = X.depth), ne < X.height && (ne = X.height), (de[p] = X));
+ }
+ var pe = s.rowGaps[d],
+ G = 0;
+ (pe && ((G = Gh(pe, u)), G > 0 && ((G += oe), se < G && (se = G), (G = 0))),
+ s.addJot && (se += W),
+ (de.height = ne),
+ (de.depth = se),
+ (be += ne),
+ (de.pos = be),
+ (be += se + G),
+ (T[d] = de),
+ ge(b[d + 1]));
+ }
+ var xe = be / 2 + u.fontMetrics().axisHeight,
+ U = s.cols || [],
+ Be = [],
+ Ne,
+ je,
+ Ie = [];
+ if (s.tags && s.tags.some((Fi) => Fi))
+ for (d = 0; d < v; ++d) {
+ var Se = T[d],
+ Ce = Se.pos - xe,
+ ke = s.tags[d],
+ Ke = void 0;
+ (ke === !0
+ ? (Ke = Hn.makeSpan(['eqn-num'], [], u))
+ : ke === !1
+ ? (Ke = Hn.makeSpan([], [], u))
+ : (Ke = Hn.makeSpan([], l1(ke, u, !0), u)),
+ (Ke.depth = Se.depth),
+ (Ke.height = Se.height),
+ Ie.push({ type: 'elem', elem: Ke, shift: Ce }));
+ }
+ for (p = 0, je = 0; p < y || je < U.length; ++p, ++je) {
+ for (var Ft = U[je] || {}, Pe = !0; Ft.type === 'separator'; ) {
+ if (
+ (Pe ||
+ ((Ne = Hn.makeSpan(['arraycolsep'], [])),
+ (Ne.style.width = ji(u.fontMetrics().doubleRuleSep)),
+ Be.push(Ne)),
+ Ft.separator === '|' || Ft.separator === ':')
+ ) {
+ var gn = Ft.separator === '|' ? 'solid' : 'dashed',
+ kt = Hn.makeSpan(['vertical-separator'], [], u);
+ ((kt.style.height = ji(be)),
+ (kt.style.borderRightWidth = ji(A)),
+ (kt.style.borderRightStyle = gn),
+ (kt.style.margin = '0 ' + ji(-A / 2)));
+ var Et = be - xe;
+ (Et && (kt.style.verticalAlign = ji(-Et)), Be.push(kt));
+ } else throw new Si('Invalid separator type: ' + Ft.separator);
+ (je++, (Ft = U[je] || {}), (Pe = !1));
+ }
+ if (!(p >= y)) {
+ var Gt = void 0;
+ (p > 0 || s.hskipBeforeAndAfter) &&
+ ((Gt = pa.deflt(Ft.pregap, R)),
+ Gt !== 0 &&
+ ((Ne = Hn.makeSpan(['arraycolsep'], [])), (Ne.style.width = ji(Gt)), Be.push(Ne)));
+ var ln = [];
+ for (d = 0; d < v; ++d) {
+ var xt = T[d],
+ Pt = xt[p];
+ if (Pt) {
+ var Ze = xt.pos - xe;
+ ((Pt.depth = xt.depth),
+ (Pt.height = xt.height),
+ ln.push({ type: 'elem', elem: Pt, shift: Ze }));
+ }
+ }
+ ((ln = Hn.makeVList({ positionType: 'individualShift', children: ln }, u)),
+ (ln = Hn.makeSpan(['col-align-' + (Ft.align || 'c')], [ln])),
+ Be.push(ln),
+ (p < y - 1 || s.hskipBeforeAndAfter) &&
+ ((Gt = pa.deflt(Ft.postgap, R)),
+ Gt !== 0 &&
+ ((Ne = Hn.makeSpan(['arraycolsep'], [])), (Ne.style.width = ji(Gt)), Be.push(Ne))));
+ }
+ }
+ if (((T = Hn.makeSpan(['mtable'], Be)), _.length > 0)) {
+ for (
+ var At = Hn.makeLineSpan('hline', u, A),
+ Tt = Hn.makeLineSpan('hdashline', u, A),
+ On = [{ type: 'elem', elem: T, shift: 0 }];
+ _.length > 0;
+ ) {
+ var ht = _.pop(),
+ zr = ht.pos - xe;
+ ht.isDashed
+ ? On.push({ type: 'elem', elem: Tt, shift: zr })
+ : On.push({ type: 'elem', elem: At, shift: zr });
+ }
+ T = Hn.makeVList({ positionType: 'individualShift', children: On }, u);
+ }
+ if (Ie.length === 0) return Hn.makeSpan(['mord'], [T], u);
+ var yt = Hn.makeVList({ positionType: 'individualShift', children: Ie }, u);
+ return ((yt = Hn.makeSpan(['tag'], [yt], u)), Hn.makeFragment([T, yt]));
+ },
+ pVt = { c: 'center ', l: 'left ', r: 'right ' },
+ Y4 = function (s, u) {
+ for (
+ var d = [],
+ p = new wi.MathNode('mtd', [], ['mtr-glue']),
+ v = new wi.MathNode('mtd', [], ['mml-eqn-num']),
+ b = 0;
+ b < s.body.length;
+ b++
+ ) {
+ for (var y = s.body[b], T = [], _ = 0; _ < y.length; _++)
+ T.push(new wi.MathNode('mtd', [Dl(y[_], u)]));
+ (s.tags && s.tags[b] && (T.unshift(p), T.push(p), s.leqno ? T.unshift(v) : T.push(v)),
+ d.push(new wi.MathNode('mtr', T)));
+ }
+ var A = new wi.MathNode('mtable', d),
+ P = s.arraystretch === 0.5 ? 0.1 : 0.16 + s.arraystretch - 1 + (s.addJot ? 0.09 : 0);
+ A.setAttribute('rowspacing', ji(P));
+ var R = '',
+ F = '';
+ if (s.cols && s.cols.length > 0) {
+ var j = s.cols,
+ W = '',
+ ee = !1,
+ ie = 0,
+ oe = j.length;
+ (j[0].type === 'separator' && ((R += 'top '), (ie = 1)),
+ j[j.length - 1].type === 'separator' && ((R += 'bottom '), (oe -= 1)));
+ for (var be = ie; be < oe; be++)
+ j[be].type === 'align'
+ ? ((F += pVt[j[be].align]), ee && (W += 'none '), (ee = !0))
+ : j[be].type === 'separator' &&
+ ee &&
+ ((W += j[be].separator === '|' ? 'solid ' : 'dashed '), (ee = !1));
+ (A.setAttribute('columnalign', F.trim()),
+ /[sd]/.test(W) && A.setAttribute('columnlines', W.trim()));
+ }
+ if (s.colSeparationType === 'align') {
+ for (var ge = s.cols || [], ae = '', ne = 1; ne < ge.length; ne++)
+ ae += ne % 2 ? '0em ' : '1em ';
+ A.setAttribute('columnspacing', ae.trim());
+ } else
+ s.colSeparationType === 'alignat' || s.colSeparationType === 'gather'
+ ? A.setAttribute('columnspacing', '0em')
+ : s.colSeparationType === 'small'
+ ? A.setAttribute('columnspacing', '0.2778em')
+ : s.colSeparationType === 'CD'
+ ? A.setAttribute('columnspacing', '0.5em')
+ : A.setAttribute('columnspacing', '1em');
+ var se = '',
+ de = s.hLinesBeforeRow;
+ ((R += de[0].length > 0 ? 'left ' : ''), (R += de[de.length - 1].length > 0 ? 'right ' : ''));
+ for (var X = 1; X < de.length - 1; X++)
+ se += de[X].length === 0 ? 'none ' : de[X][0] ? 'dashed ' : 'solid ';
+ return (
+ /[sd]/.test(se) && A.setAttribute('rowlines', se.trim()),
+ R !== '' && ((A = new wi.MathNode('menclose', [A])), A.setAttribute('notation', R.trim())),
+ s.arraystretch &&
+ s.arraystretch < 1 &&
+ ((A = new wi.MathNode('mstyle', [A])), A.setAttribute('scriptlevel', '1')),
+ A
+ );
+ },
+ Vze = function (s, u) {
+ s.envName.indexOf('ed') === -1 && kQ(s);
+ var d = [],
+ p = s.envName.indexOf('at') > -1 ? 'alignat' : 'align',
+ v = s.envName === 'split',
+ b = _9(
+ s.parser,
+ {
+ cols: d,
+ addJot: !0,
+ autoTag: v ? void 0 : Cbe(s.envName),
+ emptySingleRow: !0,
+ colSeparationType: p,
+ maxNumCols: v ? 2 : void 0,
+ leqno: s.parser.settings.leqno,
+ },
+ 'display',
+ ),
+ y,
+ T = 0,
+ _ = { type: 'ordgroup', mode: s.mode, body: [] };
+ if (u[0] && u[0].type === 'ordgroup') {
+ for (var A = '', P = 0; P < u[0].body.length; P++) {
+ var R = Ko(u[0].body[P], 'textord');
+ A += R.text;
+ }
+ ((y = Number(A)), (T = y * 2));
+ }
+ var F = !T;
+ b.body.forEach(function (ie) {
+ for (var oe = 1; oe < ie.length; oe += 2) {
+ var be = Ko(ie[oe], 'styling'),
+ ge = Ko(be.body[0], 'ordgroup');
+ ge.body.unshift(_);
+ }
+ if (F) T < ie.length && (T = ie.length);
+ else {
+ var ae = ie.length / 2;
+ if (y < ae)
+ throw new Si('Too many math in a row: ' + ('expected ' + y + ', but got ' + ae), ie[0]);
+ }
+ });
+ for (var j = 0; j < T; ++j) {
+ var W = 'r',
+ ee = 0;
+ (j % 2 === 1 ? (W = 'l') : j > 0 && F && (ee = 1),
+ (d[j] = { type: 'align', align: W, pregap: ee, postgap: 0 }));
+ }
+ return ((b.colSeparationType = F ? 'align' : 'alignat'), b);
+ };
+ (K4({
+ type: 'array',
+ names: ['array', 'darray'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var u = mQ(s[0]),
+ d = u ? [s[0]] : Ko(s[0], 'ordgroup').body,
+ p = d.map(function (b) {
+ var y = dbe(b),
+ T = y.text;
+ if ('lcr'.indexOf(T) !== -1) return { type: 'align', align: T };
+ if (T === '|') return { type: 'separator', separator: '|' };
+ if (T === ':') return { type: 'separator', separator: ':' };
+ throw new Si('Unknown column alignment: ' + T, b);
+ }),
+ v = { cols: p, hskipBeforeAndAfter: !0, maxNumCols: p.length };
+ return _9(i.parser, v, Sbe(i.envName));
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: [
+ 'matrix',
+ 'pmatrix',
+ 'bmatrix',
+ 'Bmatrix',
+ 'vmatrix',
+ 'Vmatrix',
+ 'matrix*',
+ 'pmatrix*',
+ 'bmatrix*',
+ 'Bmatrix*',
+ 'vmatrix*',
+ 'Vmatrix*',
+ ],
+ props: { numArgs: 0 },
+ handler(i) {
+ var s = {
+ matrix: null,
+ pmatrix: ['(', ')'],
+ bmatrix: ['[', ']'],
+ Bmatrix: ['\\{', '\\}'],
+ vmatrix: ['|', '|'],
+ Vmatrix: ['\\Vert', '\\Vert'],
+ }[i.envName.replace('*', '')],
+ u = 'c',
+ d = { hskipBeforeAndAfter: !1, cols: [{ type: 'align', align: u }] };
+ if (i.envName.charAt(i.envName.length - 1) === '*') {
+ var p = i.parser;
+ if ((p.consumeSpaces(), p.fetch().text === '[')) {
+ if ((p.consume(), p.consumeSpaces(), (u = p.fetch().text), 'lcr'.indexOf(u) === -1))
+ throw new Si('Expected l or c or r', p.nextToken);
+ (p.consume(),
+ p.consumeSpaces(),
+ p.expect(']'),
+ p.consume(),
+ (d.cols = [{ type: 'align', align: u }]));
+ }
+ }
+ var v = _9(i.parser, d, Sbe(i.envName)),
+ b = Math.max(0, ...v.body.map((y) => y.length));
+ return (
+ (v.cols = new Array(b).fill({ type: 'align', align: u })),
+ s
+ ? {
+ type: 'leftright',
+ mode: i.mode,
+ body: [v],
+ left: s[0],
+ right: s[1],
+ rightColor: void 0,
+ }
+ : v
+ );
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['smallmatrix'],
+ props: { numArgs: 0 },
+ handler(i) {
+ var s = { arraystretch: 0.5 },
+ u = _9(i.parser, s, 'script');
+ return ((u.colSeparationType = 'small'), u);
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['subarray'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var u = mQ(s[0]),
+ d = u ? [s[0]] : Ko(s[0], 'ordgroup').body,
+ p = d.map(function (b) {
+ var y = dbe(b),
+ T = y.text;
+ if ('lc'.indexOf(T) !== -1) return { type: 'align', align: T };
+ throw new Si('Unknown column alignment: ' + T, b);
+ });
+ if (p.length > 1) throw new Si('{subarray} can contain only one column');
+ var v = { cols: p, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
+ if (((v = _9(i.parser, v, 'script')), v.body.length > 0 && v.body[0].length > 1))
+ throw new Si('{subarray} can contain only one column');
+ return v;
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['cases', 'dcases', 'rcases', 'drcases'],
+ props: { numArgs: 0 },
+ handler(i) {
+ var s = {
+ arraystretch: 1.2,
+ cols: [
+ { type: 'align', align: 'l', pregap: 0, postgap: 1 },
+ { type: 'align', align: 'l', pregap: 0, postgap: 0 },
+ ],
+ },
+ u = _9(i.parser, s, Sbe(i.envName));
+ return {
+ type: 'leftright',
+ mode: i.mode,
+ body: [u],
+ left: i.envName.indexOf('r') > -1 ? '.' : '\\{',
+ right: i.envName.indexOf('r') > -1 ? '\\}' : '.',
+ rightColor: void 0,
+ };
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['align', 'align*', 'aligned', 'split'],
+ props: { numArgs: 0 },
+ handler: Vze,
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['gathered', 'gather', 'gather*'],
+ props: { numArgs: 0 },
+ handler(i) {
+ pa.contains(['gather', 'gather*'], i.envName) && kQ(i);
+ var s = {
+ cols: [{ type: 'align', align: 'c' }],
+ addJot: !0,
+ colSeparationType: 'gather',
+ autoTag: Cbe(i.envName),
+ emptySingleRow: !0,
+ leqno: i.parser.settings.leqno,
+ };
+ return _9(i.parser, s, 'display');
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['alignat', 'alignat*', 'alignedat'],
+ props: { numArgs: 1 },
+ handler: Vze,
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['equation', 'equation*'],
+ props: { numArgs: 0 },
+ handler(i) {
+ kQ(i);
+ var s = {
+ autoTag: Cbe(i.envName),
+ emptySingleRow: !0,
+ singleRow: !0,
+ maxNumCols: 1,
+ leqno: i.parser.settings.leqno,
+ };
+ return _9(i.parser, s, 'display');
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ K4({
+ type: 'array',
+ names: ['CD'],
+ props: { numArgs: 0 },
+ handler(i) {
+ return (kQ(i), tVt(i.parser));
+ },
+ htmlBuilder: W4,
+ mathmlBuilder: Y4,
+ }),
+ et('\\nonumber', '\\gdef\\@eqnsw{0}'),
+ et('\\notag', '\\nonumber'),
+ Ji({
+ type: 'text',
+ names: ['\\hline', '\\hdashline'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
+ handler(i, s) {
+ throw new Si(i.funcName + ' valid only within array environment');
+ },
+ }));
+ var Uze = zze;
+ Ji({
+ type: 'environment',
+ names: ['\\begin', '\\end'],
+ props: { numArgs: 1, argTypes: ['text'] },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ if (p.type !== 'ordgroup') throw new Si('Invalid environment name', p);
+ for (var v = '', b = 0; b < p.body.length; ++b) v += Ko(p.body[b], 'textord').text;
+ if (d === '\\begin') {
+ if (!Uze.hasOwnProperty(v)) throw new Si('No such environment: ' + v, p);
+ var y = Uze[v],
+ { args: T, optArgs: _ } = u.parseArguments('\\begin{' + v + '}', y),
+ A = { mode: u.mode, envName: v, parser: u },
+ P = y.handler(A, T, _);
+ u.expect('\\end', !1);
+ var R = u.nextToken,
+ F = Ko(u.parseFunction(), 'environment');
+ if (F.name !== v)
+ throw new Si('Mismatch: \\begin{' + v + '} matched by \\end{' + F.name + '}', R);
+ return P;
+ }
+ return { type: 'environment', mode: u.mode, name: v, nameGroup: p };
+ },
+ });
+ var Gze = (i, s) => {
+ var u = i.font,
+ d = s.withFont(u);
+ return uu(i.body, d);
+ },
+ Kze = (i, s) => {
+ var u = i.font,
+ d = s.withFont(u);
+ return Dl(i.body, d);
+ },
+ Wze = {
+ '\\Bbb': '\\mathbb',
+ '\\bold': '\\mathbf',
+ '\\frak': '\\mathfrak',
+ '\\bm': '\\boldsymbol',
+ };
+ (Ji({
+ type: 'font',
+ names: [
+ '\\mathrm',
+ '\\mathit',
+ '\\mathbf',
+ '\\mathnormal',
+ '\\mathbb',
+ '\\mathcal',
+ '\\mathfrak',
+ '\\mathscr',
+ '\\mathsf',
+ '\\mathtt',
+ '\\Bbb',
+ '\\bold',
+ '\\frak',
+ ],
+ props: { numArgs: 1, allowedInArgument: !0 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = pQ(s[0]),
+ v = d;
+ return (v in Wze && (v = Wze[v]), { type: 'font', mode: u.mode, font: v.slice(1), body: p });
+ },
+ htmlBuilder: Gze,
+ mathmlBuilder: Kze,
+ }),
+ Ji({
+ type: 'mclass',
+ names: ['\\boldsymbol', '\\bm'],
+ props: { numArgs: 1 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = s[0],
+ p = pa.isCharacterBox(d);
+ return {
+ type: 'mclass',
+ mode: u.mode,
+ mclass: wQ(d),
+ body: [{ type: 'font', mode: u.mode, font: 'boldsymbol', body: d }],
+ isCharacterBox: p,
+ };
+ },
+ }),
+ Ji({
+ type: 'font',
+ names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d, breakOnTokenText: p } = i,
+ { mode: v } = u,
+ b = u.parseExpression(!0, p),
+ y = 'math' + d.slice(1);
+ return {
+ type: 'font',
+ mode: v,
+ font: y,
+ body: { type: 'ordgroup', mode: u.mode, body: b },
+ };
+ },
+ htmlBuilder: Gze,
+ mathmlBuilder: Kze,
+ }));
+ var Yze = (i, s) => {
+ var u = s;
+ return (
+ i === 'display'
+ ? (u = u.id >= Ca.SCRIPT.id ? u.text() : Ca.DISPLAY)
+ : i === 'text' && u.size === Ca.DISPLAY.size
+ ? (u = Ca.TEXT)
+ : i === 'script'
+ ? (u = Ca.SCRIPT)
+ : i === 'scriptscript' && (u = Ca.SCRIPTSCRIPT),
+ u
+ );
+ },
+ _be = (i, s) => {
+ var u = Yze(i.size, s.style),
+ d = u.fracNum(),
+ p = u.fracDen(),
+ v;
+ v = s.havingStyle(d);
+ var b = uu(i.numer, v, s);
+ if (i.continued) {
+ var y = 8.5 / s.fontMetrics().ptPerEm,
+ T = 3.5 / s.fontMetrics().ptPerEm;
+ ((b.height = b.height < y ? y : b.height), (b.depth = b.depth < T ? T : b.depth));
+ }
+ v = s.havingStyle(p);
+ var _ = uu(i.denom, v, s),
+ A,
+ P,
+ R;
+ i.hasBarLine
+ ? (i.barSize
+ ? ((P = Gh(i.barSize, s)), (A = Hn.makeLineSpan('frac-line', s, P)))
+ : (A = Hn.makeLineSpan('frac-line', s)),
+ (P = A.height),
+ (R = A.height))
+ : ((A = null), (P = 0), (R = s.fontMetrics().defaultRuleThickness));
+ var F, j, W;
+ u.size === Ca.DISPLAY.size || i.size === 'display'
+ ? ((F = s.fontMetrics().num1),
+ P > 0 ? (j = 3 * R) : (j = 7 * R),
+ (W = s.fontMetrics().denom1))
+ : (P > 0
+ ? ((F = s.fontMetrics().num2), (j = R))
+ : ((F = s.fontMetrics().num3), (j = 3 * R)),
+ (W = s.fontMetrics().denom2));
+ var ee;
+ if (A) {
+ var oe = s.fontMetrics().axisHeight;
+ (F - b.depth - (oe + 0.5 * P) < j && (F += j - (F - b.depth - (oe + 0.5 * P))),
+ oe - 0.5 * P - (_.height - W) < j && (W += j - (oe - 0.5 * P - (_.height - W))));
+ var be = -(oe - 0.5 * P);
+ ee = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: _, shift: W },
+ { type: 'elem', elem: A, shift: be },
+ { type: 'elem', elem: b, shift: -F },
+ ],
+ },
+ s,
+ );
+ } else {
+ var ie = F - b.depth - (_.height - W);
+ (ie < j && ((F += 0.5 * (j - ie)), (W += 0.5 * (j - ie))),
+ (ee = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: _, shift: W },
+ { type: 'elem', elem: b, shift: -F },
+ ],
+ },
+ s,
+ )));
+ }
+ ((v = s.havingStyle(u)),
+ (ee.height *= v.sizeMultiplier / s.sizeMultiplier),
+ (ee.depth *= v.sizeMultiplier / s.sizeMultiplier));
+ var ge;
+ u.size === Ca.DISPLAY.size
+ ? (ge = s.fontMetrics().delim1)
+ : u.size === Ca.SCRIPTSCRIPT.size
+ ? (ge = s.havingStyle(Ca.SCRIPT).fontMetrics().delim2)
+ : (ge = s.fontMetrics().delim2);
+ var ae, ne;
+ return (
+ i.leftDelim == null
+ ? (ae = lR(s, ['mopen']))
+ : (ae = P7.customSizedDelim(i.leftDelim, ge, !0, s.havingStyle(u), i.mode, ['mopen'])),
+ i.continued
+ ? (ne = Hn.makeSpan([]))
+ : i.rightDelim == null
+ ? (ne = lR(s, ['mclose']))
+ : (ne = P7.customSizedDelim(i.rightDelim, ge, !0, s.havingStyle(u), i.mode, [
+ 'mclose',
+ ])),
+ Hn.makeSpan(['mord'].concat(v.sizingClasses(s)), [ae, Hn.makeSpan(['mfrac'], [ee]), ne], s)
+ );
+ },
+ Abe = (i, s) => {
+ var u = new wi.MathNode('mfrac', [Dl(i.numer, s), Dl(i.denom, s)]);
+ if (!i.hasBarLine) u.setAttribute('linethickness', '0px');
+ else if (i.barSize) {
+ var d = Gh(i.barSize, s);
+ u.setAttribute('linethickness', ji(d));
+ }
+ var p = Yze(i.size, s.style);
+ if (p.size !== s.style.size) {
+ u = new wi.MathNode('mstyle', [u]);
+ var v = p.size === Ca.DISPLAY.size ? 'true' : 'false';
+ (u.setAttribute('displaystyle', v), u.setAttribute('scriptlevel', '0'));
+ }
+ if (i.leftDelim != null || i.rightDelim != null) {
+ var b = [];
+ if (i.leftDelim != null) {
+ var y = new wi.MathNode('mo', [new wi.TextNode(i.leftDelim.replace('\\', ''))]);
+ (y.setAttribute('fence', 'true'), b.push(y));
+ }
+ if ((b.push(u), i.rightDelim != null)) {
+ var T = new wi.MathNode('mo', [new wi.TextNode(i.rightDelim.replace('\\', ''))]);
+ (T.setAttribute('fence', 'true'), b.push(T));
+ }
+ return hbe(b);
+ }
+ return u;
+ };
+ (Ji({
+ type: 'genfrac',
+ names: [
+ '\\dfrac',
+ '\\frac',
+ '\\tfrac',
+ '\\dbinom',
+ '\\binom',
+ '\\tbinom',
+ '\\\\atopfrac',
+ '\\\\bracefrac',
+ '\\\\brackfrac',
+ ],
+ props: { numArgs: 2, allowedInArgument: !0 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = s[0],
+ v = s[1],
+ b,
+ y = null,
+ T = null,
+ _ = 'auto';
+ switch (d) {
+ case '\\dfrac':
+ case '\\frac':
+ case '\\tfrac':
+ b = !0;
+ break;
+ case '\\\\atopfrac':
+ b = !1;
+ break;
+ case '\\dbinom':
+ case '\\binom':
+ case '\\tbinom':
+ ((b = !1), (y = '('), (T = ')'));
+ break;
+ case '\\\\bracefrac':
+ ((b = !1), (y = '\\{'), (T = '\\}'));
+ break;
+ case '\\\\brackfrac':
+ ((b = !1), (y = '['), (T = ']'));
+ break;
+ default:
+ throw new Error('Unrecognized genfrac command');
+ }
+ switch (d) {
+ case '\\dfrac':
+ case '\\dbinom':
+ _ = 'display';
+ break;
+ case '\\tfrac':
+ case '\\tbinom':
+ _ = 'text';
+ break;
+ }
+ return {
+ type: 'genfrac',
+ mode: u.mode,
+ continued: !1,
+ numer: p,
+ denom: v,
+ hasBarLine: b,
+ leftDelim: y,
+ rightDelim: T,
+ size: _,
+ barSize: null,
+ };
+ },
+ htmlBuilder: _be,
+ mathmlBuilder: Abe,
+ }),
+ Ji({
+ type: 'genfrac',
+ names: ['\\cfrac'],
+ props: { numArgs: 2 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = s[0],
+ v = s[1];
+ return {
+ type: 'genfrac',
+ mode: u.mode,
+ continued: !0,
+ numer: p,
+ denom: v,
+ hasBarLine: !0,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'display',
+ barSize: null,
+ };
+ },
+ }),
+ Ji({
+ type: 'infix',
+ names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'],
+ props: { numArgs: 0, infix: !0 },
+ handler(i) {
+ var { parser: s, funcName: u, token: d } = i,
+ p;
+ switch (u) {
+ case '\\over':
+ p = '\\frac';
+ break;
+ case '\\choose':
+ p = '\\binom';
+ break;
+ case '\\atop':
+ p = '\\\\atopfrac';
+ break;
+ case '\\brace':
+ p = '\\\\bracefrac';
+ break;
+ case '\\brack':
+ p = '\\\\brackfrac';
+ break;
+ default:
+ throw new Error('Unrecognized infix genfrac command');
+ }
+ return { type: 'infix', mode: s.mode, replaceWith: p, token: d };
+ },
+ }));
+ var Xze = ['display', 'text', 'script', 'scriptscript'],
+ Qze = function (s) {
+ var u = null;
+ return (s.length > 0 && ((u = s), (u = u === '.' ? null : u)), u);
+ };
+ (Ji({
+ type: 'genfrac',
+ names: ['\\genfrac'],
+ props: {
+ numArgs: 6,
+ allowedInArgument: !0,
+ argTypes: ['math', 'math', 'size', 'text', 'math', 'math'],
+ },
+ handler(i, s) {
+ var { parser: u } = i,
+ d = s[4],
+ p = s[5],
+ v = pQ(s[0]),
+ b = v.type === 'atom' && v.family === 'open' ? Qze(v.text) : null,
+ y = pQ(s[1]),
+ T = y.type === 'atom' && y.family === 'close' ? Qze(y.text) : null,
+ _ = Ko(s[2], 'size'),
+ A,
+ P = null;
+ _.isBlank ? (A = !0) : ((P = _.value), (A = P.number > 0));
+ var R = 'auto',
+ F = s[3];
+ if (F.type === 'ordgroup') {
+ if (F.body.length > 0) {
+ var j = Ko(F.body[0], 'textord');
+ R = Xze[Number(j.text)];
+ }
+ } else ((F = Ko(F, 'textord')), (R = Xze[Number(F.text)]));
+ return {
+ type: 'genfrac',
+ mode: u.mode,
+ numer: d,
+ denom: p,
+ continued: !1,
+ hasBarLine: A,
+ barSize: P,
+ leftDelim: b,
+ rightDelim: T,
+ size: R,
+ };
+ },
+ htmlBuilder: _be,
+ mathmlBuilder: Abe,
+ }),
+ Ji({
+ type: 'infix',
+ names: ['\\above'],
+ props: { numArgs: 1, argTypes: ['size'], infix: !0 },
+ handler(i, s) {
+ var { parser: u, funcName: d, token: p } = i;
+ return {
+ type: 'infix',
+ mode: u.mode,
+ replaceWith: '\\\\abovefrac',
+ size: Ko(s[0], 'size').value,
+ token: p,
+ };
+ },
+ }),
+ Ji({
+ type: 'genfrac',
+ names: ['\\\\abovefrac'],
+ props: { numArgs: 3, argTypes: ['math', 'size', 'math'] },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = s[0],
+ v = Gqt(Ko(s[1], 'infix').size),
+ b = s[2],
+ y = v.number > 0;
+ return {
+ type: 'genfrac',
+ mode: u.mode,
+ numer: p,
+ denom: b,
+ continued: !1,
+ hasBarLine: y,
+ barSize: v,
+ leftDelim: null,
+ rightDelim: null,
+ size: 'auto',
+ };
+ },
+ htmlBuilder: _be,
+ mathmlBuilder: Abe,
+ }));
+ var Jze = (i, s) => {
+ var u = s.style,
+ d,
+ p;
+ i.type === 'supsub'
+ ? ((d = i.sup
+ ? uu(i.sup, s.havingStyle(u.sup()), s)
+ : uu(i.sub, s.havingStyle(u.sub()), s)),
+ (p = Ko(i.base, 'horizBrace')))
+ : (p = Ko(i, 'horizBrace'));
+ var v = uu(p.base, s.havingBaseStyle(Ca.DISPLAY)),
+ b = N7.svgSpan(p, s),
+ y;
+ if (
+ (p.isOver
+ ? ((y = Hn.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: v },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: b },
+ ],
+ },
+ s,
+ )),
+ y.children[0].children[0].children[1].classes.push('svg-align'))
+ : ((y = Hn.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: v.depth + 0.1 + b.height,
+ children: [
+ { type: 'elem', elem: b },
+ { type: 'kern', size: 0.1 },
+ { type: 'elem', elem: v },
+ ],
+ },
+ s,
+ )),
+ y.children[0].children[0].children[0].classes.push('svg-align')),
+ d)
+ ) {
+ var T = Hn.makeSpan(['mord', p.isOver ? 'mover' : 'munder'], [y], s);
+ p.isOver
+ ? (y = Hn.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: T },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: d },
+ ],
+ },
+ s,
+ ))
+ : (y = Hn.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: T.depth + 0.2 + d.height + d.depth,
+ children: [
+ { type: 'elem', elem: d },
+ { type: 'kern', size: 0.2 },
+ { type: 'elem', elem: T },
+ ],
+ },
+ s,
+ ));
+ }
+ return Hn.makeSpan(['mord', p.isOver ? 'mover' : 'munder'], [y], s);
+ },
+ bVt = (i, s) => {
+ var u = N7.mathMLnode(i.label);
+ return new wi.MathNode(i.isOver ? 'mover' : 'munder', [Dl(i.base, s), u]);
+ };
+ (Ji({
+ type: 'horizBrace',
+ names: ['\\overbrace', '\\underbrace'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i;
+ return { type: 'horizBrace', mode: u.mode, label: d, isOver: /^\\over/.test(d), base: s[0] };
+ },
+ htmlBuilder: Jze,
+ mathmlBuilder: bVt,
+ }),
+ Ji({
+ type: 'href',
+ names: ['\\href'],
+ props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = s[1],
+ p = Ko(s[0], 'url').url;
+ return u.settings.isTrusted({ command: '\\href', url: p })
+ ? { type: 'href', mode: u.mode, href: p, body: Wf(d) }
+ : u.formatUnsupportedCmd('\\href');
+ },
+ htmlBuilder: (i, s) => {
+ var u = l1(i.body, s, !1);
+ return Hn.makeAnchor(i.href, [], u, s);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = S9(i.body, s);
+ return (u instanceof Rv || (u = new Rv('mrow', [u])), u.setAttribute('href', i.href), u);
+ },
+ }),
+ Ji({
+ type: 'href',
+ names: ['\\url'],
+ props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = Ko(s[0], 'url').url;
+ if (!u.settings.isTrusted({ command: '\\url', url: d }))
+ return u.formatUnsupportedCmd('\\url');
+ for (var p = [], v = 0; v < d.length; v++) {
+ var b = d[v];
+ (b === '~' && (b = '\\textasciitilde'),
+ p.push({ type: 'textord', mode: 'text', text: b }));
+ }
+ var y = { type: 'text', mode: u.mode, font: '\\texttt', body: p };
+ return { type: 'href', mode: u.mode, href: d, body: Wf(y) };
+ },
+ }),
+ Ji({
+ type: 'hbox',
+ names: ['\\hbox'],
+ props: { numArgs: 1, argTypes: ['text'], allowedInText: !0, primitive: !0 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'hbox', mode: u.mode, body: Wf(s[0]) };
+ },
+ htmlBuilder(i, s) {
+ var u = l1(i.body, s, !1);
+ return Hn.makeFragment(u);
+ },
+ mathmlBuilder(i, s) {
+ return new wi.MathNode('mrow', $2(i.body, s));
+ },
+ }),
+ Ji({
+ type: 'html',
+ names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'],
+ props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d, token: p } = i,
+ v = Ko(s[0], 'raw').string,
+ b = s[1];
+ u.settings.strict &&
+ u.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode');
+ var y,
+ T = {};
+ switch (d) {
+ case '\\htmlClass':
+ ((T.class = v), (y = { command: '\\htmlClass', class: v }));
+ break;
+ case '\\htmlId':
+ ((T.id = v), (y = { command: '\\htmlId', id: v }));
+ break;
+ case '\\htmlStyle':
+ ((T.style = v), (y = { command: '\\htmlStyle', style: v }));
+ break;
+ case '\\htmlData': {
+ for (var _ = v.split(','), A = 0; A < _.length; A++) {
+ var P = _[A].split('=');
+ if (P.length !== 2) throw new Si('Error parsing key-value for \\htmlData');
+ T['data-' + P[0].trim()] = P[1].trim();
+ }
+ y = { command: '\\htmlData', attributes: T };
+ break;
+ }
+ default:
+ throw new Error('Unrecognized html command');
+ }
+ return u.settings.isTrusted(y)
+ ? { type: 'html', mode: u.mode, attributes: T, body: Wf(b) }
+ : u.formatUnsupportedCmd(d);
+ },
+ htmlBuilder: (i, s) => {
+ var u = l1(i.body, s, !1),
+ d = ['enclosing'];
+ i.attributes.class && d.push(...i.attributes.class.trim().split(/\s+/));
+ var p = Hn.makeSpan(d, u, s);
+ for (var v in i.attributes)
+ v !== 'class' && i.attributes.hasOwnProperty(v) && p.setAttribute(v, i.attributes[v]);
+ return p;
+ },
+ mathmlBuilder: (i, s) => S9(i.body, s),
+ }),
+ Ji({
+ type: 'htmlmathml',
+ names: ['\\html@mathml'],
+ props: { numArgs: 2, allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i;
+ return { type: 'htmlmathml', mode: u.mode, html: Wf(s[0]), mathml: Wf(s[1]) };
+ },
+ htmlBuilder: (i, s) => {
+ var u = l1(i.html, s, !1);
+ return Hn.makeFragment(u);
+ },
+ mathmlBuilder: (i, s) => S9(i.mathml, s),
+ }));
+ var Lbe = function (s) {
+ if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(s)) return { number: +s, unit: 'bp' };
+ var u = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(s);
+ if (!u) throw new Si("Invalid size: '" + s + "' in \\includegraphics");
+ var d = { number: +(u[1] + u[2]), unit: u[3] };
+ if (!eze(d)) throw new Si("Invalid unit: '" + d.unit + "' in \\includegraphics.");
+ return d;
+ };
+ (Ji({
+ type: 'includegraphics',
+ names: ['\\includegraphics'],
+ props: { numArgs: 1, numOptionalArgs: 1, argTypes: ['raw', 'url'], allowedInText: !1 },
+ handler: (i, s, u) => {
+ var { parser: d } = i,
+ p = { number: 0, unit: 'em' },
+ v = { number: 0.9, unit: 'em' },
+ b = { number: 0, unit: 'em' },
+ y = '';
+ if (u[0])
+ for (var T = Ko(u[0], 'raw').string, _ = T.split(','), A = 0; A < _.length; A++) {
+ var P = _[A].split('=');
+ if (P.length === 2) {
+ var R = P[1].trim();
+ switch (P[0].trim()) {
+ case 'alt':
+ y = R;
+ break;
+ case 'width':
+ p = Lbe(R);
+ break;
+ case 'height':
+ v = Lbe(R);
+ break;
+ case 'totalheight':
+ b = Lbe(R);
+ break;
+ default:
+ throw new Si("Invalid key: '" + P[0] + "' in \\includegraphics.");
+ }
+ }
+ }
+ var F = Ko(s[0], 'url').url;
+ return (
+ y === '' &&
+ ((y = F), (y = y.replace(/^.*[\\/]/, '')), (y = y.substring(0, y.lastIndexOf('.')))),
+ d.settings.isTrusted({ command: '\\includegraphics', url: F })
+ ? {
+ type: 'includegraphics',
+ mode: d.mode,
+ alt: y,
+ width: p,
+ height: v,
+ totalheight: b,
+ src: F,
+ }
+ : d.formatUnsupportedCmd('\\includegraphics')
+ );
+ },
+ htmlBuilder: (i, s) => {
+ var u = Gh(i.height, s),
+ d = 0;
+ i.totalheight.number > 0 && (d = Gh(i.totalheight, s) - u);
+ var p = 0;
+ i.width.number > 0 && (p = Gh(i.width, s));
+ var v = { height: ji(u + d) };
+ (p > 0 && (v.width = ji(p)), d > 0 && (v.verticalAlign = ji(-d)));
+ var b = new bHt(i.src, i.alt, v);
+ return ((b.height = u), (b.depth = d), b);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = new wi.MathNode('mglyph', []);
+ u.setAttribute('alt', i.alt);
+ var d = Gh(i.height, s),
+ p = 0;
+ if (
+ (i.totalheight.number > 0 &&
+ ((p = Gh(i.totalheight, s) - d), u.setAttribute('valign', ji(-p))),
+ u.setAttribute('height', ji(d + p)),
+ i.width.number > 0)
+ ) {
+ var v = Gh(i.width, s);
+ u.setAttribute('width', ji(v));
+ }
+ return (u.setAttribute('src', i.src), u);
+ },
+ }),
+ Ji({
+ type: 'kern',
+ names: ['\\kern', '\\mkern', '\\hskip', '\\mskip'],
+ props: { numArgs: 1, argTypes: ['size'], primitive: !0, allowedInText: !0 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i,
+ p = Ko(s[0], 'size');
+ if (u.settings.strict) {
+ var v = d[1] === 'm',
+ b = p.value.unit === 'mu';
+ v
+ ? (b ||
+ u.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + d + ' supports only mu units, ' + ('not ' + p.value.unit + ' units'),
+ ),
+ u.mode !== 'math' &&
+ u.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + d + ' works only in math mode',
+ ))
+ : b &&
+ u.settings.reportNonstrict(
+ 'mathVsTextUnits',
+ "LaTeX's " + d + " doesn't support mu units",
+ );
+ }
+ return { type: 'kern', mode: u.mode, dimension: p.value };
+ },
+ htmlBuilder(i, s) {
+ return Hn.makeGlue(i.dimension, s);
+ },
+ mathmlBuilder(i, s) {
+ var u = Gh(i.dimension, s);
+ return new wi.SpaceNode(u);
+ },
+ }),
+ Ji({
+ type: 'lap',
+ names: ['\\mathllap', '\\mathrlap', '\\mathclap'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ return { type: 'lap', mode: u.mode, alignment: d.slice(5), body: p };
+ },
+ htmlBuilder: (i, s) => {
+ var u;
+ i.alignment === 'clap'
+ ? ((u = Hn.makeSpan([], [uu(i.body, s)])), (u = Hn.makeSpan(['inner'], [u], s)))
+ : (u = Hn.makeSpan(['inner'], [uu(i.body, s)]));
+ var d = Hn.makeSpan(['fix'], []),
+ p = Hn.makeSpan([i.alignment], [u, d], s),
+ v = Hn.makeSpan(['strut']);
+ return (
+ (v.style.height = ji(p.height + p.depth)),
+ p.depth && (v.style.verticalAlign = ji(-p.depth)),
+ p.children.unshift(v),
+ (p = Hn.makeSpan(['thinbox'], [p], s)),
+ Hn.makeSpan(['mord', 'vbox'], [p], s)
+ );
+ },
+ mathmlBuilder: (i, s) => {
+ var u = new wi.MathNode('mpadded', [Dl(i.body, s)]);
+ if (i.alignment !== 'rlap') {
+ var d = i.alignment === 'llap' ? '-1' : '-0.5';
+ u.setAttribute('lspace', d + 'width');
+ }
+ return (u.setAttribute('width', '0px'), u);
+ },
+ }),
+ Ji({
+ type: 'styling',
+ names: ['\\(', '$'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler(i, s) {
+ var { funcName: u, parser: d } = i,
+ p = d.mode;
+ d.switchMode('math');
+ var v = u === '\\(' ? '\\)' : '$',
+ b = d.parseExpression(!1, v);
+ return (
+ d.expect(v),
+ d.switchMode(p),
+ { type: 'styling', mode: d.mode, style: 'text', body: b }
+ );
+ },
+ }),
+ Ji({
+ type: 'text',
+ names: ['\\)', '\\]'],
+ props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
+ handler(i, s) {
+ throw new Si('Mismatched ' + i.funcName);
+ },
+ }));
+ var Zze = (i, s) => {
+ switch (s.style.size) {
+ case Ca.DISPLAY.size:
+ return i.display;
+ case Ca.TEXT.size:
+ return i.text;
+ case Ca.SCRIPT.size:
+ return i.script;
+ case Ca.SCRIPTSCRIPT.size:
+ return i.scriptscript;
+ default:
+ return i.text;
+ }
+ };
+ Ji({
+ type: 'mathchoice',
+ names: ['\\mathchoice'],
+ props: { numArgs: 4, primitive: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i;
+ return {
+ type: 'mathchoice',
+ mode: u.mode,
+ display: Wf(s[0]),
+ text: Wf(s[1]),
+ script: Wf(s[2]),
+ scriptscript: Wf(s[3]),
+ };
+ },
+ htmlBuilder: (i, s) => {
+ var u = Zze(i, s),
+ d = l1(u, s, !1);
+ return Hn.makeFragment(d);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = Zze(i, s);
+ return S9(u, s);
+ },
+ });
+ var eqe = (i, s, u, d, p, v, b) => {
+ i = Hn.makeSpan([], [i]);
+ var y = u && pa.isCharacterBox(u),
+ T,
+ _;
+ if (s) {
+ var A = uu(s, d.havingStyle(p.sup()), d);
+ _ = {
+ elem: A,
+ kern: Math.max(d.fontMetrics().bigOpSpacing1, d.fontMetrics().bigOpSpacing3 - A.depth),
+ };
+ }
+ if (u) {
+ var P = uu(u, d.havingStyle(p.sub()), d);
+ T = {
+ elem: P,
+ kern: Math.max(d.fontMetrics().bigOpSpacing2, d.fontMetrics().bigOpSpacing4 - P.height),
+ };
+ }
+ var R;
+ if (_ && T) {
+ var F = d.fontMetrics().bigOpSpacing5 + T.elem.height + T.elem.depth + T.kern + i.depth + b;
+ R = Hn.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: F,
+ children: [
+ { type: 'kern', size: d.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: T.elem, marginLeft: ji(-v) },
+ { type: 'kern', size: T.kern },
+ { type: 'elem', elem: i },
+ { type: 'kern', size: _.kern },
+ { type: 'elem', elem: _.elem, marginLeft: ji(v) },
+ { type: 'kern', size: d.fontMetrics().bigOpSpacing5 },
+ ],
+ },
+ d,
+ );
+ } else if (T) {
+ var j = i.height - b;
+ R = Hn.makeVList(
+ {
+ positionType: 'top',
+ positionData: j,
+ children: [
+ { type: 'kern', size: d.fontMetrics().bigOpSpacing5 },
+ { type: 'elem', elem: T.elem, marginLeft: ji(-v) },
+ { type: 'kern', size: T.kern },
+ { type: 'elem', elem: i },
+ ],
+ },
+ d,
+ );
+ } else if (_) {
+ var W = i.depth + b;
+ R = Hn.makeVList(
+ {
+ positionType: 'bottom',
+ positionData: W,
+ children: [
+ { type: 'elem', elem: i },
+ { type: 'kern', size: _.kern },
+ { type: 'elem', elem: _.elem, marginLeft: ji(v) },
+ { type: 'kern', size: d.fontMetrics().bigOpSpacing5 },
+ ],
+ },
+ d,
+ );
+ } else return i;
+ var ee = [R];
+ if (T && v !== 0 && !y) {
+ var ie = Hn.makeSpan(['mspace'], [], d);
+ ((ie.style.marginRight = ji(v)), ee.unshift(ie));
+ }
+ return Hn.makeSpan(['mop', 'op-limits'], ee, d);
+ },
+ tqe = ['\\smallint'],
+ ND = (i, s) => {
+ var u,
+ d,
+ p = !1,
+ v;
+ i.type === 'supsub'
+ ? ((u = i.sup), (d = i.sub), (v = Ko(i.base, 'op')), (p = !0))
+ : (v = Ko(i, 'op'));
+ var b = s.style,
+ y = !1;
+ b.size === Ca.DISPLAY.size && v.symbol && !pa.contains(tqe, v.name) && (y = !0);
+ var T;
+ if (v.symbol) {
+ var _ = y ? 'Size2-Regular' : 'Size1-Regular',
+ A = '';
+ if (
+ ((v.name === '\\oiint' || v.name === '\\oiiint') &&
+ ((A = v.name.slice(1)), (v.name = A === 'oiint' ? '\\iint' : '\\iiint')),
+ (T = Hn.makeSymbol(v.name, _, 'math', s, [
+ 'mop',
+ 'op-symbol',
+ y ? 'large-op' : 'small-op',
+ ])),
+ A.length > 0)
+ ) {
+ var P = T.italic,
+ R = Hn.staticSvg(A + 'Size' + (y ? '2' : '1'), s);
+ ((T = Hn.makeVList(
+ {
+ positionType: 'individualShift',
+ children: [
+ { type: 'elem', elem: T, shift: 0 },
+ { type: 'elem', elem: R, shift: y ? 0.08 : 0 },
+ ],
+ },
+ s,
+ )),
+ (v.name = '\\' + A),
+ T.classes.unshift('mop'),
+ (T.italic = P));
+ }
+ } else if (v.body) {
+ var F = l1(v.body, s, !0);
+ F.length === 1 && F[0] instanceof Fv
+ ? ((T = F[0]), (T.classes[0] = 'mop'))
+ : (T = Hn.makeSpan(['mop'], F, s));
+ } else {
+ for (var j = [], W = 1; W < v.name.length; W++) j.push(Hn.mathsym(v.name[W], v.mode, s));
+ T = Hn.makeSpan(['mop'], j, s);
+ }
+ var ee = 0,
+ ie = 0;
+ return (
+ (T instanceof Fv || v.name === '\\oiint' || v.name === '\\oiiint') &&
+ !v.suppressBaseShift &&
+ ((ee = (T.height - T.depth) / 2 - s.fontMetrics().axisHeight), (ie = T.italic)),
+ p
+ ? eqe(T, u, d, s, b, ie, ee)
+ : (ee && ((T.style.position = 'relative'), (T.style.top = ji(ee))), T)
+ );
+ },
+ gR = (i, s) => {
+ var u;
+ if (i.symbol)
+ ((u = new Rv('mo', [jv(i.name, i.mode)])),
+ pa.contains(tqe, i.name) && u.setAttribute('largeop', 'false'));
+ else if (i.body) u = new Rv('mo', $2(i.body, s));
+ else {
+ u = new Rv('mi', [new hR(i.name.slice(1))]);
+ var d = new Rv('mo', [jv('', 'text')]);
+ i.parentIsSupSub ? (u = new Rv('mrow', [u, d])) : (u = vze([u, d]));
+ }
+ return u;
+ },
+ mVt = {
+ '∏': '\\prod',
+ '∐': '\\coprod',
+ '∑': '\\sum',
+ '⋀': '\\bigwedge',
+ '⋁': '\\bigvee',
+ '⋂': '\\bigcap',
+ '⋃': '\\bigcup',
+ '⨀': '\\bigodot',
+ '⨁': '\\bigoplus',
+ '⨂': '\\bigotimes',
+ '⨄': '\\biguplus',
+ '⨆': '\\bigsqcup',
+ };
+ (Ji({
+ type: 'op',
+ names: [
+ '\\coprod',
+ '\\bigvee',
+ '\\bigwedge',
+ '\\biguplus',
+ '\\bigcap',
+ '\\bigcup',
+ '\\intop',
+ '\\prod',
+ '\\sum',
+ '\\bigotimes',
+ '\\bigoplus',
+ '\\bigodot',
+ '\\bigsqcup',
+ '\\smallint',
+ '∏',
+ '∐',
+ '∑',
+ '⋀',
+ '⋁',
+ '⋂',
+ '⋃',
+ '⨀',
+ '⨁',
+ '⨂',
+ '⨄',
+ '⨆',
+ ],
+ props: { numArgs: 0 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = d;
+ return (
+ p.length === 1 && (p = mVt[p]),
+ { type: 'op', mode: u.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: p }
+ );
+ },
+ htmlBuilder: ND,
+ mathmlBuilder: gR,
+ }),
+ Ji({
+ type: 'op',
+ names: ['\\mathop'],
+ props: { numArgs: 1, primitive: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = s[0];
+ return {
+ type: 'op',
+ mode: u.mode,
+ limits: !1,
+ parentIsSupSub: !1,
+ symbol: !1,
+ body: Wf(d),
+ };
+ },
+ htmlBuilder: ND,
+ mathmlBuilder: gR,
+ }));
+ var vVt = {
+ '∫': '\\int',
+ '∬': '\\iint',
+ '∭': '\\iiint',
+ '∮': '\\oint',
+ '∯': '\\oiint',
+ '∰': '\\oiiint',
+ };
+ (Ji({
+ 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(i) {
+ var { parser: s, funcName: u } = i;
+ return { type: 'op', mode: s.mode, limits: !1, parentIsSupSub: !1, symbol: !1, name: u };
+ },
+ htmlBuilder: ND,
+ mathmlBuilder: gR,
+ }),
+ Ji({
+ type: 'op',
+ names: ['\\det', '\\gcd', '\\inf', '\\lim', '\\max', '\\min', '\\Pr', '\\sup'],
+ props: { numArgs: 0 },
+ handler(i) {
+ var { parser: s, funcName: u } = i;
+ return { type: 'op', mode: s.mode, limits: !0, parentIsSupSub: !1, symbol: !1, name: u };
+ },
+ htmlBuilder: ND,
+ mathmlBuilder: gR,
+ }),
+ Ji({
+ type: 'op',
+ names: [
+ '\\int',
+ '\\iint',
+ '\\iiint',
+ '\\oint',
+ '\\oiint',
+ '\\oiiint',
+ '∫',
+ '∬',
+ '∭',
+ '∮',
+ '∯',
+ '∰',
+ ],
+ props: { numArgs: 0 },
+ handler(i) {
+ var { parser: s, funcName: u } = i,
+ d = u;
+ return (
+ d.length === 1 && (d = vVt[d]),
+ { type: 'op', mode: s.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: d }
+ );
+ },
+ htmlBuilder: ND,
+ mathmlBuilder: gR,
+ }));
+ var nqe = (i, s) => {
+ var u,
+ d,
+ p = !1,
+ v;
+ i.type === 'supsub'
+ ? ((u = i.sup), (d = i.sub), (v = Ko(i.base, 'operatorname')), (p = !0))
+ : (v = Ko(i, 'operatorname'));
+ var b;
+ if (v.body.length > 0) {
+ for (
+ var y = v.body.map((P) => {
+ var R = P.text;
+ return typeof R == 'string' ? { type: 'textord', mode: P.mode, text: R } : P;
+ }),
+ T = l1(y, s.withFont('mathrm'), !0),
+ _ = 0;
+ _ < T.length;
+ _++
+ ) {
+ var A = T[_];
+ A instanceof Fv && (A.text = A.text.replace(/\u2212/, '-').replace(/\u2217/, '*'));
+ }
+ b = Hn.makeSpan(['mop'], T, s);
+ } else b = Hn.makeSpan(['mop'], [], s);
+ return p ? eqe(b, u, d, s, s.style, 0, 0) : b;
+ },
+ wVt = (i, s) => {
+ for (var u = $2(i.body, s.withFont('mathrm')), d = !0, p = 0; p < u.length; p++) {
+ var v = u[p];
+ if (!(v instanceof wi.SpaceNode))
+ if (v instanceof wi.MathNode)
+ switch (v.type) {
+ case 'mi':
+ case 'mn':
+ case 'ms':
+ case 'mspace':
+ case 'mtext':
+ break;
+ case 'mo': {
+ var b = v.children[0];
+ v.children.length === 1 && b instanceof wi.TextNode
+ ? (b.text = b.text.replace(/\u2212/, '-').replace(/\u2217/, '*'))
+ : (d = !1);
+ break;
+ }
+ default:
+ d = !1;
+ }
+ else d = !1;
+ }
+ if (d) {
+ var y = u.map((A) => A.toText()).join('');
+ u = [new wi.TextNode(y)];
+ }
+ var T = new wi.MathNode('mi', u);
+ T.setAttribute('mathvariant', 'normal');
+ var _ = new wi.MathNode('mo', [jv('', 'text')]);
+ return i.parentIsSupSub ? new wi.MathNode('mrow', [T, _]) : wi.newDocumentFragment([T, _]);
+ };
+ (Ji({
+ type: 'operatorname',
+ names: ['\\operatorname@', '\\operatornamewithlimits'],
+ props: { numArgs: 1 },
+ handler: (i, s) => {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ return {
+ type: 'operatorname',
+ mode: u.mode,
+ body: Wf(p),
+ alwaysHandleSupSub: d === '\\operatornamewithlimits',
+ limits: !1,
+ parentIsSupSub: !1,
+ };
+ },
+ htmlBuilder: nqe,
+ mathmlBuilder: wVt,
+ }),
+ et('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@'),
+ $C({
+ type: 'ordgroup',
+ htmlBuilder(i, s) {
+ return i.semisimple
+ ? Hn.makeFragment(l1(i.body, s, !1))
+ : Hn.makeSpan(['mord'], l1(i.body, s, !0), s);
+ },
+ mathmlBuilder(i, s) {
+ return S9(i.body, s, !0);
+ },
+ }),
+ Ji({
+ type: 'overline',
+ names: ['\\overline'],
+ props: { numArgs: 1 },
+ handler(i, s) {
+ var { parser: u } = i,
+ d = s[0];
+ return { type: 'overline', mode: u.mode, body: d };
+ },
+ htmlBuilder(i, s) {
+ var u = uu(i.body, s.havingCrampedStyle()),
+ d = Hn.makeLineSpan('overline-line', s),
+ p = s.fontMetrics().defaultRuleThickness,
+ v = Hn.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: u },
+ { type: 'kern', size: 3 * p },
+ { type: 'elem', elem: d },
+ { type: 'kern', size: p },
+ ],
+ },
+ s,
+ );
+ return Hn.makeSpan(['mord', 'overline'], [v], s);
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mo', [new wi.TextNode('‾')]);
+ u.setAttribute('stretchy', 'true');
+ var d = new wi.MathNode('mover', [Dl(i.body, s), u]);
+ return (d.setAttribute('accent', 'true'), d);
+ },
+ }),
+ Ji({
+ type: 'phantom',
+ names: ['\\phantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = s[0];
+ return { type: 'phantom', mode: u.mode, body: Wf(d) };
+ },
+ htmlBuilder: (i, s) => {
+ var u = l1(i.body, s.withPhantom(), !1);
+ return Hn.makeFragment(u);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = $2(i.body, s);
+ return new wi.MathNode('mphantom', u);
+ },
+ }),
+ Ji({
+ type: 'hphantom',
+ names: ['\\hphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = s[0];
+ return { type: 'hphantom', mode: u.mode, body: d };
+ },
+ htmlBuilder: (i, s) => {
+ var u = Hn.makeSpan([], [uu(i.body, s.withPhantom())]);
+ if (((u.height = 0), (u.depth = 0), u.children))
+ for (var d = 0; d < u.children.length; d++)
+ ((u.children[d].height = 0), (u.children[d].depth = 0));
+ return (
+ (u = Hn.makeVList(
+ { positionType: 'firstBaseline', children: [{ type: 'elem', elem: u }] },
+ s,
+ )),
+ Hn.makeSpan(['mord'], [u], s)
+ );
+ },
+ mathmlBuilder: (i, s) => {
+ var u = $2(Wf(i.body), s),
+ d = new wi.MathNode('mphantom', u),
+ p = new wi.MathNode('mpadded', [d]);
+ return (p.setAttribute('height', '0px'), p.setAttribute('depth', '0px'), p);
+ },
+ }),
+ Ji({
+ type: 'vphantom',
+ names: ['\\vphantom'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler: (i, s) => {
+ var { parser: u } = i,
+ d = s[0];
+ return { type: 'vphantom', mode: u.mode, body: d };
+ },
+ htmlBuilder: (i, s) => {
+ var u = Hn.makeSpan(['inner'], [uu(i.body, s.withPhantom())]),
+ d = Hn.makeSpan(['fix'], []);
+ return Hn.makeSpan(['mord', 'rlap'], [u, d], s);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = $2(Wf(i.body), s),
+ d = new wi.MathNode('mphantom', u),
+ p = new wi.MathNode('mpadded', [d]);
+ return (p.setAttribute('width', '0px'), p);
+ },
+ }),
+ Ji({
+ type: 'raisebox',
+ names: ['\\raisebox'],
+ props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 },
+ handler(i, s) {
+ var { parser: u } = i,
+ d = Ko(s[0], 'size').value,
+ p = s[1];
+ return { type: 'raisebox', mode: u.mode, dy: d, body: p };
+ },
+ htmlBuilder(i, s) {
+ var u = uu(i.body, s),
+ d = Gh(i.dy, s);
+ return Hn.makeVList(
+ { positionType: 'shift', positionData: -d, children: [{ type: 'elem', elem: u }] },
+ s,
+ );
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mpadded', [Dl(i.body, s)]),
+ d = i.dy.number + i.dy.unit;
+ return (u.setAttribute('voffset', d), u);
+ },
+ }),
+ Ji({
+ type: 'internal',
+ names: ['\\relax'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(i) {
+ var { parser: s } = i;
+ return { type: 'internal', mode: s.mode };
+ },
+ }),
+ Ji({
+ type: 'rule',
+ names: ['\\rule'],
+ props: { numArgs: 2, numOptionalArgs: 1, argTypes: ['size', 'size', 'size'] },
+ handler(i, s, u) {
+ var { parser: d } = i,
+ p = u[0],
+ v = Ko(s[0], 'size'),
+ b = Ko(s[1], 'size');
+ return {
+ type: 'rule',
+ mode: d.mode,
+ shift: p && Ko(p, 'size').value,
+ width: v.value,
+ height: b.value,
+ };
+ },
+ htmlBuilder(i, s) {
+ var u = Hn.makeSpan(['mord', 'rule'], [], s),
+ d = Gh(i.width, s),
+ p = Gh(i.height, s),
+ v = i.shift ? Gh(i.shift, s) : 0;
+ return (
+ (u.style.borderRightWidth = ji(d)),
+ (u.style.borderTopWidth = ji(p)),
+ (u.style.bottom = ji(v)),
+ (u.width = d),
+ (u.height = p + v),
+ (u.depth = -v),
+ (u.maxFontSize = p * 1.125 * s.sizeMultiplier),
+ u
+ );
+ },
+ mathmlBuilder(i, s) {
+ var u = Gh(i.width, s),
+ d = Gh(i.height, s),
+ p = i.shift ? Gh(i.shift, s) : 0,
+ v = (s.color && s.getColor()) || 'black',
+ b = new wi.MathNode('mspace');
+ (b.setAttribute('mathbackground', v),
+ b.setAttribute('width', ji(u)),
+ b.setAttribute('height', ji(d)));
+ var y = new wi.MathNode('mpadded', [b]);
+ return (
+ p >= 0
+ ? y.setAttribute('height', ji(p))
+ : (y.setAttribute('height', ji(p)), y.setAttribute('depth', ji(-p))),
+ y.setAttribute('voffset', ji(p)),
+ y
+ );
+ },
+ }));
+ function rqe(i, s, u) {
+ for (var d = l1(i, s, !1), p = s.sizeMultiplier / u.sizeMultiplier, v = 0; v < d.length; v++) {
+ var b = d[v].classes.indexOf('sizing');
+ (b < 0
+ ? Array.prototype.push.apply(d[v].classes, s.sizingClasses(u))
+ : d[v].classes[b + 1] === 'reset-size' + s.size &&
+ (d[v].classes[b + 1] = 'reset-size' + u.size),
+ (d[v].height *= p),
+ (d[v].depth *= p));
+ }
+ return Hn.makeFragment(d);
+ }
+ var iqe = [
+ '\\tiny',
+ '\\sixptsize',
+ '\\scriptsize',
+ '\\footnotesize',
+ '\\small',
+ '\\normalsize',
+ '\\large',
+ '\\Large',
+ '\\LARGE',
+ '\\huge',
+ '\\Huge',
+ ],
+ yVt = (i, s) => {
+ var u = s.havingSize(i.size);
+ return rqe(i.body, u, s);
+ };
+ (Ji({
+ type: 'sizing',
+ names: iqe,
+ props: { numArgs: 0, allowedInText: !0 },
+ handler: (i, s) => {
+ var { breakOnTokenText: u, funcName: d, parser: p } = i,
+ v = p.parseExpression(!1, u);
+ return { type: 'sizing', mode: p.mode, size: iqe.indexOf(d) + 1, body: v };
+ },
+ htmlBuilder: yVt,
+ mathmlBuilder: (i, s) => {
+ var u = s.havingSize(i.size),
+ d = $2(i.body, u),
+ p = new wi.MathNode('mstyle', d);
+ return (p.setAttribute('mathsize', ji(u.sizeMultiplier)), p);
+ },
+ }),
+ Ji({
+ type: 'smash',
+ names: ['\\smash'],
+ props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
+ handler: (i, s, u) => {
+ var { parser: d } = i,
+ p = !1,
+ v = !1,
+ b = u[0] && Ko(u[0], 'ordgroup');
+ if (b)
+ for (var y = '', T = 0; T < b.body.length; ++T) {
+ var _ = b.body[T];
+ if (((y = _.text), y === 't')) p = !0;
+ else if (y === 'b') v = !0;
+ else {
+ ((p = !1), (v = !1));
+ break;
+ }
+ }
+ else ((p = !0), (v = !0));
+ var A = s[0];
+ return { type: 'smash', mode: d.mode, body: A, smashHeight: p, smashDepth: v };
+ },
+ htmlBuilder: (i, s) => {
+ var u = Hn.makeSpan([], [uu(i.body, s)]);
+ if (!i.smashHeight && !i.smashDepth) return u;
+ if (i.smashHeight && ((u.height = 0), u.children))
+ for (var d = 0; d < u.children.length; d++) u.children[d].height = 0;
+ if (i.smashDepth && ((u.depth = 0), u.children))
+ for (var p = 0; p < u.children.length; p++) u.children[p].depth = 0;
+ var v = Hn.makeVList(
+ { positionType: 'firstBaseline', children: [{ type: 'elem', elem: u }] },
+ s,
+ );
+ return Hn.makeSpan(['mord'], [v], s);
+ },
+ mathmlBuilder: (i, s) => {
+ var u = new wi.MathNode('mpadded', [Dl(i.body, s)]);
+ return (
+ i.smashHeight && u.setAttribute('height', '0px'),
+ i.smashDepth && u.setAttribute('depth', '0px'),
+ u
+ );
+ },
+ }),
+ Ji({
+ type: 'sqrt',
+ names: ['\\sqrt'],
+ props: { numArgs: 1, numOptionalArgs: 1 },
+ handler(i, s, u) {
+ var { parser: d } = i,
+ p = u[0],
+ v = s[0];
+ return { type: 'sqrt', mode: d.mode, body: v, index: p };
+ },
+ htmlBuilder(i, s) {
+ var u = uu(i.body, s.havingCrampedStyle());
+ (u.height === 0 && (u.height = s.fontMetrics().xHeight), (u = Hn.wrapFragment(u, s)));
+ var d = s.fontMetrics(),
+ p = d.defaultRuleThickness,
+ v = p;
+ s.style.id < Ca.TEXT.id && (v = s.fontMetrics().xHeight);
+ var b = p + v / 4,
+ y = u.height + u.depth + b + p,
+ { span: T, ruleWidth: _, advanceWidth: A } = P7.sqrtImage(y, s),
+ P = T.height - _;
+ P > u.height + u.depth + b && (b = (b + P - u.height - u.depth) / 2);
+ var R = T.height - u.height - b - _;
+ u.style.paddingLeft = ji(A);
+ var F = Hn.makeVList(
+ {
+ positionType: 'firstBaseline',
+ children: [
+ { type: 'elem', elem: u, wrapperClasses: ['svg-align'] },
+ { type: 'kern', size: -(u.height + R) },
+ { type: 'elem', elem: T },
+ { type: 'kern', size: _ },
+ ],
+ },
+ s,
+ );
+ if (i.index) {
+ var j = s.havingStyle(Ca.SCRIPTSCRIPT),
+ W = uu(i.index, j, s),
+ ee = 0.6 * (F.height - F.depth),
+ ie = Hn.makeVList(
+ { positionType: 'shift', positionData: -ee, children: [{ type: 'elem', elem: W }] },
+ s,
+ ),
+ oe = Hn.makeSpan(['root'], [ie]);
+ return Hn.makeSpan(['mord', 'sqrt'], [oe, F], s);
+ } else return Hn.makeSpan(['mord', 'sqrt'], [F], s);
+ },
+ mathmlBuilder(i, s) {
+ var { body: u, index: d } = i;
+ return d
+ ? new wi.MathNode('mroot', [Dl(u, s), Dl(d, s)])
+ : new wi.MathNode('msqrt', [Dl(u, s)]);
+ },
+ }));
+ var sqe = {
+ display: Ca.DISPLAY,
+ text: Ca.TEXT,
+ script: Ca.SCRIPT,
+ scriptscript: Ca.SCRIPTSCRIPT,
+ };
+ Ji({
+ type: 'styling',
+ names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'],
+ props: { numArgs: 0, allowedInText: !0, primitive: !0 },
+ handler(i, s) {
+ var { breakOnTokenText: u, funcName: d, parser: p } = i,
+ v = p.parseExpression(!0, u),
+ b = d.slice(1, d.length - 5);
+ return { type: 'styling', mode: p.mode, style: b, body: v };
+ },
+ htmlBuilder(i, s) {
+ var u = sqe[i.style],
+ d = s.havingStyle(u).withFont('');
+ return rqe(i.body, d, s);
+ },
+ mathmlBuilder(i, s) {
+ var u = sqe[i.style],
+ d = s.havingStyle(u),
+ p = $2(i.body, d),
+ v = new wi.MathNode('mstyle', p),
+ b = {
+ display: ['0', 'true'],
+ text: ['0', 'false'],
+ script: ['1', 'false'],
+ scriptscript: ['2', 'false'],
+ },
+ y = b[i.style];
+ return (v.setAttribute('scriptlevel', y[0]), v.setAttribute('displaystyle', y[1]), v);
+ },
+ });
+ var xVt = function (s, u) {
+ var d = s.base;
+ if (d)
+ if (d.type === 'op') {
+ var p = d.limits && (u.style.size === Ca.DISPLAY.size || d.alwaysHandleSupSub);
+ return p ? ND : null;
+ } else if (d.type === 'operatorname') {
+ var v = d.alwaysHandleSupSub && (u.style.size === Ca.DISPLAY.size || d.limits);
+ return v ? nqe : null;
+ } else {
+ if (d.type === 'accent') return pa.isCharacterBox(d.base) ? gbe : null;
+ if (d.type === 'horizBrace') {
+ var b = !s.sub;
+ return b === d.isOver ? Jze : null;
+ } else return null;
+ }
+ else return null;
+ };
+ ($C({
+ type: 'supsub',
+ htmlBuilder(i, s) {
+ var u = xVt(i, s);
+ if (u) return u(i, s);
+ var { base: d, sup: p, sub: v } = i,
+ b = uu(d, s),
+ y,
+ T,
+ _ = s.fontMetrics(),
+ A = 0,
+ P = 0,
+ R = d && pa.isCharacterBox(d);
+ if (p) {
+ var F = s.havingStyle(s.style.sup());
+ ((y = uu(p, F, s)),
+ R || (A = b.height - (F.fontMetrics().supDrop * F.sizeMultiplier) / s.sizeMultiplier));
+ }
+ if (v) {
+ var j = s.havingStyle(s.style.sub());
+ ((T = uu(v, j, s)),
+ R || (P = b.depth + (j.fontMetrics().subDrop * j.sizeMultiplier) / s.sizeMultiplier));
+ }
+ var W;
+ s.style === Ca.DISPLAY ? (W = _.sup1) : s.style.cramped ? (W = _.sup3) : (W = _.sup2);
+ var ee = s.sizeMultiplier,
+ ie = ji(0.5 / _.ptPerEm / ee),
+ oe = null;
+ if (T) {
+ var be =
+ i.base &&
+ i.base.type === 'op' &&
+ i.base.name &&
+ (i.base.name === '\\oiint' || i.base.name === '\\oiiint');
+ (b instanceof Fv || be) && (oe = ji(-b.italic));
+ }
+ var ge;
+ if (y && T) {
+ ((A = Math.max(A, W, y.depth + 0.25 * _.xHeight)), (P = Math.max(P, _.sub2)));
+ var ae = _.defaultRuleThickness,
+ ne = 4 * ae;
+ if (A - y.depth - (T.height - P) < ne) {
+ P = ne - (A - y.depth) + T.height;
+ var se = 0.8 * _.xHeight - (A - y.depth);
+ se > 0 && ((A += se), (P -= se));
+ }
+ var de = [
+ { type: 'elem', elem: T, shift: P, marginRight: ie, marginLeft: oe },
+ { type: 'elem', elem: y, shift: -A, marginRight: ie },
+ ];
+ ge = Hn.makeVList({ positionType: 'individualShift', children: de }, s);
+ } else if (T) {
+ P = Math.max(P, _.sub1, T.height - 0.8 * _.xHeight);
+ var X = [{ type: 'elem', elem: T, marginLeft: oe, marginRight: ie }];
+ ge = Hn.makeVList({ positionType: 'shift', positionData: P, children: X }, s);
+ } else if (y)
+ ((A = Math.max(A, W, y.depth + 0.25 * _.xHeight)),
+ (ge = Hn.makeVList(
+ {
+ positionType: 'shift',
+ positionData: -A,
+ children: [{ type: 'elem', elem: y, marginRight: ie }],
+ },
+ s,
+ )));
+ else throw new Error('supsub must have either sup or sub.');
+ var pe = ube(b, 'right') || 'mord';
+ return Hn.makeSpan([pe], [b, Hn.makeSpan(['msupsub'], [ge])], s);
+ },
+ mathmlBuilder(i, s) {
+ var u = !1,
+ d,
+ p;
+ (i.base &&
+ i.base.type === 'horizBrace' &&
+ ((p = !!i.sup), p === i.base.isOver && ((u = !0), (d = i.base.isOver))),
+ i.base &&
+ (i.base.type === 'op' || i.base.type === 'operatorname') &&
+ (i.base.parentIsSupSub = !0));
+ var v = [Dl(i.base, s)];
+ (i.sub && v.push(Dl(i.sub, s)), i.sup && v.push(Dl(i.sup, s)));
+ var b;
+ if (u) b = d ? 'mover' : 'munder';
+ else if (i.sub)
+ if (i.sup) {
+ var _ = i.base;
+ (_ && _.type === 'op' && _.limits && s.style === Ca.DISPLAY) ||
+ (_ &&
+ _.type === 'operatorname' &&
+ _.alwaysHandleSupSub &&
+ (s.style === Ca.DISPLAY || _.limits))
+ ? (b = 'munderover')
+ : (b = 'msubsup');
+ } else {
+ var T = i.base;
+ (T && T.type === 'op' && T.limits && (s.style === Ca.DISPLAY || T.alwaysHandleSupSub)) ||
+ (T &&
+ T.type === 'operatorname' &&
+ T.alwaysHandleSupSub &&
+ (T.limits || s.style === Ca.DISPLAY))
+ ? (b = 'munder')
+ : (b = 'msub');
+ }
+ else {
+ var y = i.base;
+ (y && y.type === 'op' && y.limits && (s.style === Ca.DISPLAY || y.alwaysHandleSupSub)) ||
+ (y &&
+ y.type === 'operatorname' &&
+ y.alwaysHandleSupSub &&
+ (y.limits || s.style === Ca.DISPLAY))
+ ? (b = 'mover')
+ : (b = 'msup');
+ }
+ return new wi.MathNode(b, v);
+ },
+ }),
+ $C({
+ type: 'atom',
+ htmlBuilder(i, s) {
+ return Hn.mathsym(i.text, i.mode, s, ['m' + i.family]);
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mo', [jv(i.text, i.mode)]);
+ if (i.family === 'bin') {
+ var d = fbe(i, s);
+ d === 'bold-italic' && u.setAttribute('mathvariant', d);
+ } else
+ i.family === 'punct'
+ ? u.setAttribute('separator', 'true')
+ : (i.family === 'open' || i.family === 'close') && u.setAttribute('stretchy', 'false');
+ return u;
+ },
+ }));
+ var aqe = { mi: 'italic', mn: 'normal', mtext: 'normal' };
+ ($C({
+ type: 'mathord',
+ htmlBuilder(i, s) {
+ return Hn.makeOrd(i, s, 'mathord');
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mi', [jv(i.text, i.mode, s)]),
+ d = fbe(i, s) || 'italic';
+ return (d !== aqe[u.type] && u.setAttribute('mathvariant', d), u);
+ },
+ }),
+ $C({
+ type: 'textord',
+ htmlBuilder(i, s) {
+ return Hn.makeOrd(i, s, 'textord');
+ },
+ mathmlBuilder(i, s) {
+ var u = jv(i.text, i.mode, s),
+ d = fbe(i, s) || 'normal',
+ p;
+ return (
+ i.mode === 'text'
+ ? (p = new wi.MathNode('mtext', [u]))
+ : /[0-9]/.test(i.text)
+ ? (p = new wi.MathNode('mn', [u]))
+ : i.text === '\\prime'
+ ? (p = new wi.MathNode('mo', [u]))
+ : (p = new wi.MathNode('mi', [u])),
+ d !== aqe[p.type] && p.setAttribute('mathvariant', d),
+ p
+ );
+ },
+ }));
+ var Mbe = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' },
+ Dbe = {
+ ' ': {},
+ '\\ ': {},
+ '~': { className: 'nobreak' },
+ '\\space': {},
+ '\\nobreakspace': { className: 'nobreak' },
+ };
+ $C({
+ type: 'spacing',
+ htmlBuilder(i, s) {
+ if (Dbe.hasOwnProperty(i.text)) {
+ var u = Dbe[i.text].className || '';
+ if (i.mode === 'text') {
+ var d = Hn.makeOrd(i, s, 'textord');
+ return (d.classes.push(u), d);
+ } else return Hn.makeSpan(['mspace', u], [Hn.mathsym(i.text, i.mode, s)], s);
+ } else {
+ if (Mbe.hasOwnProperty(i.text)) return Hn.makeSpan(['mspace', Mbe[i.text]], [], s);
+ throw new Si('Unknown type of space "' + i.text + '"');
+ }
+ },
+ mathmlBuilder(i, s) {
+ var u;
+ if (Dbe.hasOwnProperty(i.text)) u = new wi.MathNode('mtext', [new wi.TextNode(' ')]);
+ else {
+ if (Mbe.hasOwnProperty(i.text)) return new wi.MathNode('mspace');
+ throw new Si('Unknown type of space "' + i.text + '"');
+ }
+ return u;
+ },
+ });
+ var oqe = () => {
+ var i = new wi.MathNode('mtd', []);
+ return (i.setAttribute('width', '50%'), i);
+ };
+ $C({
+ type: 'tag',
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mtable', [
+ new wi.MathNode('mtr', [
+ oqe(),
+ new wi.MathNode('mtd', [S9(i.body, s)]),
+ oqe(),
+ new wi.MathNode('mtd', [S9(i.tag, s)]),
+ ]),
+ ]);
+ return (u.setAttribute('width', '100%'), u);
+ },
+ });
+ var cqe = {
+ '\\text': void 0,
+ '\\textrm': 'textrm',
+ '\\textsf': 'textsf',
+ '\\texttt': 'texttt',
+ '\\textnormal': 'textrm',
+ },
+ uqe = { '\\textbf': 'textbf', '\\textmd': 'textmd' },
+ kVt = { '\\textit': 'textit', '\\textup': 'textup' },
+ lqe = (i, s) => {
+ var u = i.font;
+ if (u) {
+ if (cqe[u]) return s.withTextFontFamily(cqe[u]);
+ if (uqe[u]) return s.withTextFontWeight(uqe[u]);
+ if (u === '\\emph')
+ return s.fontShape === 'textit'
+ ? s.withTextFontShape('textup')
+ : s.withTextFontShape('textit');
+ } else return s;
+ return s.withTextFontShape(kVt[u]);
+ };
+ (Ji({
+ type: 'text',
+ names: [
+ '\\text',
+ '\\textrm',
+ '\\textsf',
+ '\\texttt',
+ '\\textnormal',
+ '\\textbf',
+ '\\textmd',
+ '\\textit',
+ '\\textup',
+ '\\emph',
+ ],
+ props: { numArgs: 1, argTypes: ['text'], allowedInArgument: !0, allowedInText: !0 },
+ handler(i, s) {
+ var { parser: u, funcName: d } = i,
+ p = s[0];
+ return { type: 'text', mode: u.mode, body: Wf(p), font: d };
+ },
+ htmlBuilder(i, s) {
+ var u = lqe(i, s),
+ d = l1(i.body, u, !0);
+ return Hn.makeSpan(['mord', 'text'], d, u);
+ },
+ mathmlBuilder(i, s) {
+ var u = lqe(i, s);
+ return S9(i.body, u);
+ },
+ }),
+ Ji({
+ type: 'underline',
+ names: ['\\underline'],
+ props: { numArgs: 1, allowedInText: !0 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'underline', mode: u.mode, body: s[0] };
+ },
+ htmlBuilder(i, s) {
+ var u = uu(i.body, s),
+ d = Hn.makeLineSpan('underline-line', s),
+ p = s.fontMetrics().defaultRuleThickness,
+ v = Hn.makeVList(
+ {
+ positionType: 'top',
+ positionData: u.height,
+ children: [
+ { type: 'kern', size: p },
+ { type: 'elem', elem: d },
+ { type: 'kern', size: 3 * p },
+ { type: 'elem', elem: u },
+ ],
+ },
+ s,
+ );
+ return Hn.makeSpan(['mord', 'underline'], [v], s);
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.MathNode('mo', [new wi.TextNode('‾')]);
+ u.setAttribute('stretchy', 'true');
+ var d = new wi.MathNode('munder', [Dl(i.body, s), u]);
+ return (d.setAttribute('accentunder', 'true'), d);
+ },
+ }),
+ Ji({
+ type: 'vcenter',
+ names: ['\\vcenter'],
+ props: { numArgs: 1, argTypes: ['original'], allowedInText: !1 },
+ handler(i, s) {
+ var { parser: u } = i;
+ return { type: 'vcenter', mode: u.mode, body: s[0] };
+ },
+ htmlBuilder(i, s) {
+ var u = uu(i.body, s),
+ d = s.fontMetrics().axisHeight,
+ p = 0.5 * (u.height - d - (u.depth + d));
+ return Hn.makeVList(
+ { positionType: 'shift', positionData: p, children: [{ type: 'elem', elem: u }] },
+ s,
+ );
+ },
+ mathmlBuilder(i, s) {
+ return new wi.MathNode('mpadded', [Dl(i.body, s)], ['vcenter']);
+ },
+ }),
+ Ji({
+ type: 'verb',
+ names: ['\\verb'],
+ props: { numArgs: 0, allowedInText: !0 },
+ handler(i, s, u) {
+ throw new Si('\\verb ended by end of line instead of matching delimiter');
+ },
+ htmlBuilder(i, s) {
+ for (var u = hqe(i), d = [], p = s.havingStyle(s.style.text()), v = 0; v < u.length; v++) {
+ var b = u[v];
+ (b === '~' && (b = '\\textasciitilde'),
+ d.push(Hn.makeSymbol(b, 'Typewriter-Regular', i.mode, p, ['mord', 'texttt'])));
+ }
+ return Hn.makeSpan(['mord', 'text'].concat(p.sizingClasses(s)), Hn.tryCombineChars(d), p);
+ },
+ mathmlBuilder(i, s) {
+ var u = new wi.TextNode(hqe(i)),
+ d = new wi.MathNode('mtext', [u]);
+ return (d.setAttribute('mathvariant', 'monospace'), d);
+ },
+ }));
+ var hqe = (i) => i.body.replace(/ /g, i.star ? '␣' : ' '),
+ A9 = pze,
+ fqe = `[ \r
+ ]`,
+ EVt = '\\\\[a-zA-Z@]+',
+ TVt = '\\\\[^\uD800-\uDFFF]',
+ CVt = '(' + EVt + ')' + fqe + '*',
+ SVt = `\\\\(
|[ \r ]+
-?)[ \r ]*`,Ibe="[̀-ͯ]",_Vt=new RegExp(Ibe+"+$"),AVt="("+fqe+"+)|"+(SVt+"|")+"([!-\\[\\]-‧-豈-]"+(Ibe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Ibe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+CVt)+("|"+TVt+")");class dqe{constructor(s,u){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=s,this.settings=u,this.tokenRegex=new RegExp(AVt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(s,u){this.catcodes[s]=u}lex(){var s=this.input,u=this.tokenRegex.lastIndex;if(u===s.length)return new Pv("EOF",new um(this,u,u));var d=this.tokenRegex.exec(s);if(d===null||d.index!==u)throw new Si("Unexpected character: '"+s[u]+"'",new Pv(s[u],new um(this,u,u+1)));var p=d[6]||d[3]||(d[2]?"\\ ":" ");if(this.catcodes[p]===14){var v=s.indexOf(`
-`,this.tokenRegex.lastIndex);return v===-1?(this.tokenRegex.lastIndex=s.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=v+1,this.lex()}return new Pv(p,new um(this,u,this.tokenRegex.lastIndex))}}class LVt{constructor(s,u){s===void 0&&(s={}),u===void 0&&(u={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=u,this.builtins=s,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Si("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var s=this.undefStack.pop();for(var u in s)s.hasOwnProperty(u)&&(s[u]==null?delete this.current[u]:this.current[u]=s[u])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(s){return this.current.hasOwnProperty(s)||this.builtins.hasOwnProperty(s)}get(s){return this.current.hasOwnProperty(s)?this.current[s]:this.builtins[s]}set(s,u,d){if(d===void 0&&(d=!1),d){for(var p=0;p0&&(this.undefStack[this.undefStack.length-1][s]=u)}else{var v=this.undefStack[this.undefStack.length-1];v&&!v.hasOwnProperty(s)&&(v[s]=this.current[s])}u==null?delete this.current[s]:this.current[s]=u}}var MVt=qze;et("\\noexpand",function(i){var s=i.popToken();return i.isExpandable(s.text)&&(s.noexpand=!0,s.treatAsRelax=!0),{tokens:[s],numArgs:0}}),et("\\expandafter",function(i){var s=i.popToken();return i.expandOnce(!0),{tokens:[s],numArgs:0}}),et("\\@firstoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[0],numArgs:0}}),et("\\@secondoftwo",function(i){var s=i.consumeArgs(2);return{tokens:s[1],numArgs:0}}),et("\\@ifnextchar",function(i){var s=i.consumeArgs(3);i.consumeSpaces();var u=i.future();return s[0].length===1&&s[0][0].text===u.text?{tokens:s[1],numArgs:0}:{tokens:s[2],numArgs:0}}),et("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),et("\\TextOrMath",function(i){var s=i.consumeArgs(2);return i.mode==="text"?{tokens:s[0],numArgs:0}:{tokens:s[1],numArgs:0}});var gqe={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};et("\\char",function(i){var s=i.popToken(),u,d="";if(s.text==="'")u=8,s=i.popToken();else if(s.text==='"')u=16,s=i.popToken();else if(s.text==="`")if(s=i.popToken(),s.text[0]==="\\")d=s.text.charCodeAt(1);else{if(s.text==="EOF")throw new Si("\\char` missing argument");d=s.text.charCodeAt(0)}else u=10;if(u){if(d=gqe[s.text],d==null||d>=u)throw new Si("Invalid base-"+u+" digit "+s.text);for(var p;(p=gqe[i.future().text])!=null&&p{var d=i.consumeArg().tokens;if(d.length!==1)throw new Si("\\newcommand's first argument must be a macro name");var p=d[0].text,v=i.isDefined(p);if(v&&!s)throw new Si("\\newcommand{"+p+"} attempting to redefine "+(p+"; use \\renewcommand"));if(!v&&!u)throw new Si("\\renewcommand{"+p+"} when command "+p+" does not yet exist; use \\newcommand");var b=0;if(d=i.consumeArg().tokens,d.length===1&&d[0].text==="["){for(var y="",T=i.expandNextToken();T.text!=="]"&&T.text!=="EOF";)y+=T.text,T=i.expandNextToken();if(!y.match(/^\s*[0-9]+\s*$/))throw new Si("Invalid number of arguments: "+y);b=parseInt(y),d=i.consumeArg().tokens}return i.macros.set(p,{tokens:d,numArgs:b}),""};et("\\newcommand",i=>Obe(i,!1,!0)),et("\\renewcommand",i=>Obe(i,!0,!1)),et("\\providecommand",i=>Obe(i,!0,!0)),et("\\message",i=>{var s=i.consumeArgs(1)[0];return console.log(s.reverse().map(u=>u.text).join("")),""}),et("\\errmessage",i=>{var s=i.consumeArgs(1)[0];return console.error(s.reverse().map(u=>u.text).join("")),""}),et("\\show",i=>{var s=i.popToken(),u=s.text;return console.log(s,i.macros.get(u),A9[u],Ul.math[u],Ul.text[u]),""}),et("\\bgroup","{"),et("\\egroup","}"),et("~","\\nobreakspace"),et("\\lq","`"),et("\\rq","'"),et("\\aa","\\r a"),et("\\AA","\\r A"),et("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),et("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),et("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),et("ℬ","\\mathscr{B}"),et("ℰ","\\mathscr{E}"),et("ℱ","\\mathscr{F}"),et("ℋ","\\mathscr{H}"),et("ℐ","\\mathscr{I}"),et("ℒ","\\mathscr{L}"),et("ℳ","\\mathscr{M}"),et("ℛ","\\mathscr{R}"),et("ℭ","\\mathfrak{C}"),et("ℌ","\\mathfrak{H}"),et("ℨ","\\mathfrak{Z}"),et("\\Bbbk","\\Bbb{k}"),et("·","\\cdotp"),et("\\llap","\\mathllap{\\textrm{#1}}"),et("\\rlap","\\mathrlap{\\textrm{#1}}"),et("\\clap","\\mathclap{\\textrm{#1}}"),et("\\mathstrut","\\vphantom{(}"),et("\\underbar","\\underline{\\text{#1}}"),et("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),et("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),et("\\ne","\\neq"),et("≠","\\neq"),et("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),et("∉","\\notin"),et("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),et("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),et("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),et("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),et("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),et("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),et("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),et("⟂","\\perp"),et("‼","\\mathclose{!\\mkern-0.8mu!}"),et("∌","\\notni"),et("⌜","\\ulcorner"),et("⌝","\\urcorner"),et("⌞","\\llcorner"),et("⌟","\\lrcorner"),et("©","\\copyright"),et("®","\\textregistered"),et("️","\\textregistered"),et("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),et("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),et("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),et("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),et("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),et("⋮","\\vdots"),et("\\varGamma","\\mathit{\\Gamma}"),et("\\varDelta","\\mathit{\\Delta}"),et("\\varTheta","\\mathit{\\Theta}"),et("\\varLambda","\\mathit{\\Lambda}"),et("\\varXi","\\mathit{\\Xi}"),et("\\varPi","\\mathit{\\Pi}"),et("\\varSigma","\\mathit{\\Sigma}"),et("\\varUpsilon","\\mathit{\\Upsilon}"),et("\\varPhi","\\mathit{\\Phi}"),et("\\varPsi","\\mathit{\\Psi}"),et("\\varOmega","\\mathit{\\Omega}"),et("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),et("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),et("\\boxed","\\fbox{$\\displaystyle{#1}$}"),et("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),et("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),et("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var pqe={",":"\\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"};et("\\dots",function(i){var s="\\dotso",u=i.expandAfterFuture().text;return u in pqe?s=pqe[u]:(u.slice(0,4)==="\\not"||u in Ul.math&&pa.contains(["bin","rel"],Ul.math[u].group))&&(s="\\dotsb"),s});var Nbe={")":!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};et("\\dotso",function(i){var s=i.future().text;return s in Nbe?"\\ldots\\,":"\\ldots"}),et("\\dotsc",function(i){var s=i.future().text;return s in Nbe&&s!==","?"\\ldots\\,":"\\ldots"}),et("\\cdots",function(i){var s=i.future().text;return s in Nbe?"\\@cdots\\,":"\\@cdots"}),et("\\dotsb","\\cdots"),et("\\dotsm","\\cdots"),et("\\dotsi","\\!\\cdots"),et("\\dotsx","\\ldots\\,"),et("\\DOTSI","\\relax"),et("\\DOTSB","\\relax"),et("\\DOTSX","\\relax"),et("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),et("\\,","\\tmspace+{3mu}{.1667em}"),et("\\thinspace","\\,"),et("\\>","\\mskip{4mu}"),et("\\:","\\tmspace+{4mu}{.2222em}"),et("\\medspace","\\:"),et("\\;","\\tmspace+{5mu}{.2777em}"),et("\\thickspace","\\;"),et("\\!","\\tmspace-{3mu}{.1667em}"),et("\\negthinspace","\\!"),et("\\negmedspace","\\tmspace-{4mu}{.2222em}"),et("\\negthickspace","\\tmspace-{5mu}{.277em}"),et("\\enspace","\\kern.5em "),et("\\enskip","\\hskip.5em\\relax"),et("\\quad","\\hskip1em\\relax"),et("\\qquad","\\hskip2em\\relax"),et("\\tag","\\@ifstar\\tag@literal\\tag@paren"),et("\\tag@paren","\\tag@literal{({#1})}"),et("\\tag@literal",i=>{if(i.macros.get("\\df@tag"))throw new Si("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),et("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),et("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),et("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),et("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),et("\\newline","\\\\\\relax"),et("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var bqe=ji(G4["Main-Regular"]["T".charCodeAt(0)][1]-.7*G4["Main-Regular"]["A".charCodeAt(0)][1]);et("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+bqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),et("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+bqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),et("\\hspace","\\@ifstar\\@hspacer\\@hspace"),et("\\@hspace","\\hskip #1\\relax"),et("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),et("\\ordinarycolon",":"),et("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),et("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),et("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),et("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),et("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),et("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),et("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),et("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),et("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),et("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),et("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),et("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),et("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),et("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),et("∷","\\dblcolon"),et("∹","\\eqcolon"),et("≔","\\coloneqq"),et("≕","\\eqqcolon"),et("⩴","\\Coloneqq"),et("\\ratio","\\vcentcolon"),et("\\coloncolon","\\dblcolon"),et("\\colonequals","\\coloneqq"),et("\\coloncolonequals","\\Coloneqq"),et("\\equalscolon","\\eqqcolon"),et("\\equalscoloncolon","\\Eqqcolon"),et("\\colonminus","\\coloneq"),et("\\coloncolonminus","\\Coloneq"),et("\\minuscolon","\\eqcolon"),et("\\minuscoloncolon","\\Eqcolon"),et("\\coloncolonapprox","\\Colonapprox"),et("\\coloncolonsim","\\Colonsim"),et("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),et("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),et("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),et("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),et("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),et("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),et("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),et("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),et("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),et("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),et("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),et("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),et("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),et("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),et("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),et("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),et("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),et("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),et("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),et("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),et("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),et("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),et("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),et("\\imath","\\html@mathml{\\@imath}{ı}"),et("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),et("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),et("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),et("⟦","\\llbracket"),et("⟧","\\rrbracket"),et("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),et("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),et("⦃","\\lBrace"),et("⦄","\\rBrace"),et("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),et("⦵","\\minuso"),et("\\darr","\\downarrow"),et("\\dArr","\\Downarrow"),et("\\Darr","\\Downarrow"),et("\\lang","\\langle"),et("\\rang","\\rangle"),et("\\uarr","\\uparrow"),et("\\uArr","\\Uparrow"),et("\\Uarr","\\Uparrow"),et("\\N","\\mathbb{N}"),et("\\R","\\mathbb{R}"),et("\\Z","\\mathbb{Z}"),et("\\alef","\\aleph"),et("\\alefsym","\\aleph"),et("\\Alpha","\\mathrm{A}"),et("\\Beta","\\mathrm{B}"),et("\\bull","\\bullet"),et("\\Chi","\\mathrm{X}"),et("\\clubs","\\clubsuit"),et("\\cnums","\\mathbb{C}"),et("\\Complex","\\mathbb{C}"),et("\\Dagger","\\ddagger"),et("\\diamonds","\\diamondsuit"),et("\\empty","\\emptyset"),et("\\Epsilon","\\mathrm{E}"),et("\\Eta","\\mathrm{H}"),et("\\exist","\\exists"),et("\\harr","\\leftrightarrow"),et("\\hArr","\\Leftrightarrow"),et("\\Harr","\\Leftrightarrow"),et("\\hearts","\\heartsuit"),et("\\image","\\Im"),et("\\infin","\\infty"),et("\\Iota","\\mathrm{I}"),et("\\isin","\\in"),et("\\Kappa","\\mathrm{K}"),et("\\larr","\\leftarrow"),et("\\lArr","\\Leftarrow"),et("\\Larr","\\Leftarrow"),et("\\lrarr","\\leftrightarrow"),et("\\lrArr","\\Leftrightarrow"),et("\\Lrarr","\\Leftrightarrow"),et("\\Mu","\\mathrm{M}"),et("\\natnums","\\mathbb{N}"),et("\\Nu","\\mathrm{N}"),et("\\Omicron","\\mathrm{O}"),et("\\plusmn","\\pm"),et("\\rarr","\\rightarrow"),et("\\rArr","\\Rightarrow"),et("\\Rarr","\\Rightarrow"),et("\\real","\\Re"),et("\\reals","\\mathbb{R}"),et("\\Reals","\\mathbb{R}"),et("\\Rho","\\mathrm{P}"),et("\\sdot","\\cdot"),et("\\sect","\\S"),et("\\spades","\\spadesuit"),et("\\sub","\\subset"),et("\\sube","\\subseteq"),et("\\supe","\\supseteq"),et("\\Tau","\\mathrm{T}"),et("\\thetasym","\\vartheta"),et("\\weierp","\\wp"),et("\\Zeta","\\mathrm{Z}"),et("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),et("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),et("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),et("\\bra","\\mathinner{\\langle{#1}|}"),et("\\ket","\\mathinner{|{#1}\\rangle}"),et("\\braket","\\mathinner{\\langle{#1}\\rangle}"),et("\\Bra","\\left\\langle#1\\right|"),et("\\Ket","\\left|#1\\right\\rangle");var mqe=i=>s=>{var u=s.consumeArg().tokens,d=s.consumeArg().tokens,p=s.consumeArg().tokens,v=s.consumeArg().tokens,b=s.macros.get("|"),y=s.macros.get("\\|");s.macros.beginGroup();var T=P=>R=>{i&&(R.macros.set("|",b),p.length&&R.macros.set("\\|",y));var F=P;if(!P&&p.length){var j=R.future();j.text==="|"&&(R.popToken(),F=!0)}return{tokens:F?p:d,numArgs:0}};s.macros.set("|",T(!1)),p.length&&s.macros.set("\\|",T(!0));var _=s.consumeArg().tokens,A=s.expandTokens([...v,..._,...u]);return s.macros.endGroup(),{tokens:A.reverse(),numArgs:0}};et("\\bra@ket",mqe(!1)),et("\\bra@set",mqe(!0)),et("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),et("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),et("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),et("\\angln","{\\angl n}"),et("\\blue","\\textcolor{##6495ed}{#1}"),et("\\orange","\\textcolor{##ffa500}{#1}"),et("\\pink","\\textcolor{##ff00af}{#1}"),et("\\red","\\textcolor{##df0030}{#1}"),et("\\green","\\textcolor{##28ae7b}{#1}"),et("\\gray","\\textcolor{gray}{#1}"),et("\\purple","\\textcolor{##9d38bd}{#1}"),et("\\blueA","\\textcolor{##ccfaff}{#1}"),et("\\blueB","\\textcolor{##80f6ff}{#1}"),et("\\blueC","\\textcolor{##63d9ea}{#1}"),et("\\blueD","\\textcolor{##11accd}{#1}"),et("\\blueE","\\textcolor{##0c7f99}{#1}"),et("\\tealA","\\textcolor{##94fff5}{#1}"),et("\\tealB","\\textcolor{##26edd5}{#1}"),et("\\tealC","\\textcolor{##01d1c1}{#1}"),et("\\tealD","\\textcolor{##01a995}{#1}"),et("\\tealE","\\textcolor{##208170}{#1}"),et("\\greenA","\\textcolor{##b6ffb0}{#1}"),et("\\greenB","\\textcolor{##8af281}{#1}"),et("\\greenC","\\textcolor{##74cf70}{#1}"),et("\\greenD","\\textcolor{##1fab54}{#1}"),et("\\greenE","\\textcolor{##0d923f}{#1}"),et("\\goldA","\\textcolor{##ffd0a9}{#1}"),et("\\goldB","\\textcolor{##ffbb71}{#1}"),et("\\goldC","\\textcolor{##ff9c39}{#1}"),et("\\goldD","\\textcolor{##e07d10}{#1}"),et("\\goldE","\\textcolor{##a75a05}{#1}"),et("\\redA","\\textcolor{##fca9a9}{#1}"),et("\\redB","\\textcolor{##ff8482}{#1}"),et("\\redC","\\textcolor{##f9685d}{#1}"),et("\\redD","\\textcolor{##e84d39}{#1}"),et("\\redE","\\textcolor{##bc2612}{#1}"),et("\\maroonA","\\textcolor{##ffbde0}{#1}"),et("\\maroonB","\\textcolor{##ff92c6}{#1}"),et("\\maroonC","\\textcolor{##ed5fa6}{#1}"),et("\\maroonD","\\textcolor{##ca337c}{#1}"),et("\\maroonE","\\textcolor{##9e034e}{#1}"),et("\\purpleA","\\textcolor{##ddd7ff}{#1}"),et("\\purpleB","\\textcolor{##c6b9fc}{#1}"),et("\\purpleC","\\textcolor{##aa87ff}{#1}"),et("\\purpleD","\\textcolor{##7854ab}{#1}"),et("\\purpleE","\\textcolor{##543b78}{#1}"),et("\\mintA","\\textcolor{##f5f9e8}{#1}"),et("\\mintB","\\textcolor{##edf2df}{#1}"),et("\\mintC","\\textcolor{##e0e5cc}{#1}"),et("\\grayA","\\textcolor{##f6f7f7}{#1}"),et("\\grayB","\\textcolor{##f0f1f2}{#1}"),et("\\grayC","\\textcolor{##e3e5e6}{#1}"),et("\\grayD","\\textcolor{##d6d8da}{#1}"),et("\\grayE","\\textcolor{##babec2}{#1}"),et("\\grayF","\\textcolor{##888d93}{#1}"),et("\\grayG","\\textcolor{##626569}{#1}"),et("\\grayH","\\textcolor{##3b3e40}{#1}"),et("\\grayI","\\textcolor{##21242c}{#1}"),et("\\kaBlue","\\textcolor{##314453}{#1}"),et("\\kaGreen","\\textcolor{##71B307}{#1}");var vqe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class DVt{constructor(s,u,d){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=u,this.expansionCount=0,this.feed(s),this.macros=new LVt(MVt,u.macros),this.mode=d,this.stack=[]}feed(s){this.lexer=new dqe(s,this.settings)}switchMode(s){this.mode=s}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(s){this.stack.push(s)}pushTokens(s){this.stack.push(...s)}scanArgument(s){var u,d,p;if(s){if(this.consumeSpaces(),this.future().text!=="[")return null;u=this.popToken(),{tokens:p,end:d}=this.consumeArg(["]"])}else({tokens:p,start:u,end:d}=this.consumeArg());return this.pushToken(new Pv("EOF",d.loc)),this.pushTokens(p),u.range(d,"")}consumeSpaces(){for(;;){var s=this.future();if(s.text===" ")this.stack.pop();else break}}consumeArg(s){var u=[],d=s&&s.length>0;d||this.consumeSpaces();var p=this.future(),v,b=0,y=0;do{if(v=this.popToken(),u.push(v),v.text==="{")++b;else if(v.text==="}"){if(--b,b===-1)throw new Si("Extra }",v)}else if(v.text==="EOF")throw new Si("Unexpected end of input in a macro argument, expected '"+(s&&d?s[y]:"}")+"'",v);if(s&&d)if((b===0||b===1&&s[y]==="{")&&v.text===s[y]){if(++y,y===s.length){u.splice(-y,y);break}}else y=0}while(b!==0||d);return p.text==="{"&&u[u.length-1].text==="}"&&(u.pop(),u.shift()),u.reverse(),{tokens:u,start:p,end:v}}consumeArgs(s,u){if(u){if(u.length!==s+1)throw new Si("The length of delimiters doesn't match the number of args!");for(var d=u[0],p=0;pthis.settings.maxExpand)throw new Si("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(s){var u=this.popToken(),d=u.text,p=u.noexpand?null:this._getExpansion(d);if(p==null||s&&p.unexpandable){if(s&&p==null&&d[0]==="\\"&&!this.isDefined(d))throw new Si("Undefined control sequence: "+d);return this.pushToken(u),!1}this.countExpansion(1);var v=p.tokens,b=this.consumeArgs(p.numArgs,p.delimiters);if(p.numArgs){v=v.slice();for(var y=v.length-1;y>=0;--y){var T=v[y];if(T.text==="#"){if(y===0)throw new Si("Incomplete placeholder at end of macro body",T);if(T=v[--y],T.text==="#")v.splice(y+1,1);else if(/^[1-9]$/.test(T.text))v.splice(y,2,...b[+T.text-1]);else throw new Si("Not a valid argument number",T)}}}return this.pushTokens(v),v.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var s=this.stack.pop();return s.treatAsRelax&&(s.text="\\relax"),s}throw new Error}expandMacro(s){return this.macros.has(s)?this.expandTokens([new Pv(s)]):void 0}expandTokens(s){var u=[],d=this.stack.length;for(this.pushTokens(s);this.stack.length>d;)if(this.expandOnce(!0)===!1){var p=this.stack.pop();p.treatAsRelax&&(p.noexpand=!1,p.treatAsRelax=!1),u.push(p)}return this.countExpansion(u.length),u}expandMacroAsText(s){var u=this.expandMacro(s);return u&&u.map(d=>d.text).join("")}_getExpansion(s){var u=this.macros.get(s);if(u==null)return u;if(s.length===1){var d=this.lexer.catcodes[s];if(d!=null&&d!==13)return}var p=typeof u=="function"?u(this):u;if(typeof p=="string"){var v=0;if(p.indexOf("#")!==-1)for(var b=p.replace(/##/g,"");b.indexOf("#"+(v+1))!==-1;)++v;for(var y=new dqe(p,this.settings),T=[],_=y.lex();_.text!=="EOF";)T.push(_),_=y.lex();T.reverse();var A={tokens:T,numArgs:v};return A}return p}isDefined(s){return this.macros.has(s)||A9.hasOwnProperty(s)||Ul.math.hasOwnProperty(s)||Ul.text.hasOwnProperty(s)||vqe.hasOwnProperty(s)}isExpandable(s){var u=this.macros.get(s);return u!=null?typeof u=="string"||typeof u=="function"||!u.unexpandable:A9.hasOwnProperty(s)&&!A9[s].primitive}}var wqe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,EQ=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Pbe={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},yqe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class TQ{constructor(s,u){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 DVt(s,u,this.mode),this.settings=u,this.leftrightDepth=0}expect(s,u){if(u===void 0&&(u=!0),this.fetch().text!==s)throw new Si("Expected '"+s+"', got '"+this.fetch().text+"'",this.fetch());u&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(s){this.mode=s,this.gullet.switchMode(s)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var s=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),s}finally{this.gullet.endGroups()}}subparse(s){var u=this.nextToken;this.consume(),this.gullet.pushToken(new Pv("}")),this.gullet.pushTokens(s);var d=this.parseExpression(!1);return this.expect("}"),this.nextToken=u,d}parseExpression(s,u){for(var d=[];;){this.mode==="math"&&this.consumeSpaces();var p=this.fetch();if(TQ.endOfExpression.indexOf(p.text)!==-1||u&&p.text===u||s&&A9[p.text]&&A9[p.text].infix)break;var v=this.parseAtom(u);if(v){if(v.type==="internal")continue}else break;d.push(v)}return this.mode==="text"&&this.formLigatures(d),this.handleInfixNodes(d)}handleInfixNodes(s){for(var u=-1,d,p=0;p=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+u[0]+'" used in math mode',s);var y=Ul[this.mode][u].group,T=um.range(s),_;if(wHt.hasOwnProperty(y)){var A=y;_={type:"atom",mode:this.mode,family:A,loc:T,text:u}}else _={type:y,mode:this.mode,loc:T,text:u};b=_}else if(u.charCodeAt(0)>=128)this.settings.strict&&(Y$e(u.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+u[0]+'" used in math mode',s):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+u[0]+'"'+(" ("+u.charCodeAt(0)+")"),s)),b={type:"textord",mode:"text",loc:um.range(s),text:u};else return null;if(this.consume(),v)for(var P=0;P"u"&&(Ts.yylloc={});var id=Ts.yylloc;cn.push(id);var gm=Ts.options&&Ts.options.ranges;typeof nl.yy.parseError=="function"?this.parseError=nl.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qu(){var wu;return wu=Lt.pop()||Ts.lex()||ua,typeof wu!="number"&&(wu instanceof Array&&(Lt=wu,wu=Lt.pop()),wu=$n.symbols_[wu]||wu),wu}for(var lu,Xc,Cs,Bc,Ma={},No,vc,Qa,ja;;){if(Xc=qn[qn.length-1],this.defaultActions[Xc]?Cs=this.defaultActions[Xc]:((lu===null||typeof lu>"u")&&(lu=qu()),Cs=fn[Xc]&&fn[Xc][lu]),typeof Cs>"u"||!Cs.length||!Cs[0]){var ka="";ja=[];for(No in fn[Xc])this.terminals_[No]&&No>Xa&&ja.push("'"+this.terminals_[No]+"'");Ts.showPosition?ka="Parse error on line "+(mo+1)+`:
-`+Ts.showPosition()+`
-Expecting `+ja.join(", ")+", got '"+(this.terminals_[lu]||lu)+"'":ka="Parse error on line "+(mo+1)+": Unexpected "+(lu==ua?"end of input":"'"+(this.terminals_[lu]||lu)+"'"),this.parseError(ka,{text:Ts.match,token:this.terminals_[lu]||lu,line:Ts.yylineno,loc:id,expected:ja})}if(Cs[0]instanceof Array&&Cs.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Xc+", token: "+lu);switch(Cs[0]){case 1:qn.push(lu),wt.push(Ts.yytext),cn.push(Ts.yylloc),qn.push(Cs[1]),lu=null,Io=Ts.yyleng,Mn=Ts.yytext,mo=Ts.yylineno,id=Ts.yylloc;break;case 2:if(vc=this.productions_[Cs[1]][1],Ma.$=wt[wt.length-vc],Ma._$={first_line:cn[cn.length-(vc||1)].first_line,last_line:cn[cn.length-1].last_line,first_column:cn[cn.length-(vc||1)].first_column,last_column:cn[cn.length-1].last_column},gm&&(Ma._$.range=[cn[cn.length-(vc||1)].range[0],cn[cn.length-1].range[1]]),Bc=this.performAction.apply(Ma,[Mn,Io,mo,nl.yy,Cs[1],wt,cn].concat(Oo)),typeof Bc<"u")return Bc;vc&&(qn=qn.slice(0,-1*vc*2),wt=wt.slice(0,-1*vc),cn=cn.slice(0,-1*vc)),qn.push(this.productions_[Cs[1]][0]),wt.push(Ma.$),cn.push(Ma._$),Qa=fn[qn[qn.length-2]][qn[qn.length-1]],qn.push(Qa);break;case 3:return!0}}return!0}},na=function(){var _r={EOF:1,parseError:function($n,qn){if(this.yy.parser)this.yy.parser.parseError($n,qn);else throw new Error($n)},setInput:function(Nn,$n){return this.yy=$n||this.yy||{},this._input=Nn,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Nn=this._input[0];this.yytext+=Nn,this.yyleng++,this.offset++,this.match+=Nn,this.matched+=Nn;var $n=Nn.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),Nn},unput:function(Nn){var $n=Nn.length,qn=Nn.split(/(?:\r\n?|\n)/g);this._input=Nn+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$n),this.offset-=$n;var Lt=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),qn.length-1&&(this.yylineno-=qn.length-1);var wt=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:qn?(qn.length===Lt.length?this.yylloc.first_column:0)+Lt[Lt.length-qn.length].length-qn[0].length:this.yylloc.first_column-$n},this.options.ranges&&(this.yylloc.range=[wt[0],wt[0]+this.yyleng-$n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Nn){this.unput(this.match.slice(Nn))},pastInput:function(){var Nn=this.matched.substr(0,this.matched.length-this.match.length);return(Nn.length>20?"...":"")+Nn.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Nn=this.match;return Nn.length<20&&(Nn+=this._input.substr(0,20-Nn.length)),(Nn.substr(0,20)+(Nn.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Nn=this.pastInput(),$n=new Array(Nn.length+1).join("-");return Nn+this.upcomingInput()+`
-`+$n+"^"},test_match:function(Nn,$n){var qn,Lt,wt;if(this.options.backtrack_lexer&&(wt={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&&(wt.yylloc.range=this.yylloc.range.slice(0))),Lt=Nn[0].match(/(?:\r\n?|\n).*/g),Lt&&(this.yylineno+=Lt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Lt?Lt[Lt.length-1].length-Lt[Lt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Nn[0].length},this.yytext+=Nn[0],this.match+=Nn[0],this.matches=Nn,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(Nn[0].length),this.matched+=Nn[0],qn=this.performAction.call(this,this.yy,this,$n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),qn)return qn;if(this._backtrack){for(var cn in wt)this[cn]=wt[cn];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Nn,$n,qn,Lt;this._more||(this.yytext="",this.match="");for(var wt=this._currentRules(),cn=0;cn$n[0].length)){if($n=qn,Lt=cn,this.options.backtrack_lexer){if(Nn=this.test_match(qn,wt[cn]),Nn!==!1)return Nn;if(this._backtrack){$n=!1;continue}else return!1}else if(!this.options.flex)break}return $n?(Nn=this.test_match($n,wt[Lt]),Nn!==!1?Nn:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var $n=this.next();return $n||this.lex()},begin:function($n){this.conditionStack.push($n)},popState:function(){var $n=this.conditionStack.length-1;return $n>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function($n){return $n=this.conditionStack.length-1-Math.abs($n||0),$n>=0?this.conditionStack[$n]:"INITIAL"},pushState:function($n){this.begin($n)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function($n,qn,Lt,wt){switch(Lt){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return _r}();Ba.lexer=na;function Ro(){this.yy={}}return Ro.prototype=Ba,Ba.Parser=Ro,new Ro}();CQ.parser=CQ;const FVt=CQ;let R3=[],L9=[""],Np="global",j3="",X4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],pR=[],Rbe="",jbe=!1,SQ=4,_Q=2;var Eqe;const RVt=function(){return Eqe},jVt=function(i){Eqe=yh(i,qt())},$Vt=function(i,s,u,d,p,v,b,y,T){if(i==null||s===void 0||s===null||u===void 0||u===null||d===void 0||d===null)return;let _={};const A=pR.find(P=>P.from===s&&P.to===u);if(A?_=A:pR.push(_),_.type=i,_.from=s,_.to=u,_.label={text:d},p==null)_.techn={text:""};else if(typeof p=="object"){let[P,R]=Object.entries(p)[0];_[P]={text:R}}else _.techn={text:p};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[P,R]=Object.entries(v)[0];_[P]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[P,R]=Object.entries(b)[0];_[P]=R}else _.sprite=b;if(typeof y=="object"){let[P,R]=Object.entries(y)[0];_[P]=R}else _.tags=y;if(typeof T=="object"){let[P,R]=Object.entries(T)[0];_[P]=R}else _.link=T;_.wrap=M9()},zVt=function(i,s,u,d,p,v,b){if(s===null||u===null)return;let y={};const T=R3.find(_=>_.alias===s);if(T&&s===T.alias?y=T:(y.alias=s,R3.push(y)),u==null?y.label={text:""}:y.label={text:u},d==null)y.descr={text:""};else if(typeof d=="object"){let[_,A]=Object.entries(d)[0];y[_]={text:A}}else y.descr={text:d};if(typeof p=="object"){let[_,A]=Object.entries(p)[0];y[_]=A}else y.sprite=p;if(typeof v=="object"){let[_,A]=Object.entries(v)[0];y[_]=A}else y.tags=v;if(typeof b=="object"){let[_,A]=Object.entries(b)[0];y[_]=A}else y.link=b;y.typeC4Shape={text:i},y.parentBoundary=Np,y.wrap=M9()},qVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=R3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,R3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=M9(),T.typeC4Shape={text:i},T.parentBoundary=Np},HVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=R3.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,R3.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.techn={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];T[A]=P}else T.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.wrap=M9(),T.typeC4Shape={text:i},T.parentBoundary=Np},VVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=X4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,X4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"system"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Np,v.wrap=M9(),j3=Np,Np=i,L9.push(j3)},UVt=function(i,s,u,d,p){if(i===null||s===null)return;let v={};const b=X4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,X4.push(v)),s==null?v.label={text:""}:v.label={text:s},u==null)v.type={text:"container"};else if(typeof u=="object"){let[y,T]=Object.entries(u)[0];v[y]={text:T}}else v.type={text:u};if(typeof d=="object"){let[y,T]=Object.entries(d)[0];v[y]=T}else v.tags=d;if(typeof p=="object"){let[y,T]=Object.entries(p)[0];v[y]=T}else v.link=p;v.parentBoundary=Np,v.wrap=M9(),j3=Np,Np=i,L9.push(j3)},GVt=function(i,s,u,d,p,v,b,y){if(s===null||u===null)return;let T={};const _=X4.find(A=>A.alias===s);if(_&&s===_.alias?T=_:(T.alias=s,X4.push(T)),u==null?T.label={text:""}:T.label={text:u},d==null)T.type={text:"node"};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];T[A]={text:P}}else T.type={text:d};if(p==null)T.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];T[A]={text:P}}else T.descr={text:p};if(typeof b=="object"){let[A,P]=Object.entries(b)[0];T[A]=P}else T.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];T[A]=P}else T.link=y;T.nodeType=i,T.parentBoundary=Np,T.wrap=M9(),j3=Np,Np=s,L9.push(j3)},KVt=function(){Np=j3,L9.pop(),j3=L9.pop(),L9.push(j3)},WVt=function(i,s,u,d,p,v,b,y,T,_,A){let P=R3.find(R=>R.alias===s);if(!(P===void 0&&(P=X4.find(R=>R.alias===s),P===void 0))){if(u!=null)if(typeof u=="object"){let[R,F]=Object.entries(u)[0];P[R]=F}else P.bgColor=u;if(d!=null)if(typeof d=="object"){let[R,F]=Object.entries(d)[0];P[R]=F}else P.fontColor=d;if(p!=null)if(typeof p=="object"){let[R,F]=Object.entries(p)[0];P[R]=F}else P.borderColor=p;if(v!=null)if(typeof v=="object"){let[R,F]=Object.entries(v)[0];P[R]=F}else P.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,F]=Object.entries(b)[0];P[R]=F}else P.shape=b;if(y!=null)if(typeof y=="object"){let[R,F]=Object.entries(y)[0];P[R]=F}else P.sprite=y;if(T!=null)if(typeof T=="object"){let[R,F]=Object.entries(T)[0];P[R]=F}else P.techn=T;if(_!=null)if(typeof _=="object"){let[R,F]=Object.entries(_)[0];P[R]=F}else P.legendText=_;if(A!=null)if(typeof A=="object"){let[R,F]=Object.entries(A)[0];P[R]=F}else P.legendSprite=A}},YVt=function(i,s,u,d,p,v,b){const y=pR.find(T=>T.from===s&&T.to===u);if(y!==void 0){if(d!=null)if(typeof d=="object"){let[T,_]=Object.entries(d)[0];y[T]=_}else y.textColor=d;if(p!=null)if(typeof p=="object"){let[T,_]=Object.entries(p)[0];y[T]=_}else y.lineColor=p;if(v!=null)if(typeof v=="object"){let[T,_]=Object.entries(v)[0];y[T]=parseInt(_)}else y.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[T,_]=Object.entries(b)[0];y[T]=parseInt(_)}else y.offsetY=parseInt(b)}},XVt=function(i,s,u){let d=SQ,p=_Q;if(typeof s=="object"){const v=Object.values(s)[0];d=parseInt(v)}else d=parseInt(s);if(typeof u=="object"){const v=Object.values(u)[0];p=parseInt(v)}else p=parseInt(u);d>=1&&(SQ=d),p>=1&&(_Q=p)},QVt=function(){return SQ},JVt=function(){return _Q},ZVt=function(){return Np},eUt=function(){return j3},Tqe=function(i){return i==null?R3:R3.filter(s=>s.parentBoundary===i)},tUt=function(i){return R3.find(s=>s.alias===i)},nUt=function(i){return Object.keys(Tqe(i))},Cqe=function(i){return i==null?X4:X4.filter(s=>s.parentBoundary===i)},rUt=Cqe,iUt=function(){return pR},sUt=function(){return Rbe},aUt=function(i){jbe=i},M9=function(){return jbe},$be={addPersonOrSystem:zVt,addPersonOrSystemBoundary:VVt,addContainer:qVt,addContainerBoundary:UVt,addComponent:HVt,addDeploymentNode:GVt,popBoundaryParseStack:KVt,addRel:$Vt,updateElStyle:WVt,updateRelStyle:YVt,updateLayoutConfig:XVt,autoWrap:M9,setWrap:aUt,getC4ShapeArray:Tqe,getC4Shape:tUt,getC4ShapeKeys:nUt,getBoundaries:Cqe,getBoundarys:rUt,getCurrentBoundaryParse:ZVt,getParentBoundaryParse:eUt,getRels:iUt,getTitle:sUt,getC4Type:RVt,getC4ShapeInRow:QVt,getC4BoundaryInRow:JVt,setAccTitle:Pg,getAccTitle:Sp,getAccDescription:Ap,setAccDescription:_p,getConfig:()=>qt().c4,clear:function(){R3=[],X4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],j3="",Np="global",L9=[""],pR=[],L9=[""],Rbe="",jbe=!1,SQ=4,_Q=2},LINETYPE:{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},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Rbe=yh(i,qt())},setC4Type:jVt},AQ=(i,s)=>{const u=i.append("rect");if(u.attr("x",s.x),u.attr("y",s.y),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("width",s.width),u.attr("height",s.height),s.name&&u.attr("name",s.name),s.rx!==void 0&&u.attr("rx",s.rx),s.ry!==void 0&&u.attr("ry",s.ry),s.attrs!==void 0)for(const d in s.attrs)u.attr(d,s.attrs[d]);return s.class!==void 0&&u.attr("class",s.class),u},Sqe=(i,s)=>{const u={x:s.startx,y:s.starty,width:s.stopx-s.startx,height:s.stopy-s.starty,fill:s.fill,stroke:s.stroke,class:"rect"};AQ(i,u).lower()},oUt=(i,s)=>{const u=s.text.replace(hD," "),d=i.append("text");d.attr("x",s.x),d.attr("y",s.y),d.attr("class","legend"),d.style("text-anchor",s.anchor),s.class!==void 0&&d.attr("class",s.class);const p=d.append("tspan");return p.attr("x",s.x+s.textMargin*2),p.text(u),d},cUt=(i,s,u,d)=>{const p=i.append("image");p.attr("x",s),p.attr("y",u);const v=g9.sanitizeUrl(d);p.attr("xlink:href",v)},uUt=(i,s,u,d)=>{const p=i.append("use");p.attr("x",s),p.attr("y",u);const v=g9.sanitizeUrl(d);p.attr("xlink:href",`#${v}`)},zC=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),zbe=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),qbe=function(i,s){return AQ(i,s)},_qe=function(i,s,u,d,p,v){const b=i.append("image");b.attr("width",s),b.attr("height",u),b.attr("x",d),b.attr("y",p);let y=v.startsWith("data:image/png;base64")?v:g9.sanitizeUrl(v);b.attr("xlink:href",y)},lUt=(i,s,u)=>{const d=i.append("g");let p=0;for(let v of s){let b=v.textColor?v.textColor:"#444444",y=v.lineColor?v.lineColor:"#444444",T=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,A="";if(p===0){let R=d.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",y),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)"),p=-1}else{let R=d.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",y).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)")}let P=u.messageFont();B7(u)(v.label.text,d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},P),v.techn&&v.techn.text!==""&&(P=u.messageFont(),B7(u)("["+v.techn.text+"]",d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+T,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+u.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},P))}},hUt=function(i,s,u){const d=i.append("g");let p=s.bgColor?s.bgColor:"none",v=s.borderColor?s.borderColor:"#444444",b=s.fontColor?s.fontColor:"black",y={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};s.nodeType&&(y={"stroke-width":1});let T={x:s.x,y:s.y,fill:p,stroke:v,width:s.width,height:s.height,rx:2.5,ry:2.5,attrs:y};qbe(d,T);let _=u.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,B7(u)(s.label.text,d,s.x,s.y+s.label.Y,s.width,s.height,{fill:"#444444"},_),s.type&&s.type.text!==""&&(_=u.boundaryFont(),_.fontColor=b,B7(u)(s.type.text,d,s.x,s.y+s.type.Y,s.width,s.height,{fill:"#444444"},_)),s.descr&&s.descr.text!==""&&(_=u.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,B7(u)(s.descr.text,d,s.x,s.y+s.descr.Y,s.width,s.height,{fill:"#444444"},_))},fUt=function(i,s,u){var P;let d=s.bgColor?s.bgColor:u[s.typeC4Shape.text+"_bg_color"],p=s.borderColor?s.borderColor:u[s.typeC4Shape.text+"_border_color"],v=s.fontColor?s.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(s.typeC4Shape.text){case"person":b="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":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const y=i.append("g");y.attr("class","person-man");const T=zC();switch(s.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":T.x=s.x,T.y=s.y,T.fill=d,T.width=s.width,T.height=s.height,T.stroke=p,T.rx=2.5,T.ry=2.5,T.attrs={"stroke-width":.5},qbe(y,T);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2).replaceAll("height",s.height)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",s.x).replaceAll("starty",s.y).replaceAll("half",s.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",s.x).replaceAll("starty",s.y).replaceAll("width",s.width).replaceAll("half",s.height/2)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",s.x+s.width).replaceAll("starty",s.y).replaceAll("half",s.height/2));break}let _=xUt(u,s.typeC4Shape.text);switch(y.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",s.typeC4Shape.width).attr("x",s.x+s.width/2-s.typeC4Shape.width/2).attr("y",s.y+s.typeC4Shape.Y).text("<<"+s.typeC4Shape.text+">>"),s.typeC4Shape.text){case"person":case"external_person":_qe(y,48,48,s.x+s.width/2-24,s.y+s.image.Y,b);break}let A=u[s.typeC4Shape.text+"Font"]();return A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=v,B7(u)(s.label.text,y,s.x,s.y+s.label.Y,s.width,s.height,{fill:v},A),A=u[s.typeC4Shape.text+"Font"](),A.fontColor=v,s.techn&&((P=s.techn)==null?void 0:P.text)!==""?B7(u)(s.techn.text,y,s.x,s.y+s.techn.Y,s.width,s.height,{fill:v,"font-style":"italic"},A):s.type&&s.type.text!==""&&B7(u)(s.type.text,y,s.x,s.y+s.type.Y,s.width,s.height,{fill:v,"font-style":"italic"},A),s.descr&&s.descr.text!==""&&(A=u.personFont(),A.fontColor=v,B7(u)(s.descr.text,y,s.x,s.y+s.descr.Y,s.width,s.height,{fill:v},A)),s.height},dUt=function(i){i.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")},gUt=function(i){i.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")},pUt=function(i){i.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")},bUt=function(i){i.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")},mUt=function(i){i.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")},vUt=function(i){i.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")},wUt=function(i){i.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)},yUt=function(i){const u=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);u.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"),u.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")},xUt=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),B7=function(){function i(p,v,b,y,T,_,A){const P=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("text-anchor","middle").text(p);d(P,A)}function s(p,v,b,y,T,_,A,P){const{fontSize:R,fontFamily:F,fontWeight:j}=P,W=p.split(ci.lineBreakRegex);for(let ee=0;ee=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>Aqe)&&(u=this.nextData.startx+s.margin+zs.nextLinePaddingX,p=this.nextData.stopy+s.margin*2,this.nextData.stopx=d=u+s.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=p+s.height,this.nextData.cnt=1),s.x=u,s.y=p,this.updateVal(this.data,"startx",u,Math.min),this.updateVal(this.data,"starty",p,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",u,Math.min),this.updateVal(this.nextData,"starty",p,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(s){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},Vbe(s.db.getConfig())}bumpLastMargin(s){this.data.stopx+=s,this.data.stopy+=s}}const Vbe=function(i){td(zs,i),i.fontFamily&&(zs.personFontFamily=zs.systemFontFamily=zs.messageFontFamily=i.fontFamily),i.fontSize&&(zs.personFontSize=zs.systemFontSize=zs.messageFontSize=i.fontSize),i.fontWeight&&(zs.personFontWeight=zs.systemFontWeight=zs.messageFontWeight=i.fontWeight)},bR=(i,s)=>({fontFamily:i[s+"FontFamily"],fontSize:i[s+"FontSize"],fontWeight:i[s+"FontWeight"]}),DQ=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),kUt=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function $3(i,s,u,d,p){if(!s[i].width)if(u)s[i].text=yje(s[i].text,p,d),s[i].textLines=s[i].text.split(ci.lineBreakRegex).length,s[i].width=p,s[i].height=E2e(s[i].text,d);else{let v=s[i].text.split(ci.lineBreakRegex);s[i].textLines=v.length;let b=0;s[i].height=0,s[i].width=0;for(const y of v)s[i].width=Math.max(H4(y,d),s[i].width),b=E2e(y,d),s[i].height=s[i].height+b}}const Mqe=function(i,s,u){s.x=u.data.startx,s.y=u.data.starty,s.width=u.data.stopx-u.data.startx,s.height=u.data.stopy-u.data.starty,s.label.y=zs.c4ShapeMargin-35;let d=s.wrap&&zs.wrap,p=DQ(zs);p.fontSize=p.fontSize+2,p.fontWeight="bold";let v=H4(s.label.text,p);$3("label",s,d,p,v),Q4.drawBoundary(i,s,zs)},Dqe=function(i,s,u,d){let p=0;for(const v of d){p=0;const b=u[v];let y=bR(zs,b.typeC4Shape.text);switch(y.fontSize=y.fontSize-2,b.typeC4Shape.width=H4("«"+b.typeC4Shape.text+"»",y),b.typeC4Shape.height=y.fontSize+2,b.typeC4Shape.Y=zs.c4ShapePadding,p=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height);let T=b.wrap&&zs.wrap,_=zs.width-zs.c4ShapePadding*2,A=bR(zs,b.typeC4Shape.text);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",$3("label",b,T,A,_),b.label.Y=p+8,p=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let F=bR(zs,b.typeC4Shape.text);$3("type",b,T,F,_),b.type.Y=p+5,p=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let F=bR(zs,b.techn.text);$3("techn",b,T,F,_),b.techn.Y=p+5,p=b.techn.Y+b.techn.height}let P=p,R=b.label.width;if(b.descr&&b.descr.text!==""){let F=bR(zs,b.typeC4Shape.text);$3("descr",b,T,F,_),b.descr.Y=p+20,p=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),P=p-b.descr.textLines*5}R=R+zs.c4ShapePadding,b.width=Math.max(b.width||zs.width,R,zs.width),b.height=Math.max(b.height||zs.height,P,zs.height),b.margin=b.margin||zs.c4ShapeMargin,i.insert(b),Q4.drawC4Shape(s,b,zs)}i.bumpLastMargin(zs.c4ShapeMargin)};let $v=class{constructor(s,u){this.x=s,this.y=u}},Iqe=function(i,s){let u=i.x,d=i.y,p=s.x,v=s.y,b=u+i.width/2,y=d+i.height/2,T=Math.abs(u-p),_=Math.abs(d-v),A=_/T,P=i.height/i.width,R=null;return d==v&&up?R=new $v(u,y):u==p&&dv&&(R=new $v(b,d)),u>p&&d=A?R=new $v(u,y+A*i.width/2):R=new $v(b-T/_*i.height/2,d+i.height):u=A?R=new $v(u+i.width,y+A*i.width/2):R=new $v(b+T/_*i.height/2,d+i.height):u
v?P>=A?R=new $v(u+i.width,y-A*i.width/2):R=new $v(b+i.height/2*T/_,d):u>p&&d>v&&(P>=A?R=new $v(u,y-i.width/2*A):R=new $v(b-i.height/2*T/_,d)),R},EUt=function(i,s){let u={x:0,y:0};u.x=s.x+s.width/2,u.y=s.y+s.height/2;let d=Iqe(i,u);u.x=i.x+i.width/2,u.y=i.y+i.height/2;let p=Iqe(s,u);return{startPoint:d,endPoint:p}};const TUt=function(i,s,u,d){let p=0;for(let v of s){p=p+1;let b=v.wrap&&zs.wrap,y=kUt(zs);d.db.getC4Type()==="C4Dynamic"&&(v.label.text=p+": "+v.label.text);let _=H4(v.label.text,y);$3("label",v,b,y,_),v.techn&&v.techn.text!==""&&(_=H4(v.techn.text,y),$3("techn",v,b,y,_)),v.descr&&v.descr.text!==""&&(_=H4(v.descr.text,y),$3("descr",v,b,y,_));let A=u(v.from),P=u(v.to),R=EUt(A,P);v.startPoint=R.startPoint,v.endPoint=R.endPoint}Q4.drawRels(i,s,zs)};function Oqe(i,s,u,d,p){let v=new Lqe(p);v.data.widthLimit=u.data.widthLimit/Math.min(Hbe,d.length);for(let[b,y]of d.entries()){let T=0;y.image={width:0,height:0,Y:0},y.sprite&&(y.image.width=48,y.image.height=48,y.image.Y=T,T=y.image.Y+y.image.height);let _=y.wrap&&zs.wrap,A=DQ(zs);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",$3("label",y,_,A,v.data.widthLimit),y.label.Y=T+8,T=y.label.Y+y.label.height,y.type&&y.type.text!==""){y.type.text="["+y.type.text+"]";let j=DQ(zs);$3("type",y,_,j,v.data.widthLimit),y.type.Y=T+5,T=y.type.Y+y.type.height}if(y.descr&&y.descr.text!==""){let j=DQ(zs);j.fontSize=j.fontSize-2,$3("descr",y,_,j,v.data.widthLimit),y.descr.Y=T+20,T=y.descr.Y+y.descr.height}if(b==0||b%Hbe===0){let j=u.data.startx+zs.diagramMarginX,W=u.data.stopy+zs.diagramMarginY+T;v.setData(j,j,W,W)}else{let j=v.data.stopx!==v.data.startx?v.data.stopx+zs.diagramMarginX:v.data.startx,W=v.data.starty;v.setData(j,j,W,W)}v.name=y.alias;let P=p.db.getC4ShapeArray(y.alias),R=p.db.getC4ShapeKeys(y.alias);R.length>0&&Dqe(v,i,P,R),s=y.alias;let F=p.db.getBoundarys(s);F.length>0&&Oqe(i,s,v,F,p),y.alias!=="global"&&Mqe(i,y,v),u.data.stopy=Math.max(v.data.stopy+zs.c4ShapeMargin,u.data.stopy),u.data.stopx=Math.max(v.data.stopx+zs.c4ShapeMargin,u.data.stopx),LQ=Math.max(LQ,u.data.stopx),MQ=Math.max(MQ,u.data.stopy)}}const Nqe={drawPersonOrSystemArray:Dqe,drawBoundary:Mqe,setConf:Vbe,draw:function(i,s,u,d){zs=qt().c4;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body");let y=d.db;d.db.setWrap(zs.wrap),Aqe=y.getC4ShapeInRow(),Hbe=y.getC4BoundaryInRow(),Xe.debug(`C:${JSON.stringify(zs,null,2)}`);const T=p==="sandbox"?b.select(`[id="${s}"]`):Ir(`[id="${s}"]`);Q4.insertComputerIcon(T),Q4.insertDatabaseIcon(T),Q4.insertClockIcon(T);let _=new Lqe(d);_.setData(zs.diagramMarginX,zs.diagramMarginX,zs.diagramMarginY,zs.diagramMarginY),_.data.widthLimit=screen.availWidth,LQ=zs.diagramMarginX,MQ=zs.diagramMarginY;const A=d.db.getTitle();let P=d.db.getBoundarys("");Oqe(T,"",_,P,d),Q4.insertArrowHead(T),Q4.insertArrowEnd(T),Q4.insertArrowCrossHead(T),Q4.insertArrowFilledHead(T),TUt(T,d.db.getRels(),d.db.getC4Shape,d),_.data.stopx=LQ,_.data.stopy=MQ;const R=_.data;let j=R.stopy-R.starty+2*zs.diagramMarginY;const ee=R.stopx-R.startx+2*zs.diagramMarginX;A&&T.append("text").text(A).attr("x",(R.stopx-R.startx)/2-4*zs.diagramMarginX).attr("y",R.starty+zs.diagramMarginY),Og(T,j,ee,zs.useMaxWidth);const ie=A?60:0;T.attr("viewBox",R.startx-zs.diagramMarginX+" -"+(zs.diagramMarginY+ie)+" "+ee+" "+(j+ie)),Xe.debug("models:",R)}},CUt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:FVt,db:$be,renderer:Nqe,styles:i=>`.person {
+?)[ \r ]*`,
+ Ibe = '[̀-ͯ]',
+ _Vt = new RegExp(Ibe + '+$'),
+ AVt =
+ '(' +
+ fqe +
+ '+)|' +
+ (SVt + '|') +
+ '([!-\\[\\]-‧-豈-]' +
+ (Ibe + '*') +
+ '|[\uD800-\uDBFF][\uDC00-\uDFFF]' +
+ (Ibe + '*') +
+ '|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' +
+ ('|' + CVt) +
+ ('|' + TVt + ')');
+ class dqe {
+ constructor(s, u) {
+ ((this.input = void 0),
+ (this.settings = void 0),
+ (this.tokenRegex = void 0),
+ (this.catcodes = void 0),
+ (this.input = s),
+ (this.settings = u),
+ (this.tokenRegex = new RegExp(AVt, 'g')),
+ (this.catcodes = { '%': 14, '~': 13 }));
+ }
+ setCatcode(s, u) {
+ this.catcodes[s] = u;
+ }
+ lex() {
+ var s = this.input,
+ u = this.tokenRegex.lastIndex;
+ if (u === s.length) return new Pv('EOF', new um(this, u, u));
+ var d = this.tokenRegex.exec(s);
+ if (d === null || d.index !== u)
+ throw new Si("Unexpected character: '" + s[u] + "'", new Pv(s[u], new um(this, u, u + 1)));
+ var p = d[6] || d[3] || (d[2] ? '\\ ' : ' ');
+ if (this.catcodes[p] === 14) {
+ var v = s.indexOf(
+ `
+`,
+ this.tokenRegex.lastIndex,
+ );
+ return (
+ v === -1
+ ? ((this.tokenRegex.lastIndex = s.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 = v + 1),
+ this.lex()
+ );
+ }
+ return new Pv(p, new um(this, u, this.tokenRegex.lastIndex));
+ }
+ }
+ class LVt {
+ constructor(s, u) {
+ (s === void 0 && (s = {}),
+ u === void 0 && (u = {}),
+ (this.current = void 0),
+ (this.builtins = void 0),
+ (this.undefStack = void 0),
+ (this.current = u),
+ (this.builtins = s),
+ (this.undefStack = []));
+ }
+ beginGroup() {
+ this.undefStack.push({});
+ }
+ endGroup() {
+ if (this.undefStack.length === 0)
+ throw new Si(
+ 'Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug',
+ );
+ var s = this.undefStack.pop();
+ for (var u in s)
+ s.hasOwnProperty(u) && (s[u] == null ? delete this.current[u] : (this.current[u] = s[u]));
+ }
+ endGroups() {
+ for (; this.undefStack.length > 0; ) this.endGroup();
+ }
+ has(s) {
+ return this.current.hasOwnProperty(s) || this.builtins.hasOwnProperty(s);
+ }
+ get(s) {
+ return this.current.hasOwnProperty(s) ? this.current[s] : this.builtins[s];
+ }
+ set(s, u, d) {
+ if ((d === void 0 && (d = !1), d)) {
+ for (var p = 0; p < this.undefStack.length; p++) delete this.undefStack[p][s];
+ this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][s] = u);
+ } else {
+ var v = this.undefStack[this.undefStack.length - 1];
+ v && !v.hasOwnProperty(s) && (v[s] = this.current[s]);
+ }
+ u == null ? delete this.current[s] : (this.current[s] = u);
+ }
+ }
+ var MVt = qze;
+ (et('\\noexpand', function (i) {
+ var s = i.popToken();
+ return (
+ i.isExpandable(s.text) && ((s.noexpand = !0), (s.treatAsRelax = !0)),
+ { tokens: [s], numArgs: 0 }
+ );
+ }),
+ et('\\expandafter', function (i) {
+ var s = i.popToken();
+ return (i.expandOnce(!0), { tokens: [s], numArgs: 0 });
+ }),
+ et('\\@firstoftwo', function (i) {
+ var s = i.consumeArgs(2);
+ return { tokens: s[0], numArgs: 0 };
+ }),
+ et('\\@secondoftwo', function (i) {
+ var s = i.consumeArgs(2);
+ return { tokens: s[1], numArgs: 0 };
+ }),
+ et('\\@ifnextchar', function (i) {
+ var s = i.consumeArgs(3);
+ i.consumeSpaces();
+ var u = i.future();
+ return s[0].length === 1 && s[0][0].text === u.text
+ ? { tokens: s[1], numArgs: 0 }
+ : { tokens: s[2], numArgs: 0 };
+ }),
+ et('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}'),
+ et('\\TextOrMath', function (i) {
+ var s = i.consumeArgs(2);
+ return i.mode === 'text' ? { tokens: s[0], numArgs: 0 } : { tokens: s[1], numArgs: 0 };
+ }));
+ var gqe = {
+ 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,
+ };
+ et('\\char', function (i) {
+ var s = i.popToken(),
+ u,
+ d = '';
+ if (s.text === "'") ((u = 8), (s = i.popToken()));
+ else if (s.text === '"') ((u = 16), (s = i.popToken()));
+ else if (s.text === '`')
+ if (((s = i.popToken()), s.text[0] === '\\')) d = s.text.charCodeAt(1);
+ else {
+ if (s.text === 'EOF') throw new Si('\\char` missing argument');
+ d = s.text.charCodeAt(0);
+ }
+ else u = 10;
+ if (u) {
+ if (((d = gqe[s.text]), d == null || d >= u))
+ throw new Si('Invalid base-' + u + ' digit ' + s.text);
+ for (var p; (p = gqe[i.future().text]) != null && p < u; ) ((d *= u), (d += p), i.popToken());
+ }
+ return '\\@char{' + d + '}';
+ });
+ var Obe = (i, s, u) => {
+ var d = i.consumeArg().tokens;
+ if (d.length !== 1) throw new Si("\\newcommand's first argument must be a macro name");
+ var p = d[0].text,
+ v = i.isDefined(p);
+ if (v && !s)
+ throw new Si(
+ '\\newcommand{' + p + '} attempting to redefine ' + (p + '; use \\renewcommand'),
+ );
+ if (!v && !u)
+ throw new Si(
+ '\\renewcommand{' + p + '} when command ' + p + ' does not yet exist; use \\newcommand',
+ );
+ var b = 0;
+ if (((d = i.consumeArg().tokens), d.length === 1 && d[0].text === '[')) {
+ for (var y = '', T = i.expandNextToken(); T.text !== ']' && T.text !== 'EOF'; )
+ ((y += T.text), (T = i.expandNextToken()));
+ if (!y.match(/^\s*[0-9]+\s*$/)) throw new Si('Invalid number of arguments: ' + y);
+ ((b = parseInt(y)), (d = i.consumeArg().tokens));
+ }
+ return (i.macros.set(p, { tokens: d, numArgs: b }), '');
+ };
+ (et('\\newcommand', (i) => Obe(i, !1, !0)),
+ et('\\renewcommand', (i) => Obe(i, !0, !1)),
+ et('\\providecommand', (i) => Obe(i, !0, !0)),
+ et('\\message', (i) => {
+ var s = i.consumeArgs(1)[0];
+ return (
+ console.log(
+ s
+ .reverse()
+ .map((u) => u.text)
+ .join(''),
+ ),
+ ''
+ );
+ }),
+ et('\\errmessage', (i) => {
+ var s = i.consumeArgs(1)[0];
+ return (
+ console.error(
+ s
+ .reverse()
+ .map((u) => u.text)
+ .join(''),
+ ),
+ ''
+ );
+ }),
+ et('\\show', (i) => {
+ var s = i.popToken(),
+ u = s.text;
+ return (console.log(s, i.macros.get(u), A9[u], Ul.math[u], Ul.text[u]), '');
+ }),
+ et('\\bgroup', '{'),
+ et('\\egroup', '}'),
+ et('~', '\\nobreakspace'),
+ et('\\lq', '`'),
+ et('\\rq', "'"),
+ et('\\aa', '\\r a'),
+ et('\\AA', '\\r A'),
+ et('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`©}'),
+ et('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}'),
+ et('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}'),
+ et('ℬ', '\\mathscr{B}'),
+ et('ℰ', '\\mathscr{E}'),
+ et('ℱ', '\\mathscr{F}'),
+ et('ℋ', '\\mathscr{H}'),
+ et('ℐ', '\\mathscr{I}'),
+ et('ℒ', '\\mathscr{L}'),
+ et('ℳ', '\\mathscr{M}'),
+ et('ℛ', '\\mathscr{R}'),
+ et('ℭ', '\\mathfrak{C}'),
+ et('ℌ', '\\mathfrak{H}'),
+ et('ℨ', '\\mathfrak{Z}'),
+ et('\\Bbbk', '\\Bbb{k}'),
+ et('·', '\\cdotp'),
+ et('\\llap', '\\mathllap{\\textrm{#1}}'),
+ et('\\rlap', '\\mathrlap{\\textrm{#1}}'),
+ et('\\clap', '\\mathclap{\\textrm{#1}}'),
+ et('\\mathstrut', '\\vphantom{(}'),
+ et('\\underbar', '\\underline{\\text{#1}}'),
+ et('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),
+ et('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}'),
+ et('\\ne', '\\neq'),
+ et('≠', '\\neq'),
+ et('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}'),
+ et('∉', '\\notin'),
+ et(
+ '≘',
+ '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}',
+ ),
+ et('≙', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}'),
+ et('≚', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}'),
+ et('≛', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}'),
+ et('≝', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}'),
+ et('≞', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}'),
+ et('≟', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}'),
+ et('⟂', '\\perp'),
+ et('‼', '\\mathclose{!\\mkern-0.8mu!}'),
+ et('∌', '\\notni'),
+ et('⌜', '\\ulcorner'),
+ et('⌝', '\\urcorner'),
+ et('⌞', '\\llcorner'),
+ et('⌟', '\\lrcorner'),
+ et('©', '\\copyright'),
+ et('®', '\\textregistered'),
+ et('️', '\\textregistered'),
+ et('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),
+ et('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),
+ et('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),
+ et('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),
+ et('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}'),
+ et('⋮', '\\vdots'),
+ et('\\varGamma', '\\mathit{\\Gamma}'),
+ et('\\varDelta', '\\mathit{\\Delta}'),
+ et('\\varTheta', '\\mathit{\\Theta}'),
+ et('\\varLambda', '\\mathit{\\Lambda}'),
+ et('\\varXi', '\\mathit{\\Xi}'),
+ et('\\varPi', '\\mathit{\\Pi}'),
+ et('\\varSigma', '\\mathit{\\Sigma}'),
+ et('\\varUpsilon', '\\mathit{\\Upsilon}'),
+ et('\\varPhi', '\\mathit{\\Phi}'),
+ et('\\varPsi', '\\mathit{\\Psi}'),
+ et('\\varOmega', '\\mathit{\\Omega}'),
+ et('\\substack', '\\begin{subarray}{c}#1\\end{subarray}'),
+ et(
+ '\\colon',
+ '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax',
+ ),
+ et('\\boxed', '\\fbox{$\\displaystyle{#1}$}'),
+ et('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;'),
+ et('\\implies', '\\DOTSB\\;\\Longrightarrow\\;'),
+ et('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;'));
+ var pqe = {
+ ',': '\\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',
+ };
+ et('\\dots', function (i) {
+ var s = '\\dotso',
+ u = i.expandAfterFuture().text;
+ return (
+ u in pqe
+ ? (s = pqe[u])
+ : (u.slice(0, 4) === '\\not' ||
+ (u in Ul.math && pa.contains(['bin', 'rel'], Ul.math[u].group))) &&
+ (s = '\\dotsb'),
+ s
+ );
+ });
+ var Nbe = {
+ ')': !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,
+ };
+ (et('\\dotso', function (i) {
+ var s = i.future().text;
+ return s in Nbe ? '\\ldots\\,' : '\\ldots';
+ }),
+ et('\\dotsc', function (i) {
+ var s = i.future().text;
+ return s in Nbe && s !== ',' ? '\\ldots\\,' : '\\ldots';
+ }),
+ et('\\cdots', function (i) {
+ var s = i.future().text;
+ return s in Nbe ? '\\@cdots\\,' : '\\@cdots';
+ }),
+ et('\\dotsb', '\\cdots'),
+ et('\\dotsm', '\\cdots'),
+ et('\\dotsi', '\\!\\cdots'),
+ et('\\dotsx', '\\ldots\\,'),
+ et('\\DOTSI', '\\relax'),
+ et('\\DOTSB', '\\relax'),
+ et('\\DOTSX', '\\relax'),
+ et('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax'),
+ et('\\,', '\\tmspace+{3mu}{.1667em}'),
+ et('\\thinspace', '\\,'),
+ et('\\>', '\\mskip{4mu}'),
+ et('\\:', '\\tmspace+{4mu}{.2222em}'),
+ et('\\medspace', '\\:'),
+ et('\\;', '\\tmspace+{5mu}{.2777em}'),
+ et('\\thickspace', '\\;'),
+ et('\\!', '\\tmspace-{3mu}{.1667em}'),
+ et('\\negthinspace', '\\!'),
+ et('\\negmedspace', '\\tmspace-{4mu}{.2222em}'),
+ et('\\negthickspace', '\\tmspace-{5mu}{.277em}'),
+ et('\\enspace', '\\kern.5em '),
+ et('\\enskip', '\\hskip.5em\\relax'),
+ et('\\quad', '\\hskip1em\\relax'),
+ et('\\qquad', '\\hskip2em\\relax'),
+ et('\\tag', '\\@ifstar\\tag@literal\\tag@paren'),
+ et('\\tag@paren', '\\tag@literal{({#1})}'),
+ et('\\tag@literal', (i) => {
+ if (i.macros.get('\\df@tag')) throw new Si('Multiple \\tag');
+ return '\\gdef\\df@tag{\\text{#1}}';
+ }),
+ et(
+ '\\bmod',
+ '\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}',
+ ),
+ et('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)'),
+ et('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}'),
+ et(
+ '\\mod',
+ '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1',
+ ),
+ et('\\newline', '\\\\\\relax'),
+ et('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}'));
+ var bqe = ji(
+ G4['Main-Regular']['T'.charCodeAt(0)][1] - 0.7 * G4['Main-Regular']['A'.charCodeAt(0)][1],
+ );
+ (et(
+ '\\LaTeX',
+ '\\textrm{\\html@mathml{' +
+ ('L\\kern-.36em\\raisebox{' + bqe + '}{\\scriptstyle A}') +
+ '\\kern-.15em\\TeX}{LaTeX}}',
+ ),
+ et(
+ '\\KaTeX',
+ '\\textrm{\\html@mathml{' +
+ ('K\\kern-.17em\\raisebox{' + bqe + '}{\\scriptstyle A}') +
+ '\\kern-.15em\\TeX}{KaTeX}}',
+ ),
+ et('\\hspace', '\\@ifstar\\@hspacer\\@hspace'),
+ et('\\@hspace', '\\hskip #1\\relax'),
+ et('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax'),
+ et('\\ordinarycolon', ':'),
+ et('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}'),
+ et(
+ '\\dblcolon',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}',
+ ),
+ et(
+ '\\coloneqq',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}',
+ ),
+ et(
+ '\\Coloneqq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}',
+ ),
+ et(
+ '\\coloneq',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}',
+ ),
+ et(
+ '\\Coloneq',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}',
+ ),
+ et(
+ '\\eqqcolon',
+ '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}',
+ ),
+ et(
+ '\\Eqqcolon',
+ '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}',
+ ),
+ et(
+ '\\eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}',
+ ),
+ et(
+ '\\Eqcolon',
+ '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}',
+ ),
+ et(
+ '\\colonapprox',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}',
+ ),
+ et(
+ '\\Colonapprox',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}',
+ ),
+ et(
+ '\\colonsim',
+ '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}',
+ ),
+ et(
+ '\\Colonsim',
+ '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}',
+ ),
+ et('∷', '\\dblcolon'),
+ et('∹', '\\eqcolon'),
+ et('≔', '\\coloneqq'),
+ et('≕', '\\eqqcolon'),
+ et('⩴', '\\Coloneqq'),
+ et('\\ratio', '\\vcentcolon'),
+ et('\\coloncolon', '\\dblcolon'),
+ et('\\colonequals', '\\coloneqq'),
+ et('\\coloncolonequals', '\\Coloneqq'),
+ et('\\equalscolon', '\\eqqcolon'),
+ et('\\equalscoloncolon', '\\Eqqcolon'),
+ et('\\colonminus', '\\coloneq'),
+ et('\\coloncolonminus', '\\Coloneq'),
+ et('\\minuscolon', '\\eqcolon'),
+ et('\\minuscoloncolon', '\\Eqcolon'),
+ et('\\coloncolonapprox', '\\Colonapprox'),
+ et('\\coloncolonsim', '\\Colonsim'),
+ et('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}'),
+ et('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}'),
+ et('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}'),
+ et('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}'),
+ et('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}'),
+ et('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}'),
+ et('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}'),
+ et('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}'),
+ et('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}'),
+ et('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}'),
+ et('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}'),
+ et('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}'),
+ et('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}'),
+ et('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{≩}'),
+ et('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{≨}'),
+ et('\\ngeqq', '\\html@mathml{\\@ngeqq}{≱}'),
+ et('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{≱}'),
+ et('\\nleqq', '\\html@mathml{\\@nleqq}{≰}'),
+ et('\\nleqslant', '\\html@mathml{\\@nleqslant}{≰}'),
+ et('\\nshortmid', '\\html@mathml{\\@nshortmid}{∤}'),
+ et('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{∦}'),
+ et('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{⊈}'),
+ et('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{⊉}'),
+ et('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{⊊}'),
+ et('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{⫋}'),
+ et('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{⊋}'),
+ et('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{⫌}'),
+ et('\\imath', '\\html@mathml{\\@imath}{ı}'),
+ et('\\jmath', '\\html@mathml{\\@jmath}{ȷ}'),
+ et('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}'),
+ et('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}'),
+ et('⟦', '\\llbracket'),
+ et('⟧', '\\rrbracket'),
+ et('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}'),
+ et('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}'),
+ et('⦃', '\\lBrace'),
+ et('⦄', '\\rBrace'),
+ et(
+ '\\minuso',
+ '\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}',
+ ),
+ et('⦵', '\\minuso'),
+ et('\\darr', '\\downarrow'),
+ et('\\dArr', '\\Downarrow'),
+ et('\\Darr', '\\Downarrow'),
+ et('\\lang', '\\langle'),
+ et('\\rang', '\\rangle'),
+ et('\\uarr', '\\uparrow'),
+ et('\\uArr', '\\Uparrow'),
+ et('\\Uarr', '\\Uparrow'),
+ et('\\N', '\\mathbb{N}'),
+ et('\\R', '\\mathbb{R}'),
+ et('\\Z', '\\mathbb{Z}'),
+ et('\\alef', '\\aleph'),
+ et('\\alefsym', '\\aleph'),
+ et('\\Alpha', '\\mathrm{A}'),
+ et('\\Beta', '\\mathrm{B}'),
+ et('\\bull', '\\bullet'),
+ et('\\Chi', '\\mathrm{X}'),
+ et('\\clubs', '\\clubsuit'),
+ et('\\cnums', '\\mathbb{C}'),
+ et('\\Complex', '\\mathbb{C}'),
+ et('\\Dagger', '\\ddagger'),
+ et('\\diamonds', '\\diamondsuit'),
+ et('\\empty', '\\emptyset'),
+ et('\\Epsilon', '\\mathrm{E}'),
+ et('\\Eta', '\\mathrm{H}'),
+ et('\\exist', '\\exists'),
+ et('\\harr', '\\leftrightarrow'),
+ et('\\hArr', '\\Leftrightarrow'),
+ et('\\Harr', '\\Leftrightarrow'),
+ et('\\hearts', '\\heartsuit'),
+ et('\\image', '\\Im'),
+ et('\\infin', '\\infty'),
+ et('\\Iota', '\\mathrm{I}'),
+ et('\\isin', '\\in'),
+ et('\\Kappa', '\\mathrm{K}'),
+ et('\\larr', '\\leftarrow'),
+ et('\\lArr', '\\Leftarrow'),
+ et('\\Larr', '\\Leftarrow'),
+ et('\\lrarr', '\\leftrightarrow'),
+ et('\\lrArr', '\\Leftrightarrow'),
+ et('\\Lrarr', '\\Leftrightarrow'),
+ et('\\Mu', '\\mathrm{M}'),
+ et('\\natnums', '\\mathbb{N}'),
+ et('\\Nu', '\\mathrm{N}'),
+ et('\\Omicron', '\\mathrm{O}'),
+ et('\\plusmn', '\\pm'),
+ et('\\rarr', '\\rightarrow'),
+ et('\\rArr', '\\Rightarrow'),
+ et('\\Rarr', '\\Rightarrow'),
+ et('\\real', '\\Re'),
+ et('\\reals', '\\mathbb{R}'),
+ et('\\Reals', '\\mathbb{R}'),
+ et('\\Rho', '\\mathrm{P}'),
+ et('\\sdot', '\\cdot'),
+ et('\\sect', '\\S'),
+ et('\\spades', '\\spadesuit'),
+ et('\\sub', '\\subset'),
+ et('\\sube', '\\subseteq'),
+ et('\\supe', '\\supseteq'),
+ et('\\Tau', '\\mathrm{T}'),
+ et('\\thetasym', '\\vartheta'),
+ et('\\weierp', '\\wp'),
+ et('\\Zeta', '\\mathrm{Z}'),
+ et('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}'),
+ et('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}'),
+ et('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits'),
+ et('\\bra', '\\mathinner{\\langle{#1}|}'),
+ et('\\ket', '\\mathinner{|{#1}\\rangle}'),
+ et('\\braket', '\\mathinner{\\langle{#1}\\rangle}'),
+ et('\\Bra', '\\left\\langle#1\\right|'),
+ et('\\Ket', '\\left|#1\\right\\rangle'));
+ var mqe = (i) => (s) => {
+ var u = s.consumeArg().tokens,
+ d = s.consumeArg().tokens,
+ p = s.consumeArg().tokens,
+ v = s.consumeArg().tokens,
+ b = s.macros.get('|'),
+ y = s.macros.get('\\|');
+ s.macros.beginGroup();
+ var T = (P) => (R) => {
+ i && (R.macros.set('|', b), p.length && R.macros.set('\\|', y));
+ var F = P;
+ if (!P && p.length) {
+ var j = R.future();
+ j.text === '|' && (R.popToken(), (F = !0));
+ }
+ return { tokens: F ? p : d, numArgs: 0 };
+ };
+ (s.macros.set('|', T(!1)), p.length && s.macros.set('\\|', T(!0)));
+ var _ = s.consumeArg().tokens,
+ A = s.expandTokens([...v, ..._, ...u]);
+ return (s.macros.endGroup(), { tokens: A.reverse(), numArgs: 0 });
+ };
+ (et('\\bra@ket', mqe(!1)),
+ et('\\bra@set', mqe(!0)),
+ et(
+ '\\Braket',
+ '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}',
+ ),
+ et(
+ '\\Set',
+ '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}',
+ ),
+ et('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}'),
+ et('\\angln', '{\\angl n}'),
+ et('\\blue', '\\textcolor{##6495ed}{#1}'),
+ et('\\orange', '\\textcolor{##ffa500}{#1}'),
+ et('\\pink', '\\textcolor{##ff00af}{#1}'),
+ et('\\red', '\\textcolor{##df0030}{#1}'),
+ et('\\green', '\\textcolor{##28ae7b}{#1}'),
+ et('\\gray', '\\textcolor{gray}{#1}'),
+ et('\\purple', '\\textcolor{##9d38bd}{#1}'),
+ et('\\blueA', '\\textcolor{##ccfaff}{#1}'),
+ et('\\blueB', '\\textcolor{##80f6ff}{#1}'),
+ et('\\blueC', '\\textcolor{##63d9ea}{#1}'),
+ et('\\blueD', '\\textcolor{##11accd}{#1}'),
+ et('\\blueE', '\\textcolor{##0c7f99}{#1}'),
+ et('\\tealA', '\\textcolor{##94fff5}{#1}'),
+ et('\\tealB', '\\textcolor{##26edd5}{#1}'),
+ et('\\tealC', '\\textcolor{##01d1c1}{#1}'),
+ et('\\tealD', '\\textcolor{##01a995}{#1}'),
+ et('\\tealE', '\\textcolor{##208170}{#1}'),
+ et('\\greenA', '\\textcolor{##b6ffb0}{#1}'),
+ et('\\greenB', '\\textcolor{##8af281}{#1}'),
+ et('\\greenC', '\\textcolor{##74cf70}{#1}'),
+ et('\\greenD', '\\textcolor{##1fab54}{#1}'),
+ et('\\greenE', '\\textcolor{##0d923f}{#1}'),
+ et('\\goldA', '\\textcolor{##ffd0a9}{#1}'),
+ et('\\goldB', '\\textcolor{##ffbb71}{#1}'),
+ et('\\goldC', '\\textcolor{##ff9c39}{#1}'),
+ et('\\goldD', '\\textcolor{##e07d10}{#1}'),
+ et('\\goldE', '\\textcolor{##a75a05}{#1}'),
+ et('\\redA', '\\textcolor{##fca9a9}{#1}'),
+ et('\\redB', '\\textcolor{##ff8482}{#1}'),
+ et('\\redC', '\\textcolor{##f9685d}{#1}'),
+ et('\\redD', '\\textcolor{##e84d39}{#1}'),
+ et('\\redE', '\\textcolor{##bc2612}{#1}'),
+ et('\\maroonA', '\\textcolor{##ffbde0}{#1}'),
+ et('\\maroonB', '\\textcolor{##ff92c6}{#1}'),
+ et('\\maroonC', '\\textcolor{##ed5fa6}{#1}'),
+ et('\\maroonD', '\\textcolor{##ca337c}{#1}'),
+ et('\\maroonE', '\\textcolor{##9e034e}{#1}'),
+ et('\\purpleA', '\\textcolor{##ddd7ff}{#1}'),
+ et('\\purpleB', '\\textcolor{##c6b9fc}{#1}'),
+ et('\\purpleC', '\\textcolor{##aa87ff}{#1}'),
+ et('\\purpleD', '\\textcolor{##7854ab}{#1}'),
+ et('\\purpleE', '\\textcolor{##543b78}{#1}'),
+ et('\\mintA', '\\textcolor{##f5f9e8}{#1}'),
+ et('\\mintB', '\\textcolor{##edf2df}{#1}'),
+ et('\\mintC', '\\textcolor{##e0e5cc}{#1}'),
+ et('\\grayA', '\\textcolor{##f6f7f7}{#1}'),
+ et('\\grayB', '\\textcolor{##f0f1f2}{#1}'),
+ et('\\grayC', '\\textcolor{##e3e5e6}{#1}'),
+ et('\\grayD', '\\textcolor{##d6d8da}{#1}'),
+ et('\\grayE', '\\textcolor{##babec2}{#1}'),
+ et('\\grayF', '\\textcolor{##888d93}{#1}'),
+ et('\\grayG', '\\textcolor{##626569}{#1}'),
+ et('\\grayH', '\\textcolor{##3b3e40}{#1}'),
+ et('\\grayI', '\\textcolor{##21242c}{#1}'),
+ et('\\kaBlue', '\\textcolor{##314453}{#1}'),
+ et('\\kaGreen', '\\textcolor{##71B307}{#1}'));
+ var vqe = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 };
+ class DVt {
+ constructor(s, u, d) {
+ ((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 = u),
+ (this.expansionCount = 0),
+ this.feed(s),
+ (this.macros = new LVt(MVt, u.macros)),
+ (this.mode = d),
+ (this.stack = []));
+ }
+ feed(s) {
+ this.lexer = new dqe(s, this.settings);
+ }
+ switchMode(s) {
+ this.mode = s;
+ }
+ 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(s) {
+ this.stack.push(s);
+ }
+ pushTokens(s) {
+ this.stack.push(...s);
+ }
+ scanArgument(s) {
+ var u, d, p;
+ if (s) {
+ if ((this.consumeSpaces(), this.future().text !== '[')) return null;
+ ((u = this.popToken()), ({ tokens: p, end: d } = this.consumeArg([']'])));
+ } else ({ tokens: p, start: u, end: d } = this.consumeArg());
+ return (this.pushToken(new Pv('EOF', d.loc)), this.pushTokens(p), u.range(d, ''));
+ }
+ consumeSpaces() {
+ for (;;) {
+ var s = this.future();
+ if (s.text === ' ') this.stack.pop();
+ else break;
+ }
+ }
+ consumeArg(s) {
+ var u = [],
+ d = s && s.length > 0;
+ d || this.consumeSpaces();
+ var p = this.future(),
+ v,
+ b = 0,
+ y = 0;
+ do {
+ if (((v = this.popToken()), u.push(v), v.text === '{')) ++b;
+ else if (v.text === '}') {
+ if ((--b, b === -1)) throw new Si('Extra }', v);
+ } else if (v.text === 'EOF')
+ throw new Si(
+ "Unexpected end of input in a macro argument, expected '" + (s && d ? s[y] : '}') + "'",
+ v,
+ );
+ if (s && d)
+ if ((b === 0 || (b === 1 && s[y] === '{')) && v.text === s[y]) {
+ if ((++y, y === s.length)) {
+ u.splice(-y, y);
+ break;
+ }
+ } else y = 0;
+ } while (b !== 0 || d);
+ return (
+ p.text === '{' && u[u.length - 1].text === '}' && (u.pop(), u.shift()),
+ u.reverse(),
+ { tokens: u, start: p, end: v }
+ );
+ }
+ consumeArgs(s, u) {
+ if (u) {
+ if (u.length !== s + 1)
+ throw new Si("The length of delimiters doesn't match the number of args!");
+ for (var d = u[0], p = 0; p < d.length; p++) {
+ var v = this.popToken();
+ if (d[p] !== v.text) throw new Si("Use of the macro doesn't match its definition", v);
+ }
+ }
+ for (var b = [], y = 0; y < s; y++) b.push(this.consumeArg(u && u[y + 1]).tokens);
+ return b;
+ }
+ countExpansion(s) {
+ if (((this.expansionCount += s), this.expansionCount > this.settings.maxExpand))
+ throw new Si('Too many expansions: infinite loop or need to increase maxExpand setting');
+ }
+ expandOnce(s) {
+ var u = this.popToken(),
+ d = u.text,
+ p = u.noexpand ? null : this._getExpansion(d);
+ if (p == null || (s && p.unexpandable)) {
+ if (s && p == null && d[0] === '\\' && !this.isDefined(d))
+ throw new Si('Undefined control sequence: ' + d);
+ return (this.pushToken(u), !1);
+ }
+ this.countExpansion(1);
+ var v = p.tokens,
+ b = this.consumeArgs(p.numArgs, p.delimiters);
+ if (p.numArgs) {
+ v = v.slice();
+ for (var y = v.length - 1; y >= 0; --y) {
+ var T = v[y];
+ if (T.text === '#') {
+ if (y === 0) throw new Si('Incomplete placeholder at end of macro body', T);
+ if (((T = v[--y]), T.text === '#')) v.splice(y + 1, 1);
+ else if (/^[1-9]$/.test(T.text)) v.splice(y, 2, ...b[+T.text - 1]);
+ else throw new Si('Not a valid argument number', T);
+ }
+ }
+ }
+ return (this.pushTokens(v), v.length);
+ }
+ expandAfterFuture() {
+ return (this.expandOnce(), this.future());
+ }
+ expandNextToken() {
+ for (;;)
+ if (this.expandOnce() === !1) {
+ var s = this.stack.pop();
+ return (s.treatAsRelax && (s.text = '\\relax'), s);
+ }
+ throw new Error();
+ }
+ expandMacro(s) {
+ return this.macros.has(s) ? this.expandTokens([new Pv(s)]) : void 0;
+ }
+ expandTokens(s) {
+ var u = [],
+ d = this.stack.length;
+ for (this.pushTokens(s); this.stack.length > d; )
+ if (this.expandOnce(!0) === !1) {
+ var p = this.stack.pop();
+ (p.treatAsRelax && ((p.noexpand = !1), (p.treatAsRelax = !1)), u.push(p));
+ }
+ return (this.countExpansion(u.length), u);
+ }
+ expandMacroAsText(s) {
+ var u = this.expandMacro(s);
+ return u && u.map((d) => d.text).join('');
+ }
+ _getExpansion(s) {
+ var u = this.macros.get(s);
+ if (u == null) return u;
+ if (s.length === 1) {
+ var d = this.lexer.catcodes[s];
+ if (d != null && d !== 13) return;
+ }
+ var p = typeof u == 'function' ? u(this) : u;
+ if (typeof p == 'string') {
+ var v = 0;
+ if (p.indexOf('#') !== -1)
+ for (var b = p.replace(/##/g, ''); b.indexOf('#' + (v + 1)) !== -1; ) ++v;
+ for (var y = new dqe(p, this.settings), T = [], _ = y.lex(); _.text !== 'EOF'; )
+ (T.push(_), (_ = y.lex()));
+ T.reverse();
+ var A = { tokens: T, numArgs: v };
+ return A;
+ }
+ return p;
+ }
+ isDefined(s) {
+ return (
+ this.macros.has(s) ||
+ A9.hasOwnProperty(s) ||
+ Ul.math.hasOwnProperty(s) ||
+ Ul.text.hasOwnProperty(s) ||
+ vqe.hasOwnProperty(s)
+ );
+ }
+ isExpandable(s) {
+ var u = this.macros.get(s);
+ return u != null
+ ? typeof u == 'string' || typeof u == 'function' || !u.unexpandable
+ : A9.hasOwnProperty(s) && !A9[s].primitive;
+ }
+ }
+ var wqe = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,
+ EQ = Object.freeze({
+ '₊': '+',
+ '₋': '-',
+ '₌': '=',
+ '₍': '(',
+ '₎': ')',
+ '₀': '0',
+ '₁': '1',
+ '₂': '2',
+ '₃': '3',
+ '₄': '4',
+ '₅': '5',
+ '₆': '6',
+ '₇': '7',
+ '₈': '8',
+ '₉': '9',
+ ₐ: 'a',
+ ₑ: 'e',
+ ₕ: 'h',
+ ᵢ: 'i',
+ ⱼ: 'j',
+ ₖ: 'k',
+ ₗ: 'l',
+ ₘ: 'm',
+ ₙ: 'n',
+ ₒ: 'o',
+ ₚ: 'p',
+ ᵣ: 'r',
+ ₛ: 's',
+ ₜ: 't',
+ ᵤ: 'u',
+ ᵥ: 'v',
+ ₓ: 'x',
+ ᵦ: 'β',
+ ᵧ: 'γ',
+ ᵨ: 'ρ',
+ ᵩ: 'ϕ',
+ ᵪ: 'χ',
+ '⁺': '+',
+ '⁻': '-',
+ '⁼': '=',
+ '⁽': '(',
+ '⁾': ')',
+ '⁰': '0',
+ '¹': '1',
+ '²': '2',
+ '³': '3',
+ '⁴': '4',
+ '⁵': '5',
+ '⁶': '6',
+ '⁷': '7',
+ '⁸': '8',
+ '⁹': '9',
+ ᴬ: 'A',
+ ᴮ: 'B',
+ ᴰ: 'D',
+ ᴱ: 'E',
+ ᴳ: 'G',
+ ᴴ: 'H',
+ ᴵ: 'I',
+ ᴶ: 'J',
+ ᴷ: 'K',
+ ᴸ: 'L',
+ ᴹ: 'M',
+ ᴺ: 'N',
+ ᴼ: 'O',
+ ᴾ: 'P',
+ ᴿ: 'R',
+ ᵀ: 'T',
+ ᵁ: 'U',
+ ⱽ: 'V',
+ ᵂ: 'W',
+ ᵃ: 'a',
+ ᵇ: 'b',
+ ᶜ: 'c',
+ ᵈ: 'd',
+ ᵉ: 'e',
+ ᶠ: 'f',
+ ᵍ: 'g',
+ ʰ: 'h',
+ ⁱ: 'i',
+ ʲ: 'j',
+ ᵏ: 'k',
+ ˡ: 'l',
+ ᵐ: 'm',
+ ⁿ: 'n',
+ ᵒ: 'o',
+ ᵖ: 'p',
+ ʳ: 'r',
+ ˢ: 's',
+ ᵗ: 't',
+ ᵘ: 'u',
+ ᵛ: 'v',
+ ʷ: 'w',
+ ˣ: 'x',
+ ʸ: 'y',
+ ᶻ: 'z',
+ ᵝ: 'β',
+ ᵞ: 'γ',
+ ᵟ: 'δ',
+ ᵠ: 'ϕ',
+ ᵡ: 'χ',
+ ᶿ: 'θ',
+ }),
+ Pbe = {
+ '́': { text: "\\'", math: '\\acute' },
+ '̀': { text: '\\`', math: '\\grave' },
+ '̈': { text: '\\"', math: '\\ddot' },
+ '̃': { text: '\\~', math: '\\tilde' },
+ '̄': { text: '\\=', math: '\\bar' },
+ '̆': { text: '\\u', math: '\\breve' },
+ '̌': { text: '\\v', math: '\\check' },
+ '̂': { text: '\\^', math: '\\hat' },
+ '̇': { text: '\\.', math: '\\dot' },
+ '̊': { text: '\\r', math: '\\mathring' },
+ '̋': { text: '\\H' },
+ '̧': { text: '\\c' },
+ },
+ yqe = {
+ á: 'á',
+ à: 'à',
+ ä: 'ä',
+ ǟ: 'ǟ',
+ ã: 'ã',
+ ā: 'ā',
+ ă: 'ă',
+ ắ: 'ắ',
+ ằ: 'ằ',
+ ẵ: 'ẵ',
+ ǎ: 'ǎ',
+ â: 'â',
+ ấ: 'ấ',
+ ầ: 'ầ',
+ ẫ: 'ẫ',
+ ȧ: 'ȧ',
+ ǡ: 'ǡ',
+ å: 'å',
+ ǻ: 'ǻ',
+ ḃ: 'ḃ',
+ ć: 'ć',
+ ḉ: 'ḉ',
+ č: 'č',
+ ĉ: 'ĉ',
+ ċ: 'ċ',
+ ç: 'ç',
+ ď: 'ď',
+ ḋ: 'ḋ',
+ ḑ: 'ḑ',
+ é: 'é',
+ è: 'è',
+ ë: 'ë',
+ ẽ: 'ẽ',
+ ē: 'ē',
+ ḗ: 'ḗ',
+ ḕ: 'ḕ',
+ ĕ: 'ĕ',
+ ḝ: 'ḝ',
+ ě: 'ě',
+ ê: 'ê',
+ ế: 'ế',
+ ề: 'ề',
+ ễ: 'ễ',
+ ė: 'ė',
+ ȩ: 'ȩ',
+ ḟ: 'ḟ',
+ ǵ: 'ǵ',
+ ḡ: 'ḡ',
+ ğ: 'ğ',
+ ǧ: 'ǧ',
+ ĝ: 'ĝ',
+ ġ: 'ġ',
+ ģ: 'ģ',
+ ḧ: 'ḧ',
+ ȟ: 'ȟ',
+ ĥ: 'ĥ',
+ ḣ: 'ḣ',
+ ḩ: 'ḩ',
+ í: 'í',
+ ì: 'ì',
+ ï: 'ï',
+ ḯ: 'ḯ',
+ ĩ: 'ĩ',
+ ī: 'ī',
+ ĭ: 'ĭ',
+ ǐ: 'ǐ',
+ î: 'î',
+ ǰ: 'ǰ',
+ ĵ: 'ĵ',
+ ḱ: 'ḱ',
+ ǩ: 'ǩ',
+ ķ: 'ķ',
+ ĺ: 'ĺ',
+ ľ: 'ľ',
+ ļ: 'ļ',
+ ḿ: 'ḿ',
+ ṁ: 'ṁ',
+ ń: 'ń',
+ ǹ: 'ǹ',
+ ñ: 'ñ',
+ ň: 'ň',
+ ṅ: 'ṅ',
+ ņ: 'ņ',
+ ó: 'ó',
+ ò: 'ò',
+ ö: 'ö',
+ ȫ: 'ȫ',
+ õ: 'õ',
+ ṍ: 'ṍ',
+ ṏ: 'ṏ',
+ ȭ: 'ȭ',
+ ō: 'ō',
+ ṓ: 'ṓ',
+ ṑ: 'ṑ',
+ ŏ: 'ŏ',
+ ǒ: 'ǒ',
+ ô: 'ô',
+ ố: 'ố',
+ ồ: 'ồ',
+ ỗ: 'ỗ',
+ ȯ: 'ȯ',
+ ȱ: 'ȱ',
+ ő: 'ő',
+ ṕ: 'ṕ',
+ ṗ: 'ṗ',
+ ŕ: 'ŕ',
+ ř: 'ř',
+ ṙ: 'ṙ',
+ ŗ: 'ŗ',
+ ś: 'ś',
+ ṥ: 'ṥ',
+ š: 'š',
+ ṧ: 'ṧ',
+ ŝ: 'ŝ',
+ ṡ: 'ṡ',
+ ş: 'ş',
+ ẗ: 'ẗ',
+ ť: 'ť',
+ ṫ: 'ṫ',
+ ţ: 'ţ',
+ ú: 'ú',
+ ù: 'ù',
+ ü: 'ü',
+ ǘ: 'ǘ',
+ ǜ: 'ǜ',
+ ǖ: 'ǖ',
+ ǚ: 'ǚ',
+ ũ: 'ũ',
+ ṹ: 'ṹ',
+ ū: 'ū',
+ ṻ: 'ṻ',
+ ŭ: 'ŭ',
+ ǔ: 'ǔ',
+ û: 'û',
+ ů: 'ů',
+ ű: 'ű',
+ ṽ: 'ṽ',
+ ẃ: 'ẃ',
+ ẁ: 'ẁ',
+ ẅ: 'ẅ',
+ ŵ: 'ŵ',
+ ẇ: 'ẇ',
+ ẘ: 'ẘ',
+ ẍ: 'ẍ',
+ ẋ: 'ẋ',
+ ý: 'ý',
+ ỳ: 'ỳ',
+ ÿ: 'ÿ',
+ ỹ: 'ỹ',
+ ȳ: 'ȳ',
+ ŷ: 'ŷ',
+ ẏ: 'ẏ',
+ ẙ: 'ẙ',
+ ź: 'ź',
+ ž: 'ž',
+ ẑ: 'ẑ',
+ ż: 'ż',
+ Á: 'Á',
+ À: 'À',
+ Ä: 'Ä',
+ Ǟ: 'Ǟ',
+ Ã: 'Ã',
+ Ā: 'Ā',
+ Ă: 'Ă',
+ Ắ: 'Ắ',
+ Ằ: 'Ằ',
+ Ẵ: 'Ẵ',
+ Ǎ: 'Ǎ',
+ Â: 'Â',
+ Ấ: 'Ấ',
+ Ầ: 'Ầ',
+ Ẫ: 'Ẫ',
+ Ȧ: 'Ȧ',
+ Ǡ: 'Ǡ',
+ Å: 'Å',
+ Ǻ: 'Ǻ',
+ Ḃ: 'Ḃ',
+ Ć: 'Ć',
+ Ḉ: 'Ḉ',
+ Č: 'Č',
+ Ĉ: 'Ĉ',
+ Ċ: 'Ċ',
+ Ç: 'Ç',
+ Ď: 'Ď',
+ Ḋ: 'Ḋ',
+ Ḑ: 'Ḑ',
+ É: 'É',
+ È: 'È',
+ Ë: 'Ë',
+ Ẽ: 'Ẽ',
+ Ē: 'Ē',
+ Ḗ: 'Ḗ',
+ Ḕ: 'Ḕ',
+ Ĕ: 'Ĕ',
+ Ḝ: 'Ḝ',
+ Ě: 'Ě',
+ Ê: 'Ê',
+ Ế: 'Ế',
+ Ề: 'Ề',
+ Ễ: 'Ễ',
+ Ė: 'Ė',
+ Ȩ: 'Ȩ',
+ Ḟ: 'Ḟ',
+ Ǵ: 'Ǵ',
+ Ḡ: 'Ḡ',
+ Ğ: 'Ğ',
+ Ǧ: 'Ǧ',
+ Ĝ: 'Ĝ',
+ Ġ: 'Ġ',
+ Ģ: 'Ģ',
+ Ḧ: 'Ḧ',
+ Ȟ: 'Ȟ',
+ Ĥ: 'Ĥ',
+ Ḣ: 'Ḣ',
+ Ḩ: 'Ḩ',
+ Í: 'Í',
+ Ì: 'Ì',
+ Ï: 'Ï',
+ Ḯ: 'Ḯ',
+ Ĩ: 'Ĩ',
+ Ī: 'Ī',
+ Ĭ: 'Ĭ',
+ Ǐ: 'Ǐ',
+ Î: 'Î',
+ İ: 'İ',
+ Ĵ: 'Ĵ',
+ Ḱ: 'Ḱ',
+ Ǩ: 'Ǩ',
+ Ķ: 'Ķ',
+ Ĺ: 'Ĺ',
+ Ľ: 'Ľ',
+ Ļ: 'Ļ',
+ Ḿ: 'Ḿ',
+ Ṁ: 'Ṁ',
+ Ń: 'Ń',
+ Ǹ: 'Ǹ',
+ Ñ: 'Ñ',
+ Ň: 'Ň',
+ Ṅ: 'Ṅ',
+ Ņ: 'Ņ',
+ Ó: 'Ó',
+ Ò: 'Ò',
+ Ö: 'Ö',
+ Ȫ: 'Ȫ',
+ Õ: 'Õ',
+ Ṍ: 'Ṍ',
+ Ṏ: 'Ṏ',
+ Ȭ: 'Ȭ',
+ Ō: 'Ō',
+ Ṓ: 'Ṓ',
+ Ṑ: 'Ṑ',
+ Ŏ: 'Ŏ',
+ Ǒ: 'Ǒ',
+ Ô: 'Ô',
+ Ố: 'Ố',
+ Ồ: 'Ồ',
+ Ỗ: 'Ỗ',
+ Ȯ: 'Ȯ',
+ Ȱ: 'Ȱ',
+ Ő: 'Ő',
+ Ṕ: 'Ṕ',
+ Ṗ: 'Ṗ',
+ Ŕ: 'Ŕ',
+ Ř: 'Ř',
+ Ṙ: 'Ṙ',
+ Ŗ: 'Ŗ',
+ Ś: 'Ś',
+ Ṥ: 'Ṥ',
+ Š: 'Š',
+ Ṧ: 'Ṧ',
+ Ŝ: 'Ŝ',
+ Ṡ: 'Ṡ',
+ Ş: 'Ş',
+ Ť: 'Ť',
+ Ṫ: 'Ṫ',
+ Ţ: 'Ţ',
+ Ú: 'Ú',
+ Ù: 'Ù',
+ Ü: 'Ü',
+ Ǘ: 'Ǘ',
+ Ǜ: 'Ǜ',
+ Ǖ: 'Ǖ',
+ Ǚ: 'Ǚ',
+ Ũ: 'Ũ',
+ Ṹ: 'Ṹ',
+ Ū: 'Ū',
+ Ṻ: 'Ṻ',
+ Ŭ: 'Ŭ',
+ Ǔ: 'Ǔ',
+ Û: 'Û',
+ Ů: 'Ů',
+ Ű: 'Ű',
+ Ṽ: 'Ṽ',
+ Ẃ: 'Ẃ',
+ Ẁ: 'Ẁ',
+ Ẅ: 'Ẅ',
+ Ŵ: 'Ŵ',
+ Ẇ: 'Ẇ',
+ Ẍ: 'Ẍ',
+ Ẋ: 'Ẋ',
+ Ý: 'Ý',
+ Ỳ: 'Ỳ',
+ Ÿ: 'Ÿ',
+ Ỹ: 'Ỹ',
+ Ȳ: 'Ȳ',
+ Ŷ: 'Ŷ',
+ Ẏ: 'Ẏ',
+ Ź: 'Ź',
+ Ž: 'Ž',
+ Ẑ: 'Ẑ',
+ Ż: 'Ż',
+ ά: 'ά',
+ ὰ: 'ὰ',
+ ᾱ: 'ᾱ',
+ ᾰ: 'ᾰ',
+ έ: 'έ',
+ ὲ: 'ὲ',
+ ή: 'ή',
+ ὴ: 'ὴ',
+ ί: 'ί',
+ ὶ: 'ὶ',
+ ϊ: 'ϊ',
+ ΐ: 'ΐ',
+ ῒ: 'ῒ',
+ ῑ: 'ῑ',
+ ῐ: 'ῐ',
+ ό: 'ό',
+ ὸ: 'ὸ',
+ ύ: 'ύ',
+ ὺ: 'ὺ',
+ ϋ: 'ϋ',
+ ΰ: 'ΰ',
+ ῢ: 'ῢ',
+ ῡ: 'ῡ',
+ ῠ: 'ῠ',
+ ώ: 'ώ',
+ ὼ: 'ὼ',
+ Ύ: 'Ύ',
+ Ὺ: 'Ὺ',
+ Ϋ: 'Ϋ',
+ Ῡ: 'Ῡ',
+ Ῠ: 'Ῠ',
+ Ώ: 'Ώ',
+ Ὼ: 'Ὼ',
+ };
+ class TQ {
+ constructor(s, u) {
+ ((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 DVt(s, u, this.mode)),
+ (this.settings = u),
+ (this.leftrightDepth = 0));
+ }
+ expect(s, u) {
+ if ((u === void 0 && (u = !0), this.fetch().text !== s))
+ throw new Si("Expected '" + s + "', got '" + this.fetch().text + "'", this.fetch());
+ u && this.consume();
+ }
+ consume() {
+ this.nextToken = null;
+ }
+ fetch() {
+ return (
+ this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()),
+ this.nextToken
+ );
+ }
+ switchMode(s) {
+ ((this.mode = s), this.gullet.switchMode(s));
+ }
+ parse() {
+ (this.settings.globalGroup || this.gullet.beginGroup(),
+ this.settings.colorIsTextColor && this.gullet.macros.set('\\color', '\\textcolor'));
+ try {
+ var s = this.parseExpression(!1);
+ return (this.expect('EOF'), this.settings.globalGroup || this.gullet.endGroup(), s);
+ } finally {
+ this.gullet.endGroups();
+ }
+ }
+ subparse(s) {
+ var u = this.nextToken;
+ (this.consume(), this.gullet.pushToken(new Pv('}')), this.gullet.pushTokens(s));
+ var d = this.parseExpression(!1);
+ return (this.expect('}'), (this.nextToken = u), d);
+ }
+ parseExpression(s, u) {
+ for (var d = []; ; ) {
+ this.mode === 'math' && this.consumeSpaces();
+ var p = this.fetch();
+ if (
+ TQ.endOfExpression.indexOf(p.text) !== -1 ||
+ (u && p.text === u) ||
+ (s && A9[p.text] && A9[p.text].infix)
+ )
+ break;
+ var v = this.parseAtom(u);
+ if (v) {
+ if (v.type === 'internal') continue;
+ } else break;
+ d.push(v);
+ }
+ return (this.mode === 'text' && this.formLigatures(d), this.handleInfixNodes(d));
+ }
+ handleInfixNodes(s) {
+ for (var u = -1, d, p = 0; p < s.length; p++)
+ if (s[p].type === 'infix') {
+ if (u !== -1) throw new Si('only one infix operator per group', s[p].token);
+ ((u = p), (d = s[p].replaceWith));
+ }
+ if (u !== -1 && d) {
+ var v,
+ b,
+ y = s.slice(0, u),
+ T = s.slice(u + 1);
+ (y.length === 1 && y[0].type === 'ordgroup'
+ ? (v = y[0])
+ : (v = { type: 'ordgroup', mode: this.mode, body: y }),
+ T.length === 1 && T[0].type === 'ordgroup'
+ ? (b = T[0])
+ : (b = { type: 'ordgroup', mode: this.mode, body: T }));
+ var _;
+ return (
+ d === '\\\\abovefrac'
+ ? (_ = this.callFunction(d, [v, s[u], b], []))
+ : (_ = this.callFunction(d, [v, b], [])),
+ [_]
+ );
+ } else return s;
+ }
+ handleSupSubscript(s) {
+ var u = this.fetch(),
+ d = u.text;
+ (this.consume(), this.consumeSpaces());
+ var p = this.parseGroup(s);
+ if (!p) throw new Si("Expected group after '" + d + "'", u);
+ return p;
+ }
+ formatUnsupportedCmd(s) {
+ for (var u = [], d = 0; d < s.length; d++)
+ u.push({ type: 'textord', mode: 'text', text: s[d] });
+ var p = { type: 'text', mode: this.mode, body: u },
+ v = { type: 'color', mode: this.mode, color: this.settings.errorColor, body: [p] };
+ return v;
+ }
+ parseAtom(s) {
+ var u = this.parseGroup('atom', s);
+ if (this.mode === 'text') return u;
+ for (var d, p; ; ) {
+ this.consumeSpaces();
+ var v = this.fetch();
+ if (v.text === '\\limits' || v.text === '\\nolimits') {
+ if (u && u.type === 'op') {
+ var b = v.text === '\\limits';
+ ((u.limits = b), (u.alwaysHandleSupSub = !0));
+ } else if (u && u.type === 'operatorname')
+ u.alwaysHandleSupSub && (u.limits = v.text === '\\limits');
+ else throw new Si('Limit controls must follow a math operator', v);
+ this.consume();
+ } else if (v.text === '^') {
+ if (d) throw new Si('Double superscript', v);
+ d = this.handleSupSubscript('superscript');
+ } else if (v.text === '_') {
+ if (p) throw new Si('Double subscript', v);
+ p = this.handleSupSubscript('subscript');
+ } else if (v.text === "'") {
+ if (d) throw new Si('Double superscript', v);
+ var y = { type: 'textord', mode: this.mode, text: '\\prime' },
+ T = [y];
+ for (this.consume(); this.fetch().text === "'"; ) (T.push(y), this.consume());
+ (this.fetch().text === '^' && T.push(this.handleSupSubscript('superscript')),
+ (d = { type: 'ordgroup', mode: this.mode, body: T }));
+ } else if (EQ[v.text]) {
+ var _ = wqe.test(v.text),
+ A = [];
+ for (A.push(new Pv(EQ[v.text])), this.consume(); ; ) {
+ var P = this.fetch().text;
+ if (!EQ[P] || wqe.test(P) !== _) break;
+ (A.unshift(new Pv(EQ[P])), this.consume());
+ }
+ var R = this.subparse(A);
+ _
+ ? (p = { type: 'ordgroup', mode: 'math', body: R })
+ : (d = { type: 'ordgroup', mode: 'math', body: R });
+ } else break;
+ }
+ return d || p ? { type: 'supsub', mode: this.mode, base: u, sup: d, sub: p } : u;
+ }
+ parseFunction(s, u) {
+ var d = this.fetch(),
+ p = d.text,
+ v = A9[p];
+ if (!v) return null;
+ if ((this.consume(), u && u !== 'atom' && !v.allowedInArgument))
+ throw new Si("Got function '" + p + "' with no arguments" + (u ? ' as ' + u : ''), d);
+ if (this.mode === 'text' && !v.allowedInText)
+ throw new Si("Can't use function '" + p + "' in text mode", d);
+ if (this.mode === 'math' && v.allowedInMath === !1)
+ throw new Si("Can't use function '" + p + "' in math mode", d);
+ var { args: b, optArgs: y } = this.parseArguments(p, v);
+ return this.callFunction(p, b, y, d, s);
+ }
+ callFunction(s, u, d, p, v) {
+ var b = { funcName: s, parser: this, token: p, breakOnTokenText: v },
+ y = A9[s];
+ if (y && y.handler) return y.handler(b, u, d);
+ throw new Si('No function handler for ' + s);
+ }
+ parseArguments(s, u) {
+ var d = u.numArgs + u.numOptionalArgs;
+ if (d === 0) return { args: [], optArgs: [] };
+ for (var p = [], v = [], b = 0; b < d; b++) {
+ var y = u.argTypes && u.argTypes[b],
+ T = b < u.numOptionalArgs;
+ ((u.primitive && y == null) || (u.type === 'sqrt' && b === 1 && v[0] == null)) &&
+ (y = 'primitive');
+ var _ = this.parseGroupOfType("argument to '" + s + "'", y, T);
+ if (T) v.push(_);
+ else if (_ != null) p.push(_);
+ else throw new Si('Null argument, please report this as a bug');
+ }
+ return { args: p, optArgs: v };
+ }
+ parseGroupOfType(s, u, d) {
+ switch (u) {
+ case 'color':
+ return this.parseColorGroup(d);
+ case 'size':
+ return this.parseSizeGroup(d);
+ case 'url':
+ return this.parseUrlGroup(d);
+ case 'math':
+ case 'text':
+ return this.parseArgumentGroup(d, u);
+ case 'hbox': {
+ var p = this.parseArgumentGroup(d, 'text');
+ return p != null ? { type: 'styling', mode: p.mode, body: [p], style: 'text' } : null;
+ }
+ case 'raw': {
+ var v = this.parseStringGroup('raw', d);
+ return v != null ? { type: 'raw', mode: 'text', string: v.text } : null;
+ }
+ case 'primitive': {
+ if (d) throw new Si('A primitive argument cannot be optional');
+ var b = this.parseGroup(s);
+ if (b == null) throw new Si('Expected group as ' + s, this.fetch());
+ return b;
+ }
+ case 'original':
+ case null:
+ case void 0:
+ return this.parseArgumentGroup(d);
+ default:
+ throw new Si('Unknown group type as ' + s, this.fetch());
+ }
+ }
+ consumeSpaces() {
+ for (; this.fetch().text === ' '; ) this.consume();
+ }
+ parseStringGroup(s, u) {
+ var d = this.gullet.scanArgument(u);
+ if (d == null) return null;
+ for (var p = '', v; (v = this.fetch()).text !== 'EOF'; ) ((p += v.text), this.consume());
+ return (this.consume(), (d.text = p), d);
+ }
+ parseRegexGroup(s, u) {
+ for (
+ var d = this.fetch(), p = d, v = '', b;
+ (b = this.fetch()).text !== 'EOF' && s.test(v + b.text);
+ )
+ ((p = b), (v += p.text), this.consume());
+ if (v === '') throw new Si('Invalid ' + u + ": '" + d.text + "'", d);
+ return d.range(p, v);
+ }
+ parseColorGroup(s) {
+ var u = this.parseStringGroup('color', s);
+ if (u == null) return null;
+ var d = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(u.text);
+ if (!d) throw new Si("Invalid color: '" + u.text + "'", u);
+ var p = d[0];
+ return (
+ /^[0-9a-f]{6}$/i.test(p) && (p = '#' + p),
+ { type: 'color-token', mode: this.mode, color: p }
+ );
+ }
+ parseSizeGroup(s) {
+ var u,
+ d = !1;
+ if (
+ (this.gullet.consumeSpaces(),
+ !s && this.gullet.future().text !== '{'
+ ? (u = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, 'size'))
+ : (u = this.parseStringGroup('size', s)),
+ !u)
+ )
+ return null;
+ !s && u.text.length === 0 && ((u.text = '0pt'), (d = !0));
+ var p = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(u.text);
+ if (!p) throw new Si("Invalid size: '" + u.text + "'", u);
+ var v = { number: +(p[1] + p[2]), unit: p[3] };
+ if (!eze(v)) throw new Si("Invalid unit: '" + v.unit + "'", u);
+ return { type: 'size', mode: this.mode, value: v, isBlank: d };
+ }
+ parseUrlGroup(s) {
+ (this.gullet.lexer.setCatcode('%', 13), this.gullet.lexer.setCatcode('~', 12));
+ var u = this.parseStringGroup('url', s);
+ if ((this.gullet.lexer.setCatcode('%', 14), this.gullet.lexer.setCatcode('~', 13), u == null))
+ return null;
+ var d = u.text.replace(/\\([#$%&~_^{}])/g, '$1');
+ return { type: 'url', mode: this.mode, url: d };
+ }
+ parseArgumentGroup(s, u) {
+ var d = this.gullet.scanArgument(s);
+ if (d == null) return null;
+ var p = this.mode;
+ (u && this.switchMode(u), this.gullet.beginGroup());
+ var v = this.parseExpression(!1, 'EOF');
+ (this.expect('EOF'), this.gullet.endGroup());
+ var b = { type: 'ordgroup', mode: this.mode, loc: d.loc, body: v };
+ return (u && this.switchMode(p), b);
+ }
+ parseGroup(s, u) {
+ var d = this.fetch(),
+ p = d.text,
+ v;
+ if (p === '{' || p === '\\begingroup') {
+ this.consume();
+ var b = p === '{' ? '}' : '\\endgroup';
+ this.gullet.beginGroup();
+ var y = this.parseExpression(!1, b),
+ T = this.fetch();
+ (this.expect(b),
+ this.gullet.endGroup(),
+ (v = {
+ type: 'ordgroup',
+ mode: this.mode,
+ loc: um.range(d, T),
+ body: y,
+ semisimple: p === '\\begingroup' || void 0,
+ }));
+ } else if (
+ ((v = this.parseFunction(u, s) || this.parseSymbol()),
+ v == null && p[0] === '\\' && !vqe.hasOwnProperty(p))
+ ) {
+ if (this.settings.throwOnError) throw new Si('Undefined control sequence: ' + p, d);
+ ((v = this.formatUnsupportedCmd(p)), this.consume());
+ }
+ return v;
+ }
+ formLigatures(s) {
+ for (var u = s.length - 1, d = 0; d < u; ++d) {
+ var p = s[d],
+ v = p.text;
+ (v === '-' &&
+ s[d + 1].text === '-' &&
+ (d + 1 < u && s[d + 2].text === '-'
+ ? (s.splice(d, 3, {
+ type: 'textord',
+ mode: 'text',
+ loc: um.range(p, s[d + 2]),
+ text: '---',
+ }),
+ (u -= 2))
+ : (s.splice(d, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: um.range(p, s[d + 1]),
+ text: '--',
+ }),
+ (u -= 1))),
+ (v === "'" || v === '`') &&
+ s[d + 1].text === v &&
+ (s.splice(d, 2, {
+ type: 'textord',
+ mode: 'text',
+ loc: um.range(p, s[d + 1]),
+ text: v + v,
+ }),
+ (u -= 1)));
+ }
+ }
+ parseSymbol() {
+ var s = this.fetch(),
+ u = s.text;
+ if (/^\\verb[^a-zA-Z]/.test(u)) {
+ this.consume();
+ var d = u.slice(5),
+ p = d.charAt(0) === '*';
+ if ((p && (d = d.slice(1)), d.length < 2 || d.charAt(0) !== d.slice(-1)))
+ throw new Si(`\\verb assertion failed --
+ please report what input caused this bug`);
+ return ((d = d.slice(1, -1)), { type: 'verb', mode: 'text', body: d, star: p });
+ }
+ yqe.hasOwnProperty(u[0]) &&
+ !Ul[this.mode][u[0]] &&
+ (this.settings.strict &&
+ this.mode === 'math' &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Accented Unicode text character "' + u[0] + '" used in math mode',
+ s,
+ ),
+ (u = yqe[u[0]] + u.slice(1)));
+ var v = _Vt.exec(u);
+ v && ((u = u.substring(0, v.index)), u === 'i' ? (u = 'ı') : u === 'j' && (u = 'ȷ'));
+ var b;
+ if (Ul[this.mode][u]) {
+ this.settings.strict &&
+ this.mode === 'math' &&
+ abe.indexOf(u) >= 0 &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Latin-1/Unicode text character "' + u[0] + '" used in math mode',
+ s,
+ );
+ var y = Ul[this.mode][u].group,
+ T = um.range(s),
+ _;
+ if (wHt.hasOwnProperty(y)) {
+ var A = y;
+ _ = { type: 'atom', mode: this.mode, family: A, loc: T, text: u };
+ } else _ = { type: y, mode: this.mode, loc: T, text: u };
+ b = _;
+ } else if (u.charCodeAt(0) >= 128)
+ (this.settings.strict &&
+ (Y$e(u.charCodeAt(0))
+ ? this.mode === 'math' &&
+ this.settings.reportNonstrict(
+ 'unicodeTextInMathMode',
+ 'Unicode text character "' + u[0] + '" used in math mode',
+ s,
+ )
+ : this.settings.reportNonstrict(
+ 'unknownSymbol',
+ 'Unrecognized Unicode character "' + u[0] + '"' + (' (' + u.charCodeAt(0) + ')'),
+ s,
+ )),
+ (b = { type: 'textord', mode: 'text', loc: um.range(s), text: u }));
+ else return null;
+ if ((this.consume(), v))
+ for (var P = 0; P < v[0].length; P++) {
+ var R = v[0][P];
+ if (!Pbe[R]) throw new Si("Unknown accent ' " + R + "'", s);
+ var F = Pbe[R][this.mode] || Pbe[R].text;
+ if (!F) throw new Si('Accent ' + R + ' unsupported in ' + this.mode + ' mode', s);
+ b = {
+ type: 'accent',
+ mode: this.mode,
+ loc: um.range(s),
+ label: F,
+ isStretchy: !1,
+ isShifty: !0,
+ base: b,
+ };
+ }
+ return b;
+ }
+ }
+ TQ.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&'];
+ var Bbe = function (s, u) {
+ if (!(typeof s == 'string' || s instanceof String))
+ throw new TypeError('KaTeX can only parse string typed expression');
+ var d = new TQ(s, u);
+ delete d.gullet.macros.current['\\df@tag'];
+ var p = d.parse();
+ if (
+ (delete d.gullet.macros.current['\\current@color'],
+ delete d.gullet.macros.current['\\color'],
+ d.gullet.macros.get('\\df@tag'))
+ ) {
+ if (!u.displayMode) throw new Si('\\tag works only in display equations');
+ p = [{ type: 'tag', mode: 'text', body: p, tag: d.subparse([new Pv('\\df@tag')]) }];
+ }
+ return p;
+ },
+ xqe = function (s, u, d) {
+ u.textContent = '';
+ var p = Fbe(s, d).toNode();
+ u.appendChild(p);
+ };
+ typeof document < 'u' &&
+ document.compatMode !== 'CSS1Compat' &&
+ (typeof console < 'u' &&
+ console.warn(
+ "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.",
+ ),
+ (xqe = function () {
+ throw new Si("KaTeX doesn't work in quirks mode.");
+ }));
+ var IVt = function (s, u) {
+ var d = Fbe(s, u).toMarkup();
+ return d;
+ },
+ OVt = function (s, u) {
+ var d = new Y2e(u);
+ return Bbe(s, d);
+ },
+ kqe = function (s, u, d) {
+ if (d.throwOnError || !(s instanceof Si)) throw s;
+ var p = Hn.makeSpan(['katex-error'], [new Fv(u)]);
+ return (
+ p.setAttribute('title', s.toString()),
+ p.setAttribute('style', 'color:' + d.errorColor),
+ p
+ );
+ },
+ Fbe = function (s, u) {
+ var d = new Y2e(u);
+ try {
+ var p = Bbe(s, d);
+ return qHt(p, s, d);
+ } catch (v) {
+ return kqe(v, s, d);
+ }
+ },
+ NVt = function (s, u) {
+ var d = new Y2e(u);
+ try {
+ var p = Bbe(s, d);
+ return HHt(p, s, d);
+ } catch (v) {
+ return kqe(v, s, d);
+ }
+ },
+ PVt = {
+ version: '0.16.11',
+ render: xqe,
+ renderToString: IVt,
+ ParseError: Si,
+ SETTINGS_SCHEMA: nQ,
+ __parse: OVt,
+ __renderToDomTree: Fbe,
+ __renderToHTMLTree: NVt,
+ __setFontMetrics: fHt,
+ __defineSymbol: we,
+ __defineFunction: Ji,
+ __defineMacro: et,
+ __domTree: {
+ Span: uR,
+ Anchor: tbe,
+ SymbolNode: Fv,
+ SvgNode: M7,
+ PathNode: T9,
+ LineNode: nbe,
+ },
+ };
+ const BVt = Object.freeze(
+ Object.defineProperty({ __proto__: null, default: PVt }, Symbol.toStringTag, {
+ value: 'Module',
+ }),
+ );
+ var CQ = (function () {
+ var i = function (_r, Nn, $n, qn) {
+ for ($n = $n || {}, qn = _r.length; qn--; $n[_r[qn]] = Nn);
+ return $n;
+ },
+ s = [1, 24],
+ u = [1, 25],
+ d = [1, 26],
+ p = [1, 27],
+ v = [1, 28],
+ b = [1, 63],
+ y = [1, 64],
+ T = [1, 65],
+ _ = [1, 66],
+ A = [1, 67],
+ P = [1, 68],
+ R = [1, 69],
+ F = [1, 29],
+ j = [1, 30],
+ W = [1, 31],
+ ee = [1, 32],
+ ie = [1, 33],
+ oe = [1, 34],
+ be = [1, 35],
+ ge = [1, 36],
+ ae = [1, 37],
+ ne = [1, 38],
+ se = [1, 39],
+ de = [1, 40],
+ X = [1, 41],
+ pe = [1, 42],
+ G = [1, 43],
+ xe = [1, 44],
+ U = [1, 45],
+ Be = [1, 46],
+ Ne = [1, 47],
+ je = [1, 48],
+ Ie = [1, 50],
+ Se = [1, 51],
+ Ce = [1, 52],
+ ke = [1, 53],
+ Ke = [1, 54],
+ Ft = [1, 55],
+ Pe = [1, 56],
+ gn = [1, 57],
+ kt = [1, 58],
+ Et = [1, 59],
+ Gt = [1, 60],
+ ln = [14, 42],
+ xt = [
+ 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ ],
+ Pt = [
+ 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,
+ ],
+ Ze = [1, 82],
+ At = [1, 83],
+ Tt = [1, 84],
+ On = [1, 85],
+ ht = [12, 14, 42],
+ zr = [12, 14, 33, 42],
+ yt = [12, 14, 33, 42, 76, 77, 79, 80],
+ Fi = [12, 33],
+ yi = [
+ 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,
+ ],
+ Ba = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mermaidDoc: 4,
+ direction: 5,
+ direction_tb: 6,
+ direction_bt: 7,
+ direction_rl: 8,
+ direction_lr: 9,
+ graphConfig: 10,
+ C4_CONTEXT: 11,
+ NEWLINE: 12,
+ statements: 13,
+ EOF: 14,
+ C4_CONTAINER: 15,
+ C4_COMPONENT: 16,
+ C4_DYNAMIC: 17,
+ C4_DEPLOYMENT: 18,
+ otherStatements: 19,
+ diagramStatements: 20,
+ otherStatement: 21,
+ title: 22,
+ accDescription: 23,
+ acc_title: 24,
+ acc_title_value: 25,
+ acc_descr: 26,
+ acc_descr_value: 27,
+ acc_descr_multiline_value: 28,
+ boundaryStatement: 29,
+ boundaryStartStatement: 30,
+ boundaryStopStatement: 31,
+ boundaryStart: 32,
+ LBRACE: 33,
+ ENTERPRISE_BOUNDARY: 34,
+ attributes: 35,
+ SYSTEM_BOUNDARY: 36,
+ BOUNDARY: 37,
+ CONTAINER_BOUNDARY: 38,
+ NODE: 39,
+ NODE_L: 40,
+ NODE_R: 41,
+ RBRACE: 42,
+ diagramStatement: 43,
+ PERSON: 44,
+ PERSON_EXT: 45,
+ SYSTEM: 46,
+ SYSTEM_DB: 47,
+ SYSTEM_QUEUE: 48,
+ SYSTEM_EXT: 49,
+ SYSTEM_EXT_DB: 50,
+ SYSTEM_EXT_QUEUE: 51,
+ CONTAINER: 52,
+ CONTAINER_DB: 53,
+ CONTAINER_QUEUE: 54,
+ CONTAINER_EXT: 55,
+ CONTAINER_EXT_DB: 56,
+ CONTAINER_EXT_QUEUE: 57,
+ COMPONENT: 58,
+ COMPONENT_DB: 59,
+ COMPONENT_QUEUE: 60,
+ COMPONENT_EXT: 61,
+ COMPONENT_EXT_DB: 62,
+ COMPONENT_EXT_QUEUE: 63,
+ REL: 64,
+ BIREL: 65,
+ REL_U: 66,
+ REL_D: 67,
+ REL_L: 68,
+ REL_R: 69,
+ REL_B: 70,
+ REL_INDEX: 71,
+ UPDATE_EL_STYLE: 72,
+ UPDATE_REL_STYLE: 73,
+ UPDATE_LAYOUT_CONFIG: 74,
+ attribute: 75,
+ STR: 76,
+ STR_KEY: 77,
+ STR_VALUE: 78,
+ ATTRIBUTE: 79,
+ ATTRIBUTE_EMPTY: 80,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 6: 'direction_tb',
+ 7: 'direction_bt',
+ 8: 'direction_rl',
+ 9: 'direction_lr',
+ 11: 'C4_CONTEXT',
+ 12: 'NEWLINE',
+ 14: 'EOF',
+ 15: 'C4_CONTAINER',
+ 16: 'C4_COMPONENT',
+ 17: 'C4_DYNAMIC',
+ 18: 'C4_DEPLOYMENT',
+ 22: 'title',
+ 23: 'accDescription',
+ 24: 'acc_title',
+ 25: 'acc_title_value',
+ 26: 'acc_descr',
+ 27: 'acc_descr_value',
+ 28: 'acc_descr_multiline_value',
+ 33: 'LBRACE',
+ 34: 'ENTERPRISE_BOUNDARY',
+ 36: 'SYSTEM_BOUNDARY',
+ 37: 'BOUNDARY',
+ 38: 'CONTAINER_BOUNDARY',
+ 39: 'NODE',
+ 40: 'NODE_L',
+ 41: 'NODE_R',
+ 42: 'RBRACE',
+ 44: 'PERSON',
+ 45: 'PERSON_EXT',
+ 46: 'SYSTEM',
+ 47: 'SYSTEM_DB',
+ 48: 'SYSTEM_QUEUE',
+ 49: 'SYSTEM_EXT',
+ 50: 'SYSTEM_EXT_DB',
+ 51: 'SYSTEM_EXT_QUEUE',
+ 52: 'CONTAINER',
+ 53: 'CONTAINER_DB',
+ 54: 'CONTAINER_QUEUE',
+ 55: 'CONTAINER_EXT',
+ 56: 'CONTAINER_EXT_DB',
+ 57: 'CONTAINER_EXT_QUEUE',
+ 58: 'COMPONENT',
+ 59: 'COMPONENT_DB',
+ 60: 'COMPONENT_QUEUE',
+ 61: 'COMPONENT_EXT',
+ 62: 'COMPONENT_EXT_DB',
+ 63: 'COMPONENT_EXT_QUEUE',
+ 64: 'REL',
+ 65: 'BIREL',
+ 66: 'REL_U',
+ 67: 'REL_D',
+ 68: 'REL_L',
+ 69: 'REL_R',
+ 70: 'REL_B',
+ 71: 'REL_INDEX',
+ 72: 'UPDATE_EL_STYLE',
+ 73: 'UPDATE_REL_STYLE',
+ 74: 'UPDATE_LAYOUT_CONFIG',
+ 76: 'STR',
+ 77: 'STR_KEY',
+ 78: 'STR_VALUE',
+ 79: 'ATTRIBUTE',
+ 80: 'ATTRIBUTE_EMPTY',
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [5, 1],
+ [5, 1],
+ [5, 1],
+ [5, 1],
+ [4, 1],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [10, 4],
+ [13, 1],
+ [13, 1],
+ [13, 2],
+ [19, 1],
+ [19, 2],
+ [19, 3],
+ [21, 1],
+ [21, 1],
+ [21, 2],
+ [21, 2],
+ [21, 1],
+ [29, 3],
+ [30, 3],
+ [30, 3],
+ [30, 4],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [32, 2],
+ [31, 1],
+ [20, 1],
+ [20, 2],
+ [20, 3],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 1],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [43, 2],
+ [35, 1],
+ [35, 2],
+ [75, 1],
+ [75, 2],
+ [75, 1],
+ [75, 1],
+ ],
+ performAction: function (Nn, $n, qn, Lt, wt, cn, fn) {
+ var Mn = cn.length - 1;
+ switch (wt) {
+ case 3:
+ Lt.setDirection('TB');
+ break;
+ case 4:
+ Lt.setDirection('BT');
+ break;
+ case 5:
+ Lt.setDirection('RL');
+ break;
+ case 6:
+ Lt.setDirection('LR');
+ break;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ Lt.setC4Type(cn[Mn - 3]);
+ break;
+ case 19:
+ (Lt.setTitle(cn[Mn].substring(6)), (this.$ = cn[Mn].substring(6)));
+ break;
+ case 20:
+ (Lt.setAccDescription(cn[Mn].substring(15)), (this.$ = cn[Mn].substring(15)));
+ break;
+ case 21:
+ ((this.$ = cn[Mn].trim()), Lt.setTitle(this.$));
+ break;
+ case 22:
+ case 23:
+ ((this.$ = cn[Mn].trim()), Lt.setAccDescription(this.$));
+ break;
+ case 28:
+ case 29:
+ (cn[Mn].splice(2, 0, 'ENTERPRISE'),
+ Lt.addPersonOrSystemBoundary(...cn[Mn]),
+ (this.$ = cn[Mn]));
+ break;
+ case 30:
+ (Lt.addPersonOrSystemBoundary(...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 31:
+ (cn[Mn].splice(2, 0, 'CONTAINER'),
+ Lt.addContainerBoundary(...cn[Mn]),
+ (this.$ = cn[Mn]));
+ break;
+ case 32:
+ (Lt.addDeploymentNode('node', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 33:
+ (Lt.addDeploymentNode('nodeL', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 34:
+ (Lt.addDeploymentNode('nodeR', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 35:
+ Lt.popBoundaryParseStack();
+ break;
+ case 39:
+ (Lt.addPersonOrSystem('person', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 40:
+ (Lt.addPersonOrSystem('external_person', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 41:
+ (Lt.addPersonOrSystem('system', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 42:
+ (Lt.addPersonOrSystem('system_db', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 43:
+ (Lt.addPersonOrSystem('system_queue', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 44:
+ (Lt.addPersonOrSystem('external_system', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 45:
+ (Lt.addPersonOrSystem('external_system_db', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 46:
+ (Lt.addPersonOrSystem('external_system_queue', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 47:
+ (Lt.addContainer('container', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 48:
+ (Lt.addContainer('container_db', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 49:
+ (Lt.addContainer('container_queue', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 50:
+ (Lt.addContainer('external_container', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 51:
+ (Lt.addContainer('external_container_db', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 52:
+ (Lt.addContainer('external_container_queue', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 53:
+ (Lt.addComponent('component', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 54:
+ (Lt.addComponent('component_db', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 55:
+ (Lt.addComponent('component_queue', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 56:
+ (Lt.addComponent('external_component', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 57:
+ (Lt.addComponent('external_component_db', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 58:
+ (Lt.addComponent('external_component_queue', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 60:
+ (Lt.addRel('rel', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 61:
+ (Lt.addRel('birel', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 62:
+ (Lt.addRel('rel_u', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 63:
+ (Lt.addRel('rel_d', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 64:
+ (Lt.addRel('rel_l', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 65:
+ (Lt.addRel('rel_r', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 66:
+ (Lt.addRel('rel_b', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 67:
+ (cn[Mn].splice(0, 1), Lt.addRel('rel', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 68:
+ (Lt.updateElStyle('update_el_style', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 69:
+ (Lt.updateRelStyle('update_rel_style', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 70:
+ (Lt.updateLayoutConfig('update_layout_config', ...cn[Mn]), (this.$ = cn[Mn]));
+ break;
+ case 71:
+ this.$ = [cn[Mn]];
+ break;
+ case 72:
+ (cn[Mn].unshift(cn[Mn - 1]), (this.$ = cn[Mn]));
+ break;
+ case 73:
+ case 75:
+ this.$ = cn[Mn].trim();
+ break;
+ case 74:
+ let mo = {};
+ ((mo[cn[Mn - 1].trim()] = cn[Mn].trim()), (this.$ = mo));
+ break;
+ case 76:
+ this.$ = '';
+ break;
+ }
+ },
+ table: [
+ {
+ 3: 1,
+ 4: 2,
+ 5: 3,
+ 6: [1, 5],
+ 7: [1, 6],
+ 8: [1, 7],
+ 9: [1, 8],
+ 10: 4,
+ 11: [1, 9],
+ 15: [1, 10],
+ 16: [1, 11],
+ 17: [1, 12],
+ 18: [1, 13],
+ },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ { 1: [2, 7] },
+ { 1: [2, 3] },
+ { 1: [2, 4] },
+ { 1: [2, 5] },
+ { 1: [2, 6] },
+ { 12: [1, 14] },
+ { 12: [1, 15] },
+ { 12: [1, 16] },
+ { 12: [1, 17] },
+ { 12: [1, 18] },
+ {
+ 13: 19,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: s,
+ 23: u,
+ 24: d,
+ 26: p,
+ 28: v,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 43: 23,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ },
+ {
+ 13: 70,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: s,
+ 23: u,
+ 24: d,
+ 26: p,
+ 28: v,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 43: 23,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ },
+ {
+ 13: 71,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: s,
+ 23: u,
+ 24: d,
+ 26: p,
+ 28: v,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 43: 23,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ },
+ {
+ 13: 72,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: s,
+ 23: u,
+ 24: d,
+ 26: p,
+ 28: v,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 43: 23,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ },
+ {
+ 13: 73,
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 22: s,
+ 23: u,
+ 24: d,
+ 26: p,
+ 28: v,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 43: 23,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ },
+ { 14: [1, 74] },
+ i(ln, [2, 13], {
+ 43: 23,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 20: 75,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ }),
+ i(ln, [2, 14]),
+ i(xt, [2, 16], { 12: [1, 76] }),
+ i(ln, [2, 36], { 12: [1, 77] }),
+ i(Pt, [2, 19]),
+ i(Pt, [2, 20]),
+ { 25: [1, 78] },
+ { 27: [1, 79] },
+ i(Pt, [2, 23]),
+ { 35: 80, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 86, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 87, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 88, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 89, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 90, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 91, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 92, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 93, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 94, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 95, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 96, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 97, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 98, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 99, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 100, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 101, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 102, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 103, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 104, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ i(ht, [2, 59]),
+ { 35: 105, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 106, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 107, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 108, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 109, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 110, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 111, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 112, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 113, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 114, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 115, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ {
+ 20: 116,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 43: 23,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ },
+ { 12: [1, 118], 33: [1, 117] },
+ { 35: 119, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 120, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 121, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 122, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 123, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 124, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 35: 125, 75: 81, 76: Ze, 77: At, 79: Tt, 80: On },
+ { 14: [1, 126] },
+ { 14: [1, 127] },
+ { 14: [1, 128] },
+ { 14: [1, 129] },
+ { 1: [2, 8] },
+ i(ln, [2, 15]),
+ i(xt, [2, 17], { 21: 22, 19: 130, 22: s, 23: u, 24: d, 26: p, 28: v }),
+ i(ln, [2, 37], {
+ 19: 20,
+ 20: 21,
+ 21: 22,
+ 43: 23,
+ 29: 49,
+ 30: 61,
+ 32: 62,
+ 13: 131,
+ 22: s,
+ 23: u,
+ 24: d,
+ 26: p,
+ 28: v,
+ 34: b,
+ 36: y,
+ 37: T,
+ 38: _,
+ 39: A,
+ 40: P,
+ 41: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ 51: ge,
+ 52: ae,
+ 53: ne,
+ 54: se,
+ 55: de,
+ 56: X,
+ 57: pe,
+ 58: G,
+ 59: xe,
+ 60: U,
+ 61: Be,
+ 62: Ne,
+ 63: je,
+ 64: Ie,
+ 65: Se,
+ 66: Ce,
+ 67: ke,
+ 68: Ke,
+ 69: Ft,
+ 70: Pe,
+ 71: gn,
+ 72: kt,
+ 73: Et,
+ 74: Gt,
+ }),
+ i(Pt, [2, 21]),
+ i(Pt, [2, 22]),
+ i(ht, [2, 39]),
+ i(zr, [2, 71], { 75: 81, 35: 132, 76: Ze, 77: At, 79: Tt, 80: On }),
+ i(yt, [2, 73]),
+ { 78: [1, 133] },
+ i(yt, [2, 75]),
+ i(yt, [2, 76]),
+ i(ht, [2, 40]),
+ i(ht, [2, 41]),
+ i(ht, [2, 42]),
+ i(ht, [2, 43]),
+ i(ht, [2, 44]),
+ i(ht, [2, 45]),
+ i(ht, [2, 46]),
+ i(ht, [2, 47]),
+ i(ht, [2, 48]),
+ i(ht, [2, 49]),
+ i(ht, [2, 50]),
+ i(ht, [2, 51]),
+ i(ht, [2, 52]),
+ i(ht, [2, 53]),
+ i(ht, [2, 54]),
+ i(ht, [2, 55]),
+ i(ht, [2, 56]),
+ i(ht, [2, 57]),
+ i(ht, [2, 58]),
+ i(ht, [2, 60]),
+ i(ht, [2, 61]),
+ i(ht, [2, 62]),
+ i(ht, [2, 63]),
+ i(ht, [2, 64]),
+ i(ht, [2, 65]),
+ i(ht, [2, 66]),
+ i(ht, [2, 67]),
+ i(ht, [2, 68]),
+ i(ht, [2, 69]),
+ i(ht, [2, 70]),
+ { 31: 134, 42: [1, 135] },
+ { 12: [1, 136] },
+ { 33: [1, 137] },
+ i(Fi, [2, 28]),
+ i(Fi, [2, 29]),
+ i(Fi, [2, 30]),
+ i(Fi, [2, 31]),
+ i(Fi, [2, 32]),
+ i(Fi, [2, 33]),
+ i(Fi, [2, 34]),
+ { 1: [2, 9] },
+ { 1: [2, 10] },
+ { 1: [2, 11] },
+ { 1: [2, 12] },
+ i(xt, [2, 18]),
+ i(ln, [2, 38]),
+ i(zr, [2, 72]),
+ i(yt, [2, 74]),
+ i(ht, [2, 24]),
+ i(ht, [2, 35]),
+ i(yi, [2, 25]),
+ i(yi, [2, 26], { 12: [1, 138] }),
+ i(yi, [2, 27]),
+ ],
+ defaultActions: {
+ 2: [2, 1],
+ 3: [2, 2],
+ 4: [2, 7],
+ 5: [2, 3],
+ 6: [2, 4],
+ 7: [2, 5],
+ 8: [2, 6],
+ 74: [2, 8],
+ 126: [2, 9],
+ 127: [2, 10],
+ 128: [2, 11],
+ 129: [2, 12],
+ },
+ parseError: function (Nn, $n) {
+ if ($n.recoverable) this.trace(Nn);
+ else {
+ var qn = new Error(Nn);
+ throw ((qn.hash = $n), qn);
+ }
+ },
+ parse: function (Nn) {
+ var $n = this,
+ qn = [0],
+ Lt = [],
+ wt = [null],
+ cn = [],
+ fn = this.table,
+ Mn = '',
+ mo = 0,
+ Io = 0,
+ Xa = 2,
+ ua = 1,
+ Oo = cn.slice.call(arguments, 1),
+ Ts = Object.create(this.lexer),
+ nl = { yy: {} };
+ for (var Zo in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Zo) && (nl.yy[Zo] = this.yy[Zo]);
+ (Ts.setInput(Nn, nl.yy),
+ (nl.yy.lexer = Ts),
+ (nl.yy.parser = this),
+ typeof Ts.yylloc > 'u' && (Ts.yylloc = {}));
+ var id = Ts.yylloc;
+ cn.push(id);
+ var gm = Ts.options && Ts.options.ranges;
+ typeof nl.yy.parseError == 'function'
+ ? (this.parseError = nl.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function qu() {
+ var wu;
+ return (
+ (wu = Lt.pop() || Ts.lex() || ua),
+ typeof wu != 'number' &&
+ (wu instanceof Array && ((Lt = wu), (wu = Lt.pop())), (wu = $n.symbols_[wu] || wu)),
+ wu
+ );
+ }
+ for (var lu, Xc, Cs, Bc, Ma = {}, No, vc, Qa, ja; ; ) {
+ if (
+ ((Xc = qn[qn.length - 1]),
+ this.defaultActions[Xc]
+ ? (Cs = this.defaultActions[Xc])
+ : ((lu === null || typeof lu > 'u') && (lu = qu()), (Cs = fn[Xc] && fn[Xc][lu])),
+ typeof Cs > 'u' || !Cs.length || !Cs[0])
+ ) {
+ var ka = '';
+ ja = [];
+ for (No in fn[Xc])
+ this.terminals_[No] && No > Xa && ja.push("'" + this.terminals_[No] + "'");
+ (Ts.showPosition
+ ? (ka =
+ 'Parse error on line ' +
+ (mo + 1) +
+ `:
+` +
+ Ts.showPosition() +
+ `
+Expecting ` +
+ ja.join(', ') +
+ ", got '" +
+ (this.terminals_[lu] || lu) +
+ "'")
+ : (ka =
+ 'Parse error on line ' +
+ (mo + 1) +
+ ': Unexpected ' +
+ (lu == ua ? 'end of input' : "'" + (this.terminals_[lu] || lu) + "'")),
+ this.parseError(ka, {
+ text: Ts.match,
+ token: this.terminals_[lu] || lu,
+ line: Ts.yylineno,
+ loc: id,
+ expected: ja,
+ }));
+ }
+ if (Cs[0] instanceof Array && Cs.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Xc + ', token: ' + lu,
+ );
+ switch (Cs[0]) {
+ case 1:
+ (qn.push(lu),
+ wt.push(Ts.yytext),
+ cn.push(Ts.yylloc),
+ qn.push(Cs[1]),
+ (lu = null),
+ (Io = Ts.yyleng),
+ (Mn = Ts.yytext),
+ (mo = Ts.yylineno),
+ (id = Ts.yylloc));
+ break;
+ case 2:
+ if (
+ ((vc = this.productions_[Cs[1]][1]),
+ (Ma.$ = wt[wt.length - vc]),
+ (Ma._$ = {
+ first_line: cn[cn.length - (vc || 1)].first_line,
+ last_line: cn[cn.length - 1].last_line,
+ first_column: cn[cn.length - (vc || 1)].first_column,
+ last_column: cn[cn.length - 1].last_column,
+ }),
+ gm &&
+ (Ma._$.range = [
+ cn[cn.length - (vc || 1)].range[0],
+ cn[cn.length - 1].range[1],
+ ]),
+ (Bc = this.performAction.apply(
+ Ma,
+ [Mn, Io, mo, nl.yy, Cs[1], wt, cn].concat(Oo),
+ )),
+ typeof Bc < 'u')
+ )
+ return Bc;
+ (vc &&
+ ((qn = qn.slice(0, -1 * vc * 2)),
+ (wt = wt.slice(0, -1 * vc)),
+ (cn = cn.slice(0, -1 * vc))),
+ qn.push(this.productions_[Cs[1]][0]),
+ wt.push(Ma.$),
+ cn.push(Ma._$),
+ (Qa = fn[qn[qn.length - 2]][qn[qn.length - 1]]),
+ qn.push(Qa));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ na = (function () {
+ var _r = {
+ EOF: 1,
+ parseError: function ($n, qn) {
+ if (this.yy.parser) this.yy.parser.parseError($n, qn);
+ else throw new Error($n);
+ },
+ setInput: function (Nn, $n) {
+ return (
+ (this.yy = $n || this.yy || {}),
+ (this._input = Nn),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var Nn = this._input[0];
+ ((this.yytext += Nn),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Nn),
+ (this.matched += Nn));
+ var $n = Nn.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)),
+ Nn
+ );
+ },
+ unput: function (Nn) {
+ var $n = Nn.length,
+ qn = Nn.split(/(?:\r\n?|\n)/g);
+ ((this._input = Nn + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - $n)),
+ (this.offset -= $n));
+ var Lt = 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)),
+ qn.length - 1 && (this.yylineno -= qn.length - 1));
+ var wt = 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: qn
+ ? (qn.length === Lt.length ? this.yylloc.first_column : 0) +
+ Lt[Lt.length - qn.length].length -
+ qn[0].length
+ : this.yylloc.first_column - $n,
+ }),
+ this.options.ranges && (this.yylloc.range = [wt[0], wt[0] + this.yyleng - $n]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (Nn) {
+ this.unput(this.match.slice(Nn));
+ },
+ pastInput: function () {
+ var Nn = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Nn.length > 20 ? '...' : '') + Nn.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var Nn = this.match;
+ return (
+ Nn.length < 20 && (Nn += this._input.substr(0, 20 - Nn.length)),
+ (Nn.substr(0, 20) + (Nn.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var Nn = this.pastInput(),
+ $n = new Array(Nn.length + 1).join('-');
+ return (
+ Nn +
+ this.upcomingInput() +
+ `
+` +
+ $n +
+ '^'
+ );
+ },
+ test_match: function (Nn, $n) {
+ var qn, Lt, wt;
+ if (
+ (this.options.backtrack_lexer &&
+ ((wt = {
+ 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 && (wt.yylloc.range = this.yylloc.range.slice(0))),
+ (Lt = Nn[0].match(/(?:\r\n?|\n).*/g)),
+ Lt && (this.yylineno += Lt.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Lt
+ ? Lt[Lt.length - 1].length - Lt[Lt.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Nn[0].length,
+ }),
+ (this.yytext += Nn[0]),
+ (this.match += Nn[0]),
+ (this.matches = Nn),
+ (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(Nn[0].length)),
+ (this.matched += Nn[0]),
+ (qn = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ $n,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ qn)
+ )
+ return qn;
+ if (this._backtrack) {
+ for (var cn in wt) this[cn] = wt[cn];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Nn, $n, qn, Lt;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var wt = this._currentRules(), cn = 0; cn < wt.length; cn++)
+ if (
+ ((qn = this._input.match(this.rules[wt[cn]])),
+ qn && (!$n || qn[0].length > $n[0].length))
+ ) {
+ if ((($n = qn), (Lt = cn), this.options.backtrack_lexer)) {
+ if (((Nn = this.test_match(qn, wt[cn])), Nn !== !1)) return Nn;
+ if (this._backtrack) {
+ $n = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return $n
+ ? ((Nn = this.test_match($n, wt[Lt])), Nn !== !1 ? Nn : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var $n = this.next();
+ return $n || this.lex();
+ },
+ begin: function ($n) {
+ this.conditionStack.push($n);
+ },
+ popState: function () {
+ var $n = this.conditionStack.length - 1;
+ return $n > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function ($n) {
+ return (
+ ($n = this.conditionStack.length - 1 - Math.abs($n || 0)),
+ $n >= 0 ? this.conditionStack[$n] : 'INITIAL'
+ );
+ },
+ pushState: function ($n) {
+ this.begin($n);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: {},
+ performAction: function ($n, qn, Lt, wt) {
+ switch (Lt) {
+ case 0:
+ return 6;
+ case 1:
+ return 7;
+ case 2:
+ return 8;
+ case 3:
+ return 9;
+ case 4:
+ return 22;
+ case 5:
+ return 23;
+ case 6:
+ return (this.begin('acc_title'), 24);
+ case 7:
+ return (this.popState(), 'acc_title_value');
+ case 8:
+ return (this.begin('acc_descr'), 26);
+ case 9:
+ return (this.popState(), 'acc_descr_value');
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ break;
+ case 14:
+ c;
+ break;
+ case 15:
+ return 12;
+ case 16:
+ break;
+ case 17:
+ return 11;
+ case 18:
+ return 15;
+ case 19:
+ return 16;
+ case 20:
+ return 17;
+ case 21:
+ return 18;
+ case 22:
+ return (this.begin('person_ext'), 45);
+ case 23:
+ return (this.begin('person'), 44);
+ case 24:
+ return (this.begin('system_ext_queue'), 51);
+ case 25:
+ return (this.begin('system_ext_db'), 50);
+ case 26:
+ return (this.begin('system_ext'), 49);
+ case 27:
+ return (this.begin('system_queue'), 48);
+ case 28:
+ return (this.begin('system_db'), 47);
+ case 29:
+ return (this.begin('system'), 46);
+ case 30:
+ return (this.begin('boundary'), 37);
+ case 31:
+ return (this.begin('enterprise_boundary'), 34);
+ case 32:
+ return (this.begin('system_boundary'), 36);
+ case 33:
+ return (this.begin('container_ext_queue'), 57);
+ case 34:
+ return (this.begin('container_ext_db'), 56);
+ case 35:
+ return (this.begin('container_ext'), 55);
+ case 36:
+ return (this.begin('container_queue'), 54);
+ case 37:
+ return (this.begin('container_db'), 53);
+ case 38:
+ return (this.begin('container'), 52);
+ case 39:
+ return (this.begin('container_boundary'), 38);
+ case 40:
+ return (this.begin('component_ext_queue'), 63);
+ case 41:
+ return (this.begin('component_ext_db'), 62);
+ case 42:
+ return (this.begin('component_ext'), 61);
+ case 43:
+ return (this.begin('component_queue'), 60);
+ case 44:
+ return (this.begin('component_db'), 59);
+ case 45:
+ return (this.begin('component'), 58);
+ case 46:
+ return (this.begin('node'), 39);
+ case 47:
+ return (this.begin('node'), 39);
+ case 48:
+ return (this.begin('node_l'), 40);
+ case 49:
+ return (this.begin('node_r'), 41);
+ case 50:
+ return (this.begin('rel'), 64);
+ case 51:
+ return (this.begin('birel'), 65);
+ case 52:
+ return (this.begin('rel_u'), 66);
+ case 53:
+ return (this.begin('rel_u'), 66);
+ case 54:
+ return (this.begin('rel_d'), 67);
+ case 55:
+ return (this.begin('rel_d'), 67);
+ case 56:
+ return (this.begin('rel_l'), 68);
+ case 57:
+ return (this.begin('rel_l'), 68);
+ case 58:
+ return (this.begin('rel_r'), 69);
+ case 59:
+ return (this.begin('rel_r'), 69);
+ case 60:
+ return (this.begin('rel_b'), 70);
+ case 61:
+ return (this.begin('rel_index'), 71);
+ case 62:
+ return (this.begin('update_el_style'), 72);
+ case 63:
+ return (this.begin('update_rel_style'), 73);
+ case 64:
+ return (this.begin('update_layout_config'), 74);
+ case 65:
+ return 'EOF_IN_STRUCT';
+ case 66:
+ return (this.begin('attribute'), 'ATTRIBUTE_EMPTY');
+ case 67:
+ this.begin('attribute');
+ break;
+ case 68:
+ (this.popState(), this.popState());
+ break;
+ case 69:
+ return 80;
+ case 70:
+ break;
+ case 71:
+ return 80;
+ case 72:
+ this.begin('string');
+ break;
+ case 73:
+ this.popState();
+ break;
+ case 74:
+ return 'STR';
+ case 75:
+ this.begin('string_kv');
+ break;
+ case 76:
+ return (this.begin('string_kv_key'), 'STR_KEY');
+ case 77:
+ (this.popState(), this.begin('string_kv_value'));
+ break;
+ case 78:
+ return 'STR_VALUE';
+ case 79:
+ (this.popState(), this.popState());
+ break;
+ case 80:
+ return 'STR';
+ case 81:
+ return 'LBRACE';
+ case 82:
+ return 'RBRACE';
+ case 83:
+ return 'SPACE';
+ case 84:
+ return 'EOL';
+ case 85:
+ return 14;
+ }
+ },
+ rules: [
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:title\s[^#\n;]+)/,
+ /^(?:accDescription\s[^#\n;]+)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
+ /^(?:%%[^\n]*(\r?\n)*)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:C4Context\b)/,
+ /^(?:C4Container\b)/,
+ /^(?:C4Component\b)/,
+ /^(?:C4Dynamic\b)/,
+ /^(?:C4Deployment\b)/,
+ /^(?:Person_Ext\b)/,
+ /^(?:Person\b)/,
+ /^(?:SystemQueue_Ext\b)/,
+ /^(?:SystemDb_Ext\b)/,
+ /^(?:System_Ext\b)/,
+ /^(?:SystemQueue\b)/,
+ /^(?:SystemDb\b)/,
+ /^(?:System\b)/,
+ /^(?:Boundary\b)/,
+ /^(?:Enterprise_Boundary\b)/,
+ /^(?:System_Boundary\b)/,
+ /^(?:ContainerQueue_Ext\b)/,
+ /^(?:ContainerDb_Ext\b)/,
+ /^(?:Container_Ext\b)/,
+ /^(?:ContainerQueue\b)/,
+ /^(?:ContainerDb\b)/,
+ /^(?:Container\b)/,
+ /^(?:Container_Boundary\b)/,
+ /^(?:ComponentQueue_Ext\b)/,
+ /^(?:ComponentDb_Ext\b)/,
+ /^(?:Component_Ext\b)/,
+ /^(?:ComponentQueue\b)/,
+ /^(?:ComponentDb\b)/,
+ /^(?:Component\b)/,
+ /^(?:Deployment_Node\b)/,
+ /^(?:Node\b)/,
+ /^(?:Node_L\b)/,
+ /^(?:Node_R\b)/,
+ /^(?:Rel\b)/,
+ /^(?:BiRel\b)/,
+ /^(?:Rel_Up\b)/,
+ /^(?:Rel_U\b)/,
+ /^(?:Rel_Down\b)/,
+ /^(?:Rel_D\b)/,
+ /^(?:Rel_Left\b)/,
+ /^(?:Rel_L\b)/,
+ /^(?:Rel_Right\b)/,
+ /^(?:Rel_R\b)/,
+ /^(?:Rel_Back\b)/,
+ /^(?:RelIndex\b)/,
+ /^(?:UpdateElementStyle\b)/,
+ /^(?:UpdateRelStyle\b)/,
+ /^(?:UpdateLayoutConfig\b)/,
+ /^(?:$)/,
+ /^(?:[(][ ]*[,])/,
+ /^(?:[(])/,
+ /^(?:[)])/,
+ /^(?:,,)/,
+ /^(?:,)/,
+ /^(?:[ ]*["]["])/,
+ /^(?:[ ]*["])/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:[ ]*[\$])/,
+ /^(?:[^=]*)/,
+ /^(?:[=][ ]*["])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:[^,]+)/,
+ /^(?:\{)/,
+ /^(?:\})/,
+ /^(?:[\s]+)/,
+ /^(?:[\n\r]+)/,
+ /^(?:$)/,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
+ acc_descr: { rules: [9], inclusive: !1 },
+ acc_title: { rules: [7], inclusive: !1 },
+ string_kv_value: { rules: [78, 79], inclusive: !1 },
+ string_kv_key: { rules: [77], inclusive: !1 },
+ string_kv: { rules: [76], inclusive: !1 },
+ string: { rules: [73, 74], inclusive: !1 },
+ attribute: { rules: [68, 69, 70, 71, 72, 75, 80], inclusive: !1 },
+ update_layout_config: { rules: [65, 66, 67, 68], inclusive: !1 },
+ update_rel_style: { rules: [65, 66, 67, 68], inclusive: !1 },
+ update_el_style: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_b: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_r: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_l: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_d: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_u: { rules: [65, 66, 67, 68], inclusive: !1 },
+ rel_bi: { rules: [], inclusive: !1 },
+ rel: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node_r: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node_l: { rules: [65, 66, 67, 68], inclusive: !1 },
+ node: { rules: [65, 66, 67, 68], inclusive: !1 },
+ index: { rules: [], inclusive: !1 },
+ rel_index: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_ext_queue: { rules: [], inclusive: !1 },
+ component_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ component: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ container: { rules: [65, 66, 67, 68], inclusive: !1 },
+ birel: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ enterprise_boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ boundary: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_queue: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system_db: { rules: [65, 66, 67, 68], inclusive: !1 },
+ system: { rules: [65, 66, 67, 68], inclusive: !1 },
+ person_ext: { rules: [65, 66, 67, 68], inclusive: !1 },
+ person: { rules: [65, 66, 67, 68], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, 82, 83, 84,
+ 85,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return _r;
+ })();
+ Ba.lexer = na;
+ function Ro() {
+ this.yy = {};
+ }
+ return ((Ro.prototype = Ba), (Ba.Parser = Ro), new Ro());
+ })();
+ CQ.parser = CQ;
+ const FVt = CQ;
+ let R3 = [],
+ L9 = [''],
+ Np = 'global',
+ j3 = '',
+ X4 = [
+ {
+ alias: 'global',
+ label: { text: 'global' },
+ type: { text: 'global' },
+ tags: null,
+ link: null,
+ parentBoundary: '',
+ },
+ ],
+ pR = [],
+ Rbe = '',
+ jbe = !1,
+ SQ = 4,
+ _Q = 2;
+ var Eqe;
+ const RVt = function () {
+ return Eqe;
+ },
+ jVt = function (i) {
+ Eqe = yh(i, qt());
+ },
+ $Vt = function (i, s, u, d, p, v, b, y, T) {
+ if (
+ i == null ||
+ s === void 0 ||
+ s === null ||
+ u === void 0 ||
+ u === null ||
+ d === void 0 ||
+ d === null
+ )
+ return;
+ let _ = {};
+ const A = pR.find((P) => P.from === s && P.to === u);
+ if (
+ (A ? (_ = A) : pR.push(_),
+ (_.type = i),
+ (_.from = s),
+ (_.to = u),
+ (_.label = { text: d }),
+ p == null)
+ )
+ _.techn = { text: '' };
+ else if (typeof p == 'object') {
+ let [P, R] = Object.entries(p)[0];
+ _[P] = { text: R };
+ } else _.techn = { text: p };
+ if (v == null) _.descr = { text: '' };
+ else if (typeof v == 'object') {
+ let [P, R] = Object.entries(v)[0];
+ _[P] = { text: R };
+ } else _.descr = { text: v };
+ if (typeof b == 'object') {
+ let [P, R] = Object.entries(b)[0];
+ _[P] = R;
+ } else _.sprite = b;
+ if (typeof y == 'object') {
+ let [P, R] = Object.entries(y)[0];
+ _[P] = R;
+ } else _.tags = y;
+ if (typeof T == 'object') {
+ let [P, R] = Object.entries(T)[0];
+ _[P] = R;
+ } else _.link = T;
+ _.wrap = M9();
+ },
+ zVt = function (i, s, u, d, p, v, b) {
+ if (s === null || u === null) return;
+ let y = {};
+ const T = R3.find((_) => _.alias === s);
+ if (
+ (T && s === T.alias ? (y = T) : ((y.alias = s), R3.push(y)),
+ u == null ? (y.label = { text: '' }) : (y.label = { text: u }),
+ d == null)
+ )
+ y.descr = { text: '' };
+ else if (typeof d == 'object') {
+ let [_, A] = Object.entries(d)[0];
+ y[_] = { text: A };
+ } else y.descr = { text: d };
+ if (typeof p == 'object') {
+ let [_, A] = Object.entries(p)[0];
+ y[_] = A;
+ } else y.sprite = p;
+ if (typeof v == 'object') {
+ let [_, A] = Object.entries(v)[0];
+ y[_] = A;
+ } else y.tags = v;
+ if (typeof b == 'object') {
+ let [_, A] = Object.entries(b)[0];
+ y[_] = A;
+ } else y.link = b;
+ ((y.typeC4Shape = { text: i }), (y.parentBoundary = Np), (y.wrap = M9()));
+ },
+ qVt = function (i, s, u, d, p, v, b, y) {
+ if (s === null || u === null) return;
+ let T = {};
+ const _ = R3.find((A) => A.alias === s);
+ if (
+ (_ && s === _.alias ? (T = _) : ((T.alias = s), R3.push(T)),
+ u == null ? (T.label = { text: '' }) : (T.label = { text: u }),
+ d == null)
+ )
+ T.techn = { text: '' };
+ else if (typeof d == 'object') {
+ let [A, P] = Object.entries(d)[0];
+ T[A] = { text: P };
+ } else T.techn = { text: d };
+ if (p == null) T.descr = { text: '' };
+ else if (typeof p == 'object') {
+ let [A, P] = Object.entries(p)[0];
+ T[A] = { text: P };
+ } else T.descr = { text: p };
+ if (typeof v == 'object') {
+ let [A, P] = Object.entries(v)[0];
+ T[A] = P;
+ } else T.sprite = v;
+ if (typeof b == 'object') {
+ let [A, P] = Object.entries(b)[0];
+ T[A] = P;
+ } else T.tags = b;
+ if (typeof y == 'object') {
+ let [A, P] = Object.entries(y)[0];
+ T[A] = P;
+ } else T.link = y;
+ ((T.wrap = M9()), (T.typeC4Shape = { text: i }), (T.parentBoundary = Np));
+ },
+ HVt = function (i, s, u, d, p, v, b, y) {
+ if (s === null || u === null) return;
+ let T = {};
+ const _ = R3.find((A) => A.alias === s);
+ if (
+ (_ && s === _.alias ? (T = _) : ((T.alias = s), R3.push(T)),
+ u == null ? (T.label = { text: '' }) : (T.label = { text: u }),
+ d == null)
+ )
+ T.techn = { text: '' };
+ else if (typeof d == 'object') {
+ let [A, P] = Object.entries(d)[0];
+ T[A] = { text: P };
+ } else T.techn = { text: d };
+ if (p == null) T.descr = { text: '' };
+ else if (typeof p == 'object') {
+ let [A, P] = Object.entries(p)[0];
+ T[A] = { text: P };
+ } else T.descr = { text: p };
+ if (typeof v == 'object') {
+ let [A, P] = Object.entries(v)[0];
+ T[A] = P;
+ } else T.sprite = v;
+ if (typeof b == 'object') {
+ let [A, P] = Object.entries(b)[0];
+ T[A] = P;
+ } else T.tags = b;
+ if (typeof y == 'object') {
+ let [A, P] = Object.entries(y)[0];
+ T[A] = P;
+ } else T.link = y;
+ ((T.wrap = M9()), (T.typeC4Shape = { text: i }), (T.parentBoundary = Np));
+ },
+ VVt = function (i, s, u, d, p) {
+ if (i === null || s === null) return;
+ let v = {};
+ const b = X4.find((y) => y.alias === i);
+ if (
+ (b && i === b.alias ? (v = b) : ((v.alias = i), X4.push(v)),
+ s == null ? (v.label = { text: '' }) : (v.label = { text: s }),
+ u == null)
+ )
+ v.type = { text: 'system' };
+ else if (typeof u == 'object') {
+ let [y, T] = Object.entries(u)[0];
+ v[y] = { text: T };
+ } else v.type = { text: u };
+ if (typeof d == 'object') {
+ let [y, T] = Object.entries(d)[0];
+ v[y] = T;
+ } else v.tags = d;
+ if (typeof p == 'object') {
+ let [y, T] = Object.entries(p)[0];
+ v[y] = T;
+ } else v.link = p;
+ ((v.parentBoundary = Np), (v.wrap = M9()), (j3 = Np), (Np = i), L9.push(j3));
+ },
+ UVt = function (i, s, u, d, p) {
+ if (i === null || s === null) return;
+ let v = {};
+ const b = X4.find((y) => y.alias === i);
+ if (
+ (b && i === b.alias ? (v = b) : ((v.alias = i), X4.push(v)),
+ s == null ? (v.label = { text: '' }) : (v.label = { text: s }),
+ u == null)
+ )
+ v.type = { text: 'container' };
+ else if (typeof u == 'object') {
+ let [y, T] = Object.entries(u)[0];
+ v[y] = { text: T };
+ } else v.type = { text: u };
+ if (typeof d == 'object') {
+ let [y, T] = Object.entries(d)[0];
+ v[y] = T;
+ } else v.tags = d;
+ if (typeof p == 'object') {
+ let [y, T] = Object.entries(p)[0];
+ v[y] = T;
+ } else v.link = p;
+ ((v.parentBoundary = Np), (v.wrap = M9()), (j3 = Np), (Np = i), L9.push(j3));
+ },
+ GVt = function (i, s, u, d, p, v, b, y) {
+ if (s === null || u === null) return;
+ let T = {};
+ const _ = X4.find((A) => A.alias === s);
+ if (
+ (_ && s === _.alias ? (T = _) : ((T.alias = s), X4.push(T)),
+ u == null ? (T.label = { text: '' }) : (T.label = { text: u }),
+ d == null)
+ )
+ T.type = { text: 'node' };
+ else if (typeof d == 'object') {
+ let [A, P] = Object.entries(d)[0];
+ T[A] = { text: P };
+ } else T.type = { text: d };
+ if (p == null) T.descr = { text: '' };
+ else if (typeof p == 'object') {
+ let [A, P] = Object.entries(p)[0];
+ T[A] = { text: P };
+ } else T.descr = { text: p };
+ if (typeof b == 'object') {
+ let [A, P] = Object.entries(b)[0];
+ T[A] = P;
+ } else T.tags = b;
+ if (typeof y == 'object') {
+ let [A, P] = Object.entries(y)[0];
+ T[A] = P;
+ } else T.link = y;
+ ((T.nodeType = i),
+ (T.parentBoundary = Np),
+ (T.wrap = M9()),
+ (j3 = Np),
+ (Np = s),
+ L9.push(j3));
+ },
+ KVt = function () {
+ ((Np = j3), L9.pop(), (j3 = L9.pop()), L9.push(j3));
+ },
+ WVt = function (i, s, u, d, p, v, b, y, T, _, A) {
+ let P = R3.find((R) => R.alias === s);
+ if (!(P === void 0 && ((P = X4.find((R) => R.alias === s)), P === void 0))) {
+ if (u != null)
+ if (typeof u == 'object') {
+ let [R, F] = Object.entries(u)[0];
+ P[R] = F;
+ } else P.bgColor = u;
+ if (d != null)
+ if (typeof d == 'object') {
+ let [R, F] = Object.entries(d)[0];
+ P[R] = F;
+ } else P.fontColor = d;
+ if (p != null)
+ if (typeof p == 'object') {
+ let [R, F] = Object.entries(p)[0];
+ P[R] = F;
+ } else P.borderColor = p;
+ if (v != null)
+ if (typeof v == 'object') {
+ let [R, F] = Object.entries(v)[0];
+ P[R] = F;
+ } else P.shadowing = v;
+ if (b != null)
+ if (typeof b == 'object') {
+ let [R, F] = Object.entries(b)[0];
+ P[R] = F;
+ } else P.shape = b;
+ if (y != null)
+ if (typeof y == 'object') {
+ let [R, F] = Object.entries(y)[0];
+ P[R] = F;
+ } else P.sprite = y;
+ if (T != null)
+ if (typeof T == 'object') {
+ let [R, F] = Object.entries(T)[0];
+ P[R] = F;
+ } else P.techn = T;
+ if (_ != null)
+ if (typeof _ == 'object') {
+ let [R, F] = Object.entries(_)[0];
+ P[R] = F;
+ } else P.legendText = _;
+ if (A != null)
+ if (typeof A == 'object') {
+ let [R, F] = Object.entries(A)[0];
+ P[R] = F;
+ } else P.legendSprite = A;
+ }
+ },
+ YVt = function (i, s, u, d, p, v, b) {
+ const y = pR.find((T) => T.from === s && T.to === u);
+ if (y !== void 0) {
+ if (d != null)
+ if (typeof d == 'object') {
+ let [T, _] = Object.entries(d)[0];
+ y[T] = _;
+ } else y.textColor = d;
+ if (p != null)
+ if (typeof p == 'object') {
+ let [T, _] = Object.entries(p)[0];
+ y[T] = _;
+ } else y.lineColor = p;
+ if (v != null)
+ if (typeof v == 'object') {
+ let [T, _] = Object.entries(v)[0];
+ y[T] = parseInt(_);
+ } else y.offsetX = parseInt(v);
+ if (b != null)
+ if (typeof b == 'object') {
+ let [T, _] = Object.entries(b)[0];
+ y[T] = parseInt(_);
+ } else y.offsetY = parseInt(b);
+ }
+ },
+ XVt = function (i, s, u) {
+ let d = SQ,
+ p = _Q;
+ if (typeof s == 'object') {
+ const v = Object.values(s)[0];
+ d = parseInt(v);
+ } else d = parseInt(s);
+ if (typeof u == 'object') {
+ const v = Object.values(u)[0];
+ p = parseInt(v);
+ } else p = parseInt(u);
+ (d >= 1 && (SQ = d), p >= 1 && (_Q = p));
+ },
+ QVt = function () {
+ return SQ;
+ },
+ JVt = function () {
+ return _Q;
+ },
+ ZVt = function () {
+ return Np;
+ },
+ eUt = function () {
+ return j3;
+ },
+ Tqe = function (i) {
+ return i == null ? R3 : R3.filter((s) => s.parentBoundary === i);
+ },
+ tUt = function (i) {
+ return R3.find((s) => s.alias === i);
+ },
+ nUt = function (i) {
+ return Object.keys(Tqe(i));
+ },
+ Cqe = function (i) {
+ return i == null ? X4 : X4.filter((s) => s.parentBoundary === i);
+ },
+ rUt = Cqe,
+ iUt = function () {
+ return pR;
+ },
+ sUt = function () {
+ return Rbe;
+ },
+ aUt = function (i) {
+ jbe = i;
+ },
+ M9 = function () {
+ return jbe;
+ },
+ $be = {
+ addPersonOrSystem: zVt,
+ addPersonOrSystemBoundary: VVt,
+ addContainer: qVt,
+ addContainerBoundary: UVt,
+ addComponent: HVt,
+ addDeploymentNode: GVt,
+ popBoundaryParseStack: KVt,
+ addRel: $Vt,
+ updateElStyle: WVt,
+ updateRelStyle: YVt,
+ updateLayoutConfig: XVt,
+ autoWrap: M9,
+ setWrap: aUt,
+ getC4ShapeArray: Tqe,
+ getC4Shape: tUt,
+ getC4ShapeKeys: nUt,
+ getBoundaries: Cqe,
+ getBoundarys: rUt,
+ getCurrentBoundaryParse: ZVt,
+ getParentBoundaryParse: eUt,
+ getRels: iUt,
+ getTitle: sUt,
+ getC4Type: RVt,
+ getC4ShapeInRow: QVt,
+ getC4BoundaryInRow: JVt,
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ getConfig: () => qt().c4,
+ clear: function () {
+ ((R3 = []),
+ (X4 = [
+ {
+ alias: 'global',
+ label: { text: 'global' },
+ type: { text: 'global' },
+ tags: null,
+ link: null,
+ parentBoundary: '',
+ },
+ ]),
+ (j3 = ''),
+ (Np = 'global'),
+ (L9 = ['']),
+ (pR = []),
+ (L9 = ['']),
+ (Rbe = ''),
+ (jbe = !1),
+ (SQ = 4),
+ (_Q = 2));
+ },
+ LINETYPE: {
+ 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,
+ },
+ ARROWTYPE: { FILLED: 0, OPEN: 1 },
+ PLACEMENT: { LEFTOF: 0, RIGHTOF: 1, OVER: 2 },
+ setTitle: function (i) {
+ Rbe = yh(i, qt());
+ },
+ setC4Type: jVt,
+ },
+ AQ = (i, s) => {
+ const u = i.append('rect');
+ if (
+ (u.attr('x', s.x),
+ u.attr('y', s.y),
+ u.attr('fill', s.fill),
+ u.attr('stroke', s.stroke),
+ u.attr('width', s.width),
+ u.attr('height', s.height),
+ s.name && u.attr('name', s.name),
+ s.rx !== void 0 && u.attr('rx', s.rx),
+ s.ry !== void 0 && u.attr('ry', s.ry),
+ s.attrs !== void 0)
+ )
+ for (const d in s.attrs) u.attr(d, s.attrs[d]);
+ return (s.class !== void 0 && u.attr('class', s.class), u);
+ },
+ Sqe = (i, s) => {
+ const u = {
+ x: s.startx,
+ y: s.starty,
+ width: s.stopx - s.startx,
+ height: s.stopy - s.starty,
+ fill: s.fill,
+ stroke: s.stroke,
+ class: 'rect',
+ };
+ AQ(i, u).lower();
+ },
+ oUt = (i, s) => {
+ const u = s.text.replace(hD, ' '),
+ d = i.append('text');
+ (d.attr('x', s.x),
+ d.attr('y', s.y),
+ d.attr('class', 'legend'),
+ d.style('text-anchor', s.anchor),
+ s.class !== void 0 && d.attr('class', s.class));
+ const p = d.append('tspan');
+ return (p.attr('x', s.x + s.textMargin * 2), p.text(u), d);
+ },
+ cUt = (i, s, u, d) => {
+ const p = i.append('image');
+ (p.attr('x', s), p.attr('y', u));
+ const v = g9.sanitizeUrl(d);
+ p.attr('xlink:href', v);
+ },
+ uUt = (i, s, u, d) => {
+ const p = i.append('use');
+ (p.attr('x', s), p.attr('y', u));
+ const v = g9.sanitizeUrl(d);
+ p.attr('xlink:href', `#${v}`);
+ },
+ zC = () => ({
+ x: 0,
+ y: 0,
+ width: 100,
+ height: 100,
+ fill: '#EDF2AE',
+ stroke: '#666',
+ anchor: 'start',
+ rx: 0,
+ ry: 0,
+ }),
+ zbe = () => ({
+ x: 0,
+ y: 0,
+ width: 100,
+ height: 100,
+ 'text-anchor': 'start',
+ style: '#666',
+ textMargin: 0,
+ rx: 0,
+ ry: 0,
+ tspan: !0,
+ }),
+ qbe = function (i, s) {
+ return AQ(i, s);
+ },
+ _qe = function (i, s, u, d, p, v) {
+ const b = i.append('image');
+ (b.attr('width', s), b.attr('height', u), b.attr('x', d), b.attr('y', p));
+ let y = v.startsWith('data:image/png;base64') ? v : g9.sanitizeUrl(v);
+ b.attr('xlink:href', y);
+ },
+ lUt = (i, s, u) => {
+ const d = i.append('g');
+ let p = 0;
+ for (let v of s) {
+ let b = v.textColor ? v.textColor : '#444444',
+ y = v.lineColor ? v.lineColor : '#444444',
+ T = v.offsetX ? parseInt(v.offsetX) : 0,
+ _ = v.offsetY ? parseInt(v.offsetY) : 0,
+ A = '';
+ if (p === 0) {
+ let R = d.append('line');
+ (R.attr('x1', v.startPoint.x),
+ R.attr('y1', v.startPoint.y),
+ R.attr('x2', v.endPoint.x),
+ R.attr('y2', v.endPoint.y),
+ R.attr('stroke-width', '1'),
+ R.attr('stroke', y),
+ R.style('fill', 'none'),
+ v.type !== 'rel_b' && R.attr('marker-end', 'url(' + A + '#arrowhead)'),
+ (v.type === 'birel' || v.type === 'rel_b') &&
+ R.attr('marker-start', 'url(' + A + '#arrowend)'),
+ (p = -1));
+ } else {
+ let R = d.append('path');
+ (R.attr('fill', 'none')
+ .attr('stroke-width', '1')
+ .attr('stroke', y)
+ .attr(
+ 'd',
+ 'Mstartx,starty Qcontrolx,controly stopx,stopy '
+ .replaceAll('startx', v.startPoint.x)
+ .replaceAll('starty', v.startPoint.y)
+ .replaceAll(
+ 'controlx',
+ v.startPoint.x +
+ (v.endPoint.x - v.startPoint.x) / 2 -
+ (v.endPoint.x - v.startPoint.x) / 4,
+ )
+ .replaceAll('controly', v.startPoint.y + (v.endPoint.y - v.startPoint.y) / 2)
+ .replaceAll('stopx', v.endPoint.x)
+ .replaceAll('stopy', v.endPoint.y),
+ ),
+ v.type !== 'rel_b' && R.attr('marker-end', 'url(' + A + '#arrowhead)'),
+ (v.type === 'birel' || v.type === 'rel_b') &&
+ R.attr('marker-start', 'url(' + A + '#arrowend)'));
+ }
+ let P = u.messageFont();
+ (B7(u)(
+ v.label.text,
+ d,
+ Math.min(v.startPoint.x, v.endPoint.x) + Math.abs(v.endPoint.x - v.startPoint.x) / 2 + T,
+ Math.min(v.startPoint.y, v.endPoint.y) + Math.abs(v.endPoint.y - v.startPoint.y) / 2 + _,
+ v.label.width,
+ v.label.height,
+ { fill: b },
+ P,
+ ),
+ v.techn &&
+ v.techn.text !== '' &&
+ ((P = u.messageFont()),
+ B7(u)(
+ '[' + v.techn.text + ']',
+ d,
+ Math.min(v.startPoint.x, v.endPoint.x) +
+ Math.abs(v.endPoint.x - v.startPoint.x) / 2 +
+ T,
+ Math.min(v.startPoint.y, v.endPoint.y) +
+ Math.abs(v.endPoint.y - v.startPoint.y) / 2 +
+ u.messageFontSize +
+ 5 +
+ _,
+ Math.max(v.label.width, v.techn.width),
+ v.techn.height,
+ { fill: b, 'font-style': 'italic' },
+ P,
+ )));
+ }
+ },
+ hUt = function (i, s, u) {
+ const d = i.append('g');
+ let p = s.bgColor ? s.bgColor : 'none',
+ v = s.borderColor ? s.borderColor : '#444444',
+ b = s.fontColor ? s.fontColor : 'black',
+ y = { 'stroke-width': 1, 'stroke-dasharray': '7.0,7.0' };
+ s.nodeType && (y = { 'stroke-width': 1 });
+ let T = {
+ x: s.x,
+ y: s.y,
+ fill: p,
+ stroke: v,
+ width: s.width,
+ height: s.height,
+ rx: 2.5,
+ ry: 2.5,
+ attrs: y,
+ };
+ qbe(d, T);
+ let _ = u.boundaryFont();
+ ((_.fontWeight = 'bold'),
+ (_.fontSize = _.fontSize + 2),
+ (_.fontColor = b),
+ B7(u)(s.label.text, d, s.x, s.y + s.label.Y, s.width, s.height, { fill: '#444444' }, _),
+ s.type &&
+ s.type.text !== '' &&
+ ((_ = u.boundaryFont()),
+ (_.fontColor = b),
+ B7(u)(s.type.text, d, s.x, s.y + s.type.Y, s.width, s.height, { fill: '#444444' }, _)),
+ s.descr &&
+ s.descr.text !== '' &&
+ ((_ = u.boundaryFont()),
+ (_.fontSize = _.fontSize - 2),
+ (_.fontColor = b),
+ B7(u)(s.descr.text, d, s.x, s.y + s.descr.Y, s.width, s.height, { fill: '#444444' }, _)));
+ },
+ fUt = function (i, s, u) {
+ var P;
+ let d = s.bgColor ? s.bgColor : u[s.typeC4Shape.text + '_bg_color'],
+ p = s.borderColor ? s.borderColor : u[s.typeC4Shape.text + '_border_color'],
+ v = s.fontColor ? s.fontColor : '#FFFFFF',
+ b =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=';
+ switch (s.typeC4Shape.text) {
+ case 'person':
+ b =
+ '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':
+ b =
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=';
+ break;
+ }
+ const y = i.append('g');
+ y.attr('class', 'person-man');
+ const T = zC();
+ switch (s.typeC4Shape.text) {
+ case 'person':
+ case 'external_person':
+ case 'system':
+ case 'external_system':
+ case 'container':
+ case 'external_container':
+ case 'component':
+ case 'external_component':
+ ((T.x = s.x),
+ (T.y = s.y),
+ (T.fill = d),
+ (T.width = s.width),
+ (T.height = s.height),
+ (T.stroke = p),
+ (T.rx = 2.5),
+ (T.ry = 2.5),
+ (T.attrs = { 'stroke-width': 0.5 }),
+ qbe(y, T));
+ break;
+ case 'system_db':
+ case 'external_system_db':
+ case 'container_db':
+ case 'external_container_db':
+ case 'component_db':
+ case 'external_component_db':
+ (y
+ .append('path')
+ .attr('fill', d)
+ .attr('stroke-width', '0.5')
+ .attr('stroke', p)
+ .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', s.x)
+ .replaceAll('starty', s.y)
+ .replaceAll('half', s.width / 2)
+ .replaceAll('height', s.height),
+ ),
+ y
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke-width', '0.5')
+ .attr('stroke', p)
+ .attr(
+ 'd',
+ 'Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10'
+ .replaceAll('startx', s.x)
+ .replaceAll('starty', s.y)
+ .replaceAll('half', s.width / 2),
+ ));
+ break;
+ case 'system_queue':
+ case 'external_system_queue':
+ case 'container_queue':
+ case 'external_container_queue':
+ case 'component_queue':
+ case 'external_component_queue':
+ (y
+ .append('path')
+ .attr('fill', d)
+ .attr('stroke-width', '0.5')
+ .attr('stroke', p)
+ .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', s.x)
+ .replaceAll('starty', s.y)
+ .replaceAll('width', s.width)
+ .replaceAll('half', s.height / 2),
+ ),
+ y
+ .append('path')
+ .attr('fill', 'none')
+ .attr('stroke-width', '0.5')
+ .attr('stroke', p)
+ .attr(
+ 'd',
+ 'Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half'
+ .replaceAll('startx', s.x + s.width)
+ .replaceAll('starty', s.y)
+ .replaceAll('half', s.height / 2),
+ ));
+ break;
+ }
+ let _ = xUt(u, s.typeC4Shape.text);
+ switch (
+ (y
+ .append('text')
+ .attr('fill', v)
+ .attr('font-family', _.fontFamily)
+ .attr('font-size', _.fontSize - 2)
+ .attr('font-style', 'italic')
+ .attr('lengthAdjust', 'spacing')
+ .attr('textLength', s.typeC4Shape.width)
+ .attr('x', s.x + s.width / 2 - s.typeC4Shape.width / 2)
+ .attr('y', s.y + s.typeC4Shape.Y)
+ .text('<<' + s.typeC4Shape.text + '>>'),
+ s.typeC4Shape.text)
+ ) {
+ case 'person':
+ case 'external_person':
+ _qe(y, 48, 48, s.x + s.width / 2 - 24, s.y + s.image.Y, b);
+ break;
+ }
+ let A = u[s.typeC4Shape.text + 'Font']();
+ return (
+ (A.fontWeight = 'bold'),
+ (A.fontSize = A.fontSize + 2),
+ (A.fontColor = v),
+ B7(u)(s.label.text, y, s.x, s.y + s.label.Y, s.width, s.height, { fill: v }, A),
+ (A = u[s.typeC4Shape.text + 'Font']()),
+ (A.fontColor = v),
+ s.techn && ((P = s.techn) == null ? void 0 : P.text) !== ''
+ ? B7(u)(
+ s.techn.text,
+ y,
+ s.x,
+ s.y + s.techn.Y,
+ s.width,
+ s.height,
+ { fill: v, 'font-style': 'italic' },
+ A,
+ )
+ : s.type &&
+ s.type.text !== '' &&
+ B7(u)(
+ s.type.text,
+ y,
+ s.x,
+ s.y + s.type.Y,
+ s.width,
+ s.height,
+ { fill: v, 'font-style': 'italic' },
+ A,
+ ),
+ s.descr &&
+ s.descr.text !== '' &&
+ ((A = u.personFont()),
+ (A.fontColor = v),
+ B7(u)(s.descr.text, y, s.x, s.y + s.descr.Y, s.width, s.height, { fill: v }, A)),
+ s.height
+ );
+ },
+ dUt = function (i) {
+ i.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',
+ );
+ },
+ gUt = function (i) {
+ i.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',
+ );
+ },
+ pUt = function (i) {
+ i.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',
+ );
+ },
+ bUt = function (i) {
+ i.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');
+ },
+ mUt = function (i) {
+ i.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');
+ },
+ vUt = function (i) {
+ i.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');
+ },
+ wUt = function (i) {
+ i.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);
+ },
+ yUt = function (i) {
+ const u = i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'crosshead')
+ .attr('markerWidth', 15)
+ .attr('markerHeight', 8)
+ .attr('orient', 'auto')
+ .attr('refX', 16)
+ .attr('refY', 4);
+ (u
+ .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'),
+ u
+ .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'));
+ },
+ xUt = (i, s) => ({
+ fontFamily: i[s + 'FontFamily'],
+ fontSize: i[s + 'FontSize'],
+ fontWeight: i[s + 'FontWeight'],
+ }),
+ B7 = (function () {
+ function i(p, v, b, y, T, _, A) {
+ const P = v
+ .append('text')
+ .attr('x', b + T / 2)
+ .attr('y', y + _ / 2 + 5)
+ .style('text-anchor', 'middle')
+ .text(p);
+ d(P, A);
+ }
+ function s(p, v, b, y, T, _, A, P) {
+ const { fontSize: R, fontFamily: F, fontWeight: j } = P,
+ W = p.split(ci.lineBreakRegex);
+ for (let ee = 0; ee < W.length; ee++) {
+ const ie = ee * R - (R * (W.length - 1)) / 2,
+ oe = v
+ .append('text')
+ .attr('x', b + T / 2)
+ .attr('y', y)
+ .style('text-anchor', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .style('font-size', R)
+ .style('font-weight', j)
+ .style('font-family', F);
+ (oe.append('tspan').attr('dy', ie).text(W[ee]).attr('alignment-baseline', 'mathematical'),
+ d(oe, A));
+ }
+ }
+ function u(p, v, b, y, T, _, A, P) {
+ const R = v.append('switch'),
+ j = R.append('foreignObject')
+ .attr('x', b)
+ .attr('y', y)
+ .attr('width', T)
+ .attr('height', _)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ (j
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(p),
+ s(p, R, b, y, T, _, A, P),
+ d(j, A));
+ }
+ function d(p, v) {
+ for (const b in v) v.hasOwnProperty(b) && p.attr(b, v[b]);
+ }
+ return function (p) {
+ return p.textPlacement === 'fo' ? u : p.textPlacement === 'old' ? i : s;
+ };
+ })(),
+ Q4 = {
+ drawRect: qbe,
+ drawBoundary: hUt,
+ drawC4Shape: fUt,
+ drawRels: lUt,
+ drawImage: _qe,
+ insertArrowHead: bUt,
+ insertArrowEnd: mUt,
+ insertArrowFilledHead: vUt,
+ insertDynamicNumber: wUt,
+ insertArrowCrossHead: yUt,
+ insertDatabaseIcon: dUt,
+ insertComputerIcon: gUt,
+ insertClockIcon: pUt,
+ };
+ let LQ = 0,
+ MQ = 0,
+ Aqe = 4,
+ Hbe = 2;
+ CQ.yy = $be;
+ let zs = {};
+ class Lqe {
+ constructor(s) {
+ ((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),
+ Vbe(s.db.getConfig()));
+ }
+ setData(s, u, d, p) {
+ ((this.nextData.startx = this.data.startx = s),
+ (this.nextData.stopx = this.data.stopx = u),
+ (this.nextData.starty = this.data.starty = d),
+ (this.nextData.stopy = this.data.stopy = p));
+ }
+ updateVal(s, u, d, p) {
+ s[u] === void 0 ? (s[u] = d) : (s[u] = p(d, s[u]));
+ }
+ insert(s) {
+ this.nextData.cnt = this.nextData.cnt + 1;
+ let u =
+ this.nextData.startx === this.nextData.stopx
+ ? this.nextData.stopx + s.margin
+ : this.nextData.stopx + s.margin * 2,
+ d = u + s.width,
+ p = this.nextData.starty + s.margin * 2,
+ v = p + s.height;
+ ((u >= this.data.widthLimit || d >= this.data.widthLimit || this.nextData.cnt > Aqe) &&
+ ((u = this.nextData.startx + s.margin + zs.nextLinePaddingX),
+ (p = this.nextData.stopy + s.margin * 2),
+ (this.nextData.stopx = d = u + s.width),
+ (this.nextData.starty = this.nextData.stopy),
+ (this.nextData.stopy = v = p + s.height),
+ (this.nextData.cnt = 1)),
+ (s.x = u),
+ (s.y = p),
+ this.updateVal(this.data, 'startx', u, Math.min),
+ this.updateVal(this.data, 'starty', p, Math.min),
+ this.updateVal(this.data, 'stopx', d, Math.max),
+ this.updateVal(this.data, 'stopy', v, Math.max),
+ this.updateVal(this.nextData, 'startx', u, Math.min),
+ this.updateVal(this.nextData, 'starty', p, Math.min),
+ this.updateVal(this.nextData, 'stopx', d, Math.max),
+ this.updateVal(this.nextData, 'stopy', v, Math.max));
+ }
+ init(s) {
+ ((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 }),
+ Vbe(s.db.getConfig()));
+ }
+ bumpLastMargin(s) {
+ ((this.data.stopx += s), (this.data.stopy += s));
+ }
+ }
+ const Vbe = function (i) {
+ (td(zs, i),
+ i.fontFamily &&
+ (zs.personFontFamily = zs.systemFontFamily = zs.messageFontFamily = i.fontFamily),
+ i.fontSize && (zs.personFontSize = zs.systemFontSize = zs.messageFontSize = i.fontSize),
+ i.fontWeight &&
+ (zs.personFontWeight = zs.systemFontWeight = zs.messageFontWeight = i.fontWeight));
+ },
+ bR = (i, s) => ({
+ fontFamily: i[s + 'FontFamily'],
+ fontSize: i[s + 'FontSize'],
+ fontWeight: i[s + 'FontWeight'],
+ }),
+ DQ = (i) => ({
+ fontFamily: i.boundaryFontFamily,
+ fontSize: i.boundaryFontSize,
+ fontWeight: i.boundaryFontWeight,
+ }),
+ kUt = (i) => ({
+ fontFamily: i.messageFontFamily,
+ fontSize: i.messageFontSize,
+ fontWeight: i.messageFontWeight,
+ });
+ function $3(i, s, u, d, p) {
+ if (!s[i].width)
+ if (u)
+ ((s[i].text = yje(s[i].text, p, d)),
+ (s[i].textLines = s[i].text.split(ci.lineBreakRegex).length),
+ (s[i].width = p),
+ (s[i].height = E2e(s[i].text, d)));
+ else {
+ let v = s[i].text.split(ci.lineBreakRegex);
+ s[i].textLines = v.length;
+ let b = 0;
+ ((s[i].height = 0), (s[i].width = 0));
+ for (const y of v)
+ ((s[i].width = Math.max(H4(y, d), s[i].width)),
+ (b = E2e(y, d)),
+ (s[i].height = s[i].height + b));
+ }
+ }
+ const Mqe = function (i, s, u) {
+ ((s.x = u.data.startx),
+ (s.y = u.data.starty),
+ (s.width = u.data.stopx - u.data.startx),
+ (s.height = u.data.stopy - u.data.starty),
+ (s.label.y = zs.c4ShapeMargin - 35));
+ let d = s.wrap && zs.wrap,
+ p = DQ(zs);
+ ((p.fontSize = p.fontSize + 2), (p.fontWeight = 'bold'));
+ let v = H4(s.label.text, p);
+ ($3('label', s, d, p, v), Q4.drawBoundary(i, s, zs));
+ },
+ Dqe = function (i, s, u, d) {
+ let p = 0;
+ for (const v of d) {
+ p = 0;
+ const b = u[v];
+ let y = bR(zs, b.typeC4Shape.text);
+ switch (
+ ((y.fontSize = y.fontSize - 2),
+ (b.typeC4Shape.width = H4('«' + b.typeC4Shape.text + '»', y)),
+ (b.typeC4Shape.height = y.fontSize + 2),
+ (b.typeC4Shape.Y = zs.c4ShapePadding),
+ (p = b.typeC4Shape.Y + b.typeC4Shape.height - 4),
+ (b.image = { width: 0, height: 0, Y: 0 }),
+ b.typeC4Shape.text)
+ ) {
+ case 'person':
+ case 'external_person':
+ ((b.image.width = 48),
+ (b.image.height = 48),
+ (b.image.Y = p),
+ (p = b.image.Y + b.image.height));
+ break;
+ }
+ b.sprite &&
+ ((b.image.width = 48),
+ (b.image.height = 48),
+ (b.image.Y = p),
+ (p = b.image.Y + b.image.height));
+ let T = b.wrap && zs.wrap,
+ _ = zs.width - zs.c4ShapePadding * 2,
+ A = bR(zs, b.typeC4Shape.text);
+ if (
+ ((A.fontSize = A.fontSize + 2),
+ (A.fontWeight = 'bold'),
+ $3('label', b, T, A, _),
+ (b.label.Y = p + 8),
+ (p = b.label.Y + b.label.height),
+ b.type && b.type.text !== '')
+ ) {
+ b.type.text = '[' + b.type.text + ']';
+ let F = bR(zs, b.typeC4Shape.text);
+ ($3('type', b, T, F, _), (b.type.Y = p + 5), (p = b.type.Y + b.type.height));
+ } else if (b.techn && b.techn.text !== '') {
+ b.techn.text = '[' + b.techn.text + ']';
+ let F = bR(zs, b.techn.text);
+ ($3('techn', b, T, F, _), (b.techn.Y = p + 5), (p = b.techn.Y + b.techn.height));
+ }
+ let P = p,
+ R = b.label.width;
+ if (b.descr && b.descr.text !== '') {
+ let F = bR(zs, b.typeC4Shape.text);
+ ($3('descr', b, T, F, _),
+ (b.descr.Y = p + 20),
+ (p = b.descr.Y + b.descr.height),
+ (R = Math.max(b.label.width, b.descr.width)),
+ (P = p - b.descr.textLines * 5));
+ }
+ ((R = R + zs.c4ShapePadding),
+ (b.width = Math.max(b.width || zs.width, R, zs.width)),
+ (b.height = Math.max(b.height || zs.height, P, zs.height)),
+ (b.margin = b.margin || zs.c4ShapeMargin),
+ i.insert(b),
+ Q4.drawC4Shape(s, b, zs));
+ }
+ i.bumpLastMargin(zs.c4ShapeMargin);
+ };
+ let $v = class {
+ constructor(s, u) {
+ ((this.x = s), (this.y = u));
+ }
+ },
+ Iqe = function (i, s) {
+ let u = i.x,
+ d = i.y,
+ p = s.x,
+ v = s.y,
+ b = u + i.width / 2,
+ y = d + i.height / 2,
+ T = Math.abs(u - p),
+ _ = Math.abs(d - v),
+ A = _ / T,
+ P = i.height / i.width,
+ R = null;
+ return (
+ d == v && u < p
+ ? (R = new $v(u + i.width, y))
+ : d == v && u > p
+ ? (R = new $v(u, y))
+ : u == p && d < v
+ ? (R = new $v(b, d + i.height))
+ : u == p && d > v && (R = new $v(b, d)),
+ u > p && d < v
+ ? P >= A
+ ? (R = new $v(u, y + (A * i.width) / 2))
+ : (R = new $v(b - ((T / _) * i.height) / 2, d + i.height))
+ : u < p && d < v
+ ? P >= A
+ ? (R = new $v(u + i.width, y + (A * i.width) / 2))
+ : (R = new $v(b + ((T / _) * i.height) / 2, d + i.height))
+ : u < p && d > v
+ ? P >= A
+ ? (R = new $v(u + i.width, y - (A * i.width) / 2))
+ : (R = new $v(b + ((i.height / 2) * T) / _, d))
+ : u > p &&
+ d > v &&
+ (P >= A
+ ? (R = new $v(u, y - (i.width / 2) * A))
+ : (R = new $v(b - ((i.height / 2) * T) / _, d))),
+ R
+ );
+ },
+ EUt = function (i, s) {
+ let u = { x: 0, y: 0 };
+ ((u.x = s.x + s.width / 2), (u.y = s.y + s.height / 2));
+ let d = Iqe(i, u);
+ ((u.x = i.x + i.width / 2), (u.y = i.y + i.height / 2));
+ let p = Iqe(s, u);
+ return { startPoint: d, endPoint: p };
+ };
+ const TUt = function (i, s, u, d) {
+ let p = 0;
+ for (let v of s) {
+ p = p + 1;
+ let b = v.wrap && zs.wrap,
+ y = kUt(zs);
+ d.db.getC4Type() === 'C4Dynamic' && (v.label.text = p + ': ' + v.label.text);
+ let _ = H4(v.label.text, y);
+ ($3('label', v, b, y, _),
+ v.techn && v.techn.text !== '' && ((_ = H4(v.techn.text, y)), $3('techn', v, b, y, _)),
+ v.descr && v.descr.text !== '' && ((_ = H4(v.descr.text, y)), $3('descr', v, b, y, _)));
+ let A = u(v.from),
+ P = u(v.to),
+ R = EUt(A, P);
+ ((v.startPoint = R.startPoint), (v.endPoint = R.endPoint));
+ }
+ Q4.drawRels(i, s, zs);
+ };
+ function Oqe(i, s, u, d, p) {
+ let v = new Lqe(p);
+ v.data.widthLimit = u.data.widthLimit / Math.min(Hbe, d.length);
+ for (let [b, y] of d.entries()) {
+ let T = 0;
+ ((y.image = { width: 0, height: 0, Y: 0 }),
+ y.sprite &&
+ ((y.image.width = 48),
+ (y.image.height = 48),
+ (y.image.Y = T),
+ (T = y.image.Y + y.image.height)));
+ let _ = y.wrap && zs.wrap,
+ A = DQ(zs);
+ if (
+ ((A.fontSize = A.fontSize + 2),
+ (A.fontWeight = 'bold'),
+ $3('label', y, _, A, v.data.widthLimit),
+ (y.label.Y = T + 8),
+ (T = y.label.Y + y.label.height),
+ y.type && y.type.text !== '')
+ ) {
+ y.type.text = '[' + y.type.text + ']';
+ let j = DQ(zs);
+ ($3('type', y, _, j, v.data.widthLimit),
+ (y.type.Y = T + 5),
+ (T = y.type.Y + y.type.height));
+ }
+ if (y.descr && y.descr.text !== '') {
+ let j = DQ(zs);
+ ((j.fontSize = j.fontSize - 2),
+ $3('descr', y, _, j, v.data.widthLimit),
+ (y.descr.Y = T + 20),
+ (T = y.descr.Y + y.descr.height));
+ }
+ if (b == 0 || b % Hbe === 0) {
+ let j = u.data.startx + zs.diagramMarginX,
+ W = u.data.stopy + zs.diagramMarginY + T;
+ v.setData(j, j, W, W);
+ } else {
+ let j = v.data.stopx !== v.data.startx ? v.data.stopx + zs.diagramMarginX : v.data.startx,
+ W = v.data.starty;
+ v.setData(j, j, W, W);
+ }
+ v.name = y.alias;
+ let P = p.db.getC4ShapeArray(y.alias),
+ R = p.db.getC4ShapeKeys(y.alias);
+ (R.length > 0 && Dqe(v, i, P, R), (s = y.alias));
+ let F = p.db.getBoundarys(s);
+ (F.length > 0 && Oqe(i, s, v, F, p),
+ y.alias !== 'global' && Mqe(i, y, v),
+ (u.data.stopy = Math.max(v.data.stopy + zs.c4ShapeMargin, u.data.stopy)),
+ (u.data.stopx = Math.max(v.data.stopx + zs.c4ShapeMargin, u.data.stopx)),
+ (LQ = Math.max(LQ, u.data.stopx)),
+ (MQ = Math.max(MQ, u.data.stopy)));
+ }
+ }
+ const Nqe = {
+ drawPersonOrSystemArray: Dqe,
+ drawBoundary: Mqe,
+ setConf: Vbe,
+ draw: function (i, s, u, d) {
+ zs = qt().c4;
+ const p = qt().securityLevel;
+ let v;
+ p === 'sandbox' && (v = Ir('#i' + s));
+ const b = Ir(p === 'sandbox' ? v.nodes()[0].contentDocument.body : 'body');
+ let y = d.db;
+ (d.db.setWrap(zs.wrap),
+ (Aqe = y.getC4ShapeInRow()),
+ (Hbe = y.getC4BoundaryInRow()),
+ Xe.debug(`C:${JSON.stringify(zs, null, 2)}`));
+ const T = p === 'sandbox' ? b.select(`[id="${s}"]`) : Ir(`[id="${s}"]`);
+ (Q4.insertComputerIcon(T), Q4.insertDatabaseIcon(T), Q4.insertClockIcon(T));
+ let _ = new Lqe(d);
+ (_.setData(zs.diagramMarginX, zs.diagramMarginX, zs.diagramMarginY, zs.diagramMarginY),
+ (_.data.widthLimit = screen.availWidth),
+ (LQ = zs.diagramMarginX),
+ (MQ = zs.diagramMarginY));
+ const A = d.db.getTitle();
+ let P = d.db.getBoundarys('');
+ (Oqe(T, '', _, P, d),
+ Q4.insertArrowHead(T),
+ Q4.insertArrowEnd(T),
+ Q4.insertArrowCrossHead(T),
+ Q4.insertArrowFilledHead(T),
+ TUt(T, d.db.getRels(), d.db.getC4Shape, d),
+ (_.data.stopx = LQ),
+ (_.data.stopy = MQ));
+ const R = _.data;
+ let j = R.stopy - R.starty + 2 * zs.diagramMarginY;
+ const ee = R.stopx - R.startx + 2 * zs.diagramMarginX;
+ (A &&
+ T.append('text')
+ .text(A)
+ .attr('x', (R.stopx - R.startx) / 2 - 4 * zs.diagramMarginX)
+ .attr('y', R.starty + zs.diagramMarginY),
+ Og(T, j, ee, zs.useMaxWidth));
+ const ie = A ? 60 : 0;
+ (T.attr(
+ 'viewBox',
+ R.startx -
+ zs.diagramMarginX +
+ ' -' +
+ (zs.diagramMarginY + ie) +
+ ' ' +
+ ee +
+ ' ' +
+ (j + ie),
+ ),
+ Xe.debug('models:', R));
+ },
+ },
+ CUt = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: FVt,
+ db: $be,
+ renderer: Nqe,
+ styles: (i) => `.person {
stroke: ${i.personBorder};
fill: ${i.personBkg};
}
-`,init:({c4:i,wrap:s})=>{Nqe.setConf(i),$be.setWrap(s)}}},Symbol.toStringTag,{value:"Module"}));var Ube=function(){var i=function(yu,Wi,ls,Da){for(ls=ls||{},Da=yu.length;Da--;ls[yu[Da]]=Wi);return ls},s=[1,4],u=[1,3],d=[1,5],p=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],y=[1,14],T=[1,15],_=[1,16],A=[1,23],P=[1,25],R=[1,26],F=[1,27],j=[1,49],W=[1,48],ee=[1,29],ie=[1,30],oe=[1,31],be=[1,32],ge=[1,33],ae=[1,44],ne=[1,46],se=[1,42],de=[1,47],X=[1,43],pe=[1,50],G=[1,45],xe=[1,51],U=[1,52],Be=[1,34],Ne=[1,35],je=[1,36],Ie=[1,37],Se=[1,57],Ce=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],ke=[1,61],Ke=[1,60],Ft=[1,62],Pe=[8,9,11,73,75],gn=[1,88],kt=[1,93],Et=[1,92],Gt=[1,89],ln=[1,85],xt=[1,91],Pt=[1,87],Ze=[1,94],At=[1,90],Tt=[1,95],On=[1,86],ht=[8,9,10,11,73,75],zr=[8,9,10,11,44,73,75],yt=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Fi=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],yi=[42,58,86,99,102,103,106,108,111,112,113],Ba=[1,121],na=[1,120],Ro=[1,128],_r=[1,142],Nn=[1,143],$n=[1,144],qn=[1,145],Lt=[1,130],wt=[1,132],cn=[1,136],fn=[1,137],Mn=[1,138],mo=[1,139],Io=[1,140],Xa=[1,141],ua=[1,146],Oo=[1,147],Ts=[1,126],nl=[1,127],Zo=[1,134],id=[1,129],gm=[1,133],qu=[1,131],lu=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Xc=[1,149],Cs=[8,9,11],Bc=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Ma=[1,169],No=[1,165],vc=[1,166],Qa=[1,170],ja=[1,167],ka=[1,168],wu=[75,113,116],Fc=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],a5=[10,103],jg=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],b1=[1,235],Hd=[1,233],ch=[1,237],Vd=[1,231],Ud=[1,232],Gd=[1,234],sd=[1,236],F0=[1,238],bs=[1,255],pn=[8,9,11,103],Zr=[8,9,10,11,58,81,102,103,106,107,108,109],ss={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(Wi,ls,Da,ui,nu,Ot,W3){var Kt=Ot.length-1;switch(nu){case 2:this.$=[];break;case 3:(!Array.isArray(Ot[Kt])||Ot[Kt].length>0)&&Ot[Kt-1].push(Ot[Kt]),this.$=Ot[Kt-1];break;case 4:case 176:this.$=Ot[Kt];break;case 11:ui.setDirection("TB"),this.$="TB";break;case 12:ui.setDirection(Ot[Kt-1]),this.$=Ot[Kt-1];break;case 27:this.$=Ot[Kt-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=ui.addSubGraph(Ot[Kt-6],Ot[Kt-1],Ot[Kt-4]);break;case 34:this.$=ui.addSubGraph(Ot[Kt-3],Ot[Kt-1],Ot[Kt-3]);break;case 35:this.$=ui.addSubGraph(void 0,Ot[Kt-1],void 0);break;case 37:this.$=Ot[Kt].trim(),ui.setAccTitle(this.$);break;case 38:case 39:this.$=Ot[Kt].trim(),ui.setAccDescription(this.$);break;case 43:ui.addLink(Ot[Kt-2].stmt,Ot[Kt],Ot[Kt-1]),this.$={stmt:Ot[Kt],nodes:Ot[Kt].concat(Ot[Kt-2].nodes)};break;case 44:ui.addLink(Ot[Kt-3].stmt,Ot[Kt-1],Ot[Kt-2]),this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1].concat(Ot[Kt-3].nodes)};break;case 45:this.$={stmt:Ot[Kt-1],nodes:Ot[Kt-1]};break;case 46:this.$={stmt:Ot[Kt],nodes:Ot[Kt]};break;case 47:this.$=[Ot[Kt]];break;case 48:this.$=Ot[Kt-4].concat(Ot[Kt]);break;case 49:this.$=Ot[Kt];break;case 50:this.$=Ot[Kt-2],ui.setClass(Ot[Kt-2],Ot[Kt]);break;case 51:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"square");break;case 52:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"doublecircle");break;case 53:this.$=Ot[Kt-5],ui.addVertex(Ot[Kt-5],Ot[Kt-2],"circle");break;case 54:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"ellipse");break;case 55:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"stadium");break;case 56:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"subroutine");break;case 57:this.$=Ot[Kt-7],ui.addVertex(Ot[Kt-7],Ot[Kt-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ot[Kt-5],Ot[Kt-3]]]));break;case 58:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"cylinder");break;case 59:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"round");break;case 60:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"diamond");break;case 61:this.$=Ot[Kt-5],ui.addVertex(Ot[Kt-5],Ot[Kt-2],"hexagon");break;case 62:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"odd");break;case 63:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"trapezoid");break;case 64:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"inv_trapezoid");break;case 65:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_right");break;case 66:this.$=Ot[Kt-3],ui.addVertex(Ot[Kt-3],Ot[Kt-1],"lean_left");break;case 67:this.$=Ot[Kt],ui.addVertex(Ot[Kt]);break;case 68:Ot[Kt-1].text=Ot[Kt],this.$=Ot[Kt-1];break;case 69:case 70:Ot[Kt-2].text=Ot[Kt-1],this.$=Ot[Kt-2];break;case 71:this.$=Ot[Kt];break;case 72:var R0=ui.destructLink(Ot[Kt],Ot[Kt-2]);this.$={type:R0.type,stroke:R0.stroke,length:R0.length,text:Ot[Kt-1]};break;case 73:this.$={text:Ot[Kt],type:"text"};break;case 74:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 75:this.$={text:Ot[Kt],type:"string"};break;case 76:this.$={text:Ot[Kt],type:"markdown"};break;case 77:var R0=ui.destructLink(Ot[Kt]);this.$={type:R0.type,stroke:R0.stroke,length:R0.length};break;case 78:this.$=Ot[Kt-1];break;case 79:this.$={text:Ot[Kt],type:"text"};break;case 80:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 81:this.$={text:Ot[Kt],type:"string"};break;case 82:case 97:this.$={text:Ot[Kt],type:"markdown"};break;case 94:this.$={text:Ot[Kt],type:"text"};break;case 95:this.$={text:Ot[Kt-1].text+""+Ot[Kt],type:Ot[Kt-1].type};break;case 96:this.$={text:Ot[Kt],type:"text"};break;case 98:this.$=Ot[Kt-4],ui.addClass(Ot[Kt-2],Ot[Kt]);break;case 99:this.$=Ot[Kt-4],ui.setClass(Ot[Kt-2],Ot[Kt]);break;case 100:case 108:this.$=Ot[Kt-1],ui.setClickEvent(Ot[Kt-1],Ot[Kt]);break;case 101:case 109:this.$=Ot[Kt-3],ui.setClickEvent(Ot[Kt-3],Ot[Kt-2]),ui.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 102:this.$=Ot[Kt-2],ui.setClickEvent(Ot[Kt-2],Ot[Kt-1],Ot[Kt]);break;case 103:this.$=Ot[Kt-4],ui.setClickEvent(Ot[Kt-4],Ot[Kt-3],Ot[Kt-2]),ui.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 104:this.$=Ot[Kt-2],ui.setLink(Ot[Kt-2],Ot[Kt]);break;case 105:this.$=Ot[Kt-4],ui.setLink(Ot[Kt-4],Ot[Kt-2]),ui.setTooltip(Ot[Kt-4],Ot[Kt]);break;case 106:this.$=Ot[Kt-4],ui.setLink(Ot[Kt-4],Ot[Kt-2],Ot[Kt]);break;case 107:this.$=Ot[Kt-6],ui.setLink(Ot[Kt-6],Ot[Kt-4],Ot[Kt]),ui.setTooltip(Ot[Kt-6],Ot[Kt-2]);break;case 110:this.$=Ot[Kt-1],ui.setLink(Ot[Kt-1],Ot[Kt]);break;case 111:this.$=Ot[Kt-3],ui.setLink(Ot[Kt-3],Ot[Kt-2]),ui.setTooltip(Ot[Kt-3],Ot[Kt]);break;case 112:this.$=Ot[Kt-3],ui.setLink(Ot[Kt-3],Ot[Kt-2],Ot[Kt]);break;case 113:this.$=Ot[Kt-5],ui.setLink(Ot[Kt-5],Ot[Kt-4],Ot[Kt]),ui.setTooltip(Ot[Kt-5],Ot[Kt-2]);break;case 114:this.$=Ot[Kt-4],ui.addVertex(Ot[Kt-2],void 0,void 0,Ot[Kt]);break;case 115:this.$=Ot[Kt-4],ui.updateLink([Ot[Kt-2]],Ot[Kt]);break;case 116:this.$=Ot[Kt-4],ui.updateLink(Ot[Kt-2],Ot[Kt]);break;case 117:this.$=Ot[Kt-8],ui.updateLinkInterpolate([Ot[Kt-6]],Ot[Kt-2]),ui.updateLink([Ot[Kt-6]],Ot[Kt]);break;case 118:this.$=Ot[Kt-8],ui.updateLinkInterpolate(Ot[Kt-6],Ot[Kt-2]),ui.updateLink(Ot[Kt-6],Ot[Kt]);break;case 119:this.$=Ot[Kt-6],ui.updateLinkInterpolate([Ot[Kt-4]],Ot[Kt]);break;case 120:this.$=Ot[Kt-6],ui.updateLinkInterpolate(Ot[Kt-4],Ot[Kt]);break;case 121:case 123:this.$=[Ot[Kt]];break;case 122:case 124:Ot[Kt-2].push(Ot[Kt]),this.$=Ot[Kt-2];break;case 126:this.$=Ot[Kt-1]+Ot[Kt];break;case 174:this.$=Ot[Kt];break;case 175:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 177:this.$=Ot[Kt-1]+""+Ot[Kt];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:s,10:u,12:d},{1:[3]},i(p,v,{5:6}),{4:7,9:s,10:u,12:d},{4:8,9:s,10:u,12:d},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},i(p,[2,9]),i(p,[2,10]),i(p,[2,11]),{8:[1,54],9:[1,55],10:Se,15:53,18:56},i(Ce,[2,3]),i(Ce,[2,4]),i(Ce,[2,5]),i(Ce,[2,6]),i(Ce,[2,7]),i(Ce,[2,8]),{8:ke,9:Ke,11:Ft,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:ke,9:Ke,11:Ft,21:66},{8:ke,9:Ke,11:Ft,21:67},{8:ke,9:Ke,11:Ft,21:68},{8:ke,9:Ke,11:Ft,21:69},{8:ke,9:Ke,11:Ft,21:70},{8:ke,9:Ke,10:[1,71],11:Ft,21:72},i(Ce,[2,36]),{35:[1,73]},{37:[1,74]},i(Ce,[2,39]),i(Pe,[2,46],{18:75,10:Se}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:gn,42:kt,58:Et,77:[1,83],86:Gt,92:[1,80],94:[1,81],98:82,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On,117:84},i(Ce,[2,178]),i(Ce,[2,179]),i(Ce,[2,180]),i(Ce,[2,181]),i(ht,[2,47]),i(ht,[2,49],{44:[1,96]}),i(zr,[2,67],{110:109,29:[1,97],42:j,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),i(yt,[2,174]),i(yt,[2,135]),i(yt,[2,136]),i(yt,[2,137]),i(yt,[2,138]),i(yt,[2,139]),i(yt,[2,140]),i(yt,[2,141]),i(yt,[2,142]),i(yt,[2,143]),i(yt,[2,144]),i(yt,[2,145]),i(p,[2,12]),i(p,[2,18]),i(p,[2,19]),{9:[1,110]},i(Fi,[2,26],{18:111,10:Se}),i(Ce,[2,27]),{40:112,41:38,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ce,[2,40]),i(Ce,[2,41]),i(Ce,[2,42]),i(yi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:Ba,116:na},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ce,[2,28]),i(Ce,[2,29]),i(Ce,[2,30]),i(Ce,[2,31]),i(Ce,[2,32]),{10:Ro,12:_r,14:Nn,27:$n,28:122,32:qn,42:Lt,58:wt,73:cn,77:[1,124],78:[1,125],80:135,81:fn,82:Mn,83:mo,84:Io,85:Xa,86:ua,87:Oo,88:123,102:Ts,106:nl,108:Zo,111:id,112:gm,113:qu},i(lu,v,{5:148}),i(Ce,[2,37]),i(Ce,[2,38]),i(Pe,[2,45],{42:Xc}),{42:j,45:150,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{99:[1,151],100:152,102:[1,153]},{42:j,45:154,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{42:j,45:155,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Cs,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Cs,[2,108],{117:160,10:[1,159],14:gn,42:kt,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On}),i(Cs,[2,110],{10:[1,161]}),i(Bc,[2,176]),i(Bc,[2,163]),i(Bc,[2,164]),i(Bc,[2,165]),i(Bc,[2,166]),i(Bc,[2,167]),i(Bc,[2,168]),i(Bc,[2,169]),i(Bc,[2,170]),i(Bc,[2,171]),i(Bc,[2,172]),i(Bc,[2,173]),{42:j,45:162,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{30:163,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:171,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:173,48:[1,172],65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:174,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:175,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:176,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{106:[1,177]},{30:178,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:179,63:[1,180],65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:181,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:182,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{30:183,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},i(yt,[2,175]),i(p,[2,20]),i(Fi,[2,25]),i(Pe,[2,43],{18:184,10:Se}),i(yi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{75:[1,188],76:189,113:Ba,116:na},i(wu,[2,73]),i(wu,[2,75]),i(wu,[2,76]),i(wu,[2,161]),i(wu,[2,162]),{8:ke,9:Ke,10:Ro,11:Ft,12:_r,14:Nn,21:191,27:$n,29:[1,190],32:qn,42:Lt,58:wt,73:cn,80:135,81:fn,82:Mn,83:mo,84:Io,85:Xa,86:ua,87:Oo,88:192,102:Ts,106:nl,108:Zo,111:id,112:gm,113:qu},i(Fc,[2,94]),i(Fc,[2,96]),i(Fc,[2,97]),i(Fc,[2,150]),i(Fc,[2,151]),i(Fc,[2,152]),i(Fc,[2,153]),i(Fc,[2,154]),i(Fc,[2,155]),i(Fc,[2,156]),i(Fc,[2,157]),i(Fc,[2,158]),i(Fc,[2,159]),i(Fc,[2,160]),i(Fc,[2,83]),i(Fc,[2,84]),i(Fc,[2,85]),i(Fc,[2,86]),i(Fc,[2,87]),i(Fc,[2,88]),i(Fc,[2,89]),i(Fc,[2,90]),i(Fc,[2,91]),i(Fc,[2,92]),i(Fc,[2,93]),{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,193],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},{10:Se,18:194},{10:[1,195],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{10:[1,196]},{10:[1,197],103:[1,198]},i(a5,[2,121]),{10:[1,199],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{10:[1,200],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{77:[1,201]},i(Cs,[2,102],{10:[1,202]}),i(Cs,[2,104],{10:[1,203]}),{77:[1,204]},i(Bc,[2,177]),{77:[1,205],95:[1,206]},i(ht,[2,50],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),{31:[1,207],65:Ma,79:208,113:Qa,114:ja,115:ka},i(jg,[2,79]),i(jg,[2,81]),i(jg,[2,82]),i(jg,[2,146]),i(jg,[2,147]),i(jg,[2,148]),i(jg,[2,149]),{47:[1,209],65:Ma,79:208,113:Qa,114:ja,115:ka},{30:210,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{49:[1,211],65:Ma,79:208,113:Qa,114:ja,115:ka},{51:[1,212],65:Ma,79:208,113:Qa,114:ja,115:ka},{53:[1,213],65:Ma,79:208,113:Qa,114:ja,115:ka},{55:[1,214],65:Ma,79:208,113:Qa,114:ja,115:ka},{58:[1,215]},{62:[1,216],65:Ma,79:208,113:Qa,114:ja,115:ka},{64:[1,217],65:Ma,79:208,113:Qa,114:ja,115:ka},{30:218,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},{31:[1,219],65:Ma,79:208,113:Qa,114:ja,115:ka},{65:Ma,67:[1,220],69:[1,221],79:208,113:Qa,114:ja,115:ka},{65:Ma,67:[1,223],69:[1,222],79:208,113:Qa,114:ja,115:ka},i(Pe,[2,44],{42:Xc}),i(yi,[2,70]),i(yi,[2,69]),{60:[1,224],65:Ma,79:208,113:Qa,114:ja,115:ka},i(yi,[2,72]),i(wu,[2,74]),{30:225,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},i(lu,v,{5:226}),i(Fc,[2,95]),i(Ce,[2,35]),{41:227,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{10:b1,58:Hd,81:ch,89:228,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:F0},{10:b1,58:Hd,81:ch,89:239,101:[1,240],102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:F0},{10:b1,58:Hd,81:ch,89:241,101:[1,242],102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:F0},{102:[1,243]},{10:b1,58:Hd,81:ch,89:244,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:F0},{42:j,45:245,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Cs,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Cs,[2,109]),i(Cs,[2,111],{10:[1,249]}),i(Cs,[2,112]),i(zr,[2,51]),i(jg,[2,80]),i(zr,[2,52]),{49:[1,250],65:Ma,79:208,113:Qa,114:ja,115:ka},i(zr,[2,59]),i(zr,[2,54]),i(zr,[2,55]),i(zr,[2,56]),{106:[1,251]},i(zr,[2,58]),i(zr,[2,60]),{64:[1,252],65:Ma,79:208,113:Qa,114:ja,115:ka},i(zr,[2,62]),i(zr,[2,63]),i(zr,[2,65]),i(zr,[2,64]),i(zr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Ma,79:208,113:Qa,114:ja,115:ka},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,254],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},i(ht,[2,48]),i(Cs,[2,114],{103:bs}),i(pn,[2,123],{105:256,10:b1,58:Hd,81:ch,102:Vd,106:Ud,107:Gd,108:sd,109:F0}),i(Zr,[2,125]),i(Zr,[2,127]),i(Zr,[2,128]),i(Zr,[2,129]),i(Zr,[2,130]),i(Zr,[2,131]),i(Zr,[2,132]),i(Zr,[2,133]),i(Zr,[2,134]),i(Cs,[2,115],{103:bs}),{10:[1,257]},i(Cs,[2,116],{103:bs}),{10:[1,258]},i(a5,[2,122]),i(Cs,[2,98],{103:bs}),i(Cs,[2,99],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),i(Cs,[2,103]),i(Cs,[2,105],{10:[1,259]}),i(Cs,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:ke,9:Ke,11:Ft,21:264},i(Ce,[2,34]),{10:b1,58:Hd,81:ch,102:Vd,104:265,105:230,106:Ud,107:Gd,108:sd,109:F0},i(Zr,[2,126]),{14:gn,42:kt,58:Et,86:Gt,98:266,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On,117:84},{14:gn,42:kt,58:Et,86:Gt,98:267,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On,117:84},{95:[1,268]},i(Cs,[2,113]),i(zr,[2,53]),{30:269,65:Ma,77:No,78:vc,79:164,113:Qa,114:ja,115:ka},i(zr,[2,61]),i(lu,v,{5:270}),i(pn,[2,124],{105:256,10:b1,58:Hd,81:ch,102:Vd,106:Ud,107:Gd,108:sd,109:F0}),i(Cs,[2,119],{117:160,10:[1,271],14:gn,42:kt,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On}),i(Cs,[2,120],{117:160,10:[1,272],14:gn,42:kt,58:Et,86:Gt,102:ln,103:xt,106:Pt,108:Ze,111:At,112:Tt,113:On}),i(Cs,[2,107]),{31:[1,273],65:Ma,79:208,113:Qa,114:ja,115:ka},{6:11,7:12,8:b,9:y,10:T,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,274],33:24,34:P,36:R,38:F,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Ne,120:je,121:Ie},{10:b1,58:Hd,81:ch,89:275,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:F0},{10:b1,58:Hd,81:ch,89:276,102:Vd,104:229,105:230,106:Ud,107:Gd,108:sd,109:F0},i(zr,[2,57]),i(Ce,[2,33]),i(Cs,[2,117],{103:bs}),i(Cs,[2,118],{103:bs})],defaultActions:{},parseError:function(Wi,ls){if(ls.recoverable)this.trace(Wi);else{var Da=new Error(Wi);throw Da.hash=ls,Da}},parse:function(Wi){var ls=this,Da=[0],ui=[],nu=[null],Ot=[],W3=this.table,Kt="",R0=0,Fp=0,Y3=2,j9=1,o5=Ot.slice.call(arguments,1),Ch=Object.create(this.lexer),$g={yy:{}};for(var pm in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pm)&&($g.yy[pm]=this.yy[pm]);Ch.setInput(Wi,$g.yy),$g.yy.lexer=Ch,$g.yy.parser=this,typeof Ch.yylloc>"u"&&(Ch.yylloc={});var $9=Ch.yylloc;Ot.push($9);var bm=Ch.options&&Ch.options.ranges;typeof $g.yy.parseError=="function"?this.parseError=$g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function c5(){var Rp;return Rp=ui.pop()||Ch.lex()||j9,typeof Rp!="number"&&(Rp instanceof Array&&(ui=Rp,Rp=ui.pop()),Rp=ls.symbols_[Rp]||Rp),Rp}for(var m1,ad,od,z9,Uv={},W7,K2,Y7,u5;;){if(ad=Da[Da.length-1],this.defaultActions[ad]?od=this.defaultActions[ad]:((m1===null||typeof m1>"u")&&(m1=c5()),od=W3[ad]&&W3[ad][m1]),typeof od>"u"||!od.length||!od[0]){var X3="";u5=[];for(W7 in W3[ad])this.terminals_[W7]&&W7>Y3&&u5.push("'"+this.terminals_[W7]+"'");Ch.showPosition?X3="Parse error on line "+(R0+1)+`:
-`+Ch.showPosition()+`
-Expecting `+u5.join(", ")+", got '"+(this.terminals_[m1]||m1)+"'":X3="Parse error on line "+(R0+1)+": Unexpected "+(m1==j9?"end of input":"'"+(this.terminals_[m1]||m1)+"'"),this.parseError(X3,{text:Ch.match,token:this.terminals_[m1]||m1,line:Ch.yylineno,loc:$9,expected:u5})}if(od[0]instanceof Array&&od.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ad+", token: "+m1);switch(od[0]){case 1:Da.push(m1),nu.push(Ch.yytext),Ot.push(Ch.yylloc),Da.push(od[1]),m1=null,Fp=Ch.yyleng,Kt=Ch.yytext,R0=Ch.yylineno,$9=Ch.yylloc;break;case 2:if(K2=this.productions_[od[1]][1],Uv.$=nu[nu.length-K2],Uv._$={first_line:Ot[Ot.length-(K2||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(K2||1)].first_column,last_column:Ot[Ot.length-1].last_column},bm&&(Uv._$.range=[Ot[Ot.length-(K2||1)].range[0],Ot[Ot.length-1].range[1]]),z9=this.performAction.apply(Uv,[Kt,Fp,R0,$g.yy,od[1],nu,Ot].concat(o5)),typeof z9<"u")return z9;K2&&(Da=Da.slice(0,-1*K2*2),nu=nu.slice(0,-1*K2),Ot=Ot.slice(0,-1*K2)),Da.push(this.productions_[od[1]][0]),nu.push(Uv.$),Ot.push(Uv._$),Y7=W3[Da[Da.length-2]][Da[Da.length-1]],Da.push(Y7);break;case 3:return!0}}return!0}},hu=function(){var yu={EOF:1,parseError:function(ls,Da){if(this.yy.parser)this.yy.parser.parseError(ls,Da);else throw new Error(ls)},setInput:function(Wi,ls){return this.yy=ls||this.yy||{},this._input=Wi,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Wi=this._input[0];this.yytext+=Wi,this.yyleng++,this.offset++,this.match+=Wi,this.matched+=Wi;var ls=Wi.match(/(?:\r\n?|\n).*/g);return ls?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Wi},unput:function(Wi){var ls=Wi.length,Da=Wi.split(/(?:\r\n?|\n)/g);this._input=Wi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ls),this.offset-=ls;var ui=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),Da.length-1&&(this.yylineno-=Da.length-1);var nu=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:Da?(Da.length===ui.length?this.yylloc.first_column:0)+ui[ui.length-Da.length].length-Da[0].length:this.yylloc.first_column-ls},this.options.ranges&&(this.yylloc.range=[nu[0],nu[0]+this.yyleng-ls]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Wi){this.unput(this.match.slice(Wi))},pastInput:function(){var Wi=this.matched.substr(0,this.matched.length-this.match.length);return(Wi.length>20?"...":"")+Wi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Wi=this.match;return Wi.length<20&&(Wi+=this._input.substr(0,20-Wi.length)),(Wi.substr(0,20)+(Wi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Wi=this.pastInput(),ls=new Array(Wi.length+1).join("-");return Wi+this.upcomingInput()+`
-`+ls+"^"},test_match:function(Wi,ls){var Da,ui,nu;if(this.options.backtrack_lexer&&(nu={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&&(nu.yylloc.range=this.yylloc.range.slice(0))),ui=Wi[0].match(/(?:\r\n?|\n).*/g),ui&&(this.yylineno+=ui.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ui?ui[ui.length-1].length-ui[ui.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Wi[0].length},this.yytext+=Wi[0],this.match+=Wi[0],this.matches=Wi,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(Wi[0].length),this.matched+=Wi[0],Da=this.performAction.call(this,this.yy,this,ls,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Da)return Da;if(this._backtrack){for(var Ot in nu)this[Ot]=nu[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Wi,ls,Da,ui;this._more||(this.yytext="",this.match="");for(var nu=this._currentRules(),Ot=0;Otls[0].length)){if(ls=Da,ui=Ot,this.options.backtrack_lexer){if(Wi=this.test_match(Da,nu[Ot]),Wi!==!1)return Wi;if(this._backtrack){ls=!1;continue}else return!1}else if(!this.options.flex)break}return ls?(Wi=this.test_match(ls,nu[ui]),Wi!==!1?Wi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ls=this.next();return ls||this.lex()},begin:function(ls){this.conditionStack.push(ls)},popState:function(){var ls=this.conditionStack.length-1;return ls>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ls){return ls=this.conditionStack.length-1-Math.abs(ls||0),ls>=0?this.conditionStack[ls]:"INITIAL"},pushState:function(ls){this.begin(ls)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ls,Da,ui,nu){switch(ui){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 27:this.popState();break;case 28:return 85;case 29:return ls.lex.firstGraph()&&this.begin("dir"),12;case 30:return ls.lex.firstGraph()&&this.begin("dir"),12;case 31:return ls.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 94:return 112;case 95:return 108;case 96:return 42;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 108:return"TEXT";case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};return yu}();ss.lexer=hu;function pl(){this.yy={}}return pl.prototype=ss,ss.Parser=pl,new pl}();Ube.parser=Ube;const Gbe=Ube,SUt="flowchart-";let Pqe=0,PD=qt(),oh={},z3=[],BD={},F7=[],IQ={},OQ={},NQ=0,Kbe=!0,zv,PQ,BQ=[];const FQ=i=>ci.sanitizeText(i,PD),mR=function(i){const s=Object.keys(oh);for(const u of s)if(oh[u].id===i)return oh[u].domId;return i},Bqe=function(i,s,u,d,p,v,b={}){let y,T=i;T!==void 0&&T.trim().length!==0&&(oh[T]===void 0&&(oh[T]={id:T,labelType:"text",domId:SUt+T+"-"+Pqe,styles:[],classes:[]}),Pqe++,s!==void 0?(PD=qt(),y=FQ(s.text.trim()),oh[T].labelType=s.type,y[0]==='"'&&y[y.length-1]==='"'&&(y=y.substring(1,y.length-1)),oh[T].text=y):oh[T].text===void 0&&(oh[T].text=i),u!==void 0&&(oh[T].type=u),d!=null&&d.forEach(function(_){oh[T].styles.push(_)}),p!=null&&p.forEach(function(_){oh[T].classes.push(_)}),v!==void 0&&(oh[T].dir=v),oh[T].props===void 0?oh[T].props=b:b!==void 0&&Object.assign(oh[T].props,b))},Fqe=function(i,s,u){const v={start:i,end:s,type:void 0,text:"",labelType:"text"};Xe.info("abc78 Got edge...",v);const b=u.text;if(b!==void 0&&(v.text=FQ(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),u!==void 0&&(v.type=u.type,v.stroke=u.stroke,v.length=u.length),(v==null?void 0:v.length)>10&&(v.length=10),z3.length<(PD.maxEdges??500))Xe.info("abc78 pushing edge..."),z3.push(v);else throw new Error(`Edge limit exceeded. ${z3.length} edges found, but the limit is ${PD.maxEdges}.
+`,
+ init: ({ c4: i, wrap: s }) => {
+ (Nqe.setConf(i), $be.setWrap(s));
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var Ube = (function () {
+ var i = function (yu, Wi, ls, Da) {
+ for (ls = ls || {}, Da = yu.length; Da--; ls[yu[Da]] = Wi);
+ return ls;
+ },
+ s = [1, 4],
+ u = [1, 3],
+ d = [1, 5],
+ p = [
+ 1, 8, 9, 10, 11, 27, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108,
+ 111, 112, 113, 118, 119, 120, 121,
+ ],
+ v = [2, 2],
+ b = [1, 13],
+ y = [1, 14],
+ T = [1, 15],
+ _ = [1, 16],
+ A = [1, 23],
+ P = [1, 25],
+ R = [1, 26],
+ F = [1, 27],
+ j = [1, 49],
+ W = [1, 48],
+ ee = [1, 29],
+ ie = [1, 30],
+ oe = [1, 31],
+ be = [1, 32],
+ ge = [1, 33],
+ ae = [1, 44],
+ ne = [1, 46],
+ se = [1, 42],
+ de = [1, 47],
+ X = [1, 43],
+ pe = [1, 50],
+ G = [1, 45],
+ xe = [1, 51],
+ U = [1, 52],
+ Be = [1, 34],
+ Ne = [1, 35],
+ je = [1, 36],
+ Ie = [1, 37],
+ Se = [1, 57],
+ Ce = [
+ 1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108,
+ 111, 112, 113, 118, 119, 120, 121,
+ ],
+ ke = [1, 61],
+ Ke = [1, 60],
+ Ft = [1, 62],
+ Pe = [8, 9, 11, 73, 75],
+ gn = [1, 88],
+ kt = [1, 93],
+ Et = [1, 92],
+ Gt = [1, 89],
+ ln = [1, 85],
+ xt = [1, 91],
+ Pt = [1, 87],
+ Ze = [1, 94],
+ At = [1, 90],
+ Tt = [1, 95],
+ On = [1, 86],
+ ht = [8, 9, 10, 11, 73, 75],
+ zr = [8, 9, 10, 11, 44, 73, 75],
+ yt = [
+ 8, 9, 10, 11, 29, 42, 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, 65, 66, 68, 73, 75, 86, 99,
+ 102, 103, 106, 108, 111, 112, 113,
+ ],
+ Fi = [8, 9, 11, 42, 58, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113],
+ yi = [42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113],
+ Ba = [1, 121],
+ na = [1, 120],
+ Ro = [1, 128],
+ _r = [1, 142],
+ Nn = [1, 143],
+ $n = [1, 144],
+ qn = [1, 145],
+ Lt = [1, 130],
+ wt = [1, 132],
+ cn = [1, 136],
+ fn = [1, 137],
+ Mn = [1, 138],
+ mo = [1, 139],
+ Io = [1, 140],
+ Xa = [1, 141],
+ ua = [1, 146],
+ Oo = [1, 147],
+ Ts = [1, 126],
+ nl = [1, 127],
+ Zo = [1, 134],
+ id = [1, 129],
+ gm = [1, 133],
+ qu = [1, 131],
+ lu = [
+ 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108,
+ 111, 112, 113, 118, 119, 120, 121,
+ ],
+ Xc = [1, 149],
+ Cs = [8, 9, 11],
+ Bc = [8, 9, 10, 11, 14, 42, 58, 86, 102, 103, 106, 108, 111, 112, 113],
+ Ma = [1, 169],
+ No = [1, 165],
+ vc = [1, 166],
+ Qa = [1, 170],
+ ja = [1, 167],
+ ka = [1, 168],
+ wu = [75, 113, 116],
+ Fc = [
+ 8, 9, 10, 11, 12, 14, 27, 29, 32, 42, 58, 73, 81, 82, 83, 84, 85, 86, 87, 102, 106, 108,
+ 111, 112, 113,
+ ],
+ a5 = [10, 103],
+ jg = [31, 47, 49, 51, 53, 55, 60, 62, 64, 65, 67, 69, 113, 114, 115],
+ b1 = [1, 235],
+ Hd = [1, 233],
+ ch = [1, 237],
+ Vd = [1, 231],
+ Ud = [1, 232],
+ Gd = [1, 234],
+ sd = [1, 236],
+ F0 = [1, 238],
+ bs = [1, 255],
+ pn = [8, 9, 11, 103],
+ Zr = [8, 9, 10, 11, 58, 81, 102, 103, 106, 107, 108, 109],
+ ss = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ graphConfig: 4,
+ document: 5,
+ line: 6,
+ statement: 7,
+ SEMI: 8,
+ NEWLINE: 9,
+ SPACE: 10,
+ EOF: 11,
+ GRAPH: 12,
+ NODIR: 13,
+ DIR: 14,
+ FirstStmtSeparator: 15,
+ ending: 16,
+ endToken: 17,
+ spaceList: 18,
+ spaceListNewline: 19,
+ vertexStatement: 20,
+ separator: 21,
+ styleStatement: 22,
+ linkStyleStatement: 23,
+ classDefStatement: 24,
+ classStatement: 25,
+ clickStatement: 26,
+ subgraph: 27,
+ textNoTags: 28,
+ SQS: 29,
+ text: 30,
+ SQE: 31,
+ end: 32,
+ direction: 33,
+ acc_title: 34,
+ acc_title_value: 35,
+ acc_descr: 36,
+ acc_descr_value: 37,
+ acc_descr_multiline_value: 38,
+ link: 39,
+ node: 40,
+ styledVertex: 41,
+ AMP: 42,
+ vertex: 43,
+ STYLE_SEPARATOR: 44,
+ idString: 45,
+ DOUBLECIRCLESTART: 46,
+ DOUBLECIRCLEEND: 47,
+ PS: 48,
+ PE: 49,
+ '(-': 50,
+ '-)': 51,
+ STADIUMSTART: 52,
+ STADIUMEND: 53,
+ SUBROUTINESTART: 54,
+ SUBROUTINEEND: 55,
+ VERTEX_WITH_PROPS_START: 56,
+ 'NODE_STRING[field]': 57,
+ COLON: 58,
+ 'NODE_STRING[value]': 59,
+ PIPE: 60,
+ CYLINDERSTART: 61,
+ CYLINDEREND: 62,
+ DIAMOND_START: 63,
+ DIAMOND_STOP: 64,
+ TAGEND: 65,
+ TRAPSTART: 66,
+ TRAPEND: 67,
+ INVTRAPSTART: 68,
+ INVTRAPEND: 69,
+ linkStatement: 70,
+ arrowText: 71,
+ TESTSTR: 72,
+ START_LINK: 73,
+ edgeText: 74,
+ LINK: 75,
+ edgeTextToken: 76,
+ STR: 77,
+ MD_STR: 78,
+ textToken: 79,
+ keywords: 80,
+ STYLE: 81,
+ LINKSTYLE: 82,
+ CLASSDEF: 83,
+ CLASS: 84,
+ CLICK: 85,
+ DOWN: 86,
+ UP: 87,
+ textNoTagsToken: 88,
+ stylesOpt: 89,
+ 'idString[vertex]': 90,
+ 'idString[class]': 91,
+ CALLBACKNAME: 92,
+ CALLBACKARGS: 93,
+ HREF: 94,
+ LINK_TARGET: 95,
+ 'STR[link]': 96,
+ 'STR[tooltip]': 97,
+ alphaNum: 98,
+ DEFAULT: 99,
+ numList: 100,
+ INTERPOLATE: 101,
+ NUM: 102,
+ COMMA: 103,
+ style: 104,
+ styleComponent: 105,
+ NODE_STRING: 106,
+ UNIT: 107,
+ BRKT: 108,
+ PCT: 109,
+ idStringToken: 110,
+ MINUS: 111,
+ MULT: 112,
+ UNICODE_TEXT: 113,
+ TEXT: 114,
+ TAGSTART: 115,
+ EDGE_TEXT: 116,
+ alphaNumToken: 117,
+ direction_tb: 118,
+ direction_bt: 119,
+ direction_rl: 120,
+ direction_lr: 121,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 8: 'SEMI',
+ 9: 'NEWLINE',
+ 10: 'SPACE',
+ 11: 'EOF',
+ 12: 'GRAPH',
+ 13: 'NODIR',
+ 14: 'DIR',
+ 27: 'subgraph',
+ 29: 'SQS',
+ 31: 'SQE',
+ 32: 'end',
+ 34: 'acc_title',
+ 35: 'acc_title_value',
+ 36: 'acc_descr',
+ 37: 'acc_descr_value',
+ 38: 'acc_descr_multiline_value',
+ 42: 'AMP',
+ 44: 'STYLE_SEPARATOR',
+ 46: 'DOUBLECIRCLESTART',
+ 47: 'DOUBLECIRCLEEND',
+ 48: 'PS',
+ 49: 'PE',
+ 50: '(-',
+ 51: '-)',
+ 52: 'STADIUMSTART',
+ 53: 'STADIUMEND',
+ 54: 'SUBROUTINESTART',
+ 55: 'SUBROUTINEEND',
+ 56: 'VERTEX_WITH_PROPS_START',
+ 57: 'NODE_STRING[field]',
+ 58: 'COLON',
+ 59: 'NODE_STRING[value]',
+ 60: 'PIPE',
+ 61: 'CYLINDERSTART',
+ 62: 'CYLINDEREND',
+ 63: 'DIAMOND_START',
+ 64: 'DIAMOND_STOP',
+ 65: 'TAGEND',
+ 66: 'TRAPSTART',
+ 67: 'TRAPEND',
+ 68: 'INVTRAPSTART',
+ 69: 'INVTRAPEND',
+ 72: 'TESTSTR',
+ 73: 'START_LINK',
+ 75: 'LINK',
+ 77: 'STR',
+ 78: 'MD_STR',
+ 81: 'STYLE',
+ 82: 'LINKSTYLE',
+ 83: 'CLASSDEF',
+ 84: 'CLASS',
+ 85: 'CLICK',
+ 86: 'DOWN',
+ 87: 'UP',
+ 90: 'idString[vertex]',
+ 91: 'idString[class]',
+ 92: 'CALLBACKNAME',
+ 93: 'CALLBACKARGS',
+ 94: 'HREF',
+ 95: 'LINK_TARGET',
+ 96: 'STR[link]',
+ 97: 'STR[tooltip]',
+ 99: 'DEFAULT',
+ 101: 'INTERPOLATE',
+ 102: 'NUM',
+ 103: 'COMMA',
+ 106: 'NODE_STRING',
+ 107: 'UNIT',
+ 108: 'BRKT',
+ 109: 'PCT',
+ 111: 'MINUS',
+ 112: 'MULT',
+ 113: 'UNICODE_TEXT',
+ 114: 'TEXT',
+ 115: 'TAGSTART',
+ 116: 'EDGE_TEXT',
+ 118: 'direction_tb',
+ 119: 'direction_bt',
+ 120: 'direction_rl',
+ 121: 'direction_lr',
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [5, 0],
+ [5, 2],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [6, 1],
+ [4, 2],
+ [4, 2],
+ [4, 2],
+ [4, 3],
+ [16, 2],
+ [16, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [15, 1],
+ [15, 1],
+ [15, 2],
+ [19, 2],
+ [19, 2],
+ [19, 1],
+ [19, 1],
+ [18, 2],
+ [18, 1],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 9],
+ [7, 6],
+ [7, 4],
+ [7, 1],
+ [7, 2],
+ [7, 2],
+ [7, 1],
+ [21, 1],
+ [21, 1],
+ [21, 1],
+ [20, 3],
+ [20, 4],
+ [20, 2],
+ [20, 1],
+ [40, 1],
+ [40, 5],
+ [41, 1],
+ [41, 3],
+ [43, 4],
+ [43, 4],
+ [43, 6],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 8],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 6],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 4],
+ [43, 1],
+ [39, 2],
+ [39, 3],
+ [39, 3],
+ [39, 1],
+ [39, 3],
+ [74, 1],
+ [74, 2],
+ [74, 1],
+ [74, 1],
+ [70, 1],
+ [71, 3],
+ [30, 1],
+ [30, 2],
+ [30, 1],
+ [30, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [80, 1],
+ [28, 1],
+ [28, 2],
+ [28, 1],
+ [28, 1],
+ [24, 5],
+ [25, 5],
+ [26, 2],
+ [26, 4],
+ [26, 3],
+ [26, 5],
+ [26, 3],
+ [26, 5],
+ [26, 5],
+ [26, 7],
+ [26, 2],
+ [26, 4],
+ [26, 2],
+ [26, 4],
+ [26, 4],
+ [26, 6],
+ [22, 5],
+ [23, 5],
+ [23, 5],
+ [23, 9],
+ [23, 9],
+ [23, 7],
+ [23, 7],
+ [100, 1],
+ [100, 3],
+ [89, 1],
+ [89, 3],
+ [104, 1],
+ [104, 2],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [105, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [110, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [88, 1],
+ [76, 1],
+ [76, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [117, 1],
+ [45, 1],
+ [45, 2],
+ [98, 1],
+ [98, 2],
+ [33, 1],
+ [33, 1],
+ [33, 1],
+ [33, 1],
+ ],
+ performAction: function (Wi, ls, Da, ui, nu, Ot, W3) {
+ var Kt = Ot.length - 1;
+ switch (nu) {
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ ((!Array.isArray(Ot[Kt]) || Ot[Kt].length > 0) && Ot[Kt - 1].push(Ot[Kt]),
+ (this.$ = Ot[Kt - 1]));
+ break;
+ case 4:
+ case 176:
+ this.$ = Ot[Kt];
+ break;
+ case 11:
+ (ui.setDirection('TB'), (this.$ = 'TB'));
+ break;
+ case 12:
+ (ui.setDirection(Ot[Kt - 1]), (this.$ = Ot[Kt - 1]));
+ break;
+ case 27:
+ this.$ = Ot[Kt - 1].nodes;
+ break;
+ case 28:
+ case 29:
+ case 30:
+ case 31:
+ case 32:
+ this.$ = [];
+ break;
+ case 33:
+ this.$ = ui.addSubGraph(Ot[Kt - 6], Ot[Kt - 1], Ot[Kt - 4]);
+ break;
+ case 34:
+ this.$ = ui.addSubGraph(Ot[Kt - 3], Ot[Kt - 1], Ot[Kt - 3]);
+ break;
+ case 35:
+ this.$ = ui.addSubGraph(void 0, Ot[Kt - 1], void 0);
+ break;
+ case 37:
+ ((this.$ = Ot[Kt].trim()), ui.setAccTitle(this.$));
+ break;
+ case 38:
+ case 39:
+ ((this.$ = Ot[Kt].trim()), ui.setAccDescription(this.$));
+ break;
+ case 43:
+ (ui.addLink(Ot[Kt - 2].stmt, Ot[Kt], Ot[Kt - 1]),
+ (this.$ = { stmt: Ot[Kt], nodes: Ot[Kt].concat(Ot[Kt - 2].nodes) }));
+ break;
+ case 44:
+ (ui.addLink(Ot[Kt - 3].stmt, Ot[Kt - 1], Ot[Kt - 2]),
+ (this.$ = { stmt: Ot[Kt - 1], nodes: Ot[Kt - 1].concat(Ot[Kt - 3].nodes) }));
+ break;
+ case 45:
+ this.$ = { stmt: Ot[Kt - 1], nodes: Ot[Kt - 1] };
+ break;
+ case 46:
+ this.$ = { stmt: Ot[Kt], nodes: Ot[Kt] };
+ break;
+ case 47:
+ this.$ = [Ot[Kt]];
+ break;
+ case 48:
+ this.$ = Ot[Kt - 4].concat(Ot[Kt]);
+ break;
+ case 49:
+ this.$ = Ot[Kt];
+ break;
+ case 50:
+ ((this.$ = Ot[Kt - 2]), ui.setClass(Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 51:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'square'));
+ break;
+ case 52:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'doublecircle'));
+ break;
+ case 53:
+ ((this.$ = Ot[Kt - 5]), ui.addVertex(Ot[Kt - 5], Ot[Kt - 2], 'circle'));
+ break;
+ case 54:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'ellipse'));
+ break;
+ case 55:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'stadium'));
+ break;
+ case 56:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'subroutine'));
+ break;
+ case 57:
+ ((this.$ = Ot[Kt - 7]),
+ ui.addVertex(
+ Ot[Kt - 7],
+ Ot[Kt - 1],
+ 'rect',
+ void 0,
+ void 0,
+ void 0,
+ Object.fromEntries([[Ot[Kt - 5], Ot[Kt - 3]]]),
+ ));
+ break;
+ case 58:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'cylinder'));
+ break;
+ case 59:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'round'));
+ break;
+ case 60:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'diamond'));
+ break;
+ case 61:
+ ((this.$ = Ot[Kt - 5]), ui.addVertex(Ot[Kt - 5], Ot[Kt - 2], 'hexagon'));
+ break;
+ case 62:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'odd'));
+ break;
+ case 63:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'trapezoid'));
+ break;
+ case 64:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'inv_trapezoid'));
+ break;
+ case 65:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'lean_right'));
+ break;
+ case 66:
+ ((this.$ = Ot[Kt - 3]), ui.addVertex(Ot[Kt - 3], Ot[Kt - 1], 'lean_left'));
+ break;
+ case 67:
+ ((this.$ = Ot[Kt]), ui.addVertex(Ot[Kt]));
+ break;
+ case 68:
+ ((Ot[Kt - 1].text = Ot[Kt]), (this.$ = Ot[Kt - 1]));
+ break;
+ case 69:
+ case 70:
+ ((Ot[Kt - 2].text = Ot[Kt - 1]), (this.$ = Ot[Kt - 2]));
+ break;
+ case 71:
+ this.$ = Ot[Kt];
+ break;
+ case 72:
+ var R0 = ui.destructLink(Ot[Kt], Ot[Kt - 2]);
+ this.$ = { type: R0.type, stroke: R0.stroke, length: R0.length, text: Ot[Kt - 1] };
+ break;
+ case 73:
+ this.$ = { text: Ot[Kt], type: 'text' };
+ break;
+ case 74:
+ this.$ = { text: Ot[Kt - 1].text + '' + Ot[Kt], type: Ot[Kt - 1].type };
+ break;
+ case 75:
+ this.$ = { text: Ot[Kt], type: 'string' };
+ break;
+ case 76:
+ this.$ = { text: Ot[Kt], type: 'markdown' };
+ break;
+ case 77:
+ var R0 = ui.destructLink(Ot[Kt]);
+ this.$ = { type: R0.type, stroke: R0.stroke, length: R0.length };
+ break;
+ case 78:
+ this.$ = Ot[Kt - 1];
+ break;
+ case 79:
+ this.$ = { text: Ot[Kt], type: 'text' };
+ break;
+ case 80:
+ this.$ = { text: Ot[Kt - 1].text + '' + Ot[Kt], type: Ot[Kt - 1].type };
+ break;
+ case 81:
+ this.$ = { text: Ot[Kt], type: 'string' };
+ break;
+ case 82:
+ case 97:
+ this.$ = { text: Ot[Kt], type: 'markdown' };
+ break;
+ case 94:
+ this.$ = { text: Ot[Kt], type: 'text' };
+ break;
+ case 95:
+ this.$ = { text: Ot[Kt - 1].text + '' + Ot[Kt], type: Ot[Kt - 1].type };
+ break;
+ case 96:
+ this.$ = { text: Ot[Kt], type: 'text' };
+ break;
+ case 98:
+ ((this.$ = Ot[Kt - 4]), ui.addClass(Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 99:
+ ((this.$ = Ot[Kt - 4]), ui.setClass(Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 100:
+ case 108:
+ ((this.$ = Ot[Kt - 1]), ui.setClickEvent(Ot[Kt - 1], Ot[Kt]));
+ break;
+ case 101:
+ case 109:
+ ((this.$ = Ot[Kt - 3]),
+ ui.setClickEvent(Ot[Kt - 3], Ot[Kt - 2]),
+ ui.setTooltip(Ot[Kt - 3], Ot[Kt]));
+ break;
+ case 102:
+ ((this.$ = Ot[Kt - 2]), ui.setClickEvent(Ot[Kt - 2], Ot[Kt - 1], Ot[Kt]));
+ break;
+ case 103:
+ ((this.$ = Ot[Kt - 4]),
+ ui.setClickEvent(Ot[Kt - 4], Ot[Kt - 3], Ot[Kt - 2]),
+ ui.setTooltip(Ot[Kt - 4], Ot[Kt]));
+ break;
+ case 104:
+ ((this.$ = Ot[Kt - 2]), ui.setLink(Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 105:
+ ((this.$ = Ot[Kt - 4]),
+ ui.setLink(Ot[Kt - 4], Ot[Kt - 2]),
+ ui.setTooltip(Ot[Kt - 4], Ot[Kt]));
+ break;
+ case 106:
+ ((this.$ = Ot[Kt - 4]), ui.setLink(Ot[Kt - 4], Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 107:
+ ((this.$ = Ot[Kt - 6]),
+ ui.setLink(Ot[Kt - 6], Ot[Kt - 4], Ot[Kt]),
+ ui.setTooltip(Ot[Kt - 6], Ot[Kt - 2]));
+ break;
+ case 110:
+ ((this.$ = Ot[Kt - 1]), ui.setLink(Ot[Kt - 1], Ot[Kt]));
+ break;
+ case 111:
+ ((this.$ = Ot[Kt - 3]),
+ ui.setLink(Ot[Kt - 3], Ot[Kt - 2]),
+ ui.setTooltip(Ot[Kt - 3], Ot[Kt]));
+ break;
+ case 112:
+ ((this.$ = Ot[Kt - 3]), ui.setLink(Ot[Kt - 3], Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 113:
+ ((this.$ = Ot[Kt - 5]),
+ ui.setLink(Ot[Kt - 5], Ot[Kt - 4], Ot[Kt]),
+ ui.setTooltip(Ot[Kt - 5], Ot[Kt - 2]));
+ break;
+ case 114:
+ ((this.$ = Ot[Kt - 4]), ui.addVertex(Ot[Kt - 2], void 0, void 0, Ot[Kt]));
+ break;
+ case 115:
+ ((this.$ = Ot[Kt - 4]), ui.updateLink([Ot[Kt - 2]], Ot[Kt]));
+ break;
+ case 116:
+ ((this.$ = Ot[Kt - 4]), ui.updateLink(Ot[Kt - 2], Ot[Kt]));
+ break;
+ case 117:
+ ((this.$ = Ot[Kt - 8]),
+ ui.updateLinkInterpolate([Ot[Kt - 6]], Ot[Kt - 2]),
+ ui.updateLink([Ot[Kt - 6]], Ot[Kt]));
+ break;
+ case 118:
+ ((this.$ = Ot[Kt - 8]),
+ ui.updateLinkInterpolate(Ot[Kt - 6], Ot[Kt - 2]),
+ ui.updateLink(Ot[Kt - 6], Ot[Kt]));
+ break;
+ case 119:
+ ((this.$ = Ot[Kt - 6]), ui.updateLinkInterpolate([Ot[Kt - 4]], Ot[Kt]));
+ break;
+ case 120:
+ ((this.$ = Ot[Kt - 6]), ui.updateLinkInterpolate(Ot[Kt - 4], Ot[Kt]));
+ break;
+ case 121:
+ case 123:
+ this.$ = [Ot[Kt]];
+ break;
+ case 122:
+ case 124:
+ (Ot[Kt - 2].push(Ot[Kt]), (this.$ = Ot[Kt - 2]));
+ break;
+ case 126:
+ this.$ = Ot[Kt - 1] + Ot[Kt];
+ break;
+ case 174:
+ this.$ = Ot[Kt];
+ break;
+ case 175:
+ this.$ = Ot[Kt - 1] + '' + Ot[Kt];
+ break;
+ case 177:
+ this.$ = Ot[Kt - 1] + '' + Ot[Kt];
+ break;
+ case 178:
+ this.$ = { stmt: 'dir', value: 'TB' };
+ break;
+ case 179:
+ this.$ = { stmt: 'dir', value: 'BT' };
+ break;
+ case 180:
+ this.$ = { stmt: 'dir', value: 'RL' };
+ break;
+ case 181:
+ this.$ = { stmt: 'dir', value: 'LR' };
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: 2, 9: s, 10: u, 12: d },
+ { 1: [3] },
+ i(p, v, { 5: 6 }),
+ { 4: 7, 9: s, 10: u, 12: d },
+ { 4: 8, 9: s, 10: u, 12: d },
+ { 13: [1, 9], 14: [1, 10] },
+ {
+ 1: [2, 1],
+ 6: 11,
+ 7: 12,
+ 8: b,
+ 9: y,
+ 10: T,
+ 11: _,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: A,
+ 33: 24,
+ 34: P,
+ 36: R,
+ 38: F,
+ 40: 28,
+ 41: 38,
+ 42: j,
+ 43: 39,
+ 45: 40,
+ 58: W,
+ 81: ee,
+ 82: ie,
+ 83: oe,
+ 84: be,
+ 85: ge,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ 118: Be,
+ 119: Ne,
+ 120: je,
+ 121: Ie,
+ },
+ i(p, [2, 9]),
+ i(p, [2, 10]),
+ i(p, [2, 11]),
+ { 8: [1, 54], 9: [1, 55], 10: Se, 15: 53, 18: 56 },
+ i(Ce, [2, 3]),
+ i(Ce, [2, 4]),
+ i(Ce, [2, 5]),
+ i(Ce, [2, 6]),
+ i(Ce, [2, 7]),
+ i(Ce, [2, 8]),
+ { 8: ke, 9: Ke, 11: Ft, 21: 58, 39: 59, 70: 63, 73: [1, 64], 75: [1, 65] },
+ { 8: ke, 9: Ke, 11: Ft, 21: 66 },
+ { 8: ke, 9: Ke, 11: Ft, 21: 67 },
+ { 8: ke, 9: Ke, 11: Ft, 21: 68 },
+ { 8: ke, 9: Ke, 11: Ft, 21: 69 },
+ { 8: ke, 9: Ke, 11: Ft, 21: 70 },
+ { 8: ke, 9: Ke, 10: [1, 71], 11: Ft, 21: 72 },
+ i(Ce, [2, 36]),
+ { 35: [1, 73] },
+ { 37: [1, 74] },
+ i(Ce, [2, 39]),
+ i(Pe, [2, 46], { 18: 75, 10: Se }),
+ { 10: [1, 76] },
+ { 10: [1, 77] },
+ { 10: [1, 78] },
+ { 10: [1, 79] },
+ {
+ 14: gn,
+ 42: kt,
+ 58: Et,
+ 77: [1, 83],
+ 86: Gt,
+ 92: [1, 80],
+ 94: [1, 81],
+ 98: 82,
+ 102: ln,
+ 103: xt,
+ 106: Pt,
+ 108: Ze,
+ 111: At,
+ 112: Tt,
+ 113: On,
+ 117: 84,
+ },
+ i(Ce, [2, 178]),
+ i(Ce, [2, 179]),
+ i(Ce, [2, 180]),
+ i(Ce, [2, 181]),
+ i(ht, [2, 47]),
+ i(ht, [2, 49], { 44: [1, 96] }),
+ i(zr, [2, 67], {
+ 110: 109,
+ 29: [1, 97],
+ 42: j,
+ 46: [1, 98],
+ 48: [1, 99],
+ 50: [1, 100],
+ 52: [1, 101],
+ 54: [1, 102],
+ 56: [1, 103],
+ 58: W,
+ 61: [1, 104],
+ 63: [1, 105],
+ 65: [1, 106],
+ 66: [1, 107],
+ 68: [1, 108],
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 111: G,
+ 112: xe,
+ 113: U,
+ }),
+ i(yt, [2, 174]),
+ i(yt, [2, 135]),
+ i(yt, [2, 136]),
+ i(yt, [2, 137]),
+ i(yt, [2, 138]),
+ i(yt, [2, 139]),
+ i(yt, [2, 140]),
+ i(yt, [2, 141]),
+ i(yt, [2, 142]),
+ i(yt, [2, 143]),
+ i(yt, [2, 144]),
+ i(yt, [2, 145]),
+ i(p, [2, 12]),
+ i(p, [2, 18]),
+ i(p, [2, 19]),
+ { 9: [1, 110] },
+ i(Fi, [2, 26], { 18: 111, 10: Se }),
+ i(Ce, [2, 27]),
+ {
+ 40: 112,
+ 41: 38,
+ 42: j,
+ 43: 39,
+ 45: 40,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ i(Ce, [2, 40]),
+ i(Ce, [2, 41]),
+ i(Ce, [2, 42]),
+ i(yi, [2, 71], { 71: 113, 60: [1, 115], 72: [1, 114] }),
+ { 74: 116, 76: 117, 77: [1, 118], 78: [1, 119], 113: Ba, 116: na },
+ i([42, 58, 60, 72, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 77]),
+ i(Ce, [2, 28]),
+ i(Ce, [2, 29]),
+ i(Ce, [2, 30]),
+ i(Ce, [2, 31]),
+ i(Ce, [2, 32]),
+ {
+ 10: Ro,
+ 12: _r,
+ 14: Nn,
+ 27: $n,
+ 28: 122,
+ 32: qn,
+ 42: Lt,
+ 58: wt,
+ 73: cn,
+ 77: [1, 124],
+ 78: [1, 125],
+ 80: 135,
+ 81: fn,
+ 82: Mn,
+ 83: mo,
+ 84: Io,
+ 85: Xa,
+ 86: ua,
+ 87: Oo,
+ 88: 123,
+ 102: Ts,
+ 106: nl,
+ 108: Zo,
+ 111: id,
+ 112: gm,
+ 113: qu,
+ },
+ i(lu, v, { 5: 148 }),
+ i(Ce, [2, 37]),
+ i(Ce, [2, 38]),
+ i(Pe, [2, 45], { 42: Xc }),
+ {
+ 42: j,
+ 45: 150,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ { 99: [1, 151], 100: 152, 102: [1, 153] },
+ {
+ 42: j,
+ 45: 154,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ {
+ 42: j,
+ 45: 155,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ i(Cs, [2, 100], { 10: [1, 156], 93: [1, 157] }),
+ { 77: [1, 158] },
+ i(Cs, [2, 108], {
+ 117: 160,
+ 10: [1, 159],
+ 14: gn,
+ 42: kt,
+ 58: Et,
+ 86: Gt,
+ 102: ln,
+ 103: xt,
+ 106: Pt,
+ 108: Ze,
+ 111: At,
+ 112: Tt,
+ 113: On,
+ }),
+ i(Cs, [2, 110], { 10: [1, 161] }),
+ i(Bc, [2, 176]),
+ i(Bc, [2, 163]),
+ i(Bc, [2, 164]),
+ i(Bc, [2, 165]),
+ i(Bc, [2, 166]),
+ i(Bc, [2, 167]),
+ i(Bc, [2, 168]),
+ i(Bc, [2, 169]),
+ i(Bc, [2, 170]),
+ i(Bc, [2, 171]),
+ i(Bc, [2, 172]),
+ i(Bc, [2, 173]),
+ {
+ 42: j,
+ 45: 162,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ { 30: 163, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 171, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 173, 48: [1, 172], 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 174, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 175, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 176, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 106: [1, 177] },
+ { 30: 178, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 179, 63: [1, 180], 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 181, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 182, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 30: 183, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ i(yt, [2, 175]),
+ i(p, [2, 20]),
+ i(Fi, [2, 25]),
+ i(Pe, [2, 43], { 18: 184, 10: Se }),
+ i(yi, [2, 68], { 10: [1, 185] }),
+ { 10: [1, 186] },
+ { 30: 187, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 75: [1, 188], 76: 189, 113: Ba, 116: na },
+ i(wu, [2, 73]),
+ i(wu, [2, 75]),
+ i(wu, [2, 76]),
+ i(wu, [2, 161]),
+ i(wu, [2, 162]),
+ {
+ 8: ke,
+ 9: Ke,
+ 10: Ro,
+ 11: Ft,
+ 12: _r,
+ 14: Nn,
+ 21: 191,
+ 27: $n,
+ 29: [1, 190],
+ 32: qn,
+ 42: Lt,
+ 58: wt,
+ 73: cn,
+ 80: 135,
+ 81: fn,
+ 82: Mn,
+ 83: mo,
+ 84: Io,
+ 85: Xa,
+ 86: ua,
+ 87: Oo,
+ 88: 192,
+ 102: Ts,
+ 106: nl,
+ 108: Zo,
+ 111: id,
+ 112: gm,
+ 113: qu,
+ },
+ i(Fc, [2, 94]),
+ i(Fc, [2, 96]),
+ i(Fc, [2, 97]),
+ i(Fc, [2, 150]),
+ i(Fc, [2, 151]),
+ i(Fc, [2, 152]),
+ i(Fc, [2, 153]),
+ i(Fc, [2, 154]),
+ i(Fc, [2, 155]),
+ i(Fc, [2, 156]),
+ i(Fc, [2, 157]),
+ i(Fc, [2, 158]),
+ i(Fc, [2, 159]),
+ i(Fc, [2, 160]),
+ i(Fc, [2, 83]),
+ i(Fc, [2, 84]),
+ i(Fc, [2, 85]),
+ i(Fc, [2, 86]),
+ i(Fc, [2, 87]),
+ i(Fc, [2, 88]),
+ i(Fc, [2, 89]),
+ i(Fc, [2, 90]),
+ i(Fc, [2, 91]),
+ i(Fc, [2, 92]),
+ i(Fc, [2, 93]),
+ {
+ 6: 11,
+ 7: 12,
+ 8: b,
+ 9: y,
+ 10: T,
+ 11: _,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: A,
+ 32: [1, 193],
+ 33: 24,
+ 34: P,
+ 36: R,
+ 38: F,
+ 40: 28,
+ 41: 38,
+ 42: j,
+ 43: 39,
+ 45: 40,
+ 58: W,
+ 81: ee,
+ 82: ie,
+ 83: oe,
+ 84: be,
+ 85: ge,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ 118: Be,
+ 119: Ne,
+ 120: je,
+ 121: Ie,
+ },
+ { 10: Se, 18: 194 },
+ {
+ 10: [1, 195],
+ 42: j,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 109,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ { 10: [1, 196] },
+ { 10: [1, 197], 103: [1, 198] },
+ i(a5, [2, 121]),
+ {
+ 10: [1, 199],
+ 42: j,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 109,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ {
+ 10: [1, 200],
+ 42: j,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 109,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ { 77: [1, 201] },
+ i(Cs, [2, 102], { 10: [1, 202] }),
+ i(Cs, [2, 104], { 10: [1, 203] }),
+ { 77: [1, 204] },
+ i(Bc, [2, 177]),
+ { 77: [1, 205], 95: [1, 206] },
+ i(ht, [2, 50], {
+ 110: 109,
+ 42: j,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 111: G,
+ 112: xe,
+ 113: U,
+ }),
+ { 31: [1, 207], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ i(jg, [2, 79]),
+ i(jg, [2, 81]),
+ i(jg, [2, 82]),
+ i(jg, [2, 146]),
+ i(jg, [2, 147]),
+ i(jg, [2, 148]),
+ i(jg, [2, 149]),
+ { 47: [1, 209], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 30: 210, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 49: [1, 211], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 51: [1, 212], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 53: [1, 213], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 55: [1, 214], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 58: [1, 215] },
+ { 62: [1, 216], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 64: [1, 217], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 30: 218, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ { 31: [1, 219], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 65: Ma, 67: [1, 220], 69: [1, 221], 79: 208, 113: Qa, 114: ja, 115: ka },
+ { 65: Ma, 67: [1, 223], 69: [1, 222], 79: 208, 113: Qa, 114: ja, 115: ka },
+ i(Pe, [2, 44], { 42: Xc }),
+ i(yi, [2, 70]),
+ i(yi, [2, 69]),
+ { 60: [1, 224], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ i(yi, [2, 72]),
+ i(wu, [2, 74]),
+ { 30: 225, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ i(lu, v, { 5: 226 }),
+ i(Fc, [2, 95]),
+ i(Ce, [2, 35]),
+ {
+ 41: 227,
+ 42: j,
+ 43: 39,
+ 45: 40,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 89: 228,
+ 102: Vd,
+ 104: 229,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 89: 239,
+ 101: [1, 240],
+ 102: Vd,
+ 104: 229,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 89: 241,
+ 101: [1, 242],
+ 102: Vd,
+ 104: 229,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ { 102: [1, 243] },
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 89: 244,
+ 102: Vd,
+ 104: 229,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ {
+ 42: j,
+ 45: 245,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ },
+ i(Cs, [2, 101]),
+ { 77: [1, 246] },
+ { 77: [1, 247], 95: [1, 248] },
+ i(Cs, [2, 109]),
+ i(Cs, [2, 111], { 10: [1, 249] }),
+ i(Cs, [2, 112]),
+ i(zr, [2, 51]),
+ i(jg, [2, 80]),
+ i(zr, [2, 52]),
+ { 49: [1, 250], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ i(zr, [2, 59]),
+ i(zr, [2, 54]),
+ i(zr, [2, 55]),
+ i(zr, [2, 56]),
+ { 106: [1, 251] },
+ i(zr, [2, 58]),
+ i(zr, [2, 60]),
+ { 64: [1, 252], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ i(zr, [2, 62]),
+ i(zr, [2, 63]),
+ i(zr, [2, 65]),
+ i(zr, [2, 64]),
+ i(zr, [2, 66]),
+ i([10, 42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 78]),
+ { 31: [1, 253], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ {
+ 6: 11,
+ 7: 12,
+ 8: b,
+ 9: y,
+ 10: T,
+ 11: _,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: A,
+ 32: [1, 254],
+ 33: 24,
+ 34: P,
+ 36: R,
+ 38: F,
+ 40: 28,
+ 41: 38,
+ 42: j,
+ 43: 39,
+ 45: 40,
+ 58: W,
+ 81: ee,
+ 82: ie,
+ 83: oe,
+ 84: be,
+ 85: ge,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ 118: Be,
+ 119: Ne,
+ 120: je,
+ 121: Ie,
+ },
+ i(ht, [2, 48]),
+ i(Cs, [2, 114], { 103: bs }),
+ i(pn, [2, 123], {
+ 105: 256,
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 102: Vd,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ }),
+ i(Zr, [2, 125]),
+ i(Zr, [2, 127]),
+ i(Zr, [2, 128]),
+ i(Zr, [2, 129]),
+ i(Zr, [2, 130]),
+ i(Zr, [2, 131]),
+ i(Zr, [2, 132]),
+ i(Zr, [2, 133]),
+ i(Zr, [2, 134]),
+ i(Cs, [2, 115], { 103: bs }),
+ { 10: [1, 257] },
+ i(Cs, [2, 116], { 103: bs }),
+ { 10: [1, 258] },
+ i(a5, [2, 122]),
+ i(Cs, [2, 98], { 103: bs }),
+ i(Cs, [2, 99], {
+ 110: 109,
+ 42: j,
+ 58: W,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 111: G,
+ 112: xe,
+ 113: U,
+ }),
+ i(Cs, [2, 103]),
+ i(Cs, [2, 105], { 10: [1, 259] }),
+ i(Cs, [2, 106]),
+ { 95: [1, 260] },
+ { 49: [1, 261] },
+ { 60: [1, 262] },
+ { 64: [1, 263] },
+ { 8: ke, 9: Ke, 11: Ft, 21: 264 },
+ i(Ce, [2, 34]),
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 102: Vd,
+ 104: 265,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ i(Zr, [2, 126]),
+ {
+ 14: gn,
+ 42: kt,
+ 58: Et,
+ 86: Gt,
+ 98: 266,
+ 102: ln,
+ 103: xt,
+ 106: Pt,
+ 108: Ze,
+ 111: At,
+ 112: Tt,
+ 113: On,
+ 117: 84,
+ },
+ {
+ 14: gn,
+ 42: kt,
+ 58: Et,
+ 86: Gt,
+ 98: 267,
+ 102: ln,
+ 103: xt,
+ 106: Pt,
+ 108: Ze,
+ 111: At,
+ 112: Tt,
+ 113: On,
+ 117: 84,
+ },
+ { 95: [1, 268] },
+ i(Cs, [2, 113]),
+ i(zr, [2, 53]),
+ { 30: 269, 65: Ma, 77: No, 78: vc, 79: 164, 113: Qa, 114: ja, 115: ka },
+ i(zr, [2, 61]),
+ i(lu, v, { 5: 270 }),
+ i(pn, [2, 124], {
+ 105: 256,
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 102: Vd,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ }),
+ i(Cs, [2, 119], {
+ 117: 160,
+ 10: [1, 271],
+ 14: gn,
+ 42: kt,
+ 58: Et,
+ 86: Gt,
+ 102: ln,
+ 103: xt,
+ 106: Pt,
+ 108: Ze,
+ 111: At,
+ 112: Tt,
+ 113: On,
+ }),
+ i(Cs, [2, 120], {
+ 117: 160,
+ 10: [1, 272],
+ 14: gn,
+ 42: kt,
+ 58: Et,
+ 86: Gt,
+ 102: ln,
+ 103: xt,
+ 106: Pt,
+ 108: Ze,
+ 111: At,
+ 112: Tt,
+ 113: On,
+ }),
+ i(Cs, [2, 107]),
+ { 31: [1, 273], 65: Ma, 79: 208, 113: Qa, 114: ja, 115: ka },
+ {
+ 6: 11,
+ 7: 12,
+ 8: b,
+ 9: y,
+ 10: T,
+ 11: _,
+ 20: 17,
+ 22: 18,
+ 23: 19,
+ 24: 20,
+ 25: 21,
+ 26: 22,
+ 27: A,
+ 32: [1, 274],
+ 33: 24,
+ 34: P,
+ 36: R,
+ 38: F,
+ 40: 28,
+ 41: 38,
+ 42: j,
+ 43: 39,
+ 45: 40,
+ 58: W,
+ 81: ee,
+ 82: ie,
+ 83: oe,
+ 84: be,
+ 85: ge,
+ 86: ae,
+ 99: ne,
+ 102: se,
+ 103: de,
+ 106: X,
+ 108: pe,
+ 110: 41,
+ 111: G,
+ 112: xe,
+ 113: U,
+ 118: Be,
+ 119: Ne,
+ 120: je,
+ 121: Ie,
+ },
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 89: 275,
+ 102: Vd,
+ 104: 229,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ {
+ 10: b1,
+ 58: Hd,
+ 81: ch,
+ 89: 276,
+ 102: Vd,
+ 104: 229,
+ 105: 230,
+ 106: Ud,
+ 107: Gd,
+ 108: sd,
+ 109: F0,
+ },
+ i(zr, [2, 57]),
+ i(Ce, [2, 33]),
+ i(Cs, [2, 117], { 103: bs }),
+ i(Cs, [2, 118], { 103: bs }),
+ ],
+ defaultActions: {},
+ parseError: function (Wi, ls) {
+ if (ls.recoverable) this.trace(Wi);
+ else {
+ var Da = new Error(Wi);
+ throw ((Da.hash = ls), Da);
+ }
+ },
+ parse: function (Wi) {
+ var ls = this,
+ Da = [0],
+ ui = [],
+ nu = [null],
+ Ot = [],
+ W3 = this.table,
+ Kt = '',
+ R0 = 0,
+ Fp = 0,
+ Y3 = 2,
+ j9 = 1,
+ o5 = Ot.slice.call(arguments, 1),
+ Ch = Object.create(this.lexer),
+ $g = { yy: {} };
+ for (var pm in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, pm) && ($g.yy[pm] = this.yy[pm]);
+ (Ch.setInput(Wi, $g.yy),
+ ($g.yy.lexer = Ch),
+ ($g.yy.parser = this),
+ typeof Ch.yylloc > 'u' && (Ch.yylloc = {}));
+ var $9 = Ch.yylloc;
+ Ot.push($9);
+ var bm = Ch.options && Ch.options.ranges;
+ typeof $g.yy.parseError == 'function'
+ ? (this.parseError = $g.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function c5() {
+ var Rp;
+ return (
+ (Rp = ui.pop() || Ch.lex() || j9),
+ typeof Rp != 'number' &&
+ (Rp instanceof Array && ((ui = Rp), (Rp = ui.pop())), (Rp = ls.symbols_[Rp] || Rp)),
+ Rp
+ );
+ }
+ for (var m1, ad, od, z9, Uv = {}, W7, K2, Y7, u5; ; ) {
+ if (
+ ((ad = Da[Da.length - 1]),
+ this.defaultActions[ad]
+ ? (od = this.defaultActions[ad])
+ : ((m1 === null || typeof m1 > 'u') && (m1 = c5()), (od = W3[ad] && W3[ad][m1])),
+ typeof od > 'u' || !od.length || !od[0])
+ ) {
+ var X3 = '';
+ u5 = [];
+ for (W7 in W3[ad])
+ this.terminals_[W7] && W7 > Y3 && u5.push("'" + this.terminals_[W7] + "'");
+ (Ch.showPosition
+ ? (X3 =
+ 'Parse error on line ' +
+ (R0 + 1) +
+ `:
+` +
+ Ch.showPosition() +
+ `
+Expecting ` +
+ u5.join(', ') +
+ ", got '" +
+ (this.terminals_[m1] || m1) +
+ "'")
+ : (X3 =
+ 'Parse error on line ' +
+ (R0 + 1) +
+ ': Unexpected ' +
+ (m1 == j9 ? 'end of input' : "'" + (this.terminals_[m1] || m1) + "'")),
+ this.parseError(X3, {
+ text: Ch.match,
+ token: this.terminals_[m1] || m1,
+ line: Ch.yylineno,
+ loc: $9,
+ expected: u5,
+ }));
+ }
+ if (od[0] instanceof Array && od.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + ad + ', token: ' + m1,
+ );
+ switch (od[0]) {
+ case 1:
+ (Da.push(m1),
+ nu.push(Ch.yytext),
+ Ot.push(Ch.yylloc),
+ Da.push(od[1]),
+ (m1 = null),
+ (Fp = Ch.yyleng),
+ (Kt = Ch.yytext),
+ (R0 = Ch.yylineno),
+ ($9 = Ch.yylloc));
+ break;
+ case 2:
+ if (
+ ((K2 = this.productions_[od[1]][1]),
+ (Uv.$ = nu[nu.length - K2]),
+ (Uv._$ = {
+ first_line: Ot[Ot.length - (K2 || 1)].first_line,
+ last_line: Ot[Ot.length - 1].last_line,
+ first_column: Ot[Ot.length - (K2 || 1)].first_column,
+ last_column: Ot[Ot.length - 1].last_column,
+ }),
+ bm &&
+ (Uv._$.range = [
+ Ot[Ot.length - (K2 || 1)].range[0],
+ Ot[Ot.length - 1].range[1],
+ ]),
+ (z9 = this.performAction.apply(
+ Uv,
+ [Kt, Fp, R0, $g.yy, od[1], nu, Ot].concat(o5),
+ )),
+ typeof z9 < 'u')
+ )
+ return z9;
+ (K2 &&
+ ((Da = Da.slice(0, -1 * K2 * 2)),
+ (nu = nu.slice(0, -1 * K2)),
+ (Ot = Ot.slice(0, -1 * K2))),
+ Da.push(this.productions_[od[1]][0]),
+ nu.push(Uv.$),
+ Ot.push(Uv._$),
+ (Y7 = W3[Da[Da.length - 2]][Da[Da.length - 1]]),
+ Da.push(Y7));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ hu = (function () {
+ var yu = {
+ EOF: 1,
+ parseError: function (ls, Da) {
+ if (this.yy.parser) this.yy.parser.parseError(ls, Da);
+ else throw new Error(ls);
+ },
+ setInput: function (Wi, ls) {
+ return (
+ (this.yy = ls || this.yy || {}),
+ (this._input = Wi),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var Wi = this._input[0];
+ ((this.yytext += Wi),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Wi),
+ (this.matched += Wi));
+ var ls = Wi.match(/(?:\r\n?|\n).*/g);
+ return (
+ ls ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Wi
+ );
+ },
+ unput: function (Wi) {
+ var ls = Wi.length,
+ Da = Wi.split(/(?:\r\n?|\n)/g);
+ ((this._input = Wi + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - ls)),
+ (this.offset -= ls));
+ var ui = 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)),
+ Da.length - 1 && (this.yylineno -= Da.length - 1));
+ var nu = 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: Da
+ ? (Da.length === ui.length ? this.yylloc.first_column : 0) +
+ ui[ui.length - Da.length].length -
+ Da[0].length
+ : this.yylloc.first_column - ls,
+ }),
+ this.options.ranges && (this.yylloc.range = [nu[0], nu[0] + this.yyleng - ls]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (Wi) {
+ this.unput(this.match.slice(Wi));
+ },
+ pastInput: function () {
+ var Wi = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Wi.length > 20 ? '...' : '') + Wi.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var Wi = this.match;
+ return (
+ Wi.length < 20 && (Wi += this._input.substr(0, 20 - Wi.length)),
+ (Wi.substr(0, 20) + (Wi.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var Wi = this.pastInput(),
+ ls = new Array(Wi.length + 1).join('-');
+ return (
+ Wi +
+ this.upcomingInput() +
+ `
+` +
+ ls +
+ '^'
+ );
+ },
+ test_match: function (Wi, ls) {
+ var Da, ui, nu;
+ if (
+ (this.options.backtrack_lexer &&
+ ((nu = {
+ 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 && (nu.yylloc.range = this.yylloc.range.slice(0))),
+ (ui = Wi[0].match(/(?:\r\n?|\n).*/g)),
+ ui && (this.yylineno += ui.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: ui
+ ? ui[ui.length - 1].length - ui[ui.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Wi[0].length,
+ }),
+ (this.yytext += Wi[0]),
+ (this.match += Wi[0]),
+ (this.matches = Wi),
+ (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(Wi[0].length)),
+ (this.matched += Wi[0]),
+ (Da = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ ls,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ Da)
+ )
+ return Da;
+ if (this._backtrack) {
+ for (var Ot in nu) this[Ot] = nu[Ot];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Wi, ls, Da, ui;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var nu = this._currentRules(), Ot = 0; Ot < nu.length; Ot++)
+ if (
+ ((Da = this._input.match(this.rules[nu[Ot]])),
+ Da && (!ls || Da[0].length > ls[0].length))
+ ) {
+ if (((ls = Da), (ui = Ot), this.options.backtrack_lexer)) {
+ if (((Wi = this.test_match(Da, nu[Ot])), Wi !== !1)) return Wi;
+ if (this._backtrack) {
+ ls = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return ls
+ ? ((Wi = this.test_match(ls, nu[ui])), Wi !== !1 ? Wi : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var ls = this.next();
+ return ls || this.lex();
+ },
+ begin: function (ls) {
+ this.conditionStack.push(ls);
+ },
+ popState: function () {
+ var ls = this.conditionStack.length - 1;
+ return ls > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (ls) {
+ return (
+ (ls = this.conditionStack.length - 1 - Math.abs(ls || 0)),
+ ls >= 0 ? this.conditionStack[ls] : 'INITIAL'
+ );
+ },
+ pushState: function (ls) {
+ this.begin(ls);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: {},
+ performAction: function (ls, Da, ui, nu) {
+ switch (ui) {
+ case 0:
+ return (this.begin('acc_title'), 34);
+ case 1:
+ return (this.popState(), 'acc_title_value');
+ case 2:
+ return (this.begin('acc_descr'), 36);
+ case 3:
+ return (this.popState(), 'acc_descr_value');
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ this.begin('callbackname');
+ break;
+ case 8:
+ this.popState();
+ break;
+ case 9:
+ (this.popState(), this.begin('callbackargs'));
+ break;
+ case 10:
+ return 92;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 93;
+ case 13:
+ return 'MD_STR';
+ case 14:
+ this.popState();
+ break;
+ case 15:
+ this.begin('md_string');
+ break;
+ case 16:
+ return 'STR';
+ case 17:
+ this.popState();
+ break;
+ case 18:
+ this.pushState('string');
+ break;
+ case 19:
+ return 81;
+ case 20:
+ return 99;
+ case 21:
+ return 82;
+ case 22:
+ return 101;
+ case 23:
+ return 83;
+ case 24:
+ return 84;
+ case 25:
+ return 94;
+ case 26:
+ this.begin('click');
+ break;
+ case 27:
+ this.popState();
+ break;
+ case 28:
+ return 85;
+ case 29:
+ return (ls.lex.firstGraph() && this.begin('dir'), 12);
+ case 30:
+ return (ls.lex.firstGraph() && this.begin('dir'), 12);
+ case 31:
+ return (ls.lex.firstGraph() && this.begin('dir'), 12);
+ case 32:
+ return 27;
+ case 33:
+ return 32;
+ case 34:
+ return 95;
+ case 35:
+ return 95;
+ case 36:
+ return 95;
+ case 37:
+ return 95;
+ case 38:
+ return (this.popState(), 13);
+ case 39:
+ return (this.popState(), 14);
+ case 40:
+ return (this.popState(), 14);
+ case 41:
+ return (this.popState(), 14);
+ case 42:
+ return (this.popState(), 14);
+ case 43:
+ return (this.popState(), 14);
+ case 44:
+ return (this.popState(), 14);
+ case 45:
+ return (this.popState(), 14);
+ case 46:
+ return (this.popState(), 14);
+ case 47:
+ return (this.popState(), 14);
+ case 48:
+ return (this.popState(), 14);
+ case 49:
+ return 118;
+ case 50:
+ return 119;
+ case 51:
+ return 120;
+ case 52:
+ return 121;
+ case 53:
+ return 102;
+ case 54:
+ return 108;
+ case 55:
+ return 44;
+ case 56:
+ return 58;
+ case 57:
+ return 42;
+ case 58:
+ return 8;
+ case 59:
+ return 103;
+ case 60:
+ return 112;
+ case 61:
+ return (this.popState(), 75);
+ case 62:
+ return (this.pushState('edgeText'), 73);
+ case 63:
+ return 116;
+ case 64:
+ return (this.popState(), 75);
+ case 65:
+ return (this.pushState('thickEdgeText'), 73);
+ case 66:
+ return 116;
+ case 67:
+ return (this.popState(), 75);
+ case 68:
+ return (this.pushState('dottedEdgeText'), 73);
+ case 69:
+ return 116;
+ case 70:
+ return 75;
+ case 71:
+ return (this.popState(), 51);
+ case 72:
+ return 'TEXT';
+ case 73:
+ return (this.pushState('ellipseText'), 50);
+ case 74:
+ return (this.popState(), 53);
+ case 75:
+ return (this.pushState('text'), 52);
+ case 76:
+ return (this.popState(), 55);
+ case 77:
+ return (this.pushState('text'), 54);
+ case 78:
+ return 56;
+ case 79:
+ return (this.pushState('text'), 65);
+ case 80:
+ return (this.popState(), 62);
+ case 81:
+ return (this.pushState('text'), 61);
+ case 82:
+ return (this.popState(), 47);
+ case 83:
+ return (this.pushState('text'), 46);
+ case 84:
+ return (this.popState(), 67);
+ case 85:
+ return (this.popState(), 69);
+ case 86:
+ return 114;
+ case 87:
+ return (this.pushState('trapText'), 66);
+ case 88:
+ return (this.pushState('trapText'), 68);
+ case 89:
+ return 115;
+ case 90:
+ return 65;
+ case 91:
+ return 87;
+ case 92:
+ return 'SEP';
+ case 93:
+ return 86;
+ case 94:
+ return 112;
+ case 95:
+ return 108;
+ case 96:
+ return 42;
+ case 97:
+ return 106;
+ case 98:
+ return 111;
+ case 99:
+ return 113;
+ case 100:
+ return (this.popState(), 60);
+ case 101:
+ return (this.pushState('text'), 60);
+ case 102:
+ return (this.popState(), 49);
+ case 103:
+ return (this.pushState('text'), 48);
+ case 104:
+ return (this.popState(), 31);
+ case 105:
+ return (this.pushState('text'), 29);
+ case 106:
+ return (this.popState(), 64);
+ case 107:
+ return (this.pushState('text'), 63);
+ case 108:
+ return 'TEXT';
+ case 109:
+ return 'QUOTE';
+ case 110:
+ return 9;
+ case 111:
+ return 10;
+ case 112:
+ return 11;
+ }
+ },
+ rules: [
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:call[\s]+)/,
+ /^(?:\([\s]*\))/,
+ /^(?:\()/,
+ /^(?:[^(]*)/,
+ /^(?:\))/,
+ /^(?:[^)]*)/,
+ /^(?:[^`"]+)/,
+ /^(?:[`]["])/,
+ /^(?:["][`])/,
+ /^(?:[^"]+)/,
+ /^(?:["])/,
+ /^(?:["])/,
+ /^(?:style\b)/,
+ /^(?:default\b)/,
+ /^(?:linkStyle\b)/,
+ /^(?:interpolate\b)/,
+ /^(?:classDef\b)/,
+ /^(?:class\b)/,
+ /^(?:href[\s])/,
+ /^(?:click[\s]+)/,
+ /^(?:[\s\n])/,
+ /^(?:[^\s\n]*)/,
+ /^(?:flowchart-elk\b)/,
+ /^(?:graph\b)/,
+ /^(?:flowchart\b)/,
+ /^(?:subgraph\b)/,
+ /^(?:end\b\s*)/,
+ /^(?:_self\b)/,
+ /^(?:_blank\b)/,
+ /^(?:_parent\b)/,
+ /^(?:_top\b)/,
+ /^(?:(\r?\n)*\s*\n)/,
+ /^(?:\s*LR\b)/,
+ /^(?:\s*RL\b)/,
+ /^(?:\s*TB\b)/,
+ /^(?:\s*BT\b)/,
+ /^(?:\s*TD\b)/,
+ /^(?:\s*BR\b)/,
+ /^(?:\s*<)/,
+ /^(?:\s*>)/,
+ /^(?:\s*\^)/,
+ /^(?:\s*v\b)/,
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:[0-9]+)/,
+ /^(?:#)/,
+ /^(?::::)/,
+ /^(?::)/,
+ /^(?:&)/,
+ /^(?:;)/,
+ /^(?:,)/,
+ /^(?:\*)/,
+ /^(?:\s*[xo<]?--+[-xo>]\s*)/,
+ /^(?:\s*[xo<]?--\s*)/,
+ /^(?:[^-]|-(?!-)+)/,
+ /^(?:\s*[xo<]?==+[=xo>]\s*)/,
+ /^(?:\s*[xo<]?==\s*)/,
+ /^(?:[^=]|=(?!))/,
+ /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,
+ /^(?:\s*[xo<]?-\.\s*)/,
+ /^(?:[^\.]|\.(?!))/,
+ /^(?:\s*~~[\~]+\s*)/,
+ /^(?:[-/\)][\)])/,
+ /^(?:[^\(\)\[\]\{\}]|!\)+)/,
+ /^(?:\(-)/,
+ /^(?:\]\))/,
+ /^(?:\(\[)/,
+ /^(?:\]\])/,
+ /^(?:\[\[)/,
+ /^(?:\[\|)/,
+ /^(?:>)/,
+ /^(?:\)\])/,
+ /^(?:\[\()/,
+ /^(?:\)\)\))/,
+ /^(?:\(\(\()/,
+ /^(?:[\\(?=\])][\]])/,
+ /^(?:\/(?=\])\])/,
+ /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,
+ /^(?:\[\/)/,
+ /^(?:\[\\)/,
+ /^(?:<)/,
+ /^(?:>)/,
+ /^(?:\^)/,
+ /^(?:\\\|)/,
+ /^(?:v\b)/,
+ /^(?:\*)/,
+ /^(?:#)/,
+ /^(?:&)/,
+ /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,
+ /^(?:-)/,
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
+ /^(?:\|)/,
+ /^(?:\|)/,
+ /^(?:\))/,
+ /^(?:\()/,
+ /^(?:\])/,
+ /^(?:\[)/,
+ /^(?:(\}))/,
+ /^(?:\{)/,
+ /^(?:[^\[\]\(\)\{\}\|\"]+)/,
+ /^(?:")/,
+ /^(?:(\r?\n)+)/,
+ /^(?:\s)/,
+ /^(?:$)/,
+ ],
+ conditions: {
+ callbackargs: {
+ rules: [11, 12, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ callbackname: {
+ rules: [8, 9, 10, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ href: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ click: {
+ rules: [15, 18, 27, 28, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ dottedEdgeText: {
+ rules: [15, 18, 67, 69, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ thickEdgeText: {
+ rules: [15, 18, 64, 66, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ edgeText: {
+ rules: [15, 18, 61, 63, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ trapText: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 84, 85, 86, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ ellipseText: {
+ rules: [15, 18, 70, 71, 72, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ text: {
+ rules: [
+ 15, 18, 70, 73, 74, 75, 76, 77, 80, 81, 82, 83, 87, 88, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108,
+ ],
+ inclusive: !1,
+ },
+ vertex: {
+ rules: [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ dir: {
+ rules: [
+ 15, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 70, 73, 75, 77, 81, 83, 87, 88,
+ 101, 103, 105, 107,
+ ],
+ inclusive: !1,
+ },
+ acc_descr_multiline: {
+ rules: [5, 6, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ acc_descr: {
+ rules: [3, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ acc_title: {
+ rules: [1, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ md_string: {
+ rules: [13, 14, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ string: {
+ rules: [15, 16, 17, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107],
+ inclusive: !1,
+ },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68, 70, 73,
+ 75, 77, 78, 79, 81, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101,
+ 103, 105, 107, 109, 110, 111, 112,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return yu;
+ })();
+ ss.lexer = hu;
+ function pl() {
+ this.yy = {};
+ }
+ return ((pl.prototype = ss), (ss.Parser = pl), new pl());
+ })();
+ Ube.parser = Ube;
+ const Gbe = Ube,
+ SUt = 'flowchart-';
+ let Pqe = 0,
+ PD = qt(),
+ oh = {},
+ z3 = [],
+ BD = {},
+ F7 = [],
+ IQ = {},
+ OQ = {},
+ NQ = 0,
+ Kbe = !0,
+ zv,
+ PQ,
+ BQ = [];
+ const FQ = (i) => ci.sanitizeText(i, PD),
+ mR = function (i) {
+ const s = Object.keys(oh);
+ for (const u of s) if (oh[u].id === i) return oh[u].domId;
+ return i;
+ },
+ Bqe = function (i, s, u, d, p, v, b = {}) {
+ let y,
+ T = i;
+ T !== void 0 &&
+ T.trim().length !== 0 &&
+ (oh[T] === void 0 &&
+ (oh[T] = {
+ id: T,
+ labelType: 'text',
+ domId: SUt + T + '-' + Pqe,
+ styles: [],
+ classes: [],
+ }),
+ Pqe++,
+ s !== void 0
+ ? ((PD = qt()),
+ (y = FQ(s.text.trim())),
+ (oh[T].labelType = s.type),
+ y[0] === '"' && y[y.length - 1] === '"' && (y = y.substring(1, y.length - 1)),
+ (oh[T].text = y))
+ : oh[T].text === void 0 && (oh[T].text = i),
+ u !== void 0 && (oh[T].type = u),
+ d != null &&
+ d.forEach(function (_) {
+ oh[T].styles.push(_);
+ }),
+ p != null &&
+ p.forEach(function (_) {
+ oh[T].classes.push(_);
+ }),
+ v !== void 0 && (oh[T].dir = v),
+ oh[T].props === void 0 ? (oh[T].props = b) : b !== void 0 && Object.assign(oh[T].props, b));
+ },
+ Fqe = function (i, s, u) {
+ const v = { start: i, end: s, type: void 0, text: '', labelType: 'text' };
+ Xe.info('abc78 Got edge...', v);
+ const b = u.text;
+ if (
+ (b !== void 0 &&
+ ((v.text = FQ(b.text.trim())),
+ v.text[0] === '"' &&
+ v.text[v.text.length - 1] === '"' &&
+ (v.text = v.text.substring(1, v.text.length - 1)),
+ (v.labelType = b.type)),
+ u !== void 0 && ((v.type = u.type), (v.stroke = u.stroke), (v.length = u.length)),
+ (v == null ? void 0 : v.length) > 10 && (v.length = 10),
+ z3.length < (PD.maxEdges ?? 500))
+ )
+ (Xe.info('abc78 pushing edge...'), z3.push(v));
+ else
+ throw new Error(`Edge limit exceeded. ${z3.length} edges found, but the limit is ${PD.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.`)},Rqe=function(i,s,u){Xe.info("addLink (abc78)",i,s,u);let d,p;for(d=0;d=z3.length)throw new Error(`The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${z3.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);u==="default"?z3.defaultStyle=s:(So.isSubstringInArray("fill",s)===-1&&s.push("fill:none"),z3[u].style=s)})},zqe=function(i,s){i.split(",").forEach(function(u){BD[u]===void 0&&(BD[u]={id:u,styles:[],textStyles:[]}),s!=null&&s.forEach(function(d){if(d.match("color")){const p=d.replace("fill","bgFill").replace("color","fill");BD[u].textStyles.push(p)}BD[u].styles.push(d)})})},qqe=function(i){zv=i,zv.match(/.*)&&(zv="RL"),zv.match(/.*\^/)&&(zv="BT"),zv.match(/.*>/)&&(zv="LR"),zv.match(/.*v/)&&(zv="TB"),zv==="TD"&&(zv="TB")},RQ=function(i,s){i.split(",").forEach(function(u){let d=u;oh[d]!==void 0&&oh[d].classes.push(s),IQ[d]!==void 0&&IQ[d].classes.push(s)})},_Ut=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(OQ[PQ==="gen-1"?mR(u):u]=FQ(s))})},AUt=function(i,s,u){let d=mR(i);if(qt().securityLevel!=="loose"||s===void 0)return;let p=[];if(typeof u=="string"){p=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};BQ.push(Qqe);const Jqe=function(i="gen-1"){oh={},BD={},z3=[],BQ=[Qqe],F7=[],IQ={},NQ=0,OQ={},Kbe=!0,PQ=i,PD=qt(),Ng()},Zqe=i=>{PQ=i||"gen-2"},eHe=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},tHe=function(i,s,u){let d=i.text.trim(),p=u.text;i===u&&u.text.match(/\s/)&&(d=void 0);function v(A){const P={boolean:{},number:{},string:{}},R=[];let F;return{nodeList:A.filter(function(W){const ee=typeof W;return W.stmt&&W.stmt==="dir"?(F=W.value,!1):W.trim()===""?!1:ee in P?P[ee].hasOwnProperty(W)?!1:P[ee][W]=!0:R.includes(W)?!1:R.push(W)}),dir:F}}let b=[];const{nodeList:y,dir:T}=v(b.concat.apply(b,s));if(b=y,PQ==="gen-1")for(let A=0;A2e3)return;if(nHe[vR]=s,F7[s].id===i)return{result:!0,count:0};let d=0,p=1;for(;d=0){const b=rHe(i,v);if(b.result)return{result:!0,count:p+b.count};p=p+b.count}d=d+1}return{result:!1,count:p}},iHe=function(i){return nHe[i]},sHe=function(){vR=-1,F7.length>0&&rHe("none",F7.length-1)},aHe=function(){return F7},oHe=()=>Kbe?(Kbe=!1,!0):!1,MUt=i=>{let s=i.trim(),u="arrow_open";switch(s[0]){case"<":u="arrow_point",s=s.slice(1);break;case"x":u="arrow_cross",s=s.slice(1);break;case"o":u="arrow_circle",s=s.slice(1);break}let d="normal";return s.includes("=")&&(d="thick"),s.includes(".")&&(d="dotted"),{type:u,stroke:d}},DUt=(i,s)=>{const u=s.length;let d=0;for(let p=0;p{const s=i.trim();let u=s.slice(0,-1),d="arrow_open";switch(s.slice(-1)){case"x":d="arrow_cross",s[0]==="x"&&(d="double_"+d,u=u.slice(1));break;case">":d="arrow_point",s[0]==="<"&&(d="double_"+d,u=u.slice(1));break;case"o":d="arrow_circle",s[0]==="o"&&(d="double_"+d,u=u.slice(1));break}let p="normal",v=u.length-1;u[0]==="="&&(p="thick"),u[0]==="~"&&(p="invisible");let b=DUt(".",u);return b&&(p="dotted",v=b),{type:d,stroke:p,length:v}},cHe=(i,s)=>{const u=IUt(i);let d;if(s){if(d=MUt(s),d.stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if(d.type==="arrow_open")d.type=u.type;else{if(d.type!==u.type)return{type:"INVALID",stroke:"INVALID"};d.type="double_"+d.type}return d.type==="double_arrow"&&(d.type="double_arrow_point"),d.length=u.length,d}return u},uHe=(i,s)=>{let u=!1;return i.forEach(d=>{d.nodes.indexOf(s)>=0&&(u=!0)}),u},lHe=(i,s)=>{const u=[];return i.nodes.forEach((d,p)=>{uHe(s,d)||u.push(i.nodes[p])}),{nodes:u}},hHe={firstGraph:oHe},qC={defaultConfig:()=>t$e.flowchart,setAccTitle:Pg,getAccTitle:Sp,getAccDescription:Ap,setAccDescription:_p,addVertex:Bqe,lookUpDomId:mR,addLink:Rqe,updateLinkInterpolate:jqe,updateLink:$qe,addClass:zqe,setDirection:qqe,setClass:RQ,setTooltip:_Ut,getTooltip:Vqe,setClickEvent:Uqe,setLink:Hqe,bindFunctions:Gqe,getDirection:Kqe,getVertices:Wqe,getEdges:Yqe,getClasses:Xqe,clear:Jqe,setGen:Zqe,defaultStyle:eHe,addSubGraph:tHe,getDepthFirstPos:iHe,indexNodes:sHe,getSubGraphs:aHe,destructLink:cHe,lex:hHe,exists:uHe,makeUniq:lHe,setDiagramTitle:om,getDiagramTitle:Lp},OUt=Object.freeze(Object.defineProperty({__proto__:null,addClass:zqe,addLink:Rqe,addSingleLink:Fqe,addSubGraph:tHe,addVertex:Bqe,bindFunctions:Gqe,clear:Jqe,default:qC,defaultStyle:eHe,destructLink:cHe,firstGraph:oHe,getClasses:Xqe,getDepthFirstPos:iHe,getDirection:Kqe,getEdges:Yqe,getSubGraphs:aHe,getTooltip:Vqe,getVertices:Wqe,indexNodes:sHe,lex:hHe,lookUpDomId:mR,setClass:RQ,setClickEvent:Uqe,setDirection:qqe,setGen:Zqe,setLink:Hqe,updateLink:$qe,updateLinkInterpolate:jqe},Symbol.toStringTag,{value:"Module"}));var NUt="[object Symbol]";function HC(i){return typeof i=="symbol"||q4(i)&&_C(i)==NUt}function FD(i,s){for(var u=-1,d=i==null?0:i.length,p=Array(d);++u-1}function hm(i){return v9(i)?cje(i):f$e(i)}var JUt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ZUt=/^\w*$/;function Wbe(i,s){if(L0(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||HC(i)?!0:ZUt.test(i)||!JUt.test(i)||s!=null&&i in Object(s)}var eGt=500;function tGt(i){var s=pD(i,function(d){return u.size===eGt&&u.clear(),d}),u=s.cache;return s}var nGt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rGt=/\\(\\)?/g,iGt=tGt(function(i){var s=[];return i.charCodeAt(0)===46&&s.push(""),i.replace(nGt,function(u,d,p,v){s.push(p?v.replace(rGt,"$1"):d||u)}),s});const sGt=iGt;function wHe(i){return i==null?"":gHe(i)}function $Q(i,s){return L0(i)?i:Wbe(i,s)?[i]:sGt(wHe(i))}var aGt=1/0;function wR(i){if(typeof i=="string"||HC(i))return i;var s=i+"";return s=="0"&&1/i==-aGt?"-0":s}function zQ(i,s){s=$Q(s,i);for(var u=0,d=s.length;i!=null&&u0&&u(y)?s>1?qQ(y,s-1,u,d,p):Ybe(p,y):d||(p[p.length]=y)}return p}function RD(i){var s=i==null?0:i.length;return s?qQ(i,1):[]}function uGt(i){return fje(hje(i,void 0,RD),i+"")}function lGt(i,s,u,d){var p=-1,v=i==null?0:i.length;for(d&&v&&(u=i[++p]);++py))return!1;var _=v.get(i),A=v.get(s);if(_&&A)return _==s&&A==i;var P=-1,R=!0,F=u&FKt?new xR:void 0;for(v.set(i,s),v.set(s,i);++P2?s[2]:void 0;for(p&&JF(s[0],s[1],p)&&(d=1);++u-1?p[v?s[b]:b]:void 0}}var SWt=Math.max;function _Wt(i,s,u){var d=i==null?0:i.length;if(!d)return-1;var p=u==null?0:GUt(u);return p<0&&(p=SWt(d+p,0)),vHe(i,D9(s),p)}var AWt=CWt(_Wt);const rme=AWt;function GHe(i,s){var u=-1,d=v9(i)?Array(i.length):[];return VQ(i,function(p,v,b){d[++u]=s(p,v,b)}),d}function O0(i,s){var u=L0(i)?FD:GHe;return u(i,D9(s))}function LWt(i,s){return i==null?i:b2e(i,nme(s),DC)}function MWt(i,s){return i&&tme(i,nme(s))}function DWt(i,s){return i>s}var IWt=Object.prototype,OWt=IWt.hasOwnProperty;function NWt(i,s){return i!=null&&OWt.call(i,s)}function KHe(i,s){return i!=null&&qHe(i,s,NWt)}function PWt(i,s){return FD(s,function(u){return i[u]})}function j7(i){return i==null?[]:PWt(i,hm(i))}function Yf(i){return i===void 0}function WHe(i,s){return is||v&&b&&T&&!y&&!_||d&&b&&T||!u&&T||!p)return 1;if(!d&&!v&&!_&&i=y)return T;var _=u[d];return T*(_=="desc"?-1:1)}}return i.index-s.index}function zWt(i,s,u){s.length?s=FD(s,function(v){return L0(v)?function(b){return zQ(b,v.length===1?v[0]:v)}:v}):s=[IC];var d=-1;s=FD(s,OX(D9));var p=GHe(i,function(v,b,y){var T=FD(s,function(_){return _(v)});return{criteria:T,index:++d,value:v}});return RWt(p,function(v,b){return $Wt(v,b,u)})}function qWt(i,s){return FWt(i,s,function(u,d){return HHe(i,d)})}var HWt=uGt(function(i,s){return i==null?{}:qWt(i,s)});const ER=HWt;var VWt=Math.ceil,UWt=Math.max;function GWt(i,s,u,d){for(var p=-1,v=UWt(VWt((s-i)/(u||1)),0),b=Array(v);v--;)b[d?v:++p]=i,i+=u;return b}function KWt(i){return function(s,u,d){return d&&typeof d!="number"&&JF(s,u,d)&&(u=d=void 0),s=jQ(s),u===void 0?(u=s,s=0):u=jQ(u),d=d===void 0?s1&&JF(i,s[0],s[1])?s=[]:u>2&&JF(s[0],s[1],s[2])&&(s=[s[0]]),zWt(i,qQ(s,1),[])});const CR=XWt;var QWt=1/0,JWt=TD&&1/Jbe(new TD([,-0]))[1]==QWt?function(i){return new TD(i)}:KUt;const ZWt=JWt;var eYt=200;function tYt(i,s,u){var d=-1,p=QUt,v=i.length,b=!0,y=[],T=y;if(u)b=!1,p=EWt;else if(v>=eYt){var _=s?null:ZWt(i);if(_)return Jbe(_);b=!1,p=NHe,T=new xR}else T=s?[]:y;e:for(;++d1?p.setNode(v,u):p.setNode(v)}),this}setNode(s,u){return Object.prototype.hasOwnProperty.call(this._nodes,s)?(arguments.length>1&&(this._nodes[s]=u),this):(this._nodes[s]=arguments.length>1?u:this._defaultNodeLabelFn(s),this._isCompound&&(this._parent[s]=GC,this._children[s]={},this._children[GC][s]=!0),this._in[s]={},this._preds[s]={},this._out[s]={},this._sucs[s]={},++this._nodeCount,this)}node(s){return this._nodes[s]}hasNode(s){return Object.prototype.hasOwnProperty.call(this._nodes,s)}removeNode(s){if(Object.prototype.hasOwnProperty.call(this._nodes,s)){var u=d=>this.removeEdge(this._edgeObjs[d]);delete this._nodes[s],this._isCompound&&(this._removeFromParentsChildList(s),delete this._parent[s],Lr(this.children(s),d=>{this.setParent(d)}),delete this._children[s]),Lr(hm(this._in[s]),u),delete this._in[s],delete this._preds[s],Lr(hm(this._out[s]),u),delete this._out[s],delete this._sucs[s],--this._nodeCount}return this}setParent(s,u){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Yf(u))u=GC;else{u+="";for(var d=u;!Yf(d);d=this.parent(d))if(d===s)throw new Error("Setting "+u+" as parent of "+s+" would create a cycle");this.setNode(u)}return this.setNode(s),this._removeFromParentsChildList(s),this._parent[s]=u,this._children[u][s]=!0,this}_removeFromParentsChildList(s){delete this._children[this._parent[s]][s]}parent(s){if(this._isCompound){var u=this._parent[s];if(u!==GC)return u}}children(s){if(Yf(s)&&(s=GC),this._isCompound){var u=this._children[s];if(u)return hm(u)}else{if(s===GC)return this.nodes();if(this.hasNode(s))return[]}}predecessors(s){var u=this._preds[s];if(u)return hm(u)}successors(s){var u=this._sucs[s];if(u)return hm(u)}neighbors(s){var u=this.predecessors(s);if(u)return rYt(u,this.successors(s))}isLeaf(s){var u;return this.isDirected()?u=this.successors(s):u=this.neighbors(s),u.length===0}filterNodes(s){var u=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});u.setGraph(this.graph());var d=this;Lr(this._nodes,function(b,y){s(y)&&u.setNode(y,b)}),Lr(this._edgeObjs,function(b){u.hasNode(b.v)&&u.hasNode(b.w)&&u.setEdge(b,d.edge(b))});var p={};function v(b){var y=d.parent(b);return y===void 0||u.hasNode(y)?(p[b]=y,y):y in p?p[y]:v(y)}return this._isCompound&&Lr(u.nodes(),function(b){u.setParent(b,v(b))}),u}setDefaultEdgeLabel(s){return dD(s)||(s=wD(s)),this._defaultEdgeLabelFn=s,this}edgeCount(){return this._edgeCount}edges(){return j7(this._edgeObjs)}setPath(s,u){var d=this,p=arguments;return TR(s,function(v,b){return p.length>1?d.setEdge(v,b,u):d.setEdge(v,b),b}),this}setEdge(){var s,u,d,p,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(s=b.v,u=b.w,d=b.name,arguments.length===2&&(p=arguments[1],v=!0)):(s=b,u=arguments[1],d=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),s=""+s,u=""+u,Yf(d)||(d=""+d);var y=SR(this._isDirected,s,u,d);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,y))return v&&(this._edgeLabels[y]=p),this;if(!Yf(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(s),this.setNode(u),this._edgeLabels[y]=v?p:this._defaultEdgeLabelFn(s,u,d);var T=cYt(this._isDirected,s,u,d);return s=T.v,u=T.w,Object.freeze(T),this._edgeObjs[y]=T,XHe(this._preds[u],s),XHe(this._sucs[s],u),this._in[u][y]=T,this._out[s][y]=T,this._edgeCount++,this}edge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d);return this._edgeLabels[p]}hasEdge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d);return Object.prototype.hasOwnProperty.call(this._edgeLabels,p)}removeEdge(s,u,d){var p=arguments.length===1?ame(this._isDirected,arguments[0]):SR(this._isDirected,s,u,d),v=this._edgeObjs[p];return v&&(s=v.v,u=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],QHe(this._preds[u],s),QHe(this._sucs[s],u),delete this._in[u][p],delete this._out[s][p],this._edgeCount--),this}inEdges(s,u){var d=this._in[s];if(d){var p=j7(d);return u?R7(p,function(v){return v.v===u}):p}}outEdges(s,u){var d=this._out[s];if(d){var p=j7(d);return u?R7(p,function(v){return v.w===u}):p}}nodeEdges(s,u){var d=this.inEdges(s,u);if(d)return d.concat(this.outEdges(s,u))}}N0.prototype._nodeCount=0,N0.prototype._edgeCount=0;function XHe(i,s){i[s]?i[s]++:i[s]=1}function QHe(i,s){--i[s]||delete i[s]}function SR(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}return p+YHe+v+YHe+(Yf(d)?oYt:d)}function cYt(i,s,u,d){var p=""+s,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}var y={v:p,w:v};return d&&(y.name=d),y}function ame(i,s){return SR(i,s.v,s.w,s.name)}class uYt{constructor(){var s={};s._next=s._prev=s,this._sentinel=s}dequeue(){var s=this._sentinel,u=s._prev;if(u!==s)return JHe(u),u}enqueue(s){var u=this._sentinel;s._prev&&s._next&&JHe(s),s._next=u._next,u._next._prev=s,u._next=s,s._prev=u}toString(){for(var s=[],u=this._sentinel,d=u._prev;d!==u;)s.push(JSON.stringify(d,lYt)),d=d._prev;return"["+s.join(", ")+"]"}}function JHe(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function lYt(i,s){if(i!=="_next"&&i!=="_prev")return s}var hYt=wD(1);function fYt(i,s){if(i.nodeCount()<=1)return[];var u=gYt(i,s||hYt),d=dYt(u.graph,u.buckets,u.zeroIdx);return RD(O0(d,function(p){return i.outEdges(p.v,p.w)}))}function dYt(i,s,u){for(var d=[],p=s[s.length-1],v=s[0],b;i.nodeCount();){for(;b=v.dequeue();)ome(i,s,u,b);for(;b=p.dequeue();)ome(i,s,u,b);if(i.nodeCount()){for(var y=s.length-2;y>0;--y)if(b=s[y].dequeue(),b){d=d.concat(ome(i,s,u,b,!0));break}}}return d}function ome(i,s,u,d,p){var v=p?[]:void 0;return Lr(i.inEdges(d.v),function(b){var y=i.edge(b),T=i.node(b.v);p&&v.push({v:b.v,w:b.w}),T.out-=y,cme(s,u,T)}),Lr(i.outEdges(d.v),function(b){var y=i.edge(b),T=b.w,_=i.node(T);_.in-=y,cme(s,u,_)}),i.removeNode(d.v),v}function gYt(i,s){var u=new N0,d=0,p=0;Lr(i.nodes(),function(y){u.setNode(y,{v:y,in:0,out:0})}),Lr(i.edges(),function(y){var T=u.edge(y.v,y.w)||0,_=s(y),A=T+_;u.setEdge(y.v,y.w,A),p=Math.max(p,u.node(y.v).out+=_),d=Math.max(d,u.node(y.w).in+=_)});var v=UC(p+d+3).map(function(){return new uYt}),b=d+1;return Lr(u.nodes(),function(y){cme(v,b,u.node(y))}),{graph:u,buckets:v,zeroIdx:b}}function cme(i,s,u){u.out?u.in?i[u.out-u.in+s].enqueue(u):i[i.length-1].enqueue(u):i[0].enqueue(u)}function pYt(i){var s=i.graph().acyclicer==="greedy"?fYt(i,u(i)):bYt(i);Lr(s,function(d){var p=i.edge(d);i.removeEdge(d),p.forwardName=d.name,p.reversed=!0,i.setEdge(d.w,d.v,p,KQ("rev"))});function u(d){return function(p){return d.edge(p).weight}}}function bYt(i){var s=[],u={},d={};function p(v){Object.prototype.hasOwnProperty.call(d,v)||(d[v]=!0,u[v]=!0,Lr(i.outEdges(v),function(b){Object.prototype.hasOwnProperty.call(u,b.w)?s.push(b):p(b.w)}),delete u[v])}return Lr(i.nodes(),p),s}function mYt(i){Lr(i.edges(),function(s){var u=i.edge(s);if(u.reversed){i.removeEdge(s);var d=u.forwardName;delete u.reversed,delete u.forwardName,i.setEdge(s.w,s.v,u,d)}})}function $D(i,s,u,d){var p;do p=KQ(d);while(i.hasNode(p));return u.dummy=s,i.setNode(p,u),p}function vYt(i){var s=new N0().setGraph(i.graph());return Lr(i.nodes(),function(u){s.setNode(u,i.node(u))}),Lr(i.edges(),function(u){var d=s.edge(u.v,u.w)||{weight:0,minlen:1},p=i.edge(u);s.setEdge(u.v,u.w,{weight:d.weight+p.weight,minlen:Math.max(d.minlen,p.minlen)})}),s}function ZHe(i){var s=new N0({multigraph:i.isMultigraph()}).setGraph(i.graph());return Lr(i.nodes(),function(u){i.children(u).length||s.setNode(u,i.node(u))}),Lr(i.edges(),function(u){s.setEdge(u,i.edge(u))}),s}function eVe(i,s){var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2;if(!p&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=y*p/v,_=y):(p<0&&(b=-b),T=b,_=b*v/p),{x:u+T,y:d+_}}function WQ(i){var s=O0(UC(nVe(i)+1),function(){return[]});return Lr(i.nodes(),function(u){var d=i.node(u),p=d.rank;Yf(p)||(s[p][d.order]=u)}),s}function wYt(i){var s=kR(O0(i.nodes(),function(u){return i.node(u).rank}));Lr(i.nodes(),function(u){var d=i.node(u);KHe(d,"rank")&&(d.rank-=s)})}function yYt(i){var s=kR(O0(i.nodes(),function(v){return i.node(v).rank})),u=[];Lr(i.nodes(),function(v){var b=i.node(v).rank-s;u[b]||(u[b]=[]),u[b].push(v)});var d=0,p=i.graph().nodeRankFactor;Lr(u,function(v,b){Yf(v)&&b%p!==0?--d:d&&Lr(v,function(y){i.node(y).rank+=d})})}function tVe(i,s,u,d){var p={width:0,height:0};return arguments.length>=4&&(p.rank=u,p.order=d),$D(i,"border",p,s)}function nVe(i){return VC(O0(i.nodes(),function(s){var u=i.node(s).rank;if(!Yf(u))return u}))}function xYt(i,s){var u={lhs:[],rhs:[]};return Lr(i,function(d){s(d)?u.lhs.push(d):u.rhs.push(d)}),u}function kYt(i,s){var u=VHe();try{return s()}finally{console.log(i+" time: "+(VHe()-u)+"ms")}}function EYt(i,s){return s()}function TYt(i){function s(u){var d=i.children(u),p=i.node(u);if(d.length&&Lr(d,s),Object.prototype.hasOwnProperty.call(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var v=p.minRank,b=p.maxRank+1;vb.lim&&(y=b,T=!0);var _=R7(s.edges(),function(A){return T===gVe(i,i.node(A.v),y)&&T!==gVe(i,i.node(A.w),y)});return sme(_,function(A){return _R(s,A)})}function dVe(i,s,u,d){var p=u.v,v=u.w;i.removeEdge(p,v),i.setEdge(d.v,d.w,{}),dme(i),fme(i,s),jYt(i,s)}function jYt(i,s){var u=rme(i.nodes(),function(p){return!s.node(p).parent}),d=FYt(i,u);d=d.slice(1),Lr(d,function(p){var v=i.node(p).parent,b=s.edge(p,v),y=!1;b||(b=s.edge(v,p),y=!0),s.node(p).rank=s.node(v).rank+(y?b.minlen:-b.minlen)})}function $Yt(i,s,u){return i.hasEdge(s,u)}function gVe(i,s,u){return u.low<=s.lim&&s.lim<=u.lim}function zYt(i){switch(i.graph().ranker){case"network-simplex":pVe(i);break;case"tight-tree":HYt(i);break;case"longest-path":qYt(i);break;default:pVe(i)}}var qYt=hme;function HYt(i){hme(i),aVe(i)}function pVe(i){KC(i)}function VYt(i){var s=$D(i,"root",{},"_root"),u=UYt(i),d=VC(j7(u))-1,p=2*d+1;i.graph().nestingRoot=s,Lr(i.edges(),function(b){i.edge(b).minlen*=p});var v=GYt(i)+1;Lr(i.children(),function(b){bVe(i,s,p,v,d,u,b)}),i.graph().nodeRankFactor=p}function bVe(i,s,u,d,p,v,b){var y=i.children(b);if(!y.length){b!==s&&i.setEdge(s,b,{weight:0,minlen:u});return}var T=tVe(i,"_bt"),_=tVe(i,"_bb"),A=i.node(b);i.setParent(T,b),A.borderTop=T,i.setParent(_,b),A.borderBottom=_,Lr(y,function(P){bVe(i,s,u,d,p,v,P);var R=i.node(P),F=R.borderTop?R.borderTop:P,j=R.borderBottom?R.borderBottom:P,W=R.borderTop?d:2*d,ee=F!==j?1:p-v[b]+1;i.setEdge(T,F,{weight:W,minlen:ee,nestingEdge:!0}),i.setEdge(j,_,{weight:W,minlen:ee,nestingEdge:!0})}),i.parent(b)||i.setEdge(s,T,{weight:0,minlen:p+v[b]})}function UYt(i){var s={};function u(d,p){var v=i.children(d);v&&v.length&&Lr(v,function(b){u(b,p+1)}),s[d]=p}return Lr(i.children(),function(d){u(d,1)}),s}function GYt(i){return TR(i.edges(),function(s,u){return s+i.edge(u).weight},0)}function KYt(i){var s=i.graph();i.removeNode(s.nestingRoot),delete s.nestingRoot,Lr(i.edges(),function(u){var d=i.edge(u);d.nestingEdge&&i.removeEdge(u)})}function WYt(i,s,u){var d={},p;Lr(u,function(v){for(var b=i.parent(v),y,T;b;){if(y=i.parent(b),y?(T=d[y],d[y]=b):(T=p,p=b),T&&T!==b){s.setEdge(T,b);return}b=y}})}function YYt(i,s,u){var d=XYt(i),p=new N0({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(v){return i.node(v)});return Lr(i.nodes(),function(v){var b=i.node(v),y=i.parent(v);(b.rank===s||b.minRank<=s&&s<=b.maxRank)&&(p.setNode(v),p.setParent(v,y||d),Lr(i[u](v),function(T){var _=T.v===v?T.w:T.v,A=p.edge(_,v),P=Yf(A)?0:A.weight;p.setEdge(_,v,{weight:i.edge(T).weight+P})}),Object.prototype.hasOwnProperty.call(b,"minRank")&&p.setNode(v,{borderLeft:b.borderLeft[s],borderRight:b.borderRight[s]}))}),p}function XYt(i){for(var s;i.hasNode(s=KQ("_root")););return s}function QYt(i,s){for(var u=0,d=1;d0;)A%2&&(P+=y[A+1]),A=A-1>>1,y[A]+=_.weight;T+=_.weight*P})),T}function ZYt(i){var s={},u=R7(i.nodes(),function(y){return!i.children(y).length}),d=VC(O0(u,function(y){return i.node(y).rank})),p=O0(UC(d+1),function(){return[]});function v(y){if(!KHe(s,y)){s[y]=!0;var T=i.node(y);p[T.rank].push(y),Lr(i.successors(y),v)}}var b=CR(u,function(y){return i.node(y).rank});return Lr(b,v),p}function eXt(i,s){return O0(s,function(u){var d=i.inEdges(u);if(d.length){var p=TR(d,function(v,b){var y=i.edge(b),T=i.node(b.v);return{sum:v.sum+y.weight*T.order,weight:v.weight+y.weight}},{sum:0,weight:0});return{v:u,barycenter:p.sum/p.weight,weight:p.weight}}else return{v:u}})}function tXt(i,s){var u={};Lr(i,function(p,v){var b=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:v};Yf(p.barycenter)||(b.barycenter=p.barycenter,b.weight=p.weight)}),Lr(s.edges(),function(p){var v=u[p.v],b=u[p.w];!Yf(v)&&!Yf(b)&&(b.indegree++,v.out.push(u[p.w]))});var d=R7(u,function(p){return!p.indegree});return nXt(d)}function nXt(i){var s=[];function u(v){return function(b){b.merged||(Yf(b.barycenter)||Yf(v.barycenter)||b.barycenter>=v.barycenter)&&rXt(v,b)}}function d(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var p=i.pop();s.push(p),Lr(p.in.reverse(),u(p)),Lr(p.out,d(p))}return O0(R7(s,function(v){return!v.merged}),function(v){return ER(v,["vs","i","barycenter","weight"])})}function rXt(i,s){var u=0,d=0;i.weight&&(u+=i.barycenter*i.weight,d+=i.weight),s.weight&&(u+=s.barycenter*s.weight,d+=s.weight),i.vs=s.vs.concat(i.vs),i.barycenter=u/d,i.weight=d,i.i=Math.min(s.i,i.i),s.merged=!0}function iXt(i,s){var u=xYt(i,function(A){return Object.prototype.hasOwnProperty.call(A,"barycenter")}),d=u.lhs,p=CR(u.rhs,function(A){return-A.i}),v=[],b=0,y=0,T=0;d.sort(sXt(!!s)),T=mVe(v,p,T),Lr(d,function(A){T+=A.vs.length,v.push(A.vs),b+=A.barycenter*A.weight,y+=A.weight,T=mVe(v,p,T)});var _={vs:RD(v)};return y&&(_.barycenter=b/y,_.weight=y),_}function mVe(i,s,u){for(var d;s.length&&(d=UQ(s)).i<=u;)s.pop(),i.push(d.vs),u++;return u}function sXt(i){return function(s,u){return s.barycenteru.barycenter?1:i?u.i-s.i:s.i-u.i}}function vVe(i,s,u,d){var p=i.children(s),v=i.node(s),b=v?v.borderLeft:void 0,y=v?v.borderRight:void 0,T={};b&&(p=R7(p,function(j){return j!==b&&j!==y}));var _=eXt(i,p);Lr(_,function(j){if(i.children(j.v).length){var W=vVe(i,j.v,u,d);T[j.v]=W,Object.prototype.hasOwnProperty.call(W,"barycenter")&&oXt(j,W)}});var A=tXt(_,u);aXt(A,T);var P=iXt(A,d);if(b&&(P.vs=RD([b,P.vs,y]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),F=i.node(i.predecessors(y)[0]);Object.prototype.hasOwnProperty.call(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+R.order+F.order)/(P.weight+2),P.weight+=2}return P}function aXt(i,s){Lr(i,function(u){u.vs=RD(u.vs.map(function(d){return s[d]?s[d].vs:d}))})}function oXt(i,s){Yf(i.barycenter)?(i.barycenter=s.barycenter,i.weight=s.weight):(i.barycenter=(i.barycenter*i.weight+s.barycenter*s.weight)/(i.weight+s.weight),i.weight+=s.weight)}function cXt(i){var s=nVe(i),u=wVe(i,UC(1,s+1),"inEdges"),d=wVe(i,UC(s-1,-1,-1),"outEdges"),p=ZYt(i);yVe(i,p);for(var v=Number.POSITIVE_INFINITY,b,y=0,T=0;T<4;++y,++T){uXt(y%2?u:d,y%4>=2),p=WQ(i);var _=QYt(i,p);_b||y>s[T].lim));for(_=T,T=d;(T=i.parent(T))!==_;)v.push(T);return{path:p.concat(v.reverse()),lca:_}}function fXt(i){var s={},u=0;function d(p){var v=u;Lr(i.children(p),d),s[p]={low:v,lim:u++}}return Lr(i.children(),d),s}function dXt(i,s){var u={};function d(p,v){var b=0,y=0,T=p.length,_=UQ(v);return Lr(v,function(A,P){var R=pXt(i,A),F=R?i.node(R).order:T;(R||A===_)&&(Lr(v.slice(y,P+1),function(j){Lr(i.predecessors(j),function(W){var ee=i.node(W),ie=ee.order;(ie_)&&xVe(u,R,A)})})}function p(v,b){var y=-1,T,_=0;return Lr(b,function(A,P){if(i.node(A).dummy==="border"){var R=i.predecessors(A);R.length&&(T=i.node(R[0]).order,d(b,_,P,y,T),_=P,y=T)}d(b,_,b.length,T,v.length)}),b}return TR(s,p),u}function pXt(i,s){if(i.node(s).dummy)return rme(i.predecessors(s),function(u){return i.node(u).dummy})}function xVe(i,s,u){if(s>u){var d=s;s=u,u=d}Object.prototype.hasOwnProperty.call(i,s)||Object.defineProperty(i,s,{enumerable:!0,configurable:!0,value:{},writable:!0});var p=i[s];Object.defineProperty(p,u,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function bXt(i,s,u){if(s>u){var d=s;s=u,u=d}return!!i[s]&&Object.prototype.hasOwnProperty.call(i[s],u)}function mXt(i,s,u,d){var p={},v={},b={};return Lr(s,function(y){Lr(y,function(T,_){p[T]=T,v[T]=T,b[T]=_})}),Lr(s,function(y){var T=-1;Lr(y,function(_){var A=d(_);if(A.length){A=CR(A,function(W){return b[W]});for(var P=(A.length-1)/2,R=Math.floor(P),F=Math.ceil(P);R<=F;++R){var j=A[R];v[_]===_&&T{var d=u(" buildLayoutGraph",()=>RXt(i));u(" runLayout",()=>AXt(d,u)),u(" updateInputGraph",()=>LXt(i,d))})}function AXt(i,s){s(" makeSpaceForEdgeLabels",()=>jXt(i)),s(" removeSelfEdges",()=>WXt(i)),s(" acyclic",()=>pYt(i)),s(" nestingGraph.run",()=>VYt(i)),s(" rank",()=>zYt(ZHe(i))),s(" injectEdgeLabelProxies",()=>$Xt(i)),s(" removeEmptyRanks",()=>yYt(i)),s(" nestingGraph.cleanup",()=>KYt(i)),s(" normalizeRanks",()=>wYt(i)),s(" assignRankMinMax",()=>zXt(i)),s(" removeEdgeLabelProxies",()=>qXt(i)),s(" normalize.run",()=>LYt(i)),s(" parentDummyChains",()=>lXt(i)),s(" addBorderSegments",()=>TYt(i)),s(" order",()=>cXt(i)),s(" insertSelfEdges",()=>YXt(i)),s(" adjustCoordinateSystem",()=>CYt(i)),s(" position",()=>SXt(i)),s(" positionSelfEdges",()=>XXt(i)),s(" removeBorderNodes",()=>KXt(i)),s(" normalize.undo",()=>DYt(i)),s(" fixupEdgeLabelCoords",()=>UXt(i)),s(" undoCoordinateSystem",()=>SYt(i)),s(" translateGraph",()=>HXt(i)),s(" assignNodeIntersects",()=>VXt(i)),s(" reversePoints",()=>GXt(i)),s(" acyclic.undo",()=>mYt(i))}function LXt(i,s){Lr(i.nodes(),function(u){var d=i.node(u),p=s.node(u);d&&(d.x=p.x,d.y=p.y,s.children(u).length&&(d.width=p.width,d.height=p.height))}),Lr(i.edges(),function(u){var d=i.edge(u),p=s.edge(u);d.points=p.points,Object.prototype.hasOwnProperty.call(p,"x")&&(d.x=p.x,d.y=p.y)}),i.graph().width=s.graph().width,i.graph().height=s.graph().height}var MXt=["nodesep","edgesep","ranksep","marginx","marginy"],DXt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},IXt=["acyclicer","ranker","rankdir","align"],OXt=["width","height"],NXt={width:0,height:0},PXt=["minlen","weight","width","height","labeloffset"],BXt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},FXt=["labelpos"];function RXt(i){var s=new N0({multigraph:!0,compound:!0}),u=pme(i.graph());return s.setGraph(RX({},DXt,gme(u,MXt),ER(u,IXt))),Lr(i.nodes(),function(d){var p=pme(i.node(d));s.setNode(d,jD(gme(p,OXt),NXt)),s.setParent(d,i.parent(d))}),Lr(i.edges(),function(d){var p=pme(i.edge(d));s.setEdge(d,RX({},BXt,gme(p,PXt),ER(p,FXt)))}),s}function jXt(i){var s=i.graph();s.ranksep/=2,Lr(i.edges(),function(u){var d=i.edge(u);d.minlen*=2,d.labelpos.toLowerCase()!=="c"&&(s.rankdir==="TB"||s.rankdir==="BT"?d.width+=d.labeloffset:d.height+=d.labeloffset)})}function $Xt(i){Lr(i.edges(),function(s){var u=i.edge(s);if(u.width&&u.height){var d=i.node(s.v),p=i.node(s.w),v={rank:(p.rank-d.rank)/2+d.rank,e:s};$D(i,"edge-proxy",v,"_ep")}})}function zXt(i){var s=0;Lr(i.nodes(),function(u){var d=i.node(u);d.borderTop&&(d.minRank=i.node(d.borderTop).rank,d.maxRank=i.node(d.borderBottom).rank,s=VC(s,d.maxRank))}),i.graph().maxRank=s}function qXt(i){Lr(i.nodes(),function(s){var u=i.node(s);u.dummy==="edge-proxy"&&(i.edge(u.e).labelRank=u.rank,i.removeNode(s))})}function HXt(i){var s=Number.POSITIVE_INFINITY,u=0,d=Number.POSITIVE_INFINITY,p=0,v=i.graph(),b=v.marginx||0,y=v.marginy||0;function T(_){var A=_.x,P=_.y,R=_.width,F=_.height;s=Math.min(s,A-R/2),u=Math.max(u,A+R/2),d=Math.min(d,P-F/2),p=Math.max(p,P+F/2)}Lr(i.nodes(),function(_){T(i.node(_))}),Lr(i.edges(),function(_){var A=i.edge(_);Object.prototype.hasOwnProperty.call(A,"x")&&T(A)}),s-=b,d-=y,Lr(i.nodes(),function(_){var A=i.node(_);A.x-=s,A.y-=d}),Lr(i.edges(),function(_){var A=i.edge(_);Lr(A.points,function(P){P.x-=s,P.y-=d}),Object.prototype.hasOwnProperty.call(A,"x")&&(A.x-=s),Object.prototype.hasOwnProperty.call(A,"y")&&(A.y-=d)}),v.width=u-s+b,v.height=p-d+y}function VXt(i){Lr(i.edges(),function(s){var u=i.edge(s),d=i.node(s.v),p=i.node(s.w),v,b;u.points?(v=u.points[0],b=u.points[u.points.length-1]):(u.points=[],v=p,b=d),u.points.unshift(eVe(d,v)),u.points.push(eVe(p,b))})}function UXt(i){Lr(i.edges(),function(s){var u=i.edge(s);if(Object.prototype.hasOwnProperty.call(u,"x"))switch((u.labelpos==="l"||u.labelpos==="r")&&(u.width-=u.labeloffset),u.labelpos){case"l":u.x-=u.width/2+u.labeloffset;break;case"r":u.x+=u.width/2+u.labeloffset;break}})}function GXt(i){Lr(i.edges(),function(s){var u=i.edge(s);u.reversed&&u.points.reverse()})}function KXt(i){Lr(i.nodes(),function(s){if(i.children(s).length){var u=i.node(s),d=i.node(u.borderTop),p=i.node(u.borderBottom),v=i.node(UQ(u.borderLeft)),b=i.node(UQ(u.borderRight));u.width=Math.abs(b.x-v.x),u.height=Math.abs(p.y-d.y),u.x=v.x+u.width/2,u.y=d.y+u.height/2}}),Lr(i.nodes(),function(s){i.node(s).dummy==="border"&&i.removeNode(s)})}function WXt(i){Lr(i.edges(),function(s){if(s.v===s.w){var u=i.node(s.v);u.selfEdges||(u.selfEdges=[]),u.selfEdges.push({e:s,label:i.edge(s)}),i.removeEdge(s)}})}function YXt(i){var s=WQ(i);Lr(s,function(u){var d=0;Lr(u,function(p,v){var b=i.node(p);b.order=v+d,Lr(b.selfEdges,function(y){$D(i,"selfedge",{width:y.label.width,height:y.label.height,rank:b.rank,order:v+ ++d,e:y.e,label:y.label},"_se")}),delete b.selfEdges})})}function XXt(i){Lr(i.nodes(),function(s){var u=i.node(s);if(u.dummy==="selfedge"){var d=i.node(u.e.v),p=d.x+d.width/2,v=d.y,b=u.x-p,y=d.height/2;i.setEdge(u.e,u.label),i.removeNode(s),u.label.points=[{x:p+2*b/3,y:v-y},{x:p+5*b/6,y:v-y},{x:p+b,y:v},{x:p+5*b/6,y:v+y},{x:p+2*b/3,y:v+y}],u.label.x=u.x,u.label.y=u.y}})}function gme(i,s){return GQ(ER(i,s),Number)}function pme(i){var s={};return Lr(i,function(u,d){s[d.toLowerCase()]=u}),s}function kVe(i,s){return!!i.children(s).length}function EVe(i){return bme(i.v)+":"+bme(i.w)+":"+bme(i.name)}var QXt=/:/g;function bme(i){return i?String(i).replace(QXt,"\\:"):""}function J4(i,s){s&&i.attr("style",s)}function TVe(i,s,u){s&&i.attr("class",s).attr("class",u+" "+i.attr("class"))}function q3(i,s){var u=s.graph();if(sje(u)){var d=u.transition;if(dD(d))return d(i)}return i}var mme={normal:ZXt,vee:eQt,undirected:tQt};function JXt(i){mme=i}function ZXt(i,s,u,d){var p=i.append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");J4(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function eQt(i,s,u,d){var p=i.append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");J4(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function tQt(i,s,u,d){var p=i.append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");J4(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function vme(i,s){var u=i.append("foreignObject").attr("width","100000"),d=u.append("xhtml:div");d.attr("xmlns","http://www.w3.org/1999/xhtml");var p=s.label;switch(typeof p){case"function":d.insert(p);break;case"object":d.insert(function(){return p});break;default:d.html(p)}J4(d,s.labelStyle),d.style("display","inline-block"),d.style("white-space","nowrap");var v=d.node().getBoundingClientRect();return u.attr("width",v.width).attr("height",v.height),u}function nQt(i,s){var u=i;return u.node().appendChild(s.label),J4(u,s.labelStyle),u}function rQt(i,s){for(var u=i.append("text"),d=iQt(s.label).split(`
-`),p=0;p0}function Z4(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)});for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oeMath.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}}var Cme={rect:yQt,ellipse:xQt,circle:kQt,diamond:EQt};function wQt(i){Cme=i}function yQt(i,s,u){var d=i.insert("rect",":first-child").attr("rx",u.rx).attr("ry",u.ry).attr("x",-s.width/2).attr("y",-s.height/2).attr("width",s.width).attr("height",s.height);return u.intersect=function(p){return Tme(u,p)},d}function xQt(i,s,u){var d=s.width/2,p=s.height/2,v=i.insert("ellipse",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("rx",d).attr("ry",p);return u.intersect=function(b){return _Ve(u,d,p,b)},v}function kQt(i,s,u){var d=Math.max(s.width,s.height)/2,p=i.insert("circle",":first-child").attr("x",-s.width/2).attr("y",-s.height/2).attr("r",d);return u.intersect=function(v){return mQt(u,d,v)},p}function EQt(i,s,u){var d=s.width*Math.SQRT2/2,p=s.height*Math.SQRT2/2,v=[{x:0,y:-p},{x:-d,y:0},{x:0,y:p},{x:d,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(y){return y.x+","+y.y}).join(" "));return u.intersect=function(y){return Z4(u,v,y)},b}function TQt(){var i=function(s,u){_Qt(u);var d=AR(s,"output"),p=AR(d,"clusters"),v=AR(d,"edgePaths"),b=xme(AR(d,"edgeLabels"),u),y=Eme(AR(d,"nodes"),u,Cme);zD(u),bQt(y,u),pQt(b,u),kme(v,u,mme);var T=yme(p,u);gQt(T,u),AQt(u)};return i.createNodes=function(s){return arguments.length?(dQt(s),i):Eme},i.createClusters=function(s){return arguments.length?(sQt(s),i):yme},i.createEdgeLabels=function(s){return arguments.length?(aQt(s),i):xme},i.createEdgePaths=function(s){return arguments.length?(oQt(s),i):kme},i.shapes=function(s){return arguments.length?(wQt(s),i):Cme},i.arrows=function(s){return arguments.length?(JXt(s),i):mme},i}var CQt={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},SQt={arrowhead:"normal",curve:xp};function _Qt(i){i.nodes().forEach(s=>{const u=i.node(s);!Object.prototype.hasOwnProperty.call(u,"label")&&!i.children(s).length&&(u.label=s),Object.prototype.hasOwnProperty.call(u,"paddingX")&&jD(u,{paddingLeft:u.paddingX,paddingRight:u.paddingX}),Object.prototype.hasOwnProperty.call(u,"paddingY")&&jD(u,{paddingTop:u.paddingY,paddingBottom:u.paddingY}),Object.prototype.hasOwnProperty.call(u,"padding")&&jD(u,{paddingLeft:u.padding,paddingRight:u.padding,paddingTop:u.padding,paddingBottom:u.padding}),jD(u,CQt),["paddingLeft","paddingRight","paddingTop","paddingBottom"].forEach(d=>{u[d]=Number(u[d])}),Object.prototype.hasOwnProperty.call(u,"width")&&(u._prevWidth=u.width),Object.prototype.hasOwnProperty.call(u,"height")&&(u._prevHeight=u.height)}),i.edges().forEach(function(s){var u=i.edge(s);Object.prototype.hasOwnProperty.call(u,"label")||(u.label=""),jD(u,SQt)})}function AQt(i){i.nodes().forEach(s=>{var u=i.node(s);Object.prototype.hasOwnProperty.call(u,"_prevWidth")?u.width=u._prevWidth:delete u.width,Object.prototype.hasOwnProperty.call(u,"_prevHeight")?u.height=u._prevHeight:delete u.height,delete u._prevWidth,delete u._prevHeight})}function AR(i,s){var u=i.select("g."+s);return u.empty()&&(u=i.append("g").attr("class",s)),u}function LVe(i,s,u){const d=s.width,p=s.height,v=(d+p)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],y=$7(i,v,v,b);return u.intersect=function(T){return Z4(u,b,T)},y}function MVe(i,s,u){const p=s.height,v=p/4,b=s.width+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-p/2},{x:b-v,y:-p},{x:v,y:-p},{x:0,y:-p/2}],T=$7(i,b,p,y);return u.intersect=function(_){return Z4(u,y,_)},T}function DVe(i,s,u){const d=s.width,p=s.height,v=[{x:-p/2,y:0},{x:d,y:0},{x:d,y:-p},{x:-p/2,y:-p},{x:0,y:-p/2}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function IVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:p/6,y:-p}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function OVe(i,s,u){const d=s.width,p=s.height,v=[{x:2*p/6,y:0},{x:d+p/6,y:0},{x:d-2*p/6,y:-p},{x:-p/6,y:-p}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function NVe(i,s,u){const d=s.width,p=s.height,v=[{x:-2*p/6,y:0},{x:d+2*p/6,y:0},{x:d-p/6,y:-p},{x:p/6,y:-p}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function PVe(i,s,u){const d=s.width,p=s.height,v=[{x:p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:-2*p/6,y:-p}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function BVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d+p/2,y:0},{x:d,y:-p/2},{x:d+p/2,y:-p},{x:0,y:-p}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function FVe(i,s,u){const d=s.height,p=s.width+d/4,v=i.insert("rect",":first-child").attr("rx",d/2).attr("ry",d/2).attr("x",-p/2).attr("y",-d/2).attr("width",p).attr("height",d);return u.intersect=function(b){return Tme(u,b)},v}function RVe(i,s,u){const d=s.width,p=s.height,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}],b=$7(i,d,p,v);return u.intersect=function(y){return Z4(u,v,y)},b}function jVe(i,s,u){const d=s.width,p=d/2,v=p/(2.5+d/50),b=s.height+v,y="M 0,"+v+" a "+p+","+v+" 0,0,0 "+d+" 0 a "+p+","+v+" 0,0,0 "+-d+" 0 l 0,"+b+" a "+p+","+v+" 0,0,0 "+d+" 0 l 0,"+-b,T=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",y).attr("transform","translate("+-d/2+","+-(b/2+v)+")");return u.intersect=function(_){const A=Tme(u,_),P=A.x-u.x;if(p!=0&&(Math.abs(P)u.height/2-v)){let R=v*v*(1-P*P/(p*p));R!=0&&(R=Math.sqrt(R)),R=v-R,_.y-u.y>0&&(R=-R),A.y+=R}return A},T}function LQt(i){i.shapes().question=LVe,i.shapes().hexagon=MVe,i.shapes().stadium=FVe,i.shapes().subroutine=RVe,i.shapes().cylinder=jVe,i.shapes().rect_left_inv_arrow=DVe,i.shapes().lean_right=IVe,i.shapes().lean_left=OVe,i.shapes().trapezoid=NVe,i.shapes().inv_trapezoid=PVe,i.shapes().rect_right_inv_arrow=BVe}function MQt(i){i({question:LVe}),i({hexagon:MVe}),i({stadium:FVe}),i({subroutine:RVe}),i({cylinder:jVe}),i({rect_left_inv_arrow:DVe}),i({lean_right:IVe}),i({lean_left:OVe}),i({trapezoid:NVe}),i({inv_trapezoid:PVe}),i({rect_right_inv_arrow:BVe})}function $7(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("transform","translate("+-s/2+","+u/2+")")}const DQt={addToRender:LQt,addToRenderV2:MQt},$Ve={},IQt=function(i){const s=Object.keys(i);for(const u of s)$Ve[u]=i[u]},zVe=async function(i,s,u,d,p,v){const b=d?d.select(`[id="${u}"]`):Ir(`[id="${u}"]`),y=p||document,T=Object.keys(i);for(const _ of T){const A=i[_];let P="default";A.classes.length>0&&(P=A.classes.join(" "));const R=am(A.styles);let F=A.text!==void 0?A.text:A.id,j;if(u1(qt().flowchart.htmlLabels)){const ie={label:await TC(F.replace(/fa[blrs]?:fa-[\w-]+/g,oe=>``),qt())};j=vme(b,ie).node(),j.parentNode.removeChild(j)}else{const ie=y.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",R.labelStyle.replace("color:","fill:"));const oe=F.split(ci.lineBreakRegex);for(const be of oe){const ge=y.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}j=ie}let W=0,ee="";switch(A.type){case"round":W=5,ee="rect";break;case"square":ee="rect";break;case"diamond":ee="question";break;case"hexagon":ee="hexagon";break;case"odd":ee="rect_left_inv_arrow";break;case"lean_right":ee="lean_right";break;case"lean_left":ee="lean_left";break;case"trapezoid":ee="trapezoid";break;case"inv_trapezoid":ee="inv_trapezoid";break;case"odd_right":ee="rect_left_inv_arrow";break;case"circle":ee="circle";break;case"ellipse":ee="ellipse";break;case"stadium":ee="stadium";break;case"subroutine":ee="subroutine";break;case"cylinder":ee="cylinder";break;case"group":ee="rect";break;default:ee="rect"}Xe.warn("Adding node",A.id,A.domId),s.setNode(v.db.lookUpDomId(A.id),{labelType:"svg",labelStyle:R.labelStyle,shape:ee,label:j,rx:W,ry:W,class:P,style:R.style,id:v.db.lookUpDomId(A.id)})}},qVe=async function(i,s,u){let d=0,p,v;if(i.defaultStyle!==void 0){const b=am(i.defaultStyle);p=b.style,v=b.labelStyle}for(const b of i){d++;const y="L-"+b.start+"-"+b.end,T="LS-"+b.start,_="LE-"+b.end,A={};b.type==="arrow_open"?A.arrowhead="none":A.arrowhead="normal";let P="",R="";if(b.style!==void 0){const F=am(b.style);P=F.style,R=F.labelStyle}else switch(b.stroke){case"normal":P="fill:none",p!==void 0&&(P=p),v!==void 0&&(R=v);break;case"dotted":P="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":P=" stroke-width: 3.5px;fill:none";break}A.style=P,A.labelStyle=R,b.interpolate!==void 0?A.curve=Ov(b.interpolate,xp):i.defaultInterpolate!==void 0?A.curve=Ov(i.defaultInterpolate,xp):A.curve=Ov($Ve.curve,xp),b.text===void 0?b.style!==void 0&&(A.arrowheadStyle="fill: #333"):(A.arrowheadStyle="fill: #333",A.labelpos="c",u1(qt().flowchart.htmlLabels)?(A.labelType="html",A.label=`${await TC(b.text.replace(/fa[blrs]?:fa-[\w-]+/g,F=>``),qt())}`):(A.labelType="text",A.label=b.text.replace(ci.lineBreakRegex,`
-`),b.style===void 0&&(A.style=A.style||"stroke: #333; stroke-width: 1.5px;fill:none"),A.labelStyle=A.labelStyle.replace("color:","fill:"))),A.id=y,A.class=T+" "+_,A.minlen=b.length||1,s.setEdge(u.db.lookUpDomId(b.start),u.db.lookUpDomId(b.end),A,d)}},OQt={setConf:IQt,addVertices:zVe,addEdges:qVe,getClasses:function(i,s){return Xe.info("Extracting classes"),s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");const{securityLevel:p,flowchart:v}=qt();let b;p==="sandbox"&&(b=Ir("#i"+s));const y=Ir(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=p==="sandbox"?b.nodes()[0].contentDocument:document;let _=d.db.getDirection();_===void 0&&(_="TD");const A=v.nodeSpacing||50,P=v.rankSpacing||50,R=new N0({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:A,ranksep:P,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();for(let ne=j.length-1;ne>=0;ne--)F=j[ne],d.db.addVertex(F.id,F.title,"group",void 0,F.classes);const W=d.db.getVertices();Xe.warn("Get vertices",W);const ee=d.db.getEdges();let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],_Be("cluster").append("text");for(let ne=0;ne{s.forEach(p=>{FQt[p](i,u,d)})},FQt={extension:(i,s,u)=>{Xe.trace("Making markers for ",u),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionStart").attr("class","marker extension "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-extensionEnd").attr("class","marker extension "+s).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")},composition:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionStart").attr("class","marker composition "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-compositionEnd").attr("class","marker composition "+s).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:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationStart").attr("class","marker aggregation "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-aggregationEnd").attr("class","marker aggregation "+s).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")},dependency:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyStart").attr("class","marker dependency "+s).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"),i.append("defs").append("marker").attr("id",u+"_"+s+"-dependencyEnd").attr("class","marker dependency "+s).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")},lollipop:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopStart").attr("class","marker lollipop "+s).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),i.append("defs").append("marker").attr("id",u+"_"+s+"-lollipopEnd").attr("class","marker lollipop "+s).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)},point:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-pointEnd").attr("class","marker "+s).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"),i.append("marker").attr("id",u+"_"+s+"-pointStart").attr("class","marker "+s).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")},circle:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-circleEnd").attr("class","marker "+s).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"),i.append("marker").attr("id",u+"_"+s+"-circleStart").attr("class","marker "+s).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")},cross:(i,s,u)=>{i.append("marker").attr("id",u+"_"+s+"-crossEnd").attr("class","marker cross "+s).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"),i.append("marker").attr("id",u+"_"+s+"-crossStart").attr("class","marker cross "+s).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")},barb:(i,s,u)=>{i.append("defs").append("marker").attr("id",u+"_"+s+"-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")}},Sme=BQt;function RQt(i,s){s&&i.attr("style",s)}function jQt(i,s){const u=Ir(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),d=u.append("xhtml:div"),p=i.label,v=i.isNode?"nodeLabel":"edgeLabel";return d.html(yh('"+p+"",s)),RQt(d,i.labelStyle),d.style("display","inline-block"),d.style("white-space","nowrap"),d.attr("xmlns","http://www.w3.org/1999/xhtml"),u.node()}const z2=(i,s,u,d)=>{let p=i||"";typeof p=="object"&&(p=p[0]);const v=qt();if(u1(v.flowchart.htmlLabels)){p=p.replace(/\\n|\n/g,"
"),Xe.debug("vertexText"+p);const b={isNode:d,label:eR(p).replace(/fa[blrs]?:fa-[\w-]+/g,T=>``),labelStyle:s.replace("fill:","color:")};return jQt(b,v)}else{const b=document.createElementNS("http://www.w3.org/2000/svg","text");b.setAttribute("style",s.replace("color:","fill:"));let y=[];typeof p=="string"?y=p.split(/\\n|\n|
/gi):Array.isArray(p)?y=p:y=[];for(const T of y){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),u?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=T.trim(),b.appendChild(_)}return b}},$Qt={};function zQt(i,s){const u=s||$Qt,d=typeof u.includeImageAlt=="boolean"?u.includeImageAlt:!0,p=typeof u.includeHtml=="boolean"?u.includeHtml:!0;return HVe(i,d,p)}function HVe(i,s,u){if(qQt(i)){if("value"in i)return i.type==="html"&&!u?"":i.value;if(s&&"alt"in i&&i.alt)return i.alt;if("children"in i)return VVe(i.children,s,u)}return Array.isArray(i)?VVe(i,s,u):""}function VVe(i,s,u){const d=[];let p=-1;for(;++pp?0:p+s:s=s>p?p:s,u=u>0?u:0,d.length<1e4)b=Array.from(d),b.unshift(s,u),i.splice(...b);else for(u&&i.splice(s,u);v0?(e5(i,i.length,0,s),i):s}const UVe={}.hasOwnProperty;function HQt(i){const s={};let u=-1;for(;++ub))return;const se=s.events.length;let de=se,X,pe;for(;de--;)if(s.events[de][0]==="exit"&&s.events[de][1].type==="chunkFlow"){if(X){pe=s.events[de][1].end;break}X=!0}for(ie(d),ne=se;nebe;){const ae=u[ge];s.containerState=ae[1],ae[0].exit.call(s,i)}u.length=be}function oe(){p.write([null]),v=void 0,p=void 0,s.containerState._closeFlow=void 0}}function nJt(i,s,u){return Kl(i,i.attempt(this.parser.constructs.document,s,u),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function KVe(i){if(i===null||q2(i)||QQt(i))return 1;if(XQt(i))return 2}function Lme(i,s,u){const d=[];let p=-1;for(;++p1&&i[u][1].end.offset-i[u][1].start.offset>1?2:1;const P=Object.assign({},i[d][1].end),R=Object.assign({},i[u][1].start);WVe(P,-T),WVe(R,T),b={type:T>1?"strongSequence":"emphasisSequence",start:P,end:Object.assign({},i[d][1].end)},y={type:T>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[u][1].start),end:R},v={type:T>1?"strongText":"emphasisText",start:Object.assign({},i[d][1].end),end:Object.assign({},i[u][1].start)},p={type:T>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},y.end)},i[d][1].end=Object.assign({},b.start),i[u][1].start=Object.assign({},y.end),_=[],i[d][1].end.offset-i[d][1].start.offset&&(_=qv(_,[["enter",i[d][1],s],["exit",i[d][1],s]])),_=qv(_,[["enter",p,s],["enter",b,s],["exit",b,s],["enter",v,s]]),_=qv(_,Lme(s.parser.constructs.insideSpan.null,i.slice(d+1,u),s)),_=qv(_,[["exit",v,s],["enter",y,s],["exit",y,s],["exit",p,s]]),i[u][1].end.offset-i[u][1].start.offset?(A=2,_=qv(_,[["enter",i[u][1],s],["exit",i[u][1],s]])):A=0,e5(i,d-1,u-d+3,_),u=d+_.length-A-2;break}}for(u=-1;++u0&&Nu(ne)?Kl(i,oe,"linePrefix",v+1)(ne):oe(ne)}function oe(ne){return ne===null||so(ne)?i.check(ZVe,W,ge)(ne):(i.enter("codeFlowValue"),be(ne))}function be(ne){return ne===null||so(ne)?(i.exit("codeFlowValue"),oe(ne)):(i.consume(ne),be)}function ge(ne){return i.exit("codeFenced"),s(ne)}function ae(ne,se,de){let X=0;return pe;function pe(Ne){return ne.enter("lineEnding"),ne.consume(Ne),ne.exit("lineEnding"),G}function G(Ne){return ne.enter("codeFencedFence"),Nu(Ne)?Kl(ne,xe,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Ne):xe(Ne)}function xe(Ne){return Ne===y?(ne.enter("codeFencedFenceSequence"),U(Ne)):de(Ne)}function U(Ne){return Ne===y?(X++,ne.consume(Ne),U):X>=b?(ne.exit("codeFencedFenceSequence"),Nu(Ne)?Kl(ne,Be,"whitespace")(Ne):Be(Ne)):de(Ne)}function Be(Ne){return Ne===null||so(Ne)?(ne.exit("codeFencedFence"),se(Ne)):de(Ne)}}}function gJt(i,s,u){const d=this;return p;function p(b){return b===null?u(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}const Ime={name:"codeIndented",tokenize:bJt},pJt={tokenize:mJt,partial:!0};function bJt(i,s,u){const d=this;return p;function p(_){return i.enter("codeIndented"),Kl(i,v,"linePrefix",4+1)(_)}function v(_){const A=d.events[d.events.length-1];return A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?b(_):u(_)}function b(_){return _===null?T(_):so(_)?i.attempt(pJt,b,T)(_):(i.enter("codeFlowValue"),y(_))}function y(_){return _===null||so(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),y)}function T(_){return i.exit("codeIndented"),s(_)}}function mJt(i,s,u){const d=this;return p;function p(b){return d.parser.lazy[d.now().line]?u(b):so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),p):Kl(i,v,"linePrefix",4+1)(b)}function v(b){const y=d.events[d.events.length-1];return y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?s(b):so(b)?p(b):u(b)}}const vJt={name:"codeText",tokenize:xJt,resolve:wJt,previous:yJt};function wJt(i){let s=i.length-4,u=3,d,p;if((i[u][1].type==="lineEnding"||i[u][1].type==="space")&&(i[s][1].type==="lineEnding"||i[s][1].type==="space")){for(d=u;++d=4?s(b):i.interrupt(d.parser.constructs.flow,u,s)(b)}}function nUe(i,s,u,d,p,v,b,y,T){const _=T||Number.POSITIVE_INFINITY;let A=0;return P;function P(ie){return ie===60?(i.enter(d),i.enter(p),i.enter(v),i.consume(ie),i.exit(v),R):ie===null||ie===32||ie===41||_me(ie)?u(ie):(i.enter(d),i.enter(b),i.enter(y),i.enter("chunkString",{contentType:"string"}),W(ie))}function R(ie){return ie===62?(i.enter(v),i.consume(ie),i.exit(v),i.exit(p),i.exit(d),s):(i.enter(y),i.enter("chunkString",{contentType:"string"}),F(ie))}function F(ie){return ie===62?(i.exit("chunkString"),i.exit(y),R(ie)):ie===null||ie===60||so(ie)?u(ie):(i.consume(ie),ie===92?j:F)}function j(ie){return ie===60||ie===62||ie===92?(i.consume(ie),F):F(ie)}function W(ie){return!A&&(ie===null||ie===41||q2(ie))?(i.exit("chunkString"),i.exit(y),i.exit(b),i.exit(d),s(ie)):A<_&&ie===40?(i.consume(ie),A++,W):ie===41?(i.consume(ie),A--,W):ie===null||ie===32||ie===40||_me(ie)?u(ie):(i.consume(ie),ie===92?ee:W)}function ee(ie){return ie===40||ie===41||ie===92?(i.consume(ie),W):W(ie)}}function rUe(i,s,u,d,p,v){const b=this;let y=0,T;return _;function _(F){return i.enter(d),i.enter(p),i.consume(F),i.exit(p),i.enter(v),A}function A(F){return y>999||F===null||F===91||F===93&&!T||F===94&&!y&&"_hiddenFootnoteSupport"in b.parser.constructs?u(F):F===93?(i.exit(v),i.enter(p),i.consume(F),i.exit(p),i.exit(d),s):so(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),A):(i.enter("chunkString",{contentType:"string"}),P(F))}function P(F){return F===null||F===91||F===93||so(F)||y++>999?(i.exit("chunkString"),A(F)):(i.consume(F),T||(T=!Nu(F)),F===92?R:P)}function R(F){return F===91||F===92||F===93?(i.consume(F),y++,P):P(F)}}function iUe(i,s,u,d,p,v){let b;return y;function y(R){return R===34||R===39||R===40?(i.enter(d),i.enter(p),i.consume(R),i.exit(p),b=R===40?41:R,T):u(R)}function T(R){return R===b?(i.enter(p),i.consume(R),i.exit(p),i.exit(d),s):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),T(b)):R===null?u(R):so(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Kl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),A(R))}function A(R){return R===b||R===null||so(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?P:A)}function P(R){return R===b||R===92?(i.consume(R),A):A(R)}}function LR(i,s){let u;return d;function d(p){return so(p)?(i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),u=!0,d):Nu(p)?Kl(i,d,u?"linePrefix":"lineSuffix")(p):s(p)}}function qD(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const AJt={name:"definition",tokenize:MJt},LJt={tokenize:DJt,partial:!0};function MJt(i,s,u){const d=this;let p;return v;function v(F){return i.enter("definition"),b(F)}function b(F){return rUe.call(d,i,y,u,"definitionLabel","definitionLabelMarker","definitionLabelString")(F)}function y(F){return p=qD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)),F===58?(i.enter("definitionMarker"),i.consume(F),i.exit("definitionMarker"),T):u(F)}function T(F){return q2(F)?LR(i,_)(F):_(F)}function _(F){return nUe(i,A,u,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(F)}function A(F){return i.attempt(LJt,P,P)(F)}function P(F){return Nu(F)?Kl(i,R,"whitespace")(F):R(F)}function R(F){return F===null||so(F)?(i.exit("definition"),d.parser.defined.push(p),s(F)):u(F)}}function DJt(i,s,u){return d;function d(y){return q2(y)?LR(i,p)(y):u(y)}function p(y){return iUe(i,v,u,"definitionTitle","definitionTitleMarker","definitionTitleString")(y)}function v(y){return Nu(y)?Kl(i,b,"whitespace")(y):b(y)}function b(y){return y===null||so(y)?s(y):u(y)}}const IJt={name:"hardBreakEscape",tokenize:OJt};function OJt(i,s,u){return d;function d(v){return i.enter("hardBreakEscape"),i.consume(v),p}function p(v){return so(v)?(i.exit("hardBreakEscape"),s(v)):u(v)}}const NJt={name:"headingAtx",tokenize:BJt,resolve:PJt};function PJt(i,s){let u=i.length-2,d=3,p,v;return i[d][1].type==="whitespace"&&(d+=2),u-2>d&&i[u][1].type==="whitespace"&&(u-=2),i[u][1].type==="atxHeadingSequence"&&(d===u-1||u-4>d&&i[u-2][1].type==="whitespace")&&(u-=d+1===u?2:4),u>d&&(p={type:"atxHeadingText",start:i[d][1].start,end:i[u][1].end},v={type:"chunkText",start:i[d][1].start,end:i[u][1].end,contentType:"text"},e5(i,d,u-d+1,[["enter",p,s],["enter",v,s],["exit",v,s],["exit",p,s]])),i}function BJt(i,s,u){let d=0;return p;function p(A){return i.enter("atxHeading"),v(A)}function v(A){return i.enter("atxHeadingSequence"),b(A)}function b(A){return A===35&&d++<6?(i.consume(A),b):A===null||q2(A)?(i.exit("atxHeadingSequence"),y(A)):u(A)}function y(A){return A===35?(i.enter("atxHeadingSequence"),T(A)):A===null||so(A)?(i.exit("atxHeading"),s(A)):Nu(A)?Kl(i,y,"whitespace")(A):(i.enter("atxHeadingText"),_(A))}function T(A){return A===35?(i.consume(A),T):(i.exit("atxHeadingSequence"),y(A))}function _(A){return A===null||A===35||q2(A)?(i.exit("atxHeadingText"),y(A)):(i.consume(A),_)}}const FJt=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],sUe=["pre","script","style","textarea"],RJt={name:"htmlFlow",tokenize:qJt,resolveTo:zJt,concrete:!0},jJt={tokenize:VJt,partial:!0},$Jt={tokenize:HJt,partial:!0};function zJt(i){let s=i.length;for(;s--&&!(i[s][0]==="enter"&&i[s][1].type==="htmlFlow"););return s>1&&i[s-2][1].type==="linePrefix"&&(i[s][1].start=i[s-2][1].start,i[s+1][1].start=i[s-2][1].start,i.splice(s-2,2)),i}function qJt(i,s,u){const d=this;let p,v,b,y,T;return _;function _(Pe){return A(Pe)}function A(Pe){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Pe),P}function P(Pe){return Pe===33?(i.consume(Pe),R):Pe===47?(i.consume(Pe),v=!0,W):Pe===63?(i.consume(Pe),p=3,d.interrupt?s:ke):t5(Pe)?(i.consume(Pe),b=String.fromCharCode(Pe),ee):u(Pe)}function R(Pe){return Pe===45?(i.consume(Pe),p=2,F):Pe===91?(i.consume(Pe),p=5,y=0,j):t5(Pe)?(i.consume(Pe),p=4,d.interrupt?s:ke):u(Pe)}function F(Pe){return Pe===45?(i.consume(Pe),d.interrupt?s:ke):u(Pe)}function j(Pe){const gn="CDATA[";return Pe===gn.charCodeAt(y++)?(i.consume(Pe),y===gn.length?d.interrupt?s:xe:j):u(Pe)}function W(Pe){return t5(Pe)?(i.consume(Pe),b=String.fromCharCode(Pe),ee):u(Pe)}function ee(Pe){if(Pe===null||Pe===47||Pe===62||q2(Pe)){const gn=Pe===47,kt=b.toLowerCase();return!gn&&!v&&sUe.includes(kt)?(p=1,d.interrupt?s(Pe):xe(Pe)):FJt.includes(b.toLowerCase())?(p=6,gn?(i.consume(Pe),ie):d.interrupt?s(Pe):xe(Pe)):(p=7,d.interrupt&&!d.parser.lazy[d.now().line]?u(Pe):v?oe(Pe):be(Pe))}return Pe===45||H3(Pe)?(i.consume(Pe),b+=String.fromCharCode(Pe),ee):u(Pe)}function ie(Pe){return Pe===62?(i.consume(Pe),d.interrupt?s:xe):u(Pe)}function oe(Pe){return Nu(Pe)?(i.consume(Pe),oe):pe(Pe)}function be(Pe){return Pe===47?(i.consume(Pe),pe):Pe===58||Pe===95||t5(Pe)?(i.consume(Pe),ge):Nu(Pe)?(i.consume(Pe),be):pe(Pe)}function ge(Pe){return Pe===45||Pe===46||Pe===58||Pe===95||H3(Pe)?(i.consume(Pe),ge):ae(Pe)}function ae(Pe){return Pe===61?(i.consume(Pe),ne):Nu(Pe)?(i.consume(Pe),ae):be(Pe)}function ne(Pe){return Pe===null||Pe===60||Pe===61||Pe===62||Pe===96?u(Pe):Pe===34||Pe===39?(i.consume(Pe),T=Pe,se):Nu(Pe)?(i.consume(Pe),ne):de(Pe)}function se(Pe){return Pe===T?(i.consume(Pe),T=null,X):Pe===null||so(Pe)?u(Pe):(i.consume(Pe),se)}function de(Pe){return Pe===null||Pe===34||Pe===39||Pe===47||Pe===60||Pe===61||Pe===62||Pe===96||q2(Pe)?ae(Pe):(i.consume(Pe),de)}function X(Pe){return Pe===47||Pe===62||Nu(Pe)?be(Pe):u(Pe)}function pe(Pe){return Pe===62?(i.consume(Pe),G):u(Pe)}function G(Pe){return Pe===null||so(Pe)?xe(Pe):Nu(Pe)?(i.consume(Pe),G):u(Pe)}function xe(Pe){return Pe===45&&p===2?(i.consume(Pe),je):Pe===60&&p===1?(i.consume(Pe),Ie):Pe===62&&p===4?(i.consume(Pe),Ke):Pe===63&&p===3?(i.consume(Pe),ke):Pe===93&&p===5?(i.consume(Pe),Ce):so(Pe)&&(p===6||p===7)?(i.exit("htmlFlowData"),i.check(jJt,Ft,U)(Pe)):Pe===null||so(Pe)?(i.exit("htmlFlowData"),U(Pe)):(i.consume(Pe),xe)}function U(Pe){return i.check($Jt,Be,Ft)(Pe)}function Be(Pe){return i.enter("lineEnding"),i.consume(Pe),i.exit("lineEnding"),Ne}function Ne(Pe){return Pe===null||so(Pe)?U(Pe):(i.enter("htmlFlowData"),xe(Pe))}function je(Pe){return Pe===45?(i.consume(Pe),ke):xe(Pe)}function Ie(Pe){return Pe===47?(i.consume(Pe),b="",Se):xe(Pe)}function Se(Pe){if(Pe===62){const gn=b.toLowerCase();return sUe.includes(gn)?(i.consume(Pe),Ke):xe(Pe)}return t5(Pe)&&b.length<8?(i.consume(Pe),b+=String.fromCharCode(Pe),Se):xe(Pe)}function Ce(Pe){return Pe===93?(i.consume(Pe),ke):xe(Pe)}function ke(Pe){return Pe===62?(i.consume(Pe),Ke):Pe===45&&p===2?(i.consume(Pe),ke):xe(Pe)}function Ke(Pe){return Pe===null||so(Pe)?(i.exit("htmlFlowData"),Ft(Pe)):(i.consume(Pe),Ke)}function Ft(Pe){return i.exit("htmlFlow"),s(Pe)}}function HJt(i,s,u){const d=this;return p;function p(b){return so(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):u(b)}function v(b){return d.parser.lazy[d.now().line]?u(b):s(b)}}function VJt(i,s,u){return d;function d(p){return i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),i.attempt(YQ,s,u)}}const UJt={name:"htmlText",tokenize:GJt};function GJt(i,s,u){const d=this;let p,v,b;return y;function y(ke){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(ke),T}function T(ke){return ke===33?(i.consume(ke),_):ke===47?(i.consume(ke),ae):ke===63?(i.consume(ke),be):t5(ke)?(i.consume(ke),de):u(ke)}function _(ke){return ke===45?(i.consume(ke),A):ke===91?(i.consume(ke),v=0,j):t5(ke)?(i.consume(ke),oe):u(ke)}function A(ke){return ke===45?(i.consume(ke),F):u(ke)}function P(ke){return ke===null?u(ke):ke===45?(i.consume(ke),R):so(ke)?(b=P,Ie(ke)):(i.consume(ke),P)}function R(ke){return ke===45?(i.consume(ke),F):P(ke)}function F(ke){return ke===62?je(ke):ke===45?R(ke):P(ke)}function j(ke){const Ke="CDATA[";return ke===Ke.charCodeAt(v++)?(i.consume(ke),v===Ke.length?W:j):u(ke)}function W(ke){return ke===null?u(ke):ke===93?(i.consume(ke),ee):so(ke)?(b=W,Ie(ke)):(i.consume(ke),W)}function ee(ke){return ke===93?(i.consume(ke),ie):W(ke)}function ie(ke){return ke===62?je(ke):ke===93?(i.consume(ke),ie):W(ke)}function oe(ke){return ke===null||ke===62?je(ke):so(ke)?(b=oe,Ie(ke)):(i.consume(ke),oe)}function be(ke){return ke===null?u(ke):ke===63?(i.consume(ke),ge):so(ke)?(b=be,Ie(ke)):(i.consume(ke),be)}function ge(ke){return ke===62?je(ke):be(ke)}function ae(ke){return t5(ke)?(i.consume(ke),ne):u(ke)}function ne(ke){return ke===45||H3(ke)?(i.consume(ke),ne):se(ke)}function se(ke){return so(ke)?(b=se,Ie(ke)):Nu(ke)?(i.consume(ke),se):je(ke)}function de(ke){return ke===45||H3(ke)?(i.consume(ke),de):ke===47||ke===62||q2(ke)?X(ke):u(ke)}function X(ke){return ke===47?(i.consume(ke),je):ke===58||ke===95||t5(ke)?(i.consume(ke),pe):so(ke)?(b=X,Ie(ke)):Nu(ke)?(i.consume(ke),X):je(ke)}function pe(ke){return ke===45||ke===46||ke===58||ke===95||H3(ke)?(i.consume(ke),pe):G(ke)}function G(ke){return ke===61?(i.consume(ke),xe):so(ke)?(b=G,Ie(ke)):Nu(ke)?(i.consume(ke),G):X(ke)}function xe(ke){return ke===null||ke===60||ke===61||ke===62||ke===96?u(ke):ke===34||ke===39?(i.consume(ke),p=ke,U):so(ke)?(b=xe,Ie(ke)):Nu(ke)?(i.consume(ke),xe):(i.consume(ke),Be)}function U(ke){return ke===p?(i.consume(ke),p=void 0,Ne):ke===null?u(ke):so(ke)?(b=U,Ie(ke)):(i.consume(ke),U)}function Be(ke){return ke===null||ke===34||ke===39||ke===60||ke===61||ke===96?u(ke):ke===47||ke===62||q2(ke)?X(ke):(i.consume(ke),Be)}function Ne(ke){return ke===47||ke===62||q2(ke)?X(ke):u(ke)}function je(ke){return ke===62?(i.consume(ke),i.exit("htmlTextData"),i.exit("htmlText"),s):u(ke)}function Ie(ke){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(ke),i.exit("lineEnding"),Se}function Se(ke){return Nu(ke)?Kl(i,Ce,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ke):Ce(ke)}function Ce(ke){return i.enter("htmlTextData"),b(ke)}}const Ome={name:"labelEnd",tokenize:JJt,resolveTo:QJt,resolveAll:XJt},KJt={tokenize:ZJt},WJt={tokenize:eZt},YJt={tokenize:tZt};function XJt(i){let s=-1;for(;++s=3&&(_===null||so(_))?(i.exit("thematicBreak"),s(_)):u(_)}function T(_){return _===p?(i.consume(_),d++,T):(i.exit("thematicBreakSequence"),Nu(_)?Kl(i,y,"whitespace")(_):y(_))}}const H2={name:"list",tokenize:lZt,continuation:{tokenize:hZt},exit:dZt},cZt={tokenize:gZt,partial:!0},uZt={tokenize:fZt,partial:!0};function lZt(i,s,u){const d=this,p=d.events[d.events.length-1];let v=p&&p[1].type==="linePrefix"?p[2].sliceSerialize(p[1],!0).length:0,b=0;return y;function y(F){const j=d.containerState.type||(F===42||F===43||F===45?"listUnordered":"listOrdered");if(j==="listUnordered"?!d.containerState.marker||F===d.containerState.marker:Ame(F)){if(d.containerState.type||(d.containerState.type=j,i.enter(j,{_container:!0})),j==="listUnordered")return i.enter("listItemPrefix"),F===42||F===45?i.check(XQ,u,_)(F):_(F);if(!d.interrupt||F===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),T(F)}return u(F)}function T(F){return Ame(F)&&++b<10?(i.consume(F),T):(!d.interrupt||b<2)&&(d.containerState.marker?F===d.containerState.marker:F===41||F===46)?(i.exit("listItemValue"),_(F)):u(F)}function _(F){return i.enter("listItemMarker"),i.consume(F),i.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||F,i.check(YQ,d.interrupt?u:A,i.attempt(cZt,R,P))}function A(F){return d.containerState.initialBlankLine=!0,v++,R(F)}function P(F){return Nu(F)?(i.enter("listItemPrefixWhitespace"),i.consume(F),i.exit("listItemPrefixWhitespace"),R):u(F)}function R(F){return d.containerState.size=v+d.sliceSerialize(i.exit("listItemPrefix"),!0).length,s(F)}}function hZt(i,s,u){const d=this;return d.containerState._closeFlow=void 0,i.check(YQ,p,v);function p(y){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,Kl(i,s,"listItemIndent",d.containerState.size+1)(y)}function v(y){return d.containerState.furtherBlankLines||!Nu(y)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,b(y)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,i.attempt(uZt,s,b)(y))}function b(y){return d.containerState._closeFlow=!0,d.interrupt=void 0,Kl(i,i.attempt(H2,s,u),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y)}}function fZt(i,s,u){const d=this;return Kl(i,p,"listItemIndent",d.containerState.size+1);function p(v){const b=d.events[d.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===d.containerState.size?s(v):u(v)}}function dZt(i){i.exit(this.containerState.type)}function gZt(i,s,u){const d=this;return Kl(i,p,"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function p(v){const b=d.events[d.events.length-1];return!Nu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?s(v):u(v)}}const aUe={name:"setextUnderline",tokenize:bZt,resolveTo:pZt};function pZt(i,s){let u=i.length,d,p,v;for(;u--;)if(i[u][0]==="enter"){if(i[u][1].type==="content"){d=u;break}i[u][1].type==="paragraph"&&(p=u)}else i[u][1].type==="content"&&i.splice(u,1),!v&&i[u][1].type==="definition"&&(v=u);const b={type:"setextHeading",start:Object.assign({},i[p][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[p][1].type="setextHeadingText",v?(i.splice(p,0,["enter",b,s]),i.splice(v+1,0,["exit",i[d][1],s]),i[d][1].end=Object.assign({},i[v][1].end)):i[d][1]=b,i.push(["exit",b,s]),i}function bZt(i,s,u){const d=this;let p;return v;function v(_){let A=d.events.length,P;for(;A--;)if(d.events[A][1].type!=="lineEnding"&&d.events[A][1].type!=="linePrefix"&&d.events[A][1].type!=="content"){P=d.events[A][1].type==="paragraph";break}return!d.parser.lazy[d.now().line]&&(d.interrupt||P)?(i.enter("setextHeadingLine"),p=_,b(_)):u(_)}function b(_){return i.enter("setextHeadingLineSequence"),y(_)}function y(_){return _===p?(i.consume(_),y):(i.exit("setextHeadingLineSequence"),Nu(_)?Kl(i,T,"lineSuffix")(_):T(_))}function T(_){return _===null||so(_)?(i.exit("setextHeadingLine"),s(_)):u(_)}}const mZt={tokenize:vZt};function vZt(i){const s=this,u=i.attempt(YQ,d,i.attempt(this.parser.constructs.flowInitial,p,Kl(i,i.attempt(this.parser.constructs.flow,p,i.attempt(EJt,p)),"linePrefix")));return u;function d(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),s.currentConstruct=void 0,u}function p(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),s.currentConstruct=void 0,u}}const wZt={resolveAll:cUe()},yZt=oUe("string"),xZt=oUe("text");function oUe(i){return{tokenize:s,resolveAll:cUe(i==="text"?kZt:void 0)};function s(u){const d=this,p=this.parser.constructs[i],v=u.attempt(p,b,y);return b;function b(A){return _(A)?v(A):y(A)}function y(A){if(A===null){u.consume(A);return}return u.enter("data"),u.consume(A),T}function T(A){return _(A)?(u.exit("data"),v(A)):(u.consume(A),T)}function _(A){if(A===null)return!0;const P=p[A];let R=-1;if(P)for(;++R-1){const y=b[0];typeof y=="string"?b[0]=y.slice(d):b.shift()}v>0&&b.push(i[p].slice(0,v))}return b}function CZt(i,s){let u=-1;const d=[];let p;for(;++u13&&u<32||u>126&&u<160||u>55295&&u<57344||u>64975&&u<65008||(u&65535)===65535||(u&65535)===65534||u>1114111?"�":String.fromCharCode(u)}const MZt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function DZt(i){return i.replace(MZt,IZt)}function IZt(i,s,u){if(s)return s;if(u.charCodeAt(0)===35){const p=u.charCodeAt(1),v=p===120||p===88;return lUe(u.slice(v?2:1),v?16:10)}return Dme(u)||i}function QQ(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?hUe(i.position):"start"in i||"end"in i?hUe(i):"line"in i||"column"in i?Pme(i):""}function Pme(i){return fUe(i&&i.line)+":"+fUe(i&&i.column)}function hUe(i){return Pme(i&&i.start)+"-"+Pme(i&&i.end)}function fUe(i){return i&&typeof i=="number"?i:1}const dUe={}.hasOwnProperty,gUe=function(i,s,u){return typeof s!="string"&&(u=s,s=void 0),OZt(u)(LZt(_Zt(u).document().write(AZt()(i,s,!0))))};function OZt(i){const s={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:y(Ba),autolinkProtocol:G,autolinkEmail:G,atxHeading:y(zr),blockQuote:y(Ze),characterEscape:G,characterReference:G,codeFenced:y(At),codeFencedFenceInfo:T,codeFencedFenceMeta:T,codeIndented:y(At,T),codeText:y(Tt,T),codeTextData:G,data:G,codeFlowValue:G,definition:y(On),definitionDestinationString:T,definitionLabelString:T,definitionTitleString:T,emphasis:y(ht),hardBreakEscape:y(yt),hardBreakTrailing:y(yt),htmlFlow:y(Fi,T),htmlFlowData:G,htmlText:y(Fi,T),htmlTextData:G,image:y(yi),label:T,link:y(Ba),listItem:y(Ro),listItemValue:j,listOrdered:y(na,F),listUnordered:y(na),paragraph:y(_r),reference:kt,referenceString:T,resourceDestinationString:T,resourceTitleString:T,setextHeading:y(zr),strong:y(Nn),thematicBreak:y(qn)},exit:{atxHeading:A(),atxHeadingSequence:se,autolink:A(),autolinkEmail:Pt,autolinkProtocol:xt,blockQuote:A(),characterEscapeValue:xe,characterReferenceMarkerHexadecimal:Gt,characterReferenceMarkerNumeric:Gt,characterReferenceValue:ln,codeFenced:A(oe),codeFencedFence:ie,codeFencedFenceInfo:W,codeFencedFenceMeta:ee,codeFlowValue:xe,codeIndented:A(be),codeText:A(Ie),codeTextData:xe,data:xe,definition:A(),definitionDestinationString:ne,definitionLabelString:ge,definitionTitleString:ae,emphasis:A(),hardBreakEscape:A(Be),hardBreakTrailing:A(Be),htmlFlow:A(Ne),htmlFlowData:xe,htmlText:A(je),htmlTextData:xe,image:A(Ce),label:Ke,labelText:ke,lineEnding:U,link:A(Se),listItem:A(),listOrdered:A(),listUnordered:A(),paragraph:A(),referenceString:Et,resourceDestinationString:Ft,resourceTitleString:Pe,resource:gn,setextHeading:A(pe),setextHeadingLineSequence:X,setextHeadingText:de,strong:A(),thematicBreak:A()}};pUe(s,(i||{}).mdastExtensions||[]);const u={};return d;function d(Lt){let wt={type:"root",children:[]};const cn={stack:[wt],tokenStack:[],config:s,enter:_,exit:P,buffer:T,resume:R,setData:v,getData:b},fn=[];let Mn=-1;for(;++Mn0){const mo=cn.tokenStack[cn.tokenStack.length-1];(mo[1]||bUe).call(cn,void 0,mo[0])}for(wt.position={start:O9(Lt.length>0?Lt[0][1].start:{line:1,column:1,offset:0}),end:O9(Lt.length>0?Lt[Lt.length-2][1].end:{line:1,column:1,offset:0})},Mn=-1;++Mn{A!==0&&(p++,d.push([])),_.split(" ").forEach(P=>{P&&d[p].push({content:P,type:y})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(T=>{v(T,b.type)})}return u.forEach(b=>{b.type==="paragraph"&&b.children.forEach(y=>{v(y)})}),d}function FZt(i){const{children:s}=gUe(i);function u(d){return d.type==="text"?d.value.replace(/\n/g,"
"):d.type==="strong"?`${d.children.map(u).join("")}`:d.type==="emphasis"?`${d.children.map(u).join("")}`:d.type==="paragraph"?`${d.children.map(u).join("")}
`:`Unsupported markdown: ${d.type}`}return s.map(u).join("")}function RZt(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(s=>s.segment):[...i]}function jZt(i,s){const u=RZt(s.content);return mUe(i,[],u,s.type)}function mUe(i,s,u,d){if(u.length===0)return[{content:s.join(""),type:d},{content:"",type:d}];const[p,...v]=u,b=[...s,p];return i([{content:b.join(""),type:d}])?mUe(i,b,v,d):(s.length===0&&p&&(s.push(p),u.shift()),[{content:s.join(""),type:d},{content:u.join(""),type:d}])}function $Zt(i,s){if(i.some(({content:u})=>u.includes(`
-`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bme(i,s)}function Bme(i,s,u=[],d=[]){if(i.length===0)return d.length>0&&u.push(d),u.length>0?u:[];let p="";i[0].content===" "&&(p=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...d];if(p!==""&&b.push({content:p,type:"normal"}),b.push(v),s(b))return Bme(i,s,u,b);if(d.length>0)u.push(d),i.unshift(v);else if(v.content){const[y,T]=jZt(s,v);u.push([y]),T.content&&i.unshift(T)}return Bme(i,s,u)}function zZt(i,s){s&&i.attr("style",s)}function qZt(i,s,u,d,p=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),y=s.label,T=s.isNode?"nodeLabel":"edgeLabel";b.html(yh(`
- "+y+"",xh())),zZt(b,s.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",u+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),p&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===u&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",u+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Fme(i,s,u){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",s*u-.1+"em").attr("dy",u+"em")}function HZt(i,s,u){const d=i.append("text"),p=Fme(d,1,s);Rme(p,u);const v=p.node().getComputedTextLength();return d.remove(),v}function VZt(i,s,u){var b;const d=i.append("text"),p=Fme(d,1,s);Rme(p,[{content:u,type:"normal"}]);const v=(b=p.node())==null?void 0:b.getBoundingClientRect();return v&&d.remove(),v}function UZt(i,s,u,d=!1){const v=s.append("g"),b=v.insert("rect").attr("class","background"),y=v.append("text").attr("y","-10.1");let T=0;for(const _ of u){const A=R=>HZt(v,1.1,R)<=i,P=A(_)?[_]:$Zt(_,A);for(const R of P){const F=Fme(y,T,1.1);Rme(F,R),T++}}if(d){const _=y.node().getBBox(),A=2;return b.attr("x",-A).attr("y",-A).attr("width",_.width+2*A).attr("height",_.height+2*A),v.node()}else return y.node()}function Rme(i,s){i.text(""),s.forEach((u,d)=>{const p=i.append("tspan").attr("font-style",u.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",u.type==="strong"?"bold":"normal");d===0?p.text(u.content):p.text(" "+u.content)})}const JQ=(i,s="",{style:u="",isTitle:d=!1,classes:p="",useHtmlLabels:v=!0,isNode:b=!0,width:y=200,addSvgBackground:T=!1}={})=>{if(Xe.info("createText",s,u,d,p,v,b,T),v){const _=FZt(s),A={isNode:b,label:eR(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>``),labelStyle:u.replace("fill:","color:")};return qZt(i,A,y,p,T)}else{const _=BZt(s);return UZt(y,i,_,T)}},h1=async(i,s,u,d)=>{let p;const v=s.useHtmlLabels||u1(qt().flowchart.htmlLabels);u?p=u:p="node default";const b=i.insert("g").attr("class",p).attr("id",s.domId||s.id),y=b.insert("g").attr("class","label").attr("style",s.labelStyle);let T;s.labelText===void 0?T="":T=typeof s.labelText=="string"?s.labelText:s.labelText[0];const _=y.node();let A;s.labelType==="markdown"?A=JQ(y,yh(eR(T),qt()),{useHtmlLabels:v,width:s.width||qt().flowchart.wrappingWidth,classes:"markdown-node-label"}):A=_.appendChild(z2(yh(eR(T),qt()),s.labelStyle,!1,d));let P=A.getBBox();const R=s.padding/2;if(u1(qt().flowchart.htmlLabels)){const F=A.children[0],j=Ir(A),W=F.getElementsByTagName("img");if(W){const ee=T.replace(/
]*>/g,"").trim()==="";await Promise.all([...W].map(ie=>new Promise(oe=>{function be(){if(ie.style.display="flex",ie.style.flexDirection="column",ee){const ge=qt().fontSize?qt().fontSize:window.getComputedStyle(document.body).fontSize,ae=5,ne=parseInt(ge,10)*ae+"px";ie.style.minWidth=ne,ie.style.maxWidth=ne}else ie.style.width="100%";oe(ie)}setTimeout(()=>{ie.complete&&be()}),ie.addEventListener("error",be),ie.addEventListener("load",be)})))}P=F.getBoundingClientRect(),j.attr("width",P.width),j.attr("height",P.height)}return v?y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"):y.attr("transform","translate(0, "+-P.height/2+")"),s.centerLabel&&y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),y.insert("rect",":first-child"),{shapeSvg:b,bbox:P,halfPadding:R,label:y}},Wh=(i,s)=>{const u=s.node().getBBox();i.width=u.width,i.height=u.height};function n5(i,s,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-s/2+","+u/2+")")}let _o={},V3={},vUe={};const GZt=()=>{V3={},vUe={},_o={}},ZQ=(i,s)=>(Xe.trace("In isDescendant",s," ",i," = ",V3[s].includes(i)),!!V3[s].includes(i)),KZt=(i,s)=>(Xe.info("Descendants of ",s," is ",V3[s]),Xe.info("Edge is ",i),i.v===s||i.w===s?!1:V3[s]?V3[s].includes(i.v)||ZQ(i.v,s)||ZQ(i.w,s)||V3[s].includes(i.w):(Xe.debug("Tilt, ",s,",not in descendants"),!1)),wUe=(i,s,u,d)=>{Xe.warn("Copying children of ",i,"root",d,"data",s.node(i),d);const p=s.children(i)||[];i!==d&&p.push(i),Xe.warn("Copying (nodes) clusterId",i,"nodes",p),p.forEach(v=>{if(s.children(v).length>0)wUe(v,s,u,d);else{const b=s.node(v);Xe.info("cp ",v," to ",d," with parent ",i),u.setNode(v,b),d!==s.parent(v)&&(Xe.warn("Setting parent",v,s.parent(v)),u.setParent(v,s.parent(v))),i!==d&&v!==i?(Xe.debug("Setting parent",v,i),u.setParent(v,i)):(Xe.info("In copy ",i,"root",d,"data",s.node(i),d),Xe.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==d,"node!==clusterId",v!==i));const y=s.edges(v);Xe.debug("Copying Edges",y),y.forEach(T=>{Xe.info("Edge",T);const _=s.edge(T.v,T.w,T.name);Xe.info("Edge data",_,d);try{KZt(T,d)?(Xe.info("Copying as ",T.v,T.w,_,T.name),u.setEdge(T.v,T.w,_,T.name),Xe.info("newGraph edges ",u.edges(),u.edge(u.edges()[0]))):Xe.info("Skipping copy of edge ",T.v,"-->",T.w," rootId: ",d," clusterId:",i)}catch(A){Xe.error(A)}})}Xe.debug("Removing node",v),s.removeNode(v)})},yUe=(i,s)=>{const u=s.children(i);let d=[...u];for(const p of u)vUe[p]=i,d=[...d,...yUe(p,s)];return d},MR=(i,s)=>{Xe.trace("Searching",i);const u=s.children(i);if(Xe.trace("Searching children of id ",i,u),u.length<1)return Xe.trace("This is a valid node",i),i;for(const d of u){const p=MR(d,s);if(p)return Xe.trace("Found replacement for",i," => ",p),p}},eJ=i=>!_o[i]||!_o[i].externalConnections?i:_o[i]?_o[i].id:i,WZt=(i,s)=>{if(!i||s>10){Xe.debug("Opting out, no graph ");return}else Xe.debug("Opting in, graph ");i.nodes().forEach(function(u){i.children(u).length>0&&(Xe.warn("Cluster identified",u," Replacement id in edges: ",MR(u,i)),V3[u]=yUe(u,i),_o[u]={id:MR(u,i),clusterData:i.node(u)})}),i.nodes().forEach(function(u){const d=i.children(u),p=i.edges();d.length>0?(Xe.debug("Cluster identified",u,V3),p.forEach(v=>{if(v.v!==u&&v.w!==u){const b=ZQ(v.v,u),y=ZQ(v.w,u);b^y&&(Xe.warn("Edge: ",v," leaves cluster ",u),Xe.warn("Descendants of XXX ",u,": ",V3[u]),_o[u].externalConnections=!0)}})):Xe.debug("Not a cluster ",u,V3)});for(let u of Object.keys(_o)){const d=_o[u].id,p=i.parent(d);p!==u&&_o[p]&&!_o[p].externalConnections&&(_o[u].id=p)}i.edges().forEach(function(u){const d=i.edge(u);Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(u)),Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(i.edge(u)));let p=u.v,v=u.w;if(Xe.warn("Fix XXX",_o,"ids:",u.v,u.w,"Translating: ",_o[u.v]," --- ",_o[u.w]),_o[u.v]&&_o[u.w]&&_o[u.v]===_o[u.w]){Xe.warn("Fixing and trixing link to self - removing XXX",u.v,u.w,u.name),Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=eJ(u.v),v=eJ(u.w),i.removeEdge(u.v,u.w,u.name);const b=u.w+"---"+u.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:d.label,padding:0,shape:"labelRect",style:""});const y=structuredClone(d),T=structuredClone(d);y.label="",y.arrowTypeEnd="none",T.label="",y.fromCluster=u.v,T.toCluster=u.v,i.setEdge(p,b,y,u.name+"-cyclic-special"),i.setEdge(b,v,T,u.name+"-cyclic-special")}else if(_o[u.v]||_o[u.w]){if(Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=eJ(u.v),v=eJ(u.w),i.removeEdge(u.v,u.w,u.name),p!==u.v){const b=i.parent(p);_o[b].externalConnections=!0,d.fromCluster=u.v}if(v!==u.w){const b=i.parent(v);_o[b].externalConnections=!0,d.toCluster=u.w}Xe.warn("Fix Replacing with XXX",p,v,u.name),i.setEdge(p,v,d,u.name)}}),Xe.warn("Adjusted Graph",z7(i)),xUe(i,0),Xe.trace(_o)},xUe=(i,s)=>{if(Xe.warn("extractor - ",s,z7(i),i.children("D")),s>10){Xe.error("Bailing out");return}let u=i.nodes(),d=!1;for(const p of u){const v=i.children(p);d=d||v.length>0}if(!d){Xe.debug("Done, no node has children",i.nodes());return}Xe.debug("Nodes = ",u,s);for(const p of u)if(Xe.debug("Extracting node",p,_o,_o[p]&&!_o[p].externalConnections,!i.parent(p),i.node(p),i.children("D")," Depth ",s),!_o[p])Xe.debug("Not a cluster",p,s);else if(!_o[p].externalConnections&&i.children(p)&&i.children(p).length>0){Xe.warn("Cluster without external connections, without a parent and with children",p,s);let b=i.graph().rankdir==="TB"?"LR":"TB";_o[p]&&_o[p].clusterData&&_o[p].clusterData.dir&&(b=_o[p].clusterData.dir,Xe.warn("Fixing dir",_o[p].clusterData.dir,b));const y=new N0({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Xe.warn("Old graph before copy",z7(i)),wUe(p,i,y,p),i.setNode(p,{clusterNode:!0,id:p,clusterData:_o[p].clusterData,labelText:_o[p].labelText,graph:y}),Xe.warn("New graph after copy node: (",p,")",z7(y)),Xe.debug("Old graph after copy",z7(i))}else Xe.warn("Cluster ** ",p," **not meeting the criteria !externalConnections:",!_o[p].externalConnections," no parent: ",!i.parent(p)," children ",i.children(p)&&i.children(p).length>0,i.children("D"),s),Xe.debug(_o);u=i.nodes(),Xe.warn("New list of nodes",u);for(const p of u){const v=i.node(p);Xe.warn(" Now next level",p,v),v.clusterNode&&xUe(v.graph,s+1)}},kUe=(i,s)=>{if(s.length===0)return[];let u=Object.assign(s);return s.forEach(d=>{const p=i.children(d),v=kUe(i,p);u=[...u,...v]}),u},YZt=i=>kUe(i,i.children());function XZt(i,s){return i.intersect(s)}function EUe(i,s,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,T=Math.sqrt(s*s*y*y+u*u*b*b),_=Math.abs(s*u*b/T);d.x0}function ZZt(i,s,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;typeof s.forEach=="function"?s.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)}):(b=Math.min(b,s.x),y=Math.min(y,s.y));for(var T=d-i.width/2-b,_=p-i.height/2-y,A=0;A1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oe{var u=i.x,d=i.y,p=s.x-u,v=s.y-d,b=i.width/2,y=i.height/2,T,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),T=v===0?0:y*p/v,_=y):(p<0&&(b=-b),T=b,_=p===0?0:b*v/p),{x:u+T,y:d+_}},Eh={node:XZt,circle:QZt,ellipse:EUe,polygon:ZZt,rect:DR},een=async(i,s)=>{s.useHtmlLabels||qt().flowchart.htmlLabels||(s.centerLabel=!0);const{shapeSvg:d,bbox:p,halfPadding:v}=await h1(i,s,"node "+s.classes,!0);Xe.info("Classes = ",s.classes);const b=d.insert("rect",":first-child");return b.attr("rx",s.rx).attr("ry",s.ry).attr("x",-p.width/2-v).attr("y",-p.height/2-v).attr("width",p.width+s.padding).attr("height",p.height+s.padding),Wh(s,b),s.intersect=function(y){return Eh.rect(s,y)},d},ten=i=>{const s=new Set;for(const u of i)switch(u){case"x":s.add("right"),s.add("left");break;case"y":s.add("up"),s.add("down");break;default:s.add(u);break}return s},nen=(i,s,u)=>{const d=ten(i),p=2,v=s.height+2*u.padding,b=v/p,y=s.width+2*b+u.padding,T=u.padding/2;return d.has("right")&&d.has("left")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:b,y:0},{x:y/2,y:2*T},{x:y-b,y:0},{x:y,y:0},{x:y,y:-v/3},{x:y+2*T,y:-v/2},{x:y,y:-2*v/3},{x:y,y:-v},{x:y-b,y:-v},{x:y/2,y:-v-2*T},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*T,y:-v/2},{x:0,y:-v/3}]:d.has("right")&&d.has("left")&&d.has("up")?[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:d.has("right")&&d.has("left")&&d.has("down")?[{x:0,y:0},{x:b,y:-v},{x:y-b,y:-v},{x:y,y:0}]:d.has("right")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:y,y:-b},{x:y,y:-v+b},{x:0,y:-v}]:d.has("left")&&d.has("up")&&d.has("down")?[{x:y,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:y,y:-v}]:d.has("right")&&d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")&&d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:d.has("right")&&d.has("up")?[{x:0,y:0},{x:y,y:-b},{x:0,y:-v}]:d.has("right")&&d.has("down")?[{x:0,y:0},{x:y,y:0},{x:0,y:-v}]:d.has("left")&&d.has("up")?[{x:y,y:0},{x:0,y:-b},{x:y,y:-v}]:d.has("left")&&d.has("down")?[{x:y,y:0},{x:0,y:0},{x:y,y:-v}]:d.has("right")?[{x:b,y:-T},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v+T}]:d.has("left")?[{x:b,y:0},{x:b,y:-T},{x:y-b,y:-T},{x:y-b,y:-v+T},{x:b,y:-v+T},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")?[{x:b,y:-T},{x:b,y:-v+T},{x:0,y:-v+T},{x:y/2,y:-v},{x:y,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T}]:d.has("down")?[{x:y/2,y:0},{x:0,y:-T},{x:b,y:-T},{x:b,y:-v+T},{x:y-b,y:-v+T},{x:y-b,y:-T},{x:y,y:-T}]:[{x:0,y:0}]},CUe=i=>i?" "+i:"",fm=(i,s)=>`${s||"node default"}${CUe(i.classes)} ${CUe(i.class)}`,SUe=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=p+v,y=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Xe.info("Question main (Circle)");const T=n5(u,b,b,y);return T.attr("style",s.style),Wh(s,T),s.intersect=function(_){return Xe.warn("Intersect called"),Eh.polygon(s,y,_)},u},ren=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=28,p=[{x:0,y:d/2},{x:d/2,y:0},{x:0,y:-d/2},{x:-d/2,y:0}];return u.insert("polygon",":first-child").attr("points",p.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),s.width=28,s.height=28,s.intersect=function(b){return Eh.circle(s,14,b)},u},ien=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=4,v=d.height+s.padding,b=v/p,y=d.width+2*b+s.padding,T=[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=n5(u,y,v,T);return _.attr("style",s.style),Wh(s,_),s.intersect=function(A){return Eh.polygon(s,T,A)},u},sen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,void 0,!0),p=2,v=d.height+2*s.padding,b=v/p,y=d.width+2*b+s.padding,T=nen(s.directions,d,s),_=n5(u,y,v,T);return _.attr("style",s.style),Wh(s,_),s.intersect=function(A){return Eh.polygon(s,T,A)},u},aen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return n5(u,p,v,b).attr("style",s.style),s.width=p+v,s.height=v,s.intersect=function(T){return Eh.polygon(s,b,T)},u},oen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],y=n5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return Eh.polygon(s,b,T)},u},cen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],y=n5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return Eh.polygon(s,b,T)},u},uen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],y=n5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return Eh.polygon(s,b,T)},u},len=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],y=n5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return Eh.polygon(s,b,T)},u},hen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],y=n5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return Eh.polygon(s,b,T)},u},fen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=p/2,b=v/(2.5+p/50),y=d.height+b+s.padding,T="M 0,"+b+" a "+v+","+b+" 0,0,0 "+p+" 0 a "+v+","+b+" 0,0,0 "+-p+" 0 l 0,"+y+" a "+v+","+b+" 0,0,0 "+p+" 0 l 0,"+-y,_=u.attr("label-offset-y",b).insert("path",":first-child").attr("style",s.style).attr("d",T).attr("transform","translate("+-p/2+","+-(y/2+b)+")");return Wh(s,_),s.intersect=function(A){const P=Eh.rect(s,A),R=P.x-s.x;if(v!=0&&(Math.abs(R)s.height/2-b)){let F=b*b*(1-R*R/(v*v));F!=0&&(F=Math.sqrt(F)),F=b-F,A.y-s.y>0&&(F=-F),P.y+=F}return P},u},den=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await h1(i,s,"node "+s.classes+" "+s.class,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&(jme(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Wh(s,v),s.intersect=function(A){return Eh.rect(s,A)},u},gen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await h1(i,s,"node "+s.classes,!0),v=u.insert("rect",":first-child"),b=s.positioned?s.width:d.width+s.padding,y=s.positioned?s.height:d.height+s.padding,T=s.positioned?-b/2:-d.width/2-p,_=s.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic cluster composite label-container").attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",T).attr("y",_).attr("width",b).attr("height",y),s.props){const A=new Set(Object.keys(s.props));s.props.borders&&(jme(v,s.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Wh(s,v),s.intersect=function(A){return Eh.rect(s,A)},u},pen=async(i,s)=>{const{shapeSvg:u}=await h1(i,s,"label",!0);Xe.trace("Classes = ",s.class);const d=u.insert("rect",":first-child"),p=0,v=0;if(d.attr("width",p).attr("height",v),u.attr("class","label edgeLabel"),s.props){const b=new Set(Object.keys(s.props));s.props.borders&&(jme(d,s.props.borders,p,v),b.delete("borders")),b.forEach(y=>{Xe.warn(`Unknown node property ${y}`)})}return Wh(s,d),s.intersect=function(b){return Eh.rect(s,b)},u};function jme(i,s,u,d){const p=[],v=y=>{p.push(y,0)},b=y=>{p.push(0,y)};s.includes("t")?(Xe.debug("add top border"),v(u)):b(u),s.includes("r")?(Xe.debug("add right border"),v(d)):b(d),s.includes("b")?(Xe.debug("add bottom border"),v(u)):b(u),s.includes("l")?(Xe.debug("add left border"),v(d)):b(d),i.attr("stroke-dasharray",p.join(" "))}const ben=(i,s)=>{let u;s.classes?u="node "+s.classes:u="node default";const d=i.insert("g").attr("class",u).attr("id",s.domId||s.id),p=d.insert("rect",":first-child"),v=d.insert("line"),b=d.insert("g").attr("class","label"),y=s.labelText.flat?s.labelText.flat():s.labelText;let T="";typeof y=="object"?T=y[0]:T=y,Xe.info("Label text abc79",T,y,typeof y=="object");const _=b.node().appendChild(z2(T,s.labelStyle,!0,!0));let A={width:0,height:0};if(u1(qt().flowchart.htmlLabels)){const W=_.children[0],ee=Ir(_);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}Xe.info("Text 2",y);const P=y.slice(1,y.length);let R=_.getBBox();const F=b.node().appendChild(z2(P.join?P.join("
"):P,s.labelStyle,!0,!0));if(u1(qt().flowchart.htmlLabels)){const W=F.children[0],ee=Ir(F);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}const j=s.padding/2;return Ir(F).attr("transform","translate( "+(A.width>R.width?0:(R.width-A.width)/2)+", "+(R.height+j+5)+")"),Ir(_).attr("transform","translate( "+(A.width{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.height+s.padding,v=d.width+p/4+s.padding,b=u.insert("rect",":first-child").attr("style",s.style).attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return Wh(s,b),s.intersect=function(y){return Eh.rect(s,y)},u},ven=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await h1(i,s,fm(s,void 0),!0),v=u.insert("circle",":first-child");return v.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("Circle main"),Wh(s,v),s.intersect=function(b){return Xe.info("Circle intersect",s,d.width/2+p,b),Eh.circle(s,d.width/2+p,b)},u},wen=async(i,s)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await h1(i,s,fm(s,void 0),!0),v=5,b=u.insert("g",":first-child"),y=b.insert("circle"),T=b.insert("circle");return b.attr("class",s.class),y.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p+v).attr("width",d.width+s.padding+v*2).attr("height",d.height+s.padding+v*2),T.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("r",d.width/2+p).attr("width",d.width+s.padding).attr("height",d.height+s.padding),Xe.info("DoubleCircle main"),Wh(s,y),s.intersect=function(_){return Xe.info("DoubleCircle intersect",s,d.width/2+p+v,_),Eh.circle(s,d.width/2+p+v,_)},u},yen=async(i,s)=>{const{shapeSvg:u,bbox:d}=await h1(i,s,fm(s,void 0),!0),p=d.width+s.padding,v=d.height+s.padding,b=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],y=n5(u,p,v,b);return y.attr("style",s.style),Wh(s,y),s.intersect=function(T){return Eh.polygon(s,b,T)},u},xen=(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child");return d.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Wh(s,d),s.intersect=function(p){return Eh.circle(s,7,p)},u},_Ue=(i,s,u)=>{const d=i.insert("g").attr("class","node default").attr("id",s.domId||s.id);let p=70,v=10;u==="LR"&&(p=10,v=70);const b=d.append("rect").attr("x",-1*p/2).attr("y",-1*v/2).attr("width",p).attr("height",v).attr("class","fork-join");return Wh(s,b),s.height=s.height+s.padding/2,s.width=s.width+s.padding/2,s.intersect=function(y){return Eh.rect(s,y)},d},AUe={rhombus:SUe,composite:gen,question:SUe,rect:den,labelRect:pen,rectWithTitle:ben,choice:ren,circle:ven,doublecircle:wen,stadium:men,hexagon:ien,block_arrow:sen,rect_left_inv_arrow:aen,lean_right:oen,lean_left:cen,trapezoid:uen,inv_trapezoid:len,rect_right_inv_arrow:hen,cylinder:fen,start:xen,end:(i,s)=>{const u=i.insert("g").attr("class","node default").attr("id",s.domId||s.id),d=u.insert("circle",":first-child"),p=u.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),d.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Wh(s,p),s.intersect=function(v){return Eh.circle(s,7,v)},u},note:een,subroutine:yen,fork:_Ue,join:_Ue,class_box:(i,s)=>{const u=s.padding/2,d=4,p=8;let v;s.classes?v="node "+s.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",s.domId||s.id),y=b.insert("rect",":first-child"),T=b.insert("line"),_=b.insert("line");let A=0,P=d;const R=b.insert("g").attr("class","label");let F=0;const j=s.classData.annotations&&s.classData.annotations[0],W=s.classData.annotations[0]?"«"+s.classData.annotations[0]+"»":"",ee=R.node().appendChild(z2(W,s.labelStyle,!0,!0));let ie=ee.getBBox();if(u1(qt().flowchart.htmlLabels)){const de=ee.children[0],X=Ir(ee);ie=de.getBoundingClientRect(),X.attr("width",ie.width),X.attr("height",ie.height)}s.classData.annotations[0]&&(P+=ie.height+d,A+=ie.width);let oe=s.classData.label;s.classData.type!==void 0&&s.classData.type!==""&&(qt().flowchart.htmlLabels?oe+="<"+s.classData.type+">":oe+="<"+s.classData.type+">");const be=R.node().appendChild(z2(oe,s.labelStyle,!0,!0));Ir(be).attr("class","classTitle");let ge=be.getBBox();if(u1(qt().flowchart.htmlLabels)){const de=be.children[0],X=Ir(be);ge=de.getBoundingClientRect(),X.attr("width",ge.width),X.attr("height",ge.height)}P+=ge.height+d,ge.width>A&&(A=ge.width);const ae=[];s.classData.members.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(/
/g,">"));const G=R.node().appendChild(z2(pe,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=G.getBBox();if(u1(qt().flowchart.htmlLabels)){const U=G.children[0],Be=Ir(G);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ae.push(G)}),P+=p;const ne=[];if(s.classData.methods.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(//g,">"));const G=R.node().appendChild(z2(pe,X.cssStyle?X.cssStyle:s.labelStyle,!0,!0));let xe=G.getBBox();if(u1(qt().flowchart.htmlLabels)){const U=G.children[0],Be=Ir(G);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ne.push(G)}),P+=p,j){let de=(A-ie.width)/2;Ir(ee).attr("transform","translate( "+(-1*A/2+de)+", "+-1*P/2+")"),F=ie.height+d}let se=(A-ge.width)/2;return Ir(be).attr("transform","translate( "+(-1*A/2+se)+", "+(-1*P/2+F)+")"),F+=ge.height+d,T.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ae.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F+p/2)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),F+=p,_.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+F).attr("y2",-P/2-u+p+F),F+=p,ne.forEach(de=>{Ir(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+F)+")");const X=de==null?void 0:de.getBBox();F+=((X==null?void 0:X.height)??0)+d}),y.attr("style",s.style).attr("class","outer title-state").attr("x",-A/2-u).attr("y",-(P/2)-u).attr("width",A+s.padding).attr("height",P+s.padding),Wh(s,y),s.intersect=function(de){return Eh.rect(s,de)},b}};let HD={};const tJ=async(i,s,u)=>{let d,p;if(s.link){let v;qt().securityLevel==="sandbox"?v="_top":s.linkTarget&&(v=s.linkTarget||"_blank"),d=i.insert("svg:a").attr("xlink:href",s.link).attr("target",v),p=await AUe[s.shape](d,s,u)}else p=await AUe[s.shape](i,s,u),d=p;return s.tooltip&&p.attr("title",s.tooltip),s.class&&p.attr("class","node default "+s.class),d.attr("data-node","true"),d.attr("data-id",s.id),HD[s.id]=d,s.haveCallback&&HD[s.id].attr("class",HD[s.id].attr("class")+" clickable"),d},ken=(i,s)=>{HD[s.id]=i},Een=()=>{HD={}},$me=i=>{const s=HD[i.id];Xe.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const u=8,d=i.diff||0;return i.clusterNode?s.attr("transform","translate("+(i.x+d-i.width/2)+", "+(i.y-i.height/2-u)+")"):s.attr("transform","translate("+i.x+", "+i.y+")"),d},nJ=({flowchart:i})=>{var p,v;const s=((p=i==null?void 0:i.subGraphTitleMargin)==null?void 0:p.top)??0,u=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,d=s+u;return{subGraphTitleTopMargin:s,subGraphTitleBottomMargin:u,subGraphTitleTotalMargin:d}},Ten={rect:(i,s)=>{Xe.info("Creating subgraph rect for ",s.id,s);const u=qt(),d=i.insert("g").attr("class","cluster"+(s.class?" "+s.class:"")).attr("id",s.id),p=d.insert("rect",":first-child"),v=u1(u.flowchart.htmlLabels),b=d.insert("g").attr("class","cluster-label"),y=s.labelType==="markdown"?JQ(b,s.labelText,{style:s.labelStyle,useHtmlLabels:v}):b.node().appendChild(z2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(u1(u.flowchart.htmlLabels)){const j=y.children[0],W=Ir(y);T=j.getBoundingClientRect(),W.attr("width",T.width),W.attr("height",T.height)}const _=0*s.padding,A=_/2,P=s.width<=T.width+_?T.width+_:s.width;s.width<=T.width+_?s.diff=(T.width-s.width)/2-s.padding/2:s.diff=-s.padding/2,Xe.trace("Data ",s,JSON.stringify(s)),p.attr("style",s.style).attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-P/2).attr("y",s.y-s.height/2-A).attr("width",P).attr("height",s.height+_);const{subGraphTitleTopMargin:R}=nJ(u);v?b.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2+R})`):b.attr("transform",`translate(${s.x}, ${s.y-s.height/2+R})`);const F=p.node().getBBox();return s.width=F.width,s.height=F.height,s.intersect=function(j){return DR(s,j)},d},roundedWithTitle:(i,s)=>{const u=qt(),d=i.insert("g").attr("class",s.classes).attr("id",s.id),p=d.insert("rect",":first-child"),v=d.insert("g").attr("class","cluster-label"),b=d.append("rect"),y=v.node().appendChild(z2(s.labelText,s.labelStyle,void 0,!0));let T=y.getBBox();if(u1(u.flowchart.htmlLabels)){const j=y.children[0],W=Ir(y);T=j.getBoundingClientRect(),W.attr("width",T.width),W.attr("height",T.height)}T=y.getBBox();const _=0*s.padding,A=_/2,P=s.width<=T.width+s.padding?T.width+s.padding:s.width;s.width<=T.width+s.padding?s.diff=(T.width+s.padding*0-s.width)/2:s.diff=-s.padding/2,p.attr("class","outer").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A).attr("width",P+_).attr("height",s.height+_),b.attr("class","inner").attr("x",s.x-P/2-A).attr("y",s.y-s.height/2-A+T.height-1).attr("width",P+_).attr("height",s.height+_-T.height-3);const{subGraphTitleTopMargin:R}=nJ(u);v.attr("transform",`translate(${s.x-T.width/2}, ${s.y-s.height/2-s.padding/3+(u1(u.flowchart.htmlLabels)?5:3)+R})`);const F=p.node().getBBox();return s.height=F.height,s.intersect=function(j){return DR(s,j)},d},noteGroup:(i,s)=>{const u=i.insert("g").attr("class","note-cluster").attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("rx",s.rx).attr("ry",s.ry).attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2-v).attr("width",s.width+p).attr("height",s.height+p).attr("fill","none");const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.intersect=function(y){return DR(s,y)},u},divider:(i,s)=>{const u=i.insert("g").attr("class",s.classes).attr("id",s.id),d=u.insert("rect",":first-child"),p=0*s.padding,v=p/2;d.attr("class","divider").attr("x",s.x-s.width/2-v).attr("y",s.y-s.height/2).attr("width",s.width+p).attr("height",s.height+p);const b=d.node().getBBox();return s.width=b.width,s.height=b.height,s.diff=-s.padding/2,s.intersect=function(y){return DR(s,y)},u}};let LUe={};const Cen=(i,s)=>{Xe.trace("Inserting cluster");const u=s.shape||"rect";LUe[s.id]=Ten[u](i,s)},Sen=()=>{LUe={}},N9={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function rJ(i,s){if(i===void 0||s===void 0)return{angle:0,deltaX:0,deltaY:0};i=iJ(i),s=iJ(s);const[u,d]=[i.x,i.y],[p,v]=[s.x,s.y],b=p-u,y=v-d;return{angle:Math.atan(y/b),deltaX:b,deltaY:y}}const iJ=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,MUe=i=>({x:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(N9,i.arrowTypeStart)){const{angle:v,deltaX:b}=rJ(d[0],d[1]);p=N9[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(N9,i.arrowTypeEnd)){const{angle:v,deltaX:b}=rJ(d[d.length-1],d[d.length-2]);p=N9[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return iJ(s).x+p},y:function(s,u,d){let p=0;if(u===0&&Object.hasOwn(N9,i.arrowTypeStart)){const{angle:v,deltaY:b}=rJ(d[0],d[1]);p=N9[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(N9,i.arrowTypeEnd)){const{angle:v,deltaY:b}=rJ(d[d.length-1],d[d.length-2]);p=N9[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return iJ(s).y+p}}),DUe=(i,s,u,d,p)=>{s.arrowTypeStart&&IUe(i,"start",s.arrowTypeStart,u,d,p),s.arrowTypeEnd&&IUe(i,"end",s.arrowTypeEnd,u,d,p)},_en={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},IUe=(i,s,u,d,p,v)=>{const b=_en[u];if(!b){Xe.warn(`Unknown arrow type: ${u}`);return}const y=s==="start"?"Start":"End";i.attr(`marker-${s}`,`url(${d}#${p}_${v}-${b}${y})`)};let sJ={},zd={};const Aen=()=>{sJ={},zd={}},zme=(i,s)=>{const u=u1(qt().flowchart.htmlLabels),d=s.labelType==="markdown"?JQ(i,s.label,{style:s.labelStyle,useHtmlLabels:u,addSvgBackground:!0}):z2(s.label,s.labelStyle),p=i.insert("g").attr("class","edgeLabel"),v=p.insert("g").attr("class","label");v.node().appendChild(d);let b=d.getBBox();if(u){const T=d.children[0],_=Ir(d);b=T.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),sJ[s.id]=p,s.width=b.width,s.height=b.height;let y;if(s.startLabelLeft){const T=z2(s.startLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),zd[s.id]||(zd[s.id]={}),zd[s.id].startLeft=_,aJ(y,s.startLabelLeft)}if(s.startLabelRight){const T=z2(s.startLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=_.node().appendChild(T),A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),zd[s.id]||(zd[s.id]={}),zd[s.id].startRight=_,aJ(y,s.startLabelRight)}if(s.endLabelLeft){const T=z2(s.endLabelLeft,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),zd[s.id]||(zd[s.id]={}),zd[s.id].endLeft=_,aJ(y,s.endLabelLeft)}if(s.endLabelRight){const T=z2(s.endLabelRight,s.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(T);const P=T.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(T),zd[s.id]||(zd[s.id]={}),zd[s.id].endRight=_,aJ(y,s.endLabelRight)}return d};function aJ(i,s){qt().flowchart.htmlLabels&&i&&(i.style.width=s.length*9+"px",i.style.height="12px")}const OUe=(i,s)=>{Xe.debug("Moving label abc88 ",i.id,i.label,sJ[i.id],s);let u=s.updatedPath?s.updatedPath:s.originalPath;const d=qt(),{subGraphTitleTotalMargin:p}=nJ(d);if(i.label){const v=sJ[i.id];let b=i.x,y=i.y;if(u){const T=So.calcLabelPosition(u);Xe.debug("Moving label "+i.label+" from (",b,",",y,") to (",T.x,",",T.y,") abc88"),s.updatedPath&&(b=T.x,y=T.y)}v.attr("transform",`translate(${b}, ${y+p/2})`)}if(i.startLabelLeft){const v=zd[i.id].startLeft;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.startLabelRight){const v=zd[i.id].startRight;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelLeft){const v=zd[i.id].endLeft;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelRight){const v=zd[i.id].endRight;let b=i.x,y=i.y;if(u){const T=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",u);b=T.x,y=T.y}v.attr("transform",`translate(${b}, ${y})`)}},Len=(i,s)=>{const u=i.x,d=i.y,p=Math.abs(s.x-u),v=Math.abs(s.y-d),b=i.width/2,y=i.height/2;return p>=b||v>=y},Men=(i,s,u)=>{Xe.debug(`intersection calc abc89:
+You have to call mermaid.initialize.`);
+ },
+ Rqe = function (i, s, u) {
+ Xe.info('addLink (abc78)', i, s, u);
+ let d, p;
+ for (d = 0; d < i.length; d++) for (p = 0; p < s.length; p++) Fqe(i[d], s[p], u);
+ },
+ jqe = function (i, s) {
+ i.forEach(function (u) {
+ u === 'default' ? (z3.defaultInterpolate = s) : (z3[u].interpolate = s);
+ });
+ },
+ $qe = function (i, s) {
+ i.forEach(function (u) {
+ if (u >= z3.length)
+ throw new Error(
+ `The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${z3.length - 1}. (Help: Ensure that the index is within the range of existing edges.)`,
+ );
+ u === 'default'
+ ? (z3.defaultStyle = s)
+ : (So.isSubstringInArray('fill', s) === -1 && s.push('fill:none'), (z3[u].style = s));
+ });
+ },
+ zqe = function (i, s) {
+ i.split(',').forEach(function (u) {
+ (BD[u] === void 0 && (BD[u] = { id: u, styles: [], textStyles: [] }),
+ s != null &&
+ s.forEach(function (d) {
+ if (d.match('color')) {
+ const p = d.replace('fill', 'bgFill').replace('color', 'fill');
+ BD[u].textStyles.push(p);
+ }
+ BD[u].styles.push(d);
+ }));
+ });
+ },
+ qqe = function (i) {
+ ((zv = i),
+ zv.match(/.*) && (zv = 'RL'),
+ zv.match(/.*\^/) && (zv = 'BT'),
+ zv.match(/.*>/) && (zv = 'LR'),
+ zv.match(/.*v/) && (zv = 'TB'),
+ zv === 'TD' && (zv = 'TB'));
+ },
+ RQ = function (i, s) {
+ i.split(',').forEach(function (u) {
+ let d = u;
+ (oh[d] !== void 0 && oh[d].classes.push(s), IQ[d] !== void 0 && IQ[d].classes.push(s));
+ });
+ },
+ _Ut = function (i, s) {
+ i.split(',').forEach(function (u) {
+ s !== void 0 && (OQ[PQ === 'gen-1' ? mR(u) : u] = FQ(s));
+ });
+ },
+ AUt = function (i, s, u) {
+ let d = mR(i);
+ if (qt().securityLevel !== 'loose' || s === void 0) return;
+ let p = [];
+ if (typeof u == 'string') {
+ p = u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let v = 0; v < p.length; v++) {
+ let b = p[v].trim();
+ (b.charAt(0) === '"' && b.charAt(b.length - 1) === '"' && (b = b.substr(1, b.length - 2)),
+ (p[v] = b));
+ }
+ }
+ (p.length === 0 && p.push(i),
+ oh[i] !== void 0 &&
+ ((oh[i].haveCallback = !0),
+ BQ.push(function () {
+ const v = document.querySelector(`[id="${d}"]`);
+ v !== null &&
+ v.addEventListener(
+ 'click',
+ function () {
+ So.runFunc(s, ...p);
+ },
+ !1,
+ );
+ })));
+ },
+ Hqe = function (i, s, u) {
+ (i.split(',').forEach(function (d) {
+ oh[d] !== void 0 && ((oh[d].link = So.formatUrl(s, PD)), (oh[d].linkTarget = u));
+ }),
+ RQ(i, 'clickable'));
+ },
+ Vqe = function (i) {
+ if (OQ.hasOwnProperty(i)) return OQ[i];
+ },
+ Uqe = function (i, s, u) {
+ (i.split(',').forEach(function (d) {
+ AUt(d, s, u);
+ }),
+ RQ(i, 'clickable'));
+ },
+ Gqe = function (i) {
+ BQ.forEach(function (s) {
+ s(i);
+ });
+ },
+ Kqe = function () {
+ return zv.trim();
+ },
+ Wqe = function () {
+ return oh;
+ },
+ Yqe = function () {
+ return z3;
+ },
+ Xqe = function () {
+ return BD;
+ },
+ Qqe = function (i) {
+ let s = Ir('.mermaidTooltip');
+ ((s._groups || s)[0][0] === null &&
+ (s = Ir('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)),
+ Ir(i)
+ .select('svg')
+ .selectAll('g.node')
+ .on('mouseover', function () {
+ const p = Ir(this);
+ if (p.attr('title') === null) return;
+ const b = this.getBoundingClientRect();
+ (s.transition().duration(200).style('opacity', '.9'),
+ s
+ .text(p.attr('title'))
+ .style('left', window.scrollX + b.left + (b.right - b.left) / 2 + 'px')
+ .style('top', window.scrollY + b.bottom + 'px'),
+ s.html(s.html().replace(/<br\/>/g, '
')),
+ p.classed('hover', !0));
+ })
+ .on('mouseout', function () {
+ (s.transition().duration(500).style('opacity', 0), Ir(this).classed('hover', !1));
+ }));
+ };
+ BQ.push(Qqe);
+ const Jqe = function (i = 'gen-1') {
+ ((oh = {}),
+ (BD = {}),
+ (z3 = []),
+ (BQ = [Qqe]),
+ (F7 = []),
+ (IQ = {}),
+ (NQ = 0),
+ (OQ = {}),
+ (Kbe = !0),
+ (PQ = i),
+ (PD = qt()),
+ Ng());
+ },
+ Zqe = (i) => {
+ PQ = i || 'gen-2';
+ },
+ eHe = function () {
+ return 'fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;';
+ },
+ tHe = function (i, s, u) {
+ let d = i.text.trim(),
+ p = u.text;
+ i === u && u.text.match(/\s/) && (d = void 0);
+ function v(A) {
+ const P = { boolean: {}, number: {}, string: {} },
+ R = [];
+ let F;
+ return {
+ nodeList: A.filter(function (W) {
+ const ee = typeof W;
+ return W.stmt && W.stmt === 'dir'
+ ? ((F = W.value), !1)
+ : W.trim() === ''
+ ? !1
+ : ee in P
+ ? P[ee].hasOwnProperty(W)
+ ? !1
+ : (P[ee][W] = !0)
+ : R.includes(W)
+ ? !1
+ : R.push(W);
+ }),
+ dir: F,
+ };
+ }
+ let b = [];
+ const { nodeList: y, dir: T } = v(b.concat.apply(b, s));
+ if (((b = y), PQ === 'gen-1')) for (let A = 0; A < b.length; A++) b[A] = mR(b[A]);
+ ((d = d || 'subGraph' + NQ), (p = p || ''), (p = FQ(p)), (NQ = NQ + 1));
+ const _ = { id: d, nodes: b, title: p.trim(), classes: [], dir: T, labelType: u.type };
+ return (
+ Xe.info('Adding', _.id, _.nodes, _.dir),
+ (_.nodes = lHe(_, F7).nodes),
+ F7.push(_),
+ (IQ[d] = _),
+ d
+ );
+ },
+ LUt = function (i) {
+ for (const [s, u] of F7.entries()) if (u.id === i) return s;
+ return -1;
+ };
+ let vR = -1;
+ const nHe = [],
+ rHe = function (i, s) {
+ const u = F7[s].nodes;
+ if (((vR = vR + 1), vR > 2e3)) return;
+ if (((nHe[vR] = s), F7[s].id === i)) return { result: !0, count: 0 };
+ let d = 0,
+ p = 1;
+ for (; d < u.length; ) {
+ const v = LUt(u[d]);
+ if (v >= 0) {
+ const b = rHe(i, v);
+ if (b.result) return { result: !0, count: p + b.count };
+ p = p + b.count;
+ }
+ d = d + 1;
+ }
+ return { result: !1, count: p };
+ },
+ iHe = function (i) {
+ return nHe[i];
+ },
+ sHe = function () {
+ ((vR = -1), F7.length > 0 && rHe('none', F7.length - 1));
+ },
+ aHe = function () {
+ return F7;
+ },
+ oHe = () => (Kbe ? ((Kbe = !1), !0) : !1),
+ MUt = (i) => {
+ let s = i.trim(),
+ u = 'arrow_open';
+ switch (s[0]) {
+ case '<':
+ ((u = 'arrow_point'), (s = s.slice(1)));
+ break;
+ case 'x':
+ ((u = 'arrow_cross'), (s = s.slice(1)));
+ break;
+ case 'o':
+ ((u = 'arrow_circle'), (s = s.slice(1)));
+ break;
+ }
+ let d = 'normal';
+ return (
+ s.includes('=') && (d = 'thick'),
+ s.includes('.') && (d = 'dotted'),
+ { type: u, stroke: d }
+ );
+ },
+ DUt = (i, s) => {
+ const u = s.length;
+ let d = 0;
+ for (let p = 0; p < u; ++p) s[p] === i && ++d;
+ return d;
+ },
+ IUt = (i) => {
+ const s = i.trim();
+ let u = s.slice(0, -1),
+ d = 'arrow_open';
+ switch (s.slice(-1)) {
+ case 'x':
+ ((d = 'arrow_cross'), s[0] === 'x' && ((d = 'double_' + d), (u = u.slice(1))));
+ break;
+ case '>':
+ ((d = 'arrow_point'), s[0] === '<' && ((d = 'double_' + d), (u = u.slice(1))));
+ break;
+ case 'o':
+ ((d = 'arrow_circle'), s[0] === 'o' && ((d = 'double_' + d), (u = u.slice(1))));
+ break;
+ }
+ let p = 'normal',
+ v = u.length - 1;
+ (u[0] === '=' && (p = 'thick'), u[0] === '~' && (p = 'invisible'));
+ let b = DUt('.', u);
+ return (b && ((p = 'dotted'), (v = b)), { type: d, stroke: p, length: v });
+ },
+ cHe = (i, s) => {
+ const u = IUt(i);
+ let d;
+ if (s) {
+ if (((d = MUt(s)), d.stroke !== u.stroke)) return { type: 'INVALID', stroke: 'INVALID' };
+ if (d.type === 'arrow_open') d.type = u.type;
+ else {
+ if (d.type !== u.type) return { type: 'INVALID', stroke: 'INVALID' };
+ d.type = 'double_' + d.type;
+ }
+ return (
+ d.type === 'double_arrow' && (d.type = 'double_arrow_point'),
+ (d.length = u.length),
+ d
+ );
+ }
+ return u;
+ },
+ uHe = (i, s) => {
+ let u = !1;
+ return (
+ i.forEach((d) => {
+ d.nodes.indexOf(s) >= 0 && (u = !0);
+ }),
+ u
+ );
+ },
+ lHe = (i, s) => {
+ const u = [];
+ return (
+ i.nodes.forEach((d, p) => {
+ uHe(s, d) || u.push(i.nodes[p]);
+ }),
+ { nodes: u }
+ );
+ },
+ hHe = { firstGraph: oHe },
+ qC = {
+ defaultConfig: () => t$e.flowchart,
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ addVertex: Bqe,
+ lookUpDomId: mR,
+ addLink: Rqe,
+ updateLinkInterpolate: jqe,
+ updateLink: $qe,
+ addClass: zqe,
+ setDirection: qqe,
+ setClass: RQ,
+ setTooltip: _Ut,
+ getTooltip: Vqe,
+ setClickEvent: Uqe,
+ setLink: Hqe,
+ bindFunctions: Gqe,
+ getDirection: Kqe,
+ getVertices: Wqe,
+ getEdges: Yqe,
+ getClasses: Xqe,
+ clear: Jqe,
+ setGen: Zqe,
+ defaultStyle: eHe,
+ addSubGraph: tHe,
+ getDepthFirstPos: iHe,
+ indexNodes: sHe,
+ getSubGraphs: aHe,
+ destructLink: cHe,
+ lex: hHe,
+ exists: uHe,
+ makeUniq: lHe,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ },
+ OUt = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ addClass: zqe,
+ addLink: Rqe,
+ addSingleLink: Fqe,
+ addSubGraph: tHe,
+ addVertex: Bqe,
+ bindFunctions: Gqe,
+ clear: Jqe,
+ default: qC,
+ defaultStyle: eHe,
+ destructLink: cHe,
+ firstGraph: oHe,
+ getClasses: Xqe,
+ getDepthFirstPos: iHe,
+ getDirection: Kqe,
+ getEdges: Yqe,
+ getSubGraphs: aHe,
+ getTooltip: Vqe,
+ getVertices: Wqe,
+ indexNodes: sHe,
+ lex: hHe,
+ lookUpDomId: mR,
+ setClass: RQ,
+ setClickEvent: Uqe,
+ setDirection: qqe,
+ setGen: Zqe,
+ setLink: Hqe,
+ updateLink: $qe,
+ updateLinkInterpolate: jqe,
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var NUt = '[object Symbol]';
+ function HC(i) {
+ return typeof i == 'symbol' || (q4(i) && _C(i) == NUt);
+ }
+ function FD(i, s) {
+ for (var u = -1, d = i == null ? 0 : i.length, p = Array(d); ++u < d; ) p[u] = s(i[u], u, i);
+ return p;
+ }
+ var PUt = 1 / 0,
+ fHe = Iv ? Iv.prototype : void 0,
+ dHe = fHe ? fHe.toString : void 0;
+ function gHe(i) {
+ if (typeof i == 'string') return i;
+ if (L0(i)) return FD(i, gHe) + '';
+ if (HC(i)) return dHe ? dHe.call(i) : '';
+ var s = i + '';
+ return s == '0' && 1 / i == -PUt ? '-0' : s;
+ }
+ var BUt = /\s/;
+ function FUt(i) {
+ for (var s = i.length; s-- && BUt.test(i.charAt(s)); );
+ return s;
+ }
+ var RUt = /^\s+/;
+ function jUt(i) {
+ return i && i.slice(0, FUt(i) + 1).replace(RUt, '');
+ }
+ var pHe = 0 / 0,
+ $Ut = /^[-+]0x[0-9a-f]+$/i,
+ zUt = /^0b[01]+$/i,
+ qUt = /^0o[0-7]+$/i,
+ HUt = parseInt;
+ function VUt(i) {
+ if (typeof i == 'number') return i;
+ if (HC(i)) return pHe;
+ if (sm(i)) {
+ var s = typeof i.valueOf == 'function' ? i.valueOf() : i;
+ i = sm(s) ? s + '' : s;
+ }
+ if (typeof i != 'string') return i === 0 ? i : +i;
+ i = jUt(i);
+ var u = zUt.test(i);
+ return u || qUt.test(i) ? HUt(i.slice(2), u ? 2 : 8) : $Ut.test(i) ? pHe : +i;
+ }
+ var bHe = 1 / 0,
+ UUt = 17976931348623157e292;
+ function jQ(i) {
+ if (!i) return i === 0 ? i : 0;
+ if (((i = VUt(i)), i === bHe || i === -bHe)) {
+ var s = i < 0 ? -1 : 1;
+ return s * UUt;
+ }
+ return i === i ? i : 0;
+ }
+ function GUt(i) {
+ var s = jQ(i),
+ u = s % 1;
+ return s === s ? (u ? s - u : s) : 0;
+ }
+ function KUt() {}
+ function mHe(i, s) {
+ for (var u = -1, d = i == null ? 0 : i.length; ++u < d && s(i[u], u, i) !== !1; );
+ return i;
+ }
+ function vHe(i, s, u, d) {
+ for (var p = i.length, v = u + (d ? 1 : -1); d ? v-- : ++v < p; ) if (s(i[v], v, i)) return v;
+ return -1;
+ }
+ function WUt(i) {
+ return i !== i;
+ }
+ function YUt(i, s, u) {
+ for (var d = u - 1, p = i.length; ++d < p; ) if (i[d] === s) return d;
+ return -1;
+ }
+ function XUt(i, s, u) {
+ return s === s ? YUt(i, s, u) : vHe(i, WUt, u);
+ }
+ function QUt(i, s) {
+ var u = i == null ? 0 : i.length;
+ return !!u && XUt(i, s, 0) > -1;
+ }
+ function hm(i) {
+ return v9(i) ? cje(i) : f$e(i);
+ }
+ var JUt = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
+ ZUt = /^\w*$/;
+ function Wbe(i, s) {
+ if (L0(i)) return !1;
+ var u = typeof i;
+ return u == 'number' || u == 'symbol' || u == 'boolean' || i == null || HC(i)
+ ? !0
+ : ZUt.test(i) || !JUt.test(i) || (s != null && i in Object(s));
+ }
+ var eGt = 500;
+ function tGt(i) {
+ var s = pD(i, function (d) {
+ return (u.size === eGt && u.clear(), d);
+ }),
+ u = s.cache;
+ return s;
+ }
+ var nGt =
+ /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
+ rGt = /\\(\\)?/g,
+ iGt = tGt(function (i) {
+ var s = [];
+ return (
+ i.charCodeAt(0) === 46 && s.push(''),
+ i.replace(nGt, function (u, d, p, v) {
+ s.push(p ? v.replace(rGt, '$1') : d || u);
+ }),
+ s
+ );
+ });
+ const sGt = iGt;
+ function wHe(i) {
+ return i == null ? '' : gHe(i);
+ }
+ function $Q(i, s) {
+ return L0(i) ? i : Wbe(i, s) ? [i] : sGt(wHe(i));
+ }
+ var aGt = 1 / 0;
+ function wR(i) {
+ if (typeof i == 'string' || HC(i)) return i;
+ var s = i + '';
+ return s == '0' && 1 / i == -aGt ? '-0' : s;
+ }
+ function zQ(i, s) {
+ s = $Q(s, i);
+ for (var u = 0, d = s.length; i != null && u < d; ) i = i[wR(s[u++])];
+ return u && u == d ? i : void 0;
+ }
+ function oGt(i, s, u) {
+ var d = i == null ? void 0 : zQ(i, s);
+ return d === void 0 ? u : d;
+ }
+ function Ybe(i, s) {
+ for (var u = -1, d = s.length, p = i.length; ++u < d; ) i[p + u] = s[u];
+ return i;
+ }
+ var yHe = Iv ? Iv.isConcatSpreadable : void 0;
+ function cGt(i) {
+ return L0(i) || bD(i) || !!(yHe && i && i[yHe]);
+ }
+ function qQ(i, s, u, d, p) {
+ var v = -1,
+ b = i.length;
+ for (u || (u = cGt), p || (p = []); ++v < b; ) {
+ var y = i[v];
+ s > 0 && u(y) ? (s > 1 ? qQ(y, s - 1, u, d, p) : Ybe(p, y)) : d || (p[p.length] = y);
+ }
+ return p;
+ }
+ function RD(i) {
+ var s = i == null ? 0 : i.length;
+ return s ? qQ(i, 1) : [];
+ }
+ function uGt(i) {
+ return fje(hje(i, void 0, RD), i + '');
+ }
+ function lGt(i, s, u, d) {
+ var p = -1,
+ v = i == null ? 0 : i.length;
+ for (d && v && (u = i[++p]); ++p < v; ) u = s(u, i[p], p, i);
+ return u;
+ }
+ function hGt(i, s) {
+ return i && QF(s, hm(s), i);
+ }
+ function fGt(i, s) {
+ return i && QF(s, DC(s), i);
+ }
+ function xHe(i, s) {
+ for (var u = -1, d = i == null ? 0 : i.length, p = 0, v = []; ++u < d; ) {
+ var b = i[u];
+ s(b, u, i) && (v[p++] = b);
+ }
+ return v;
+ }
+ function kHe() {
+ return [];
+ }
+ var dGt = Object.prototype,
+ gGt = dGt.propertyIsEnumerable,
+ EHe = Object.getOwnPropertySymbols,
+ pGt = EHe
+ ? function (i) {
+ return i == null
+ ? []
+ : ((i = Object(i)),
+ xHe(EHe(i), function (s) {
+ return gGt.call(i, s);
+ }));
+ }
+ : kHe;
+ const Xbe = pGt;
+ function bGt(i, s) {
+ return QF(i, Xbe(i), s);
+ }
+ var mGt = Object.getOwnPropertySymbols,
+ vGt = mGt
+ ? function (i) {
+ for (var s = []; i; ) (Ybe(s, Xbe(i)), (i = v2e(i)));
+ return s;
+ }
+ : kHe;
+ const THe = vGt;
+ function wGt(i, s) {
+ return QF(i, THe(i), s);
+ }
+ function CHe(i, s, u) {
+ var d = s(i);
+ return L0(i) ? d : Ybe(d, u(i));
+ }
+ function Qbe(i) {
+ return CHe(i, hm, Xbe);
+ }
+ function yGt(i) {
+ return CHe(i, DC, THe);
+ }
+ var xGt = Object.prototype,
+ kGt = xGt.hasOwnProperty;
+ function EGt(i) {
+ var s = i.length,
+ u = new i.constructor(s);
+ return (
+ s &&
+ typeof i[0] == 'string' &&
+ kGt.call(i, 'index') &&
+ ((u.index = i.index), (u.input = i.input)),
+ u
+ );
+ }
+ function TGt(i, s) {
+ var u = s ? m2e(i.buffer) : i.buffer;
+ return new i.constructor(u, i.byteOffset, i.byteLength);
+ }
+ var CGt = /\w*$/;
+ function SGt(i) {
+ var s = new i.constructor(i.source, CGt.exec(i));
+ return ((s.lastIndex = i.lastIndex), s);
+ }
+ var SHe = Iv ? Iv.prototype : void 0,
+ _He = SHe ? SHe.valueOf : void 0;
+ function _Gt(i) {
+ return _He ? Object(_He.call(i)) : {};
+ }
+ var AGt = '[object Boolean]',
+ LGt = '[object Date]',
+ MGt = '[object Map]',
+ DGt = '[object Number]',
+ IGt = '[object RegExp]',
+ OGt = '[object Set]',
+ NGt = '[object String]',
+ PGt = '[object Symbol]',
+ BGt = '[object ArrayBuffer]',
+ FGt = '[object DataView]',
+ RGt = '[object Float32Array]',
+ jGt = '[object Float64Array]',
+ $Gt = '[object Int8Array]',
+ zGt = '[object Int16Array]',
+ qGt = '[object Int32Array]',
+ HGt = '[object Uint8Array]',
+ VGt = '[object Uint8ClampedArray]',
+ UGt = '[object Uint16Array]',
+ GGt = '[object Uint32Array]';
+ function KGt(i, s, u) {
+ var d = i.constructor;
+ switch (s) {
+ case BGt:
+ return m2e(i);
+ case AGt:
+ case LGt:
+ return new d(+i);
+ case FGt:
+ return TGt(i, u);
+ case RGt:
+ case jGt:
+ case $Gt:
+ case zGt:
+ case qGt:
+ case HGt:
+ case VGt:
+ case UGt:
+ case GGt:
+ return KRe(i, u);
+ case MGt:
+ return new d();
+ case DGt:
+ case NGt:
+ return new d(i);
+ case IGt:
+ return SGt(i);
+ case OGt:
+ return new d();
+ case PGt:
+ return _Gt(i);
+ }
+ }
+ var WGt = '[object Map]';
+ function YGt(i) {
+ return q4(i) && CD(i) == WGt;
+ }
+ var AHe = vD && vD.isMap,
+ XGt = AHe ? OX(AHe) : YGt;
+ const QGt = XGt;
+ var JGt = '[object Set]';
+ function ZGt(i) {
+ return q4(i) && CD(i) == JGt;
+ }
+ var LHe = vD && vD.isSet,
+ eKt = LHe ? OX(LHe) : ZGt;
+ const tKt = eKt;
+ var nKt = 1,
+ rKt = 2,
+ iKt = 4,
+ MHe = '[object Arguments]',
+ sKt = '[object Array]',
+ aKt = '[object Boolean]',
+ oKt = '[object Date]',
+ cKt = '[object Error]',
+ DHe = '[object Function]',
+ uKt = '[object GeneratorFunction]',
+ lKt = '[object Map]',
+ hKt = '[object Number]',
+ IHe = '[object Object]',
+ fKt = '[object RegExp]',
+ dKt = '[object Set]',
+ gKt = '[object String]',
+ pKt = '[object Symbol]',
+ bKt = '[object WeakMap]',
+ mKt = '[object ArrayBuffer]',
+ vKt = '[object DataView]',
+ wKt = '[object Float32Array]',
+ yKt = '[object Float64Array]',
+ xKt = '[object Int8Array]',
+ kKt = '[object Int16Array]',
+ EKt = '[object Int32Array]',
+ TKt = '[object Uint8Array]',
+ CKt = '[object Uint8ClampedArray]',
+ SKt = '[object Uint16Array]',
+ _Kt = '[object Uint32Array]',
+ Gl = {};
+ ((Gl[MHe] =
+ Gl[sKt] =
+ Gl[mKt] =
+ Gl[vKt] =
+ Gl[aKt] =
+ Gl[oKt] =
+ Gl[wKt] =
+ Gl[yKt] =
+ Gl[xKt] =
+ Gl[kKt] =
+ Gl[EKt] =
+ Gl[lKt] =
+ Gl[hKt] =
+ Gl[IHe] =
+ Gl[fKt] =
+ Gl[dKt] =
+ Gl[gKt] =
+ Gl[pKt] =
+ Gl[TKt] =
+ Gl[CKt] =
+ Gl[SKt] =
+ Gl[_Kt] =
+ !0),
+ (Gl[cKt] = Gl[DHe] = Gl[bKt] = !1));
+ function yR(i, s, u, d, p, v) {
+ var b,
+ y = s & nKt,
+ T = s & rKt,
+ _ = s & iKt;
+ if ((u && (b = p ? u(i, d, p, v) : u(i)), b !== void 0)) return b;
+ if (!sm(i)) return i;
+ var A = L0(i);
+ if (A) {
+ if (((b = EGt(i)), !y)) return WRe(i, b);
+ } else {
+ var P = CD(i),
+ R = P == DHe || P == uKt;
+ if (mD(i)) return GRe(i, y);
+ if (P == IHe || P == MHe || (R && !p)) {
+ if (((b = T || R ? {} : QRe(i)), !y)) return T ? wGt(i, fGt(b, i)) : bGt(i, hGt(b, i));
+ } else {
+ if (!Gl[P]) return p ? i : {};
+ b = KGt(i, P, y);
+ }
+ }
+ v || (v = new P3());
+ var F = v.get(i);
+ if (F) return F;
+ (v.set(i, b),
+ tKt(i)
+ ? i.forEach(function (ee) {
+ b.add(yR(ee, s, u, ee, i, v));
+ })
+ : QGt(i) &&
+ i.forEach(function (ee, ie) {
+ b.set(ie, yR(ee, s, u, ie, i, v));
+ }));
+ var j = _ ? (T ? yGt : Qbe) : T ? DC : hm,
+ W = A ? void 0 : j(i);
+ return (
+ mHe(W || i, function (ee, ie) {
+ (W && ((ie = ee), (ee = i[ie])), PX(b, ie, yR(ee, s, u, ie, i, v)));
+ }),
+ b
+ );
+ }
+ var AKt = 4;
+ function OHe(i) {
+ return yR(i, AKt);
+ }
+ var LKt = 1,
+ MKt = 4;
+ function DKt(i) {
+ return yR(i, LKt | MKt);
+ }
+ var IKt = '__lodash_hash_undefined__';
+ function OKt(i) {
+ return (this.__data__.set(i, IKt), this);
+ }
+ function NKt(i) {
+ return this.__data__.has(i);
+ }
+ function xR(i) {
+ var s = -1,
+ u = i == null ? 0 : i.length;
+ for (this.__data__ = new C7(); ++s < u; ) this.add(i[s]);
+ }
+ ((xR.prototype.add = xR.prototype.push = OKt), (xR.prototype.has = NKt));
+ function PKt(i, s) {
+ for (var u = -1, d = i == null ? 0 : i.length; ++u < d; ) if (s(i[u], u, i)) return !0;
+ return !1;
+ }
+ function NHe(i, s) {
+ return i.has(s);
+ }
+ var BKt = 1,
+ FKt = 2;
+ function PHe(i, s, u, d, p, v) {
+ var b = u & BKt,
+ y = i.length,
+ T = s.length;
+ if (y != T && !(b && T > y)) return !1;
+ var _ = v.get(i),
+ A = v.get(s);
+ if (_ && A) return _ == s && A == i;
+ var P = -1,
+ R = !0,
+ F = u & FKt ? new xR() : void 0;
+ for (v.set(i, s), v.set(s, i); ++P < y; ) {
+ var j = i[P],
+ W = s[P];
+ if (d) var ee = b ? d(W, j, P, s, i, v) : d(j, W, P, i, s, v);
+ if (ee !== void 0) {
+ if (ee) continue;
+ R = !1;
+ break;
+ }
+ if (F) {
+ if (
+ !PKt(s, function (ie, oe) {
+ if (!NHe(F, oe) && (j === ie || p(j, ie, u, d, v))) return F.push(oe);
+ })
+ ) {
+ R = !1;
+ break;
+ }
+ } else if (!(j === W || p(j, W, u, d, v))) {
+ R = !1;
+ break;
+ }
+ }
+ return (v.delete(i), v.delete(s), R);
+ }
+ function RKt(i) {
+ var s = -1,
+ u = Array(i.size);
+ return (
+ i.forEach(function (d, p) {
+ u[++s] = [p, d];
+ }),
+ u
+ );
+ }
+ function Jbe(i) {
+ var s = -1,
+ u = Array(i.size);
+ return (
+ i.forEach(function (d) {
+ u[++s] = d;
+ }),
+ u
+ );
+ }
+ var jKt = 1,
+ $Kt = 2,
+ zKt = '[object Boolean]',
+ qKt = '[object Date]',
+ HKt = '[object Error]',
+ VKt = '[object Map]',
+ UKt = '[object Number]',
+ GKt = '[object RegExp]',
+ KKt = '[object Set]',
+ WKt = '[object String]',
+ YKt = '[object Symbol]',
+ XKt = '[object ArrayBuffer]',
+ QKt = '[object DataView]',
+ BHe = Iv ? Iv.prototype : void 0,
+ Zbe = BHe ? BHe.valueOf : void 0;
+ function JKt(i, s, u, d, p, v, b) {
+ switch (u) {
+ case QKt:
+ if (i.byteLength != s.byteLength || i.byteOffset != s.byteOffset) return !1;
+ ((i = i.buffer), (s = s.buffer));
+ case XKt:
+ return !(i.byteLength != s.byteLength || !v(new DX(i), new DX(s)));
+ case zKt:
+ case qKt:
+ case UKt:
+ return gD(+i, +s);
+ case HKt:
+ return i.name == s.name && i.message == s.message;
+ case GKt:
+ case WKt:
+ return i == s + '';
+ case VKt:
+ var y = RKt;
+ case KKt:
+ var T = d & jKt;
+ if ((y || (y = Jbe), i.size != s.size && !T)) return !1;
+ var _ = b.get(i);
+ if (_) return _ == s;
+ ((d |= $Kt), b.set(i, s));
+ var A = PHe(y(i), y(s), d, p, v, b);
+ return (b.delete(i), A);
+ case YKt:
+ if (Zbe) return Zbe.call(i) == Zbe.call(s);
+ }
+ return !1;
+ }
+ var ZKt = 1,
+ eWt = Object.prototype,
+ tWt = eWt.hasOwnProperty;
+ function nWt(i, s, u, d, p, v) {
+ var b = u & ZKt,
+ y = Qbe(i),
+ T = y.length,
+ _ = Qbe(s),
+ A = _.length;
+ if (T != A && !b) return !1;
+ for (var P = T; P--; ) {
+ var R = y[P];
+ if (!(b ? R in s : tWt.call(s, R))) return !1;
+ }
+ var F = v.get(i),
+ j = v.get(s);
+ if (F && j) return F == s && j == i;
+ var W = !0;
+ (v.set(i, s), v.set(s, i));
+ for (var ee = b; ++P < T; ) {
+ R = y[P];
+ var ie = i[R],
+ oe = s[R];
+ if (d) var be = b ? d(oe, ie, R, s, i, v) : d(ie, oe, R, i, s, v);
+ if (!(be === void 0 ? ie === oe || p(ie, oe, u, d, v) : be)) {
+ W = !1;
+ break;
+ }
+ ee || (ee = R == 'constructor');
+ }
+ if (W && !ee) {
+ var ge = i.constructor,
+ ae = s.constructor;
+ ge != ae &&
+ 'constructor' in i &&
+ 'constructor' in s &&
+ !(
+ typeof ge == 'function' &&
+ ge instanceof ge &&
+ typeof ae == 'function' &&
+ ae instanceof ae
+ ) &&
+ (W = !1);
+ }
+ return (v.delete(i), v.delete(s), W);
+ }
+ var rWt = 1,
+ FHe = '[object Arguments]',
+ RHe = '[object Array]',
+ HQ = '[object Object]',
+ iWt = Object.prototype,
+ jHe = iWt.hasOwnProperty;
+ function sWt(i, s, u, d, p, v) {
+ var b = L0(i),
+ y = L0(s),
+ T = b ? RHe : CD(i),
+ _ = y ? RHe : CD(s);
+ ((T = T == FHe ? HQ : T), (_ = _ == FHe ? HQ : _));
+ var A = T == HQ,
+ P = _ == HQ,
+ R = T == _;
+ if (R && mD(i)) {
+ if (!mD(s)) return !1;
+ ((b = !0), (A = !1));
+ }
+ if (R && !A)
+ return (v || (v = new P3()), b || NX(i) ? PHe(i, s, u, d, p, v) : JKt(i, s, T, u, d, p, v));
+ if (!(u & rWt)) {
+ var F = A && jHe.call(i, '__wrapped__'),
+ j = P && jHe.call(s, '__wrapped__');
+ if (F || j) {
+ var W = F ? i.value() : i,
+ ee = j ? s.value() : s;
+ return (v || (v = new P3()), p(W, ee, u, d, v));
+ }
+ }
+ return R ? (v || (v = new P3()), nWt(i, s, u, d, p, v)) : !1;
+ }
+ function eme(i, s, u, d, p) {
+ return i === s
+ ? !0
+ : i == null || s == null || (!q4(i) && !q4(s))
+ ? i !== i && s !== s
+ : sWt(i, s, u, d, eme, p);
+ }
+ var aWt = 1,
+ oWt = 2;
+ function cWt(i, s, u, d) {
+ var p = u.length,
+ v = p,
+ b = !d;
+ if (i == null) return !v;
+ for (i = Object(i); p--; ) {
+ var y = u[p];
+ if (b && y[2] ? y[1] !== i[y[0]] : !(y[0] in i)) return !1;
+ }
+ for (; ++p < v; ) {
+ y = u[p];
+ var T = y[0],
+ _ = i[T],
+ A = y[1];
+ if (b && y[2]) {
+ if (_ === void 0 && !(T in i)) return !1;
+ } else {
+ var P = new P3();
+ if (d) var R = d(_, A, T, i, s, P);
+ if (!(R === void 0 ? eme(A, _, aWt | oWt, d, P) : R)) return !1;
+ }
+ }
+ return !0;
+ }
+ function $He(i) {
+ return i === i && !sm(i);
+ }
+ function uWt(i) {
+ for (var s = hm(i), u = s.length; u--; ) {
+ var d = s[u],
+ p = i[d];
+ s[u] = [d, p, $He(p)];
+ }
+ return s;
+ }
+ function zHe(i, s) {
+ return function (u) {
+ return u == null ? !1 : u[i] === s && (s !== void 0 || i in Object(u));
+ };
+ }
+ function lWt(i) {
+ var s = uWt(i);
+ return s.length == 1 && s[0][2]
+ ? zHe(s[0][0], s[0][1])
+ : function (u) {
+ return u === i || cWt(u, i, s);
+ };
+ }
+ function hWt(i, s) {
+ return i != null && s in Object(i);
+ }
+ function qHe(i, s, u) {
+ s = $Q(s, i);
+ for (var d = -1, p = s.length, v = !1; ++d < p; ) {
+ var b = wR(s[d]);
+ if (!(v = i != null && u(i, b))) break;
+ i = i[b];
+ }
+ return v || ++d != p
+ ? v
+ : ((p = i == null ? 0 : i.length), !!p && w2e(p) && BX(b, p) && (L0(i) || bD(i)));
+ }
+ function HHe(i, s) {
+ return i != null && qHe(i, s, hWt);
+ }
+ var fWt = 1,
+ dWt = 2;
+ function gWt(i, s) {
+ return Wbe(i) && $He(s)
+ ? zHe(wR(i), s)
+ : function (u) {
+ var d = oGt(u, i);
+ return d === void 0 && d === s ? HHe(u, i) : eme(s, d, fWt | dWt);
+ };
+ }
+ function pWt(i) {
+ return function (s) {
+ return s == null ? void 0 : s[i];
+ };
+ }
+ function bWt(i) {
+ return function (s) {
+ return zQ(s, i);
+ };
+ }
+ function mWt(i) {
+ return Wbe(i) ? pWt(wR(i)) : bWt(i);
+ }
+ function D9(i) {
+ return typeof i == 'function'
+ ? i
+ : i == null
+ ? IC
+ : typeof i == 'object'
+ ? L0(i)
+ ? gWt(i[0], i[1])
+ : lWt(i)
+ : mWt(i);
+ }
+ function tme(i, s) {
+ return i && b2e(i, s, hm);
+ }
+ function vWt(i, s) {
+ return function (u, d) {
+ if (u == null) return u;
+ if (!v9(u)) return i(u, d);
+ for (
+ var p = u.length, v = s ? p : -1, b = Object(u);
+ (s ? v-- : ++v < p) && d(b[v], v, b) !== !1;
+ );
+ return u;
+ };
+ }
+ var wWt = vWt(tme);
+ const VQ = wWt;
+ var yWt = function () {
+ return N3.Date.now();
+ };
+ const VHe = yWt;
+ var UHe = Object.prototype,
+ xWt = UHe.hasOwnProperty,
+ kWt = FX(function (i, s) {
+ i = Object(i);
+ var u = -1,
+ d = s.length,
+ p = d > 2 ? s[2] : void 0;
+ for (p && JF(s[0], s[1], p) && (d = 1); ++u < d; )
+ for (var v = s[u], b = DC(v), y = -1, T = b.length; ++y < T; ) {
+ var _ = b[y],
+ A = i[_];
+ (A === void 0 || (gD(A, UHe[_]) && !xWt.call(i, _))) && (i[_] = v[_]);
+ }
+ return i;
+ });
+ const jD = kWt;
+ function EWt(i, s, u) {
+ for (var d = -1, p = i == null ? 0 : i.length; ++d < p; ) if (u(s, i[d])) return !0;
+ return !1;
+ }
+ function UQ(i) {
+ var s = i == null ? 0 : i.length;
+ return s ? i[s - 1] : void 0;
+ }
+ function nme(i) {
+ return typeof i == 'function' ? i : IC;
+ }
+ function Lr(i, s) {
+ var u = L0(i) ? mHe : VQ;
+ return u(i, nme(s));
+ }
+ function TWt(i, s) {
+ var u = [];
+ return (
+ VQ(i, function (d, p, v) {
+ s(d, p, v) && u.push(d);
+ }),
+ u
+ );
+ }
+ function R7(i, s) {
+ var u = L0(i) ? xHe : TWt;
+ return u(i, D9(s));
+ }
+ function CWt(i) {
+ return function (s, u, d) {
+ var p = Object(s);
+ if (!v9(s)) {
+ var v = D9(u);
+ ((s = hm(s)),
+ (u = function (y) {
+ return v(p[y], y, p);
+ }));
+ }
+ var b = i(s, u, d);
+ return b > -1 ? p[v ? s[b] : b] : void 0;
+ };
+ }
+ var SWt = Math.max;
+ function _Wt(i, s, u) {
+ var d = i == null ? 0 : i.length;
+ if (!d) return -1;
+ var p = u == null ? 0 : GUt(u);
+ return (p < 0 && (p = SWt(d + p, 0)), vHe(i, D9(s), p));
+ }
+ var AWt = CWt(_Wt);
+ const rme = AWt;
+ function GHe(i, s) {
+ var u = -1,
+ d = v9(i) ? Array(i.length) : [];
+ return (
+ VQ(i, function (p, v, b) {
+ d[++u] = s(p, v, b);
+ }),
+ d
+ );
+ }
+ function O0(i, s) {
+ var u = L0(i) ? FD : GHe;
+ return u(i, D9(s));
+ }
+ function LWt(i, s) {
+ return i == null ? i : b2e(i, nme(s), DC);
+ }
+ function MWt(i, s) {
+ return i && tme(i, nme(s));
+ }
+ function DWt(i, s) {
+ return i > s;
+ }
+ var IWt = Object.prototype,
+ OWt = IWt.hasOwnProperty;
+ function NWt(i, s) {
+ return i != null && OWt.call(i, s);
+ }
+ function KHe(i, s) {
+ return i != null && qHe(i, s, NWt);
+ }
+ function PWt(i, s) {
+ return FD(s, function (u) {
+ return i[u];
+ });
+ }
+ function j7(i) {
+ return i == null ? [] : PWt(i, hm(i));
+ }
+ function Yf(i) {
+ return i === void 0;
+ }
+ function WHe(i, s) {
+ return i < s;
+ }
+ function GQ(i, s) {
+ var u = {};
+ return (
+ (s = D9(s)),
+ tme(i, function (d, p, v) {
+ MX(u, p, s(d, p, v));
+ }),
+ u
+ );
+ }
+ function ime(i, s, u) {
+ for (var d = -1, p = i.length; ++d < p; ) {
+ var v = i[d],
+ b = s(v);
+ if (b != null && (y === void 0 ? b === b && !HC(b) : u(b, y)))
+ var y = b,
+ T = v;
+ }
+ return T;
+ }
+ function VC(i) {
+ return i && i.length ? ime(i, IC, DWt) : void 0;
+ }
+ function kR(i) {
+ return i && i.length ? ime(i, IC, WHe) : void 0;
+ }
+ function sme(i, s) {
+ return i && i.length ? ime(i, D9(s), WHe) : void 0;
+ }
+ function BWt(i, s, u, d) {
+ if (!sm(i)) return i;
+ s = $Q(s, i);
+ for (var p = -1, v = s.length, b = v - 1, y = i; y != null && ++p < v; ) {
+ var T = wR(s[p]),
+ _ = u;
+ if (T === '__proto__' || T === 'constructor' || T === 'prototype') return i;
+ if (p != b) {
+ var A = y[T];
+ ((_ = d ? d(A, T, y) : void 0), _ === void 0 && (_ = sm(A) ? A : BX(s[p + 1]) ? [] : {}));
+ }
+ (PX(y, T, _), (y = y[T]));
+ }
+ return i;
+ }
+ function FWt(i, s, u) {
+ for (var d = -1, p = s.length, v = {}; ++d < p; ) {
+ var b = s[d],
+ y = zQ(i, b);
+ u(y, b) && BWt(v, $Q(b, i), y);
+ }
+ return v;
+ }
+ function RWt(i, s) {
+ var u = i.length;
+ for (i.sort(s); u--; ) i[u] = i[u].value;
+ return i;
+ }
+ function jWt(i, s) {
+ if (i !== s) {
+ var u = i !== void 0,
+ d = i === null,
+ p = i === i,
+ v = HC(i),
+ b = s !== void 0,
+ y = s === null,
+ T = s === s,
+ _ = HC(s);
+ if (
+ (!y && !_ && !v && i > s) ||
+ (v && b && T && !y && !_) ||
+ (d && b && T) ||
+ (!u && T) ||
+ !p
+ )
+ return 1;
+ if (
+ (!d && !v && !_ && i < s) ||
+ (_ && u && p && !d && !v) ||
+ (y && u && p) ||
+ (!b && p) ||
+ !T
+ )
+ return -1;
+ }
+ return 0;
+ }
+ function $Wt(i, s, u) {
+ for (var d = -1, p = i.criteria, v = s.criteria, b = p.length, y = u.length; ++d < b; ) {
+ var T = jWt(p[d], v[d]);
+ if (T) {
+ if (d >= y) return T;
+ var _ = u[d];
+ return T * (_ == 'desc' ? -1 : 1);
+ }
+ }
+ return i.index - s.index;
+ }
+ function zWt(i, s, u) {
+ s.length
+ ? (s = FD(s, function (v) {
+ return L0(v)
+ ? function (b) {
+ return zQ(b, v.length === 1 ? v[0] : v);
+ }
+ : v;
+ }))
+ : (s = [IC]);
+ var d = -1;
+ s = FD(s, OX(D9));
+ var p = GHe(i, function (v, b, y) {
+ var T = FD(s, function (_) {
+ return _(v);
+ });
+ return { criteria: T, index: ++d, value: v };
+ });
+ return RWt(p, function (v, b) {
+ return $Wt(v, b, u);
+ });
+ }
+ function qWt(i, s) {
+ return FWt(i, s, function (u, d) {
+ return HHe(i, d);
+ });
+ }
+ var HWt = uGt(function (i, s) {
+ return i == null ? {} : qWt(i, s);
+ });
+ const ER = HWt;
+ var VWt = Math.ceil,
+ UWt = Math.max;
+ function GWt(i, s, u, d) {
+ for (var p = -1, v = UWt(VWt((s - i) / (u || 1)), 0), b = Array(v); v--; )
+ ((b[d ? v : ++p] = i), (i += u));
+ return b;
+ }
+ function KWt(i) {
+ return function (s, u, d) {
+ return (
+ d && typeof d != 'number' && JF(s, u, d) && (u = d = void 0),
+ (s = jQ(s)),
+ u === void 0 ? ((u = s), (s = 0)) : (u = jQ(u)),
+ (d = d === void 0 ? (s < u ? 1 : -1) : jQ(d)),
+ GWt(s, u, d, i)
+ );
+ };
+ }
+ var WWt = KWt();
+ const UC = WWt;
+ function YWt(i, s, u, d, p) {
+ return (
+ p(i, function (v, b, y) {
+ u = d ? ((d = !1), v) : s(u, v, b, y);
+ }),
+ u
+ );
+ }
+ function TR(i, s, u) {
+ var d = L0(i) ? lGt : YWt,
+ p = arguments.length < 3;
+ return d(i, D9(s), u, p, VQ);
+ }
+ var XWt = FX(function (i, s) {
+ if (i == null) return [];
+ var u = s.length;
+ return (
+ u > 1 && JF(i, s[0], s[1]) ? (s = []) : u > 2 && JF(s[0], s[1], s[2]) && (s = [s[0]]),
+ zWt(i, qQ(s, 1), [])
+ );
+ });
+ const CR = XWt;
+ var QWt = 1 / 0,
+ JWt =
+ TD && 1 / Jbe(new TD([, -0]))[1] == QWt
+ ? function (i) {
+ return new TD(i);
+ }
+ : KUt;
+ const ZWt = JWt;
+ var eYt = 200;
+ function tYt(i, s, u) {
+ var d = -1,
+ p = QUt,
+ v = i.length,
+ b = !0,
+ y = [],
+ T = y;
+ if (u) ((b = !1), (p = EWt));
+ else if (v >= eYt) {
+ var _ = s ? null : ZWt(i);
+ if (_) return Jbe(_);
+ ((b = !1), (p = NHe), (T = new xR()));
+ } else T = s ? [] : y;
+ e: for (; ++d < v; ) {
+ var A = i[d],
+ P = s ? s(A) : A;
+ if (((A = u || A !== 0 ? A : 0), b && P === P)) {
+ for (var R = T.length; R--; ) if (T[R] === P) continue e;
+ (s && T.push(P), y.push(A));
+ } else p(T, P, u) || (T !== y && T.push(P), y.push(A));
+ }
+ return y;
+ }
+ var nYt = FX(function (i) {
+ return tYt(qQ(i, 1, eje, !0));
+ });
+ const rYt = nYt;
+ var iYt = 0;
+ function KQ(i) {
+ var s = ++iYt;
+ return wHe(i) + s;
+ }
+ function sYt(i, s, u) {
+ for (var d = -1, p = i.length, v = s.length, b = {}; ++d < p; ) {
+ var y = d < v ? s[d] : void 0;
+ u(b, i[d], y);
+ }
+ return b;
+ }
+ function aYt(i, s) {
+ return sYt(i || [], s || [], PX);
+ }
+ var oYt = '\0',
+ GC = '\0',
+ YHe = '';
+ class N0 {
+ constructor(s = {}) {
+ ((this._isDirected = Object.prototype.hasOwnProperty.call(s, 'directed') ? s.directed : !0),
+ (this._isMultigraph = Object.prototype.hasOwnProperty.call(s, 'multigraph')
+ ? s.multigraph
+ : !1),
+ (this._isCompound = Object.prototype.hasOwnProperty.call(s, 'compound') ? s.compound : !1),
+ (this._label = void 0),
+ (this._defaultNodeLabelFn = wD(void 0)),
+ (this._defaultEdgeLabelFn = wD(void 0)),
+ (this._nodes = {}),
+ this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[GC] = {})),
+ (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(s) {
+ return ((this._label = s), this);
+ }
+ graph() {
+ return this._label;
+ }
+ setDefaultNodeLabel(s) {
+ return (dD(s) || (s = wD(s)), (this._defaultNodeLabelFn = s), this);
+ }
+ nodeCount() {
+ return this._nodeCount;
+ }
+ nodes() {
+ return hm(this._nodes);
+ }
+ sources() {
+ var s = this;
+ return R7(this.nodes(), function (u) {
+ return sR(s._in[u]);
+ });
+ }
+ sinks() {
+ var s = this;
+ return R7(this.nodes(), function (u) {
+ return sR(s._out[u]);
+ });
+ }
+ setNodes(s, u) {
+ var d = arguments,
+ p = this;
+ return (
+ Lr(s, function (v) {
+ d.length > 1 ? p.setNode(v, u) : p.setNode(v);
+ }),
+ this
+ );
+ }
+ setNode(s, u) {
+ return Object.prototype.hasOwnProperty.call(this._nodes, s)
+ ? (arguments.length > 1 && (this._nodes[s] = u), this)
+ : ((this._nodes[s] = arguments.length > 1 ? u : this._defaultNodeLabelFn(s)),
+ this._isCompound &&
+ ((this._parent[s] = GC), (this._children[s] = {}), (this._children[GC][s] = !0)),
+ (this._in[s] = {}),
+ (this._preds[s] = {}),
+ (this._out[s] = {}),
+ (this._sucs[s] = {}),
+ ++this._nodeCount,
+ this);
+ }
+ node(s) {
+ return this._nodes[s];
+ }
+ hasNode(s) {
+ return Object.prototype.hasOwnProperty.call(this._nodes, s);
+ }
+ removeNode(s) {
+ if (Object.prototype.hasOwnProperty.call(this._nodes, s)) {
+ var u = (d) => this.removeEdge(this._edgeObjs[d]);
+ (delete this._nodes[s],
+ this._isCompound &&
+ (this._removeFromParentsChildList(s),
+ delete this._parent[s],
+ Lr(this.children(s), (d) => {
+ this.setParent(d);
+ }),
+ delete this._children[s]),
+ Lr(hm(this._in[s]), u),
+ delete this._in[s],
+ delete this._preds[s],
+ Lr(hm(this._out[s]), u),
+ delete this._out[s],
+ delete this._sucs[s],
+ --this._nodeCount);
+ }
+ return this;
+ }
+ setParent(s, u) {
+ if (!this._isCompound) throw new Error('Cannot set parent in a non-compound graph');
+ if (Yf(u)) u = GC;
+ else {
+ u += '';
+ for (var d = u; !Yf(d); d = this.parent(d))
+ if (d === s)
+ throw new Error('Setting ' + u + ' as parent of ' + s + ' would create a cycle');
+ this.setNode(u);
+ }
+ return (
+ this.setNode(s),
+ this._removeFromParentsChildList(s),
+ (this._parent[s] = u),
+ (this._children[u][s] = !0),
+ this
+ );
+ }
+ _removeFromParentsChildList(s) {
+ delete this._children[this._parent[s]][s];
+ }
+ parent(s) {
+ if (this._isCompound) {
+ var u = this._parent[s];
+ if (u !== GC) return u;
+ }
+ }
+ children(s) {
+ if ((Yf(s) && (s = GC), this._isCompound)) {
+ var u = this._children[s];
+ if (u) return hm(u);
+ } else {
+ if (s === GC) return this.nodes();
+ if (this.hasNode(s)) return [];
+ }
+ }
+ predecessors(s) {
+ var u = this._preds[s];
+ if (u) return hm(u);
+ }
+ successors(s) {
+ var u = this._sucs[s];
+ if (u) return hm(u);
+ }
+ neighbors(s) {
+ var u = this.predecessors(s);
+ if (u) return rYt(u, this.successors(s));
+ }
+ isLeaf(s) {
+ var u;
+ return (
+ this.isDirected() ? (u = this.successors(s)) : (u = this.neighbors(s)),
+ u.length === 0
+ );
+ }
+ filterNodes(s) {
+ var u = new this.constructor({
+ directed: this._isDirected,
+ multigraph: this._isMultigraph,
+ compound: this._isCompound,
+ });
+ u.setGraph(this.graph());
+ var d = this;
+ (Lr(this._nodes, function (b, y) {
+ s(y) && u.setNode(y, b);
+ }),
+ Lr(this._edgeObjs, function (b) {
+ u.hasNode(b.v) && u.hasNode(b.w) && u.setEdge(b, d.edge(b));
+ }));
+ var p = {};
+ function v(b) {
+ var y = d.parent(b);
+ return y === void 0 || u.hasNode(y) ? ((p[b] = y), y) : y in p ? p[y] : v(y);
+ }
+ return (
+ this._isCompound &&
+ Lr(u.nodes(), function (b) {
+ u.setParent(b, v(b));
+ }),
+ u
+ );
+ }
+ setDefaultEdgeLabel(s) {
+ return (dD(s) || (s = wD(s)), (this._defaultEdgeLabelFn = s), this);
+ }
+ edgeCount() {
+ return this._edgeCount;
+ }
+ edges() {
+ return j7(this._edgeObjs);
+ }
+ setPath(s, u) {
+ var d = this,
+ p = arguments;
+ return (
+ TR(s, function (v, b) {
+ return (p.length > 1 ? d.setEdge(v, b, u) : d.setEdge(v, b), b);
+ }),
+ this
+ );
+ }
+ setEdge() {
+ var s,
+ u,
+ d,
+ p,
+ v = !1,
+ b = arguments[0];
+ (typeof b == 'object' && b !== null && 'v' in b
+ ? ((s = b.v),
+ (u = b.w),
+ (d = b.name),
+ arguments.length === 2 && ((p = arguments[1]), (v = !0)))
+ : ((s = b),
+ (u = arguments[1]),
+ (d = arguments[3]),
+ arguments.length > 2 && ((p = arguments[2]), (v = !0))),
+ (s = '' + s),
+ (u = '' + u),
+ Yf(d) || (d = '' + d));
+ var y = SR(this._isDirected, s, u, d);
+ if (Object.prototype.hasOwnProperty.call(this._edgeLabels, y))
+ return (v && (this._edgeLabels[y] = p), this);
+ if (!Yf(d) && !this._isMultigraph)
+ throw new Error('Cannot set a named edge when isMultigraph = false');
+ (this.setNode(s),
+ this.setNode(u),
+ (this._edgeLabels[y] = v ? p : this._defaultEdgeLabelFn(s, u, d)));
+ var T = cYt(this._isDirected, s, u, d);
+ return (
+ (s = T.v),
+ (u = T.w),
+ Object.freeze(T),
+ (this._edgeObjs[y] = T),
+ XHe(this._preds[u], s),
+ XHe(this._sucs[s], u),
+ (this._in[u][y] = T),
+ (this._out[s][y] = T),
+ this._edgeCount++,
+ this
+ );
+ }
+ edge(s, u, d) {
+ var p =
+ arguments.length === 1
+ ? ame(this._isDirected, arguments[0])
+ : SR(this._isDirected, s, u, d);
+ return this._edgeLabels[p];
+ }
+ hasEdge(s, u, d) {
+ var p =
+ arguments.length === 1
+ ? ame(this._isDirected, arguments[0])
+ : SR(this._isDirected, s, u, d);
+ return Object.prototype.hasOwnProperty.call(this._edgeLabels, p);
+ }
+ removeEdge(s, u, d) {
+ var p =
+ arguments.length === 1
+ ? ame(this._isDirected, arguments[0])
+ : SR(this._isDirected, s, u, d),
+ v = this._edgeObjs[p];
+ return (
+ v &&
+ ((s = v.v),
+ (u = v.w),
+ delete this._edgeLabels[p],
+ delete this._edgeObjs[p],
+ QHe(this._preds[u], s),
+ QHe(this._sucs[s], u),
+ delete this._in[u][p],
+ delete this._out[s][p],
+ this._edgeCount--),
+ this
+ );
+ }
+ inEdges(s, u) {
+ var d = this._in[s];
+ if (d) {
+ var p = j7(d);
+ return u
+ ? R7(p, function (v) {
+ return v.v === u;
+ })
+ : p;
+ }
+ }
+ outEdges(s, u) {
+ var d = this._out[s];
+ if (d) {
+ var p = j7(d);
+ return u
+ ? R7(p, function (v) {
+ return v.w === u;
+ })
+ : p;
+ }
+ }
+ nodeEdges(s, u) {
+ var d = this.inEdges(s, u);
+ if (d) return d.concat(this.outEdges(s, u));
+ }
+ }
+ ((N0.prototype._nodeCount = 0), (N0.prototype._edgeCount = 0));
+ function XHe(i, s) {
+ i[s] ? i[s]++ : (i[s] = 1);
+ }
+ function QHe(i, s) {
+ --i[s] || delete i[s];
+ }
+ function SR(i, s, u, d) {
+ var p = '' + s,
+ v = '' + u;
+ if (!i && p > v) {
+ var b = p;
+ ((p = v), (v = b));
+ }
+ return p + YHe + v + YHe + (Yf(d) ? oYt : d);
+ }
+ function cYt(i, s, u, d) {
+ var p = '' + s,
+ v = '' + u;
+ if (!i && p > v) {
+ var b = p;
+ ((p = v), (v = b));
+ }
+ var y = { v: p, w: v };
+ return (d && (y.name = d), y);
+ }
+ function ame(i, s) {
+ return SR(i, s.v, s.w, s.name);
+ }
+ class uYt {
+ constructor() {
+ var s = {};
+ ((s._next = s._prev = s), (this._sentinel = s));
+ }
+ dequeue() {
+ var s = this._sentinel,
+ u = s._prev;
+ if (u !== s) return (JHe(u), u);
+ }
+ enqueue(s) {
+ var u = this._sentinel;
+ (s._prev && s._next && JHe(s),
+ (s._next = u._next),
+ (u._next._prev = s),
+ (u._next = s),
+ (s._prev = u));
+ }
+ toString() {
+ for (var s = [], u = this._sentinel, d = u._prev; d !== u; )
+ (s.push(JSON.stringify(d, lYt)), (d = d._prev));
+ return '[' + s.join(', ') + ']';
+ }
+ }
+ function JHe(i) {
+ ((i._prev._next = i._next), (i._next._prev = i._prev), delete i._next, delete i._prev);
+ }
+ function lYt(i, s) {
+ if (i !== '_next' && i !== '_prev') return s;
+ }
+ var hYt = wD(1);
+ function fYt(i, s) {
+ if (i.nodeCount() <= 1) return [];
+ var u = gYt(i, s || hYt),
+ d = dYt(u.graph, u.buckets, u.zeroIdx);
+ return RD(
+ O0(d, function (p) {
+ return i.outEdges(p.v, p.w);
+ }),
+ );
+ }
+ function dYt(i, s, u) {
+ for (var d = [], p = s[s.length - 1], v = s[0], b; i.nodeCount(); ) {
+ for (; (b = v.dequeue()); ) ome(i, s, u, b);
+ for (; (b = p.dequeue()); ) ome(i, s, u, b);
+ if (i.nodeCount()) {
+ for (var y = s.length - 2; y > 0; --y)
+ if (((b = s[y].dequeue()), b)) {
+ d = d.concat(ome(i, s, u, b, !0));
+ break;
+ }
+ }
+ }
+ return d;
+ }
+ function ome(i, s, u, d, p) {
+ var v = p ? [] : void 0;
+ return (
+ Lr(i.inEdges(d.v), function (b) {
+ var y = i.edge(b),
+ T = i.node(b.v);
+ (p && v.push({ v: b.v, w: b.w }), (T.out -= y), cme(s, u, T));
+ }),
+ Lr(i.outEdges(d.v), function (b) {
+ var y = i.edge(b),
+ T = b.w,
+ _ = i.node(T);
+ ((_.in -= y), cme(s, u, _));
+ }),
+ i.removeNode(d.v),
+ v
+ );
+ }
+ function gYt(i, s) {
+ var u = new N0(),
+ d = 0,
+ p = 0;
+ (Lr(i.nodes(), function (y) {
+ u.setNode(y, { v: y, in: 0, out: 0 });
+ }),
+ Lr(i.edges(), function (y) {
+ var T = u.edge(y.v, y.w) || 0,
+ _ = s(y),
+ A = T + _;
+ (u.setEdge(y.v, y.w, A),
+ (p = Math.max(p, (u.node(y.v).out += _))),
+ (d = Math.max(d, (u.node(y.w).in += _))));
+ }));
+ var v = UC(p + d + 3).map(function () {
+ return new uYt();
+ }),
+ b = d + 1;
+ return (
+ Lr(u.nodes(), function (y) {
+ cme(v, b, u.node(y));
+ }),
+ { graph: u, buckets: v, zeroIdx: b }
+ );
+ }
+ function cme(i, s, u) {
+ u.out ? (u.in ? i[u.out - u.in + s].enqueue(u) : i[i.length - 1].enqueue(u)) : i[0].enqueue(u);
+ }
+ function pYt(i) {
+ var s = i.graph().acyclicer === 'greedy' ? fYt(i, u(i)) : bYt(i);
+ Lr(s, function (d) {
+ var p = i.edge(d);
+ (i.removeEdge(d),
+ (p.forwardName = d.name),
+ (p.reversed = !0),
+ i.setEdge(d.w, d.v, p, KQ('rev')));
+ });
+ function u(d) {
+ return function (p) {
+ return d.edge(p).weight;
+ };
+ }
+ }
+ function bYt(i) {
+ var s = [],
+ u = {},
+ d = {};
+ function p(v) {
+ Object.prototype.hasOwnProperty.call(d, v) ||
+ ((d[v] = !0),
+ (u[v] = !0),
+ Lr(i.outEdges(v), function (b) {
+ Object.prototype.hasOwnProperty.call(u, b.w) ? s.push(b) : p(b.w);
+ }),
+ delete u[v]);
+ }
+ return (Lr(i.nodes(), p), s);
+ }
+ function mYt(i) {
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s);
+ if (u.reversed) {
+ i.removeEdge(s);
+ var d = u.forwardName;
+ (delete u.reversed, delete u.forwardName, i.setEdge(s.w, s.v, u, d));
+ }
+ });
+ }
+ function $D(i, s, u, d) {
+ var p;
+ do p = KQ(d);
+ while (i.hasNode(p));
+ return ((u.dummy = s), i.setNode(p, u), p);
+ }
+ function vYt(i) {
+ var s = new N0().setGraph(i.graph());
+ return (
+ Lr(i.nodes(), function (u) {
+ s.setNode(u, i.node(u));
+ }),
+ Lr(i.edges(), function (u) {
+ var d = s.edge(u.v, u.w) || { weight: 0, minlen: 1 },
+ p = i.edge(u);
+ s.setEdge(u.v, u.w, { weight: d.weight + p.weight, minlen: Math.max(d.minlen, p.minlen) });
+ }),
+ s
+ );
+ }
+ function ZHe(i) {
+ var s = new N0({ multigraph: i.isMultigraph() }).setGraph(i.graph());
+ return (
+ Lr(i.nodes(), function (u) {
+ i.children(u).length || s.setNode(u, i.node(u));
+ }),
+ Lr(i.edges(), function (u) {
+ s.setEdge(u, i.edge(u));
+ }),
+ s
+ );
+ }
+ function eVe(i, s) {
+ var u = i.x,
+ d = i.y,
+ p = s.x - u,
+ v = s.y - d,
+ b = i.width / 2,
+ y = i.height / 2;
+ if (!p && !v) throw new Error('Not possible to find intersection inside of the rectangle');
+ var T, _;
+ return (
+ Math.abs(v) * b > Math.abs(p) * y
+ ? (v < 0 && (y = -y), (T = (y * p) / v), (_ = y))
+ : (p < 0 && (b = -b), (T = b), (_ = (b * v) / p)),
+ { x: u + T, y: d + _ }
+ );
+ }
+ function WQ(i) {
+ var s = O0(UC(nVe(i) + 1), function () {
+ return [];
+ });
+ return (
+ Lr(i.nodes(), function (u) {
+ var d = i.node(u),
+ p = d.rank;
+ Yf(p) || (s[p][d.order] = u);
+ }),
+ s
+ );
+ }
+ function wYt(i) {
+ var s = kR(
+ O0(i.nodes(), function (u) {
+ return i.node(u).rank;
+ }),
+ );
+ Lr(i.nodes(), function (u) {
+ var d = i.node(u);
+ KHe(d, 'rank') && (d.rank -= s);
+ });
+ }
+ function yYt(i) {
+ var s = kR(
+ O0(i.nodes(), function (v) {
+ return i.node(v).rank;
+ }),
+ ),
+ u = [];
+ Lr(i.nodes(), function (v) {
+ var b = i.node(v).rank - s;
+ (u[b] || (u[b] = []), u[b].push(v));
+ });
+ var d = 0,
+ p = i.graph().nodeRankFactor;
+ Lr(u, function (v, b) {
+ Yf(v) && b % p !== 0
+ ? --d
+ : d &&
+ Lr(v, function (y) {
+ i.node(y).rank += d;
+ });
+ });
+ }
+ function tVe(i, s, u, d) {
+ var p = { width: 0, height: 0 };
+ return (arguments.length >= 4 && ((p.rank = u), (p.order = d)), $D(i, 'border', p, s));
+ }
+ function nVe(i) {
+ return VC(
+ O0(i.nodes(), function (s) {
+ var u = i.node(s).rank;
+ if (!Yf(u)) return u;
+ }),
+ );
+ }
+ function xYt(i, s) {
+ var u = { lhs: [], rhs: [] };
+ return (
+ Lr(i, function (d) {
+ s(d) ? u.lhs.push(d) : u.rhs.push(d);
+ }),
+ u
+ );
+ }
+ function kYt(i, s) {
+ var u = VHe();
+ try {
+ return s();
+ } finally {
+ console.log(i + ' time: ' + (VHe() - u) + 'ms');
+ }
+ }
+ function EYt(i, s) {
+ return s();
+ }
+ function TYt(i) {
+ function s(u) {
+ var d = i.children(u),
+ p = i.node(u);
+ if ((d.length && Lr(d, s), Object.prototype.hasOwnProperty.call(p, 'minRank'))) {
+ ((p.borderLeft = []), (p.borderRight = []));
+ for (var v = p.minRank, b = p.maxRank + 1; v < b; ++v)
+ (rVe(i, 'borderLeft', '_bl', u, p, v), rVe(i, 'borderRight', '_br', u, p, v));
+ }
+ }
+ Lr(i.children(), s);
+ }
+ function rVe(i, s, u, d, p, v) {
+ var b = { width: 0, height: 0, rank: v, borderType: s },
+ y = p[s][v - 1],
+ T = $D(i, 'border', b, u);
+ ((p[s][v] = T), i.setParent(T, d), y && i.setEdge(y, T, { weight: 1 }));
+ }
+ function CYt(i) {
+ var s = i.graph().rankdir.toLowerCase();
+ (s === 'lr' || s === 'rl') && iVe(i);
+ }
+ function SYt(i) {
+ var s = i.graph().rankdir.toLowerCase();
+ ((s === 'bt' || s === 'rl') && _Yt(i), (s === 'lr' || s === 'rl') && (AYt(i), iVe(i)));
+ }
+ function iVe(i) {
+ (Lr(i.nodes(), function (s) {
+ sVe(i.node(s));
+ }),
+ Lr(i.edges(), function (s) {
+ sVe(i.edge(s));
+ }));
+ }
+ function sVe(i) {
+ var s = i.width;
+ ((i.width = i.height), (i.height = s));
+ }
+ function _Yt(i) {
+ (Lr(i.nodes(), function (s) {
+ ume(i.node(s));
+ }),
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s);
+ (Lr(u.points, ume), Object.prototype.hasOwnProperty.call(u, 'y') && ume(u));
+ }));
+ }
+ function ume(i) {
+ i.y = -i.y;
+ }
+ function AYt(i) {
+ (Lr(i.nodes(), function (s) {
+ lme(i.node(s));
+ }),
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s);
+ (Lr(u.points, lme), Object.prototype.hasOwnProperty.call(u, 'x') && lme(u));
+ }));
+ }
+ function lme(i) {
+ var s = i.x;
+ ((i.x = i.y), (i.y = s));
+ }
+ function LYt(i) {
+ ((i.graph().dummyChains = []),
+ Lr(i.edges(), function (s) {
+ MYt(i, s);
+ }));
+ }
+ function MYt(i, s) {
+ var u = s.v,
+ d = i.node(u).rank,
+ p = s.w,
+ v = i.node(p).rank,
+ b = s.name,
+ y = i.edge(s),
+ T = y.labelRank;
+ if (v !== d + 1) {
+ i.removeEdge(s);
+ var _ = void 0,
+ A,
+ P;
+ for (P = 0, ++d; d < v; ++P, ++d)
+ ((y.points = []),
+ (_ = { width: 0, height: 0, edgeLabel: y, edgeObj: s, rank: d }),
+ (A = $D(i, 'edge', _, '_d')),
+ d === T &&
+ ((_.width = y.width),
+ (_.height = y.height),
+ (_.dummy = 'edge-label'),
+ (_.labelpos = y.labelpos)),
+ i.setEdge(u, A, { weight: y.weight }, b),
+ P === 0 && i.graph().dummyChains.push(A),
+ (u = A));
+ i.setEdge(u, p, { weight: y.weight }, b);
+ }
+ }
+ function DYt(i) {
+ Lr(i.graph().dummyChains, function (s) {
+ var u = i.node(s),
+ d = u.edgeLabel,
+ p;
+ for (i.setEdge(u.edgeObj, d); u.dummy; )
+ ((p = i.successors(s)[0]),
+ i.removeNode(s),
+ d.points.push({ x: u.x, y: u.y }),
+ u.dummy === 'edge-label' &&
+ ((d.x = u.x), (d.y = u.y), (d.width = u.width), (d.height = u.height)),
+ (s = p),
+ (u = i.node(s)));
+ });
+ }
+ function hme(i) {
+ var s = {};
+ function u(d) {
+ var p = i.node(d);
+ if (Object.prototype.hasOwnProperty.call(s, d)) return p.rank;
+ s[d] = !0;
+ var v = kR(
+ O0(i.outEdges(d), function (b) {
+ return u(b.w) - i.edge(b).minlen;
+ }),
+ );
+ return (
+ (v === Number.POSITIVE_INFINITY || v === void 0 || v === null) && (v = 0),
+ (p.rank = v)
+ );
+ }
+ Lr(i.sources(), u);
+ }
+ function _R(i, s) {
+ return i.node(s.w).rank - i.node(s.v).rank - i.edge(s).minlen;
+ }
+ function aVe(i) {
+ var s = new N0({ directed: !1 }),
+ u = i.nodes()[0],
+ d = i.nodeCount();
+ s.setNode(u, {});
+ for (var p, v; IYt(s, i) < d; )
+ ((p = OYt(s, i)), (v = s.hasNode(p.v) ? _R(i, p) : -_R(i, p)), NYt(s, i, v));
+ return s;
+ }
+ function IYt(i, s) {
+ function u(d) {
+ Lr(s.nodeEdges(d), function (p) {
+ var v = p.v,
+ b = d === v ? p.w : v;
+ !i.hasNode(b) && !_R(s, p) && (i.setNode(b, {}), i.setEdge(d, b, {}), u(b));
+ });
+ }
+ return (Lr(i.nodes(), u), i.nodeCount());
+ }
+ function OYt(i, s) {
+ return sme(s.edges(), function (u) {
+ if (i.hasNode(u.v) !== i.hasNode(u.w)) return _R(s, u);
+ });
+ }
+ function NYt(i, s, u) {
+ Lr(i.nodes(), function (d) {
+ s.node(d).rank += u;
+ });
+ }
+ function PYt() {}
+ PYt.prototype = new Error();
+ function oVe(i, s, u) {
+ L0(s) || (s = [s]);
+ var d = (i.isDirected() ? i.successors : i.neighbors).bind(i),
+ p = [],
+ v = {};
+ return (
+ Lr(s, function (b) {
+ if (!i.hasNode(b)) throw new Error('Graph does not have node: ' + b);
+ cVe(i, b, u === 'post', v, d, p);
+ }),
+ p
+ );
+ }
+ function cVe(i, s, u, d, p, v) {
+ Object.prototype.hasOwnProperty.call(d, s) ||
+ ((d[s] = !0),
+ u || v.push(s),
+ Lr(p(s), function (b) {
+ cVe(i, b, u, d, p, v);
+ }),
+ u && v.push(s));
+ }
+ function BYt(i, s) {
+ return oVe(i, s, 'post');
+ }
+ function FYt(i, s) {
+ return oVe(i, s, 'pre');
+ }
+ ((KC.initLowLimValues = dme),
+ (KC.initCutValues = fme),
+ (KC.calcCutValue = uVe),
+ (KC.leaveEdge = hVe),
+ (KC.enterEdge = fVe),
+ (KC.exchangeEdges = dVe));
+ function KC(i) {
+ ((i = vYt(i)), hme(i));
+ var s = aVe(i);
+ (dme(s), fme(s, i));
+ for (var u, d; (u = hVe(s)); ) ((d = fVe(s, i, u)), dVe(s, i, u, d));
+ }
+ function fme(i, s) {
+ var u = BYt(i, i.nodes());
+ ((u = u.slice(0, u.length - 1)),
+ Lr(u, function (d) {
+ RYt(i, s, d);
+ }));
+ }
+ function RYt(i, s, u) {
+ var d = i.node(u),
+ p = d.parent;
+ i.edge(u, p).cutvalue = uVe(i, s, u);
+ }
+ function uVe(i, s, u) {
+ var d = i.node(u),
+ p = d.parent,
+ v = !0,
+ b = s.edge(u, p),
+ y = 0;
+ return (
+ b || ((v = !1), (b = s.edge(p, u))),
+ (y = b.weight),
+ Lr(s.nodeEdges(u), function (T) {
+ var _ = T.v === u,
+ A = _ ? T.w : T.v;
+ if (A !== p) {
+ var P = _ === v,
+ R = s.edge(T).weight;
+ if (((y += P ? R : -R), $Yt(i, u, A))) {
+ var F = i.edge(u, A).cutvalue;
+ y += P ? -F : F;
+ }
+ }
+ }),
+ y
+ );
+ }
+ function dme(i, s) {
+ (arguments.length < 2 && (s = i.nodes()[0]), lVe(i, {}, 1, s));
+ }
+ function lVe(i, s, u, d, p) {
+ var v = u,
+ b = i.node(d);
+ return (
+ (s[d] = !0),
+ Lr(i.neighbors(d), function (y) {
+ Object.prototype.hasOwnProperty.call(s, y) || (u = lVe(i, s, u, y, d));
+ }),
+ (b.low = v),
+ (b.lim = u++),
+ p ? (b.parent = p) : delete b.parent,
+ u
+ );
+ }
+ function hVe(i) {
+ return rme(i.edges(), function (s) {
+ return i.edge(s).cutvalue < 0;
+ });
+ }
+ function fVe(i, s, u) {
+ var d = u.v,
+ p = u.w;
+ s.hasEdge(d, p) || ((d = u.w), (p = u.v));
+ var v = i.node(d),
+ b = i.node(p),
+ y = v,
+ T = !1;
+ v.lim > b.lim && ((y = b), (T = !0));
+ var _ = R7(s.edges(), function (A) {
+ return T === gVe(i, i.node(A.v), y) && T !== gVe(i, i.node(A.w), y);
+ });
+ return sme(_, function (A) {
+ return _R(s, A);
+ });
+ }
+ function dVe(i, s, u, d) {
+ var p = u.v,
+ v = u.w;
+ (i.removeEdge(p, v), i.setEdge(d.v, d.w, {}), dme(i), fme(i, s), jYt(i, s));
+ }
+ function jYt(i, s) {
+ var u = rme(i.nodes(), function (p) {
+ return !s.node(p).parent;
+ }),
+ d = FYt(i, u);
+ ((d = d.slice(1)),
+ Lr(d, function (p) {
+ var v = i.node(p).parent,
+ b = s.edge(p, v),
+ y = !1;
+ (b || ((b = s.edge(v, p)), (y = !0)),
+ (s.node(p).rank = s.node(v).rank + (y ? b.minlen : -b.minlen)));
+ }));
+ }
+ function $Yt(i, s, u) {
+ return i.hasEdge(s, u);
+ }
+ function gVe(i, s, u) {
+ return u.low <= s.lim && s.lim <= u.lim;
+ }
+ function zYt(i) {
+ switch (i.graph().ranker) {
+ case 'network-simplex':
+ pVe(i);
+ break;
+ case 'tight-tree':
+ HYt(i);
+ break;
+ case 'longest-path':
+ qYt(i);
+ break;
+ default:
+ pVe(i);
+ }
+ }
+ var qYt = hme;
+ function HYt(i) {
+ (hme(i), aVe(i));
+ }
+ function pVe(i) {
+ KC(i);
+ }
+ function VYt(i) {
+ var s = $D(i, 'root', {}, '_root'),
+ u = UYt(i),
+ d = VC(j7(u)) - 1,
+ p = 2 * d + 1;
+ ((i.graph().nestingRoot = s),
+ Lr(i.edges(), function (b) {
+ i.edge(b).minlen *= p;
+ }));
+ var v = GYt(i) + 1;
+ (Lr(i.children(), function (b) {
+ bVe(i, s, p, v, d, u, b);
+ }),
+ (i.graph().nodeRankFactor = p));
+ }
+ function bVe(i, s, u, d, p, v, b) {
+ var y = i.children(b);
+ if (!y.length) {
+ b !== s && i.setEdge(s, b, { weight: 0, minlen: u });
+ return;
+ }
+ var T = tVe(i, '_bt'),
+ _ = tVe(i, '_bb'),
+ A = i.node(b);
+ (i.setParent(T, b),
+ (A.borderTop = T),
+ i.setParent(_, b),
+ (A.borderBottom = _),
+ Lr(y, function (P) {
+ bVe(i, s, u, d, p, v, P);
+ var R = i.node(P),
+ F = R.borderTop ? R.borderTop : P,
+ j = R.borderBottom ? R.borderBottom : P,
+ W = R.borderTop ? d : 2 * d,
+ ee = F !== j ? 1 : p - v[b] + 1;
+ (i.setEdge(T, F, { weight: W, minlen: ee, nestingEdge: !0 }),
+ i.setEdge(j, _, { weight: W, minlen: ee, nestingEdge: !0 }));
+ }),
+ i.parent(b) || i.setEdge(s, T, { weight: 0, minlen: p + v[b] }));
+ }
+ function UYt(i) {
+ var s = {};
+ function u(d, p) {
+ var v = i.children(d);
+ (v &&
+ v.length &&
+ Lr(v, function (b) {
+ u(b, p + 1);
+ }),
+ (s[d] = p));
+ }
+ return (
+ Lr(i.children(), function (d) {
+ u(d, 1);
+ }),
+ s
+ );
+ }
+ function GYt(i) {
+ return TR(
+ i.edges(),
+ function (s, u) {
+ return s + i.edge(u).weight;
+ },
+ 0,
+ );
+ }
+ function KYt(i) {
+ var s = i.graph();
+ (i.removeNode(s.nestingRoot),
+ delete s.nestingRoot,
+ Lr(i.edges(), function (u) {
+ var d = i.edge(u);
+ d.nestingEdge && i.removeEdge(u);
+ }));
+ }
+ function WYt(i, s, u) {
+ var d = {},
+ p;
+ Lr(u, function (v) {
+ for (var b = i.parent(v), y, T; b; ) {
+ if (((y = i.parent(b)), y ? ((T = d[y]), (d[y] = b)) : ((T = p), (p = b)), T && T !== b)) {
+ s.setEdge(T, b);
+ return;
+ }
+ b = y;
+ }
+ });
+ }
+ function YYt(i, s, u) {
+ var d = XYt(i),
+ p = new N0({ compound: !0 }).setGraph({ root: d }).setDefaultNodeLabel(function (v) {
+ return i.node(v);
+ });
+ return (
+ Lr(i.nodes(), function (v) {
+ var b = i.node(v),
+ y = i.parent(v);
+ (b.rank === s || (b.minRank <= s && s <= b.maxRank)) &&
+ (p.setNode(v),
+ p.setParent(v, y || d),
+ Lr(i[u](v), function (T) {
+ var _ = T.v === v ? T.w : T.v,
+ A = p.edge(_, v),
+ P = Yf(A) ? 0 : A.weight;
+ p.setEdge(_, v, { weight: i.edge(T).weight + P });
+ }),
+ Object.prototype.hasOwnProperty.call(b, 'minRank') &&
+ p.setNode(v, { borderLeft: b.borderLeft[s], borderRight: b.borderRight[s] }));
+ }),
+ p
+ );
+ }
+ function XYt(i) {
+ for (var s; i.hasNode((s = KQ('_root'))); );
+ return s;
+ }
+ function QYt(i, s) {
+ for (var u = 0, d = 1; d < s.length; ++d) u += JYt(i, s[d - 1], s[d]);
+ return u;
+ }
+ function JYt(i, s, u) {
+ for (
+ var d = aYt(
+ u,
+ O0(u, function (_, A) {
+ return A;
+ }),
+ ),
+ p = RD(
+ O0(s, function (_) {
+ return CR(
+ O0(i.outEdges(_), function (A) {
+ return { pos: d[A.w], weight: i.edge(A).weight };
+ }),
+ 'pos',
+ );
+ }),
+ ),
+ v = 1;
+ v < u.length;
+ )
+ v <<= 1;
+ var b = 2 * v - 1;
+ v -= 1;
+ var y = O0(new Array(b), function () {
+ return 0;
+ }),
+ T = 0;
+ return (
+ Lr(
+ p.forEach(function (_) {
+ var A = _.pos + v;
+ y[A] += _.weight;
+ for (var P = 0; A > 0; )
+ (A % 2 && (P += y[A + 1]), (A = (A - 1) >> 1), (y[A] += _.weight));
+ T += _.weight * P;
+ }),
+ ),
+ T
+ );
+ }
+ function ZYt(i) {
+ var s = {},
+ u = R7(i.nodes(), function (y) {
+ return !i.children(y).length;
+ }),
+ d = VC(
+ O0(u, function (y) {
+ return i.node(y).rank;
+ }),
+ ),
+ p = O0(UC(d + 1), function () {
+ return [];
+ });
+ function v(y) {
+ if (!KHe(s, y)) {
+ s[y] = !0;
+ var T = i.node(y);
+ (p[T.rank].push(y), Lr(i.successors(y), v));
+ }
+ }
+ var b = CR(u, function (y) {
+ return i.node(y).rank;
+ });
+ return (Lr(b, v), p);
+ }
+ function eXt(i, s) {
+ return O0(s, function (u) {
+ var d = i.inEdges(u);
+ if (d.length) {
+ var p = TR(
+ d,
+ function (v, b) {
+ var y = i.edge(b),
+ T = i.node(b.v);
+ return { sum: v.sum + y.weight * T.order, weight: v.weight + y.weight };
+ },
+ { sum: 0, weight: 0 },
+ );
+ return { v: u, barycenter: p.sum / p.weight, weight: p.weight };
+ } else return { v: u };
+ });
+ }
+ function tXt(i, s) {
+ var u = {};
+ (Lr(i, function (p, v) {
+ var b = (u[p.v] = { indegree: 0, in: [], out: [], vs: [p.v], i: v });
+ Yf(p.barycenter) || ((b.barycenter = p.barycenter), (b.weight = p.weight));
+ }),
+ Lr(s.edges(), function (p) {
+ var v = u[p.v],
+ b = u[p.w];
+ !Yf(v) && !Yf(b) && (b.indegree++, v.out.push(u[p.w]));
+ }));
+ var d = R7(u, function (p) {
+ return !p.indegree;
+ });
+ return nXt(d);
+ }
+ function nXt(i) {
+ var s = [];
+ function u(v) {
+ return function (b) {
+ b.merged ||
+ ((Yf(b.barycenter) || Yf(v.barycenter) || b.barycenter >= v.barycenter) && rXt(v, b));
+ };
+ }
+ function d(v) {
+ return function (b) {
+ (b.in.push(v), --b.indegree === 0 && i.push(b));
+ };
+ }
+ for (; i.length; ) {
+ var p = i.pop();
+ (s.push(p), Lr(p.in.reverse(), u(p)), Lr(p.out, d(p)));
+ }
+ return O0(
+ R7(s, function (v) {
+ return !v.merged;
+ }),
+ function (v) {
+ return ER(v, ['vs', 'i', 'barycenter', 'weight']);
+ },
+ );
+ }
+ function rXt(i, s) {
+ var u = 0,
+ d = 0;
+ (i.weight && ((u += i.barycenter * i.weight), (d += i.weight)),
+ s.weight && ((u += s.barycenter * s.weight), (d += s.weight)),
+ (i.vs = s.vs.concat(i.vs)),
+ (i.barycenter = u / d),
+ (i.weight = d),
+ (i.i = Math.min(s.i, i.i)),
+ (s.merged = !0));
+ }
+ function iXt(i, s) {
+ var u = xYt(i, function (A) {
+ return Object.prototype.hasOwnProperty.call(A, 'barycenter');
+ }),
+ d = u.lhs,
+ p = CR(u.rhs, function (A) {
+ return -A.i;
+ }),
+ v = [],
+ b = 0,
+ y = 0,
+ T = 0;
+ (d.sort(sXt(!!s)),
+ (T = mVe(v, p, T)),
+ Lr(d, function (A) {
+ ((T += A.vs.length),
+ v.push(A.vs),
+ (b += A.barycenter * A.weight),
+ (y += A.weight),
+ (T = mVe(v, p, T)));
+ }));
+ var _ = { vs: RD(v) };
+ return (y && ((_.barycenter = b / y), (_.weight = y)), _);
+ }
+ function mVe(i, s, u) {
+ for (var d; s.length && (d = UQ(s)).i <= u; ) (s.pop(), i.push(d.vs), u++);
+ return u;
+ }
+ function sXt(i) {
+ return function (s, u) {
+ return s.barycenter < u.barycenter
+ ? -1
+ : s.barycenter > u.barycenter
+ ? 1
+ : i
+ ? u.i - s.i
+ : s.i - u.i;
+ };
+ }
+ function vVe(i, s, u, d) {
+ var p = i.children(s),
+ v = i.node(s),
+ b = v ? v.borderLeft : void 0,
+ y = v ? v.borderRight : void 0,
+ T = {};
+ b &&
+ (p = R7(p, function (j) {
+ return j !== b && j !== y;
+ }));
+ var _ = eXt(i, p);
+ Lr(_, function (j) {
+ if (i.children(j.v).length) {
+ var W = vVe(i, j.v, u, d);
+ ((T[j.v] = W), Object.prototype.hasOwnProperty.call(W, 'barycenter') && oXt(j, W));
+ }
+ });
+ var A = tXt(_, u);
+ aXt(A, T);
+ var P = iXt(A, d);
+ if (b && ((P.vs = RD([b, P.vs, y])), i.predecessors(b).length)) {
+ var R = i.node(i.predecessors(b)[0]),
+ F = i.node(i.predecessors(y)[0]);
+ (Object.prototype.hasOwnProperty.call(P, 'barycenter') ||
+ ((P.barycenter = 0), (P.weight = 0)),
+ (P.barycenter = (P.barycenter * P.weight + R.order + F.order) / (P.weight + 2)),
+ (P.weight += 2));
+ }
+ return P;
+ }
+ function aXt(i, s) {
+ Lr(i, function (u) {
+ u.vs = RD(
+ u.vs.map(function (d) {
+ return s[d] ? s[d].vs : d;
+ }),
+ );
+ });
+ }
+ function oXt(i, s) {
+ Yf(i.barycenter)
+ ? ((i.barycenter = s.barycenter), (i.weight = s.weight))
+ : ((i.barycenter =
+ (i.barycenter * i.weight + s.barycenter * s.weight) / (i.weight + s.weight)),
+ (i.weight += s.weight));
+ }
+ function cXt(i) {
+ var s = nVe(i),
+ u = wVe(i, UC(1, s + 1), 'inEdges'),
+ d = wVe(i, UC(s - 1, -1, -1), 'outEdges'),
+ p = ZYt(i);
+ yVe(i, p);
+ for (var v = Number.POSITIVE_INFINITY, b, y = 0, T = 0; T < 4; ++y, ++T) {
+ (uXt(y % 2 ? u : d, y % 4 >= 2), (p = WQ(i)));
+ var _ = QYt(i, p);
+ _ < v && ((T = 0), (b = DKt(p)), (v = _));
+ }
+ yVe(i, b);
+ }
+ function wVe(i, s, u) {
+ return O0(s, function (d) {
+ return YYt(i, d, u);
+ });
+ }
+ function uXt(i, s) {
+ var u = new N0();
+ Lr(i, function (d) {
+ var p = d.graph().root,
+ v = vVe(d, p, u, s);
+ (Lr(v.vs, function (b, y) {
+ d.node(b).order = y;
+ }),
+ WYt(d, u, v.vs));
+ });
+ }
+ function yVe(i, s) {
+ Lr(s, function (u) {
+ Lr(u, function (d, p) {
+ i.node(d).order = p;
+ });
+ });
+ }
+ function lXt(i) {
+ var s = fXt(i);
+ Lr(i.graph().dummyChains, function (u) {
+ for (
+ var d = i.node(u),
+ p = d.edgeObj,
+ v = hXt(i, s, p.v, p.w),
+ b = v.path,
+ y = v.lca,
+ T = 0,
+ _ = b[T],
+ A = !0;
+ u !== p.w;
+ ) {
+ if (((d = i.node(u)), A)) {
+ for (; (_ = b[T]) !== y && i.node(_).maxRank < d.rank; ) T++;
+ _ === y && (A = !1);
+ }
+ if (!A) {
+ for (; T < b.length - 1 && i.node((_ = b[T + 1])).minRank <= d.rank; ) T++;
+ _ = b[T];
+ }
+ (i.setParent(u, _), (u = i.successors(u)[0]));
+ }
+ });
+ }
+ function hXt(i, s, u, d) {
+ var p = [],
+ v = [],
+ b = Math.min(s[u].low, s[d].low),
+ y = Math.max(s[u].lim, s[d].lim),
+ T,
+ _;
+ T = u;
+ do ((T = i.parent(T)), p.push(T));
+ while (T && (s[T].low > b || y > s[T].lim));
+ for (_ = T, T = d; (T = i.parent(T)) !== _; ) v.push(T);
+ return { path: p.concat(v.reverse()), lca: _ };
+ }
+ function fXt(i) {
+ var s = {},
+ u = 0;
+ function d(p) {
+ var v = u;
+ (Lr(i.children(p), d), (s[p] = { low: v, lim: u++ }));
+ }
+ return (Lr(i.children(), d), s);
+ }
+ function dXt(i, s) {
+ var u = {};
+ function d(p, v) {
+ var b = 0,
+ y = 0,
+ T = p.length,
+ _ = UQ(v);
+ return (
+ Lr(v, function (A, P) {
+ var R = pXt(i, A),
+ F = R ? i.node(R).order : T;
+ (R || A === _) &&
+ (Lr(v.slice(y, P + 1), function (j) {
+ Lr(i.predecessors(j), function (W) {
+ var ee = i.node(W),
+ ie = ee.order;
+ (ie < b || F < ie) && !(ee.dummy && i.node(j).dummy) && xVe(u, W, j);
+ });
+ }),
+ (y = P + 1),
+ (b = F));
+ }),
+ v
+ );
+ }
+ return (TR(s, d), u);
+ }
+ function gXt(i, s) {
+ var u = {};
+ function d(v, b, y, T, _) {
+ var A;
+ Lr(UC(b, y), function (P) {
+ ((A = v[P]),
+ i.node(A).dummy &&
+ Lr(i.predecessors(A), function (R) {
+ var F = i.node(R);
+ F.dummy && (F.order < T || F.order > _) && xVe(u, R, A);
+ }));
+ });
+ }
+ function p(v, b) {
+ var y = -1,
+ T,
+ _ = 0;
+ return (
+ Lr(b, function (A, P) {
+ if (i.node(A).dummy === 'border') {
+ var R = i.predecessors(A);
+ R.length && ((T = i.node(R[0]).order), d(b, _, P, y, T), (_ = P), (y = T));
+ }
+ d(b, _, b.length, T, v.length);
+ }),
+ b
+ );
+ }
+ return (TR(s, p), u);
+ }
+ function pXt(i, s) {
+ if (i.node(s).dummy)
+ return rme(i.predecessors(s), function (u) {
+ return i.node(u).dummy;
+ });
+ }
+ function xVe(i, s, u) {
+ if (s > u) {
+ var d = s;
+ ((s = u), (u = d));
+ }
+ Object.prototype.hasOwnProperty.call(i, s) ||
+ Object.defineProperty(i, s, { enumerable: !0, configurable: !0, value: {}, writable: !0 });
+ var p = i[s];
+ Object.defineProperty(p, u, { enumerable: !0, configurable: !0, value: !0, writable: !0 });
+ }
+ function bXt(i, s, u) {
+ if (s > u) {
+ var d = s;
+ ((s = u), (u = d));
+ }
+ return !!i[s] && Object.prototype.hasOwnProperty.call(i[s], u);
+ }
+ function mXt(i, s, u, d) {
+ var p = {},
+ v = {},
+ b = {};
+ return (
+ Lr(s, function (y) {
+ Lr(y, function (T, _) {
+ ((p[T] = T), (v[T] = T), (b[T] = _));
+ });
+ }),
+ Lr(s, function (y) {
+ var T = -1;
+ Lr(y, function (_) {
+ var A = d(_);
+ if (A.length) {
+ A = CR(A, function (W) {
+ return b[W];
+ });
+ for (var P = (A.length - 1) / 2, R = Math.floor(P), F = Math.ceil(P); R <= F; ++R) {
+ var j = A[R];
+ v[_] === _ &&
+ T < b[j] &&
+ !bXt(u, _, j) &&
+ ((v[j] = _), (v[_] = p[_] = p[j]), (T = b[j]));
+ }
+ }
+ });
+ }),
+ { root: p, align: v }
+ );
+ }
+ function vXt(i, s, u, d, p) {
+ var v = {},
+ b = wXt(i, s, u, p),
+ y = p ? 'borderLeft' : 'borderRight';
+ function T(P, R) {
+ for (var F = b.nodes(), j = F.pop(), W = {}; j; )
+ (W[j] ? P(j) : ((W[j] = !0), F.push(j), (F = F.concat(R(j)))), (j = F.pop()));
+ }
+ function _(P) {
+ v[P] = b.inEdges(P).reduce(function (R, F) {
+ return Math.max(R, v[F.v] + b.edge(F));
+ }, 0);
+ }
+ function A(P) {
+ var R = b.outEdges(P).reduce(function (j, W) {
+ return Math.min(j, v[W.w] - b.edge(W));
+ }, Number.POSITIVE_INFINITY),
+ F = i.node(P);
+ R !== Number.POSITIVE_INFINITY && F.borderType !== y && (v[P] = Math.max(v[P], R));
+ }
+ return (
+ T(_, b.predecessors.bind(b)),
+ T(A, b.successors.bind(b)),
+ Lr(d, function (P) {
+ v[P] = v[u[P]];
+ }),
+ v
+ );
+ }
+ function wXt(i, s, u, d) {
+ var p = new N0(),
+ v = i.graph(),
+ b = TXt(v.nodesep, v.edgesep, d);
+ return (
+ Lr(s, function (y) {
+ var T;
+ Lr(y, function (_) {
+ var A = u[_];
+ if ((p.setNode(A), T)) {
+ var P = u[T],
+ R = p.edge(P, A);
+ p.setEdge(P, A, Math.max(b(i, _, T), R || 0));
+ }
+ T = _;
+ });
+ }),
+ p
+ );
+ }
+ function yXt(i, s) {
+ return sme(j7(s), function (u) {
+ var d = Number.NEGATIVE_INFINITY,
+ p = Number.POSITIVE_INFINITY;
+ return (
+ LWt(u, function (v, b) {
+ var y = CXt(i, b) / 2;
+ ((d = Math.max(v + y, d)), (p = Math.min(v - y, p)));
+ }),
+ d - p
+ );
+ });
+ }
+ function xXt(i, s) {
+ var u = j7(s),
+ d = kR(u),
+ p = VC(u);
+ Lr(['u', 'd'], function (v) {
+ Lr(['l', 'r'], function (b) {
+ var y = v + b,
+ T = i[y],
+ _;
+ if (T !== s) {
+ var A = j7(T);
+ ((_ = b === 'l' ? d - kR(A) : p - VC(A)),
+ _ &&
+ (i[y] = GQ(T, function (P) {
+ return P + _;
+ })));
+ }
+ });
+ });
+ }
+ function kXt(i, s) {
+ return GQ(i.ul, function (u, d) {
+ if (s) return i[s.toLowerCase()][d];
+ var p = CR(O0(i, d));
+ return (p[1] + p[2]) / 2;
+ });
+ }
+ function EXt(i) {
+ var s = WQ(i),
+ u = RX(dXt(i, s), gXt(i, s)),
+ d = {},
+ p;
+ Lr(['u', 'd'], function (b) {
+ ((p = b === 'u' ? s : j7(s).reverse()),
+ Lr(['l', 'r'], function (y) {
+ y === 'r' &&
+ (p = O0(p, function (P) {
+ return j7(P).reverse();
+ }));
+ var T = (b === 'u' ? i.predecessors : i.successors).bind(i),
+ _ = mXt(i, p, u, T),
+ A = vXt(i, p, _.root, _.align, y === 'r');
+ (y === 'r' &&
+ (A = GQ(A, function (P) {
+ return -P;
+ })),
+ (d[b + y] = A));
+ }));
+ });
+ var v = yXt(i, d);
+ return (xXt(d, v), kXt(d, i.graph().align));
+ }
+ function TXt(i, s, u) {
+ return function (d, p, v) {
+ var b = d.node(p),
+ y = d.node(v),
+ T = 0,
+ _;
+ if (((T += b.width / 2), Object.prototype.hasOwnProperty.call(b, 'labelpos')))
+ switch (b.labelpos.toLowerCase()) {
+ case 'l':
+ _ = -b.width / 2;
+ break;
+ case 'r':
+ _ = b.width / 2;
+ break;
+ }
+ if (
+ (_ && (T += u ? _ : -_),
+ (_ = 0),
+ (T += (b.dummy ? s : i) / 2),
+ (T += (y.dummy ? s : i) / 2),
+ (T += y.width / 2),
+ Object.prototype.hasOwnProperty.call(y, 'labelpos'))
+ )
+ switch (y.labelpos.toLowerCase()) {
+ case 'l':
+ _ = y.width / 2;
+ break;
+ case 'r':
+ _ = -y.width / 2;
+ break;
+ }
+ return (_ && (T += u ? _ : -_), (_ = 0), T);
+ };
+ }
+ function CXt(i, s) {
+ return i.node(s).width;
+ }
+ function SXt(i) {
+ ((i = ZHe(i)),
+ _Xt(i),
+ MWt(EXt(i), function (s, u) {
+ i.node(u).x = s;
+ }));
+ }
+ function _Xt(i) {
+ var s = WQ(i),
+ u = i.graph().ranksep,
+ d = 0;
+ Lr(s, function (p) {
+ var v = VC(
+ O0(p, function (b) {
+ return i.node(b).height;
+ }),
+ );
+ (Lr(p, function (b) {
+ i.node(b).y = d + v / 2;
+ }),
+ (d += v + u));
+ });
+ }
+ function zD(i, s) {
+ var u = s && s.debugTiming ? kYt : EYt;
+ u('layout', () => {
+ var d = u(' buildLayoutGraph', () => RXt(i));
+ (u(' runLayout', () => AXt(d, u)), u(' updateInputGraph', () => LXt(i, d)));
+ });
+ }
+ function AXt(i, s) {
+ (s(' makeSpaceForEdgeLabels', () => jXt(i)),
+ s(' removeSelfEdges', () => WXt(i)),
+ s(' acyclic', () => pYt(i)),
+ s(' nestingGraph.run', () => VYt(i)),
+ s(' rank', () => zYt(ZHe(i))),
+ s(' injectEdgeLabelProxies', () => $Xt(i)),
+ s(' removeEmptyRanks', () => yYt(i)),
+ s(' nestingGraph.cleanup', () => KYt(i)),
+ s(' normalizeRanks', () => wYt(i)),
+ s(' assignRankMinMax', () => zXt(i)),
+ s(' removeEdgeLabelProxies', () => qXt(i)),
+ s(' normalize.run', () => LYt(i)),
+ s(' parentDummyChains', () => lXt(i)),
+ s(' addBorderSegments', () => TYt(i)),
+ s(' order', () => cXt(i)),
+ s(' insertSelfEdges', () => YXt(i)),
+ s(' adjustCoordinateSystem', () => CYt(i)),
+ s(' position', () => SXt(i)),
+ s(' positionSelfEdges', () => XXt(i)),
+ s(' removeBorderNodes', () => KXt(i)),
+ s(' normalize.undo', () => DYt(i)),
+ s(' fixupEdgeLabelCoords', () => UXt(i)),
+ s(' undoCoordinateSystem', () => SYt(i)),
+ s(' translateGraph', () => HXt(i)),
+ s(' assignNodeIntersects', () => VXt(i)),
+ s(' reversePoints', () => GXt(i)),
+ s(' acyclic.undo', () => mYt(i)));
+ }
+ function LXt(i, s) {
+ (Lr(i.nodes(), function (u) {
+ var d = i.node(u),
+ p = s.node(u);
+ d &&
+ ((d.x = p.x),
+ (d.y = p.y),
+ s.children(u).length && ((d.width = p.width), (d.height = p.height)));
+ }),
+ Lr(i.edges(), function (u) {
+ var d = i.edge(u),
+ p = s.edge(u);
+ ((d.points = p.points),
+ Object.prototype.hasOwnProperty.call(p, 'x') && ((d.x = p.x), (d.y = p.y)));
+ }),
+ (i.graph().width = s.graph().width),
+ (i.graph().height = s.graph().height));
+ }
+ var MXt = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy'],
+ DXt = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' },
+ IXt = ['acyclicer', 'ranker', 'rankdir', 'align'],
+ OXt = ['width', 'height'],
+ NXt = { width: 0, height: 0 },
+ PXt = ['minlen', 'weight', 'width', 'height', 'labeloffset'],
+ BXt = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: 'r' },
+ FXt = ['labelpos'];
+ function RXt(i) {
+ var s = new N0({ multigraph: !0, compound: !0 }),
+ u = pme(i.graph());
+ return (
+ s.setGraph(RX({}, DXt, gme(u, MXt), ER(u, IXt))),
+ Lr(i.nodes(), function (d) {
+ var p = pme(i.node(d));
+ (s.setNode(d, jD(gme(p, OXt), NXt)), s.setParent(d, i.parent(d)));
+ }),
+ Lr(i.edges(), function (d) {
+ var p = pme(i.edge(d));
+ s.setEdge(d, RX({}, BXt, gme(p, PXt), ER(p, FXt)));
+ }),
+ s
+ );
+ }
+ function jXt(i) {
+ var s = i.graph();
+ ((s.ranksep /= 2),
+ Lr(i.edges(), function (u) {
+ var d = i.edge(u);
+ ((d.minlen *= 2),
+ d.labelpos.toLowerCase() !== 'c' &&
+ (s.rankdir === 'TB' || s.rankdir === 'BT'
+ ? (d.width += d.labeloffset)
+ : (d.height += d.labeloffset)));
+ }));
+ }
+ function $Xt(i) {
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s);
+ if (u.width && u.height) {
+ var d = i.node(s.v),
+ p = i.node(s.w),
+ v = { rank: (p.rank - d.rank) / 2 + d.rank, e: s };
+ $D(i, 'edge-proxy', v, '_ep');
+ }
+ });
+ }
+ function zXt(i) {
+ var s = 0;
+ (Lr(i.nodes(), function (u) {
+ var d = i.node(u);
+ d.borderTop &&
+ ((d.minRank = i.node(d.borderTop).rank),
+ (d.maxRank = i.node(d.borderBottom).rank),
+ (s = VC(s, d.maxRank)));
+ }),
+ (i.graph().maxRank = s));
+ }
+ function qXt(i) {
+ Lr(i.nodes(), function (s) {
+ var u = i.node(s);
+ u.dummy === 'edge-proxy' && ((i.edge(u.e).labelRank = u.rank), i.removeNode(s));
+ });
+ }
+ function HXt(i) {
+ var s = Number.POSITIVE_INFINITY,
+ u = 0,
+ d = Number.POSITIVE_INFINITY,
+ p = 0,
+ v = i.graph(),
+ b = v.marginx || 0,
+ y = v.marginy || 0;
+ function T(_) {
+ var A = _.x,
+ P = _.y,
+ R = _.width,
+ F = _.height;
+ ((s = Math.min(s, A - R / 2)),
+ (u = Math.max(u, A + R / 2)),
+ (d = Math.min(d, P - F / 2)),
+ (p = Math.max(p, P + F / 2)));
+ }
+ (Lr(i.nodes(), function (_) {
+ T(i.node(_));
+ }),
+ Lr(i.edges(), function (_) {
+ var A = i.edge(_);
+ Object.prototype.hasOwnProperty.call(A, 'x') && T(A);
+ }),
+ (s -= b),
+ (d -= y),
+ Lr(i.nodes(), function (_) {
+ var A = i.node(_);
+ ((A.x -= s), (A.y -= d));
+ }),
+ Lr(i.edges(), function (_) {
+ var A = i.edge(_);
+ (Lr(A.points, function (P) {
+ ((P.x -= s), (P.y -= d));
+ }),
+ Object.prototype.hasOwnProperty.call(A, 'x') && (A.x -= s),
+ Object.prototype.hasOwnProperty.call(A, 'y') && (A.y -= d));
+ }),
+ (v.width = u - s + b),
+ (v.height = p - d + y));
+ }
+ function VXt(i) {
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s),
+ d = i.node(s.v),
+ p = i.node(s.w),
+ v,
+ b;
+ (u.points
+ ? ((v = u.points[0]), (b = u.points[u.points.length - 1]))
+ : ((u.points = []), (v = p), (b = d)),
+ u.points.unshift(eVe(d, v)),
+ u.points.push(eVe(p, b)));
+ });
+ }
+ function UXt(i) {
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s);
+ if (Object.prototype.hasOwnProperty.call(u, 'x'))
+ switch (
+ ((u.labelpos === 'l' || u.labelpos === 'r') && (u.width -= u.labeloffset), u.labelpos)
+ ) {
+ case 'l':
+ u.x -= u.width / 2 + u.labeloffset;
+ break;
+ case 'r':
+ u.x += u.width / 2 + u.labeloffset;
+ break;
+ }
+ });
+ }
+ function GXt(i) {
+ Lr(i.edges(), function (s) {
+ var u = i.edge(s);
+ u.reversed && u.points.reverse();
+ });
+ }
+ function KXt(i) {
+ (Lr(i.nodes(), function (s) {
+ if (i.children(s).length) {
+ var u = i.node(s),
+ d = i.node(u.borderTop),
+ p = i.node(u.borderBottom),
+ v = i.node(UQ(u.borderLeft)),
+ b = i.node(UQ(u.borderRight));
+ ((u.width = Math.abs(b.x - v.x)),
+ (u.height = Math.abs(p.y - d.y)),
+ (u.x = v.x + u.width / 2),
+ (u.y = d.y + u.height / 2));
+ }
+ }),
+ Lr(i.nodes(), function (s) {
+ i.node(s).dummy === 'border' && i.removeNode(s);
+ }));
+ }
+ function WXt(i) {
+ Lr(i.edges(), function (s) {
+ if (s.v === s.w) {
+ var u = i.node(s.v);
+ (u.selfEdges || (u.selfEdges = []),
+ u.selfEdges.push({ e: s, label: i.edge(s) }),
+ i.removeEdge(s));
+ }
+ });
+ }
+ function YXt(i) {
+ var s = WQ(i);
+ Lr(s, function (u) {
+ var d = 0;
+ Lr(u, function (p, v) {
+ var b = i.node(p);
+ ((b.order = v + d),
+ Lr(b.selfEdges, function (y) {
+ $D(
+ i,
+ 'selfedge',
+ {
+ width: y.label.width,
+ height: y.label.height,
+ rank: b.rank,
+ order: v + ++d,
+ e: y.e,
+ label: y.label,
+ },
+ '_se',
+ );
+ }),
+ delete b.selfEdges);
+ });
+ });
+ }
+ function XXt(i) {
+ Lr(i.nodes(), function (s) {
+ var u = i.node(s);
+ if (u.dummy === 'selfedge') {
+ var d = i.node(u.e.v),
+ p = d.x + d.width / 2,
+ v = d.y,
+ b = u.x - p,
+ y = d.height / 2;
+ (i.setEdge(u.e, u.label),
+ i.removeNode(s),
+ (u.label.points = [
+ { x: p + (2 * b) / 3, y: v - y },
+ { x: p + (5 * b) / 6, y: v - y },
+ { x: p + b, y: v },
+ { x: p + (5 * b) / 6, y: v + y },
+ { x: p + (2 * b) / 3, y: v + y },
+ ]),
+ (u.label.x = u.x),
+ (u.label.y = u.y));
+ }
+ });
+ }
+ function gme(i, s) {
+ return GQ(ER(i, s), Number);
+ }
+ function pme(i) {
+ var s = {};
+ return (
+ Lr(i, function (u, d) {
+ s[d.toLowerCase()] = u;
+ }),
+ s
+ );
+ }
+ function kVe(i, s) {
+ return !!i.children(s).length;
+ }
+ function EVe(i) {
+ return bme(i.v) + ':' + bme(i.w) + ':' + bme(i.name);
+ }
+ var QXt = /:/g;
+ function bme(i) {
+ return i ? String(i).replace(QXt, '\\:') : '';
+ }
+ function J4(i, s) {
+ s && i.attr('style', s);
+ }
+ function TVe(i, s, u) {
+ s && i.attr('class', s).attr('class', u + ' ' + i.attr('class'));
+ }
+ function q3(i, s) {
+ var u = s.graph();
+ if (sje(u)) {
+ var d = u.transition;
+ if (dD(d)) return d(i);
+ }
+ return i;
+ }
+ var mme = { normal: ZXt, vee: eQt, undirected: tQt };
+ function JXt(i) {
+ mme = i;
+ }
+ function ZXt(i, s, u, d) {
+ var p = i
+ .append('marker')
+ .attr('id', s)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 6)
+ .attr('orient', 'auto'),
+ v = p
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ (J4(v, u[d + 'Style']), u[d + 'Class'] && v.attr('class', u[d + 'Class']));
+ }
+ function eQt(i, s, u, d) {
+ var p = i
+ .append('marker')
+ .attr('id', s)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 6)
+ .attr('orient', 'auto'),
+ v = p
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 L 4 5 z')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ (J4(v, u[d + 'Style']), u[d + 'Class'] && v.attr('class', u[d + 'Class']));
+ }
+ function tQt(i, s, u, d) {
+ var p = i
+ .append('marker')
+ .attr('id', s)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 6)
+ .attr('orient', 'auto'),
+ v = p
+ .append('path')
+ .attr('d', 'M 0 5 L 10 5')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ (J4(v, u[d + 'Style']), u[d + 'Class'] && v.attr('class', u[d + 'Class']));
+ }
+ function vme(i, s) {
+ var u = i.append('foreignObject').attr('width', '100000'),
+ d = u.append('xhtml:div');
+ d.attr('xmlns', 'http://www.w3.org/1999/xhtml');
+ var p = s.label;
+ switch (typeof p) {
+ case 'function':
+ d.insert(p);
+ break;
+ case 'object':
+ d.insert(function () {
+ return p;
+ });
+ break;
+ default:
+ d.html(p);
+ }
+ (J4(d, s.labelStyle), d.style('display', 'inline-block'), d.style('white-space', 'nowrap'));
+ var v = d.node().getBoundingClientRect();
+ return (u.attr('width', v.width).attr('height', v.height), u);
+ }
+ function nQt(i, s) {
+ var u = i;
+ return (u.node().appendChild(s.label), J4(u, s.labelStyle), u);
+ }
+ function rQt(i, s) {
+ for (
+ var u = i.append('text'),
+ d = iQt(s.label).split(`
+`),
+ p = 0;
+ p < d.length;
+ p++
+ )
+ u.append('tspan').attr('xml:space', 'preserve').attr('dy', '1em').attr('x', '1').text(d[p]);
+ return (J4(u, s.labelStyle), u);
+ }
+ function iQt(i) {
+ for (var s = '', u = !1, d, p = 0; p < i.length; ++p)
+ if (((d = i[p]), u)) {
+ switch (d) {
+ case 'n':
+ s += `
+`;
+ break;
+ default:
+ s += d;
+ }
+ u = !1;
+ } else d === '\\' ? (u = !0) : (s += d);
+ return s;
+ }
+ function wme(i, s, u) {
+ var d = s.label,
+ p = i.append('g');
+ s.labelType === 'svg'
+ ? nQt(p, s)
+ : typeof d != 'string' || s.labelType === 'html'
+ ? vme(p, s)
+ : rQt(p, s);
+ var v = p.node().getBBox(),
+ b;
+ switch (u) {
+ case 'top':
+ b = -s.height / 2;
+ break;
+ case 'bottom':
+ b = s.height / 2 - v.height;
+ break;
+ default:
+ b = -v.height / 2;
+ }
+ return (p.attr('transform', 'translate(' + -v.width / 2 + ',' + b + ')'), p);
+ }
+ var yme = function (i, s) {
+ var u = s.nodes().filter(function (v) {
+ return kVe(s, v);
+ }),
+ d = i.selectAll('g.cluster').data(u, function (v) {
+ return v;
+ });
+ q3(d.exit(), s).style('opacity', 0).remove();
+ var p = d
+ .enter()
+ .append('g')
+ .attr('class', 'cluster')
+ .attr('id', function (v) {
+ var b = s.node(v);
+ return b.id;
+ })
+ .style('opacity', 0)
+ .each(function (v) {
+ var b = s.node(v),
+ y = Ir(this);
+ Ir(this).append('rect');
+ var T = y.append('g').attr('class', 'label');
+ wme(T, b, b.clusterLabelPos);
+ });
+ return (
+ (d = d.merge(p)),
+ (d = q3(d, s).style('opacity', 1)),
+ d.selectAll('rect').each(function (v) {
+ var b = s.node(v),
+ y = Ir(this);
+ J4(y, b.style);
+ }),
+ d
+ );
+ };
+ function sQt(i) {
+ yme = i;
+ }
+ let xme = function (i, s) {
+ var u = i
+ .selectAll('g.edgeLabel')
+ .data(s.edges(), function (p) {
+ return EVe(p);
+ })
+ .classed('update', !0);
+ (u.exit().remove(),
+ u.enter().append('g').classed('edgeLabel', !0).style('opacity', 0),
+ (u = i.selectAll('g.edgeLabel')),
+ u.each(function (p) {
+ var v = Ir(this);
+ v.select('.label').remove();
+ var b = s.edge(p),
+ y = wme(v, s.edge(p), 0).classed('label', !0),
+ T = y.node().getBBox();
+ (b.labelId && y.attr('id', b.labelId),
+ Object.prototype.hasOwnProperty.call(b, 'width') || (b.width = T.width),
+ Object.prototype.hasOwnProperty.call(b, 'height') || (b.height = T.height));
+ }));
+ var d;
+ return (
+ u.exit ? (d = u.exit()) : (d = u.selectAll(null)),
+ q3(d, s).style('opacity', 0).remove(),
+ u
+ );
+ };
+ function aQt(i) {
+ xme = i;
+ }
+ function CVe(i, s) {
+ return i.intersect(s);
+ }
+ var kme = function (i, s, u) {
+ var d = i
+ .selectAll('g.edgePath')
+ .data(s.edges(), function (b) {
+ return EVe(b);
+ })
+ .classed('update', !0),
+ p = hQt(d, s);
+ fQt(d, s);
+ var v = d.merge !== void 0 ? d.merge(p) : d;
+ return (
+ q3(v, s).style('opacity', 1),
+ v.each(function (b) {
+ var y = Ir(this),
+ T = s.edge(b);
+ ((T.elem = this),
+ T.id && y.attr('id', T.id),
+ TVe(y, T.class, (y.classed('update') ? 'update ' : '') + 'edgePath'));
+ }),
+ v.selectAll('path.path').each(function (b) {
+ var y = s.edge(b);
+ y.arrowheadId = KQ('arrowhead');
+ var T = Ir(this)
+ .attr('marker-end', function () {
+ return 'url(' + cQt(location.href, y.arrowheadId) + ')';
+ })
+ .style('fill', 'none');
+ (q3(T, s).attr('d', function (_) {
+ return uQt(s, _);
+ }),
+ J4(T, y.style));
+ }),
+ v.selectAll('defs *').remove(),
+ v.selectAll('defs').each(function (b) {
+ var y = s.edge(b),
+ T = u[y.arrowhead];
+ T(Ir(this), y.arrowheadId, y, 'arrowhead');
+ }),
+ v
+ );
+ };
+ function oQt(i) {
+ kme = i;
+ }
+ function cQt(i, s) {
+ var u = i.split('#')[0];
+ return u + '#' + s;
+ }
+ function uQt(i, s) {
+ var u = i.edge(s),
+ d = i.node(s.v),
+ p = i.node(s.w),
+ v = u.points.slice(1, u.points.length - 1);
+ return (v.unshift(CVe(d, v[0])), v.push(CVe(p, v[v.length - 1])), SVe(u, v));
+ }
+ function SVe(i, s) {
+ var u = (x7 || RIt.line)()
+ .x(function (d) {
+ return d.x;
+ })
+ .y(function (d) {
+ return d.y;
+ });
+ return ((u.curve || u.interpolate)(i.curve), u(s));
+ }
+ function lQt(i) {
+ var s = i.getBBox(),
+ u = i.ownerSVGElement
+ .getScreenCTM()
+ .inverse()
+ .multiply(i.getScreenCTM())
+ .translate(s.width / 2, s.height / 2);
+ return { x: u.e, y: u.f };
+ }
+ function hQt(i, s) {
+ var u = i.enter().append('g').attr('class', 'edgePath').style('opacity', 0);
+ return (
+ u
+ .append('path')
+ .attr('class', 'path')
+ .attr('d', function (d) {
+ var p = s.edge(d),
+ v = s.node(d.v).elem,
+ b = UC(p.points.length).map(function () {
+ return lQt(v);
+ });
+ return SVe(p, b);
+ }),
+ u.append('defs'),
+ u
+ );
+ }
+ function fQt(i, s) {
+ var u = i.exit();
+ q3(u, s).style('opacity', 0).remove();
+ }
+ var Eme = function (i, s, u) {
+ var d = s.nodes().filter(function (b) {
+ return !kVe(s, b);
+ }),
+ p = i
+ .selectAll('g.node')
+ .data(d, function (b) {
+ return b;
+ })
+ .classed('update', !0);
+ (p.exit().remove(),
+ p.enter().append('g').attr('class', 'node').style('opacity', 0),
+ (p = i.selectAll('g.node')),
+ p.each(function (b) {
+ var y = s.node(b),
+ T = Ir(this);
+ (TVe(T, y.class, (T.classed('update') ? 'update ' : '') + 'node'),
+ T.select('g.label').remove());
+ var _ = T.append('g').attr('class', 'label'),
+ A = wme(_, y),
+ P = u[y.shape],
+ R = ER(A.node().getBBox(), 'width', 'height');
+ ((y.elem = this),
+ y.id && T.attr('id', y.id),
+ y.labelId && _.attr('id', y.labelId),
+ Object.prototype.hasOwnProperty.call(y, 'width') && (R.width = y.width),
+ Object.prototype.hasOwnProperty.call(y, 'height') && (R.height = y.height),
+ (R.width += y.paddingLeft + y.paddingRight),
+ (R.height += y.paddingTop + y.paddingBottom),
+ _.attr(
+ 'transform',
+ 'translate(' +
+ (y.paddingLeft - y.paddingRight) / 2 +
+ ',' +
+ (y.paddingTop - y.paddingBottom) / 2 +
+ ')',
+ ));
+ var F = Ir(this);
+ F.select('.label-container').remove();
+ var j = P(F, R, y).classed('label-container', !0);
+ J4(j, y.style);
+ var W = j.node().getBBox();
+ ((y.width = W.width), (y.height = W.height));
+ }));
+ var v;
+ return (
+ p.exit ? (v = p.exit()) : (v = p.selectAll(null)),
+ q3(v, s).style('opacity', 0).remove(),
+ p
+ );
+ };
+ function dQt(i) {
+ Eme = i;
+ }
+ function gQt(i, s) {
+ var u = i.filter(function () {
+ return !Ir(this).classed('update');
+ });
+ function d(p) {
+ var v = s.node(p);
+ return 'translate(' + v.x + ',' + v.y + ')';
+ }
+ (u.attr('transform', d),
+ q3(i, s).style('opacity', 1).attr('transform', d),
+ q3(u.selectAll('rect'), s)
+ .attr('width', function (p) {
+ return s.node(p).width;
+ })
+ .attr('height', function (p) {
+ return s.node(p).height;
+ })
+ .attr('x', function (p) {
+ var v = s.node(p);
+ return -v.width / 2;
+ })
+ .attr('y', function (p) {
+ var v = s.node(p);
+ return -v.height / 2;
+ }));
+ }
+ function pQt(i, s) {
+ var u = i.filter(function () {
+ return !Ir(this).classed('update');
+ });
+ function d(p) {
+ var v = s.edge(p);
+ return Object.prototype.hasOwnProperty.call(v, 'x')
+ ? 'translate(' + v.x + ',' + v.y + ')'
+ : '';
+ }
+ (u.attr('transform', d), q3(i, s).style('opacity', 1).attr('transform', d));
+ }
+ function bQt(i, s) {
+ var u = i.filter(function () {
+ return !Ir(this).classed('update');
+ });
+ function d(p) {
+ var v = s.node(p);
+ return 'translate(' + v.x + ',' + v.y + ')';
+ }
+ (u.attr('transform', d), q3(i, s).style('opacity', 1).attr('transform', d));
+ }
+ function _Ve(i, s, u, d) {
+ var p = i.x,
+ v = i.y,
+ b = p - d.x,
+ y = v - d.y,
+ T = Math.sqrt(s * s * y * y + u * u * b * b),
+ _ = Math.abs((s * u * b) / T);
+ d.x < p && (_ = -_);
+ var A = Math.abs((s * u * y) / T);
+ return (d.y < v && (A = -A), { x: p + _, y: v + A });
+ }
+ function mQt(i, s, u) {
+ return _Ve(i, s, s, u);
+ }
+ function vQt(i, s, u, d) {
+ var p, v, b, y, T, _, A, P, R, F, j, W, ee, ie, oe;
+ if (
+ ((p = s.y - i.y),
+ (b = i.x - s.x),
+ (T = s.x * i.y - i.x * s.y),
+ (R = p * u.x + b * u.y + T),
+ (F = p * d.x + b * d.y + T),
+ !(R !== 0 && F !== 0 && AVe(R, F)) &&
+ ((v = d.y - u.y),
+ (y = u.x - d.x),
+ (_ = d.x * u.y - u.x * d.y),
+ (A = v * i.x + y * i.y + _),
+ (P = v * s.x + y * s.y + _),
+ !(A !== 0 && P !== 0 && AVe(A, P)) && ((j = p * y - v * b), j !== 0)))
+ )
+ return (
+ (W = Math.abs(j / 2)),
+ (ee = b * _ - y * T),
+ (ie = ee < 0 ? (ee - W) / j : (ee + W) / j),
+ (ee = v * T - p * _),
+ (oe = ee < 0 ? (ee - W) / j : (ee + W) / j),
+ { x: ie, y: oe }
+ );
+ }
+ function AVe(i, s) {
+ return i * s > 0;
+ }
+ function Z4(i, s, u) {
+ var d = i.x,
+ p = i.y,
+ v = [],
+ b = Number.POSITIVE_INFINITY,
+ y = Number.POSITIVE_INFINITY;
+ s.forEach(function (j) {
+ ((b = Math.min(b, j.x)), (y = Math.min(y, j.y)));
+ });
+ for (var T = d - i.width / 2 - b, _ = p - i.height / 2 - y, A = 0; A < s.length; A++) {
+ var P = s[A],
+ R = s[A < s.length - 1 ? A + 1 : 0],
+ F = vQt(i, u, { x: T + P.x, y: _ + P.y }, { x: T + R.x, y: _ + R.y });
+ F && v.push(F);
+ }
+ return v.length
+ ? (v.length > 1 &&
+ v.sort(function (j, W) {
+ var ee = j.x - u.x,
+ ie = j.y - u.y,
+ oe = Math.sqrt(ee * ee + ie * ie),
+ be = W.x - u.x,
+ ge = W.y - u.y,
+ ae = Math.sqrt(be * be + ge * ge);
+ return oe < ae ? -1 : oe === ae ? 0 : 1;
+ }),
+ v[0])
+ : (console.log('NO INTERSECTION FOUND, RETURN NODE CENTER', i), i);
+ }
+ function Tme(i, s) {
+ var u = i.x,
+ d = i.y,
+ p = s.x - u,
+ v = s.y - d,
+ b = i.width / 2,
+ y = i.height / 2,
+ T,
+ _;
+ return (
+ Math.abs(v) * b > Math.abs(p) * y
+ ? (v < 0 && (y = -y), (T = v === 0 ? 0 : (y * p) / v), (_ = y))
+ : (p < 0 && (b = -b), (T = b), (_ = p === 0 ? 0 : (b * v) / p)),
+ { x: u + T, y: d + _ }
+ );
+ }
+ var Cme = { rect: yQt, ellipse: xQt, circle: kQt, diamond: EQt };
+ function wQt(i) {
+ Cme = i;
+ }
+ function yQt(i, s, u) {
+ var d = i
+ .insert('rect', ':first-child')
+ .attr('rx', u.rx)
+ .attr('ry', u.ry)
+ .attr('x', -s.width / 2)
+ .attr('y', -s.height / 2)
+ .attr('width', s.width)
+ .attr('height', s.height);
+ return (
+ (u.intersect = function (p) {
+ return Tme(u, p);
+ }),
+ d
+ );
+ }
+ function xQt(i, s, u) {
+ var d = s.width / 2,
+ p = s.height / 2,
+ v = i
+ .insert('ellipse', ':first-child')
+ .attr('x', -s.width / 2)
+ .attr('y', -s.height / 2)
+ .attr('rx', d)
+ .attr('ry', p);
+ return (
+ (u.intersect = function (b) {
+ return _Ve(u, d, p, b);
+ }),
+ v
+ );
+ }
+ function kQt(i, s, u) {
+ var d = Math.max(s.width, s.height) / 2,
+ p = i
+ .insert('circle', ':first-child')
+ .attr('x', -s.width / 2)
+ .attr('y', -s.height / 2)
+ .attr('r', d);
+ return (
+ (u.intersect = function (v) {
+ return mQt(u, d, v);
+ }),
+ p
+ );
+ }
+ function EQt(i, s, u) {
+ var d = (s.width * Math.SQRT2) / 2,
+ p = (s.height * Math.SQRT2) / 2,
+ v = [
+ { x: 0, y: -p },
+ { x: -d, y: 0 },
+ { x: 0, y: p },
+ { x: d, y: 0 },
+ ],
+ b = i.insert('polygon', ':first-child').attr(
+ 'points',
+ v
+ .map(function (y) {
+ return y.x + ',' + y.y;
+ })
+ .join(' '),
+ );
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function TQt() {
+ var i = function (s, u) {
+ _Qt(u);
+ var d = AR(s, 'output'),
+ p = AR(d, 'clusters'),
+ v = AR(d, 'edgePaths'),
+ b = xme(AR(d, 'edgeLabels'), u),
+ y = Eme(AR(d, 'nodes'), u, Cme);
+ (zD(u), bQt(y, u), pQt(b, u), kme(v, u, mme));
+ var T = yme(p, u);
+ (gQt(T, u), AQt(u));
+ };
+ return (
+ (i.createNodes = function (s) {
+ return arguments.length ? (dQt(s), i) : Eme;
+ }),
+ (i.createClusters = function (s) {
+ return arguments.length ? (sQt(s), i) : yme;
+ }),
+ (i.createEdgeLabels = function (s) {
+ return arguments.length ? (aQt(s), i) : xme;
+ }),
+ (i.createEdgePaths = function (s) {
+ return arguments.length ? (oQt(s), i) : kme;
+ }),
+ (i.shapes = function (s) {
+ return arguments.length ? (wQt(s), i) : Cme;
+ }),
+ (i.arrows = function (s) {
+ return arguments.length ? (JXt(s), i) : mme;
+ }),
+ i
+ );
+ }
+ var CQt = {
+ paddingLeft: 10,
+ paddingRight: 10,
+ paddingTop: 10,
+ paddingBottom: 10,
+ rx: 0,
+ ry: 0,
+ shape: 'rect',
+ },
+ SQt = { arrowhead: 'normal', curve: xp };
+ function _Qt(i) {
+ (i.nodes().forEach((s) => {
+ const u = i.node(s);
+ (!Object.prototype.hasOwnProperty.call(u, 'label') && !i.children(s).length && (u.label = s),
+ Object.prototype.hasOwnProperty.call(u, 'paddingX') &&
+ jD(u, { paddingLeft: u.paddingX, paddingRight: u.paddingX }),
+ Object.prototype.hasOwnProperty.call(u, 'paddingY') &&
+ jD(u, { paddingTop: u.paddingY, paddingBottom: u.paddingY }),
+ Object.prototype.hasOwnProperty.call(u, 'padding') &&
+ jD(u, {
+ paddingLeft: u.padding,
+ paddingRight: u.padding,
+ paddingTop: u.padding,
+ paddingBottom: u.padding,
+ }),
+ jD(u, CQt),
+ ['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom'].forEach((d) => {
+ u[d] = Number(u[d]);
+ }),
+ Object.prototype.hasOwnProperty.call(u, 'width') && (u._prevWidth = u.width),
+ Object.prototype.hasOwnProperty.call(u, 'height') && (u._prevHeight = u.height));
+ }),
+ i.edges().forEach(function (s) {
+ var u = i.edge(s);
+ (Object.prototype.hasOwnProperty.call(u, 'label') || (u.label = ''), jD(u, SQt));
+ }));
+ }
+ function AQt(i) {
+ i.nodes().forEach((s) => {
+ var u = i.node(s);
+ (Object.prototype.hasOwnProperty.call(u, '_prevWidth')
+ ? (u.width = u._prevWidth)
+ : delete u.width,
+ Object.prototype.hasOwnProperty.call(u, '_prevHeight')
+ ? (u.height = u._prevHeight)
+ : delete u.height,
+ delete u._prevWidth,
+ delete u._prevHeight);
+ });
+ }
+ function AR(i, s) {
+ var u = i.select('g.' + s);
+ return (u.empty() && (u = i.append('g').attr('class', s)), u);
+ }
+ function LVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = (d + p) * 0.9,
+ b = [
+ { x: v / 2, y: 0 },
+ { x: v, y: -v / 2 },
+ { x: v / 2, y: -v },
+ { x: 0, y: -v / 2 },
+ ],
+ y = $7(i, v, v, b);
+ return (
+ (u.intersect = function (T) {
+ return Z4(u, b, T);
+ }),
+ y
+ );
+ }
+ function MVe(i, s, u) {
+ const p = s.height,
+ v = p / 4,
+ b = s.width + 2 * v,
+ y = [
+ { x: v, y: 0 },
+ { x: b - v, y: 0 },
+ { x: b, y: -p / 2 },
+ { x: b - v, y: -p },
+ { x: v, y: -p },
+ { x: 0, y: -p / 2 },
+ ],
+ T = $7(i, b, p, y);
+ return (
+ (u.intersect = function (_) {
+ return Z4(u, y, _);
+ }),
+ T
+ );
+ }
+ function DVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: -p / 2, y: 0 },
+ { x: d, y: 0 },
+ { x: d, y: -p },
+ { x: -p / 2, y: -p },
+ { x: 0, y: -p / 2 },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function IVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: (-2 * p) / 6, y: 0 },
+ { x: d - p / 6, y: 0 },
+ { x: d + (2 * p) / 6, y: -p },
+ { x: p / 6, y: -p },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function OVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: (2 * p) / 6, y: 0 },
+ { x: d + p / 6, y: 0 },
+ { x: d - (2 * p) / 6, y: -p },
+ { x: -p / 6, y: -p },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function NVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: (-2 * p) / 6, y: 0 },
+ { x: d + (2 * p) / 6, y: 0 },
+ { x: d - p / 6, y: -p },
+ { x: p / 6, y: -p },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function PVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: p / 6, y: 0 },
+ { x: d - p / 6, y: 0 },
+ { x: d + (2 * p) / 6, y: -p },
+ { x: (-2 * p) / 6, y: -p },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function BVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: 0, y: 0 },
+ { x: d + p / 2, y: 0 },
+ { x: d, y: -p / 2 },
+ { x: d + p / 2, y: -p },
+ { x: 0, y: -p },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function FVe(i, s, u) {
+ const d = s.height,
+ p = s.width + d / 4,
+ v = i
+ .insert('rect', ':first-child')
+ .attr('rx', d / 2)
+ .attr('ry', d / 2)
+ .attr('x', -p / 2)
+ .attr('y', -d / 2)
+ .attr('width', p)
+ .attr('height', d);
+ return (
+ (u.intersect = function (b) {
+ return Tme(u, b);
+ }),
+ v
+ );
+ }
+ function RVe(i, s, u) {
+ const d = s.width,
+ p = s.height,
+ v = [
+ { x: 0, y: 0 },
+ { x: d, y: 0 },
+ { x: d, y: -p },
+ { x: 0, y: -p },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: d + 8, y: 0 },
+ { x: d + 8, y: -p },
+ { x: -8, y: -p },
+ { x: -8, y: 0 },
+ ],
+ b = $7(i, d, p, v);
+ return (
+ (u.intersect = function (y) {
+ return Z4(u, v, y);
+ }),
+ b
+ );
+ }
+ function jVe(i, s, u) {
+ const d = s.width,
+ p = d / 2,
+ v = p / (2.5 + d / 50),
+ b = s.height + v,
+ y =
+ 'M 0,' +
+ v +
+ ' a ' +
+ p +
+ ',' +
+ v +
+ ' 0,0,0 ' +
+ d +
+ ' 0 a ' +
+ p +
+ ',' +
+ v +
+ ' 0,0,0 ' +
+ -d +
+ ' 0 l 0,' +
+ b +
+ ' a ' +
+ p +
+ ',' +
+ v +
+ ' 0,0,0 ' +
+ d +
+ ' 0 l 0,' +
+ -b,
+ T = i
+ .attr('label-offset-y', v)
+ .insert('path', ':first-child')
+ .attr('d', y)
+ .attr('transform', 'translate(' + -d / 2 + ',' + -(b / 2 + v) + ')');
+ return (
+ (u.intersect = function (_) {
+ const A = Tme(u, _),
+ P = A.x - u.x;
+ if (
+ p != 0 &&
+ (Math.abs(P) < u.width / 2 ||
+ (Math.abs(P) == u.width / 2 && Math.abs(A.y - u.y) > u.height / 2 - v))
+ ) {
+ let R = v * v * (1 - (P * P) / (p * p));
+ (R != 0 && (R = Math.sqrt(R)), (R = v - R), _.y - u.y > 0 && (R = -R), (A.y += R));
+ }
+ return A;
+ }),
+ T
+ );
+ }
+ function LQt(i) {
+ ((i.shapes().question = LVe),
+ (i.shapes().hexagon = MVe),
+ (i.shapes().stadium = FVe),
+ (i.shapes().subroutine = RVe),
+ (i.shapes().cylinder = jVe),
+ (i.shapes().rect_left_inv_arrow = DVe),
+ (i.shapes().lean_right = IVe),
+ (i.shapes().lean_left = OVe),
+ (i.shapes().trapezoid = NVe),
+ (i.shapes().inv_trapezoid = PVe),
+ (i.shapes().rect_right_inv_arrow = BVe));
+ }
+ function MQt(i) {
+ (i({ question: LVe }),
+ i({ hexagon: MVe }),
+ i({ stadium: FVe }),
+ i({ subroutine: RVe }),
+ i({ cylinder: jVe }),
+ i({ rect_left_inv_arrow: DVe }),
+ i({ lean_right: IVe }),
+ i({ lean_left: OVe }),
+ i({ trapezoid: NVe }),
+ i({ inv_trapezoid: PVe }),
+ i({ rect_right_inv_arrow: BVe }));
+ }
+ function $7(i, s, u, d) {
+ return i
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ d
+ .map(function (p) {
+ return p.x + ',' + p.y;
+ })
+ .join(' '),
+ )
+ .attr('transform', 'translate(' + -s / 2 + ',' + u / 2 + ')');
+ }
+ const DQt = { addToRender: LQt, addToRenderV2: MQt },
+ $Ve = {},
+ IQt = function (i) {
+ const s = Object.keys(i);
+ for (const u of s) $Ve[u] = i[u];
+ },
+ zVe = async function (i, s, u, d, p, v) {
+ const b = d ? d.select(`[id="${u}"]`) : Ir(`[id="${u}"]`),
+ y = p || document,
+ T = Object.keys(i);
+ for (const _ of T) {
+ const A = i[_];
+ let P = 'default';
+ A.classes.length > 0 && (P = A.classes.join(' '));
+ const R = am(A.styles);
+ let F = A.text !== void 0 ? A.text : A.id,
+ j;
+ if (u1(qt().flowchart.htmlLabels)) {
+ const ie = {
+ label: await TC(
+ F.replace(/fa[blrs]?:fa-[\w-]+/g, (oe) => ``),
+ qt(),
+ ),
+ };
+ ((j = vme(b, ie).node()), j.parentNode.removeChild(j));
+ } else {
+ const ie = y.createElementNS('http://www.w3.org/2000/svg', 'text');
+ ie.setAttribute('style', R.labelStyle.replace('color:', 'fill:'));
+ const oe = F.split(ci.lineBreakRegex);
+ for (const be of oe) {
+ const ge = y.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ (ge.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ ge.setAttribute('dy', '1em'),
+ ge.setAttribute('x', '1'),
+ (ge.textContent = be),
+ ie.appendChild(ge));
+ }
+ j = ie;
+ }
+ let W = 0,
+ ee = '';
+ switch (A.type) {
+ case 'round':
+ ((W = 5), (ee = 'rect'));
+ break;
+ case 'square':
+ ee = 'rect';
+ break;
+ case 'diamond':
+ ee = 'question';
+ break;
+ case 'hexagon':
+ ee = 'hexagon';
+ break;
+ case 'odd':
+ ee = 'rect_left_inv_arrow';
+ break;
+ case 'lean_right':
+ ee = 'lean_right';
+ break;
+ case 'lean_left':
+ ee = 'lean_left';
+ break;
+ case 'trapezoid':
+ ee = 'trapezoid';
+ break;
+ case 'inv_trapezoid':
+ ee = 'inv_trapezoid';
+ break;
+ case 'odd_right':
+ ee = 'rect_left_inv_arrow';
+ break;
+ case 'circle':
+ ee = 'circle';
+ break;
+ case 'ellipse':
+ ee = 'ellipse';
+ break;
+ case 'stadium':
+ ee = 'stadium';
+ break;
+ case 'subroutine':
+ ee = 'subroutine';
+ break;
+ case 'cylinder':
+ ee = 'cylinder';
+ break;
+ case 'group':
+ ee = 'rect';
+ break;
+ default:
+ ee = 'rect';
+ }
+ (Xe.warn('Adding node', A.id, A.domId),
+ s.setNode(v.db.lookUpDomId(A.id), {
+ labelType: 'svg',
+ labelStyle: R.labelStyle,
+ shape: ee,
+ label: j,
+ rx: W,
+ ry: W,
+ class: P,
+ style: R.style,
+ id: v.db.lookUpDomId(A.id),
+ }));
+ }
+ },
+ qVe = async function (i, s, u) {
+ let d = 0,
+ p,
+ v;
+ if (i.defaultStyle !== void 0) {
+ const b = am(i.defaultStyle);
+ ((p = b.style), (v = b.labelStyle));
+ }
+ for (const b of i) {
+ d++;
+ const y = 'L-' + b.start + '-' + b.end,
+ T = 'LS-' + b.start,
+ _ = 'LE-' + b.end,
+ A = {};
+ b.type === 'arrow_open' ? (A.arrowhead = 'none') : (A.arrowhead = 'normal');
+ let P = '',
+ R = '';
+ if (b.style !== void 0) {
+ const F = am(b.style);
+ ((P = F.style), (R = F.labelStyle));
+ } else
+ switch (b.stroke) {
+ case 'normal':
+ ((P = 'fill:none'), p !== void 0 && (P = p), v !== void 0 && (R = v));
+ break;
+ case 'dotted':
+ P = 'fill:none;stroke-width:2px;stroke-dasharray:3;';
+ break;
+ case 'thick':
+ P = ' stroke-width: 3.5px;fill:none';
+ break;
+ }
+ ((A.style = P),
+ (A.labelStyle = R),
+ b.interpolate !== void 0
+ ? (A.curve = Ov(b.interpolate, xp))
+ : i.defaultInterpolate !== void 0
+ ? (A.curve = Ov(i.defaultInterpolate, xp))
+ : (A.curve = Ov($Ve.curve, xp)),
+ b.text === void 0
+ ? b.style !== void 0 && (A.arrowheadStyle = 'fill: #333')
+ : ((A.arrowheadStyle = 'fill: #333'),
+ (A.labelpos = 'c'),
+ u1(qt().flowchart.htmlLabels)
+ ? ((A.labelType = 'html'),
+ (A.label = `${await TC(
+ b.text.replace(
+ /fa[blrs]?:fa-[\w-]+/g,
+ (F) => ``,
+ ),
+ qt(),
+ )}`))
+ : ((A.labelType = 'text'),
+ (A.label = b.text.replace(
+ ci.lineBreakRegex,
+ `
+`,
+ )),
+ b.style === void 0 &&
+ (A.style = A.style || 'stroke: #333; stroke-width: 1.5px;fill:none'),
+ (A.labelStyle = A.labelStyle.replace('color:', 'fill:')))),
+ (A.id = y),
+ (A.class = T + ' ' + _),
+ (A.minlen = b.length || 1),
+ s.setEdge(u.db.lookUpDomId(b.start), u.db.lookUpDomId(b.end), A, d));
+ }
+ },
+ OQt = {
+ setConf: IQt,
+ addVertices: zVe,
+ addEdges: qVe,
+ getClasses: function (i, s) {
+ return (Xe.info('Extracting classes'), s.db.getClasses());
+ },
+ draw: async function (i, s, u, d) {
+ Xe.info('Drawing flowchart');
+ const { securityLevel: p, flowchart: v } = qt();
+ let b;
+ p === 'sandbox' && (b = Ir('#i' + s));
+ const y = Ir(p === 'sandbox' ? b.nodes()[0].contentDocument.body : 'body'),
+ T = p === 'sandbox' ? b.nodes()[0].contentDocument : document;
+ let _ = d.db.getDirection();
+ _ === void 0 && (_ = 'TD');
+ const A = v.nodeSpacing || 50,
+ P = v.rankSpacing || 50,
+ R = new N0({ multigraph: !0, compound: !0 })
+ .setGraph({ rankdir: _, nodesep: A, ranksep: P, marginx: 8, marginy: 8 })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let F;
+ const j = d.db.getSubGraphs();
+ for (let ne = j.length - 1; ne >= 0; ne--)
+ ((F = j[ne]), d.db.addVertex(F.id, F.title, 'group', void 0, F.classes));
+ const W = d.db.getVertices();
+ Xe.warn('Get vertices', W);
+ const ee = d.db.getEdges();
+ let ie = 0;
+ for (ie = j.length - 1; ie >= 0; ie--) {
+ ((F = j[ie]), _Be('cluster').append('text'));
+ for (let ne = 0; ne < F.nodes.length; ne++)
+ (Xe.warn(
+ 'Setting subgraph',
+ F.nodes[ne],
+ d.db.lookUpDomId(F.nodes[ne]),
+ d.db.lookUpDomId(F.id),
+ ),
+ R.setParent(d.db.lookUpDomId(F.nodes[ne]), d.db.lookUpDomId(F.id)));
+ }
+ (await zVe(W, R, s, y, T, d), await qVe(ee, R, d));
+ const oe = new TQt();
+ (DQt.addToRender(oe),
+ (oe.arrows().none = function (se, de, X, pe) {
+ const xe = se
+ .append('marker')
+ .attr('id', de)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 6)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 0 0 L 0 0 z');
+ J4(xe, X[pe + 'Style']);
+ }),
+ (oe.arrows().normal = function (se, de) {
+ se.append('marker')
+ .attr('id', de)
+ .attr('viewBox', '0 0 10 10')
+ .attr('refX', 9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'strokeWidth')
+ .attr('markerWidth', 8)
+ .attr('markerHeight', 6)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z')
+ .attr('class', 'arrowheadPath')
+ .style('stroke-width', 1)
+ .style('stroke-dasharray', '1,0');
+ }));
+ const be = y.select(`[id="${s}"]`),
+ ge = y.select('#' + s + ' g');
+ for (
+ oe(ge, R),
+ ge.selectAll('g.node').attr('title', function () {
+ return d.db.getTooltip(this.id);
+ }),
+ d.db.indexNodes('subGraph' + ie),
+ ie = 0;
+ ie < j.length;
+ ie++
+ )
+ if (((F = j[ie]), F.title !== 'undefined')) {
+ const ne = T.querySelectorAll('#' + s + ' [id="' + d.db.lookUpDomId(F.id) + '"] rect'),
+ se = T.querySelectorAll('#' + s + ' [id="' + d.db.lookUpDomId(F.id) + '"]'),
+ de = ne[0].x.baseVal.value,
+ X = ne[0].y.baseVal.value,
+ pe = ne[0].width.baseVal.value,
+ xe = Ir(se[0]).select('.label');
+ (xe.attr('transform', `translate(${de + pe / 2}, ${X + 14})`),
+ xe.attr('id', s + 'Text'));
+ for (let U = 0; U < F.classes.length; U++) se[0].classList.add(F.classes[U]);
+ }
+ if (!v.htmlLabels) {
+ const ne = T.querySelectorAll('[id="' + s + '"] .edgeLabel .label');
+ for (const se of ne) {
+ const de = se.getBBox(),
+ X = T.createElementNS('http://www.w3.org/2000/svg', 'rect');
+ (X.setAttribute('rx', 0),
+ X.setAttribute('ry', 0),
+ X.setAttribute('width', de.width),
+ X.setAttribute('height', de.height),
+ se.insertBefore(X, se.firstChild));
+ }
+ }
+ (w9(R, be, v.diagramPadding, v.useMaxWidth),
+ Object.keys(W).forEach(function (ne) {
+ const se = W[ne];
+ if (se.link) {
+ const de = y.select('#' + s + ' [id="' + d.db.lookUpDomId(ne) + '"]');
+ if (de) {
+ const X = T.createElementNS('http://www.w3.org/2000/svg', 'a');
+ (X.setAttributeNS('http://www.w3.org/2000/svg', 'class', se.classes.join(' ')),
+ X.setAttributeNS('http://www.w3.org/2000/svg', 'href', se.link),
+ X.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'),
+ p === 'sandbox'
+ ? X.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top')
+ : se.linkTarget &&
+ X.setAttributeNS('http://www.w3.org/2000/svg', 'target', se.linkTarget));
+ const pe = de.insert(function () {
+ return X;
+ }, ':first-child'),
+ G = de.select('.label-container');
+ G &&
+ pe.append(function () {
+ return G.node();
+ });
+ const xe = de.select('.label');
+ xe &&
+ pe.append(function () {
+ return xe.node();
+ });
+ }
+ }
+ }));
+ },
+ };
+ function z7(i) {
+ var s = {
+ options: { directed: i.isDirected(), multigraph: i.isMultigraph(), compound: i.isCompound() },
+ nodes: NQt(i),
+ edges: PQt(i),
+ };
+ return (Yf(i.graph()) || (s.value = OHe(i.graph())), s);
+ }
+ function NQt(i) {
+ return O0(i.nodes(), function (s) {
+ var u = i.node(s),
+ d = i.parent(s),
+ p = { v: s };
+ return (Yf(u) || (p.value = u), Yf(d) || (p.parent = d), p);
+ });
+ }
+ function PQt(i) {
+ return O0(i.edges(), function (s) {
+ var u = i.edge(s),
+ d = { v: s.v, w: s.w };
+ return (Yf(s.name) || (d.name = s.name), Yf(u) || (d.value = u), d);
+ });
+ }
+ const BQt = (i, s, u, d) => {
+ s.forEach((p) => {
+ FQt[p](i, u, d);
+ });
+ },
+ FQt = {
+ extension: (i, s, u) => {
+ (Xe.trace('Making markers for ', u),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-extensionStart')
+ .attr('class', 'marker extension ' + s)
+ .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'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-extensionEnd')
+ .attr('class', 'marker extension ' + s)
+ .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'));
+ },
+ composition: (i, s, u) => {
+ (i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-compositionStart')
+ .attr('class', 'marker composition ' + s)
+ .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'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-compositionEnd')
+ .attr('class', 'marker composition ' + s)
+ .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: (i, s, u) => {
+ (i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-aggregationStart')
+ .attr('class', 'marker aggregation ' + s)
+ .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'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-aggregationEnd')
+ .attr('class', 'marker aggregation ' + s)
+ .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'));
+ },
+ dependency: (i, s, u) => {
+ (i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-dependencyStart')
+ .attr('class', 'marker dependency ' + s)
+ .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'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-dependencyEnd')
+ .attr('class', 'marker dependency ' + s)
+ .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'));
+ },
+ lollipop: (i, s, u) => {
+ (i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-lollipopStart')
+ .attr('class', 'marker lollipop ' + s)
+ .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),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-lollipopEnd')
+ .attr('class', 'marker lollipop ' + s)
+ .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));
+ },
+ point: (i, s, u) => {
+ (i
+ .append('marker')
+ .attr('id', u + '_' + s + '-pointEnd')
+ .attr('class', 'marker ' + s)
+ .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'),
+ i
+ .append('marker')
+ .attr('id', u + '_' + s + '-pointStart')
+ .attr('class', 'marker ' + s)
+ .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'));
+ },
+ circle: (i, s, u) => {
+ (i
+ .append('marker')
+ .attr('id', u + '_' + s + '-circleEnd')
+ .attr('class', 'marker ' + s)
+ .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'),
+ i
+ .append('marker')
+ .attr('id', u + '_' + s + '-circleStart')
+ .attr('class', 'marker ' + s)
+ .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'));
+ },
+ cross: (i, s, u) => {
+ (i
+ .append('marker')
+ .attr('id', u + '_' + s + '-crossEnd')
+ .attr('class', 'marker cross ' + s)
+ .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'),
+ i
+ .append('marker')
+ .attr('id', u + '_' + s + '-crossStart')
+ .attr('class', 'marker cross ' + s)
+ .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'));
+ },
+ barb: (i, s, u) => {
+ i.append('defs')
+ .append('marker')
+ .attr('id', u + '_' + s + '-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');
+ },
+ },
+ Sme = BQt;
+ function RQt(i, s) {
+ s && i.attr('style', s);
+ }
+ function jQt(i, s) {
+ const u = Ir(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')),
+ d = u.append('xhtml:div'),
+ p = i.label,
+ v = i.isNode ? 'nodeLabel' : 'edgeLabel';
+ return (
+ d.html(
+ yh(
+ '' +
+ p +
+ '',
+ s,
+ ),
+ ),
+ RQt(d, i.labelStyle),
+ d.style('display', 'inline-block'),
+ d.style('white-space', 'nowrap'),
+ d.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ u.node()
+ );
+ }
+ const z2 = (i, s, u, d) => {
+ let p = i || '';
+ typeof p == 'object' && (p = p[0]);
+ const v = qt();
+ if (u1(v.flowchart.htmlLabels)) {
+ ((p = p.replace(/\\n|\n/g, '
')), Xe.debug('vertexText' + p));
+ const b = {
+ isNode: d,
+ label: eR(p).replace(
+ /fa[blrs]?:fa-[\w-]+/g,
+ (T) => ``,
+ ),
+ labelStyle: s.replace('fill:', 'color:'),
+ };
+ return jQt(b, v);
+ } else {
+ const b = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ b.setAttribute('style', s.replace('color:', 'fill:'));
+ let y = [];
+ typeof p == 'string'
+ ? (y = p.split(/\\n|\n|
/gi))
+ : Array.isArray(p)
+ ? (y = p)
+ : (y = []);
+ for (const T of y) {
+ const _ = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ (_.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ _.setAttribute('dy', '1em'),
+ _.setAttribute('x', '0'),
+ u ? _.setAttribute('class', 'title-row') : _.setAttribute('class', 'row'),
+ (_.textContent = T.trim()),
+ b.appendChild(_));
+ }
+ return b;
+ }
+ },
+ $Qt = {};
+ function zQt(i, s) {
+ const u = s || $Qt,
+ d = typeof u.includeImageAlt == 'boolean' ? u.includeImageAlt : !0,
+ p = typeof u.includeHtml == 'boolean' ? u.includeHtml : !0;
+ return HVe(i, d, p);
+ }
+ function HVe(i, s, u) {
+ if (qQt(i)) {
+ if ('value' in i) return i.type === 'html' && !u ? '' : i.value;
+ if (s && 'alt' in i && i.alt) return i.alt;
+ if ('children' in i) return VVe(i.children, s, u);
+ }
+ return Array.isArray(i) ? VVe(i, s, u) : '';
+ }
+ function VVe(i, s, u) {
+ const d = [];
+ let p = -1;
+ for (; ++p < i.length; ) d[p] = HVe(i[p], s, u);
+ return d.join('');
+ }
+ function qQt(i) {
+ return !!(i && typeof i == 'object');
+ }
+ function e5(i, s, u, d) {
+ const p = i.length;
+ let v = 0,
+ b;
+ if (
+ (s < 0 ? (s = -s > p ? 0 : p + s) : (s = s > p ? p : s), (u = u > 0 ? u : 0), d.length < 1e4)
+ )
+ ((b = Array.from(d)), b.unshift(s, u), i.splice(...b));
+ else
+ for (u && i.splice(s, u); v < d.length; )
+ ((b = d.slice(v, v + 1e4)), b.unshift(s, 0), i.splice(...b), (v += 1e4), (s += 1e4));
+ }
+ function qv(i, s) {
+ return i.length > 0 ? (e5(i, i.length, 0, s), i) : s;
+ }
+ const UVe = {}.hasOwnProperty;
+ function HQt(i) {
+ const s = {};
+ let u = -1;
+ for (; ++u < i.length; ) VQt(s, i[u]);
+ return s;
+ }
+ function VQt(i, s) {
+ let u;
+ for (u in s) {
+ const p = (UVe.call(i, u) ? i[u] : void 0) || (i[u] = {}),
+ v = s[u];
+ let b;
+ if (v)
+ for (b in v) {
+ UVe.call(p, b) || (p[b] = []);
+ const y = v[b];
+ UQt(p[b], Array.isArray(y) ? y : y ? [y] : []);
+ }
+ }
+ }
+ function UQt(i, s) {
+ let u = -1;
+ const d = [];
+ for (; ++u < s.length; ) (s[u].add === 'after' ? i : d).push(s[u]);
+ e5(i, 0, 0, d);
+ }
+ const GQt =
+ /[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,
+ t5 = I9(/[A-Za-z]/),
+ H3 = I9(/[\dA-Za-z]/),
+ KQt = I9(/[#-'*+\--9=?A-Z^-~]/);
+ function _me(i) {
+ return i !== null && (i < 32 || i === 127);
+ }
+ const Ame = I9(/\d/),
+ WQt = I9(/[\dA-Fa-f]/),
+ YQt = I9(/[!-/:-@[-`{-~]/);
+ function so(i) {
+ return i !== null && i < -2;
+ }
+ function q2(i) {
+ return i !== null && (i < 0 || i === 32);
+ }
+ function Nu(i) {
+ return i === -2 || i === -1 || i === 32;
+ }
+ const XQt = I9(GQt),
+ QQt = I9(/\s/);
+ function I9(i) {
+ return s;
+ function s(u) {
+ return u !== null && i.test(String.fromCharCode(u));
+ }
+ }
+ function Kl(i, s, u, d) {
+ const p = d ? d - 1 : Number.POSITIVE_INFINITY;
+ let v = 0;
+ return b;
+ function b(T) {
+ return Nu(T) ? (i.enter(u), y(T)) : s(T);
+ }
+ function y(T) {
+ return Nu(T) && v++ < p ? (i.consume(T), y) : (i.exit(u), s(T));
+ }
+ }
+ const JQt = { tokenize: ZQt };
+ function ZQt(i) {
+ const s = i.attempt(this.parser.constructs.contentInitial, d, p);
+ let u;
+ return s;
+ function d(y) {
+ if (y === null) {
+ i.consume(y);
+ return;
+ }
+ return (i.enter('lineEnding'), i.consume(y), i.exit('lineEnding'), Kl(i, s, 'linePrefix'));
+ }
+ function p(y) {
+ return (i.enter('paragraph'), v(y));
+ }
+ function v(y) {
+ const T = i.enter('chunkText', { contentType: 'text', previous: u });
+ return (u && (u.next = T), (u = T), b(y));
+ }
+ function b(y) {
+ if (y === null) {
+ (i.exit('chunkText'), i.exit('paragraph'), i.consume(y));
+ return;
+ }
+ return so(y) ? (i.consume(y), i.exit('chunkText'), v) : (i.consume(y), b);
+ }
+ }
+ const eJt = { tokenize: tJt },
+ GVe = { tokenize: nJt };
+ function tJt(i) {
+ const s = this,
+ u = [];
+ let d = 0,
+ p,
+ v,
+ b;
+ return y;
+ function y(be) {
+ if (d < u.length) {
+ const ge = u[d];
+ return ((s.containerState = ge[1]), i.attempt(ge[0].continuation, T, _)(be));
+ }
+ return _(be);
+ }
+ function T(be) {
+ if ((d++, s.containerState._closeFlow)) {
+ ((s.containerState._closeFlow = void 0), p && oe());
+ const ge = s.events.length;
+ let ae = ge,
+ ne;
+ for (; ae--; )
+ if (s.events[ae][0] === 'exit' && s.events[ae][1].type === 'chunkFlow') {
+ ne = s.events[ae][1].end;
+ break;
+ }
+ ie(d);
+ let se = ge;
+ for (; se < s.events.length; ) ((s.events[se][1].end = Object.assign({}, ne)), se++);
+ return (e5(s.events, ae + 1, 0, s.events.slice(ge)), (s.events.length = se), _(be));
+ }
+ return y(be);
+ }
+ function _(be) {
+ if (d === u.length) {
+ if (!p) return R(be);
+ if (p.currentConstruct && p.currentConstruct.concrete) return j(be);
+ s.interrupt = !!(p.currentConstruct && !p._gfmTableDynamicInterruptHack);
+ }
+ return ((s.containerState = {}), i.check(GVe, A, P)(be));
+ }
+ function A(be) {
+ return (p && oe(), ie(d), R(be));
+ }
+ function P(be) {
+ return ((s.parser.lazy[s.now().line] = d !== u.length), (b = s.now().offset), j(be));
+ }
+ function R(be) {
+ return ((s.containerState = {}), i.attempt(GVe, F, j)(be));
+ }
+ function F(be) {
+ return (d++, u.push([s.currentConstruct, s.containerState]), R(be));
+ }
+ function j(be) {
+ if (be === null) {
+ (p && oe(), ie(0), i.consume(be));
+ return;
+ }
+ return (
+ (p = p || s.parser.flow(s.now())),
+ i.enter('chunkFlow', { contentType: 'flow', previous: v, _tokenizer: p }),
+ W(be)
+ );
+ }
+ function W(be) {
+ if (be === null) {
+ (ee(i.exit('chunkFlow'), !0), ie(0), i.consume(be));
+ return;
+ }
+ return so(be)
+ ? (i.consume(be), ee(i.exit('chunkFlow')), (d = 0), (s.interrupt = void 0), y)
+ : (i.consume(be), W);
+ }
+ function ee(be, ge) {
+ const ae = s.sliceStream(be);
+ if (
+ (ge && ae.push(null),
+ (be.previous = v),
+ v && (v.next = be),
+ (v = be),
+ p.defineSkip(be.start),
+ p.write(ae),
+ s.parser.lazy[be.start.line])
+ ) {
+ let ne = p.events.length;
+ for (; ne--; )
+ if (
+ p.events[ne][1].start.offset < b &&
+ (!p.events[ne][1].end || p.events[ne][1].end.offset > b)
+ )
+ return;
+ const se = s.events.length;
+ let de = se,
+ X,
+ pe;
+ for (; de--; )
+ if (s.events[de][0] === 'exit' && s.events[de][1].type === 'chunkFlow') {
+ if (X) {
+ pe = s.events[de][1].end;
+ break;
+ }
+ X = !0;
+ }
+ for (ie(d), ne = se; ne < s.events.length; )
+ ((s.events[ne][1].end = Object.assign({}, pe)), ne++);
+ (e5(s.events, de + 1, 0, s.events.slice(se)), (s.events.length = ne));
+ }
+ }
+ function ie(be) {
+ let ge = u.length;
+ for (; ge-- > be; ) {
+ const ae = u[ge];
+ ((s.containerState = ae[1]), ae[0].exit.call(s, i));
+ }
+ u.length = be;
+ }
+ function oe() {
+ (p.write([null]), (v = void 0), (p = void 0), (s.containerState._closeFlow = void 0));
+ }
+ }
+ function nJt(i, s, u) {
+ return Kl(
+ i,
+ i.attempt(this.parser.constructs.document, s, u),
+ 'linePrefix',
+ this.parser.constructs.disable.null.includes('codeIndented') ? void 0 : 4,
+ );
+ }
+ function KVe(i) {
+ if (i === null || q2(i) || QQt(i)) return 1;
+ if (XQt(i)) return 2;
+ }
+ function Lme(i, s, u) {
+ const d = [];
+ let p = -1;
+ for (; ++p < i.length; ) {
+ const v = i[p].resolveAll;
+ v && !d.includes(v) && ((s = v(s, u)), d.push(v));
+ }
+ return s;
+ }
+ const Mme = { name: 'attention', tokenize: iJt, resolveAll: rJt };
+ function rJt(i, s) {
+ let u = -1,
+ d,
+ p,
+ v,
+ b,
+ y,
+ T,
+ _,
+ A;
+ for (; ++u < i.length; )
+ if (i[u][0] === 'enter' && i[u][1].type === 'attentionSequence' && i[u][1]._close) {
+ for (d = u; d--; )
+ if (
+ i[d][0] === 'exit' &&
+ i[d][1].type === 'attentionSequence' &&
+ i[d][1]._open &&
+ s.sliceSerialize(i[d][1]).charCodeAt(0) === s.sliceSerialize(i[u][1]).charCodeAt(0)
+ ) {
+ if (
+ (i[d][1]._close || i[u][1]._open) &&
+ (i[u][1].end.offset - i[u][1].start.offset) % 3 &&
+ !(
+ (i[d][1].end.offset -
+ i[d][1].start.offset +
+ i[u][1].end.offset -
+ i[u][1].start.offset) %
+ 3
+ )
+ )
+ continue;
+ T =
+ i[d][1].end.offset - i[d][1].start.offset > 1 &&
+ i[u][1].end.offset - i[u][1].start.offset > 1
+ ? 2
+ : 1;
+ const P = Object.assign({}, i[d][1].end),
+ R = Object.assign({}, i[u][1].start);
+ (WVe(P, -T),
+ WVe(R, T),
+ (b = {
+ type: T > 1 ? 'strongSequence' : 'emphasisSequence',
+ start: P,
+ end: Object.assign({}, i[d][1].end),
+ }),
+ (y = {
+ type: T > 1 ? 'strongSequence' : 'emphasisSequence',
+ start: Object.assign({}, i[u][1].start),
+ end: R,
+ }),
+ (v = {
+ type: T > 1 ? 'strongText' : 'emphasisText',
+ start: Object.assign({}, i[d][1].end),
+ end: Object.assign({}, i[u][1].start),
+ }),
+ (p = {
+ type: T > 1 ? 'strong' : 'emphasis',
+ start: Object.assign({}, b.start),
+ end: Object.assign({}, y.end),
+ }),
+ (i[d][1].end = Object.assign({}, b.start)),
+ (i[u][1].start = Object.assign({}, y.end)),
+ (_ = []),
+ i[d][1].end.offset - i[d][1].start.offset &&
+ (_ = qv(_, [
+ ['enter', i[d][1], s],
+ ['exit', i[d][1], s],
+ ])),
+ (_ = qv(_, [
+ ['enter', p, s],
+ ['enter', b, s],
+ ['exit', b, s],
+ ['enter', v, s],
+ ])),
+ (_ = qv(_, Lme(s.parser.constructs.insideSpan.null, i.slice(d + 1, u), s))),
+ (_ = qv(_, [
+ ['exit', v, s],
+ ['enter', y, s],
+ ['exit', y, s],
+ ['exit', p, s],
+ ])),
+ i[u][1].end.offset - i[u][1].start.offset
+ ? ((A = 2),
+ (_ = qv(_, [
+ ['enter', i[u][1], s],
+ ['exit', i[u][1], s],
+ ])))
+ : (A = 0),
+ e5(i, d - 1, u - d + 3, _),
+ (u = d + _.length - A - 2));
+ break;
+ }
+ }
+ for (u = -1; ++u < i.length; ) i[u][1].type === 'attentionSequence' && (i[u][1].type = 'data');
+ return i;
+ }
+ function iJt(i, s) {
+ const u = this.parser.constructs.attentionMarkers.null,
+ d = this.previous,
+ p = KVe(d);
+ let v;
+ return b;
+ function b(T) {
+ return ((v = T), i.enter('attentionSequence'), y(T));
+ }
+ function y(T) {
+ if (T === v) return (i.consume(T), y);
+ const _ = i.exit('attentionSequence'),
+ A = KVe(T),
+ P = !A || (A === 2 && p) || u.includes(T),
+ R = !p || (p === 2 && A) || u.includes(d);
+ return (
+ (_._open = !!(v === 42 ? P : P && (p || !R))),
+ (_._close = !!(v === 42 ? R : R && (A || !P))),
+ s(T)
+ );
+ }
+ }
+ function WVe(i, s) {
+ ((i.column += s), (i.offset += s), (i._bufferIndex += s));
+ }
+ const sJt = { name: 'autolink', tokenize: aJt };
+ function aJt(i, s, u) {
+ let d = 0;
+ return p;
+ function p(F) {
+ return (
+ i.enter('autolink'),
+ i.enter('autolinkMarker'),
+ i.consume(F),
+ i.exit('autolinkMarker'),
+ i.enter('autolinkProtocol'),
+ v
+ );
+ }
+ function v(F) {
+ return t5(F) ? (i.consume(F), b) : _(F);
+ }
+ function b(F) {
+ return F === 43 || F === 45 || F === 46 || H3(F) ? ((d = 1), y(F)) : _(F);
+ }
+ function y(F) {
+ return F === 58
+ ? (i.consume(F), (d = 0), T)
+ : (F === 43 || F === 45 || F === 46 || H3(F)) && d++ < 32
+ ? (i.consume(F), y)
+ : ((d = 0), _(F));
+ }
+ function T(F) {
+ return F === 62
+ ? (i.exit('autolinkProtocol'),
+ i.enter('autolinkMarker'),
+ i.consume(F),
+ i.exit('autolinkMarker'),
+ i.exit('autolink'),
+ s)
+ : F === null || F === 32 || F === 60 || _me(F)
+ ? u(F)
+ : (i.consume(F), T);
+ }
+ function _(F) {
+ return F === 64 ? (i.consume(F), A) : KQt(F) ? (i.consume(F), _) : u(F);
+ }
+ function A(F) {
+ return H3(F) ? P(F) : u(F);
+ }
+ function P(F) {
+ return F === 46
+ ? (i.consume(F), (d = 0), A)
+ : F === 62
+ ? ((i.exit('autolinkProtocol').type = 'autolinkEmail'),
+ i.enter('autolinkMarker'),
+ i.consume(F),
+ i.exit('autolinkMarker'),
+ i.exit('autolink'),
+ s)
+ : R(F);
+ }
+ function R(F) {
+ if ((F === 45 || H3(F)) && d++ < 63) {
+ const j = F === 45 ? R : P;
+ return (i.consume(F), j);
+ }
+ return u(F);
+ }
+ }
+ const YQ = { tokenize: oJt, partial: !0 };
+ function oJt(i, s, u) {
+ return d;
+ function d(v) {
+ return Nu(v) ? Kl(i, p, 'linePrefix')(v) : p(v);
+ }
+ function p(v) {
+ return v === null || so(v) ? s(v) : u(v);
+ }
+ }
+ const YVe = { name: 'blockQuote', tokenize: cJt, continuation: { tokenize: uJt }, exit: lJt };
+ function cJt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ if (b === 62) {
+ const y = d.containerState;
+ return (
+ y.open || (i.enter('blockQuote', { _container: !0 }), (y.open = !0)),
+ i.enter('blockQuotePrefix'),
+ i.enter('blockQuoteMarker'),
+ i.consume(b),
+ i.exit('blockQuoteMarker'),
+ v
+ );
+ }
+ return u(b);
+ }
+ function v(b) {
+ return Nu(b)
+ ? (i.enter('blockQuotePrefixWhitespace'),
+ i.consume(b),
+ i.exit('blockQuotePrefixWhitespace'),
+ i.exit('blockQuotePrefix'),
+ s)
+ : (i.exit('blockQuotePrefix'), s(b));
+ }
+ }
+ function uJt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ return Nu(b)
+ ? Kl(
+ i,
+ v,
+ 'linePrefix',
+ d.parser.constructs.disable.null.includes('codeIndented') ? void 0 : 4,
+ )(b)
+ : v(b);
+ }
+ function v(b) {
+ return i.attempt(YVe, s, u)(b);
+ }
+ }
+ function lJt(i) {
+ i.exit('blockQuote');
+ }
+ const XVe = { name: 'characterEscape', tokenize: hJt };
+ function hJt(i, s, u) {
+ return d;
+ function d(v) {
+ return (
+ i.enter('characterEscape'),
+ i.enter('escapeMarker'),
+ i.consume(v),
+ i.exit('escapeMarker'),
+ p
+ );
+ }
+ function p(v) {
+ return YQt(v)
+ ? (i.enter('characterEscapeValue'),
+ i.consume(v),
+ i.exit('characterEscapeValue'),
+ i.exit('characterEscape'),
+ s)
+ : u(v);
+ }
+ }
+ const QVe = document.createElement('i');
+ function Dme(i) {
+ const s = '&' + i + ';';
+ QVe.innerHTML = s;
+ const u = QVe.textContent;
+ return (u.charCodeAt(u.length - 1) === 59 && i !== 'semi') || u === s ? !1 : u;
+ }
+ const JVe = { name: 'characterReference', tokenize: fJt };
+ function fJt(i, s, u) {
+ const d = this;
+ let p = 0,
+ v,
+ b;
+ return y;
+ function y(P) {
+ return (
+ i.enter('characterReference'),
+ i.enter('characterReferenceMarker'),
+ i.consume(P),
+ i.exit('characterReferenceMarker'),
+ T
+ );
+ }
+ function T(P) {
+ return P === 35
+ ? (i.enter('characterReferenceMarkerNumeric'),
+ i.consume(P),
+ i.exit('characterReferenceMarkerNumeric'),
+ _)
+ : (i.enter('characterReferenceValue'), (v = 31), (b = H3), A(P));
+ }
+ function _(P) {
+ return P === 88 || P === 120
+ ? (i.enter('characterReferenceMarkerHexadecimal'),
+ i.consume(P),
+ i.exit('characterReferenceMarkerHexadecimal'),
+ i.enter('characterReferenceValue'),
+ (v = 6),
+ (b = WQt),
+ A)
+ : (i.enter('characterReferenceValue'), (v = 7), (b = Ame), A(P));
+ }
+ function A(P) {
+ if (P === 59 && p) {
+ const R = i.exit('characterReferenceValue');
+ return b === H3 && !Dme(d.sliceSerialize(R))
+ ? u(P)
+ : (i.enter('characterReferenceMarker'),
+ i.consume(P),
+ i.exit('characterReferenceMarker'),
+ i.exit('characterReference'),
+ s);
+ }
+ return b(P) && p++ < v ? (i.consume(P), A) : u(P);
+ }
+ }
+ const ZVe = { tokenize: gJt, partial: !0 },
+ eUe = { name: 'codeFenced', tokenize: dJt, concrete: !0 };
+ function dJt(i, s, u) {
+ const d = this,
+ p = { tokenize: ae, partial: !0 };
+ let v = 0,
+ b = 0,
+ y;
+ return T;
+ function T(ne) {
+ return _(ne);
+ }
+ function _(ne) {
+ const se = d.events[d.events.length - 1];
+ return (
+ (v = se && se[1].type === 'linePrefix' ? se[2].sliceSerialize(se[1], !0).length : 0),
+ (y = ne),
+ i.enter('codeFenced'),
+ i.enter('codeFencedFence'),
+ i.enter('codeFencedFenceSequence'),
+ A(ne)
+ );
+ }
+ function A(ne) {
+ return ne === y
+ ? (b++, i.consume(ne), A)
+ : b < 3
+ ? u(ne)
+ : (i.exit('codeFencedFenceSequence'), Nu(ne) ? Kl(i, P, 'whitespace')(ne) : P(ne));
+ }
+ function P(ne) {
+ return ne === null || so(ne)
+ ? (i.exit('codeFencedFence'), d.interrupt ? s(ne) : i.check(ZVe, W, ge)(ne))
+ : (i.enter('codeFencedFenceInfo'),
+ i.enter('chunkString', { contentType: 'string' }),
+ R(ne));
+ }
+ function R(ne) {
+ return ne === null || so(ne)
+ ? (i.exit('chunkString'), i.exit('codeFencedFenceInfo'), P(ne))
+ : Nu(ne)
+ ? (i.exit('chunkString'), i.exit('codeFencedFenceInfo'), Kl(i, F, 'whitespace')(ne))
+ : ne === 96 && ne === y
+ ? u(ne)
+ : (i.consume(ne), R);
+ }
+ function F(ne) {
+ return ne === null || so(ne)
+ ? P(ne)
+ : (i.enter('codeFencedFenceMeta'),
+ i.enter('chunkString', { contentType: 'string' }),
+ j(ne));
+ }
+ function j(ne) {
+ return ne === null || so(ne)
+ ? (i.exit('chunkString'), i.exit('codeFencedFenceMeta'), P(ne))
+ : ne === 96 && ne === y
+ ? u(ne)
+ : (i.consume(ne), j);
+ }
+ function W(ne) {
+ return i.attempt(p, ge, ee)(ne);
+ }
+ function ee(ne) {
+ return (i.enter('lineEnding'), i.consume(ne), i.exit('lineEnding'), ie);
+ }
+ function ie(ne) {
+ return v > 0 && Nu(ne) ? Kl(i, oe, 'linePrefix', v + 1)(ne) : oe(ne);
+ }
+ function oe(ne) {
+ return ne === null || so(ne) ? i.check(ZVe, W, ge)(ne) : (i.enter('codeFlowValue'), be(ne));
+ }
+ function be(ne) {
+ return ne === null || so(ne) ? (i.exit('codeFlowValue'), oe(ne)) : (i.consume(ne), be);
+ }
+ function ge(ne) {
+ return (i.exit('codeFenced'), s(ne));
+ }
+ function ae(ne, se, de) {
+ let X = 0;
+ return pe;
+ function pe(Ne) {
+ return (ne.enter('lineEnding'), ne.consume(Ne), ne.exit('lineEnding'), G);
+ }
+ function G(Ne) {
+ return (
+ ne.enter('codeFencedFence'),
+ Nu(Ne)
+ ? Kl(
+ ne,
+ xe,
+ 'linePrefix',
+ d.parser.constructs.disable.null.includes('codeIndented') ? void 0 : 4,
+ )(Ne)
+ : xe(Ne)
+ );
+ }
+ function xe(Ne) {
+ return Ne === y ? (ne.enter('codeFencedFenceSequence'), U(Ne)) : de(Ne);
+ }
+ function U(Ne) {
+ return Ne === y
+ ? (X++, ne.consume(Ne), U)
+ : X >= b
+ ? (ne.exit('codeFencedFenceSequence'), Nu(Ne) ? Kl(ne, Be, 'whitespace')(Ne) : Be(Ne))
+ : de(Ne);
+ }
+ function Be(Ne) {
+ return Ne === null || so(Ne) ? (ne.exit('codeFencedFence'), se(Ne)) : de(Ne);
+ }
+ }
+ }
+ function gJt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ return b === null ? u(b) : (i.enter('lineEnding'), i.consume(b), i.exit('lineEnding'), v);
+ }
+ function v(b) {
+ return d.parser.lazy[d.now().line] ? u(b) : s(b);
+ }
+ }
+ const Ime = { name: 'codeIndented', tokenize: bJt },
+ pJt = { tokenize: mJt, partial: !0 };
+ function bJt(i, s, u) {
+ const d = this;
+ return p;
+ function p(_) {
+ return (i.enter('codeIndented'), Kl(i, v, 'linePrefix', 4 + 1)(_));
+ }
+ function v(_) {
+ const A = d.events[d.events.length - 1];
+ return A && A[1].type === 'linePrefix' && A[2].sliceSerialize(A[1], !0).length >= 4
+ ? b(_)
+ : u(_);
+ }
+ function b(_) {
+ return _ === null ? T(_) : so(_) ? i.attempt(pJt, b, T)(_) : (i.enter('codeFlowValue'), y(_));
+ }
+ function y(_) {
+ return _ === null || so(_) ? (i.exit('codeFlowValue'), b(_)) : (i.consume(_), y);
+ }
+ function T(_) {
+ return (i.exit('codeIndented'), s(_));
+ }
+ }
+ function mJt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ return d.parser.lazy[d.now().line]
+ ? u(b)
+ : so(b)
+ ? (i.enter('lineEnding'), i.consume(b), i.exit('lineEnding'), p)
+ : Kl(i, v, 'linePrefix', 4 + 1)(b);
+ }
+ function v(b) {
+ const y = d.events[d.events.length - 1];
+ return y && y[1].type === 'linePrefix' && y[2].sliceSerialize(y[1], !0).length >= 4
+ ? s(b)
+ : so(b)
+ ? p(b)
+ : u(b);
+ }
+ }
+ const vJt = { name: 'codeText', tokenize: xJt, resolve: wJt, previous: yJt };
+ function wJt(i) {
+ let s = i.length - 4,
+ u = 3,
+ d,
+ p;
+ if (
+ (i[u][1].type === 'lineEnding' || i[u][1].type === 'space') &&
+ (i[s][1].type === 'lineEnding' || i[s][1].type === 'space')
+ ) {
+ for (d = u; ++d < s; )
+ if (i[d][1].type === 'codeTextData') {
+ ((i[u][1].type = 'codeTextPadding'),
+ (i[s][1].type = 'codeTextPadding'),
+ (u += 2),
+ (s -= 2));
+ break;
+ }
+ }
+ for (d = u - 1, s++; ++d <= s; )
+ p === void 0
+ ? d !== s && i[d][1].type !== 'lineEnding' && (p = d)
+ : (d === s || i[d][1].type === 'lineEnding') &&
+ ((i[p][1].type = 'codeTextData'),
+ d !== p + 2 &&
+ ((i[p][1].end = i[d - 1][1].end),
+ i.splice(p + 2, d - p - 2),
+ (s -= d - p - 2),
+ (d = p + 2)),
+ (p = void 0));
+ return i;
+ }
+ function yJt(i) {
+ return i !== 96 || this.events[this.events.length - 1][1].type === 'characterEscape';
+ }
+ function xJt(i, s, u) {
+ let d = 0,
+ p,
+ v;
+ return b;
+ function b(P) {
+ return (i.enter('codeText'), i.enter('codeTextSequence'), y(P));
+ }
+ function y(P) {
+ return P === 96 ? (i.consume(P), d++, y) : (i.exit('codeTextSequence'), T(P));
+ }
+ function T(P) {
+ return P === null
+ ? u(P)
+ : P === 32
+ ? (i.enter('space'), i.consume(P), i.exit('space'), T)
+ : P === 96
+ ? ((v = i.enter('codeTextSequence')), (p = 0), A(P))
+ : so(P)
+ ? (i.enter('lineEnding'), i.consume(P), i.exit('lineEnding'), T)
+ : (i.enter('codeTextData'), _(P));
+ }
+ function _(P) {
+ return P === null || P === 32 || P === 96 || so(P)
+ ? (i.exit('codeTextData'), T(P))
+ : (i.consume(P), _);
+ }
+ function A(P) {
+ return P === 96
+ ? (i.consume(P), p++, A)
+ : p === d
+ ? (i.exit('codeTextSequence'), i.exit('codeText'), s(P))
+ : ((v.type = 'codeTextData'), _(P));
+ }
+ }
+ function tUe(i) {
+ const s = {};
+ let u = -1,
+ d,
+ p,
+ v,
+ b,
+ y,
+ T,
+ _;
+ for (; ++u < i.length; ) {
+ for (; u in s; ) u = s[u];
+ if (
+ ((d = i[u]),
+ u &&
+ d[1].type === 'chunkFlow' &&
+ i[u - 1][1].type === 'listItemPrefix' &&
+ ((T = d[1]._tokenizer.events),
+ (v = 0),
+ v < T.length && T[v][1].type === 'lineEndingBlank' && (v += 2),
+ v < T.length && T[v][1].type === 'content'))
+ )
+ for (; ++v < T.length && T[v][1].type !== 'content'; )
+ T[v][1].type === 'chunkText' && ((T[v][1]._isInFirstContentOfListItem = !0), v++);
+ if (d[0] === 'enter') d[1].contentType && (Object.assign(s, kJt(i, u)), (u = s[u]), (_ = !0));
+ else if (d[1]._container) {
+ for (
+ v = u, p = void 0;
+ v-- && ((b = i[v]), b[1].type === 'lineEnding' || b[1].type === 'lineEndingBlank');
+ )
+ b[0] === 'enter' &&
+ (p && (i[p][1].type = 'lineEndingBlank'), (b[1].type = 'lineEnding'), (p = v));
+ p &&
+ ((d[1].end = Object.assign({}, i[p][1].start)),
+ (y = i.slice(p, u)),
+ y.unshift(d),
+ e5(i, p, u - p + 1, y));
+ }
+ }
+ return !_;
+ }
+ function kJt(i, s) {
+ const u = i[s][1],
+ d = i[s][2];
+ let p = s - 1;
+ const v = [],
+ b = u._tokenizer || d.parser[u.contentType](u.start),
+ y = b.events,
+ T = [],
+ _ = {};
+ let A,
+ P,
+ R = -1,
+ F = u,
+ j = 0,
+ W = 0;
+ const ee = [W];
+ for (; F; ) {
+ for (; i[++p][1] !== F; );
+ (v.push(p),
+ F._tokenizer ||
+ ((A = d.sliceStream(F)),
+ F.next || A.push(null),
+ P && b.defineSkip(F.start),
+ F._isInFirstContentOfListItem && (b._gfmTasklistFirstContentOfListItem = !0),
+ b.write(A),
+ F._isInFirstContentOfListItem && (b._gfmTasklistFirstContentOfListItem = void 0)),
+ (P = F),
+ (F = F.next));
+ }
+ for (F = u; ++R < y.length; )
+ y[R][0] === 'exit' &&
+ y[R - 1][0] === 'enter' &&
+ y[R][1].type === y[R - 1][1].type &&
+ y[R][1].start.line !== y[R][1].end.line &&
+ ((W = R + 1), ee.push(W), (F._tokenizer = void 0), (F.previous = void 0), (F = F.next));
+ for (
+ b.events = [], F ? ((F._tokenizer = void 0), (F.previous = void 0)) : ee.pop(), R = ee.length;
+ R--;
+ ) {
+ const ie = y.slice(ee[R], ee[R + 1]),
+ oe = v.pop();
+ (T.unshift([oe, oe + ie.length - 1]), e5(i, oe, 2, ie));
+ }
+ for (R = -1; ++R < T.length; ) ((_[j + T[R][0]] = j + T[R][1]), (j += T[R][1] - T[R][0] - 1));
+ return _;
+ }
+ const EJt = { tokenize: SJt, resolve: CJt },
+ TJt = { tokenize: _Jt, partial: !0 };
+ function CJt(i) {
+ return (tUe(i), i);
+ }
+ function SJt(i, s) {
+ let u;
+ return d;
+ function d(y) {
+ return (i.enter('content'), (u = i.enter('chunkContent', { contentType: 'content' })), p(y));
+ }
+ function p(y) {
+ return y === null ? v(y) : so(y) ? i.check(TJt, b, v)(y) : (i.consume(y), p);
+ }
+ function v(y) {
+ return (i.exit('chunkContent'), i.exit('content'), s(y));
+ }
+ function b(y) {
+ return (
+ i.consume(y),
+ i.exit('chunkContent'),
+ (u.next = i.enter('chunkContent', { contentType: 'content', previous: u })),
+ (u = u.next),
+ p
+ );
+ }
+ }
+ function _Jt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ return (
+ i.exit('chunkContent'),
+ i.enter('lineEnding'),
+ i.consume(b),
+ i.exit('lineEnding'),
+ Kl(i, v, 'linePrefix')
+ );
+ }
+ function v(b) {
+ if (b === null || so(b)) return u(b);
+ const y = d.events[d.events.length - 1];
+ return !d.parser.constructs.disable.null.includes('codeIndented') &&
+ y &&
+ y[1].type === 'linePrefix' &&
+ y[2].sliceSerialize(y[1], !0).length >= 4
+ ? s(b)
+ : i.interrupt(d.parser.constructs.flow, u, s)(b);
+ }
+ }
+ function nUe(i, s, u, d, p, v, b, y, T) {
+ const _ = T || Number.POSITIVE_INFINITY;
+ let A = 0;
+ return P;
+ function P(ie) {
+ return ie === 60
+ ? (i.enter(d), i.enter(p), i.enter(v), i.consume(ie), i.exit(v), R)
+ : ie === null || ie === 32 || ie === 41 || _me(ie)
+ ? u(ie)
+ : (i.enter(d),
+ i.enter(b),
+ i.enter(y),
+ i.enter('chunkString', { contentType: 'string' }),
+ W(ie));
+ }
+ function R(ie) {
+ return ie === 62
+ ? (i.enter(v), i.consume(ie), i.exit(v), i.exit(p), i.exit(d), s)
+ : (i.enter(y), i.enter('chunkString', { contentType: 'string' }), F(ie));
+ }
+ function F(ie) {
+ return ie === 62
+ ? (i.exit('chunkString'), i.exit(y), R(ie))
+ : ie === null || ie === 60 || so(ie)
+ ? u(ie)
+ : (i.consume(ie), ie === 92 ? j : F);
+ }
+ function j(ie) {
+ return ie === 60 || ie === 62 || ie === 92 ? (i.consume(ie), F) : F(ie);
+ }
+ function W(ie) {
+ return !A && (ie === null || ie === 41 || q2(ie))
+ ? (i.exit('chunkString'), i.exit(y), i.exit(b), i.exit(d), s(ie))
+ : A < _ && ie === 40
+ ? (i.consume(ie), A++, W)
+ : ie === 41
+ ? (i.consume(ie), A--, W)
+ : ie === null || ie === 32 || ie === 40 || _me(ie)
+ ? u(ie)
+ : (i.consume(ie), ie === 92 ? ee : W);
+ }
+ function ee(ie) {
+ return ie === 40 || ie === 41 || ie === 92 ? (i.consume(ie), W) : W(ie);
+ }
+ }
+ function rUe(i, s, u, d, p, v) {
+ const b = this;
+ let y = 0,
+ T;
+ return _;
+ function _(F) {
+ return (i.enter(d), i.enter(p), i.consume(F), i.exit(p), i.enter(v), A);
+ }
+ function A(F) {
+ return y > 999 ||
+ F === null ||
+ F === 91 ||
+ (F === 93 && !T) ||
+ (F === 94 && !y && '_hiddenFootnoteSupport' in b.parser.constructs)
+ ? u(F)
+ : F === 93
+ ? (i.exit(v), i.enter(p), i.consume(F), i.exit(p), i.exit(d), s)
+ : so(F)
+ ? (i.enter('lineEnding'), i.consume(F), i.exit('lineEnding'), A)
+ : (i.enter('chunkString', { contentType: 'string' }), P(F));
+ }
+ function P(F) {
+ return F === null || F === 91 || F === 93 || so(F) || y++ > 999
+ ? (i.exit('chunkString'), A(F))
+ : (i.consume(F), T || (T = !Nu(F)), F === 92 ? R : P);
+ }
+ function R(F) {
+ return F === 91 || F === 92 || F === 93 ? (i.consume(F), y++, P) : P(F);
+ }
+ }
+ function iUe(i, s, u, d, p, v) {
+ let b;
+ return y;
+ function y(R) {
+ return R === 34 || R === 39 || R === 40
+ ? (i.enter(d), i.enter(p), i.consume(R), i.exit(p), (b = R === 40 ? 41 : R), T)
+ : u(R);
+ }
+ function T(R) {
+ return R === b ? (i.enter(p), i.consume(R), i.exit(p), i.exit(d), s) : (i.enter(v), _(R));
+ }
+ function _(R) {
+ return R === b
+ ? (i.exit(v), T(b))
+ : R === null
+ ? u(R)
+ : so(R)
+ ? (i.enter('lineEnding'), i.consume(R), i.exit('lineEnding'), Kl(i, _, 'linePrefix'))
+ : (i.enter('chunkString', { contentType: 'string' }), A(R));
+ }
+ function A(R) {
+ return R === b || R === null || so(R)
+ ? (i.exit('chunkString'), _(R))
+ : (i.consume(R), R === 92 ? P : A);
+ }
+ function P(R) {
+ return R === b || R === 92 ? (i.consume(R), A) : A(R);
+ }
+ }
+ function LR(i, s) {
+ let u;
+ return d;
+ function d(p) {
+ return so(p)
+ ? (i.enter('lineEnding'), i.consume(p), i.exit('lineEnding'), (u = !0), d)
+ : Nu(p)
+ ? Kl(i, d, u ? 'linePrefix' : 'lineSuffix')(p)
+ : s(p);
+ }
+ }
+ function qD(i) {
+ return i
+ .replace(/[\t\n\r ]+/g, ' ')
+ .replace(/^ | $/g, '')
+ .toLowerCase()
+ .toUpperCase();
+ }
+ const AJt = { name: 'definition', tokenize: MJt },
+ LJt = { tokenize: DJt, partial: !0 };
+ function MJt(i, s, u) {
+ const d = this;
+ let p;
+ return v;
+ function v(F) {
+ return (i.enter('definition'), b(F));
+ }
+ function b(F) {
+ return rUe.call(
+ d,
+ i,
+ y,
+ u,
+ 'definitionLabel',
+ 'definitionLabelMarker',
+ 'definitionLabelString',
+ )(F);
+ }
+ function y(F) {
+ return (
+ (p = qD(d.sliceSerialize(d.events[d.events.length - 1][1]).slice(1, -1))),
+ F === 58 ? (i.enter('definitionMarker'), i.consume(F), i.exit('definitionMarker'), T) : u(F)
+ );
+ }
+ function T(F) {
+ return q2(F) ? LR(i, _)(F) : _(F);
+ }
+ function _(F) {
+ return nUe(
+ i,
+ A,
+ u,
+ 'definitionDestination',
+ 'definitionDestinationLiteral',
+ 'definitionDestinationLiteralMarker',
+ 'definitionDestinationRaw',
+ 'definitionDestinationString',
+ )(F);
+ }
+ function A(F) {
+ return i.attempt(LJt, P, P)(F);
+ }
+ function P(F) {
+ return Nu(F) ? Kl(i, R, 'whitespace')(F) : R(F);
+ }
+ function R(F) {
+ return F === null || so(F) ? (i.exit('definition'), d.parser.defined.push(p), s(F)) : u(F);
+ }
+ }
+ function DJt(i, s, u) {
+ return d;
+ function d(y) {
+ return q2(y) ? LR(i, p)(y) : u(y);
+ }
+ function p(y) {
+ return iUe(i, v, u, 'definitionTitle', 'definitionTitleMarker', 'definitionTitleString')(y);
+ }
+ function v(y) {
+ return Nu(y) ? Kl(i, b, 'whitespace')(y) : b(y);
+ }
+ function b(y) {
+ return y === null || so(y) ? s(y) : u(y);
+ }
+ }
+ const IJt = { name: 'hardBreakEscape', tokenize: OJt };
+ function OJt(i, s, u) {
+ return d;
+ function d(v) {
+ return (i.enter('hardBreakEscape'), i.consume(v), p);
+ }
+ function p(v) {
+ return so(v) ? (i.exit('hardBreakEscape'), s(v)) : u(v);
+ }
+ }
+ const NJt = { name: 'headingAtx', tokenize: BJt, resolve: PJt };
+ function PJt(i, s) {
+ let u = i.length - 2,
+ d = 3,
+ p,
+ v;
+ return (
+ i[d][1].type === 'whitespace' && (d += 2),
+ u - 2 > d && i[u][1].type === 'whitespace' && (u -= 2),
+ i[u][1].type === 'atxHeadingSequence' &&
+ (d === u - 1 || (u - 4 > d && i[u - 2][1].type === 'whitespace')) &&
+ (u -= d + 1 === u ? 2 : 4),
+ u > d &&
+ ((p = { type: 'atxHeadingText', start: i[d][1].start, end: i[u][1].end }),
+ (v = { type: 'chunkText', start: i[d][1].start, end: i[u][1].end, contentType: 'text' }),
+ e5(i, d, u - d + 1, [
+ ['enter', p, s],
+ ['enter', v, s],
+ ['exit', v, s],
+ ['exit', p, s],
+ ])),
+ i
+ );
+ }
+ function BJt(i, s, u) {
+ let d = 0;
+ return p;
+ function p(A) {
+ return (i.enter('atxHeading'), v(A));
+ }
+ function v(A) {
+ return (i.enter('atxHeadingSequence'), b(A));
+ }
+ function b(A) {
+ return A === 35 && d++ < 6
+ ? (i.consume(A), b)
+ : A === null || q2(A)
+ ? (i.exit('atxHeadingSequence'), y(A))
+ : u(A);
+ }
+ function y(A) {
+ return A === 35
+ ? (i.enter('atxHeadingSequence'), T(A))
+ : A === null || so(A)
+ ? (i.exit('atxHeading'), s(A))
+ : Nu(A)
+ ? Kl(i, y, 'whitespace')(A)
+ : (i.enter('atxHeadingText'), _(A));
+ }
+ function T(A) {
+ return A === 35 ? (i.consume(A), T) : (i.exit('atxHeadingSequence'), y(A));
+ }
+ function _(A) {
+ return A === null || A === 35 || q2(A) ? (i.exit('atxHeadingText'), y(A)) : (i.consume(A), _);
+ }
+ }
+ const FJt = [
+ 'address',
+ 'article',
+ 'aside',
+ 'base',
+ 'basefont',
+ 'blockquote',
+ 'body',
+ 'caption',
+ 'center',
+ 'col',
+ 'colgroup',
+ 'dd',
+ 'details',
+ 'dialog',
+ 'dir',
+ 'div',
+ 'dl',
+ 'dt',
+ 'fieldset',
+ 'figcaption',
+ 'figure',
+ 'footer',
+ 'form',
+ 'frame',
+ 'frameset',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'head',
+ 'header',
+ 'hr',
+ 'html',
+ 'iframe',
+ 'legend',
+ 'li',
+ 'link',
+ 'main',
+ 'menu',
+ 'menuitem',
+ 'nav',
+ 'noframes',
+ 'ol',
+ 'optgroup',
+ 'option',
+ 'p',
+ 'param',
+ 'search',
+ 'section',
+ 'summary',
+ 'table',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'title',
+ 'tr',
+ 'track',
+ 'ul',
+ ],
+ sUe = ['pre', 'script', 'style', 'textarea'],
+ RJt = { name: 'htmlFlow', tokenize: qJt, resolveTo: zJt, concrete: !0 },
+ jJt = { tokenize: VJt, partial: !0 },
+ $Jt = { tokenize: HJt, partial: !0 };
+ function zJt(i) {
+ let s = i.length;
+ for (; s-- && !(i[s][0] === 'enter' && i[s][1].type === 'htmlFlow'); );
+ return (
+ s > 1 &&
+ i[s - 2][1].type === 'linePrefix' &&
+ ((i[s][1].start = i[s - 2][1].start),
+ (i[s + 1][1].start = i[s - 2][1].start),
+ i.splice(s - 2, 2)),
+ i
+ );
+ }
+ function qJt(i, s, u) {
+ const d = this;
+ let p, v, b, y, T;
+ return _;
+ function _(Pe) {
+ return A(Pe);
+ }
+ function A(Pe) {
+ return (i.enter('htmlFlow'), i.enter('htmlFlowData'), i.consume(Pe), P);
+ }
+ function P(Pe) {
+ return Pe === 33
+ ? (i.consume(Pe), R)
+ : Pe === 47
+ ? (i.consume(Pe), (v = !0), W)
+ : Pe === 63
+ ? (i.consume(Pe), (p = 3), d.interrupt ? s : ke)
+ : t5(Pe)
+ ? (i.consume(Pe), (b = String.fromCharCode(Pe)), ee)
+ : u(Pe);
+ }
+ function R(Pe) {
+ return Pe === 45
+ ? (i.consume(Pe), (p = 2), F)
+ : Pe === 91
+ ? (i.consume(Pe), (p = 5), (y = 0), j)
+ : t5(Pe)
+ ? (i.consume(Pe), (p = 4), d.interrupt ? s : ke)
+ : u(Pe);
+ }
+ function F(Pe) {
+ return Pe === 45 ? (i.consume(Pe), d.interrupt ? s : ke) : u(Pe);
+ }
+ function j(Pe) {
+ const gn = 'CDATA[';
+ return Pe === gn.charCodeAt(y++)
+ ? (i.consume(Pe), y === gn.length ? (d.interrupt ? s : xe) : j)
+ : u(Pe);
+ }
+ function W(Pe) {
+ return t5(Pe) ? (i.consume(Pe), (b = String.fromCharCode(Pe)), ee) : u(Pe);
+ }
+ function ee(Pe) {
+ if (Pe === null || Pe === 47 || Pe === 62 || q2(Pe)) {
+ const gn = Pe === 47,
+ kt = b.toLowerCase();
+ return !gn && !v && sUe.includes(kt)
+ ? ((p = 1), d.interrupt ? s(Pe) : xe(Pe))
+ : FJt.includes(b.toLowerCase())
+ ? ((p = 6), gn ? (i.consume(Pe), ie) : d.interrupt ? s(Pe) : xe(Pe))
+ : ((p = 7), d.interrupt && !d.parser.lazy[d.now().line] ? u(Pe) : v ? oe(Pe) : be(Pe));
+ }
+ return Pe === 45 || H3(Pe) ? (i.consume(Pe), (b += String.fromCharCode(Pe)), ee) : u(Pe);
+ }
+ function ie(Pe) {
+ return Pe === 62 ? (i.consume(Pe), d.interrupt ? s : xe) : u(Pe);
+ }
+ function oe(Pe) {
+ return Nu(Pe) ? (i.consume(Pe), oe) : pe(Pe);
+ }
+ function be(Pe) {
+ return Pe === 47
+ ? (i.consume(Pe), pe)
+ : Pe === 58 || Pe === 95 || t5(Pe)
+ ? (i.consume(Pe), ge)
+ : Nu(Pe)
+ ? (i.consume(Pe), be)
+ : pe(Pe);
+ }
+ function ge(Pe) {
+ return Pe === 45 || Pe === 46 || Pe === 58 || Pe === 95 || H3(Pe)
+ ? (i.consume(Pe), ge)
+ : ae(Pe);
+ }
+ function ae(Pe) {
+ return Pe === 61 ? (i.consume(Pe), ne) : Nu(Pe) ? (i.consume(Pe), ae) : be(Pe);
+ }
+ function ne(Pe) {
+ return Pe === null || Pe === 60 || Pe === 61 || Pe === 62 || Pe === 96
+ ? u(Pe)
+ : Pe === 34 || Pe === 39
+ ? (i.consume(Pe), (T = Pe), se)
+ : Nu(Pe)
+ ? (i.consume(Pe), ne)
+ : de(Pe);
+ }
+ function se(Pe) {
+ return Pe === T
+ ? (i.consume(Pe), (T = null), X)
+ : Pe === null || so(Pe)
+ ? u(Pe)
+ : (i.consume(Pe), se);
+ }
+ function de(Pe) {
+ return Pe === null ||
+ Pe === 34 ||
+ Pe === 39 ||
+ Pe === 47 ||
+ Pe === 60 ||
+ Pe === 61 ||
+ Pe === 62 ||
+ Pe === 96 ||
+ q2(Pe)
+ ? ae(Pe)
+ : (i.consume(Pe), de);
+ }
+ function X(Pe) {
+ return Pe === 47 || Pe === 62 || Nu(Pe) ? be(Pe) : u(Pe);
+ }
+ function pe(Pe) {
+ return Pe === 62 ? (i.consume(Pe), G) : u(Pe);
+ }
+ function G(Pe) {
+ return Pe === null || so(Pe) ? xe(Pe) : Nu(Pe) ? (i.consume(Pe), G) : u(Pe);
+ }
+ function xe(Pe) {
+ return Pe === 45 && p === 2
+ ? (i.consume(Pe), je)
+ : Pe === 60 && p === 1
+ ? (i.consume(Pe), Ie)
+ : Pe === 62 && p === 4
+ ? (i.consume(Pe), Ke)
+ : Pe === 63 && p === 3
+ ? (i.consume(Pe), ke)
+ : Pe === 93 && p === 5
+ ? (i.consume(Pe), Ce)
+ : so(Pe) && (p === 6 || p === 7)
+ ? (i.exit('htmlFlowData'), i.check(jJt, Ft, U)(Pe))
+ : Pe === null || so(Pe)
+ ? (i.exit('htmlFlowData'), U(Pe))
+ : (i.consume(Pe), xe);
+ }
+ function U(Pe) {
+ return i.check($Jt, Be, Ft)(Pe);
+ }
+ function Be(Pe) {
+ return (i.enter('lineEnding'), i.consume(Pe), i.exit('lineEnding'), Ne);
+ }
+ function Ne(Pe) {
+ return Pe === null || so(Pe) ? U(Pe) : (i.enter('htmlFlowData'), xe(Pe));
+ }
+ function je(Pe) {
+ return Pe === 45 ? (i.consume(Pe), ke) : xe(Pe);
+ }
+ function Ie(Pe) {
+ return Pe === 47 ? (i.consume(Pe), (b = ''), Se) : xe(Pe);
+ }
+ function Se(Pe) {
+ if (Pe === 62) {
+ const gn = b.toLowerCase();
+ return sUe.includes(gn) ? (i.consume(Pe), Ke) : xe(Pe);
+ }
+ return t5(Pe) && b.length < 8 ? (i.consume(Pe), (b += String.fromCharCode(Pe)), Se) : xe(Pe);
+ }
+ function Ce(Pe) {
+ return Pe === 93 ? (i.consume(Pe), ke) : xe(Pe);
+ }
+ function ke(Pe) {
+ return Pe === 62 ? (i.consume(Pe), Ke) : Pe === 45 && p === 2 ? (i.consume(Pe), ke) : xe(Pe);
+ }
+ function Ke(Pe) {
+ return Pe === null || so(Pe) ? (i.exit('htmlFlowData'), Ft(Pe)) : (i.consume(Pe), Ke);
+ }
+ function Ft(Pe) {
+ return (i.exit('htmlFlow'), s(Pe));
+ }
+ }
+ function HJt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ return so(b) ? (i.enter('lineEnding'), i.consume(b), i.exit('lineEnding'), v) : u(b);
+ }
+ function v(b) {
+ return d.parser.lazy[d.now().line] ? u(b) : s(b);
+ }
+ }
+ function VJt(i, s, u) {
+ return d;
+ function d(p) {
+ return (i.enter('lineEnding'), i.consume(p), i.exit('lineEnding'), i.attempt(YQ, s, u));
+ }
+ }
+ const UJt = { name: 'htmlText', tokenize: GJt };
+ function GJt(i, s, u) {
+ const d = this;
+ let p, v, b;
+ return y;
+ function y(ke) {
+ return (i.enter('htmlText'), i.enter('htmlTextData'), i.consume(ke), T);
+ }
+ function T(ke) {
+ return ke === 33
+ ? (i.consume(ke), _)
+ : ke === 47
+ ? (i.consume(ke), ae)
+ : ke === 63
+ ? (i.consume(ke), be)
+ : t5(ke)
+ ? (i.consume(ke), de)
+ : u(ke);
+ }
+ function _(ke) {
+ return ke === 45
+ ? (i.consume(ke), A)
+ : ke === 91
+ ? (i.consume(ke), (v = 0), j)
+ : t5(ke)
+ ? (i.consume(ke), oe)
+ : u(ke);
+ }
+ function A(ke) {
+ return ke === 45 ? (i.consume(ke), F) : u(ke);
+ }
+ function P(ke) {
+ return ke === null
+ ? u(ke)
+ : ke === 45
+ ? (i.consume(ke), R)
+ : so(ke)
+ ? ((b = P), Ie(ke))
+ : (i.consume(ke), P);
+ }
+ function R(ke) {
+ return ke === 45 ? (i.consume(ke), F) : P(ke);
+ }
+ function F(ke) {
+ return ke === 62 ? je(ke) : ke === 45 ? R(ke) : P(ke);
+ }
+ function j(ke) {
+ const Ke = 'CDATA[';
+ return ke === Ke.charCodeAt(v++) ? (i.consume(ke), v === Ke.length ? W : j) : u(ke);
+ }
+ function W(ke) {
+ return ke === null
+ ? u(ke)
+ : ke === 93
+ ? (i.consume(ke), ee)
+ : so(ke)
+ ? ((b = W), Ie(ke))
+ : (i.consume(ke), W);
+ }
+ function ee(ke) {
+ return ke === 93 ? (i.consume(ke), ie) : W(ke);
+ }
+ function ie(ke) {
+ return ke === 62 ? je(ke) : ke === 93 ? (i.consume(ke), ie) : W(ke);
+ }
+ function oe(ke) {
+ return ke === null || ke === 62 ? je(ke) : so(ke) ? ((b = oe), Ie(ke)) : (i.consume(ke), oe);
+ }
+ function be(ke) {
+ return ke === null
+ ? u(ke)
+ : ke === 63
+ ? (i.consume(ke), ge)
+ : so(ke)
+ ? ((b = be), Ie(ke))
+ : (i.consume(ke), be);
+ }
+ function ge(ke) {
+ return ke === 62 ? je(ke) : be(ke);
+ }
+ function ae(ke) {
+ return t5(ke) ? (i.consume(ke), ne) : u(ke);
+ }
+ function ne(ke) {
+ return ke === 45 || H3(ke) ? (i.consume(ke), ne) : se(ke);
+ }
+ function se(ke) {
+ return so(ke) ? ((b = se), Ie(ke)) : Nu(ke) ? (i.consume(ke), se) : je(ke);
+ }
+ function de(ke) {
+ return ke === 45 || H3(ke)
+ ? (i.consume(ke), de)
+ : ke === 47 || ke === 62 || q2(ke)
+ ? X(ke)
+ : u(ke);
+ }
+ function X(ke) {
+ return ke === 47
+ ? (i.consume(ke), je)
+ : ke === 58 || ke === 95 || t5(ke)
+ ? (i.consume(ke), pe)
+ : so(ke)
+ ? ((b = X), Ie(ke))
+ : Nu(ke)
+ ? (i.consume(ke), X)
+ : je(ke);
+ }
+ function pe(ke) {
+ return ke === 45 || ke === 46 || ke === 58 || ke === 95 || H3(ke)
+ ? (i.consume(ke), pe)
+ : G(ke);
+ }
+ function G(ke) {
+ return ke === 61
+ ? (i.consume(ke), xe)
+ : so(ke)
+ ? ((b = G), Ie(ke))
+ : Nu(ke)
+ ? (i.consume(ke), G)
+ : X(ke);
+ }
+ function xe(ke) {
+ return ke === null || ke === 60 || ke === 61 || ke === 62 || ke === 96
+ ? u(ke)
+ : ke === 34 || ke === 39
+ ? (i.consume(ke), (p = ke), U)
+ : so(ke)
+ ? ((b = xe), Ie(ke))
+ : Nu(ke)
+ ? (i.consume(ke), xe)
+ : (i.consume(ke), Be);
+ }
+ function U(ke) {
+ return ke === p
+ ? (i.consume(ke), (p = void 0), Ne)
+ : ke === null
+ ? u(ke)
+ : so(ke)
+ ? ((b = U), Ie(ke))
+ : (i.consume(ke), U);
+ }
+ function Be(ke) {
+ return ke === null || ke === 34 || ke === 39 || ke === 60 || ke === 61 || ke === 96
+ ? u(ke)
+ : ke === 47 || ke === 62 || q2(ke)
+ ? X(ke)
+ : (i.consume(ke), Be);
+ }
+ function Ne(ke) {
+ return ke === 47 || ke === 62 || q2(ke) ? X(ke) : u(ke);
+ }
+ function je(ke) {
+ return ke === 62 ? (i.consume(ke), i.exit('htmlTextData'), i.exit('htmlText'), s) : u(ke);
+ }
+ function Ie(ke) {
+ return (
+ i.exit('htmlTextData'),
+ i.enter('lineEnding'),
+ i.consume(ke),
+ i.exit('lineEnding'),
+ Se
+ );
+ }
+ function Se(ke) {
+ return Nu(ke)
+ ? Kl(
+ i,
+ Ce,
+ 'linePrefix',
+ d.parser.constructs.disable.null.includes('codeIndented') ? void 0 : 4,
+ )(ke)
+ : Ce(ke);
+ }
+ function Ce(ke) {
+ return (i.enter('htmlTextData'), b(ke));
+ }
+ }
+ const Ome = { name: 'labelEnd', tokenize: JJt, resolveTo: QJt, resolveAll: XJt },
+ KJt = { tokenize: ZJt },
+ WJt = { tokenize: eZt },
+ YJt = { tokenize: tZt };
+ function XJt(i) {
+ let s = -1;
+ for (; ++s < i.length; ) {
+ const u = i[s][1];
+ (u.type === 'labelImage' || u.type === 'labelLink' || u.type === 'labelEnd') &&
+ (i.splice(s + 1, u.type === 'labelImage' ? 4 : 2), (u.type = 'data'), s++);
+ }
+ return i;
+ }
+ function QJt(i, s) {
+ let u = i.length,
+ d = 0,
+ p,
+ v,
+ b,
+ y;
+ for (; u--; )
+ if (((p = i[u][1]), v)) {
+ if (p.type === 'link' || (p.type === 'labelLink' && p._inactive)) break;
+ i[u][0] === 'enter' && p.type === 'labelLink' && (p._inactive = !0);
+ } else if (b) {
+ if (
+ i[u][0] === 'enter' &&
+ (p.type === 'labelImage' || p.type === 'labelLink') &&
+ !p._balanced &&
+ ((v = u), p.type !== 'labelLink')
+ ) {
+ d = 2;
+ break;
+ }
+ } else p.type === 'labelEnd' && (b = u);
+ const T = {
+ type: i[v][1].type === 'labelLink' ? 'link' : 'image',
+ start: Object.assign({}, i[v][1].start),
+ end: Object.assign({}, i[i.length - 1][1].end),
+ },
+ _ = {
+ type: 'label',
+ start: Object.assign({}, i[v][1].start),
+ end: Object.assign({}, i[b][1].end),
+ },
+ A = {
+ type: 'labelText',
+ start: Object.assign({}, i[v + d + 2][1].end),
+ end: Object.assign({}, i[b - 2][1].start),
+ };
+ return (
+ (y = [
+ ['enter', T, s],
+ ['enter', _, s],
+ ]),
+ (y = qv(y, i.slice(v + 1, v + d + 3))),
+ (y = qv(y, [['enter', A, s]])),
+ (y = qv(y, Lme(s.parser.constructs.insideSpan.null, i.slice(v + d + 4, b - 3), s))),
+ (y = qv(y, [['exit', A, s], i[b - 2], i[b - 1], ['exit', _, s]])),
+ (y = qv(y, i.slice(b + 1))),
+ (y = qv(y, [['exit', T, s]])),
+ e5(i, v, i.length, y),
+ i
+ );
+ }
+ function JJt(i, s, u) {
+ const d = this;
+ let p = d.events.length,
+ v,
+ b;
+ for (; p--; )
+ if (
+ (d.events[p][1].type === 'labelImage' || d.events[p][1].type === 'labelLink') &&
+ !d.events[p][1]._balanced
+ ) {
+ v = d.events[p][1];
+ break;
+ }
+ return y;
+ function y(R) {
+ return v
+ ? v._inactive
+ ? P(R)
+ : ((b = d.parser.defined.includes(qD(d.sliceSerialize({ start: v.end, end: d.now() })))),
+ i.enter('labelEnd'),
+ i.enter('labelMarker'),
+ i.consume(R),
+ i.exit('labelMarker'),
+ i.exit('labelEnd'),
+ T)
+ : u(R);
+ }
+ function T(R) {
+ return R === 40
+ ? i.attempt(KJt, A, b ? A : P)(R)
+ : R === 91
+ ? i.attempt(WJt, A, b ? _ : P)(R)
+ : b
+ ? A(R)
+ : P(R);
+ }
+ function _(R) {
+ return i.attempt(YJt, A, P)(R);
+ }
+ function A(R) {
+ return s(R);
+ }
+ function P(R) {
+ return ((v._balanced = !0), u(R));
+ }
+ }
+ function ZJt(i, s, u) {
+ return d;
+ function d(P) {
+ return (
+ i.enter('resource'),
+ i.enter('resourceMarker'),
+ i.consume(P),
+ i.exit('resourceMarker'),
+ p
+ );
+ }
+ function p(P) {
+ return q2(P) ? LR(i, v)(P) : v(P);
+ }
+ function v(P) {
+ return P === 41
+ ? A(P)
+ : nUe(
+ i,
+ b,
+ y,
+ 'resourceDestination',
+ 'resourceDestinationLiteral',
+ 'resourceDestinationLiteralMarker',
+ 'resourceDestinationRaw',
+ 'resourceDestinationString',
+ 32,
+ )(P);
+ }
+ function b(P) {
+ return q2(P) ? LR(i, T)(P) : A(P);
+ }
+ function y(P) {
+ return u(P);
+ }
+ function T(P) {
+ return P === 34 || P === 39 || P === 40
+ ? iUe(i, _, u, 'resourceTitle', 'resourceTitleMarker', 'resourceTitleString')(P)
+ : A(P);
+ }
+ function _(P) {
+ return q2(P) ? LR(i, A)(P) : A(P);
+ }
+ function A(P) {
+ return P === 41
+ ? (i.enter('resourceMarker'), i.consume(P), i.exit('resourceMarker'), i.exit('resource'), s)
+ : u(P);
+ }
+ }
+ function eZt(i, s, u) {
+ const d = this;
+ return p;
+ function p(y) {
+ return rUe.call(d, i, v, b, 'reference', 'referenceMarker', 'referenceString')(y);
+ }
+ function v(y) {
+ return d.parser.defined.includes(
+ qD(d.sliceSerialize(d.events[d.events.length - 1][1]).slice(1, -1)),
+ )
+ ? s(y)
+ : u(y);
+ }
+ function b(y) {
+ return u(y);
+ }
+ }
+ function tZt(i, s, u) {
+ return d;
+ function d(v) {
+ return (
+ i.enter('reference'),
+ i.enter('referenceMarker'),
+ i.consume(v),
+ i.exit('referenceMarker'),
+ p
+ );
+ }
+ function p(v) {
+ return v === 93
+ ? (i.enter('referenceMarker'),
+ i.consume(v),
+ i.exit('referenceMarker'),
+ i.exit('reference'),
+ s)
+ : u(v);
+ }
+ }
+ const nZt = { name: 'labelStartImage', tokenize: rZt, resolveAll: Ome.resolveAll };
+ function rZt(i, s, u) {
+ const d = this;
+ return p;
+ function p(y) {
+ return (
+ i.enter('labelImage'),
+ i.enter('labelImageMarker'),
+ i.consume(y),
+ i.exit('labelImageMarker'),
+ v
+ );
+ }
+ function v(y) {
+ return y === 91
+ ? (i.enter('labelMarker'), i.consume(y), i.exit('labelMarker'), i.exit('labelImage'), b)
+ : u(y);
+ }
+ function b(y) {
+ return y === 94 && '_hiddenFootnoteSupport' in d.parser.constructs ? u(y) : s(y);
+ }
+ }
+ const iZt = { name: 'labelStartLink', tokenize: sZt, resolveAll: Ome.resolveAll };
+ function sZt(i, s, u) {
+ const d = this;
+ return p;
+ function p(b) {
+ return (
+ i.enter('labelLink'),
+ i.enter('labelMarker'),
+ i.consume(b),
+ i.exit('labelMarker'),
+ i.exit('labelLink'),
+ v
+ );
+ }
+ function v(b) {
+ return b === 94 && '_hiddenFootnoteSupport' in d.parser.constructs ? u(b) : s(b);
+ }
+ }
+ const Nme = { name: 'lineEnding', tokenize: aZt };
+ function aZt(i, s) {
+ return u;
+ function u(d) {
+ return (i.enter('lineEnding'), i.consume(d), i.exit('lineEnding'), Kl(i, s, 'linePrefix'));
+ }
+ }
+ const XQ = { name: 'thematicBreak', tokenize: oZt };
+ function oZt(i, s, u) {
+ let d = 0,
+ p;
+ return v;
+ function v(_) {
+ return (i.enter('thematicBreak'), b(_));
+ }
+ function b(_) {
+ return ((p = _), y(_));
+ }
+ function y(_) {
+ return _ === p
+ ? (i.enter('thematicBreakSequence'), T(_))
+ : d >= 3 && (_ === null || so(_))
+ ? (i.exit('thematicBreak'), s(_))
+ : u(_);
+ }
+ function T(_) {
+ return _ === p
+ ? (i.consume(_), d++, T)
+ : (i.exit('thematicBreakSequence'), Nu(_) ? Kl(i, y, 'whitespace')(_) : y(_));
+ }
+ }
+ const H2 = { name: 'list', tokenize: lZt, continuation: { tokenize: hZt }, exit: dZt },
+ cZt = { tokenize: gZt, partial: !0 },
+ uZt = { tokenize: fZt, partial: !0 };
+ function lZt(i, s, u) {
+ const d = this,
+ p = d.events[d.events.length - 1];
+ let v = p && p[1].type === 'linePrefix' ? p[2].sliceSerialize(p[1], !0).length : 0,
+ b = 0;
+ return y;
+ function y(F) {
+ const j =
+ d.containerState.type ||
+ (F === 42 || F === 43 || F === 45 ? 'listUnordered' : 'listOrdered');
+ if (
+ j === 'listUnordered' ? !d.containerState.marker || F === d.containerState.marker : Ame(F)
+ ) {
+ if (
+ (d.containerState.type || ((d.containerState.type = j), i.enter(j, { _container: !0 })),
+ j === 'listUnordered')
+ )
+ return (i.enter('listItemPrefix'), F === 42 || F === 45 ? i.check(XQ, u, _)(F) : _(F));
+ if (!d.interrupt || F === 49)
+ return (i.enter('listItemPrefix'), i.enter('listItemValue'), T(F));
+ }
+ return u(F);
+ }
+ function T(F) {
+ return Ame(F) && ++b < 10
+ ? (i.consume(F), T)
+ : (!d.interrupt || b < 2) &&
+ (d.containerState.marker ? F === d.containerState.marker : F === 41 || F === 46)
+ ? (i.exit('listItemValue'), _(F))
+ : u(F);
+ }
+ function _(F) {
+ return (
+ i.enter('listItemMarker'),
+ i.consume(F),
+ i.exit('listItemMarker'),
+ (d.containerState.marker = d.containerState.marker || F),
+ i.check(YQ, d.interrupt ? u : A, i.attempt(cZt, R, P))
+ );
+ }
+ function A(F) {
+ return ((d.containerState.initialBlankLine = !0), v++, R(F));
+ }
+ function P(F) {
+ return Nu(F)
+ ? (i.enter('listItemPrefixWhitespace'), i.consume(F), i.exit('listItemPrefixWhitespace'), R)
+ : u(F);
+ }
+ function R(F) {
+ return (
+ (d.containerState.size = v + d.sliceSerialize(i.exit('listItemPrefix'), !0).length),
+ s(F)
+ );
+ }
+ }
+ function hZt(i, s, u) {
+ const d = this;
+ return ((d.containerState._closeFlow = void 0), i.check(YQ, p, v));
+ function p(y) {
+ return (
+ (d.containerState.furtherBlankLines =
+ d.containerState.furtherBlankLines || d.containerState.initialBlankLine),
+ Kl(i, s, 'listItemIndent', d.containerState.size + 1)(y)
+ );
+ }
+ function v(y) {
+ return d.containerState.furtherBlankLines || !Nu(y)
+ ? ((d.containerState.furtherBlankLines = void 0),
+ (d.containerState.initialBlankLine = void 0),
+ b(y))
+ : ((d.containerState.furtherBlankLines = void 0),
+ (d.containerState.initialBlankLine = void 0),
+ i.attempt(uZt, s, b)(y));
+ }
+ function b(y) {
+ return (
+ (d.containerState._closeFlow = !0),
+ (d.interrupt = void 0),
+ Kl(
+ i,
+ i.attempt(H2, s, u),
+ 'linePrefix',
+ d.parser.constructs.disable.null.includes('codeIndented') ? void 0 : 4,
+ )(y)
+ );
+ }
+ }
+ function fZt(i, s, u) {
+ const d = this;
+ return Kl(i, p, 'listItemIndent', d.containerState.size + 1);
+ function p(v) {
+ const b = d.events[d.events.length - 1];
+ return b &&
+ b[1].type === 'listItemIndent' &&
+ b[2].sliceSerialize(b[1], !0).length === d.containerState.size
+ ? s(v)
+ : u(v);
+ }
+ }
+ function dZt(i) {
+ i.exit(this.containerState.type);
+ }
+ function gZt(i, s, u) {
+ const d = this;
+ return Kl(
+ i,
+ p,
+ 'listItemPrefixWhitespace',
+ d.parser.constructs.disable.null.includes('codeIndented') ? void 0 : 4 + 1,
+ );
+ function p(v) {
+ const b = d.events[d.events.length - 1];
+ return !Nu(v) && b && b[1].type === 'listItemPrefixWhitespace' ? s(v) : u(v);
+ }
+ }
+ const aUe = { name: 'setextUnderline', tokenize: bZt, resolveTo: pZt };
+ function pZt(i, s) {
+ let u = i.length,
+ d,
+ p,
+ v;
+ for (; u--; )
+ if (i[u][0] === 'enter') {
+ if (i[u][1].type === 'content') {
+ d = u;
+ break;
+ }
+ i[u][1].type === 'paragraph' && (p = u);
+ } else
+ (i[u][1].type === 'content' && i.splice(u, 1),
+ !v && i[u][1].type === 'definition' && (v = u));
+ const b = {
+ type: 'setextHeading',
+ start: Object.assign({}, i[p][1].start),
+ end: Object.assign({}, i[i.length - 1][1].end),
+ };
+ return (
+ (i[p][1].type = 'setextHeadingText'),
+ v
+ ? (i.splice(p, 0, ['enter', b, s]),
+ i.splice(v + 1, 0, ['exit', i[d][1], s]),
+ (i[d][1].end = Object.assign({}, i[v][1].end)))
+ : (i[d][1] = b),
+ i.push(['exit', b, s]),
+ i
+ );
+ }
+ function bZt(i, s, u) {
+ const d = this;
+ let p;
+ return v;
+ function v(_) {
+ let A = d.events.length,
+ P;
+ for (; A--; )
+ if (
+ d.events[A][1].type !== 'lineEnding' &&
+ d.events[A][1].type !== 'linePrefix' &&
+ d.events[A][1].type !== 'content'
+ ) {
+ P = d.events[A][1].type === 'paragraph';
+ break;
+ }
+ return !d.parser.lazy[d.now().line] && (d.interrupt || P)
+ ? (i.enter('setextHeadingLine'), (p = _), b(_))
+ : u(_);
+ }
+ function b(_) {
+ return (i.enter('setextHeadingLineSequence'), y(_));
+ }
+ function y(_) {
+ return _ === p
+ ? (i.consume(_), y)
+ : (i.exit('setextHeadingLineSequence'), Nu(_) ? Kl(i, T, 'lineSuffix')(_) : T(_));
+ }
+ function T(_) {
+ return _ === null || so(_) ? (i.exit('setextHeadingLine'), s(_)) : u(_);
+ }
+ }
+ const mZt = { tokenize: vZt };
+ function vZt(i) {
+ const s = this,
+ u = i.attempt(
+ YQ,
+ d,
+ i.attempt(
+ this.parser.constructs.flowInitial,
+ p,
+ Kl(i, i.attempt(this.parser.constructs.flow, p, i.attempt(EJt, p)), 'linePrefix'),
+ ),
+ );
+ return u;
+ function d(v) {
+ if (v === null) {
+ i.consume(v);
+ return;
+ }
+ return (
+ i.enter('lineEndingBlank'),
+ i.consume(v),
+ i.exit('lineEndingBlank'),
+ (s.currentConstruct = void 0),
+ u
+ );
+ }
+ function p(v) {
+ if (v === null) {
+ i.consume(v);
+ return;
+ }
+ return (
+ i.enter('lineEnding'),
+ i.consume(v),
+ i.exit('lineEnding'),
+ (s.currentConstruct = void 0),
+ u
+ );
+ }
+ }
+ const wZt = { resolveAll: cUe() },
+ yZt = oUe('string'),
+ xZt = oUe('text');
+ function oUe(i) {
+ return { tokenize: s, resolveAll: cUe(i === 'text' ? kZt : void 0) };
+ function s(u) {
+ const d = this,
+ p = this.parser.constructs[i],
+ v = u.attempt(p, b, y);
+ return b;
+ function b(A) {
+ return _(A) ? v(A) : y(A);
+ }
+ function y(A) {
+ if (A === null) {
+ u.consume(A);
+ return;
+ }
+ return (u.enter('data'), u.consume(A), T);
+ }
+ function T(A) {
+ return _(A) ? (u.exit('data'), v(A)) : (u.consume(A), T);
+ }
+ function _(A) {
+ if (A === null) return !0;
+ const P = p[A];
+ let R = -1;
+ if (P)
+ for (; ++R < P.length; ) {
+ const F = P[R];
+ if (!F.previous || F.previous.call(d, d.previous)) return !0;
+ }
+ return !1;
+ }
+ }
+ }
+ function cUe(i) {
+ return s;
+ function s(u, d) {
+ let p = -1,
+ v;
+ for (; ++p <= u.length; )
+ v === void 0
+ ? u[p] && u[p][1].type === 'data' && ((v = p), p++)
+ : (!u[p] || u[p][1].type !== 'data') &&
+ (p !== v + 2 &&
+ ((u[v][1].end = u[p - 1][1].end), u.splice(v + 2, p - v - 2), (p = v + 2)),
+ (v = void 0));
+ return i ? i(u, d) : u;
+ }
+ }
+ function kZt(i, s) {
+ let u = 0;
+ for (; ++u <= i.length; )
+ if ((u === i.length || i[u][1].type === 'lineEnding') && i[u - 1][1].type === 'data') {
+ const d = i[u - 1][1],
+ p = s.sliceStream(d);
+ let v = p.length,
+ b = -1,
+ y = 0,
+ T;
+ for (; v--; ) {
+ const _ = p[v];
+ if (typeof _ == 'string') {
+ for (b = _.length; _.charCodeAt(b - 1) === 32; ) (y++, b--);
+ if (b) break;
+ b = -1;
+ } else if (_ === -2) ((T = !0), y++);
+ else if (_ !== -1) {
+ v++;
+ break;
+ }
+ }
+ if (y) {
+ const _ = {
+ type: u === i.length || T || y < 2 ? 'lineSuffix' : 'hardBreakTrailing',
+ start: {
+ line: d.end.line,
+ column: d.end.column - y,
+ offset: d.end.offset - y,
+ _index: d.start._index + v,
+ _bufferIndex: v ? b : d.start._bufferIndex + b,
+ },
+ end: Object.assign({}, d.end),
+ };
+ ((d.end = Object.assign({}, _.start)),
+ d.start.offset === d.end.offset
+ ? Object.assign(d, _)
+ : (i.splice(u, 0, ['enter', _, s], ['exit', _, s]), (u += 2)));
+ }
+ u++;
+ }
+ return i;
+ }
+ function EZt(i, s, u) {
+ let d = Object.assign(u ? Object.assign({}, u) : { line: 1, column: 1, offset: 0 }, {
+ _index: 0,
+ _bufferIndex: -1,
+ });
+ const p = {},
+ v = [];
+ let b = [],
+ y = [];
+ const T = {
+ consume: oe,
+ enter: be,
+ exit: ge,
+ attempt: se(ae),
+ check: se(ne),
+ interrupt: se(ne, { interrupt: !0 }),
+ },
+ _ = {
+ previous: null,
+ code: null,
+ containerState: {},
+ events: [],
+ parser: i,
+ sliceStream: F,
+ sliceSerialize: R,
+ now: j,
+ defineSkip: W,
+ write: P,
+ };
+ let A = s.tokenize.call(_, T);
+ return (s.resolveAll && v.push(s), _);
+ function P(G) {
+ return (
+ (b = qv(b, G)),
+ ee(),
+ b[b.length - 1] !== null ? [] : (de(s, 0), (_.events = Lme(v, _.events, _)), _.events)
+ );
+ }
+ function R(G, xe) {
+ return CZt(F(G), xe);
+ }
+ function F(G) {
+ return TZt(b, G);
+ }
+ function j() {
+ const { line: G, column: xe, offset: U, _index: Be, _bufferIndex: Ne } = d;
+ return { line: G, column: xe, offset: U, _index: Be, _bufferIndex: Ne };
+ }
+ function W(G) {
+ ((p[G.line] = G.column), pe());
+ }
+ function ee() {
+ let G;
+ for (; d._index < b.length; ) {
+ const xe = b[d._index];
+ if (typeof xe == 'string')
+ for (
+ G = d._index, d._bufferIndex < 0 && (d._bufferIndex = 0);
+ d._index === G && d._bufferIndex < xe.length;
+ )
+ ie(xe.charCodeAt(d._bufferIndex));
+ else ie(xe);
+ }
+ }
+ function ie(G) {
+ A = A(G);
+ }
+ function oe(G) {
+ (so(G)
+ ? (d.line++, (d.column = 1), (d.offset += G === -3 ? 2 : 1), pe())
+ : G !== -1 && (d.column++, d.offset++),
+ d._bufferIndex < 0
+ ? d._index++
+ : (d._bufferIndex++,
+ d._bufferIndex === b[d._index].length && ((d._bufferIndex = -1), d._index++)),
+ (_.previous = G));
+ }
+ function be(G, xe) {
+ const U = xe || {};
+ return ((U.type = G), (U.start = j()), _.events.push(['enter', U, _]), y.push(U), U);
+ }
+ function ge(G) {
+ const xe = y.pop();
+ return ((xe.end = j()), _.events.push(['exit', xe, _]), xe);
+ }
+ function ae(G, xe) {
+ de(G, xe.from);
+ }
+ function ne(G, xe) {
+ xe.restore();
+ }
+ function se(G, xe) {
+ return U;
+ function U(Be, Ne, je) {
+ let Ie, Se, Ce, ke;
+ return Array.isArray(Be) ? Ft(Be) : 'tokenize' in Be ? Ft([Be]) : Ke(Be);
+ function Ke(Et) {
+ return Gt;
+ function Gt(ln) {
+ const xt = ln !== null && Et[ln],
+ Pt = ln !== null && Et.null,
+ Ze = [
+ ...(Array.isArray(xt) ? xt : xt ? [xt] : []),
+ ...(Array.isArray(Pt) ? Pt : Pt ? [Pt] : []),
+ ];
+ return Ft(Ze)(ln);
+ }
+ }
+ function Ft(Et) {
+ return ((Ie = Et), (Se = 0), Et.length === 0 ? je : Pe(Et[Se]));
+ }
+ function Pe(Et) {
+ return Gt;
+ function Gt(ln) {
+ return (
+ (ke = X()),
+ (Ce = Et),
+ Et.partial || (_.currentConstruct = Et),
+ Et.name && _.parser.constructs.disable.null.includes(Et.name)
+ ? kt()
+ : Et.tokenize.call(xe ? Object.assign(Object.create(_), xe) : _, T, gn, kt)(ln)
+ );
+ }
+ }
+ function gn(Et) {
+ return (G(Ce, ke), Ne);
+ }
+ function kt(Et) {
+ return (ke.restore(), ++Se < Ie.length ? Pe(Ie[Se]) : je);
+ }
+ }
+ }
+ function de(G, xe) {
+ (G.resolveAll && !v.includes(G) && v.push(G),
+ G.resolve && e5(_.events, xe, _.events.length - xe, G.resolve(_.events.slice(xe), _)),
+ G.resolveTo && (_.events = G.resolveTo(_.events, _)));
+ }
+ function X() {
+ const G = j(),
+ xe = _.previous,
+ U = _.currentConstruct,
+ Be = _.events.length,
+ Ne = Array.from(y);
+ return { restore: je, from: Be };
+ function je() {
+ ((d = G),
+ (_.previous = xe),
+ (_.currentConstruct = U),
+ (_.events.length = Be),
+ (y = Ne),
+ pe());
+ }
+ }
+ function pe() {
+ d.line in p && d.column < 2 && ((d.column = p[d.line]), (d.offset += p[d.line] - 1));
+ }
+ }
+ function TZt(i, s) {
+ const u = s.start._index,
+ d = s.start._bufferIndex,
+ p = s.end._index,
+ v = s.end._bufferIndex;
+ let b;
+ if (u === p) b = [i[u].slice(d, v)];
+ else {
+ if (((b = i.slice(u, p)), d > -1)) {
+ const y = b[0];
+ typeof y == 'string' ? (b[0] = y.slice(d)) : b.shift();
+ }
+ v > 0 && b.push(i[p].slice(0, v));
+ }
+ return b;
+ }
+ function CZt(i, s) {
+ let u = -1;
+ const d = [];
+ let p;
+ for (; ++u < i.length; ) {
+ const v = i[u];
+ let b;
+ if (typeof v == 'string') b = v;
+ else
+ switch (v) {
+ case -5: {
+ b = '\r';
+ break;
+ }
+ case -4: {
+ b = `
+`;
+ break;
+ }
+ case -3: {
+ b = `\r
+`;
+ break;
+ }
+ case -2: {
+ b = s ? ' ' : ' ';
+ break;
+ }
+ case -1: {
+ if (!s && p) continue;
+ b = ' ';
+ break;
+ }
+ default:
+ b = String.fromCharCode(v);
+ }
+ ((p = v === -2), d.push(b));
+ }
+ return d.join('');
+ }
+ const SZt = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ attentionMarkers: { null: [42, 95] },
+ contentInitial: { 91: AJt },
+ disable: { null: [] },
+ document: {
+ 42: H2,
+ 43: H2,
+ 45: H2,
+ 48: H2,
+ 49: H2,
+ 50: H2,
+ 51: H2,
+ 52: H2,
+ 53: H2,
+ 54: H2,
+ 55: H2,
+ 56: H2,
+ 57: H2,
+ 62: YVe,
+ },
+ flow: { 35: NJt, 42: XQ, 45: [aUe, XQ], 60: RJt, 61: aUe, 95: XQ, 96: eUe, 126: eUe },
+ flowInitial: { [-2]: Ime, [-1]: Ime, 32: Ime },
+ insideSpan: { null: [Mme, wZt] },
+ string: { 38: JVe, 92: XVe },
+ text: {
+ [-5]: Nme,
+ [-4]: Nme,
+ [-3]: Nme,
+ 33: nZt,
+ 38: JVe,
+ 42: Mme,
+ 60: [sJt, UJt],
+ 91: iZt,
+ 92: [IJt, XVe],
+ 93: Ome,
+ 95: Mme,
+ 96: vJt,
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ function _Zt(i) {
+ const u = HQt([SZt, ...((i || {}).extensions || [])]),
+ d = {
+ defined: [],
+ lazy: {},
+ constructs: u,
+ content: p(JQt),
+ document: p(eJt),
+ flow: p(mZt),
+ string: p(yZt),
+ text: p(xZt),
+ };
+ return d;
+ function p(v) {
+ return b;
+ function b(y) {
+ return EZt(d, v, y);
+ }
+ }
+ }
+ const uUe = /[\0\t\n\r]/g;
+ function AZt() {
+ let i = 1,
+ s = '',
+ u = !0,
+ d;
+ return p;
+ function p(v, b, y) {
+ const T = [];
+ let _, A, P, R, F;
+ for (
+ v = s + v.toString(b), P = 0, s = '', u && (v.charCodeAt(0) === 65279 && P++, (u = void 0));
+ P < v.length;
+ ) {
+ if (
+ ((uUe.lastIndex = P),
+ (_ = uUe.exec(v)),
+ (R = _ && _.index !== void 0 ? _.index : v.length),
+ (F = v.charCodeAt(R)),
+ !_)
+ ) {
+ s = v.slice(P);
+ break;
+ }
+ if (F === 10 && P === R && d) (T.push(-3), (d = void 0));
+ else
+ switch (
+ (d && (T.push(-5), (d = void 0)), P < R && (T.push(v.slice(P, R)), (i += R - P)), F)
+ ) {
+ case 0: {
+ (T.push(65533), i++);
+ break;
+ }
+ case 9: {
+ for (A = Math.ceil(i / 4) * 4, T.push(-2); i++ < A; ) T.push(-1);
+ break;
+ }
+ case 10: {
+ (T.push(-4), (i = 1));
+ break;
+ }
+ default:
+ ((d = !0), (i = 1));
+ }
+ P = R + 1;
+ }
+ return (y && (d && T.push(-5), s && T.push(s), T.push(null)), T);
+ }
+ }
+ function LZt(i) {
+ for (; !tUe(i); );
+ return i;
+ }
+ function lUe(i, s) {
+ const u = Number.parseInt(i, s);
+ return u < 9 ||
+ u === 11 ||
+ (u > 13 && u < 32) ||
+ (u > 126 && u < 160) ||
+ (u > 55295 && u < 57344) ||
+ (u > 64975 && u < 65008) ||
+ (u & 65535) === 65535 ||
+ (u & 65535) === 65534 ||
+ u > 1114111
+ ? '�'
+ : String.fromCharCode(u);
+ }
+ const MZt = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
+ function DZt(i) {
+ return i.replace(MZt, IZt);
+ }
+ function IZt(i, s, u) {
+ if (s) return s;
+ if (u.charCodeAt(0) === 35) {
+ const p = u.charCodeAt(1),
+ v = p === 120 || p === 88;
+ return lUe(u.slice(v ? 2 : 1), v ? 16 : 10);
+ }
+ return Dme(u) || i;
+ }
+ function QQ(i) {
+ return !i || typeof i != 'object'
+ ? ''
+ : 'position' in i || 'type' in i
+ ? hUe(i.position)
+ : 'start' in i || 'end' in i
+ ? hUe(i)
+ : 'line' in i || 'column' in i
+ ? Pme(i)
+ : '';
+ }
+ function Pme(i) {
+ return fUe(i && i.line) + ':' + fUe(i && i.column);
+ }
+ function hUe(i) {
+ return Pme(i && i.start) + '-' + Pme(i && i.end);
+ }
+ function fUe(i) {
+ return i && typeof i == 'number' ? i : 1;
+ }
+ const dUe = {}.hasOwnProperty,
+ gUe = function (i, s, u) {
+ return (
+ typeof s != 'string' && ((u = s), (s = void 0)),
+ OZt(u)(
+ LZt(
+ _Zt(u)
+ .document()
+ .write(AZt()(i, s, !0)),
+ ),
+ )
+ );
+ };
+ function OZt(i) {
+ const s = {
+ transforms: [],
+ canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],
+ enter: {
+ autolink: y(Ba),
+ autolinkProtocol: G,
+ autolinkEmail: G,
+ atxHeading: y(zr),
+ blockQuote: y(Ze),
+ characterEscape: G,
+ characterReference: G,
+ codeFenced: y(At),
+ codeFencedFenceInfo: T,
+ codeFencedFenceMeta: T,
+ codeIndented: y(At, T),
+ codeText: y(Tt, T),
+ codeTextData: G,
+ data: G,
+ codeFlowValue: G,
+ definition: y(On),
+ definitionDestinationString: T,
+ definitionLabelString: T,
+ definitionTitleString: T,
+ emphasis: y(ht),
+ hardBreakEscape: y(yt),
+ hardBreakTrailing: y(yt),
+ htmlFlow: y(Fi, T),
+ htmlFlowData: G,
+ htmlText: y(Fi, T),
+ htmlTextData: G,
+ image: y(yi),
+ label: T,
+ link: y(Ba),
+ listItem: y(Ro),
+ listItemValue: j,
+ listOrdered: y(na, F),
+ listUnordered: y(na),
+ paragraph: y(_r),
+ reference: kt,
+ referenceString: T,
+ resourceDestinationString: T,
+ resourceTitleString: T,
+ setextHeading: y(zr),
+ strong: y(Nn),
+ thematicBreak: y(qn),
+ },
+ exit: {
+ atxHeading: A(),
+ atxHeadingSequence: se,
+ autolink: A(),
+ autolinkEmail: Pt,
+ autolinkProtocol: xt,
+ blockQuote: A(),
+ characterEscapeValue: xe,
+ characterReferenceMarkerHexadecimal: Gt,
+ characterReferenceMarkerNumeric: Gt,
+ characterReferenceValue: ln,
+ codeFenced: A(oe),
+ codeFencedFence: ie,
+ codeFencedFenceInfo: W,
+ codeFencedFenceMeta: ee,
+ codeFlowValue: xe,
+ codeIndented: A(be),
+ codeText: A(Ie),
+ codeTextData: xe,
+ data: xe,
+ definition: A(),
+ definitionDestinationString: ne,
+ definitionLabelString: ge,
+ definitionTitleString: ae,
+ emphasis: A(),
+ hardBreakEscape: A(Be),
+ hardBreakTrailing: A(Be),
+ htmlFlow: A(Ne),
+ htmlFlowData: xe,
+ htmlText: A(je),
+ htmlTextData: xe,
+ image: A(Ce),
+ label: Ke,
+ labelText: ke,
+ lineEnding: U,
+ link: A(Se),
+ listItem: A(),
+ listOrdered: A(),
+ listUnordered: A(),
+ paragraph: A(),
+ referenceString: Et,
+ resourceDestinationString: Ft,
+ resourceTitleString: Pe,
+ resource: gn,
+ setextHeading: A(pe),
+ setextHeadingLineSequence: X,
+ setextHeadingText: de,
+ strong: A(),
+ thematicBreak: A(),
+ },
+ };
+ pUe(s, (i || {}).mdastExtensions || []);
+ const u = {};
+ return d;
+ function d(Lt) {
+ let wt = { type: 'root', children: [] };
+ const cn = {
+ stack: [wt],
+ tokenStack: [],
+ config: s,
+ enter: _,
+ exit: P,
+ buffer: T,
+ resume: R,
+ setData: v,
+ getData: b,
+ },
+ fn = [];
+ let Mn = -1;
+ for (; ++Mn < Lt.length; )
+ if (Lt[Mn][1].type === 'listOrdered' || Lt[Mn][1].type === 'listUnordered')
+ if (Lt[Mn][0] === 'enter') fn.push(Mn);
+ else {
+ const mo = fn.pop();
+ Mn = p(Lt, mo, Mn);
+ }
+ for (Mn = -1; ++Mn < Lt.length; ) {
+ const mo = s[Lt[Mn][0]];
+ dUe.call(mo, Lt[Mn][1].type) &&
+ mo[Lt[Mn][1].type].call(
+ Object.assign({ sliceSerialize: Lt[Mn][2].sliceSerialize }, cn),
+ Lt[Mn][1],
+ );
+ }
+ if (cn.tokenStack.length > 0) {
+ const mo = cn.tokenStack[cn.tokenStack.length - 1];
+ (mo[1] || bUe).call(cn, void 0, mo[0]);
+ }
+ for (
+ wt.position = {
+ start: O9(Lt.length > 0 ? Lt[0][1].start : { line: 1, column: 1, offset: 0 }),
+ end: O9(Lt.length > 0 ? Lt[Lt.length - 2][1].end : { line: 1, column: 1, offset: 0 }),
+ },
+ Mn = -1;
+ ++Mn < s.transforms.length;
+ )
+ wt = s.transforms[Mn](wt) || wt;
+ return wt;
+ }
+ function p(Lt, wt, cn) {
+ let fn = wt - 1,
+ Mn = -1,
+ mo = !1,
+ Io,
+ Xa,
+ ua,
+ Oo;
+ for (; ++fn <= cn; ) {
+ const Ts = Lt[fn];
+ if (
+ (Ts[1].type === 'listUnordered' ||
+ Ts[1].type === 'listOrdered' ||
+ Ts[1].type === 'blockQuote'
+ ? (Ts[0] === 'enter' ? Mn++ : Mn--, (Oo = void 0))
+ : Ts[1].type === 'lineEndingBlank'
+ ? Ts[0] === 'enter' && (Io && !Oo && !Mn && !ua && (ua = fn), (Oo = void 0))
+ : Ts[1].type === 'linePrefix' ||
+ Ts[1].type === 'listItemValue' ||
+ Ts[1].type === 'listItemMarker' ||
+ Ts[1].type === 'listItemPrefix' ||
+ Ts[1].type === 'listItemPrefixWhitespace' ||
+ (Oo = void 0),
+ (!Mn && Ts[0] === 'enter' && Ts[1].type === 'listItemPrefix') ||
+ (Mn === -1 &&
+ Ts[0] === 'exit' &&
+ (Ts[1].type === 'listUnordered' || Ts[1].type === 'listOrdered')))
+ ) {
+ if (Io) {
+ let nl = fn;
+ for (Xa = void 0; nl--; ) {
+ const Zo = Lt[nl];
+ if (Zo[1].type === 'lineEnding' || Zo[1].type === 'lineEndingBlank') {
+ if (Zo[0] === 'exit') continue;
+ (Xa && ((Lt[Xa][1].type = 'lineEndingBlank'), (mo = !0)),
+ (Zo[1].type = 'lineEnding'),
+ (Xa = nl));
+ } else if (
+ !(
+ Zo[1].type === 'linePrefix' ||
+ Zo[1].type === 'blockQuotePrefix' ||
+ Zo[1].type === 'blockQuotePrefixWhitespace' ||
+ Zo[1].type === 'blockQuoteMarker' ||
+ Zo[1].type === 'listItemIndent'
+ )
+ )
+ break;
+ }
+ (ua && (!Xa || ua < Xa) && (Io._spread = !0),
+ (Io.end = Object.assign({}, Xa ? Lt[Xa][1].start : Ts[1].end)),
+ Lt.splice(Xa || fn, 0, ['exit', Io, Ts[2]]),
+ fn++,
+ cn++);
+ }
+ Ts[1].type === 'listItemPrefix' &&
+ ((Io = {
+ type: 'listItem',
+ _spread: !1,
+ start: Object.assign({}, Ts[1].start),
+ end: void 0,
+ }),
+ Lt.splice(fn, 0, ['enter', Io, Ts[2]]),
+ fn++,
+ cn++,
+ (ua = void 0),
+ (Oo = !0));
+ }
+ }
+ return ((Lt[wt][1]._spread = mo), cn);
+ }
+ function v(Lt, wt) {
+ u[Lt] = wt;
+ }
+ function b(Lt) {
+ return u[Lt];
+ }
+ function y(Lt, wt) {
+ return cn;
+ function cn(fn) {
+ (_.call(this, Lt(fn), fn), wt && wt.call(this, fn));
+ }
+ }
+ function T() {
+ this.stack.push({ type: 'fragment', children: [] });
+ }
+ function _(Lt, wt, cn) {
+ return (
+ this.stack[this.stack.length - 1].children.push(Lt),
+ this.stack.push(Lt),
+ this.tokenStack.push([wt, cn]),
+ (Lt.position = { start: O9(wt.start) }),
+ Lt
+ );
+ }
+ function A(Lt) {
+ return wt;
+ function wt(cn) {
+ (Lt && Lt.call(this, cn), P.call(this, cn));
+ }
+ }
+ function P(Lt, wt) {
+ const cn = this.stack.pop(),
+ fn = this.tokenStack.pop();
+ if (fn)
+ fn[0].type !== Lt.type &&
+ (wt ? wt.call(this, Lt, fn[0]) : (fn[1] || bUe).call(this, Lt, fn[0]));
+ else
+ throw new Error(
+ 'Cannot close `' +
+ Lt.type +
+ '` (' +
+ QQ({ start: Lt.start, end: Lt.end }) +
+ '): it’s not open',
+ );
+ return ((cn.position.end = O9(Lt.end)), cn);
+ }
+ function R() {
+ return zQt(this.stack.pop());
+ }
+ function F() {
+ v('expectingFirstListItemValue', !0);
+ }
+ function j(Lt) {
+ if (b('expectingFirstListItemValue')) {
+ const wt = this.stack[this.stack.length - 2];
+ ((wt.start = Number.parseInt(this.sliceSerialize(Lt), 10)),
+ v('expectingFirstListItemValue'));
+ }
+ }
+ function W() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.lang = Lt;
+ }
+ function ee() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.meta = Lt;
+ }
+ function ie() {
+ b('flowCodeInside') || (this.buffer(), v('flowCodeInside', !0));
+ }
+ function oe() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ ((wt.value = Lt.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, '')), v('flowCodeInside'));
+ }
+ function be() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.value = Lt.replace(/(\r?\n|\r)$/g, '');
+ }
+ function ge(Lt) {
+ const wt = this.resume(),
+ cn = this.stack[this.stack.length - 1];
+ ((cn.label = wt), (cn.identifier = qD(this.sliceSerialize(Lt)).toLowerCase()));
+ }
+ function ae() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.title = Lt;
+ }
+ function ne() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.url = Lt;
+ }
+ function se(Lt) {
+ const wt = this.stack[this.stack.length - 1];
+ if (!wt.depth) {
+ const cn = this.sliceSerialize(Lt).length;
+ wt.depth = cn;
+ }
+ }
+ function de() {
+ v('setextHeadingSlurpLineEnding', !0);
+ }
+ function X(Lt) {
+ const wt = this.stack[this.stack.length - 1];
+ wt.depth = this.sliceSerialize(Lt).charCodeAt(0) === 61 ? 1 : 2;
+ }
+ function pe() {
+ v('setextHeadingSlurpLineEnding');
+ }
+ function G(Lt) {
+ const wt = this.stack[this.stack.length - 1];
+ let cn = wt.children[wt.children.length - 1];
+ ((!cn || cn.type !== 'text') &&
+ ((cn = $n()), (cn.position = { start: O9(Lt.start) }), wt.children.push(cn)),
+ this.stack.push(cn));
+ }
+ function xe(Lt) {
+ const wt = this.stack.pop();
+ ((wt.value += this.sliceSerialize(Lt)), (wt.position.end = O9(Lt.end)));
+ }
+ function U(Lt) {
+ const wt = this.stack[this.stack.length - 1];
+ if (b('atHardBreak')) {
+ const cn = wt.children[wt.children.length - 1];
+ ((cn.position.end = O9(Lt.end)), v('atHardBreak'));
+ return;
+ }
+ !b('setextHeadingSlurpLineEnding') &&
+ s.canContainEols.includes(wt.type) &&
+ (G.call(this, Lt), xe.call(this, Lt));
+ }
+ function Be() {
+ v('atHardBreak', !0);
+ }
+ function Ne() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.value = Lt;
+ }
+ function je() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.value = Lt;
+ }
+ function Ie() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.value = Lt;
+ }
+ function Se() {
+ const Lt = this.stack[this.stack.length - 1];
+ if (b('inReference')) {
+ const wt = b('referenceType') || 'shortcut';
+ ((Lt.type += 'Reference'), (Lt.referenceType = wt), delete Lt.url, delete Lt.title);
+ } else (delete Lt.identifier, delete Lt.label);
+ v('referenceType');
+ }
+ function Ce() {
+ const Lt = this.stack[this.stack.length - 1];
+ if (b('inReference')) {
+ const wt = b('referenceType') || 'shortcut';
+ ((Lt.type += 'Reference'), (Lt.referenceType = wt), delete Lt.url, delete Lt.title);
+ } else (delete Lt.identifier, delete Lt.label);
+ v('referenceType');
+ }
+ function ke(Lt) {
+ const wt = this.sliceSerialize(Lt),
+ cn = this.stack[this.stack.length - 2];
+ ((cn.label = DZt(wt)), (cn.identifier = qD(wt).toLowerCase()));
+ }
+ function Ke() {
+ const Lt = this.stack[this.stack.length - 1],
+ wt = this.resume(),
+ cn = this.stack[this.stack.length - 1];
+ if ((v('inReference', !0), cn.type === 'link')) {
+ const fn = Lt.children;
+ cn.children = fn;
+ } else cn.alt = wt;
+ }
+ function Ft() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.url = Lt;
+ }
+ function Pe() {
+ const Lt = this.resume(),
+ wt = this.stack[this.stack.length - 1];
+ wt.title = Lt;
+ }
+ function gn() {
+ v('inReference');
+ }
+ function kt() {
+ v('referenceType', 'collapsed');
+ }
+ function Et(Lt) {
+ const wt = this.resume(),
+ cn = this.stack[this.stack.length - 1];
+ ((cn.label = wt),
+ (cn.identifier = qD(this.sliceSerialize(Lt)).toLowerCase()),
+ v('referenceType', 'full'));
+ }
+ function Gt(Lt) {
+ v('characterReferenceType', Lt.type);
+ }
+ function ln(Lt) {
+ const wt = this.sliceSerialize(Lt),
+ cn = b('characterReferenceType');
+ let fn;
+ cn
+ ? ((fn = lUe(wt, cn === 'characterReferenceMarkerNumeric' ? 10 : 16)),
+ v('characterReferenceType'))
+ : (fn = Dme(wt));
+ const Mn = this.stack.pop();
+ ((Mn.value += fn), (Mn.position.end = O9(Lt.end)));
+ }
+ function xt(Lt) {
+ xe.call(this, Lt);
+ const wt = this.stack[this.stack.length - 1];
+ wt.url = this.sliceSerialize(Lt);
+ }
+ function Pt(Lt) {
+ xe.call(this, Lt);
+ const wt = this.stack[this.stack.length - 1];
+ wt.url = 'mailto:' + this.sliceSerialize(Lt);
+ }
+ function Ze() {
+ return { type: 'blockquote', children: [] };
+ }
+ function At() {
+ return { type: 'code', lang: null, meta: null, value: '' };
+ }
+ function Tt() {
+ return { type: 'inlineCode', value: '' };
+ }
+ function On() {
+ return { type: 'definition', identifier: '', label: null, title: null, url: '' };
+ }
+ function ht() {
+ return { type: 'emphasis', children: [] };
+ }
+ function zr() {
+ return { type: 'heading', depth: void 0, children: [] };
+ }
+ function yt() {
+ return { type: 'break' };
+ }
+ function Fi() {
+ return { type: 'html', value: '' };
+ }
+ function yi() {
+ return { type: 'image', title: null, url: '', alt: null };
+ }
+ function Ba() {
+ return { type: 'link', title: null, url: '', children: [] };
+ }
+ function na(Lt) {
+ return {
+ type: 'list',
+ ordered: Lt.type === 'listOrdered',
+ start: null,
+ spread: Lt._spread,
+ children: [],
+ };
+ }
+ function Ro(Lt) {
+ return { type: 'listItem', spread: Lt._spread, checked: null, children: [] };
+ }
+ function _r() {
+ return { type: 'paragraph', children: [] };
+ }
+ function Nn() {
+ return { type: 'strong', children: [] };
+ }
+ function $n() {
+ return { type: 'text', value: '' };
+ }
+ function qn() {
+ return { type: 'thematicBreak' };
+ }
+ }
+ function O9(i) {
+ return { line: i.line, column: i.column, offset: i.offset };
+ }
+ function pUe(i, s) {
+ let u = -1;
+ for (; ++u < s.length; ) {
+ const d = s[u];
+ Array.isArray(d) ? pUe(i, d) : NZt(i, d);
+ }
+ }
+ function NZt(i, s) {
+ let u;
+ for (u in s)
+ if (dUe.call(s, u)) {
+ if (u === 'canContainEols') {
+ const d = s[u];
+ d && i[u].push(...d);
+ } else if (u === 'transforms') {
+ const d = s[u];
+ d && i[u].push(...d);
+ } else if (u === 'enter' || u === 'exit') {
+ const d = s[u];
+ d && Object.assign(i[u], d);
+ }
+ }
+ }
+ function bUe(i, s) {
+ throw i
+ ? new Error(
+ 'Cannot close `' +
+ i.type +
+ '` (' +
+ QQ({ start: i.start, end: i.end }) +
+ '): a different token (`' +
+ s.type +
+ '`, ' +
+ QQ({ start: s.start, end: s.end }) +
+ ') is open',
+ )
+ : new Error(
+ 'Cannot close document, a token (`' +
+ s.type +
+ '`, ' +
+ QQ({ start: s.start, end: s.end }) +
+ ') is still open',
+ );
+ }
+ function PZt(i) {
+ const s = i.replace(
+ /\n{2,}/g,
+ `
+`,
+ );
+ return QM(s);
+ }
+ function BZt(i) {
+ const s = PZt(i),
+ { children: u } = gUe(s),
+ d = [[]];
+ let p = 0;
+ function v(b, y = 'normal') {
+ b.type === 'text'
+ ? b.value
+ .split(
+ `
+`,
+ )
+ .forEach((_, A) => {
+ (A !== 0 && (p++, d.push([])),
+ _.split(' ').forEach((P) => {
+ P && d[p].push({ content: P, type: y });
+ }));
+ })
+ : (b.type === 'strong' || b.type === 'emphasis') &&
+ b.children.forEach((T) => {
+ v(T, b.type);
+ });
+ }
+ return (
+ u.forEach((b) => {
+ b.type === 'paragraph' &&
+ b.children.forEach((y) => {
+ v(y);
+ });
+ }),
+ d
+ );
+ }
+ function FZt(i) {
+ const { children: s } = gUe(i);
+ function u(d) {
+ return d.type === 'text'
+ ? d.value.replace(/\n/g, '
')
+ : d.type === 'strong'
+ ? `${d.children.map(u).join('')}`
+ : d.type === 'emphasis'
+ ? `${d.children.map(u).join('')}`
+ : d.type === 'paragraph'
+ ? `${d.children.map(u).join('')}
`
+ : `Unsupported markdown: ${d.type}`;
+ }
+ return s.map(u).join('');
+ }
+ function RZt(i) {
+ return Intl.Segmenter ? [...new Intl.Segmenter().segment(i)].map((s) => s.segment) : [...i];
+ }
+ function jZt(i, s) {
+ const u = RZt(s.content);
+ return mUe(i, [], u, s.type);
+ }
+ function mUe(i, s, u, d) {
+ if (u.length === 0)
+ return [
+ { content: s.join(''), type: d },
+ { content: '', type: d },
+ ];
+ const [p, ...v] = u,
+ b = [...s, p];
+ return i([{ content: b.join(''), type: d }])
+ ? mUe(i, b, v, d)
+ : (s.length === 0 && p && (s.push(p), u.shift()),
+ [
+ { content: s.join(''), type: d },
+ { content: u.join(''), type: d },
+ ]);
+ }
+ function $Zt(i, s) {
+ if (
+ i.some(({ content: u }) =>
+ u.includes(`
+`),
+ )
+ )
+ throw new Error('splitLineToFitWidth does not support newlines in the line');
+ return Bme(i, s);
+ }
+ function Bme(i, s, u = [], d = []) {
+ if (i.length === 0) return (d.length > 0 && u.push(d), u.length > 0 ? u : []);
+ let p = '';
+ i[0].content === ' ' && ((p = ' '), i.shift());
+ const v = i.shift() ?? { content: ' ', type: 'normal' },
+ b = [...d];
+ if ((p !== '' && b.push({ content: p, type: 'normal' }), b.push(v), s(b)))
+ return Bme(i, s, u, b);
+ if (d.length > 0) (u.push(d), i.unshift(v));
+ else if (v.content) {
+ const [y, T] = jZt(s, v);
+ (u.push([y]), T.content && i.unshift(T));
+ }
+ return Bme(i, s, u);
+ }
+ function zZt(i, s) {
+ s && i.attr('style', s);
+ }
+ function qZt(i, s, u, d, p = !1) {
+ const v = i.append('foreignObject'),
+ b = v.append('xhtml:div'),
+ y = s.label,
+ T = s.isNode ? 'nodeLabel' : 'edgeLabel';
+ (b.html(
+ yh(
+ `
+ ' +
+ y +
+ '',
+ xh(),
+ ),
+ ),
+ zZt(b, s.labelStyle),
+ b.style('display', 'table-cell'),
+ b.style('white-space', 'nowrap'),
+ b.style('max-width', u + 'px'),
+ b.attr('xmlns', 'http://www.w3.org/1999/xhtml'),
+ p && b.attr('class', 'labelBkg'));
+ let _ = b.node().getBoundingClientRect();
+ return (
+ _.width === u &&
+ (b.style('display', 'table'),
+ b.style('white-space', 'break-spaces'),
+ b.style('width', u + 'px'),
+ (_ = b.node().getBoundingClientRect())),
+ v.style('width', _.width),
+ v.style('height', _.height),
+ v.node()
+ );
+ }
+ function Fme(i, s, u) {
+ return i
+ .append('tspan')
+ .attr('class', 'text-outer-tspan')
+ .attr('x', 0)
+ .attr('y', s * u - 0.1 + 'em')
+ .attr('dy', u + 'em');
+ }
+ function HZt(i, s, u) {
+ const d = i.append('text'),
+ p = Fme(d, 1, s);
+ Rme(p, u);
+ const v = p.node().getComputedTextLength();
+ return (d.remove(), v);
+ }
+ function VZt(i, s, u) {
+ var b;
+ const d = i.append('text'),
+ p = Fme(d, 1, s);
+ Rme(p, [{ content: u, type: 'normal' }]);
+ const v = (b = p.node()) == null ? void 0 : b.getBoundingClientRect();
+ return (v && d.remove(), v);
+ }
+ function UZt(i, s, u, d = !1) {
+ const v = s.append('g'),
+ b = v.insert('rect').attr('class', 'background'),
+ y = v.append('text').attr('y', '-10.1');
+ let T = 0;
+ for (const _ of u) {
+ const A = (R) => HZt(v, 1.1, R) <= i,
+ P = A(_) ? [_] : $Zt(_, A);
+ for (const R of P) {
+ const F = Fme(y, T, 1.1);
+ (Rme(F, R), T++);
+ }
+ }
+ if (d) {
+ const _ = y.node().getBBox(),
+ A = 2;
+ return (
+ b
+ .attr('x', -A)
+ .attr('y', -A)
+ .attr('width', _.width + 2 * A)
+ .attr('height', _.height + 2 * A),
+ v.node()
+ );
+ } else return y.node();
+ }
+ function Rme(i, s) {
+ (i.text(''),
+ s.forEach((u, d) => {
+ const p = i
+ .append('tspan')
+ .attr('font-style', u.type === 'emphasis' ? 'italic' : 'normal')
+ .attr('class', 'text-inner-tspan')
+ .attr('font-weight', u.type === 'strong' ? 'bold' : 'normal');
+ d === 0 ? p.text(u.content) : p.text(' ' + u.content);
+ }));
+ }
+ const JQ = (
+ i,
+ s = '',
+ {
+ style: u = '',
+ isTitle: d = !1,
+ classes: p = '',
+ useHtmlLabels: v = !0,
+ isNode: b = !0,
+ width: y = 200,
+ addSvgBackground: T = !1,
+ } = {},
+ ) => {
+ if ((Xe.info('createText', s, u, d, p, v, b, T), v)) {
+ const _ = FZt(s),
+ A = {
+ isNode: b,
+ label: eR(_).replace(
+ /fa[blrs]?:fa-[\w-]+/g,
+ (R) => ``,
+ ),
+ labelStyle: u.replace('fill:', 'color:'),
+ };
+ return qZt(i, A, y, p, T);
+ } else {
+ const _ = BZt(s);
+ return UZt(y, i, _, T);
+ }
+ },
+ h1 = async (i, s, u, d) => {
+ let p;
+ const v = s.useHtmlLabels || u1(qt().flowchart.htmlLabels);
+ u ? (p = u) : (p = 'node default');
+ const b = i
+ .insert('g')
+ .attr('class', p)
+ .attr('id', s.domId || s.id),
+ y = b.insert('g').attr('class', 'label').attr('style', s.labelStyle);
+ let T;
+ s.labelText === void 0
+ ? (T = '')
+ : (T = typeof s.labelText == 'string' ? s.labelText : s.labelText[0]);
+ const _ = y.node();
+ let A;
+ s.labelType === 'markdown'
+ ? (A = JQ(y, yh(eR(T), qt()), {
+ useHtmlLabels: v,
+ width: s.width || qt().flowchart.wrappingWidth,
+ classes: 'markdown-node-label',
+ }))
+ : (A = _.appendChild(z2(yh(eR(T), qt()), s.labelStyle, !1, d)));
+ let P = A.getBBox();
+ const R = s.padding / 2;
+ if (u1(qt().flowchart.htmlLabels)) {
+ const F = A.children[0],
+ j = Ir(A),
+ W = F.getElementsByTagName('img');
+ if (W) {
+ const ee = T.replace(/
]*>/g, '').trim() === '';
+ await Promise.all(
+ [...W].map(
+ (ie) =>
+ new Promise((oe) => {
+ function be() {
+ if (((ie.style.display = 'flex'), (ie.style.flexDirection = 'column'), ee)) {
+ const ge = qt().fontSize
+ ? qt().fontSize
+ : window.getComputedStyle(document.body).fontSize,
+ ae = 5,
+ ne = parseInt(ge, 10) * ae + 'px';
+ ((ie.style.minWidth = ne), (ie.style.maxWidth = ne));
+ } else ie.style.width = '100%';
+ oe(ie);
+ }
+ (setTimeout(() => {
+ ie.complete && be();
+ }),
+ ie.addEventListener('error', be),
+ ie.addEventListener('load', be));
+ }),
+ ),
+ );
+ }
+ ((P = F.getBoundingClientRect()), j.attr('width', P.width), j.attr('height', P.height));
+ }
+ return (
+ v
+ ? y.attr('transform', 'translate(' + -P.width / 2 + ', ' + -P.height / 2 + ')')
+ : y.attr('transform', 'translate(0, ' + -P.height / 2 + ')'),
+ s.centerLabel &&
+ y.attr('transform', 'translate(' + -P.width / 2 + ', ' + -P.height / 2 + ')'),
+ y.insert('rect', ':first-child'),
+ { shapeSvg: b, bbox: P, halfPadding: R, label: y }
+ );
+ },
+ Wh = (i, s) => {
+ const u = s.node().getBBox();
+ ((i.width = u.width), (i.height = u.height));
+ };
+ function n5(i, s, u, d) {
+ return i
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ d
+ .map(function (p) {
+ return p.x + ',' + p.y;
+ })
+ .join(' '),
+ )
+ .attr('class', 'label-container')
+ .attr('transform', 'translate(' + -s / 2 + ',' + u / 2 + ')');
+ }
+ let _o = {},
+ V3 = {},
+ vUe = {};
+ const GZt = () => {
+ ((V3 = {}), (vUe = {}), (_o = {}));
+ },
+ ZQ = (i, s) => (
+ Xe.trace('In isDescendant', s, ' ', i, ' = ', V3[s].includes(i)),
+ !!V3[s].includes(i)
+ ),
+ KZt = (i, s) => (
+ Xe.info('Descendants of ', s, ' is ', V3[s]),
+ Xe.info('Edge is ', i),
+ i.v === s || i.w === s
+ ? !1
+ : V3[s]
+ ? V3[s].includes(i.v) || ZQ(i.v, s) || ZQ(i.w, s) || V3[s].includes(i.w)
+ : (Xe.debug('Tilt, ', s, ',not in descendants'), !1)
+ ),
+ wUe = (i, s, u, d) => {
+ Xe.warn('Copying children of ', i, 'root', d, 'data', s.node(i), d);
+ const p = s.children(i) || [];
+ (i !== d && p.push(i),
+ Xe.warn('Copying (nodes) clusterId', i, 'nodes', p),
+ p.forEach((v) => {
+ if (s.children(v).length > 0) wUe(v, s, u, d);
+ else {
+ const b = s.node(v);
+ (Xe.info('cp ', v, ' to ', d, ' with parent ', i),
+ u.setNode(v, b),
+ d !== s.parent(v) &&
+ (Xe.warn('Setting parent', v, s.parent(v)), u.setParent(v, s.parent(v))),
+ i !== d && v !== i
+ ? (Xe.debug('Setting parent', v, i), u.setParent(v, i))
+ : (Xe.info('In copy ', i, 'root', d, 'data', s.node(i), d),
+ Xe.debug(
+ 'Not Setting parent for node=',
+ v,
+ 'cluster!==rootId',
+ i !== d,
+ 'node!==clusterId',
+ v !== i,
+ )));
+ const y = s.edges(v);
+ (Xe.debug('Copying Edges', y),
+ y.forEach((T) => {
+ Xe.info('Edge', T);
+ const _ = s.edge(T.v, T.w, T.name);
+ Xe.info('Edge data', _, d);
+ try {
+ KZt(T, d)
+ ? (Xe.info('Copying as ', T.v, T.w, _, T.name),
+ u.setEdge(T.v, T.w, _, T.name),
+ Xe.info('newGraph edges ', u.edges(), u.edge(u.edges()[0])))
+ : Xe.info(
+ 'Skipping copy of edge ',
+ T.v,
+ '-->',
+ T.w,
+ ' rootId: ',
+ d,
+ ' clusterId:',
+ i,
+ );
+ } catch (A) {
+ Xe.error(A);
+ }
+ }));
+ }
+ (Xe.debug('Removing node', v), s.removeNode(v));
+ }));
+ },
+ yUe = (i, s) => {
+ const u = s.children(i);
+ let d = [...u];
+ for (const p of u) ((vUe[p] = i), (d = [...d, ...yUe(p, s)]));
+ return d;
+ },
+ MR = (i, s) => {
+ Xe.trace('Searching', i);
+ const u = s.children(i);
+ if ((Xe.trace('Searching children of id ', i, u), u.length < 1))
+ return (Xe.trace('This is a valid node', i), i);
+ for (const d of u) {
+ const p = MR(d, s);
+ if (p) return (Xe.trace('Found replacement for', i, ' => ', p), p);
+ }
+ },
+ eJ = (i) => (!_o[i] || !_o[i].externalConnections ? i : _o[i] ? _o[i].id : i),
+ WZt = (i, s) => {
+ if (!i || s > 10) {
+ Xe.debug('Opting out, no graph ');
+ return;
+ } else Xe.debug('Opting in, graph ');
+ (i.nodes().forEach(function (u) {
+ i.children(u).length > 0 &&
+ (Xe.warn('Cluster identified', u, ' Replacement id in edges: ', MR(u, i)),
+ (V3[u] = yUe(u, i)),
+ (_o[u] = { id: MR(u, i), clusterData: i.node(u) }));
+ }),
+ i.nodes().forEach(function (u) {
+ const d = i.children(u),
+ p = i.edges();
+ d.length > 0
+ ? (Xe.debug('Cluster identified', u, V3),
+ p.forEach((v) => {
+ if (v.v !== u && v.w !== u) {
+ const b = ZQ(v.v, u),
+ y = ZQ(v.w, u);
+ b ^ y &&
+ (Xe.warn('Edge: ', v, ' leaves cluster ', u),
+ Xe.warn('Descendants of XXX ', u, ': ', V3[u]),
+ (_o[u].externalConnections = !0));
+ }
+ }))
+ : Xe.debug('Not a cluster ', u, V3);
+ }));
+ for (let u of Object.keys(_o)) {
+ const d = _o[u].id,
+ p = i.parent(d);
+ p !== u && _o[p] && !_o[p].externalConnections && (_o[u].id = p);
+ }
+ (i.edges().forEach(function (u) {
+ const d = i.edge(u);
+ (Xe.warn('Edge ' + u.v + ' -> ' + u.w + ': ' + JSON.stringify(u)),
+ Xe.warn('Edge ' + u.v + ' -> ' + u.w + ': ' + JSON.stringify(i.edge(u))));
+ let p = u.v,
+ v = u.w;
+ if (
+ (Xe.warn('Fix XXX', _o, 'ids:', u.v, u.w, 'Translating: ', _o[u.v], ' --- ', _o[u.w]),
+ _o[u.v] && _o[u.w] && _o[u.v] === _o[u.w])
+ ) {
+ (Xe.warn('Fixing and trixing link to self - removing XXX', u.v, u.w, u.name),
+ Xe.warn('Fixing and trixing - removing XXX', u.v, u.w, u.name),
+ (p = eJ(u.v)),
+ (v = eJ(u.w)),
+ i.removeEdge(u.v, u.w, u.name));
+ const b = u.w + '---' + u.v;
+ i.setNode(b, {
+ domId: b,
+ id: b,
+ labelStyle: '',
+ labelText: d.label,
+ padding: 0,
+ shape: 'labelRect',
+ style: '',
+ });
+ const y = structuredClone(d),
+ T = structuredClone(d);
+ ((y.label = ''),
+ (y.arrowTypeEnd = 'none'),
+ (T.label = ''),
+ (y.fromCluster = u.v),
+ (T.toCluster = u.v),
+ i.setEdge(p, b, y, u.name + '-cyclic-special'),
+ i.setEdge(b, v, T, u.name + '-cyclic-special'));
+ } else if (_o[u.v] || _o[u.w]) {
+ if (
+ (Xe.warn('Fixing and trixing - removing XXX', u.v, u.w, u.name),
+ (p = eJ(u.v)),
+ (v = eJ(u.w)),
+ i.removeEdge(u.v, u.w, u.name),
+ p !== u.v)
+ ) {
+ const b = i.parent(p);
+ ((_o[b].externalConnections = !0), (d.fromCluster = u.v));
+ }
+ if (v !== u.w) {
+ const b = i.parent(v);
+ ((_o[b].externalConnections = !0), (d.toCluster = u.w));
+ }
+ (Xe.warn('Fix Replacing with XXX', p, v, u.name), i.setEdge(p, v, d, u.name));
+ }
+ }),
+ Xe.warn('Adjusted Graph', z7(i)),
+ xUe(i, 0),
+ Xe.trace(_o));
+ },
+ xUe = (i, s) => {
+ if ((Xe.warn('extractor - ', s, z7(i), i.children('D')), s > 10)) {
+ Xe.error('Bailing out');
+ return;
+ }
+ let u = i.nodes(),
+ d = !1;
+ for (const p of u) {
+ const v = i.children(p);
+ d = d || v.length > 0;
+ }
+ if (!d) {
+ Xe.debug('Done, no node has children', i.nodes());
+ return;
+ }
+ Xe.debug('Nodes = ', u, s);
+ for (const p of u)
+ if (
+ (Xe.debug(
+ 'Extracting node',
+ p,
+ _o,
+ _o[p] && !_o[p].externalConnections,
+ !i.parent(p),
+ i.node(p),
+ i.children('D'),
+ ' Depth ',
+ s,
+ ),
+ !_o[p])
+ )
+ Xe.debug('Not a cluster', p, s);
+ else if (!_o[p].externalConnections && i.children(p) && i.children(p).length > 0) {
+ Xe.warn('Cluster without external connections, without a parent and with children', p, s);
+ let b = i.graph().rankdir === 'TB' ? 'LR' : 'TB';
+ _o[p] &&
+ _o[p].clusterData &&
+ _o[p].clusterData.dir &&
+ ((b = _o[p].clusterData.dir), Xe.warn('Fixing dir', _o[p].clusterData.dir, b));
+ const y = new N0({ multigraph: !0, compound: !0 })
+ .setGraph({ rankdir: b, nodesep: 50, ranksep: 50, marginx: 8, marginy: 8 })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ (Xe.warn('Old graph before copy', z7(i)),
+ wUe(p, i, y, p),
+ i.setNode(p, {
+ clusterNode: !0,
+ id: p,
+ clusterData: _o[p].clusterData,
+ labelText: _o[p].labelText,
+ graph: y,
+ }),
+ Xe.warn('New graph after copy node: (', p, ')', z7(y)),
+ Xe.debug('Old graph after copy', z7(i)));
+ } else
+ (Xe.warn(
+ 'Cluster ** ',
+ p,
+ ' **not meeting the criteria !externalConnections:',
+ !_o[p].externalConnections,
+ ' no parent: ',
+ !i.parent(p),
+ ' children ',
+ i.children(p) && i.children(p).length > 0,
+ i.children('D'),
+ s,
+ ),
+ Xe.debug(_o));
+ ((u = i.nodes()), Xe.warn('New list of nodes', u));
+ for (const p of u) {
+ const v = i.node(p);
+ (Xe.warn(' Now next level', p, v), v.clusterNode && xUe(v.graph, s + 1));
+ }
+ },
+ kUe = (i, s) => {
+ if (s.length === 0) return [];
+ let u = Object.assign(s);
+ return (
+ s.forEach((d) => {
+ const p = i.children(d),
+ v = kUe(i, p);
+ u = [...u, ...v];
+ }),
+ u
+ );
+ },
+ YZt = (i) => kUe(i, i.children());
+ function XZt(i, s) {
+ return i.intersect(s);
+ }
+ function EUe(i, s, u, d) {
+ var p = i.x,
+ v = i.y,
+ b = p - d.x,
+ y = v - d.y,
+ T = Math.sqrt(s * s * y * y + u * u * b * b),
+ _ = Math.abs((s * u * b) / T);
+ d.x < p && (_ = -_);
+ var A = Math.abs((s * u * y) / T);
+ return (d.y < v && (A = -A), { x: p + _, y: v + A });
+ }
+ function QZt(i, s, u) {
+ return EUe(i, s, s, u);
+ }
+ function JZt(i, s, u, d) {
+ var p, v, b, y, T, _, A, P, R, F, j, W, ee, ie, oe;
+ if (
+ ((p = s.y - i.y),
+ (b = i.x - s.x),
+ (T = s.x * i.y - i.x * s.y),
+ (R = p * u.x + b * u.y + T),
+ (F = p * d.x + b * d.y + T),
+ !(R !== 0 && F !== 0 && TUe(R, F)) &&
+ ((v = d.y - u.y),
+ (y = u.x - d.x),
+ (_ = d.x * u.y - u.x * d.y),
+ (A = v * i.x + y * i.y + _),
+ (P = v * s.x + y * s.y + _),
+ !(A !== 0 && P !== 0 && TUe(A, P)) && ((j = p * y - v * b), j !== 0)))
+ )
+ return (
+ (W = Math.abs(j / 2)),
+ (ee = b * _ - y * T),
+ (ie = ee < 0 ? (ee - W) / j : (ee + W) / j),
+ (ee = v * T - p * _),
+ (oe = ee < 0 ? (ee - W) / j : (ee + W) / j),
+ { x: ie, y: oe }
+ );
+ }
+ function TUe(i, s) {
+ return i * s > 0;
+ }
+ function ZZt(i, s, u) {
+ var d = i.x,
+ p = i.y,
+ v = [],
+ b = Number.POSITIVE_INFINITY,
+ y = Number.POSITIVE_INFINITY;
+ typeof s.forEach == 'function'
+ ? s.forEach(function (j) {
+ ((b = Math.min(b, j.x)), (y = Math.min(y, j.y)));
+ })
+ : ((b = Math.min(b, s.x)), (y = Math.min(y, s.y)));
+ for (var T = d - i.width / 2 - b, _ = p - i.height / 2 - y, A = 0; A < s.length; A++) {
+ var P = s[A],
+ R = s[A < s.length - 1 ? A + 1 : 0],
+ F = JZt(i, u, { x: T + P.x, y: _ + P.y }, { x: T + R.x, y: _ + R.y });
+ F && v.push(F);
+ }
+ return v.length
+ ? (v.length > 1 &&
+ v.sort(function (j, W) {
+ var ee = j.x - u.x,
+ ie = j.y - u.y,
+ oe = Math.sqrt(ee * ee + ie * ie),
+ be = W.x - u.x,
+ ge = W.y - u.y,
+ ae = Math.sqrt(be * be + ge * ge);
+ return oe < ae ? -1 : oe === ae ? 0 : 1;
+ }),
+ v[0])
+ : i;
+ }
+ const DR = (i, s) => {
+ var u = i.x,
+ d = i.y,
+ p = s.x - u,
+ v = s.y - d,
+ b = i.width / 2,
+ y = i.height / 2,
+ T,
+ _;
+ return (
+ Math.abs(v) * b > Math.abs(p) * y
+ ? (v < 0 && (y = -y), (T = v === 0 ? 0 : (y * p) / v), (_ = y))
+ : (p < 0 && (b = -b), (T = b), (_ = p === 0 ? 0 : (b * v) / p)),
+ { x: u + T, y: d + _ }
+ );
+ },
+ Eh = { node: XZt, circle: QZt, ellipse: EUe, polygon: ZZt, rect: DR },
+ een = async (i, s) => {
+ s.useHtmlLabels || qt().flowchart.htmlLabels || (s.centerLabel = !0);
+ const { shapeSvg: d, bbox: p, halfPadding: v } = await h1(i, s, 'node ' + s.classes, !0);
+ Xe.info('Classes = ', s.classes);
+ const b = d.insert('rect', ':first-child');
+ return (
+ b
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('x', -p.width / 2 - v)
+ .attr('y', -p.height / 2 - v)
+ .attr('width', p.width + s.padding)
+ .attr('height', p.height + s.padding),
+ Wh(s, b),
+ (s.intersect = function (y) {
+ return Eh.rect(s, y);
+ }),
+ d
+ );
+ },
+ ten = (i) => {
+ const s = new Set();
+ for (const u of i)
+ switch (u) {
+ case 'x':
+ (s.add('right'), s.add('left'));
+ break;
+ case 'y':
+ (s.add('up'), s.add('down'));
+ break;
+ default:
+ s.add(u);
+ break;
+ }
+ return s;
+ },
+ nen = (i, s, u) => {
+ const d = ten(i),
+ p = 2,
+ v = s.height + 2 * u.padding,
+ b = v / p,
+ y = s.width + 2 * b + u.padding,
+ T = u.padding / 2;
+ return d.has('right') && d.has('left') && d.has('up') && d.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: b, y: 0 },
+ { x: y / 2, y: 2 * T },
+ { x: y - b, y: 0 },
+ { x: y, y: 0 },
+ { x: y, y: -v / 3 },
+ { x: y + 2 * T, y: -v / 2 },
+ { x: y, y: (-2 * v) / 3 },
+ { x: y, y: -v },
+ { x: y - b, y: -v },
+ { x: y / 2, y: -v - 2 * T },
+ { x: b, y: -v },
+ { x: 0, y: -v },
+ { x: 0, y: (-2 * v) / 3 },
+ { x: -2 * T, y: -v / 2 },
+ { x: 0, y: -v / 3 },
+ ]
+ : d.has('right') && d.has('left') && d.has('up')
+ ? [
+ { x: b, y: 0 },
+ { x: y - b, y: 0 },
+ { x: y, y: -v / 2 },
+ { x: y - b, y: -v },
+ { x: b, y: -v },
+ { x: 0, y: -v / 2 },
+ ]
+ : d.has('right') && d.has('left') && d.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: b, y: -v },
+ { x: y - b, y: -v },
+ { x: y, y: 0 },
+ ]
+ : d.has('right') && d.has('up') && d.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: y, y: -b },
+ { x: y, y: -v + b },
+ { x: 0, y: -v },
+ ]
+ : d.has('left') && d.has('up') && d.has('down')
+ ? [
+ { x: y, y: 0 },
+ { x: 0, y: -b },
+ { x: 0, y: -v + b },
+ { x: y, y: -v },
+ ]
+ : d.has('right') && d.has('left')
+ ? [
+ { x: b, y: 0 },
+ { x: b, y: -T },
+ { x: y - b, y: -T },
+ { x: y - b, y: 0 },
+ { x: y, y: -v / 2 },
+ { x: y - b, y: -v },
+ { x: y - b, y: -v + T },
+ { x: b, y: -v + T },
+ { x: b, y: -v },
+ { x: 0, y: -v / 2 },
+ ]
+ : d.has('up') && d.has('down')
+ ? [
+ { x: y / 2, y: 0 },
+ { x: 0, y: -T },
+ { x: b, y: -T },
+ { x: b, y: -v + T },
+ { x: 0, y: -v + T },
+ { x: y / 2, y: -v },
+ { x: y, y: -v + T },
+ { x: y - b, y: -v + T },
+ { x: y - b, y: -T },
+ { x: y, y: -T },
+ ]
+ : d.has('right') && d.has('up')
+ ? [
+ { x: 0, y: 0 },
+ { x: y, y: -b },
+ { x: 0, y: -v },
+ ]
+ : d.has('right') && d.has('down')
+ ? [
+ { x: 0, y: 0 },
+ { x: y, y: 0 },
+ { x: 0, y: -v },
+ ]
+ : d.has('left') && d.has('up')
+ ? [
+ { x: y, y: 0 },
+ { x: 0, y: -b },
+ { x: y, y: -v },
+ ]
+ : d.has('left') && d.has('down')
+ ? [
+ { x: y, y: 0 },
+ { x: 0, y: 0 },
+ { x: y, y: -v },
+ ]
+ : d.has('right')
+ ? [
+ { x: b, y: -T },
+ { x: b, y: -T },
+ { x: y - b, y: -T },
+ { x: y - b, y: 0 },
+ { x: y, y: -v / 2 },
+ { x: y - b, y: -v },
+ { x: y - b, y: -v + T },
+ { x: b, y: -v + T },
+ { x: b, y: -v + T },
+ ]
+ : d.has('left')
+ ? [
+ { x: b, y: 0 },
+ { x: b, y: -T },
+ { x: y - b, y: -T },
+ { x: y - b, y: -v + T },
+ { x: b, y: -v + T },
+ { x: b, y: -v },
+ { x: 0, y: -v / 2 },
+ ]
+ : d.has('up')
+ ? [
+ { x: b, y: -T },
+ { x: b, y: -v + T },
+ { x: 0, y: -v + T },
+ { x: y / 2, y: -v },
+ { x: y, y: -v + T },
+ { x: y - b, y: -v + T },
+ { x: y - b, y: -T },
+ ]
+ : d.has('down')
+ ? [
+ { x: y / 2, y: 0 },
+ { x: 0, y: -T },
+ { x: b, y: -T },
+ { x: b, y: -v + T },
+ { x: y - b, y: -v + T },
+ { x: y - b, y: -T },
+ { x: y, y: -T },
+ ]
+ : [{ x: 0, y: 0 }];
+ },
+ CUe = (i) => (i ? ' ' + i : ''),
+ fm = (i, s) => `${s || 'node default'}${CUe(i.classes)} ${CUe(i.class)}`,
+ SUe = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = p + v,
+ y = [
+ { x: b / 2, y: 0 },
+ { x: b, y: -b / 2 },
+ { x: b / 2, y: -b },
+ { x: 0, y: -b / 2 },
+ ];
+ Xe.info('Question main (Circle)');
+ const T = n5(u, b, b, y);
+ return (
+ T.attr('style', s.style),
+ Wh(s, T),
+ (s.intersect = function (_) {
+ return (Xe.warn('Intersect called'), Eh.polygon(s, y, _));
+ }),
+ u
+ );
+ },
+ ren = (i, s) => {
+ const u = i
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', s.domId || s.id),
+ d = 28,
+ p = [
+ { x: 0, y: d / 2 },
+ { x: d / 2, y: 0 },
+ { x: 0, y: -d / 2 },
+ { x: -d / 2, y: 0 },
+ ];
+ return (
+ u
+ .insert('polygon', ':first-child')
+ .attr(
+ 'points',
+ p
+ .map(function (b) {
+ return b.x + ',' + b.y;
+ })
+ .join(' '),
+ )
+ .attr('class', 'state-start')
+ .attr('r', 7)
+ .attr('width', 28)
+ .attr('height', 28),
+ (s.width = 28),
+ (s.height = 28),
+ (s.intersect = function (b) {
+ return Eh.circle(s, 14, b);
+ }),
+ u
+ );
+ },
+ ien = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = 4,
+ v = d.height + s.padding,
+ b = v / p,
+ y = d.width + 2 * b + s.padding,
+ T = [
+ { x: b, y: 0 },
+ { x: y - b, y: 0 },
+ { x: y, y: -v / 2 },
+ { x: y - b, y: -v },
+ { x: b, y: -v },
+ { x: 0, y: -v / 2 },
+ ],
+ _ = n5(u, y, v, T);
+ return (
+ _.attr('style', s.style),
+ Wh(s, _),
+ (s.intersect = function (A) {
+ return Eh.polygon(s, T, A);
+ }),
+ u
+ );
+ },
+ sen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, void 0, !0),
+ p = 2,
+ v = d.height + 2 * s.padding,
+ b = v / p,
+ y = d.width + 2 * b + s.padding,
+ T = nen(s.directions, d, s),
+ _ = n5(u, y, v, T);
+ return (
+ _.attr('style', s.style),
+ Wh(s, _),
+ (s.intersect = function (A) {
+ return Eh.polygon(s, T, A);
+ }),
+ u
+ );
+ },
+ aen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: -v / 2, y: 0 },
+ { x: p, y: 0 },
+ { x: p, y: -v },
+ { x: -v / 2, y: -v },
+ { x: 0, y: -v / 2 },
+ ];
+ return (
+ n5(u, p, v, b).attr('style', s.style),
+ (s.width = p + v),
+ (s.height = v),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ oen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: (-2 * v) / 6, y: 0 },
+ { x: p - v / 6, y: 0 },
+ { x: p + (2 * v) / 6, y: -v },
+ { x: v / 6, y: -v },
+ ],
+ y = n5(u, p, v, b);
+ return (
+ y.attr('style', s.style),
+ Wh(s, y),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ cen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: (2 * v) / 6, y: 0 },
+ { x: p + v / 6, y: 0 },
+ { x: p - (2 * v) / 6, y: -v },
+ { x: -v / 6, y: -v },
+ ],
+ y = n5(u, p, v, b);
+ return (
+ y.attr('style', s.style),
+ Wh(s, y),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ uen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: (-2 * v) / 6, y: 0 },
+ { x: p + (2 * v) / 6, y: 0 },
+ { x: p - v / 6, y: -v },
+ { x: v / 6, y: -v },
+ ],
+ y = n5(u, p, v, b);
+ return (
+ y.attr('style', s.style),
+ Wh(s, y),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ len = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: v / 6, y: 0 },
+ { x: p - v / 6, y: 0 },
+ { x: p + (2 * v) / 6, y: -v },
+ { x: (-2 * v) / 6, y: -v },
+ ],
+ y = n5(u, p, v, b);
+ return (
+ y.attr('style', s.style),
+ Wh(s, y),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ hen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: 0, y: 0 },
+ { x: p + v / 2, y: 0 },
+ { x: p, y: -v / 2 },
+ { x: p + v / 2, y: -v },
+ { x: 0, y: -v },
+ ],
+ y = n5(u, p, v, b);
+ return (
+ y.attr('style', s.style),
+ Wh(s, y),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ fen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = p / 2,
+ b = v / (2.5 + p / 50),
+ y = d.height + b + s.padding,
+ T =
+ 'M 0,' +
+ b +
+ ' a ' +
+ v +
+ ',' +
+ b +
+ ' 0,0,0 ' +
+ p +
+ ' 0 a ' +
+ v +
+ ',' +
+ b +
+ ' 0,0,0 ' +
+ -p +
+ ' 0 l 0,' +
+ y +
+ ' a ' +
+ v +
+ ',' +
+ b +
+ ' 0,0,0 ' +
+ p +
+ ' 0 l 0,' +
+ -y,
+ _ = u
+ .attr('label-offset-y', b)
+ .insert('path', ':first-child')
+ .attr('style', s.style)
+ .attr('d', T)
+ .attr('transform', 'translate(' + -p / 2 + ',' + -(y / 2 + b) + ')');
+ return (
+ Wh(s, _),
+ (s.intersect = function (A) {
+ const P = Eh.rect(s, A),
+ R = P.x - s.x;
+ if (
+ v != 0 &&
+ (Math.abs(R) < s.width / 2 ||
+ (Math.abs(R) == s.width / 2 && Math.abs(P.y - s.y) > s.height / 2 - b))
+ ) {
+ let F = b * b * (1 - (R * R) / (v * v));
+ (F != 0 && (F = Math.sqrt(F)), (F = b - F), A.y - s.y > 0 && (F = -F), (P.y += F));
+ }
+ return P;
+ }),
+ u
+ );
+ },
+ den = async (i, s) => {
+ const {
+ shapeSvg: u,
+ bbox: d,
+ halfPadding: p,
+ } = await h1(i, s, 'node ' + s.classes + ' ' + s.class, !0),
+ v = u.insert('rect', ':first-child'),
+ b = s.positioned ? s.width : d.width + s.padding,
+ y = s.positioned ? s.height : d.height + s.padding,
+ T = s.positioned ? -b / 2 : -d.width / 2 - p,
+ _ = s.positioned ? -y / 2 : -d.height / 2 - p;
+ if (
+ (v
+ .attr('class', 'basic label-container')
+ .attr('style', s.style)
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('x', T)
+ .attr('y', _)
+ .attr('width', b)
+ .attr('height', y),
+ s.props)
+ ) {
+ const A = new Set(Object.keys(s.props));
+ (s.props.borders && (jme(v, s.props.borders, b, y), A.delete('borders')),
+ A.forEach((P) => {
+ Xe.warn(`Unknown node property ${P}`);
+ }));
+ }
+ return (
+ Wh(s, v),
+ (s.intersect = function (A) {
+ return Eh.rect(s, A);
+ }),
+ u
+ );
+ },
+ gen = async (i, s) => {
+ const { shapeSvg: u, bbox: d, halfPadding: p } = await h1(i, s, 'node ' + s.classes, !0),
+ v = u.insert('rect', ':first-child'),
+ b = s.positioned ? s.width : d.width + s.padding,
+ y = s.positioned ? s.height : d.height + s.padding,
+ T = s.positioned ? -b / 2 : -d.width / 2 - p,
+ _ = s.positioned ? -y / 2 : -d.height / 2 - p;
+ if (
+ (v
+ .attr('class', 'basic cluster composite label-container')
+ .attr('style', s.style)
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('x', T)
+ .attr('y', _)
+ .attr('width', b)
+ .attr('height', y),
+ s.props)
+ ) {
+ const A = new Set(Object.keys(s.props));
+ (s.props.borders && (jme(v, s.props.borders, b, y), A.delete('borders')),
+ A.forEach((P) => {
+ Xe.warn(`Unknown node property ${P}`);
+ }));
+ }
+ return (
+ Wh(s, v),
+ (s.intersect = function (A) {
+ return Eh.rect(s, A);
+ }),
+ u
+ );
+ },
+ pen = async (i, s) => {
+ const { shapeSvg: u } = await h1(i, s, 'label', !0);
+ Xe.trace('Classes = ', s.class);
+ const d = u.insert('rect', ':first-child'),
+ p = 0,
+ v = 0;
+ if ((d.attr('width', p).attr('height', v), u.attr('class', 'label edgeLabel'), s.props)) {
+ const b = new Set(Object.keys(s.props));
+ (s.props.borders && (jme(d, s.props.borders, p, v), b.delete('borders')),
+ b.forEach((y) => {
+ Xe.warn(`Unknown node property ${y}`);
+ }));
+ }
+ return (
+ Wh(s, d),
+ (s.intersect = function (b) {
+ return Eh.rect(s, b);
+ }),
+ u
+ );
+ };
+ function jme(i, s, u, d) {
+ const p = [],
+ v = (y) => {
+ p.push(y, 0);
+ },
+ b = (y) => {
+ p.push(0, y);
+ };
+ (s.includes('t') ? (Xe.debug('add top border'), v(u)) : b(u),
+ s.includes('r') ? (Xe.debug('add right border'), v(d)) : b(d),
+ s.includes('b') ? (Xe.debug('add bottom border'), v(u)) : b(u),
+ s.includes('l') ? (Xe.debug('add left border'), v(d)) : b(d),
+ i.attr('stroke-dasharray', p.join(' ')));
+ }
+ const ben = (i, s) => {
+ let u;
+ s.classes ? (u = 'node ' + s.classes) : (u = 'node default');
+ const d = i
+ .insert('g')
+ .attr('class', u)
+ .attr('id', s.domId || s.id),
+ p = d.insert('rect', ':first-child'),
+ v = d.insert('line'),
+ b = d.insert('g').attr('class', 'label'),
+ y = s.labelText.flat ? s.labelText.flat() : s.labelText;
+ let T = '';
+ (typeof y == 'object' ? (T = y[0]) : (T = y),
+ Xe.info('Label text abc79', T, y, typeof y == 'object'));
+ const _ = b.node().appendChild(z2(T, s.labelStyle, !0, !0));
+ let A = { width: 0, height: 0 };
+ if (u1(qt().flowchart.htmlLabels)) {
+ const W = _.children[0],
+ ee = Ir(_);
+ ((A = W.getBoundingClientRect()), ee.attr('width', A.width), ee.attr('height', A.height));
+ }
+ Xe.info('Text 2', y);
+ const P = y.slice(1, y.length);
+ let R = _.getBBox();
+ const F = b.node().appendChild(z2(P.join ? P.join('
') : P, s.labelStyle, !0, !0));
+ if (u1(qt().flowchart.htmlLabels)) {
+ const W = F.children[0],
+ ee = Ir(F);
+ ((A = W.getBoundingClientRect()), ee.attr('width', A.width), ee.attr('height', A.height));
+ }
+ const j = s.padding / 2;
+ return (
+ Ir(F).attr(
+ 'transform',
+ 'translate( ' +
+ (A.width > R.width ? 0 : (R.width - A.width) / 2) +
+ ', ' +
+ (R.height + j + 5) +
+ ')',
+ ),
+ Ir(_).attr(
+ 'transform',
+ 'translate( ' + (A.width < R.width ? 0 : -(R.width - A.width) / 2) + ', 0)',
+ ),
+ (A = b.node().getBBox()),
+ b.attr('transform', 'translate(' + -A.width / 2 + ', ' + (-A.height / 2 - j + 3) + ')'),
+ p
+ .attr('class', 'outer title-state')
+ .attr('x', -A.width / 2 - j)
+ .attr('y', -A.height / 2 - j)
+ .attr('width', A.width + s.padding)
+ .attr('height', A.height + s.padding),
+ v
+ .attr('class', 'divider')
+ .attr('x1', -A.width / 2 - j)
+ .attr('x2', A.width / 2 + j)
+ .attr('y1', -A.height / 2 - j + R.height + j)
+ .attr('y2', -A.height / 2 - j + R.height + j),
+ Wh(s, p),
+ (s.intersect = function (W) {
+ return Eh.rect(s, W);
+ }),
+ d
+ );
+ },
+ men = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.height + s.padding,
+ v = d.width + p / 4 + s.padding,
+ b = u
+ .insert('rect', ':first-child')
+ .attr('style', s.style)
+ .attr('rx', p / 2)
+ .attr('ry', p / 2)
+ .attr('x', -v / 2)
+ .attr('y', -p / 2)
+ .attr('width', v)
+ .attr('height', p);
+ return (
+ Wh(s, b),
+ (s.intersect = function (y) {
+ return Eh.rect(s, y);
+ }),
+ u
+ );
+ },
+ ven = async (i, s) => {
+ const { shapeSvg: u, bbox: d, halfPadding: p } = await h1(i, s, fm(s, void 0), !0),
+ v = u.insert('circle', ':first-child');
+ return (
+ v
+ .attr('style', s.style)
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('r', d.width / 2 + p)
+ .attr('width', d.width + s.padding)
+ .attr('height', d.height + s.padding),
+ Xe.info('Circle main'),
+ Wh(s, v),
+ (s.intersect = function (b) {
+ return (
+ Xe.info('Circle intersect', s, d.width / 2 + p, b),
+ Eh.circle(s, d.width / 2 + p, b)
+ );
+ }),
+ u
+ );
+ },
+ wen = async (i, s) => {
+ const { shapeSvg: u, bbox: d, halfPadding: p } = await h1(i, s, fm(s, void 0), !0),
+ v = 5,
+ b = u.insert('g', ':first-child'),
+ y = b.insert('circle'),
+ T = b.insert('circle');
+ return (
+ b.attr('class', s.class),
+ y
+ .attr('style', s.style)
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('r', d.width / 2 + p + v)
+ .attr('width', d.width + s.padding + v * 2)
+ .attr('height', d.height + s.padding + v * 2),
+ T.attr('style', s.style)
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('r', d.width / 2 + p)
+ .attr('width', d.width + s.padding)
+ .attr('height', d.height + s.padding),
+ Xe.info('DoubleCircle main'),
+ Wh(s, y),
+ (s.intersect = function (_) {
+ return (
+ Xe.info('DoubleCircle intersect', s, d.width / 2 + p + v, _),
+ Eh.circle(s, d.width / 2 + p + v, _)
+ );
+ }),
+ u
+ );
+ },
+ yen = async (i, s) => {
+ const { shapeSvg: u, bbox: d } = await h1(i, s, fm(s, void 0), !0),
+ p = d.width + s.padding,
+ v = d.height + s.padding,
+ b = [
+ { x: 0, y: 0 },
+ { x: p, y: 0 },
+ { x: p, y: -v },
+ { x: 0, y: -v },
+ { x: 0, y: 0 },
+ { x: -8, y: 0 },
+ { x: p + 8, y: 0 },
+ { x: p + 8, y: -v },
+ { x: -8, y: -v },
+ { x: -8, y: 0 },
+ ],
+ y = n5(u, p, v, b);
+ return (
+ y.attr('style', s.style),
+ Wh(s, y),
+ (s.intersect = function (T) {
+ return Eh.polygon(s, b, T);
+ }),
+ u
+ );
+ },
+ xen = (i, s) => {
+ const u = i
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', s.domId || s.id),
+ d = u.insert('circle', ':first-child');
+ return (
+ d.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ Wh(s, d),
+ (s.intersect = function (p) {
+ return Eh.circle(s, 7, p);
+ }),
+ u
+ );
+ },
+ _Ue = (i, s, u) => {
+ const d = i
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', s.domId || s.id);
+ let p = 70,
+ v = 10;
+ u === 'LR' && ((p = 10), (v = 70));
+ const b = d
+ .append('rect')
+ .attr('x', (-1 * p) / 2)
+ .attr('y', (-1 * v) / 2)
+ .attr('width', p)
+ .attr('height', v)
+ .attr('class', 'fork-join');
+ return (
+ Wh(s, b),
+ (s.height = s.height + s.padding / 2),
+ (s.width = s.width + s.padding / 2),
+ (s.intersect = function (y) {
+ return Eh.rect(s, y);
+ }),
+ d
+ );
+ },
+ AUe = {
+ rhombus: SUe,
+ composite: gen,
+ question: SUe,
+ rect: den,
+ labelRect: pen,
+ rectWithTitle: ben,
+ choice: ren,
+ circle: ven,
+ doublecircle: wen,
+ stadium: men,
+ hexagon: ien,
+ block_arrow: sen,
+ rect_left_inv_arrow: aen,
+ lean_right: oen,
+ lean_left: cen,
+ trapezoid: uen,
+ inv_trapezoid: len,
+ rect_right_inv_arrow: hen,
+ cylinder: fen,
+ start: xen,
+ end: (i, s) => {
+ const u = i
+ .insert('g')
+ .attr('class', 'node default')
+ .attr('id', s.domId || s.id),
+ d = u.insert('circle', ':first-child'),
+ p = u.insert('circle', ':first-child');
+ return (
+ p.attr('class', 'state-start').attr('r', 7).attr('width', 14).attr('height', 14),
+ d.attr('class', 'state-end').attr('r', 5).attr('width', 10).attr('height', 10),
+ Wh(s, p),
+ (s.intersect = function (v) {
+ return Eh.circle(s, 7, v);
+ }),
+ u
+ );
+ },
+ note: een,
+ subroutine: yen,
+ fork: _Ue,
+ join: _Ue,
+ class_box: (i, s) => {
+ const u = s.padding / 2,
+ d = 4,
+ p = 8;
+ let v;
+ s.classes ? (v = 'node ' + s.classes) : (v = 'node default');
+ const b = i
+ .insert('g')
+ .attr('class', v)
+ .attr('id', s.domId || s.id),
+ y = b.insert('rect', ':first-child'),
+ T = b.insert('line'),
+ _ = b.insert('line');
+ let A = 0,
+ P = d;
+ const R = b.insert('g').attr('class', 'label');
+ let F = 0;
+ const j = s.classData.annotations && s.classData.annotations[0],
+ W = s.classData.annotations[0] ? '«' + s.classData.annotations[0] + '»' : '',
+ ee = R.node().appendChild(z2(W, s.labelStyle, !0, !0));
+ let ie = ee.getBBox();
+ if (u1(qt().flowchart.htmlLabels)) {
+ const de = ee.children[0],
+ X = Ir(ee);
+ ((ie = de.getBoundingClientRect()),
+ X.attr('width', ie.width),
+ X.attr('height', ie.height));
+ }
+ s.classData.annotations[0] && ((P += ie.height + d), (A += ie.width));
+ let oe = s.classData.label;
+ s.classData.type !== void 0 &&
+ s.classData.type !== '' &&
+ (qt().flowchart.htmlLabels
+ ? (oe += '<' + s.classData.type + '>')
+ : (oe += '<' + s.classData.type + '>'));
+ const be = R.node().appendChild(z2(oe, s.labelStyle, !0, !0));
+ Ir(be).attr('class', 'classTitle');
+ let ge = be.getBBox();
+ if (u1(qt().flowchart.htmlLabels)) {
+ const de = be.children[0],
+ X = Ir(be);
+ ((ge = de.getBoundingClientRect()),
+ X.attr('width', ge.width),
+ X.attr('height', ge.height));
+ }
+ ((P += ge.height + d), ge.width > A && (A = ge.width));
+ const ae = [];
+ (s.classData.members.forEach((de) => {
+ const X = de.getDisplayDetails();
+ let pe = X.displayText;
+ qt().flowchart.htmlLabels && (pe = pe.replace(//g, '>'));
+ const G = R.node().appendChild(z2(pe, X.cssStyle ? X.cssStyle : s.labelStyle, !0, !0));
+ let xe = G.getBBox();
+ if (u1(qt().flowchart.htmlLabels)) {
+ const U = G.children[0],
+ Be = Ir(G);
+ ((xe = U.getBoundingClientRect()),
+ Be.attr('width', xe.width),
+ Be.attr('height', xe.height));
+ }
+ (xe.width > A && (A = xe.width), (P += xe.height + d), ae.push(G));
+ }),
+ (P += p));
+ const ne = [];
+ if (
+ (s.classData.methods.forEach((de) => {
+ const X = de.getDisplayDetails();
+ let pe = X.displayText;
+ qt().flowchart.htmlLabels && (pe = pe.replace(//g, '>'));
+ const G = R.node().appendChild(z2(pe, X.cssStyle ? X.cssStyle : s.labelStyle, !0, !0));
+ let xe = G.getBBox();
+ if (u1(qt().flowchart.htmlLabels)) {
+ const U = G.children[0],
+ Be = Ir(G);
+ ((xe = U.getBoundingClientRect()),
+ Be.attr('width', xe.width),
+ Be.attr('height', xe.height));
+ }
+ (xe.width > A && (A = xe.width), (P += xe.height + d), ne.push(G));
+ }),
+ (P += p),
+ j)
+ ) {
+ let de = (A - ie.width) / 2;
+ (Ir(ee).attr(
+ 'transform',
+ 'translate( ' + ((-1 * A) / 2 + de) + ', ' + (-1 * P) / 2 + ')',
+ ),
+ (F = ie.height + d));
+ }
+ let se = (A - ge.width) / 2;
+ return (
+ Ir(be).attr(
+ 'transform',
+ 'translate( ' + ((-1 * A) / 2 + se) + ', ' + ((-1 * P) / 2 + F) + ')',
+ ),
+ (F += ge.height + d),
+ T.attr('class', 'divider')
+ .attr('x1', -A / 2 - u)
+ .attr('x2', A / 2 + u)
+ .attr('y1', -P / 2 - u + p + F)
+ .attr('y2', -P / 2 - u + p + F),
+ (F += p),
+ ae.forEach((de) => {
+ Ir(de).attr(
+ 'transform',
+ 'translate( ' + -A / 2 + ', ' + ((-1 * P) / 2 + F + p / 2) + ')',
+ );
+ const X = de == null ? void 0 : de.getBBox();
+ F += ((X == null ? void 0 : X.height) ?? 0) + d;
+ }),
+ (F += p),
+ _.attr('class', 'divider')
+ .attr('x1', -A / 2 - u)
+ .attr('x2', A / 2 + u)
+ .attr('y1', -P / 2 - u + p + F)
+ .attr('y2', -P / 2 - u + p + F),
+ (F += p),
+ ne.forEach((de) => {
+ Ir(de).attr('transform', 'translate( ' + -A / 2 + ', ' + ((-1 * P) / 2 + F) + ')');
+ const X = de == null ? void 0 : de.getBBox();
+ F += ((X == null ? void 0 : X.height) ?? 0) + d;
+ }),
+ y
+ .attr('style', s.style)
+ .attr('class', 'outer title-state')
+ .attr('x', -A / 2 - u)
+ .attr('y', -(P / 2) - u)
+ .attr('width', A + s.padding)
+ .attr('height', P + s.padding),
+ Wh(s, y),
+ (s.intersect = function (de) {
+ return Eh.rect(s, de);
+ }),
+ b
+ );
+ },
+ };
+ let HD = {};
+ const tJ = async (i, s, u) => {
+ let d, p;
+ if (s.link) {
+ let v;
+ (qt().securityLevel === 'sandbox'
+ ? (v = '_top')
+ : s.linkTarget && (v = s.linkTarget || '_blank'),
+ (d = i.insert('svg:a').attr('xlink:href', s.link).attr('target', v)),
+ (p = await AUe[s.shape](d, s, u)));
+ } else ((p = await AUe[s.shape](i, s, u)), (d = p));
+ return (
+ s.tooltip && p.attr('title', s.tooltip),
+ s.class && p.attr('class', 'node default ' + s.class),
+ d.attr('data-node', 'true'),
+ d.attr('data-id', s.id),
+ (HD[s.id] = d),
+ s.haveCallback && HD[s.id].attr('class', HD[s.id].attr('class') + ' clickable'),
+ d
+ );
+ },
+ ken = (i, s) => {
+ HD[s.id] = i;
+ },
+ Een = () => {
+ HD = {};
+ },
+ $me = (i) => {
+ const s = HD[i.id];
+ Xe.trace(
+ 'Transforming node',
+ i.diff,
+ i,
+ 'translate(' + (i.x - i.width / 2 - 5) + ', ' + i.width / 2 + ')',
+ );
+ const u = 8,
+ d = i.diff || 0;
+ return (
+ i.clusterNode
+ ? s.attr(
+ 'transform',
+ 'translate(' + (i.x + d - i.width / 2) + ', ' + (i.y - i.height / 2 - u) + ')',
+ )
+ : s.attr('transform', 'translate(' + i.x + ', ' + i.y + ')'),
+ d
+ );
+ },
+ nJ = ({ flowchart: i }) => {
+ var p, v;
+ const s = ((p = i == null ? void 0 : i.subGraphTitleMargin) == null ? void 0 : p.top) ?? 0,
+ u = ((v = i == null ? void 0 : i.subGraphTitleMargin) == null ? void 0 : v.bottom) ?? 0,
+ d = s + u;
+ return {
+ subGraphTitleTopMargin: s,
+ subGraphTitleBottomMargin: u,
+ subGraphTitleTotalMargin: d,
+ };
+ },
+ Ten = {
+ rect: (i, s) => {
+ Xe.info('Creating subgraph rect for ', s.id, s);
+ const u = qt(),
+ d = i
+ .insert('g')
+ .attr('class', 'cluster' + (s.class ? ' ' + s.class : ''))
+ .attr('id', s.id),
+ p = d.insert('rect', ':first-child'),
+ v = u1(u.flowchart.htmlLabels),
+ b = d.insert('g').attr('class', 'cluster-label'),
+ y =
+ s.labelType === 'markdown'
+ ? JQ(b, s.labelText, { style: s.labelStyle, useHtmlLabels: v })
+ : b.node().appendChild(z2(s.labelText, s.labelStyle, void 0, !0));
+ let T = y.getBBox();
+ if (u1(u.flowchart.htmlLabels)) {
+ const j = y.children[0],
+ W = Ir(y);
+ ((T = j.getBoundingClientRect()), W.attr('width', T.width), W.attr('height', T.height));
+ }
+ const _ = 0 * s.padding,
+ A = _ / 2,
+ P = s.width <= T.width + _ ? T.width + _ : s.width;
+ (s.width <= T.width + _
+ ? (s.diff = (T.width - s.width) / 2 - s.padding / 2)
+ : (s.diff = -s.padding / 2),
+ Xe.trace('Data ', s, JSON.stringify(s)),
+ p
+ .attr('style', s.style)
+ .attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('x', s.x - P / 2)
+ .attr('y', s.y - s.height / 2 - A)
+ .attr('width', P)
+ .attr('height', s.height + _));
+ const { subGraphTitleTopMargin: R } = nJ(u);
+ v
+ ? b.attr('transform', `translate(${s.x - T.width / 2}, ${s.y - s.height / 2 + R})`)
+ : b.attr('transform', `translate(${s.x}, ${s.y - s.height / 2 + R})`);
+ const F = p.node().getBBox();
+ return (
+ (s.width = F.width),
+ (s.height = F.height),
+ (s.intersect = function (j) {
+ return DR(s, j);
+ }),
+ d
+ );
+ },
+ roundedWithTitle: (i, s) => {
+ const u = qt(),
+ d = i.insert('g').attr('class', s.classes).attr('id', s.id),
+ p = d.insert('rect', ':first-child'),
+ v = d.insert('g').attr('class', 'cluster-label'),
+ b = d.append('rect'),
+ y = v.node().appendChild(z2(s.labelText, s.labelStyle, void 0, !0));
+ let T = y.getBBox();
+ if (u1(u.flowchart.htmlLabels)) {
+ const j = y.children[0],
+ W = Ir(y);
+ ((T = j.getBoundingClientRect()), W.attr('width', T.width), W.attr('height', T.height));
+ }
+ T = y.getBBox();
+ const _ = 0 * s.padding,
+ A = _ / 2,
+ P = s.width <= T.width + s.padding ? T.width + s.padding : s.width;
+ (s.width <= T.width + s.padding
+ ? (s.diff = (T.width + s.padding * 0 - s.width) / 2)
+ : (s.diff = -s.padding / 2),
+ p
+ .attr('class', 'outer')
+ .attr('x', s.x - P / 2 - A)
+ .attr('y', s.y - s.height / 2 - A)
+ .attr('width', P + _)
+ .attr('height', s.height + _),
+ b
+ .attr('class', 'inner')
+ .attr('x', s.x - P / 2 - A)
+ .attr('y', s.y - s.height / 2 - A + T.height - 1)
+ .attr('width', P + _)
+ .attr('height', s.height + _ - T.height - 3));
+ const { subGraphTitleTopMargin: R } = nJ(u);
+ v.attr(
+ 'transform',
+ `translate(${s.x - T.width / 2}, ${s.y - s.height / 2 - s.padding / 3 + (u1(u.flowchart.htmlLabels) ? 5 : 3) + R})`,
+ );
+ const F = p.node().getBBox();
+ return (
+ (s.height = F.height),
+ (s.intersect = function (j) {
+ return DR(s, j);
+ }),
+ d
+ );
+ },
+ noteGroup: (i, s) => {
+ const u = i.insert('g').attr('class', 'note-cluster').attr('id', s.id),
+ d = u.insert('rect', ':first-child'),
+ p = 0 * s.padding,
+ v = p / 2;
+ d.attr('rx', s.rx)
+ .attr('ry', s.ry)
+ .attr('x', s.x - s.width / 2 - v)
+ .attr('y', s.y - s.height / 2 - v)
+ .attr('width', s.width + p)
+ .attr('height', s.height + p)
+ .attr('fill', 'none');
+ const b = d.node().getBBox();
+ return (
+ (s.width = b.width),
+ (s.height = b.height),
+ (s.intersect = function (y) {
+ return DR(s, y);
+ }),
+ u
+ );
+ },
+ divider: (i, s) => {
+ const u = i.insert('g').attr('class', s.classes).attr('id', s.id),
+ d = u.insert('rect', ':first-child'),
+ p = 0 * s.padding,
+ v = p / 2;
+ d.attr('class', 'divider')
+ .attr('x', s.x - s.width / 2 - v)
+ .attr('y', s.y - s.height / 2)
+ .attr('width', s.width + p)
+ .attr('height', s.height + p);
+ const b = d.node().getBBox();
+ return (
+ (s.width = b.width),
+ (s.height = b.height),
+ (s.diff = -s.padding / 2),
+ (s.intersect = function (y) {
+ return DR(s, y);
+ }),
+ u
+ );
+ },
+ };
+ let LUe = {};
+ const Cen = (i, s) => {
+ Xe.trace('Inserting cluster');
+ const u = s.shape || 'rect';
+ LUe[s.id] = Ten[u](i, s);
+ },
+ Sen = () => {
+ LUe = {};
+ },
+ N9 = {
+ aggregation: 18,
+ extension: 18,
+ composition: 18,
+ dependency: 6,
+ lollipop: 13.5,
+ arrow_point: 5.3,
+ };
+ function rJ(i, s) {
+ if (i === void 0 || s === void 0) return { angle: 0, deltaX: 0, deltaY: 0 };
+ ((i = iJ(i)), (s = iJ(s)));
+ const [u, d] = [i.x, i.y],
+ [p, v] = [s.x, s.y],
+ b = p - u,
+ y = v - d;
+ return { angle: Math.atan(y / b), deltaX: b, deltaY: y };
+ }
+ const iJ = (i) => (Array.isArray(i) ? { x: i[0], y: i[1] } : i),
+ MUe = (i) => ({
+ x: function (s, u, d) {
+ let p = 0;
+ if (u === 0 && Object.hasOwn(N9, i.arrowTypeStart)) {
+ const { angle: v, deltaX: b } = rJ(d[0], d[1]);
+ p = N9[i.arrowTypeStart] * Math.cos(v) * (b >= 0 ? 1 : -1);
+ } else if (u === d.length - 1 && Object.hasOwn(N9, i.arrowTypeEnd)) {
+ const { angle: v, deltaX: b } = rJ(d[d.length - 1], d[d.length - 2]);
+ p = N9[i.arrowTypeEnd] * Math.cos(v) * (b >= 0 ? 1 : -1);
+ }
+ return iJ(s).x + p;
+ },
+ y: function (s, u, d) {
+ let p = 0;
+ if (u === 0 && Object.hasOwn(N9, i.arrowTypeStart)) {
+ const { angle: v, deltaY: b } = rJ(d[0], d[1]);
+ p = N9[i.arrowTypeStart] * Math.abs(Math.sin(v)) * (b >= 0 ? 1 : -1);
+ } else if (u === d.length - 1 && Object.hasOwn(N9, i.arrowTypeEnd)) {
+ const { angle: v, deltaY: b } = rJ(d[d.length - 1], d[d.length - 2]);
+ p = N9[i.arrowTypeEnd] * Math.abs(Math.sin(v)) * (b >= 0 ? 1 : -1);
+ }
+ return iJ(s).y + p;
+ },
+ }),
+ DUe = (i, s, u, d, p) => {
+ (s.arrowTypeStart && IUe(i, 'start', s.arrowTypeStart, u, d, p),
+ s.arrowTypeEnd && IUe(i, 'end', s.arrowTypeEnd, u, d, p));
+ },
+ _en = {
+ arrow_cross: 'cross',
+ arrow_point: 'point',
+ arrow_barb: 'barb',
+ arrow_circle: 'circle',
+ aggregation: 'aggregation',
+ extension: 'extension',
+ composition: 'composition',
+ dependency: 'dependency',
+ lollipop: 'lollipop',
+ },
+ IUe = (i, s, u, d, p, v) => {
+ const b = _en[u];
+ if (!b) {
+ Xe.warn(`Unknown arrow type: ${u}`);
+ return;
+ }
+ const y = s === 'start' ? 'Start' : 'End';
+ i.attr(`marker-${s}`, `url(${d}#${p}_${v}-${b}${y})`);
+ };
+ let sJ = {},
+ zd = {};
+ const Aen = () => {
+ ((sJ = {}), (zd = {}));
+ },
+ zme = (i, s) => {
+ const u = u1(qt().flowchart.htmlLabels),
+ d =
+ s.labelType === 'markdown'
+ ? JQ(i, s.label, { style: s.labelStyle, useHtmlLabels: u, addSvgBackground: !0 })
+ : z2(s.label, s.labelStyle),
+ p = i.insert('g').attr('class', 'edgeLabel'),
+ v = p.insert('g').attr('class', 'label');
+ v.node().appendChild(d);
+ let b = d.getBBox();
+ if (u) {
+ const T = d.children[0],
+ _ = Ir(d);
+ ((b = T.getBoundingClientRect()), _.attr('width', b.width), _.attr('height', b.height));
+ }
+ (v.attr('transform', 'translate(' + -b.width / 2 + ', ' + -b.height / 2 + ')'),
+ (sJ[s.id] = p),
+ (s.width = b.width),
+ (s.height = b.height));
+ let y;
+ if (s.startLabelLeft) {
+ const T = z2(s.startLabelLeft, s.labelStyle),
+ _ = i.insert('g').attr('class', 'edgeTerminals'),
+ A = _.insert('g').attr('class', 'inner');
+ y = A.node().appendChild(T);
+ const P = T.getBBox();
+ (A.attr('transform', 'translate(' + -P.width / 2 + ', ' + -P.height / 2 + ')'),
+ zd[s.id] || (zd[s.id] = {}),
+ (zd[s.id].startLeft = _),
+ aJ(y, s.startLabelLeft));
+ }
+ if (s.startLabelRight) {
+ const T = z2(s.startLabelRight, s.labelStyle),
+ _ = i.insert('g').attr('class', 'edgeTerminals'),
+ A = _.insert('g').attr('class', 'inner');
+ ((y = _.node().appendChild(T)), A.node().appendChild(T));
+ const P = T.getBBox();
+ (A.attr('transform', 'translate(' + -P.width / 2 + ', ' + -P.height / 2 + ')'),
+ zd[s.id] || (zd[s.id] = {}),
+ (zd[s.id].startRight = _),
+ aJ(y, s.startLabelRight));
+ }
+ if (s.endLabelLeft) {
+ const T = z2(s.endLabelLeft, s.labelStyle),
+ _ = i.insert('g').attr('class', 'edgeTerminals'),
+ A = _.insert('g').attr('class', 'inner');
+ y = A.node().appendChild(T);
+ const P = T.getBBox();
+ (A.attr('transform', 'translate(' + -P.width / 2 + ', ' + -P.height / 2 + ')'),
+ _.node().appendChild(T),
+ zd[s.id] || (zd[s.id] = {}),
+ (zd[s.id].endLeft = _),
+ aJ(y, s.endLabelLeft));
+ }
+ if (s.endLabelRight) {
+ const T = z2(s.endLabelRight, s.labelStyle),
+ _ = i.insert('g').attr('class', 'edgeTerminals'),
+ A = _.insert('g').attr('class', 'inner');
+ y = A.node().appendChild(T);
+ const P = T.getBBox();
+ (A.attr('transform', 'translate(' + -P.width / 2 + ', ' + -P.height / 2 + ')'),
+ _.node().appendChild(T),
+ zd[s.id] || (zd[s.id] = {}),
+ (zd[s.id].endRight = _),
+ aJ(y, s.endLabelRight));
+ }
+ return d;
+ };
+ function aJ(i, s) {
+ qt().flowchart.htmlLabels &&
+ i &&
+ ((i.style.width = s.length * 9 + 'px'), (i.style.height = '12px'));
+ }
+ const OUe = (i, s) => {
+ Xe.debug('Moving label abc88 ', i.id, i.label, sJ[i.id], s);
+ let u = s.updatedPath ? s.updatedPath : s.originalPath;
+ const d = qt(),
+ { subGraphTitleTotalMargin: p } = nJ(d);
+ if (i.label) {
+ const v = sJ[i.id];
+ let b = i.x,
+ y = i.y;
+ if (u) {
+ const T = So.calcLabelPosition(u);
+ (Xe.debug(
+ 'Moving label ' + i.label + ' from (',
+ b,
+ ',',
+ y,
+ ') to (',
+ T.x,
+ ',',
+ T.y,
+ ') abc88',
+ ),
+ s.updatedPath && ((b = T.x), (y = T.y)));
+ }
+ v.attr('transform', `translate(${b}, ${y + p / 2})`);
+ }
+ if (i.startLabelLeft) {
+ const v = zd[i.id].startLeft;
+ let b = i.x,
+ y = i.y;
+ if (u) {
+ const T = So.calcTerminalLabelPosition(i.arrowTypeStart ? 10 : 0, 'start_left', u);
+ ((b = T.x), (y = T.y));
+ }
+ v.attr('transform', `translate(${b}, ${y})`);
+ }
+ if (i.startLabelRight) {
+ const v = zd[i.id].startRight;
+ let b = i.x,
+ y = i.y;
+ if (u) {
+ const T = So.calcTerminalLabelPosition(i.arrowTypeStart ? 10 : 0, 'start_right', u);
+ ((b = T.x), (y = T.y));
+ }
+ v.attr('transform', `translate(${b}, ${y})`);
+ }
+ if (i.endLabelLeft) {
+ const v = zd[i.id].endLeft;
+ let b = i.x,
+ y = i.y;
+ if (u) {
+ const T = So.calcTerminalLabelPosition(i.arrowTypeEnd ? 10 : 0, 'end_left', u);
+ ((b = T.x), (y = T.y));
+ }
+ v.attr('transform', `translate(${b}, ${y})`);
+ }
+ if (i.endLabelRight) {
+ const v = zd[i.id].endRight;
+ let b = i.x,
+ y = i.y;
+ if (u) {
+ const T = So.calcTerminalLabelPosition(i.arrowTypeEnd ? 10 : 0, 'end_right', u);
+ ((b = T.x), (y = T.y));
+ }
+ v.attr('transform', `translate(${b}, ${y})`);
+ }
+ },
+ Len = (i, s) => {
+ const u = i.x,
+ d = i.y,
+ p = Math.abs(s.x - u),
+ v = Math.abs(s.y - d),
+ b = i.width / 2,
+ y = i.height / 2;
+ return p >= b || v >= y;
+ },
+ Men = (i, s, u) => {
+ Xe.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(s)}
insidePoint : ${JSON.stringify(u)}
- node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const d=i.x,p=i.y,v=Math.abs(d-u.x),b=i.width/2;let y=u.xMath.abs(d-s.x)*T){let P=u.y{Xe.debug("abc88 cutPathAtIntersect",i,s);let u=[],d=i[0],p=!1;return i.forEach(v=>{if(!Len(s,v)&&!p){const b=Men(s,d,v);let y=!1;u.forEach(T=>{y=y||T.x===b.x&&T.y===b.y}),u.some(T=>T.x===b.x&&T.y===b.y)||u.push(b),p=!0}else d=v,p||u.push(v)}),u},PUe=function(i,s,u,d,p,v,b){let y=u.points;Xe.debug("abc88 InsertEdge: edge=",u,"e=",s);let T=!1;const _=v.node(s.v);var A=v.node(s.w);A!=null&&A.intersect&&(_!=null&&_.intersect)&&(y=y.slice(1,u.points.length-1),y.unshift(_.intersect(y[0])),y.push(A.intersect(y[y.length-1]))),u.toCluster&&(Xe.debug("to cluster abc88",d[u.toCluster]),y=NUe(u.points,d[u.toCluster].node),T=!0),u.fromCluster&&(Xe.debug("from cluster abc88",d[u.fromCluster]),y=NUe(y.reverse(),d[u.fromCluster].node).reverse(),T=!0);const P=y.filter(ge=>!Number.isNaN(ge.y));let R=BF;u.curve&&(p==="graph"||p==="flowchart")&&(R=u.curve);const{x:F,y:j}=MUe(u),W=x7().x(F).y(j).curve(R);let ee;switch(u.thickness){case"normal":ee="edge-thickness-normal";break;case"thick":ee="edge-thickness-thick";break;case"invisible":ee="edge-thickness-thick";break;default:ee=""}switch(u.pattern){case"solid":ee+=" edge-pattern-solid";break;case"dotted":ee+=" edge-pattern-dotted";break;case"dashed":ee+=" edge-pattern-dashed";break}const ie=i.append("path").attr("d",W(P)).attr("id",u.id).attr("class"," "+ee+(u.classes?" "+u.classes:"")).attr("style",u.style);let oe="";(qt().flowchart.arrowMarkerAbsolute||qt().state.arrowMarkerAbsolute)&&(oe=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,oe=oe.replace(/\(/g,"\\("),oe=oe.replace(/\)/g,"\\)")),DUe(ie,u,oe,b,p);let be={};return T&&(be.updatedPath=y),be.originalPath=u.points,be},BUe=async(i,s,u,d,p,v)=>{Xe.info("Graph in recursive render: XXX",z7(s),p);const b=s.graph().rankdir;Xe.trace("Dir in recursive render - dir:",b);const y=i.insert("g").attr("class","root");s.nodes()?Xe.info("Recursive render XXX",s.nodes()):Xe.info("No nodes found for",s),s.edges().length>0&&Xe.trace("Recursive edges",s.edge(s.edges()[0]));const T=y.insert("g").attr("class","clusters"),_=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),P=y.insert("g").attr("class","nodes");await Promise.all(s.nodes().map(async function(j){const W=s.node(j);if(p!==void 0){const ee=JSON.parse(JSON.stringify(p.clusterData));Xe.info("Setting data for cluster XXX (",j,") ",ee,p),s.setNode(p.id,ee),s.parent(j)||(Xe.trace("Setting parent",j,p.id),s.setParent(j,p.id,ee))}if(Xe.info("(Insert) Node XXX"+j+": "+JSON.stringify(s.node(j))),W&&W.clusterNode){Xe.info("Cluster identified",j,W.width,s.node(j));const ee=await BUe(P,W.graph,u,d,s.node(j),v),ie=ee.elem;Wh(W,ie),W.diff=ee.diff||0,Xe.info("Node bounds (abc123)",j,W,W.width,W.x,W.y),ken(ie,W),Xe.warn("Recursive render complete ",ie,W)}else s.children(j).length>0?(Xe.info("Cluster - the non recursive path XXX",j,W.id,W,s),Xe.info(MR(W.id,s)),_o[W.id]={id:MR(W.id,s),node:W}):(Xe.info("Node - the non recursive path",j,W.id,W),await tJ(P,s.node(j),b))})),s.edges().forEach(function(j){const W=s.edge(j.v,j.w,j.name);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j)),Xe.info("Edge "+j.v+" -> "+j.w+": ",j," ",JSON.stringify(s.edge(j))),Xe.info("Fix",_o,"ids:",j.v,j.w,"Translating: ",_o[j.v],_o[j.w]),zme(A,W)}),s.edges().forEach(function(j){Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j))}),Xe.info("#############################################"),Xe.info("### Layout ###"),Xe.info("#############################################"),Xe.info(s),zD(s),Xe.info("Graph after layout:",z7(s));let R=0;const{subGraphTitleTotalMargin:F}=nJ(v);return YZt(s).forEach(function(j){const W=s.node(j);Xe.info("Position "+j+": "+JSON.stringify(s.node(j))),Xe.info("Position "+j+": ("+W.x,","+W.y,") width: ",W.width," height: ",W.height),W&&W.clusterNode?(W.y+=F,$me(W)):s.children(j).length>0?(W.height+=F,Cen(T,W),_o[W.id].node=W):(W.y+=F/2,$me(W))}),s.edges().forEach(function(j){const W=s.edge(j);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(W),W),W.points.forEach(ie=>ie.y+=F/2);const ee=PUe(_,j,W,_o,u,s,d);OUe(W,ee)}),s.nodes().forEach(function(j){const W=s.node(j);Xe.info(j,W.type,W.diff),W.type==="group"&&(R=W.diff)}),{elem:y,diff:R}},qme=async(i,s,u,d,p)=>{Sme(i,u,d,p),Een(),Aen(),Sen(),GZt(),Xe.warn("Graph at first:",JSON.stringify(z7(s))),WZt(s),Xe.warn("Graph after:",JSON.stringify(z7(s)));const v=qt();await BUe(i,s,d,p,void 0,v)},FUe={},Den=function(i){const s=Object.keys(i);for(const u of s)FUe[u]=i[u]},RUe=async function(i,s,u,d,p,v){const b=d.select(`[id="${u}"]`),y=Object.keys(i);for(const T of y){const _=i[T];let A="default";_.classes.length>0&&(A=_.classes.join(" ")),A=A+" flowchart-label";const P=am(_.styles);let R=_.text!==void 0?_.text:_.id,F;if(Xe.info("vertex",_,_.labelType),_.labelType==="markdown")Xe.info("vertex",_,_.labelType);else if(u1(qt().flowchart.htmlLabels))F=vme(b,{label:R}).node(),F.parentNode.removeChild(F);else{const ie=p.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",P.labelStyle.replace("color:","fill:"));const oe=R.split(ci.lineBreakRegex);for(const be of oe){const ge=p.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}F=ie}let j=0,W="";switch(_.type){case"round":j=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}const ee=await TC(R,qt());s.setNode(_.id,{labelStyle:P.labelStyle,shape:W,labelText:ee,labelType:_.labelType,rx:j,ry:j,class:A,style:P.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:qt().flowchart.padding}),Xe.info("setNode",{labelStyle:P.labelStyle,labelType:_.labelType,shape:W,labelText:ee,rx:j,ry:j,class:A,style:P.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:qt().flowchart.padding})}},jUe=async function(i,s,u){Xe.info("abc78 edges = ",i);let d=0,p={},v,b;if(i.defaultStyle!==void 0){const y=am(i.defaultStyle);v=y.style,b=y.labelStyle}for(const y of i){d++;const T="L-"+y.start+"-"+y.end;p[T]===void 0?(p[T]=0,Xe.info("abc78 new entry",T,p[T])):(p[T]++,Xe.info("abc78 new entry",T,p[T]));let _=T+"-"+p[T];Xe.info("abc78 new link id to be used is",T,_,p[T]);const A="LS-"+y.start,P="LE-"+y.end,R={style:"",labelStyle:""};switch(R.minlen=y.length||1,y.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",y.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let F="",j="";switch(y.stroke){case"normal":F="fill:none;",v!==void 0&&(F=v),b!==void 0&&(j=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(y.style!==void 0){const W=am(y.style);F=W.style,j=W.labelStyle}R.style=R.style+=F,R.labelStyle=R.labelStyle+=j,y.interpolate!==void 0?R.curve=Ov(y.interpolate,xp):i.defaultInterpolate!==void 0?R.curve=Ov(i.defaultInterpolate,xp):R.curve=Ov(FUe.curve,xp),y.text===void 0?y.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=y.labelType,R.label=await TC(y.text.replace(ci.lineBreakRegex,`
-`),qt()),y.style===void 0&&(R.style=R.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),R.labelStyle=R.labelStyle.replace("color:","fill:"),R.id=_,R.classes="flowchart-link "+A+" "+P,s.setEdge(y.start,y.end,R,d)}},Hme={setConf:Den,addVertices:RUe,addEdges:jUe,getClasses:function(i,s){return s.db.getClasses()},draw:async function(i,s,u,d){Xe.info("Drawing flowchart");let p=d.db.getDirection();p===void 0&&(p="TD");const{securityLevel:v,flowchart:b}=qt(),y=b.nodeSpacing||50,T=b.rankSpacing||50;let _;v==="sandbox"&&(_=Ir("#i"+s));const A=Ir(v==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=v==="sandbox"?_.nodes()[0].contentDocument:document,R=new N0({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:y,ranksep:T,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let F;const j=d.db.getSubGraphs();Xe.info("Subgraphs - ",j);for(let ae=j.length-1;ae>=0;ae--)F=j[ae],Xe.info("Subgraph - ",F),d.db.addVertex(F.id,{text:F.title,type:F.labelType},"group",void 0,F.classes,F.dir);const W=d.db.getVertices(),ee=d.db.getEdges();Xe.info("Edges",ee);let ie=0;for(ie=j.length-1;ie>=0;ie--){F=j[ie],_Be("cluster").append("text");for(let ae=0;ae{const u=MRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return CC(d,p,v,s)},$Ue=i=>`.label {
+ node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);
+ const d = i.x,
+ p = i.y,
+ v = Math.abs(d - u.x),
+ b = i.width / 2;
+ let y = u.x < s.x ? b - v : b + v;
+ const T = i.height / 2,
+ _ = Math.abs(s.y - u.y),
+ A = Math.abs(s.x - u.x);
+ if (Math.abs(p - s.y) * b > Math.abs(d - s.x) * T) {
+ let P = u.y < s.y ? s.y - T - p : p - T - s.y;
+ y = (A * P) / _;
+ const R = {
+ x: u.x < s.x ? u.x + y : u.x - A + y,
+ y: u.y < s.y ? u.y + _ - P : u.y - _ + P,
+ };
+ return (
+ y === 0 && ((R.x = s.x), (R.y = s.y)),
+ A === 0 && (R.x = s.x),
+ _ === 0 && (R.y = s.y),
+ Xe.debug(`abc89 topp/bott calc, Q ${_}, q ${P}, R ${A}, r ${y}`, R),
+ R
+ );
+ } else {
+ u.x < s.x ? (y = s.x - b - d) : (y = d - b - s.x);
+ let P = (_ * y) / A,
+ R = u.x < s.x ? u.x + A - y : u.x - A + y,
+ F = u.y < s.y ? u.y + P : u.y - P;
+ return (
+ Xe.debug(`sides calc abc89, Q ${_}, q ${P}, R ${A}, r ${y}`, { _x: R, _y: F }),
+ y === 0 && ((R = s.x), (F = s.y)),
+ A === 0 && (R = s.x),
+ _ === 0 && (F = s.y),
+ { x: R, y: F }
+ );
+ }
+ },
+ NUe = (i, s) => {
+ Xe.debug('abc88 cutPathAtIntersect', i, s);
+ let u = [],
+ d = i[0],
+ p = !1;
+ return (
+ i.forEach((v) => {
+ if (!Len(s, v) && !p) {
+ const b = Men(s, d, v);
+ let y = !1;
+ (u.forEach((T) => {
+ y = y || (T.x === b.x && T.y === b.y);
+ }),
+ u.some((T) => T.x === b.x && T.y === b.y) || u.push(b),
+ (p = !0));
+ } else ((d = v), p || u.push(v));
+ }),
+ u
+ );
+ },
+ PUe = function (i, s, u, d, p, v, b) {
+ let y = u.points;
+ Xe.debug('abc88 InsertEdge: edge=', u, 'e=', s);
+ let T = !1;
+ const _ = v.node(s.v);
+ var A = v.node(s.w);
+ (A != null &&
+ A.intersect &&
+ _ != null &&
+ _.intersect &&
+ ((y = y.slice(1, u.points.length - 1)),
+ y.unshift(_.intersect(y[0])),
+ y.push(A.intersect(y[y.length - 1]))),
+ u.toCluster &&
+ (Xe.debug('to cluster abc88', d[u.toCluster]),
+ (y = NUe(u.points, d[u.toCluster].node)),
+ (T = !0)),
+ u.fromCluster &&
+ (Xe.debug('from cluster abc88', d[u.fromCluster]),
+ (y = NUe(y.reverse(), d[u.fromCluster].node).reverse()),
+ (T = !0)));
+ const P = y.filter((ge) => !Number.isNaN(ge.y));
+ let R = BF;
+ u.curve && (p === 'graph' || p === 'flowchart') && (R = u.curve);
+ const { x: F, y: j } = MUe(u),
+ W = x7().x(F).y(j).curve(R);
+ let ee;
+ switch (u.thickness) {
+ case 'normal':
+ ee = 'edge-thickness-normal';
+ break;
+ case 'thick':
+ ee = 'edge-thickness-thick';
+ break;
+ case 'invisible':
+ ee = 'edge-thickness-thick';
+ break;
+ default:
+ ee = '';
+ }
+ switch (u.pattern) {
+ case 'solid':
+ ee += ' edge-pattern-solid';
+ break;
+ case 'dotted':
+ ee += ' edge-pattern-dotted';
+ break;
+ case 'dashed':
+ ee += ' edge-pattern-dashed';
+ break;
+ }
+ const ie = i
+ .append('path')
+ .attr('d', W(P))
+ .attr('id', u.id)
+ .attr('class', ' ' + ee + (u.classes ? ' ' + u.classes : ''))
+ .attr('style', u.style);
+ let oe = '';
+ ((qt().flowchart.arrowMarkerAbsolute || qt().state.arrowMarkerAbsolute) &&
+ ((oe =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (oe = oe.replace(/\(/g, '\\(')),
+ (oe = oe.replace(/\)/g, '\\)'))),
+ DUe(ie, u, oe, b, p));
+ let be = {};
+ return (T && (be.updatedPath = y), (be.originalPath = u.points), be);
+ },
+ BUe = async (i, s, u, d, p, v) => {
+ Xe.info('Graph in recursive render: XXX', z7(s), p);
+ const b = s.graph().rankdir;
+ Xe.trace('Dir in recursive render - dir:', b);
+ const y = i.insert('g').attr('class', 'root');
+ (s.nodes() ? Xe.info('Recursive render XXX', s.nodes()) : Xe.info('No nodes found for', s),
+ s.edges().length > 0 && Xe.trace('Recursive edges', s.edge(s.edges()[0])));
+ const T = y.insert('g').attr('class', 'clusters'),
+ _ = y.insert('g').attr('class', 'edgePaths'),
+ A = y.insert('g').attr('class', 'edgeLabels'),
+ P = y.insert('g').attr('class', 'nodes');
+ (await Promise.all(
+ s.nodes().map(async function (j) {
+ const W = s.node(j);
+ if (p !== void 0) {
+ const ee = JSON.parse(JSON.stringify(p.clusterData));
+ (Xe.info('Setting data for cluster XXX (', j, ') ', ee, p),
+ s.setNode(p.id, ee),
+ s.parent(j) || (Xe.trace('Setting parent', j, p.id), s.setParent(j, p.id, ee)));
+ }
+ if (
+ (Xe.info('(Insert) Node XXX' + j + ': ' + JSON.stringify(s.node(j))),
+ W && W.clusterNode)
+ ) {
+ Xe.info('Cluster identified', j, W.width, s.node(j));
+ const ee = await BUe(P, W.graph, u, d, s.node(j), v),
+ ie = ee.elem;
+ (Wh(W, ie),
+ (W.diff = ee.diff || 0),
+ Xe.info('Node bounds (abc123)', j, W, W.width, W.x, W.y),
+ ken(ie, W),
+ Xe.warn('Recursive render complete ', ie, W));
+ } else
+ s.children(j).length > 0
+ ? (Xe.info('Cluster - the non recursive path XXX', j, W.id, W, s),
+ Xe.info(MR(W.id, s)),
+ (_o[W.id] = { id: MR(W.id, s), node: W }))
+ : (Xe.info('Node - the non recursive path', j, W.id, W), await tJ(P, s.node(j), b));
+ }),
+ ),
+ s.edges().forEach(function (j) {
+ const W = s.edge(j.v, j.w, j.name);
+ (Xe.info('Edge ' + j.v + ' -> ' + j.w + ': ' + JSON.stringify(j)),
+ Xe.info('Edge ' + j.v + ' -> ' + j.w + ': ', j, ' ', JSON.stringify(s.edge(j))),
+ Xe.info('Fix', _o, 'ids:', j.v, j.w, 'Translating: ', _o[j.v], _o[j.w]),
+ zme(A, W));
+ }),
+ s.edges().forEach(function (j) {
+ Xe.info('Edge ' + j.v + ' -> ' + j.w + ': ' + JSON.stringify(j));
+ }),
+ Xe.info('#############################################'),
+ Xe.info('### Layout ###'),
+ Xe.info('#############################################'),
+ Xe.info(s),
+ zD(s),
+ Xe.info('Graph after layout:', z7(s)));
+ let R = 0;
+ const { subGraphTitleTotalMargin: F } = nJ(v);
+ return (
+ YZt(s).forEach(function (j) {
+ const W = s.node(j);
+ (Xe.info('Position ' + j + ': ' + JSON.stringify(s.node(j))),
+ Xe.info(
+ 'Position ' + j + ': (' + W.x,
+ ',' + W.y,
+ ') width: ',
+ W.width,
+ ' height: ',
+ W.height,
+ ),
+ W && W.clusterNode
+ ? ((W.y += F), $me(W))
+ : s.children(j).length > 0
+ ? ((W.height += F), Cen(T, W), (_o[W.id].node = W))
+ : ((W.y += F / 2), $me(W)));
+ }),
+ s.edges().forEach(function (j) {
+ const W = s.edge(j);
+ (Xe.info('Edge ' + j.v + ' -> ' + j.w + ': ' + JSON.stringify(W), W),
+ W.points.forEach((ie) => (ie.y += F / 2)));
+ const ee = PUe(_, j, W, _o, u, s, d);
+ OUe(W, ee);
+ }),
+ s.nodes().forEach(function (j) {
+ const W = s.node(j);
+ (Xe.info(j, W.type, W.diff), W.type === 'group' && (R = W.diff));
+ }),
+ { elem: y, diff: R }
+ );
+ },
+ qme = async (i, s, u, d, p) => {
+ (Sme(i, u, d, p),
+ Een(),
+ Aen(),
+ Sen(),
+ GZt(),
+ Xe.warn('Graph at first:', JSON.stringify(z7(s))),
+ WZt(s),
+ Xe.warn('Graph after:', JSON.stringify(z7(s))));
+ const v = qt();
+ await BUe(i, s, d, p, void 0, v);
+ },
+ FUe = {},
+ Den = function (i) {
+ const s = Object.keys(i);
+ for (const u of s) FUe[u] = i[u];
+ },
+ RUe = async function (i, s, u, d, p, v) {
+ const b = d.select(`[id="${u}"]`),
+ y = Object.keys(i);
+ for (const T of y) {
+ const _ = i[T];
+ let A = 'default';
+ (_.classes.length > 0 && (A = _.classes.join(' ')), (A = A + ' flowchart-label'));
+ const P = am(_.styles);
+ let R = _.text !== void 0 ? _.text : _.id,
+ F;
+ if ((Xe.info('vertex', _, _.labelType), _.labelType === 'markdown'))
+ Xe.info('vertex', _, _.labelType);
+ else if (u1(qt().flowchart.htmlLabels))
+ ((F = vme(b, { label: R }).node()), F.parentNode.removeChild(F));
+ else {
+ const ie = p.createElementNS('http://www.w3.org/2000/svg', 'text');
+ ie.setAttribute('style', P.labelStyle.replace('color:', 'fill:'));
+ const oe = R.split(ci.lineBreakRegex);
+ for (const be of oe) {
+ const ge = p.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ (ge.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ ge.setAttribute('dy', '1em'),
+ ge.setAttribute('x', '1'),
+ (ge.textContent = be),
+ ie.appendChild(ge));
+ }
+ F = ie;
+ }
+ let j = 0,
+ W = '';
+ switch (_.type) {
+ case 'round':
+ ((j = 5), (W = 'rect'));
+ break;
+ case 'square':
+ W = 'rect';
+ break;
+ case 'diamond':
+ W = 'question';
+ break;
+ case 'hexagon':
+ W = 'hexagon';
+ break;
+ case 'odd':
+ W = 'rect_left_inv_arrow';
+ break;
+ case 'lean_right':
+ W = 'lean_right';
+ break;
+ case 'lean_left':
+ W = 'lean_left';
+ break;
+ case 'trapezoid':
+ W = 'trapezoid';
+ break;
+ case 'inv_trapezoid':
+ W = 'inv_trapezoid';
+ break;
+ case 'odd_right':
+ W = 'rect_left_inv_arrow';
+ break;
+ case 'circle':
+ W = 'circle';
+ break;
+ case 'ellipse':
+ W = 'ellipse';
+ break;
+ case 'stadium':
+ W = 'stadium';
+ break;
+ case 'subroutine':
+ W = 'subroutine';
+ break;
+ case 'cylinder':
+ W = 'cylinder';
+ break;
+ case 'group':
+ W = 'rect';
+ break;
+ case 'doublecircle':
+ W = 'doublecircle';
+ break;
+ default:
+ W = 'rect';
+ }
+ const ee = await TC(R, qt());
+ (s.setNode(_.id, {
+ labelStyle: P.labelStyle,
+ shape: W,
+ labelText: ee,
+ labelType: _.labelType,
+ rx: j,
+ ry: j,
+ class: A,
+ style: P.style,
+ id: _.id,
+ link: _.link,
+ linkTarget: _.linkTarget,
+ tooltip: v.db.getTooltip(_.id) || '',
+ domId: v.db.lookUpDomId(_.id),
+ haveCallback: _.haveCallback,
+ width: _.type === 'group' ? 500 : void 0,
+ dir: _.dir,
+ type: _.type,
+ props: _.props,
+ padding: qt().flowchart.padding,
+ }),
+ Xe.info('setNode', {
+ labelStyle: P.labelStyle,
+ labelType: _.labelType,
+ shape: W,
+ labelText: ee,
+ rx: j,
+ ry: j,
+ class: A,
+ style: P.style,
+ id: _.id,
+ domId: v.db.lookUpDomId(_.id),
+ width: _.type === 'group' ? 500 : void 0,
+ type: _.type,
+ dir: _.dir,
+ props: _.props,
+ padding: qt().flowchart.padding,
+ }));
+ }
+ },
+ jUe = async function (i, s, u) {
+ Xe.info('abc78 edges = ', i);
+ let d = 0,
+ p = {},
+ v,
+ b;
+ if (i.defaultStyle !== void 0) {
+ const y = am(i.defaultStyle);
+ ((v = y.style), (b = y.labelStyle));
+ }
+ for (const y of i) {
+ d++;
+ const T = 'L-' + y.start + '-' + y.end;
+ p[T] === void 0
+ ? ((p[T] = 0), Xe.info('abc78 new entry', T, p[T]))
+ : (p[T]++, Xe.info('abc78 new entry', T, p[T]));
+ let _ = T + '-' + p[T];
+ Xe.info('abc78 new link id to be used is', T, _, p[T]);
+ const A = 'LS-' + y.start,
+ P = 'LE-' + y.end,
+ R = { style: '', labelStyle: '' };
+ switch (
+ ((R.minlen = y.length || 1),
+ y.type === 'arrow_open' ? (R.arrowhead = 'none') : (R.arrowhead = 'normal'),
+ (R.arrowTypeStart = 'arrow_open'),
+ (R.arrowTypeEnd = 'arrow_open'),
+ y.type)
+ ) {
+ case 'double_arrow_cross':
+ R.arrowTypeStart = 'arrow_cross';
+ case 'arrow_cross':
+ R.arrowTypeEnd = 'arrow_cross';
+ break;
+ case 'double_arrow_point':
+ R.arrowTypeStart = 'arrow_point';
+ case 'arrow_point':
+ R.arrowTypeEnd = 'arrow_point';
+ break;
+ case 'double_arrow_circle':
+ R.arrowTypeStart = 'arrow_circle';
+ case 'arrow_circle':
+ R.arrowTypeEnd = 'arrow_circle';
+ break;
+ }
+ let F = '',
+ j = '';
+ switch (y.stroke) {
+ case 'normal':
+ ((F = 'fill:none;'),
+ v !== void 0 && (F = v),
+ b !== void 0 && (j = b),
+ (R.thickness = 'normal'),
+ (R.pattern = 'solid'));
+ break;
+ case 'dotted':
+ ((R.thickness = 'normal'),
+ (R.pattern = 'dotted'),
+ (R.style = 'fill:none;stroke-width:2px;stroke-dasharray:3;'));
+ break;
+ case 'thick':
+ ((R.thickness = 'thick'),
+ (R.pattern = 'solid'),
+ (R.style = 'stroke-width: 3.5px;fill:none;'));
+ break;
+ case 'invisible':
+ ((R.thickness = 'invisible'),
+ (R.pattern = 'solid'),
+ (R.style = 'stroke-width: 0;fill:none;'));
+ break;
+ }
+ if (y.style !== void 0) {
+ const W = am(y.style);
+ ((F = W.style), (j = W.labelStyle));
+ }
+ ((R.style = R.style += F),
+ (R.labelStyle = R.labelStyle += j),
+ y.interpolate !== void 0
+ ? (R.curve = Ov(y.interpolate, xp))
+ : i.defaultInterpolate !== void 0
+ ? (R.curve = Ov(i.defaultInterpolate, xp))
+ : (R.curve = Ov(FUe.curve, xp)),
+ y.text === void 0
+ ? y.style !== void 0 && (R.arrowheadStyle = 'fill: #333')
+ : ((R.arrowheadStyle = 'fill: #333'), (R.labelpos = 'c')),
+ (R.labelType = y.labelType),
+ (R.label = await TC(
+ y.text.replace(
+ ci.lineBreakRegex,
+ `
+`,
+ ),
+ qt(),
+ )),
+ y.style === void 0 &&
+ (R.style = R.style || 'stroke: #333; stroke-width: 1.5px;fill:none;'),
+ (R.labelStyle = R.labelStyle.replace('color:', 'fill:')),
+ (R.id = _),
+ (R.classes = 'flowchart-link ' + A + ' ' + P),
+ s.setEdge(y.start, y.end, R, d));
+ }
+ },
+ Hme = {
+ setConf: Den,
+ addVertices: RUe,
+ addEdges: jUe,
+ getClasses: function (i, s) {
+ return s.db.getClasses();
+ },
+ draw: async function (i, s, u, d) {
+ Xe.info('Drawing flowchart');
+ let p = d.db.getDirection();
+ p === void 0 && (p = 'TD');
+ const { securityLevel: v, flowchart: b } = qt(),
+ y = b.nodeSpacing || 50,
+ T = b.rankSpacing || 50;
+ let _;
+ v === 'sandbox' && (_ = Ir('#i' + s));
+ const A = Ir(v === 'sandbox' ? _.nodes()[0].contentDocument.body : 'body'),
+ P = v === 'sandbox' ? _.nodes()[0].contentDocument : document,
+ R = new N0({ multigraph: !0, compound: !0 })
+ .setGraph({ rankdir: p, nodesep: y, ranksep: T, marginx: 0, marginy: 0 })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let F;
+ const j = d.db.getSubGraphs();
+ Xe.info('Subgraphs - ', j);
+ for (let ae = j.length - 1; ae >= 0; ae--)
+ ((F = j[ae]),
+ Xe.info('Subgraph - ', F),
+ d.db.addVertex(
+ F.id,
+ { text: F.title, type: F.labelType },
+ 'group',
+ void 0,
+ F.classes,
+ F.dir,
+ ));
+ const W = d.db.getVertices(),
+ ee = d.db.getEdges();
+ Xe.info('Edges', ee);
+ let ie = 0;
+ for (ie = j.length - 1; ie >= 0; ie--) {
+ ((F = j[ie]), _Be('cluster').append('text'));
+ for (let ae = 0; ae < F.nodes.length; ae++)
+ (Xe.info('Setting up subgraphs', F.nodes[ae], F.id), R.setParent(F.nodes[ae], F.id));
+ }
+ (await RUe(W, R, s, A, P, d), await jUe(ee, R));
+ const oe = A.select(`[id="${s}"]`),
+ be = A.select('#' + s + ' g');
+ if (
+ (await qme(be, R, ['point', 'circle', 'cross'], 'flowchart', s),
+ So.insertTitle(oe, 'flowchartTitleText', b.titleTopMargin, d.db.getDiagramTitle()),
+ w9(R, oe, b.diagramPadding, b.useMaxWidth),
+ d.db.indexNodes('subGraph' + ie),
+ !b.htmlLabels)
+ ) {
+ const ae = P.querySelectorAll('[id="' + s + '"] .edgeLabel .label');
+ for (const ne of ae) {
+ const se = ne.getBBox(),
+ de = P.createElementNS('http://www.w3.org/2000/svg', 'rect');
+ (de.setAttribute('rx', 0),
+ de.setAttribute('ry', 0),
+ de.setAttribute('width', se.width),
+ de.setAttribute('height', se.height),
+ ne.insertBefore(de, ne.firstChild));
+ }
+ }
+ Object.keys(W).forEach(function (ae) {
+ const ne = W[ae];
+ if (ne.link) {
+ const se = Ir('#' + s + ' [id="' + ae + '"]');
+ if (se) {
+ const de = P.createElementNS('http://www.w3.org/2000/svg', 'a');
+ (de.setAttributeNS('http://www.w3.org/2000/svg', 'class', ne.classes.join(' ')),
+ de.setAttributeNS('http://www.w3.org/2000/svg', 'href', ne.link),
+ de.setAttributeNS('http://www.w3.org/2000/svg', 'rel', 'noopener'),
+ v === 'sandbox'
+ ? de.setAttributeNS('http://www.w3.org/2000/svg', 'target', '_top')
+ : ne.linkTarget &&
+ de.setAttributeNS('http://www.w3.org/2000/svg', 'target', ne.linkTarget));
+ const X = se.insert(function () {
+ return de;
+ }, ':first-child'),
+ pe = se.select('.label-container');
+ pe &&
+ X.append(function () {
+ return pe.node();
+ });
+ const G = se.select('.label');
+ G &&
+ X.append(function () {
+ return G.node();
+ });
+ }
+ }
+ });
+ },
+ },
+ Ien = (i, s) => {
+ const u = MRe,
+ d = u(i, 'r'),
+ p = u(i, 'g'),
+ v = u(i, 'b');
+ return CC(d, p, v, s);
+ },
+ $Ue = (i) => `.label {
font-family: ${i.fontFamily};
- color: ${i.nodeTextColor||i.textColor};
+ color: ${i.nodeTextColor || i.textColor};
}
.cluster-label text {
fill: ${i.titleColor};
@@ -390,8 +42900,8 @@ You have to call mermaid.initialize.`)},Rqe=function(i,s,u){Xe.info("addLink (ab
}
.label text,span,p {
- fill: ${i.nodeTextColor||i.textColor};
- color: ${i.nodeTextColor||i.textColor};
+ fill: ${i.nodeTextColor || i.textColor};
+ color: ${i.nodeTextColor || i.textColor};
}
.node rect,
@@ -452,7 +42962,7 @@ You have to call mermaid.initialize.`)},Rqe=function(i,s,u){Xe.info("addLink (ab
/* For html labels only */
.labelBkg {
- background-color: ${Ien(i.edgeLabelBackground,.5)};
+ background-color: ${Ien(i.edgeLabelBackground, 0.5)};
// background-color:
}
@@ -492,12 +43002,1738 @@ You have to call mermaid.initialize.`)},Rqe=function(i,s,u){Xe.info("addLink (ab
font-size: 18px;
fill: ${i.textColor};
}
-`,Oen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gbe,db:qC,renderer:Hme,styles:$Ue,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,OQt.setConf(i.flowchart),qC.clear(),qC.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),Nen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gbe,db:qC,renderer:Hme,styles:$Ue,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,Ojt({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),Hme.setConf(i.flowchart),qC.clear(),qC.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var Vme=function(){var i=function(de,X,pe,G){for(pe=pe||{},G=de.length;G--;pe[de[G]]=X);return pe},s=[6,8,10,20,22,24,26,27,28],u=[1,10],d=[1,11],p=[1,12],v=[1,13],b=[1,14],y=[1,15],T=[1,21],_=[1,22],A=[1,23],P=[1,24],R=[1,25],F=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],j=[1,34],W=[27,28,46,47],ee=[41,42,43,44,45],ie=[17,34],oe=[1,54],be=[1,53],ge=[17,34,36,38],ae={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(X,pe,G,xe,U,Be,Ne){var je=Be.length-1;switch(U){case 1:break;case 2:this.$=[];break;case 3:Be[je-1].push(Be[je]),this.$=Be[je-1];break;case 4:case 5:this.$=Be[je];break;case 6:case 7:this.$=[];break;case 8:xe.addEntity(Be[je-4]),xe.addEntity(Be[je-2]),xe.addRelationship(Be[je-4],Be[je],Be[je-2],Be[je-3]);break;case 9:xe.addEntity(Be[je-3]),xe.addAttributes(Be[je-3],Be[je-1]);break;case 10:xe.addEntity(Be[je-2]);break;case 11:xe.addEntity(Be[je]);break;case 12:xe.addEntity(Be[je-6],Be[je-4]),xe.addAttributes(Be[je-6],Be[je-1]);break;case 13:xe.addEntity(Be[je-5],Be[je-3]);break;case 14:xe.addEntity(Be[je-3],Be[je-1]);break;case 15:case 16:this.$=Be[je].trim(),xe.setAccTitle(this.$);break;case 17:case 18:this.$=Be[je].trim(),xe.setAccDescription(this.$);break;case 19:case 43:this.$=Be[je];break;case 20:case 41:case 42:this.$=Be[je].replace(/"/g,"");break;case 21:case 29:this.$=[Be[je]];break;case 22:Be[je].push(Be[je-1]),this.$=Be[je];break;case 23:this.$={attributeType:Be[je-1],attributeName:Be[je]};break;case 24:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeKeyTypeList:Be[je]};break;case 25:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeComment:Be[je]};break;case 26:this.$={attributeType:Be[je-3],attributeName:Be[je-2],attributeKeyTypeList:Be[je-1],attributeComment:Be[je]};break;case 27:case 28:case 31:this.$=Be[je];break;case 30:Be[je-2].push(Be[je]),this.$=Be[je-2];break;case 32:this.$=Be[je].replace(/"/g,"");break;case 33:this.$={cardA:Be[je],relType:Be[je-1],cardB:Be[je-2]};break;case 34:this.$=xe.Cardinality.ZERO_OR_ONE;break;case 35:this.$=xe.Cardinality.ZERO_OR_MORE;break;case 36:this.$=xe.Cardinality.ONE_OR_MORE;break;case 37:this.$=xe.Cardinality.ONLY_ONE;break;case 38:this.$=xe.Cardinality.MD_PARENT;break;case 39:this.$=xe.Identification.NON_IDENTIFYING;break;case 40:this.$=xe.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:16,11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:T,42:_,43:A,44:P,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(s,[2,18]),i(F,[2,19]),i(F,[2,20]),i(s,[2,4]),{11:29,27:b,28:y},{16:30,17:[1,31],29:32,30:33,34:j},{11:35,27:b,28:y},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),{13:[1,39]},{17:[1,40]},i(s,[2,10]),{16:41,17:[2,21],29:32,30:33,34:j},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:T,42:_,43:A,44:P,45:R},i(ee,[2,39]),i(ee,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(s,[2,9]),{17:[2,22]},i(ie,[2,23],{32:50,33:51,35:52,37:oe,38:be}),i([17,34,37,38],[2,28]),i(s,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(s,[2,8]),i(s,[2,41]),i(s,[2,42]),i(s,[2,43]),i(ie,[2,24],{33:56,36:[1,57],38:be}),i(ie,[2,25]),i(ge,[2,29]),i(ie,[2,32]),i(ge,[2,31]),{16:58,17:[1,59],29:32,30:33,34:j},i(ie,[2,26]),{35:60,37:oe},{17:[1,61]},i(s,[2,13]),i(ge,[2,30]),i(s,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pe){if(pe.recoverable)this.trace(X);else{var G=new Error(X);throw G.hash=pe,G}},parse:function(X){var pe=this,G=[0],xe=[],U=[null],Be=[],Ne=this.table,je="",Ie=0,Se=0,Ce=2,ke=1,Ke=Be.slice.call(arguments,1),Ft=Object.create(this.lexer),Pe={yy:{}};for(var gn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gn)&&(Pe.yy[gn]=this.yy[gn]);Ft.setInput(X,Pe.yy),Pe.yy.lexer=Ft,Pe.yy.parser=this,typeof Ft.yylloc>"u"&&(Ft.yylloc={});var kt=Ft.yylloc;Be.push(kt);var Et=Ft.options&&Ft.options.ranges;typeof Pe.yy.parseError=="function"?this.parseError=Pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var Fi;return Fi=xe.pop()||Ft.lex()||ke,typeof Fi!="number"&&(Fi instanceof Array&&(xe=Fi,Fi=xe.pop()),Fi=pe.symbols_[Fi]||Fi),Fi}for(var ln,xt,Pt,Ze,At={},Tt,On,ht,zr;;){if(xt=G[G.length-1],this.defaultActions[xt]?Pt=this.defaultActions[xt]:((ln===null||typeof ln>"u")&&(ln=Gt()),Pt=Ne[xt]&&Ne[xt][ln]),typeof Pt>"u"||!Pt.length||!Pt[0]){var yt="";zr=[];for(Tt in Ne[xt])this.terminals_[Tt]&&Tt>Ce&&zr.push("'"+this.terminals_[Tt]+"'");Ft.showPosition?yt="Parse error on line "+(Ie+1)+`:
-`+Ft.showPosition()+`
-Expecting `+zr.join(", ")+", got '"+(this.terminals_[ln]||ln)+"'":yt="Parse error on line "+(Ie+1)+": Unexpected "+(ln==ke?"end of input":"'"+(this.terminals_[ln]||ln)+"'"),this.parseError(yt,{text:Ft.match,token:this.terminals_[ln]||ln,line:Ft.yylineno,loc:kt,expected:zr})}if(Pt[0]instanceof Array&&Pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xt+", token: "+ln);switch(Pt[0]){case 1:G.push(ln),U.push(Ft.yytext),Be.push(Ft.yylloc),G.push(Pt[1]),ln=null,Se=Ft.yyleng,je=Ft.yytext,Ie=Ft.yylineno,kt=Ft.yylloc;break;case 2:if(On=this.productions_[Pt[1]][1],At.$=U[U.length-On],At._$={first_line:Be[Be.length-(On||1)].first_line,last_line:Be[Be.length-1].last_line,first_column:Be[Be.length-(On||1)].first_column,last_column:Be[Be.length-1].last_column},Et&&(At._$.range=[Be[Be.length-(On||1)].range[0],Be[Be.length-1].range[1]]),Ze=this.performAction.apply(At,[je,Se,Ie,Pe.yy,Pt[1],U,Be].concat(Ke)),typeof Ze<"u")return Ze;On&&(G=G.slice(0,-1*On*2),U=U.slice(0,-1*On),Be=Be.slice(0,-1*On)),G.push(this.productions_[Pt[1]][0]),U.push(At.$),Be.push(At._$),ht=Ne[G[G.length-2]][G[G.length-1]],G.push(ht);break;case 3:return!0}}return!0}},ne=function(){var de={EOF:1,parseError:function(pe,G){if(this.yy.parser)this.yy.parser.parseError(pe,G);else throw new Error(pe)},setInput:function(X,pe){return this.yy=pe||this.yy||{},this._input=X,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pe=X.match(/(?:\r\n?|\n).*/g);return pe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pe=X.length,G=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pe),this.offset-=pe;var xe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),G.length-1&&(this.yylineno-=G.length-1);var U=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:G?(G.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-G.length].length-G[0].length:this.yylloc.first_column-pe},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-pe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pe=new Array(X.length+1).join("-");return X+this.upcomingInput()+`
-`+pe+"^"},test_match:function(X,pe){var G,xe,U;if(this.options.backtrack_lexer&&(U={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(U.yylloc.range=this.yylloc.range.slice(0))),xe=X[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(X[0].length),this.matched+=X[0],G=this.performAction.call(this,this.yy,this,pe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),G)return G;if(this._backtrack){for(var Be in U)this[Be]=U[Be];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pe,G,xe;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),Be=0;Bepe[0].length)){if(pe=G,xe=Be,this.options.backtrack_lexer){if(X=this.test_match(G,U[Be]),X!==!1)return X;if(this._backtrack){pe=!1;continue}else return!1}else if(!this.options.flex)break}return pe?(X=this.test_match(pe,U[xe]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pe=this.next();return pe||this.lex()},begin:function(pe){this.conditionStack.push(pe)},popState:function(){var pe=this.conditionStack.length-1;return pe>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(pe){return pe=this.conditionStack.length-1-Math.abs(pe||0),pe>=0?this.conditionStack[pe]:"INITIAL"},pushState:function(pe){this.begin(pe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pe,G,xe,U){switch(xe){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return G.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return G.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return de}();ae.lexer=ne;function se(){this.yy={}}return se.prototype=ae,ae.Parser=se,new se}();Vme.parser=Vme;const Pen=Vme;let P9={},Ume=[];const Ben={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"},Fen={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},zUe=function(i,s=void 0){return P9[i]===void 0?(P9[i]={attributes:[],alias:s},Xe.info("Added new entity :",i)):P9[i]&&!P9[i].alias&&s&&(P9[i].alias=s,Xe.info(`Add alias '${s}' to entity '${i}'`)),P9[i]},Ren={Cardinality:Ben,Identification:Fen,getConfig:()=>qt().er,addEntity:zUe,addAttributes:function(i,s){let u=zUe(i),d;for(d=s.length-1;d>=0;d--)u.attributes.push(s[d]),Xe.debug("Added attribute ",s[d].attributeName)},getEntities:()=>P9,addRelationship:function(i,s,u,d){let p={entityA:i,roleA:s,entityB:u,relSpec:d};Ume.push(p),Xe.debug("Added new relationship :",p)},getRelationships:()=>Ume,clear:function(){P9={},Ume=[],Ng()},setAccTitle:Pg,getAccTitle:Sp,setAccDescription:_p,getAccDescription:Ap,setDiagramTitle:om,getDiagramTitle:Lp},U3={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},G3={ERMarkers:U3,insertMarkers:function(i,s){let u;i.append("defs").append("marker").attr("id",U3.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",U3.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",U3.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",U3.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",U3.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",U3.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),u=i.append("defs").append("marker").attr("id",U3.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",s.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),u.append("path").attr("stroke",s.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},jen=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function $en(i){return typeof i=="string"&&jen.test(i)}const qd=[];for(let i=0;i<256;++i)qd.push((i+256).toString(16).slice(1));function zen(i,s=0){return qd[i[s+0]]+qd[i[s+1]]+qd[i[s+2]]+qd[i[s+3]]+"-"+qd[i[s+4]]+qd[i[s+5]]+"-"+qd[i[s+6]]+qd[i[s+7]]+"-"+qd[i[s+8]]+qd[i[s+9]]+"-"+qd[i[s+10]]+qd[i[s+11]]+qd[i[s+12]]+qd[i[s+13]]+qd[i[s+14]]+qd[i[s+15]]}function qen(i){if(!$en(i))throw TypeError("Invalid UUID");let s;const u=new Uint8Array(16);return u[0]=(s=parseInt(i.slice(0,8),16))>>>24,u[1]=s>>>16&255,u[2]=s>>>8&255,u[3]=s&255,u[4]=(s=parseInt(i.slice(9,13),16))>>>8,u[5]=s&255,u[6]=(s=parseInt(i.slice(14,18),16))>>>8,u[7]=s&255,u[8]=(s=parseInt(i.slice(19,23),16))>>>8,u[9]=s&255,u[10]=(s=parseInt(i.slice(24,36),16))/1099511627776&255,u[11]=s/4294967296&255,u[12]=s>>>24&255,u[13]=s>>>16&255,u[14]=s>>>8&255,u[15]=s&255,u}function Hen(i){i=unescape(encodeURIComponent(i));const s=[];for(let u=0;u>>32-s}function Wen(i){const s=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let y=0;y>>0;R=P,P=A,A=Gme(_,30)>>>0,_=T,T=W}u[0]=u[0]+T>>>0,u[1]=u[1]+_>>>0,u[2]=u[2]+A>>>0,u[3]=u[3]+P>>>0,u[4]=u[4]+R>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}const Yen=Gen("v5",80,Wen),Xen=/[^\dA-Za-z](\W)*/g;let f1={},IR=new Map;const Qen=function(i){const s=Object.keys(i);for(const u of s)f1[u]=i[u]},Jen=(i,s,u)=>{const d=f1.entityPadding/3,p=f1.entityPadding/3,v=f1.fontSize*.85,b=s.node().getBBox(),y=[];let T=!1,_=!1,A=0,P=0,R=0,F=0,j=b.height+d*2,W=1;u.forEach(be=>{be.attributeKeyTypeList!==void 0&&be.attributeKeyTypeList.length>0&&(T=!0),be.attributeComment!==void 0&&(_=!0)}),u.forEach(be=>{const ge=`${s.node().id}-attr-${W}`;let ae=0;const ne=HF(be.attributeType),se=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(ne),de=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeName),X={};X.tn=se,X.nn=de;const pe=se.node().getBBox(),G=de.node().getBBox();if(A=Math.max(A,pe.width),P=Math.max(P,G.width),ae=Math.max(pe.height,G.height),T){const xe=be.attributeKeyTypeList!==void 0?be.attributeKeyTypeList.join(","):"",U=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(xe);X.kn=U;const Be=U.node().getBBox();R=Math.max(R,Be.width),ae=Math.max(ae,Be.height)}if(_){const xe=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeComment||"");X.cn=xe;const U=xe.node().getBBox();F=Math.max(F,U.width),ae=Math.max(ae,U.height)}X.height=ae,y.push(X),j+=ae+d*2,W+=1});let ee=4;T&&(ee+=2),_&&(ee+=2);const ie=A+P+R+F,oe={width:Math.max(f1.minEntityWidth,Math.max(b.width+f1.entityPadding*2,ie+p*ee)),height:u.length>0?j:Math.max(f1.minEntityHeight,b.height+f1.entityPadding*2)};if(u.length>0){const be=Math.max(0,(oe.width-ie-p*ee)/(ee/2));s.attr("transform","translate("+oe.width/2+","+(d+b.height/2)+")");let ge=b.height+d*2,ae="attributeBoxOdd";y.forEach(ne=>{const se=ge+d+ne.height/2;ne.tn.attr("transform","translate("+p+","+se+")");const de=i.insert("rect","#"+ne.tn.node().id).classed(`er ${ae}`,!0).attr("x",0).attr("y",ge).attr("width",A+p*2+be).attr("height",ne.height+d*2),X=parseFloat(de.attr("x"))+parseFloat(de.attr("width"));ne.nn.attr("transform","translate("+(X+p)+","+se+")");const pe=i.insert("rect","#"+ne.nn.node().id).classed(`er ${ae}`,!0).attr("x",X).attr("y",ge).attr("width",P+p*2+be).attr("height",ne.height+d*2);let G=parseFloat(pe.attr("x"))+parseFloat(pe.attr("width"));if(T){ne.kn.attr("transform","translate("+(G+p)+","+se+")");const xe=i.insert("rect","#"+ne.kn.node().id).classed(`er ${ae}`,!0).attr("x",G).attr("y",ge).attr("width",R+p*2+be).attr("height",ne.height+d*2);G=parseFloat(xe.attr("x"))+parseFloat(xe.attr("width"))}_&&(ne.cn.attr("transform","translate("+(G+p)+","+se+")"),i.insert("rect","#"+ne.cn.node().id).classed(`er ${ae}`,"true").attr("x",G).attr("y",ge).attr("width",F+p*2+be).attr("height",ne.height+d*2)),ge+=ne.height+d*2,ae=ae==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else oe.height=Math.max(f1.minEntityHeight,j),s.attr("transform","translate("+oe.width/2+","+oe.height/2+")");return oe},Zen=function(i,s,u){const d=Object.keys(s);let p;return d.forEach(function(v){const b=stn(v,"entity");IR.set(v,b);const y=i.append("g").attr("id",b);p=p===void 0?b:p;const T="text-"+b,_=y.append("text").classed("er entityLabel",!0).attr("id",T).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",qt().fontFamily).style("font-size",f1.fontSize+"px").text(s[v].alias??v),{width:A,height:P}=Jen(y,_,s[v].attributes),F=y.insert("rect","#"+T).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",A).attr("height",P).node().getBBox();u.setNode(b,{width:F.width,height:F.height,shape:"rect",id:b})}),p},etn=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )")})},qUe=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},ttn=function(i,s){return i.forEach(function(u){s.setEdge(IR.get(u.entityA),IR.get(u.entityB),{relationship:u},qUe(u))}),i};let HUe=0;const ntn=function(i,s,u,d,p){HUe++;const v=u.edge(IR.get(s.entityA),IR.get(s.entityB),qUe(s)),b=x7().x(function(j){return j.x}).y(function(j){return j.y}).curve(BF),y=i.insert("path","#"+d).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",f1.stroke).style("fill","none");s.relSpec.relType===p.db.Identification.NON_IDENTIFYING&&y.attr("stroke-dasharray","8,8");let T="";switch(f1.arrowMarkerAbsolute&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\("),T=T.replace(/\)/g,"\\)")),s.relSpec.cardA){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ZERO_OR_ONE_END+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ZERO_OR_MORE_END+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ONE_OR_MORE_END+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.ONLY_ONE_END+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-end","url("+T+"#"+G3.ERMarkers.MD_PARENT_END+")");break}switch(s.relSpec.cardB){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ZERO_OR_ONE_START+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ZERO_OR_MORE_START+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ONE_OR_MORE_START+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.ONLY_ONE_START+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-start","url("+T+"#"+G3.ERMarkers.MD_PARENT_START+")");break}const _=y.node().getTotalLength(),A=y.node().getPointAtLength(_*.5),P="rel"+HUe,F=i.append("text").classed("er relationshipLabel",!0).attr("id",P).attr("x",A.x).attr("y",A.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",qt().fontFamily).style("font-size",f1.fontSize+"px").text(s.roleA).node().getBBox();i.insert("rect","#"+P).classed("er relationshipLabelBox",!0).attr("x",A.x-F.width/2).attr("y",A.y-F.height/2).attr("width",F.width).attr("height",F.height)},rtn=function(i,s,u,d){f1=qt().er,Xe.info("Drawing ER diagram");const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);G3.insertMarkers(y,f1);let T;T=new N0({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:f1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=Zen(y,d.db.getEntities(),T),A=ttn(d.db.getRelationships(),T);zD(T),etn(y,T),A.forEach(function(W){ntn(y,W,T,_,d)});const P=f1.diagramPadding;So.insertTitle(y,"entityTitleText",f1.titleTopMargin,d.db.getDiagramTitle());const R=y.node().getBBox(),F=R.width+P*2,j=R.height+P*2;Og(y,j,F,f1.useMaxWidth),y.attr("viewBox",`${R.x-P} ${R.y-P} ${F} ${j}`)},itn="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function stn(i="",s=""){const u=i.replace(Xen,"");return`${VUe(s)}${VUe(u)}${Yen(i,itn)}`}function VUe(i=""){return i.length>0?`${i}-`:""}const atn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Pen,db:Ren,renderer:{setConf:Qen,draw:rtn},styles:i=>`
+`,
+ Oen = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Gbe,
+ db: qC,
+ renderer: Hme,
+ styles: $Ue,
+ init: (i) => {
+ (i.flowchart || (i.flowchart = {}),
+ (i.flowchart.arrowMarkerAbsolute = i.arrowMarkerAbsolute),
+ OQt.setConf(i.flowchart),
+ qC.clear(),
+ qC.setGen('gen-1'));
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ ),
+ Nen = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Gbe,
+ db: qC,
+ renderer: Hme,
+ styles: $Ue,
+ init: (i) => {
+ (i.flowchart || (i.flowchart = {}),
+ (i.flowchart.arrowMarkerAbsolute = i.arrowMarkerAbsolute),
+ Ojt({ flowchart: { arrowMarkerAbsolute: i.arrowMarkerAbsolute } }),
+ Hme.setConf(i.flowchart),
+ qC.clear(),
+ qC.setGen('gen-2'));
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var Vme = (function () {
+ var i = function (de, X, pe, G) {
+ for (pe = pe || {}, G = de.length; G--; pe[de[G]] = X);
+ return pe;
+ },
+ s = [6, 8, 10, 20, 22, 24, 26, 27, 28],
+ u = [1, 10],
+ d = [1, 11],
+ p = [1, 12],
+ v = [1, 13],
+ b = [1, 14],
+ y = [1, 15],
+ T = [1, 21],
+ _ = [1, 22],
+ A = [1, 23],
+ P = [1, 24],
+ R = [1, 25],
+ F = [6, 8, 10, 13, 15, 18, 19, 20, 22, 24, 26, 27, 28, 41, 42, 43, 44, 45],
+ j = [1, 34],
+ W = [27, 28, 46, 47],
+ ee = [41, 42, 43, 44, 45],
+ ie = [17, 34],
+ oe = [1, 54],
+ be = [1, 53],
+ ge = [17, 34, 36, 38],
+ ae = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ ER_DIAGRAM: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ entityName: 11,
+ relSpec: 12,
+ ':': 13,
+ role: 14,
+ BLOCK_START: 15,
+ attributes: 16,
+ BLOCK_STOP: 17,
+ SQS: 18,
+ SQE: 19,
+ title: 20,
+ title_value: 21,
+ acc_title: 22,
+ acc_title_value: 23,
+ acc_descr: 24,
+ acc_descr_value: 25,
+ acc_descr_multiline_value: 26,
+ ALPHANUM: 27,
+ ENTITY_NAME: 28,
+ attribute: 29,
+ attributeType: 30,
+ attributeName: 31,
+ attributeKeyTypeList: 32,
+ attributeComment: 33,
+ ATTRIBUTE_WORD: 34,
+ attributeKeyType: 35,
+ COMMA: 36,
+ ATTRIBUTE_KEY: 37,
+ COMMENT: 38,
+ cardinality: 39,
+ relType: 40,
+ ZERO_OR_ONE: 41,
+ ZERO_OR_MORE: 42,
+ ONE_OR_MORE: 43,
+ ONLY_ONE: 44,
+ MD_PARENT: 45,
+ NON_IDENTIFYING: 46,
+ IDENTIFYING: 47,
+ WORD: 48,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'ER_DIAGRAM',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 13: ':',
+ 15: 'BLOCK_START',
+ 17: 'BLOCK_STOP',
+ 18: 'SQS',
+ 19: 'SQE',
+ 20: 'title',
+ 21: 'title_value',
+ 22: 'acc_title',
+ 23: 'acc_title_value',
+ 24: 'acc_descr',
+ 25: 'acc_descr_value',
+ 26: 'acc_descr_multiline_value',
+ 27: 'ALPHANUM',
+ 28: 'ENTITY_NAME',
+ 34: 'ATTRIBUTE_WORD',
+ 36: 'COMMA',
+ 37: 'ATTRIBUTE_KEY',
+ 38: 'COMMENT',
+ 41: 'ZERO_OR_ONE',
+ 42: 'ZERO_OR_MORE',
+ 43: 'ONE_OR_MORE',
+ 44: 'ONLY_ONE',
+ 45: 'MD_PARENT',
+ 46: 'NON_IDENTIFYING',
+ 47: 'IDENTIFYING',
+ 48: 'WORD',
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 5],
+ [9, 4],
+ [9, 3],
+ [9, 1],
+ [9, 7],
+ [9, 6],
+ [9, 4],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [11, 1],
+ [11, 1],
+ [16, 1],
+ [16, 2],
+ [29, 2],
+ [29, 3],
+ [29, 3],
+ [29, 4],
+ [30, 1],
+ [31, 1],
+ [32, 1],
+ [32, 3],
+ [35, 1],
+ [33, 1],
+ [12, 3],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [40, 1],
+ [40, 1],
+ [14, 1],
+ [14, 1],
+ [14, 1],
+ ],
+ performAction: function (X, pe, G, xe, U, Be, Ne) {
+ var je = Be.length - 1;
+ switch (U) {
+ case 1:
+ break;
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ (Be[je - 1].push(Be[je]), (this.$ = Be[je - 1]));
+ break;
+ case 4:
+ case 5:
+ this.$ = Be[je];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ (xe.addEntity(Be[je - 4]),
+ xe.addEntity(Be[je - 2]),
+ xe.addRelationship(Be[je - 4], Be[je], Be[je - 2], Be[je - 3]));
+ break;
+ case 9:
+ (xe.addEntity(Be[je - 3]), xe.addAttributes(Be[je - 3], Be[je - 1]));
+ break;
+ case 10:
+ xe.addEntity(Be[je - 2]);
+ break;
+ case 11:
+ xe.addEntity(Be[je]);
+ break;
+ case 12:
+ (xe.addEntity(Be[je - 6], Be[je - 4]), xe.addAttributes(Be[je - 6], Be[je - 1]));
+ break;
+ case 13:
+ xe.addEntity(Be[je - 5], Be[je - 3]);
+ break;
+ case 14:
+ xe.addEntity(Be[je - 3], Be[je - 1]);
+ break;
+ case 15:
+ case 16:
+ ((this.$ = Be[je].trim()), xe.setAccTitle(this.$));
+ break;
+ case 17:
+ case 18:
+ ((this.$ = Be[je].trim()), xe.setAccDescription(this.$));
+ break;
+ case 19:
+ case 43:
+ this.$ = Be[je];
+ break;
+ case 20:
+ case 41:
+ case 42:
+ this.$ = Be[je].replace(/"/g, '');
+ break;
+ case 21:
+ case 29:
+ this.$ = [Be[je]];
+ break;
+ case 22:
+ (Be[je].push(Be[je - 1]), (this.$ = Be[je]));
+ break;
+ case 23:
+ this.$ = { attributeType: Be[je - 1], attributeName: Be[je] };
+ break;
+ case 24:
+ this.$ = {
+ attributeType: Be[je - 2],
+ attributeName: Be[je - 1],
+ attributeKeyTypeList: Be[je],
+ };
+ break;
+ case 25:
+ this.$ = {
+ attributeType: Be[je - 2],
+ attributeName: Be[je - 1],
+ attributeComment: Be[je],
+ };
+ break;
+ case 26:
+ this.$ = {
+ attributeType: Be[je - 3],
+ attributeName: Be[je - 2],
+ attributeKeyTypeList: Be[je - 1],
+ attributeComment: Be[je],
+ };
+ break;
+ case 27:
+ case 28:
+ case 31:
+ this.$ = Be[je];
+ break;
+ case 30:
+ (Be[je - 2].push(Be[je]), (this.$ = Be[je - 2]));
+ break;
+ case 32:
+ this.$ = Be[je].replace(/"/g, '');
+ break;
+ case 33:
+ this.$ = { cardA: Be[je], relType: Be[je - 1], cardB: Be[je - 2] };
+ break;
+ case 34:
+ this.$ = xe.Cardinality.ZERO_OR_ONE;
+ break;
+ case 35:
+ this.$ = xe.Cardinality.ZERO_OR_MORE;
+ break;
+ case 36:
+ this.$ = xe.Cardinality.ONE_OR_MORE;
+ break;
+ case 37:
+ this.$ = xe.Cardinality.ONLY_ONE;
+ break;
+ case 38:
+ this.$ = xe.Cardinality.MD_PARENT;
+ break;
+ case 39:
+ this.$ = xe.Identification.NON_IDENTIFYING;
+ break;
+ case 40:
+ this.$ = xe.Identification.IDENTIFYING;
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ i(s, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: 9,
+ 20: u,
+ 22: d,
+ 24: p,
+ 26: v,
+ 27: b,
+ 28: y,
+ },
+ i(s, [2, 7], { 1: [2, 1] }),
+ i(s, [2, 3]),
+ { 9: 16, 11: 9, 20: u, 22: d, 24: p, 26: v, 27: b, 28: y },
+ i(s, [2, 5]),
+ i(s, [2, 6]),
+ i(s, [2, 11], {
+ 12: 17,
+ 39: 20,
+ 15: [1, 18],
+ 18: [1, 19],
+ 41: T,
+ 42: _,
+ 43: A,
+ 44: P,
+ 45: R,
+ }),
+ { 21: [1, 26] },
+ { 23: [1, 27] },
+ { 25: [1, 28] },
+ i(s, [2, 18]),
+ i(F, [2, 19]),
+ i(F, [2, 20]),
+ i(s, [2, 4]),
+ { 11: 29, 27: b, 28: y },
+ { 16: 30, 17: [1, 31], 29: 32, 30: 33, 34: j },
+ { 11: 35, 27: b, 28: y },
+ { 40: 36, 46: [1, 37], 47: [1, 38] },
+ i(W, [2, 34]),
+ i(W, [2, 35]),
+ i(W, [2, 36]),
+ i(W, [2, 37]),
+ i(W, [2, 38]),
+ i(s, [2, 15]),
+ i(s, [2, 16]),
+ i(s, [2, 17]),
+ { 13: [1, 39] },
+ { 17: [1, 40] },
+ i(s, [2, 10]),
+ { 16: 41, 17: [2, 21], 29: 32, 30: 33, 34: j },
+ { 31: 42, 34: [1, 43] },
+ { 34: [2, 27] },
+ { 19: [1, 44] },
+ { 39: 45, 41: T, 42: _, 43: A, 44: P, 45: R },
+ i(ee, [2, 39]),
+ i(ee, [2, 40]),
+ { 14: 46, 27: [1, 49], 28: [1, 48], 48: [1, 47] },
+ i(s, [2, 9]),
+ { 17: [2, 22] },
+ i(ie, [2, 23], { 32: 50, 33: 51, 35: 52, 37: oe, 38: be }),
+ i([17, 34, 37, 38], [2, 28]),
+ i(s, [2, 14], { 15: [1, 55] }),
+ i([27, 28], [2, 33]),
+ i(s, [2, 8]),
+ i(s, [2, 41]),
+ i(s, [2, 42]),
+ i(s, [2, 43]),
+ i(ie, [2, 24], { 33: 56, 36: [1, 57], 38: be }),
+ i(ie, [2, 25]),
+ i(ge, [2, 29]),
+ i(ie, [2, 32]),
+ i(ge, [2, 31]),
+ { 16: 58, 17: [1, 59], 29: 32, 30: 33, 34: j },
+ i(ie, [2, 26]),
+ { 35: 60, 37: oe },
+ { 17: [1, 61] },
+ i(s, [2, 13]),
+ i(ge, [2, 30]),
+ i(s, [2, 12]),
+ ],
+ defaultActions: { 34: [2, 27], 41: [2, 22] },
+ parseError: function (X, pe) {
+ if (pe.recoverable) this.trace(X);
+ else {
+ var G = new Error(X);
+ throw ((G.hash = pe), G);
+ }
+ },
+ parse: function (X) {
+ var pe = this,
+ G = [0],
+ xe = [],
+ U = [null],
+ Be = [],
+ Ne = this.table,
+ je = '',
+ Ie = 0,
+ Se = 0,
+ Ce = 2,
+ ke = 1,
+ Ke = Be.slice.call(arguments, 1),
+ Ft = Object.create(this.lexer),
+ Pe = { yy: {} };
+ for (var gn in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, gn) && (Pe.yy[gn] = this.yy[gn]);
+ (Ft.setInput(X, Pe.yy),
+ (Pe.yy.lexer = Ft),
+ (Pe.yy.parser = this),
+ typeof Ft.yylloc > 'u' && (Ft.yylloc = {}));
+ var kt = Ft.yylloc;
+ Be.push(kt);
+ var Et = Ft.options && Ft.options.ranges;
+ typeof Pe.yy.parseError == 'function'
+ ? (this.parseError = Pe.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Gt() {
+ var Fi;
+ return (
+ (Fi = xe.pop() || Ft.lex() || ke),
+ typeof Fi != 'number' &&
+ (Fi instanceof Array && ((xe = Fi), (Fi = xe.pop())), (Fi = pe.symbols_[Fi] || Fi)),
+ Fi
+ );
+ }
+ for (var ln, xt, Pt, Ze, At = {}, Tt, On, ht, zr; ; ) {
+ if (
+ ((xt = G[G.length - 1]),
+ this.defaultActions[xt]
+ ? (Pt = this.defaultActions[xt])
+ : ((ln === null || typeof ln > 'u') && (ln = Gt()), (Pt = Ne[xt] && Ne[xt][ln])),
+ typeof Pt > 'u' || !Pt.length || !Pt[0])
+ ) {
+ var yt = '';
+ zr = [];
+ for (Tt in Ne[xt])
+ this.terminals_[Tt] && Tt > Ce && zr.push("'" + this.terminals_[Tt] + "'");
+ (Ft.showPosition
+ ? (yt =
+ 'Parse error on line ' +
+ (Ie + 1) +
+ `:
+` +
+ Ft.showPosition() +
+ `
+Expecting ` +
+ zr.join(', ') +
+ ", got '" +
+ (this.terminals_[ln] || ln) +
+ "'")
+ : (yt =
+ 'Parse error on line ' +
+ (Ie + 1) +
+ ': Unexpected ' +
+ (ln == ke ? 'end of input' : "'" + (this.terminals_[ln] || ln) + "'")),
+ this.parseError(yt, {
+ text: Ft.match,
+ token: this.terminals_[ln] || ln,
+ line: Ft.yylineno,
+ loc: kt,
+ expected: zr,
+ }));
+ }
+ if (Pt[0] instanceof Array && Pt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + xt + ', token: ' + ln,
+ );
+ switch (Pt[0]) {
+ case 1:
+ (G.push(ln),
+ U.push(Ft.yytext),
+ Be.push(Ft.yylloc),
+ G.push(Pt[1]),
+ (ln = null),
+ (Se = Ft.yyleng),
+ (je = Ft.yytext),
+ (Ie = Ft.yylineno),
+ (kt = Ft.yylloc));
+ break;
+ case 2:
+ if (
+ ((On = this.productions_[Pt[1]][1]),
+ (At.$ = U[U.length - On]),
+ (At._$ = {
+ first_line: Be[Be.length - (On || 1)].first_line,
+ last_line: Be[Be.length - 1].last_line,
+ first_column: Be[Be.length - (On || 1)].first_column,
+ last_column: Be[Be.length - 1].last_column,
+ }),
+ Et &&
+ (At._$.range = [
+ Be[Be.length - (On || 1)].range[0],
+ Be[Be.length - 1].range[1],
+ ]),
+ (Ze = this.performAction.apply(At, [je, Se, Ie, Pe.yy, Pt[1], U, Be].concat(Ke))),
+ typeof Ze < 'u')
+ )
+ return Ze;
+ (On &&
+ ((G = G.slice(0, -1 * On * 2)),
+ (U = U.slice(0, -1 * On)),
+ (Be = Be.slice(0, -1 * On))),
+ G.push(this.productions_[Pt[1]][0]),
+ U.push(At.$),
+ Be.push(At._$),
+ (ht = Ne[G[G.length - 2]][G[G.length - 1]]),
+ G.push(ht));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ ne = (function () {
+ var de = {
+ EOF: 1,
+ parseError: function (pe, G) {
+ if (this.yy.parser) this.yy.parser.parseError(pe, G);
+ else throw new Error(pe);
+ },
+ setInput: function (X, pe) {
+ return (
+ (this.yy = pe || this.yy || {}),
+ (this._input = X),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var X = this._input[0];
+ ((this.yytext += X),
+ this.yyleng++,
+ this.offset++,
+ (this.match += X),
+ (this.matched += X));
+ var pe = X.match(/(?:\r\n?|\n).*/g);
+ return (
+ pe ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ X
+ );
+ },
+ unput: function (X) {
+ var pe = X.length,
+ G = X.split(/(?:\r\n?|\n)/g);
+ ((this._input = X + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - pe)),
+ (this.offset -= pe));
+ var xe = this.match.split(/(?:\r\n?|\n)/g);
+ ((this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ G.length - 1 && (this.yylineno -= G.length - 1));
+ var U = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: G
+ ? (G.length === xe.length ? this.yylloc.first_column : 0) +
+ xe[xe.length - G.length].length -
+ G[0].length
+ : this.yylloc.first_column - pe,
+ }),
+ this.options.ranges && (this.yylloc.range = [U[0], U[0] + this.yyleng - pe]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (X) {
+ this.unput(this.match.slice(X));
+ },
+ pastInput: function () {
+ var X = this.matched.substr(0, this.matched.length - this.match.length);
+ return (X.length > 20 ? '...' : '') + X.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var X = this.match;
+ return (
+ X.length < 20 && (X += this._input.substr(0, 20 - X.length)),
+ (X.substr(0, 20) + (X.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var X = this.pastInput(),
+ pe = new Array(X.length + 1).join('-');
+ return (
+ X +
+ this.upcomingInput() +
+ `
+` +
+ pe +
+ '^'
+ );
+ },
+ test_match: function (X, pe) {
+ var G, xe, U;
+ if (
+ (this.options.backtrack_lexer &&
+ ((U = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column,
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done,
+ }),
+ this.options.ranges && (U.yylloc.range = this.yylloc.range.slice(0))),
+ (xe = X[0].match(/(?:\r\n?|\n).*/g)),
+ xe && (this.yylineno += xe.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: xe
+ ? xe[xe.length - 1].length - xe[xe.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + X[0].length,
+ }),
+ (this.yytext += X[0]),
+ (this.match += X[0]),
+ (this.matches = X),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(X[0].length)),
+ (this.matched += X[0]),
+ (G = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ pe,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ G)
+ )
+ return G;
+ if (this._backtrack) {
+ for (var Be in U) this[Be] = U[Be];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var X, pe, G, xe;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var U = this._currentRules(), Be = 0; Be < U.length; Be++)
+ if (
+ ((G = this._input.match(this.rules[U[Be]])),
+ G && (!pe || G[0].length > pe[0].length))
+ ) {
+ if (((pe = G), (xe = Be), this.options.backtrack_lexer)) {
+ if (((X = this.test_match(G, U[Be])), X !== !1)) return X;
+ if (this._backtrack) {
+ pe = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return pe
+ ? ((X = this.test_match(pe, U[xe])), X !== !1 ? X : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var pe = this.next();
+ return pe || this.lex();
+ },
+ begin: function (pe) {
+ this.conditionStack.push(pe);
+ },
+ popState: function () {
+ var pe = this.conditionStack.length - 1;
+ return pe > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (pe) {
+ return (
+ (pe = this.conditionStack.length - 1 - Math.abs(pe || 0)),
+ pe >= 0 ? this.conditionStack[pe] : 'INITIAL'
+ );
+ },
+ pushState: function (pe) {
+ this.begin(pe);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (pe, G, xe, U) {
+ switch (xe) {
+ case 0:
+ return (this.begin('acc_title'), 22);
+ case 1:
+ return (this.popState(), 'acc_title_value');
+ case 2:
+ return (this.begin('acc_descr'), 24);
+ case 3:
+ return (this.popState(), 'acc_descr_value');
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ return 10;
+ case 8:
+ break;
+ case 9:
+ return 8;
+ case 10:
+ return 28;
+ case 11:
+ return 48;
+ case 12:
+ return 4;
+ case 13:
+ return (this.begin('block'), 15);
+ case 14:
+ return 36;
+ case 15:
+ break;
+ case 16:
+ return 37;
+ case 17:
+ return 34;
+ case 18:
+ return 34;
+ case 19:
+ return 38;
+ case 20:
+ break;
+ case 21:
+ return (this.popState(), 17);
+ case 22:
+ return G.yytext[0];
+ case 23:
+ return 18;
+ case 24:
+ return 19;
+ case 25:
+ return 41;
+ case 26:
+ return 43;
+ case 27:
+ return 43;
+ case 28:
+ return 43;
+ case 29:
+ return 41;
+ case 30:
+ return 41;
+ case 31:
+ return 42;
+ case 32:
+ return 42;
+ case 33:
+ return 42;
+ case 34:
+ return 42;
+ case 35:
+ return 42;
+ case 36:
+ return 43;
+ case 37:
+ return 42;
+ case 38:
+ return 43;
+ case 39:
+ return 44;
+ case 40:
+ return 44;
+ case 41:
+ return 44;
+ case 42:
+ return 44;
+ case 43:
+ return 41;
+ case 44:
+ return 42;
+ case 45:
+ return 43;
+ case 46:
+ return 45;
+ case 47:
+ return 46;
+ case 48:
+ return 47;
+ case 49:
+ return 47;
+ case 50:
+ return 46;
+ case 51:
+ return 46;
+ case 52:
+ return 46;
+ case 53:
+ return 27;
+ case 54:
+ return G.yytext[0];
+ case 55:
+ return 6;
+ }
+ },
+ rules: [
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:"[^"%\r\n\v\b\\]+")/i,
+ /^(?:"[^"]*")/i,
+ /^(?:erDiagram\b)/i,
+ /^(?:\{)/i,
+ /^(?:,)/i,
+ /^(?:\s+)/i,
+ /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,
+ /^(?:(.*?)[~](.*?)*[~])/i,
+ /^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,
+ /^(?:"[^"]*")/i,
+ /^(?:[\n]+)/i,
+ /^(?:\})/i,
+ /^(?:.)/i,
+ /^(?:\[)/i,
+ /^(?:\])/i,
+ /^(?:one or zero\b)/i,
+ /^(?:one or more\b)/i,
+ /^(?:one or many\b)/i,
+ /^(?:1\+)/i,
+ /^(?:\|o\b)/i,
+ /^(?:zero or one\b)/i,
+ /^(?:zero or more\b)/i,
+ /^(?:zero or many\b)/i,
+ /^(?:0\+)/i,
+ /^(?:\}o\b)/i,
+ /^(?:many\(0\))/i,
+ /^(?:many\(1\))/i,
+ /^(?:many\b)/i,
+ /^(?:\}\|)/i,
+ /^(?:one\b)/i,
+ /^(?:only one\b)/i,
+ /^(?:1\b)/i,
+ /^(?:\|\|)/i,
+ /^(?:o\|)/i,
+ /^(?:o\{)/i,
+ /^(?:\|\{)/i,
+ /^(?:\s*u\b)/i,
+ /^(?:\.\.)/i,
+ /^(?:--)/i,
+ /^(?:to\b)/i,
+ /^(?:optionally to\b)/i,
+ /^(?:\.-)/i,
+ /^(?:-\.)/i,
+ /^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,
+ /^(?:.)/i,
+ /^(?:$)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [5, 6], inclusive: !1 },
+ acc_descr: { rules: [3], inclusive: !1 },
+ acc_title: { rules: [1], inclusive: !1 },
+ block: { rules: [14, 15, 16, 17, 18, 19, 20, 21, 22], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return de;
+ })();
+ ae.lexer = ne;
+ function se() {
+ this.yy = {};
+ }
+ return ((se.prototype = ae), (ae.Parser = se), new se());
+ })();
+ Vme.parser = Vme;
+ const Pen = Vme;
+ let P9 = {},
+ Ume = [];
+ const Ben = {
+ 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',
+ },
+ Fen = { NON_IDENTIFYING: 'NON_IDENTIFYING', IDENTIFYING: 'IDENTIFYING' },
+ zUe = function (i, s = void 0) {
+ return (
+ P9[i] === void 0
+ ? ((P9[i] = { attributes: [], alias: s }), Xe.info('Added new entity :', i))
+ : P9[i] &&
+ !P9[i].alias &&
+ s &&
+ ((P9[i].alias = s), Xe.info(`Add alias '${s}' to entity '${i}'`)),
+ P9[i]
+ );
+ },
+ Ren = {
+ Cardinality: Ben,
+ Identification: Fen,
+ getConfig: () => qt().er,
+ addEntity: zUe,
+ addAttributes: function (i, s) {
+ let u = zUe(i),
+ d;
+ for (d = s.length - 1; d >= 0; d--)
+ (u.attributes.push(s[d]), Xe.debug('Added attribute ', s[d].attributeName));
+ },
+ getEntities: () => P9,
+ addRelationship: function (i, s, u, d) {
+ let p = { entityA: i, roleA: s, entityB: u, relSpec: d };
+ (Ume.push(p), Xe.debug('Added new relationship :', p));
+ },
+ getRelationships: () => Ume,
+ clear: function () {
+ ((P9 = {}), (Ume = []), Ng());
+ },
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setAccDescription: _p,
+ getAccDescription: Ap,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ },
+ U3 = {
+ ONLY_ONE_START: 'ONLY_ONE_START',
+ ONLY_ONE_END: 'ONLY_ONE_END',
+ ZERO_OR_ONE_START: 'ZERO_OR_ONE_START',
+ ZERO_OR_ONE_END: 'ZERO_OR_ONE_END',
+ ONE_OR_MORE_START: 'ONE_OR_MORE_START',
+ ONE_OR_MORE_END: 'ONE_OR_MORE_END',
+ ZERO_OR_MORE_START: 'ZERO_OR_MORE_START',
+ ZERO_OR_MORE_END: 'ZERO_OR_MORE_END',
+ MD_PARENT_END: 'MD_PARENT_END',
+ MD_PARENT_START: 'MD_PARENT_START',
+ },
+ G3 = {
+ ERMarkers: U3,
+ insertMarkers: function (i, s) {
+ let u;
+ (i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.MD_PARENT_START)
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.MD_PARENT_END)
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ONLY_ONE_START)
+ .attr('refX', 0)
+ .attr('refY', 9)
+ .attr('markerWidth', 18)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M9,0 L9,18 M15,0 L15,18'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ONLY_ONE_END)
+ .attr('refX', 18)
+ .attr('refY', 9)
+ .attr('markerWidth', 18)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M3,0 L3,18 M9,0 L9,18'),
+ (u = i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ZERO_OR_ONE_START)
+ .attr('refX', 0)
+ .attr('refY', 9)
+ .attr('markerWidth', 30)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')),
+ u
+ .append('circle')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 21)
+ .attr('cy', 9)
+ .attr('r', 6),
+ u.append('path').attr('stroke', s.stroke).attr('fill', 'none').attr('d', 'M9,0 L9,18'),
+ (u = i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ZERO_OR_ONE_END)
+ .attr('refX', 30)
+ .attr('refY', 9)
+ .attr('markerWidth', 30)
+ .attr('markerHeight', 18)
+ .attr('orient', 'auto')),
+ u
+ .append('circle')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 9)
+ .attr('cy', 9)
+ .attr('r', 6),
+ u.append('path').attr('stroke', s.stroke).attr('fill', 'none').attr('d', 'M21,0 L21,18'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ONE_OR_MORE_START)
+ .attr('refX', 18)
+ .attr('refY', 18)
+ .attr('markerWidth', 45)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ONE_OR_MORE_END)
+ .attr('refX', 27)
+ .attr('refY', 18)
+ .attr('markerWidth', 45)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18'),
+ (u = i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ZERO_OR_MORE_START)
+ .attr('refX', 18)
+ .attr('refY', 18)
+ .attr('markerWidth', 57)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')),
+ u
+ .append('circle')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 48)
+ .attr('cy', 18)
+ .attr('r', 6),
+ u
+ .append('path')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M0,18 Q18,0 36,18 Q18,36 0,18'),
+ (u = i
+ .append('defs')
+ .append('marker')
+ .attr('id', U3.ZERO_OR_MORE_END)
+ .attr('refX', 39)
+ .attr('refY', 18)
+ .attr('markerWidth', 57)
+ .attr('markerHeight', 36)
+ .attr('orient', 'auto')),
+ u
+ .append('circle')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'white')
+ .attr('cx', 9)
+ .attr('cy', 18)
+ .attr('r', 6),
+ u
+ .append('path')
+ .attr('stroke', s.stroke)
+ .attr('fill', 'none')
+ .attr('d', 'M21,18 Q39,0 57,18 Q39,36 21,18'));
+ },
+ },
+ jen =
+ /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
+ function $en(i) {
+ return typeof i == 'string' && jen.test(i);
+ }
+ const qd = [];
+ for (let i = 0; i < 256; ++i) qd.push((i + 256).toString(16).slice(1));
+ function zen(i, s = 0) {
+ return (
+ qd[i[s + 0]] +
+ qd[i[s + 1]] +
+ qd[i[s + 2]] +
+ qd[i[s + 3]] +
+ '-' +
+ qd[i[s + 4]] +
+ qd[i[s + 5]] +
+ '-' +
+ qd[i[s + 6]] +
+ qd[i[s + 7]] +
+ '-' +
+ qd[i[s + 8]] +
+ qd[i[s + 9]] +
+ '-' +
+ qd[i[s + 10]] +
+ qd[i[s + 11]] +
+ qd[i[s + 12]] +
+ qd[i[s + 13]] +
+ qd[i[s + 14]] +
+ qd[i[s + 15]]
+ );
+ }
+ function qen(i) {
+ if (!$en(i)) throw TypeError('Invalid UUID');
+ let s;
+ const u = new Uint8Array(16);
+ return (
+ (u[0] = (s = parseInt(i.slice(0, 8), 16)) >>> 24),
+ (u[1] = (s >>> 16) & 255),
+ (u[2] = (s >>> 8) & 255),
+ (u[3] = s & 255),
+ (u[4] = (s = parseInt(i.slice(9, 13), 16)) >>> 8),
+ (u[5] = s & 255),
+ (u[6] = (s = parseInt(i.slice(14, 18), 16)) >>> 8),
+ (u[7] = s & 255),
+ (u[8] = (s = parseInt(i.slice(19, 23), 16)) >>> 8),
+ (u[9] = s & 255),
+ (u[10] = ((s = parseInt(i.slice(24, 36), 16)) / 1099511627776) & 255),
+ (u[11] = (s / 4294967296) & 255),
+ (u[12] = (s >>> 24) & 255),
+ (u[13] = (s >>> 16) & 255),
+ (u[14] = (s >>> 8) & 255),
+ (u[15] = s & 255),
+ u
+ );
+ }
+ function Hen(i) {
+ i = unescape(encodeURIComponent(i));
+ const s = [];
+ for (let u = 0; u < i.length; ++u) s.push(i.charCodeAt(u));
+ return s;
+ }
+ const Ven = '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
+ Uen = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';
+ function Gen(i, s, u) {
+ function d(p, v, b, y) {
+ var T;
+ if (
+ (typeof p == 'string' && (p = Hen(p)),
+ typeof v == 'string' && (v = qen(v)),
+ ((T = v) === null || T === void 0 ? void 0 : T.length) !== 16)
+ )
+ throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');
+ let _ = new Uint8Array(16 + p.length);
+ if (
+ (_.set(v),
+ _.set(p, v.length),
+ (_ = u(_)),
+ (_[6] = (_[6] & 15) | s),
+ (_[8] = (_[8] & 63) | 128),
+ b)
+ ) {
+ y = y || 0;
+ for (let A = 0; A < 16; ++A) b[y + A] = _[A];
+ return b;
+ }
+ return zen(_);
+ }
+ try {
+ d.name = i;
+ } catch {}
+ return ((d.DNS = Ven), (d.URL = Uen), d);
+ }
+ function Ken(i, s, u, d) {
+ switch (i) {
+ case 0:
+ return (s & u) ^ (~s & d);
+ case 1:
+ return s ^ u ^ d;
+ case 2:
+ return (s & u) ^ (s & d) ^ (u & d);
+ case 3:
+ return s ^ u ^ d;
+ }
+ }
+ function Gme(i, s) {
+ return (i << s) | (i >>> (32 - s));
+ }
+ function Wen(i) {
+ const s = [1518500249, 1859775393, 2400959708, 3395469782],
+ u = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
+ if (typeof i == 'string') {
+ const b = unescape(encodeURIComponent(i));
+ i = [];
+ for (let y = 0; y < b.length; ++y) i.push(b.charCodeAt(y));
+ } else Array.isArray(i) || (i = Array.prototype.slice.call(i));
+ i.push(128);
+ const d = i.length / 4 + 2,
+ p = Math.ceil(d / 16),
+ v = new Array(p);
+ for (let b = 0; b < p; ++b) {
+ const y = new Uint32Array(16);
+ for (let T = 0; T < 16; ++T)
+ y[T] =
+ (i[b * 64 + T * 4] << 24) |
+ (i[b * 64 + T * 4 + 1] << 16) |
+ (i[b * 64 + T * 4 + 2] << 8) |
+ i[b * 64 + T * 4 + 3];
+ v[b] = y;
+ }
+ ((v[p - 1][14] = ((i.length - 1) * 8) / Math.pow(2, 32)),
+ (v[p - 1][14] = Math.floor(v[p - 1][14])),
+ (v[p - 1][15] = ((i.length - 1) * 8) & 4294967295));
+ for (let b = 0; b < p; ++b) {
+ const y = new Uint32Array(80);
+ for (let F = 0; F < 16; ++F) y[F] = v[b][F];
+ for (let F = 16; F < 80; ++F) y[F] = Gme(y[F - 3] ^ y[F - 8] ^ y[F - 14] ^ y[F - 16], 1);
+ let T = u[0],
+ _ = u[1],
+ A = u[2],
+ P = u[3],
+ R = u[4];
+ for (let F = 0; F < 80; ++F) {
+ const j = Math.floor(F / 20),
+ W = (Gme(T, 5) + Ken(j, _, A, P) + R + s[j] + y[F]) >>> 0;
+ ((R = P), (P = A), (A = Gme(_, 30) >>> 0), (_ = T), (T = W));
+ }
+ ((u[0] = (u[0] + T) >>> 0),
+ (u[1] = (u[1] + _) >>> 0),
+ (u[2] = (u[2] + A) >>> 0),
+ (u[3] = (u[3] + P) >>> 0),
+ (u[4] = (u[4] + R) >>> 0));
+ }
+ return [
+ (u[0] >> 24) & 255,
+ (u[0] >> 16) & 255,
+ (u[0] >> 8) & 255,
+ u[0] & 255,
+ (u[1] >> 24) & 255,
+ (u[1] >> 16) & 255,
+ (u[1] >> 8) & 255,
+ u[1] & 255,
+ (u[2] >> 24) & 255,
+ (u[2] >> 16) & 255,
+ (u[2] >> 8) & 255,
+ u[2] & 255,
+ (u[3] >> 24) & 255,
+ (u[3] >> 16) & 255,
+ (u[3] >> 8) & 255,
+ u[3] & 255,
+ (u[4] >> 24) & 255,
+ (u[4] >> 16) & 255,
+ (u[4] >> 8) & 255,
+ u[4] & 255,
+ ];
+ }
+ const Yen = Gen('v5', 80, Wen),
+ Xen = /[^\dA-Za-z](\W)*/g;
+ let f1 = {},
+ IR = new Map();
+ const Qen = function (i) {
+ const s = Object.keys(i);
+ for (const u of s) f1[u] = i[u];
+ },
+ Jen = (i, s, u) => {
+ const d = f1.entityPadding / 3,
+ p = f1.entityPadding / 3,
+ v = f1.fontSize * 0.85,
+ b = s.node().getBBox(),
+ y = [];
+ let T = !1,
+ _ = !1,
+ A = 0,
+ P = 0,
+ R = 0,
+ F = 0,
+ j = b.height + d * 2,
+ W = 1;
+ (u.forEach((be) => {
+ (be.attributeKeyTypeList !== void 0 && be.attributeKeyTypeList.length > 0 && (T = !0),
+ be.attributeComment !== void 0 && (_ = !0));
+ }),
+ u.forEach((be) => {
+ const ge = `${s.node().id}-attr-${W}`;
+ let ae = 0;
+ const ne = HF(be.attributeType),
+ se = i
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${ge}-type`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', qt().fontFamily)
+ .style('font-size', v + 'px')
+ .text(ne),
+ de = i
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${ge}-name`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', qt().fontFamily)
+ .style('font-size', v + 'px')
+ .text(be.attributeName),
+ X = {};
+ ((X.tn = se), (X.nn = de));
+ const pe = se.node().getBBox(),
+ G = de.node().getBBox();
+ if (
+ ((A = Math.max(A, pe.width)),
+ (P = Math.max(P, G.width)),
+ (ae = Math.max(pe.height, G.height)),
+ T)
+ ) {
+ const xe = be.attributeKeyTypeList !== void 0 ? be.attributeKeyTypeList.join(',') : '',
+ U = i
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${ge}-key`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', qt().fontFamily)
+ .style('font-size', v + 'px')
+ .text(xe);
+ X.kn = U;
+ const Be = U.node().getBBox();
+ ((R = Math.max(R, Be.width)), (ae = Math.max(ae, Be.height)));
+ }
+ if (_) {
+ const xe = i
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', `${ge}-comment`)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'left')
+ .style('font-family', qt().fontFamily)
+ .style('font-size', v + 'px')
+ .text(be.attributeComment || '');
+ X.cn = xe;
+ const U = xe.node().getBBox();
+ ((F = Math.max(F, U.width)), (ae = Math.max(ae, U.height)));
+ }
+ ((X.height = ae), y.push(X), (j += ae + d * 2), (W += 1));
+ }));
+ let ee = 4;
+ (T && (ee += 2), _ && (ee += 2));
+ const ie = A + P + R + F,
+ oe = {
+ width: Math.max(f1.minEntityWidth, Math.max(b.width + f1.entityPadding * 2, ie + p * ee)),
+ height: u.length > 0 ? j : Math.max(f1.minEntityHeight, b.height + f1.entityPadding * 2),
+ };
+ if (u.length > 0) {
+ const be = Math.max(0, (oe.width - ie - p * ee) / (ee / 2));
+ s.attr('transform', 'translate(' + oe.width / 2 + ',' + (d + b.height / 2) + ')');
+ let ge = b.height + d * 2,
+ ae = 'attributeBoxOdd';
+ y.forEach((ne) => {
+ const se = ge + d + ne.height / 2;
+ ne.tn.attr('transform', 'translate(' + p + ',' + se + ')');
+ const de = i
+ .insert('rect', '#' + ne.tn.node().id)
+ .classed(`er ${ae}`, !0)
+ .attr('x', 0)
+ .attr('y', ge)
+ .attr('width', A + p * 2 + be)
+ .attr('height', ne.height + d * 2),
+ X = parseFloat(de.attr('x')) + parseFloat(de.attr('width'));
+ ne.nn.attr('transform', 'translate(' + (X + p) + ',' + se + ')');
+ const pe = i
+ .insert('rect', '#' + ne.nn.node().id)
+ .classed(`er ${ae}`, !0)
+ .attr('x', X)
+ .attr('y', ge)
+ .attr('width', P + p * 2 + be)
+ .attr('height', ne.height + d * 2);
+ let G = parseFloat(pe.attr('x')) + parseFloat(pe.attr('width'));
+ if (T) {
+ ne.kn.attr('transform', 'translate(' + (G + p) + ',' + se + ')');
+ const xe = i
+ .insert('rect', '#' + ne.kn.node().id)
+ .classed(`er ${ae}`, !0)
+ .attr('x', G)
+ .attr('y', ge)
+ .attr('width', R + p * 2 + be)
+ .attr('height', ne.height + d * 2);
+ G = parseFloat(xe.attr('x')) + parseFloat(xe.attr('width'));
+ }
+ (_ &&
+ (ne.cn.attr('transform', 'translate(' + (G + p) + ',' + se + ')'),
+ i
+ .insert('rect', '#' + ne.cn.node().id)
+ .classed(`er ${ae}`, 'true')
+ .attr('x', G)
+ .attr('y', ge)
+ .attr('width', F + p * 2 + be)
+ .attr('height', ne.height + d * 2)),
+ (ge += ne.height + d * 2),
+ (ae = ae === 'attributeBoxOdd' ? 'attributeBoxEven' : 'attributeBoxOdd'));
+ });
+ } else
+ ((oe.height = Math.max(f1.minEntityHeight, j)),
+ s.attr('transform', 'translate(' + oe.width / 2 + ',' + oe.height / 2 + ')'));
+ return oe;
+ },
+ Zen = function (i, s, u) {
+ const d = Object.keys(s);
+ let p;
+ return (
+ d.forEach(function (v) {
+ const b = stn(v, 'entity');
+ IR.set(v, b);
+ const y = i.append('g').attr('id', b);
+ p = p === void 0 ? b : p;
+ const T = 'text-' + b,
+ _ = y
+ .append('text')
+ .classed('er entityLabel', !0)
+ .attr('id', T)
+ .attr('x', 0)
+ .attr('y', 0)
+ .style('dominant-baseline', 'middle')
+ .style('text-anchor', 'middle')
+ .style('font-family', qt().fontFamily)
+ .style('font-size', f1.fontSize + 'px')
+ .text(s[v].alias ?? v),
+ { width: A, height: P } = Jen(y, _, s[v].attributes),
+ F = y
+ .insert('rect', '#' + T)
+ .classed('er entityBox', !0)
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', A)
+ .attr('height', P)
+ .node()
+ .getBBox();
+ u.setNode(b, { width: F.width, height: F.height, shape: 'rect', id: b });
+ }),
+ p
+ );
+ },
+ etn = function (i, s) {
+ s.nodes().forEach(function (u) {
+ u !== void 0 &&
+ s.node(u) !== void 0 &&
+ i
+ .select('#' + u)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (s.node(u).x - s.node(u).width / 2) +
+ ',' +
+ (s.node(u).y - s.node(u).height / 2) +
+ ' )',
+ );
+ });
+ },
+ qUe = function (i) {
+ return (i.entityA + i.roleA + i.entityB).replace(/\s/g, '');
+ },
+ ttn = function (i, s) {
+ return (
+ i.forEach(function (u) {
+ s.setEdge(IR.get(u.entityA), IR.get(u.entityB), { relationship: u }, qUe(u));
+ }),
+ i
+ );
+ };
+ let HUe = 0;
+ const ntn = function (i, s, u, d, p) {
+ HUe++;
+ const v = u.edge(IR.get(s.entityA), IR.get(s.entityB), qUe(s)),
+ b = x7()
+ .x(function (j) {
+ return j.x;
+ })
+ .y(function (j) {
+ return j.y;
+ })
+ .curve(BF),
+ y = i
+ .insert('path', '#' + d)
+ .classed('er relationshipLine', !0)
+ .attr('d', b(v.points))
+ .style('stroke', f1.stroke)
+ .style('fill', 'none');
+ s.relSpec.relType === p.db.Identification.NON_IDENTIFYING &&
+ y.attr('stroke-dasharray', '8,8');
+ let T = '';
+ switch (
+ (f1.arrowMarkerAbsolute &&
+ ((T =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (T = T.replace(/\(/g, '\\(')),
+ (T = T.replace(/\)/g, '\\)'))),
+ s.relSpec.cardA)
+ ) {
+ case p.db.Cardinality.ZERO_OR_ONE:
+ y.attr('marker-end', 'url(' + T + '#' + G3.ERMarkers.ZERO_OR_ONE_END + ')');
+ break;
+ case p.db.Cardinality.ZERO_OR_MORE:
+ y.attr('marker-end', 'url(' + T + '#' + G3.ERMarkers.ZERO_OR_MORE_END + ')');
+ break;
+ case p.db.Cardinality.ONE_OR_MORE:
+ y.attr('marker-end', 'url(' + T + '#' + G3.ERMarkers.ONE_OR_MORE_END + ')');
+ break;
+ case p.db.Cardinality.ONLY_ONE:
+ y.attr('marker-end', 'url(' + T + '#' + G3.ERMarkers.ONLY_ONE_END + ')');
+ break;
+ case p.db.Cardinality.MD_PARENT:
+ y.attr('marker-end', 'url(' + T + '#' + G3.ERMarkers.MD_PARENT_END + ')');
+ break;
+ }
+ switch (s.relSpec.cardB) {
+ case p.db.Cardinality.ZERO_OR_ONE:
+ y.attr('marker-start', 'url(' + T + '#' + G3.ERMarkers.ZERO_OR_ONE_START + ')');
+ break;
+ case p.db.Cardinality.ZERO_OR_MORE:
+ y.attr('marker-start', 'url(' + T + '#' + G3.ERMarkers.ZERO_OR_MORE_START + ')');
+ break;
+ case p.db.Cardinality.ONE_OR_MORE:
+ y.attr('marker-start', 'url(' + T + '#' + G3.ERMarkers.ONE_OR_MORE_START + ')');
+ break;
+ case p.db.Cardinality.ONLY_ONE:
+ y.attr('marker-start', 'url(' + T + '#' + G3.ERMarkers.ONLY_ONE_START + ')');
+ break;
+ case p.db.Cardinality.MD_PARENT:
+ y.attr('marker-start', 'url(' + T + '#' + G3.ERMarkers.MD_PARENT_START + ')');
+ break;
+ }
+ const _ = y.node().getTotalLength(),
+ A = y.node().getPointAtLength(_ * 0.5),
+ P = 'rel' + HUe,
+ F = i
+ .append('text')
+ .classed('er relationshipLabel', !0)
+ .attr('id', P)
+ .attr('x', A.x)
+ .attr('y', A.y)
+ .style('text-anchor', 'middle')
+ .style('dominant-baseline', 'middle')
+ .style('font-family', qt().fontFamily)
+ .style('font-size', f1.fontSize + 'px')
+ .text(s.roleA)
+ .node()
+ .getBBox();
+ i.insert('rect', '#' + P)
+ .classed('er relationshipLabelBox', !0)
+ .attr('x', A.x - F.width / 2)
+ .attr('y', A.y - F.height / 2)
+ .attr('width', F.width)
+ .attr('height', F.height);
+ },
+ rtn = function (i, s, u, d) {
+ ((f1 = qt().er), Xe.info('Drawing ER diagram'));
+ const p = qt().securityLevel;
+ let v;
+ p === 'sandbox' && (v = Ir('#i' + s));
+ const y = Ir(p === 'sandbox' ? v.nodes()[0].contentDocument.body : 'body').select(
+ `[id='${s}']`,
+ );
+ G3.insertMarkers(y, f1);
+ let T;
+ T = new N0({ multigraph: !0, directed: !0, compound: !1 })
+ .setGraph({
+ rankdir: f1.layoutDirection,
+ marginx: 20,
+ marginy: 20,
+ nodesep: 100,
+ edgesep: 100,
+ ranksep: 100,
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ const _ = Zen(y, d.db.getEntities(), T),
+ A = ttn(d.db.getRelationships(), T);
+ (zD(T),
+ etn(y, T),
+ A.forEach(function (W) {
+ ntn(y, W, T, _, d);
+ }));
+ const P = f1.diagramPadding;
+ So.insertTitle(y, 'entityTitleText', f1.titleTopMargin, d.db.getDiagramTitle());
+ const R = y.node().getBBox(),
+ F = R.width + P * 2,
+ j = R.height + P * 2;
+ (Og(y, j, F, f1.useMaxWidth), y.attr('viewBox', `${R.x - P} ${R.y - P} ${F} ${j}`));
+ },
+ itn = '28e9f9db-3c8d-5aa5-9faf-44286ae5937c';
+ function stn(i = '', s = '') {
+ const u = i.replace(Xen, '');
+ return `${VUe(s)}${VUe(u)}${Yen(i, itn)}`;
+ }
+ function VUe(i = '') {
+ return i.length > 0 ? `${i}-` : '';
+ }
+ const atn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Pen,
+ db: Ren,
+ renderer: { setConf: Qen, draw: rtn },
+ styles: (i) => `
.entityBox {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
@@ -542,25 +44778,2167 @@ Expecting `+zr.join(", ")+", got '"+(this.terminals_[ln]||ln)+"'":yt="Parse erro
stroke-width: 1;
}
-`}},Symbol.toStringTag,{value:"Module"}));var Kme=function(){var i=function(ae,ne,se,de){for(se=se||{},de=ae.length;de--;se[ae[de]]=ne);return se},s=[1,3],u=[1,6],d=[1,4],p=[1,5],v=[2,5],b=[1,12],y=[5,7,13,19,21,23,24,26,28,31,37,40,47],T=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],A=[7,13,47],P=[1,42],R=[1,41],F=[7,13,29,32,35,38,47],j=[1,55],W=[1,56],ee=[1,57],ie=[7,13,32,35,42,47],oe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(ne,se,de,X,pe,G,xe){var U=G.length-1;switch(pe){case 2:return G[U];case 3:return G[U-1];case 4:return X.setDirection(G[U-3]),G[U-1];case 6:X.setOptions(G[U-1]),this.$=G[U];break;case 7:G[U-1]+=G[U],this.$=G[U-1];break;case 9:this.$=[];break;case 10:G[U-1].push(G[U]),this.$=G[U-1];break;case 11:this.$=G[U-1];break;case 16:this.$=G[U].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=G[U].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(G[U].substr(8)),this.$=G[U].substr(8);break;case 21:X.checkout(G[U]);break;case 22:X.branch(G[U]);break;case 23:X.branch(G[U-2],G[U]);break;case 24:X.cherryPick(G[U],"",void 0);break;case 25:X.cherryPick(G[U-2],"",void 0,G[U]);break;case 26:X.cherryPick(G[U-2],"",G[U]);break;case 27:X.cherryPick(G[U-4],"",G[U],G[U-2]);break;case 28:X.cherryPick(G[U-4],"",G[U-2],G[U]);break;case 29:X.cherryPick(G[U],"",G[U-2]);break;case 30:X.cherryPick(G[U],"","");break;case 31:X.cherryPick(G[U-2],"","");break;case 32:X.cherryPick(G[U-4],"","",G[U-2]);break;case 33:X.cherryPick(G[U-4],"","",G[U]);break;case 34:X.cherryPick(G[U-2],"",G[U-4],G[U]);break;case 35:X.cherryPick(G[U-2],"","",G[U]);break;case 36:X.merge(G[U],"","","");break;case 37:X.merge(G[U-2],G[U],"","");break;case 38:X.merge(G[U-2],"",G[U],"");break;case 39:X.merge(G[U-2],"","",G[U]);break;case 40:X.merge(G[U-4],G[U],"",G[U-2]);break;case 41:X.merge(G[U-4],"",G[U],G[U-2]);break;case 42:X.merge(G[U-4],"",G[U-2],G[U]);break;case 43:X.merge(G[U-4],G[U-2],G[U],"");break;case 44:X.merge(G[U-4],G[U-2],"",G[U]);break;case 45:X.merge(G[U-4],G[U],G[U-2],"");break;case 46:X.merge(G[U-6],G[U-4],G[U-2],G[U]);break;case 47:X.merge(G[U-6],G[U],G[U-4],G[U-2]);break;case 48:X.merge(G[U-6],G[U-4],G[U],G[U-2]);break;case 49:X.merge(G[U-6],G[U-2],G[U-4],G[U]);break;case 50:X.merge(G[U-6],G[U],G[U-2],G[U-4]);break;case 51:X.merge(G[U-6],G[U-2],G[U],G[U-4]);break;case 52:X.commit(G[U]);break;case 53:X.commit("","",X.commitType.NORMAL,G[U]);break;case 54:X.commit("","",G[U],"");break;case 55:X.commit("","",G[U],G[U-2]);break;case 56:X.commit("","",G[U-2],G[U]);break;case 57:X.commit("",G[U],X.commitType.NORMAL,"");break;case 58:X.commit("",G[U-2],X.commitType.NORMAL,G[U]);break;case 59:X.commit("",G[U],X.commitType.NORMAL,G[U-2]);break;case 60:X.commit("",G[U-2],G[U],"");break;case 61:X.commit("",G[U],G[U-2],"");break;case 62:X.commit("",G[U-4],G[U-2],G[U]);break;case 63:X.commit("",G[U-4],G[U],G[U-2]);break;case 64:X.commit("",G[U-2],G[U-4],G[U]);break;case 65:X.commit("",G[U],G[U-4],G[U-2]);break;case 66:X.commit("",G[U],G[U-2],G[U-4]);break;case 67:X.commit("",G[U-2],G[U],G[U-4]);break;case 68:X.commit(G[U],"",X.commitType.NORMAL,"");break;case 69:X.commit(G[U],"",X.commitType.NORMAL,G[U-2]);break;case 70:X.commit(G[U-2],"",X.commitType.NORMAL,G[U]);break;case 71:X.commit(G[U-2],"",G[U],"");break;case 72:X.commit(G[U],"",G[U-2],"");break;case 73:X.commit(G[U],G[U-2],X.commitType.NORMAL,"");break;case 74:X.commit(G[U-2],G[U],X.commitType.NORMAL,"");break;case 75:X.commit(G[U-4],"",G[U-2],G[U]);break;case 76:X.commit(G[U-4],"",G[U],G[U-2]);break;case 77:X.commit(G[U-2],"",G[U-4],G[U]);break;case 78:X.commit(G[U],"",G[U-4],G[U-2]);break;case 79:X.commit(G[U],"",G[U-2],G[U-4]);break;case 80:X.commit(G[U-2],"",G[U],G[U-4]);break;case 81:X.commit(G[U-4],G[U],G[U-2],"");break;case 82:X.commit(G[U-4],G[U-2],G[U],"");break;case 83:X.commit(G[U-2],G[U],G[U-4],"");break;case 84:X.commit(G[U],G[U-2],G[U-4],"");break;case 85:X.commit(G[U],G[U-4],G[U-2],"");break;case 86:X.commit(G[U-2],G[U-4],G[U],"");break;case 87:X.commit(G[U-4],G[U],X.commitType.NORMAL,G[U-2]);break;case 88:X.commit(G[U-4],G[U-2],X.commitType.NORMAL,G[U]);break;case 89:X.commit(G[U-2],G[U],X.commitType.NORMAL,G[U-4]);break;case 90:X.commit(G[U],G[U-2],X.commitType.NORMAL,G[U-4]);break;case 91:X.commit(G[U],G[U-4],X.commitType.NORMAL,G[U-2]);break;case 92:X.commit(G[U-2],G[U-4],X.commitType.NORMAL,G[U]);break;case 93:X.commit(G[U-6],G[U-4],G[U-2],G[U]);break;case 94:X.commit(G[U-6],G[U-4],G[U],G[U-2]);break;case 95:X.commit(G[U-6],G[U-2],G[U-4],G[U]);break;case 96:X.commit(G[U-6],G[U],G[U-4],G[U-2]);break;case 97:X.commit(G[U-6],G[U-2],G[U],G[U-4]);break;case 98:X.commit(G[U-6],G[U],G[U-2],G[U-4]);break;case 99:X.commit(G[U-4],G[U-6],G[U-2],G[U]);break;case 100:X.commit(G[U-4],G[U-6],G[U],G[U-2]);break;case 101:X.commit(G[U-2],G[U-6],G[U-4],G[U]);break;case 102:X.commit(G[U],G[U-6],G[U-4],G[U-2]);break;case 103:X.commit(G[U-2],G[U-6],G[U],G[U-4]);break;case 104:X.commit(G[U],G[U-6],G[U-2],G[U-4]);break;case 105:X.commit(G[U],G[U-4],G[U-2],G[U-6]);break;case 106:X.commit(G[U-2],G[U-4],G[U],G[U-6]);break;case 107:X.commit(G[U],G[U-2],G[U-4],G[U-6]);break;case 108:X.commit(G[U-2],G[U],G[U-4],G[U-6]);break;case 109:X.commit(G[U-4],G[U-2],G[U],G[U-6]);break;case 110:X.commit(G[U-4],G[U],G[U-2],G[U-6]);break;case 111:X.commit(G[U-2],G[U-4],G[U-6],G[U]);break;case 112:X.commit(G[U],G[U-4],G[U-6],G[U-2]);break;case 113:X.commit(G[U-2],G[U],G[U-6],G[U-4]);break;case 114:X.commit(G[U],G[U-2],G[U-6],G[U-4]);break;case 115:X.commit(G[U-4],G[U-2],G[U-6],G[U]);break;case 116:X.commit(G[U-4],G[U],G[U-6],G[U-2]);break;case 117:this.$="";break;case 118:this.$=G[U];break;case 119:this.$=X.commitType.NORMAL;break;case 120:this.$=X.commitType.REVERSE;break;case 121:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:s,7:u,13:d,47:p},{1:[3]},{3:7,4:2,5:s,7:u,13:d,47:p},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(y,[2,124]),i(y,[2,125]),i(y,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(T,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(T,[2,10]),{4:37,7:u,13:d,47:p},i(T,[2,12]),i(A,[2,13]),i(A,[2,14]),i(A,[2,15]),{20:[1,38]},{22:[1,39]},i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),{27:40,33:P,46:R},i(A,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:P,46:R},{32:[1,50],35:[1,51]},{27:52,33:P,46:R},{1:[2,4]},i(T,[2,11]),i(A,[2,16]),i(A,[2,17]),i(A,[2,21]),i(F,[2,122]),i(F,[2,123]),i(A,[2,52]),{33:[1,53]},{39:54,43:j,44:W,45:ee},{33:[1,58]},{33:[1,59]},i(A,[2,118]),i(A,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(A,[2,22],{29:[1,66]}),i(A,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(A,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ie,[2,119]),i(ie,[2,120]),i(ie,[2,121]),i(A,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(A,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:j,44:W,45:ee},{33:[1,81]},i(A,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:j,44:W,45:ee},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:j,44:W,45:ee},{33:[1,95]},{33:[1,96]},{39:97,43:j,44:W,45:ee},{33:[1,98]},i(A,[2,37],{35:[1,100],38:[1,99]}),i(A,[2,38],{32:[1,102],35:[1,101]}),i(A,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(A,[2,23]),i(A,[2,55],{32:[1,110],42:[1,111]}),i(A,[2,59],{38:[1,112],42:[1,113]}),i(A,[2,69],{32:[1,115],38:[1,114]}),i(A,[2,56],{32:[1,116],42:[1,117]}),i(A,[2,61],{35:[1,118],42:[1,119]}),i(A,[2,72],{32:[1,121],35:[1,120]}),i(A,[2,58],{38:[1,122],42:[1,123]}),i(A,[2,60],{35:[1,124],42:[1,125]}),i(A,[2,73],{35:[1,127],38:[1,126]}),i(A,[2,70],{32:[1,129],38:[1,128]}),i(A,[2,71],{32:[1,131],35:[1,130]}),i(A,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:j,44:W,45:ee},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:j,44:W,45:ee},i(A,[2,25],{35:[1,140]}),i(A,[2,26],{34:[1,141]}),i(A,[2,31],{34:[1,142]}),i(A,[2,29],{34:[1,143]}),i(A,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:j,44:W,45:ee},{33:[1,148]},{39:149,43:j,44:W,45:ee},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:j,44:W,45:ee},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:j,44:W,45:ee},{33:[1,162]},{39:163,43:j,44:W,45:ee},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:j,44:W,45:ee},{33:[1,168]},i(A,[2,43],{35:[1,169]}),i(A,[2,44],{38:[1,170]}),i(A,[2,42],{32:[1,171]}),i(A,[2,45],{35:[1,172]}),i(A,[2,40],{38:[1,173]}),i(A,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(A,[2,66],{42:[1,181]}),i(A,[2,79],{32:[1,182]}),i(A,[2,67],{42:[1,183]}),i(A,[2,90],{38:[1,184]}),i(A,[2,80],{32:[1,185]}),i(A,[2,89],{38:[1,186]}),i(A,[2,65],{42:[1,187]}),i(A,[2,78],{32:[1,188]}),i(A,[2,64],{42:[1,189]}),i(A,[2,84],{35:[1,190]}),i(A,[2,77],{32:[1,191]}),i(A,[2,83],{35:[1,192]}),i(A,[2,63],{42:[1,193]}),i(A,[2,91],{38:[1,194]}),i(A,[2,62],{42:[1,195]}),i(A,[2,85],{35:[1,196]}),i(A,[2,86],{35:[1,197]}),i(A,[2,92],{38:[1,198]}),i(A,[2,76],{32:[1,199]}),i(A,[2,87],{38:[1,200]}),i(A,[2,75],{32:[1,201]}),i(A,[2,81],{35:[1,202]}),i(A,[2,82],{35:[1,203]}),i(A,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:j,44:W,45:ee},{33:[1,207]},{33:[1,208]},{39:209,43:j,44:W,45:ee},{33:[1,210]},i(A,[2,27]),i(A,[2,32]),i(A,[2,28]),i(A,[2,33]),i(A,[2,34]),i(A,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:j,44:W,45:ee},{33:[1,215]},{39:216,43:j,44:W,45:ee},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:j,44:W,45:ee},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:j,44:W,45:ee},{33:[1,229]},{39:230,43:j,44:W,45:ee},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:j,44:W,45:ee},i(A,[2,46]),i(A,[2,48]),i(A,[2,47]),i(A,[2,49]),i(A,[2,51]),i(A,[2,50]),i(A,[2,107]),i(A,[2,108]),i(A,[2,105]),i(A,[2,106]),i(A,[2,110]),i(A,[2,109]),i(A,[2,114]),i(A,[2,113]),i(A,[2,112]),i(A,[2,111]),i(A,[2,116]),i(A,[2,115]),i(A,[2,104]),i(A,[2,103]),i(A,[2,102]),i(A,[2,101]),i(A,[2,99]),i(A,[2,100]),i(A,[2,98]),i(A,[2,97]),i(A,[2,96]),i(A,[2,95]),i(A,[2,93]),i(A,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ne,se){if(se.recoverable)this.trace(ne);else{var de=new Error(ne);throw de.hash=se,de}},parse:function(ne){var se=this,de=[0],X=[],pe=[null],G=[],xe=this.table,U="",Be=0,Ne=0,je=2,Ie=1,Se=G.slice.call(arguments,1),Ce=Object.create(this.lexer),ke={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ke.yy[Ke]=this.yy[Ke]);Ce.setInput(ne,ke.yy),ke.yy.lexer=Ce,ke.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var Ft=Ce.yylloc;G.push(Ft);var Pe=Ce.options&&Ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gn(){var ht;return ht=X.pop()||Ce.lex()||Ie,typeof ht!="number"&&(ht instanceof Array&&(X=ht,ht=X.pop()),ht=se.symbols_[ht]||ht),ht}for(var kt,Et,Gt,ln,xt={},Pt,Ze,At,Tt;;){if(Et=de[de.length-1],this.defaultActions[Et]?Gt=this.defaultActions[Et]:((kt===null||typeof kt>"u")&&(kt=gn()),Gt=xe[Et]&&xe[Et][kt]),typeof Gt>"u"||!Gt.length||!Gt[0]){var On="";Tt=[];for(Pt in xe[Et])this.terminals_[Pt]&&Pt>je&&Tt.push("'"+this.terminals_[Pt]+"'");Ce.showPosition?On="Parse error on line "+(Be+1)+`:
-`+Ce.showPosition()+`
-Expecting `+Tt.join(", ")+", got '"+(this.terminals_[kt]||kt)+"'":On="Parse error on line "+(Be+1)+": Unexpected "+(kt==Ie?"end of input":"'"+(this.terminals_[kt]||kt)+"'"),this.parseError(On,{text:Ce.match,token:this.terminals_[kt]||kt,line:Ce.yylineno,loc:Ft,expected:Tt})}if(Gt[0]instanceof Array&&Gt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+kt);switch(Gt[0]){case 1:de.push(kt),pe.push(Ce.yytext),G.push(Ce.yylloc),de.push(Gt[1]),kt=null,Ne=Ce.yyleng,U=Ce.yytext,Be=Ce.yylineno,Ft=Ce.yylloc;break;case 2:if(Ze=this.productions_[Gt[1]][1],xt.$=pe[pe.length-Ze],xt._$={first_line:G[G.length-(Ze||1)].first_line,last_line:G[G.length-1].last_line,first_column:G[G.length-(Ze||1)].first_column,last_column:G[G.length-1].last_column},Pe&&(xt._$.range=[G[G.length-(Ze||1)].range[0],G[G.length-1].range[1]]),ln=this.performAction.apply(xt,[U,Ne,Be,ke.yy,Gt[1],pe,G].concat(Se)),typeof ln<"u")return ln;Ze&&(de=de.slice(0,-1*Ze*2),pe=pe.slice(0,-1*Ze),G=G.slice(0,-1*Ze)),de.push(this.productions_[Gt[1]][0]),pe.push(xt.$),G.push(xt._$),At=xe[de[de.length-2]][de[de.length-1]],de.push(At);break;case 3:return!0}}return!0}},be=function(){var ae={EOF:1,parseError:function(se,de){if(this.yy.parser)this.yy.parser.parseError(se,de);else throw new Error(se)},setInput:function(ne,se){return this.yy=se||this.yy||{},this._input=ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var ne=this._input[0];this.yytext+=ne,this.yyleng++,this.offset++,this.match+=ne,this.matched+=ne;var se=ne.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),ne},unput:function(ne){var se=ne.length,de=ne.split(/(?:\r\n?|\n)/g);this._input=ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;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),de.length-1&&(this.yylineno-=de.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:de?(de.length===X.length?this.yylloc.first_column:0)+X[X.length-de.length].length-de[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},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ne){this.unput(this.match.slice(ne))},pastInput:function(){var ne=this.matched.substr(0,this.matched.length-this.match.length);return(ne.length>20?"...":"")+ne.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ne=this.match;return ne.length<20&&(ne+=this._input.substr(0,20-ne.length)),(ne.substr(0,20)+(ne.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ne=this.pastInput(),se=new Array(ne.length+1).join("-");return ne+this.upcomingInput()+`
-`+se+"^"},test_match:function(ne,se){var de,X,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))),X=ne[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+ne[0].length},this.yytext+=ne[0],this.match+=ne[0],this.matches=ne,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(ne[0].length),this.matched+=ne[0],de=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var G in pe)this[G]=pe[G];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ne,se,de,X;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),G=0;Gse[0].length)){if(se=de,X=G,this.options.backtrack_lexer){if(ne=this.test_match(de,pe[G]),ne!==!1)return ne;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(ne=this.test_match(se,pe[X]),ne!==!1?ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var se=this.next();return se||this.lex()},begin:function(se){this.conditionStack.push(se)},popState:function(){var se=this.conditionStack.length-1;return se>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},pushState:function(se){this.begin(se)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(se,de,X,pe){switch(X){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ae}();oe.lexer=be;function ge(){this.yy={}}return ge.prototype=oe,oe.Parser=ge,new ge}();Kme.parser=Kme;const otn=Kme;let oJ=qt().gitGraph.mainBranchName,ctn=qt().gitGraph.mainBranchOrder,d1={},Pp=null,OR={};OR[oJ]={name:oJ,order:ctn};let P0={};P0[oJ]=Pp;let nd=oJ,UUe="LR",WC=0;function Wme(){return wje({length:7})}function utn(i,s){const u=Object.create(null);return i.reduce((d,p)=>{const v=s(p);return u[v]||(u[v]=!0,d.push(p)),d},[])}const ltn=function(i){UUe=i};let GUe={};const htn=function(i){Xe.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{GUe=JSON.parse(i)}catch(s){Xe.error("error while parsing gitGraph options",s.message)}},ftn=function(){return GUe},dtn=function(i,s,u,d){Xe.debug("Entering commit:",i,s,u,d),s=ci.sanitizeText(s,qt()),i=ci.sanitizeText(i,qt()),d=ci.sanitizeText(d,qt());const p={id:s||WC+"-"+Wme(),message:i,seq:WC++,type:u||VD.NORMAL,tag:d||"",parents:Pp==null?[]:[Pp.id],branch:nd};Pp=p,d1[p.id]=p,P0[nd]=p.id,Xe.debug("in pushCommit "+p.id)},gtn=function(i,s){if(i=ci.sanitizeText(i,qt()),P0[i]===void 0)P0[i]=Pp!=null?Pp.id:null,OR[i]={name:i,order:s?parseInt(s,10):null},KUe(i),Xe.debug("in createBranch");else{let u=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 '+i+'")');throw u.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},u}},ptn=function(i,s,u,d){i=ci.sanitizeText(i,qt()),s=ci.sanitizeText(s,qt());const p=d1[P0[nd]],v=d1[P0[i]];if(nd===i){let y=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(p===void 0||!p){let y=new Error('Incorrect usage of "merge". Current branch ('+nd+")has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},y}else if(P0[i]===void 0){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},y}else if(v===void 0||!v){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},y}else if(p===v){let y=new Error('Incorrect usage of "merge". Both branches have same head');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(s&&d1[s]!==void 0){let y=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom Id");throw y.hash={text:"merge "+i+s+u+d,token:"merge "+i+s+u+d,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+s+"_UNIQUE "+u+" "+d]},y}const b={id:s||WC+"-"+Wme(),message:"merged branch "+i+" into "+nd,seq:WC++,parents:[Pp==null?null:Pp.id,P0[i]],branch:nd,type:VD.MERGE,customType:u,customId:!!s,tag:d||""};Pp=b,d1[b.id]=b,P0[nd]=b.id,Xe.debug(P0),Xe.debug("in mergeBranch")},btn=function(i,s,u,d){if(Xe.debug("Entering cherryPick:",i,s,u),i=ci.sanitizeText(i,qt()),s=ci.sanitizeText(s,qt()),u=ci.sanitizeText(u,qt()),d=ci.sanitizeText(d,qt()),!i||d1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let p=d1[i],v=p.branch;if(d&&!(Array.isArray(p.parents)&&p.parents.includes(d)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(p.type===VD.MERGE&&!d)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||d1[s]===void 0){if(v===nd){let T=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const b=d1[P0[nd]];if(b===void 0||!b){let T=new Error('Incorrect usage of "cherry-pick". Current branch ('+nd+")has no commits");throw T.hash={text:"cherryPick "+i+" "+s,token:"cherryPick "+i+" "+s,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},T}const y={id:WC+"-"+Wme(),message:"cherry-picked "+p+" into "+nd,seq:WC++,parents:[Pp==null?null:Pp.id,p.id],branch:nd,type:VD.CHERRY_PICK,tag:u??`cherry-pick:${p.id}${p.type===VD.MERGE?`|parent:${d}`:""}`};Pp=y,d1[y.id]=y,P0[nd]=y.id,Xe.debug(P0),Xe.debug("in cherryPick")}},KUe=function(i){if(i=ci.sanitizeText(i,qt()),P0[i]===void 0){let s=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw s.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},s}else{nd=i;const s=P0[nd];Pp=d1[s]}};function WUe(i,s,u){const d=i.indexOf(s);d===-1?i.push(u):i.splice(d,1,u)}function YUe(i){const s=i.reduce((p,v)=>p.seq>v.seq?p:v,i[0]);let u="";i.forEach(function(p){p===s?u+=" *":u+=" |"});const d=[u,s.id,s.seq];for(let p in P0)P0[p]===s.id&&d.push(p);if(Xe.debug(d.join(" ")),s.parents&&s.parents.length==2){const p=d1[s.parents[0]];WUe(i,s,p),i.push(d1[s.parents[1]])}else{if(s.parents.length==0)return;{const p=d1[s.parents];WUe(i,s,p)}}i=utn(i,p=>p.id),YUe(i)}const mtn=function(){Xe.debug(d1);const i=XUe()[0];YUe([i])},vtn=function(){d1={},Pp=null;let i=qt().gitGraph.mainBranchName,s=qt().gitGraph.mainBranchOrder;P0={},P0[i]=null,OR={},OR[i]={name:i,order:s},nd=i,WC=0,Ng()},wtn=function(){return Object.values(OR).map((s,u)=>s.order!==null?s:{...s,order:parseFloat(`0.${u}`,10)}).sort((s,u)=>s.order-u.order).map(({name:s})=>({name:s}))},ytn=function(){return P0},xtn=function(){return d1},XUe=function(){const i=Object.keys(d1).map(function(s){return d1[s]});return i.forEach(function(s){Xe.debug(s.id)}),i.sort((s,u)=>s.seq-u.seq),i},ktn=function(){return nd},Etn=function(){return UUe},Ttn=function(){return Pp},VD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ctn={getConfig:()=>qt().gitGraph,setDirection:ltn,setOptions:htn,getOptions:ftn,commit:dtn,branch:gtn,merge:ptn,cherryPick:btn,checkout:KUe,prettyPrint:mtn,clear:vtn,getBranchesAsObjArray:wtn,getBranches:ytn,getCommits:xtn,getCommitsArray:XUe,getCurrentBranch:ktn,getDirection:Etn,getHead:Ttn,setAccTitle:Pg,getAccTitle:Sp,getAccDescription:Ap,setAccDescription:_p,setDiagramTitle:om,getDiagramTitle:Lp,commitType:VD};let NR={};const rd={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},YC=8;let V2={},q7={},cJ=[],PR=0,B0="LR";const Stn=()=>{V2={},q7={},NR={},PR=0,cJ=[],B0="LR"},QUe=i=>{const s=document.createElementNS("http://www.w3.org/2000/svg","text");let u=[];typeof i=="string"?u=i.split(/\\n|\n|
/gi):Array.isArray(i)?u=i:u=[];for(const d of u){const p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),p.setAttribute("class","row"),p.textContent=d.trim(),s.appendChild(p)}return s},_tn=i=>{let s="",u=0;return i.forEach(d=>{const p=B0==="TB"?q7[d].y:q7[d].x;p>=u&&(s=d,u=p)}),s||void 0},JUe=(i,s,u)=>{const d=qt().gitGraph,p=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;B0==="TB"&&(b=30);const T=Object.keys(s).sort((R,F)=>s[R].seq-s[F].seq),_=d.parallelCommits,A=10,P=40;T.forEach(R=>{const F=s[R];if(_)if(F.parents.length){const ie=_tn(F.parents);b=B0==="TB"?q7[ie].y+P:q7[ie].x+P}else b=0,B0==="TB"&&(b=30);const j=b+A,W=B0==="TB"?j:V2[F.branch].pos,ee=B0==="TB"?V2[F.branch].pos:j;if(u){let ie,oe=F.customType!==void 0&&F.customType!==""?F.customType:F.type;switch(oe){case rd.NORMAL:ie="commit-normal";break;case rd.REVERSE:ie="commit-reverse";break;case rd.HIGHLIGHT:ie="commit-highlight";break;case rd.MERGE:ie="commit-merge";break;case rd.CHERRY_PICK:ie="commit-cherry-pick";break;default:ie="commit-normal"}if(oe===rd.HIGHLIGHT){const be=p.append("rect");be.attr("x",ee-10),be.attr("y",W-10),be.attr("height",20),be.attr("width",20),be.attr("class",`commit ${F.id} commit-highlight${V2[F.branch].index%YC} ${ie}-outer`),p.append("rect").attr("x",ee-6).attr("y",W-6).attr("height",12).attr("width",12).attr("class",`commit ${F.id} commit${V2[F.branch].index%YC} ${ie}-inner`)}else if(oe===rd.CHERRY_PICK)p.append("circle").attr("cx",ee).attr("cy",W).attr("r",10).attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee-3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("circle").attr("cx",ee+3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee+3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`),p.append("line").attr("x1",ee-3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${F.id} ${ie}`);else{const be=p.append("circle");if(be.attr("cx",ee),be.attr("cy",W),be.attr("r",F.type===rd.MERGE?9:10),be.attr("class",`commit ${F.id} commit${V2[F.branch].index%YC}`),oe===rd.MERGE){const ge=p.append("circle");ge.attr("cx",ee),ge.attr("cy",W),ge.attr("r",6),ge.attr("class",`commit ${ie} ${F.id} commit${V2[F.branch].index%YC}`)}oe===rd.REVERSE&&p.append("path").attr("d",`M ${ee-5},${W-5}L${ee+5},${W+5}M${ee-5},${W+5}L${ee+5},${W-5}`).attr("class",`commit ${ie} ${F.id} commit${V2[F.branch].index%YC}`)}}if(B0==="TB"?q7[F.id]={x:ee,y:j}:q7[F.id]={x:j,y:W},u){if(F.type!==rd.CHERRY_PICK&&(F.customId&&F.type===rd.MERGE||F.type!==rd.MERGE)&&d.showCommitLabel){const be=v.append("g"),ge=be.insert("rect").attr("class","commit-label-bkg"),ae=be.append("text").attr("x",b).attr("y",W+25).attr("class","commit-label").text(F.id);let ne=ae.node().getBBox();if(ge.attr("x",j-ne.width/2-2).attr("y",W+13.5).attr("width",ne.width+2*2).attr("height",ne.height+2*2),B0==="TB"&&(ge.attr("x",ee-(ne.width+4*4+5)).attr("y",W-12),ae.attr("x",ee-(ne.width+4*4)).attr("y",W+ne.height-12)),B0!=="TB"&&ae.attr("x",j-ne.width/2),d.rotateCommitLabel)if(B0==="TB")ae.attr("transform","rotate(-45, "+ee+", "+W+")"),ge.attr("transform","rotate(-45, "+ee+", "+W+")");else{let se=-7.5-(ne.width+10)/25*9.5,de=10+ne.width/25*8.5;be.attr("transform","translate("+se+", "+de+") rotate(-45, "+b+", "+W+")")}}if(F.tag){const be=v.insert("polygon"),ge=v.append("circle"),ae=v.append("text").attr("y",W-16).attr("class","tag-label").text(F.tag);let ne=ae.node().getBBox();ae.attr("x",j-ne.width/2);const se=ne.height/2,de=W-19.2;be.attr("class","tag-label-bkg").attr("points",`
- ${b-ne.width/2-4/2},${de+2}
- ${b-ne.width/2-4/2},${de-2}
- ${j-ne.width/2-4},${de-se-2}
- ${j+ne.width/2+4},${de-se-2}
- ${j+ne.width/2+4},${de+se+2}
- ${j-ne.width/2-4},${de+se+2}`),ge.attr("cx",b-ne.width/2+4/2).attr("cy",de).attr("r",1.5).attr("class","tag-hole"),B0==="TB"&&(be.attr("class","tag-label-bkg").attr("points",`
- ${ee},${b+2}
- ${ee},${b-2}
- ${ee+A},${b-se-2}
- ${ee+A+ne.width+4},${b-se-2}
- ${ee+A+ne.width+4},${b+se+2}
- ${ee+A},${b+se+2}`).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ge.attr("cx",ee+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ae.attr("x",ee+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+ee+","+b+")"))}}b+=P+A,b>PR&&(PR=b)})},Atn=(i,s,u,d,p)=>{const b=(B0==="TB"?u.x_.branch===b,T=_=>_.seq>i.seq&&_.seqT(_)&&y(_))},BR=(i,s,u=0)=>{const d=i+Math.abs(i-s)/2;if(u>5)return d;if(cJ.every(b=>Math.abs(b-d)>=10))return cJ.push(d),d;const v=Math.abs(i-s);return BR(i,s-v/5,u+1)},Ltn=(i,s,u,d)=>{const p=q7[s.id],v=q7[u.id],b=Atn(s,u,p,v,d);let y="",T="",_=0,A=0,P=V2[u.branch].index;u.type===rd.MERGE&&s.id!==u.parents[0]&&(P=V2[s.branch].index);let R;if(b){y="A 10 10, 0, 0, 0,",T="A 10 10, 0, 0, 1,",_=10,A=10;const F=p.yv.x&&(y="A 20 20, 0, 0, 0,",T="A 20 20, 0, 0, 1,",_=20,A=20,u.type===rd.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${T} ${p.x-A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x+_} ${p.y} ${y} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x===v.x&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`)):(p.yv.y&&(u.type===rd.MERGE&&s.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${y} ${v.x} ${p.y-A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y+_} ${T} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y===v.y&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+P%YC)},Mtn=(i,s)=>{const u=i.append("g").attr("class","commit-arrows");Object.keys(s).forEach(d=>{const p=s[d];p.parents&&p.parents.length>0&&p.parents.forEach(v=>{Ltn(u,s[v],p,s)})})},Dtn=(i,s)=>{const u=qt().gitGraph,d=i.append("g");s.forEach((p,v)=>{const b=v%YC,y=V2[p.name].pos,T=d.append("line");T.attr("x1",0),T.attr("y1",y),T.attr("x2",PR),T.attr("y2",y),T.attr("class","branch branch"+b),B0==="TB"&&(T.attr("y1",30),T.attr("x1",y),T.attr("y2",PR),T.attr("x2",y)),cJ.push(y);let _=p.name;const A=QUe(_),P=d.insert("rect"),F=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);F.node().appendChild(A);let j=A.getBBox();P.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-j.width-4-(u.rotateCommitLabel===!0?30:0)).attr("y",-j.height/2+8).attr("width",j.width+18).attr("height",j.height+4),F.attr("transform","translate("+(-j.width-14-(u.rotateCommitLabel===!0?30:0))+", "+(y-j.height/2-1)+")"),B0==="TB"&&(P.attr("x",y-j.width/2-10).attr("y",0),F.attr("transform","translate("+(y-j.width/2-5)+", 0)")),B0!=="TB"&&P.attr("transform","translate(-19, "+(y-j.height/2)+")")})},Itn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:otn,db:Ctn,renderer:{draw:function(i,s,u,d){Stn();const p=qt(),v=p.gitGraph;Xe.debug("in gitgraph renderer",i+`
-`,"id:",s,u),NR=d.db.getCommits();const b=d.db.getBranchesAsObjArray();B0=d.db.getDirection();const y=Ir(`[id="${s}"]`);let T=0;b.forEach((_,A)=>{const P=QUe(_.name),R=y.append("g"),F=R.insert("g").attr("class","branchLabel"),j=F.insert("g").attr("class","label branch-label");j.node().appendChild(P);let W=P.getBBox();V2[_.name]={pos:T,index:A},T+=50+(v.rotateCommitLabel?40:0)+(B0==="TB"?W.width/2:0),j.remove(),F.remove(),R.remove()}),JUe(y,NR,!1),v.showBranches&&Dtn(y,b),Mtn(y,NR),JUe(y,NR,!0),So.insertTitle(y,"gitTitleText",v.titleTopMargin,d.db.getDiagramTitle()),n$e(void 0,y,v.diagramPadding,v.useMaxWidth??p.useMaxWidth)}},styles:i=>`
+`,
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var Kme = (function () {
+ var i = function (ae, ne, se, de) {
+ for (se = se || {}, de = ae.length; de--; se[ae[de]] = ne);
+ return se;
+ },
+ s = [1, 3],
+ u = [1, 6],
+ d = [1, 4],
+ p = [1, 5],
+ v = [2, 5],
+ b = [1, 12],
+ y = [5, 7, 13, 19, 21, 23, 24, 26, 28, 31, 37, 40, 47],
+ T = [7, 13, 19, 21, 23, 24, 26, 28, 31, 37, 40],
+ _ = [7, 12, 13, 19, 21, 23, 24, 26, 28, 31, 37, 40],
+ A = [7, 13, 47],
+ P = [1, 42],
+ R = [1, 41],
+ F = [7, 13, 29, 32, 35, 38, 47],
+ j = [1, 55],
+ W = [1, 56],
+ ee = [1, 57],
+ ie = [7, 13, 32, 35, 42, 47],
+ oe = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ eol: 4,
+ GG: 5,
+ document: 6,
+ EOF: 7,
+ ':': 8,
+ DIR: 9,
+ options: 10,
+ body: 11,
+ OPT: 12,
+ NL: 13,
+ line: 14,
+ statement: 15,
+ commitStatement: 16,
+ mergeStatement: 17,
+ cherryPickStatement: 18,
+ acc_title: 19,
+ acc_title_value: 20,
+ acc_descr: 21,
+ acc_descr_value: 22,
+ acc_descr_multiline_value: 23,
+ section: 24,
+ branchStatement: 25,
+ CHECKOUT: 26,
+ ref: 27,
+ BRANCH: 28,
+ ORDER: 29,
+ NUM: 30,
+ CHERRY_PICK: 31,
+ COMMIT_ID: 32,
+ STR: 33,
+ PARENT_COMMIT: 34,
+ COMMIT_TAG: 35,
+ EMPTYSTR: 36,
+ MERGE: 37,
+ COMMIT_TYPE: 38,
+ commitType: 39,
+ COMMIT: 40,
+ commit_arg: 41,
+ COMMIT_MSG: 42,
+ NORMAL: 43,
+ REVERSE: 44,
+ HIGHLIGHT: 45,
+ ID: 46,
+ ';': 47,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'GG',
+ 7: 'EOF',
+ 8: ':',
+ 9: 'DIR',
+ 12: 'OPT',
+ 13: 'NL',
+ 19: 'acc_title',
+ 20: 'acc_title_value',
+ 21: 'acc_descr',
+ 22: 'acc_descr_value',
+ 23: 'acc_descr_multiline_value',
+ 24: 'section',
+ 26: 'CHECKOUT',
+ 28: 'BRANCH',
+ 29: 'ORDER',
+ 30: 'NUM',
+ 31: 'CHERRY_PICK',
+ 32: 'COMMIT_ID',
+ 33: 'STR',
+ 34: 'PARENT_COMMIT',
+ 35: 'COMMIT_TAG',
+ 36: 'EMPTYSTR',
+ 37: 'MERGE',
+ 38: 'COMMIT_TYPE',
+ 40: 'COMMIT',
+ 42: 'COMMIT_MSG',
+ 43: 'NORMAL',
+ 44: 'REVERSE',
+ 45: 'HIGHLIGHT',
+ 46: 'ID',
+ 47: ';',
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 3],
+ [3, 4],
+ [3, 5],
+ [6, 0],
+ [6, 2],
+ [10, 2],
+ [10, 1],
+ [11, 0],
+ [11, 2],
+ [14, 2],
+ [14, 1],
+ [15, 1],
+ [15, 1],
+ [15, 1],
+ [15, 2],
+ [15, 2],
+ [15, 1],
+ [15, 1],
+ [15, 1],
+ [15, 2],
+ [25, 2],
+ [25, 4],
+ [18, 3],
+ [18, 5],
+ [18, 5],
+ [18, 7],
+ [18, 7],
+ [18, 5],
+ [18, 5],
+ [18, 5],
+ [18, 7],
+ [18, 7],
+ [18, 7],
+ [18, 7],
+ [17, 2],
+ [17, 4],
+ [17, 4],
+ [17, 4],
+ [17, 6],
+ [17, 6],
+ [17, 6],
+ [17, 6],
+ [17, 6],
+ [17, 6],
+ [17, 8],
+ [17, 8],
+ [17, 8],
+ [17, 8],
+ [17, 8],
+ [17, 8],
+ [16, 2],
+ [16, 3],
+ [16, 3],
+ [16, 5],
+ [16, 5],
+ [16, 3],
+ [16, 5],
+ [16, 5],
+ [16, 5],
+ [16, 5],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 3],
+ [16, 5],
+ [16, 5],
+ [16, 5],
+ [16, 5],
+ [16, 5],
+ [16, 5],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 7],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [16, 9],
+ [41, 0],
+ [41, 1],
+ [39, 1],
+ [39, 1],
+ [39, 1],
+ [27, 1],
+ [27, 1],
+ [4, 1],
+ [4, 1],
+ [4, 1],
+ ],
+ performAction: function (ne, se, de, X, pe, G, xe) {
+ var U = G.length - 1;
+ switch (pe) {
+ case 2:
+ return G[U];
+ case 3:
+ return G[U - 1];
+ case 4:
+ return (X.setDirection(G[U - 3]), G[U - 1]);
+ case 6:
+ (X.setOptions(G[U - 1]), (this.$ = G[U]));
+ break;
+ case 7:
+ ((G[U - 1] += G[U]), (this.$ = G[U - 1]));
+ break;
+ case 9:
+ this.$ = [];
+ break;
+ case 10:
+ (G[U - 1].push(G[U]), (this.$ = G[U - 1]));
+ break;
+ case 11:
+ this.$ = G[U - 1];
+ break;
+ case 16:
+ ((this.$ = G[U].trim()), X.setAccTitle(this.$));
+ break;
+ case 17:
+ case 18:
+ ((this.$ = G[U].trim()), X.setAccDescription(this.$));
+ break;
+ case 19:
+ (X.addSection(G[U].substr(8)), (this.$ = G[U].substr(8)));
+ break;
+ case 21:
+ X.checkout(G[U]);
+ break;
+ case 22:
+ X.branch(G[U]);
+ break;
+ case 23:
+ X.branch(G[U - 2], G[U]);
+ break;
+ case 24:
+ X.cherryPick(G[U], '', void 0);
+ break;
+ case 25:
+ X.cherryPick(G[U - 2], '', void 0, G[U]);
+ break;
+ case 26:
+ X.cherryPick(G[U - 2], '', G[U]);
+ break;
+ case 27:
+ X.cherryPick(G[U - 4], '', G[U], G[U - 2]);
+ break;
+ case 28:
+ X.cherryPick(G[U - 4], '', G[U - 2], G[U]);
+ break;
+ case 29:
+ X.cherryPick(G[U], '', G[U - 2]);
+ break;
+ case 30:
+ X.cherryPick(G[U], '', '');
+ break;
+ case 31:
+ X.cherryPick(G[U - 2], '', '');
+ break;
+ case 32:
+ X.cherryPick(G[U - 4], '', '', G[U - 2]);
+ break;
+ case 33:
+ X.cherryPick(G[U - 4], '', '', G[U]);
+ break;
+ case 34:
+ X.cherryPick(G[U - 2], '', G[U - 4], G[U]);
+ break;
+ case 35:
+ X.cherryPick(G[U - 2], '', '', G[U]);
+ break;
+ case 36:
+ X.merge(G[U], '', '', '');
+ break;
+ case 37:
+ X.merge(G[U - 2], G[U], '', '');
+ break;
+ case 38:
+ X.merge(G[U - 2], '', G[U], '');
+ break;
+ case 39:
+ X.merge(G[U - 2], '', '', G[U]);
+ break;
+ case 40:
+ X.merge(G[U - 4], G[U], '', G[U - 2]);
+ break;
+ case 41:
+ X.merge(G[U - 4], '', G[U], G[U - 2]);
+ break;
+ case 42:
+ X.merge(G[U - 4], '', G[U - 2], G[U]);
+ break;
+ case 43:
+ X.merge(G[U - 4], G[U - 2], G[U], '');
+ break;
+ case 44:
+ X.merge(G[U - 4], G[U - 2], '', G[U]);
+ break;
+ case 45:
+ X.merge(G[U - 4], G[U], G[U - 2], '');
+ break;
+ case 46:
+ X.merge(G[U - 6], G[U - 4], G[U - 2], G[U]);
+ break;
+ case 47:
+ X.merge(G[U - 6], G[U], G[U - 4], G[U - 2]);
+ break;
+ case 48:
+ X.merge(G[U - 6], G[U - 4], G[U], G[U - 2]);
+ break;
+ case 49:
+ X.merge(G[U - 6], G[U - 2], G[U - 4], G[U]);
+ break;
+ case 50:
+ X.merge(G[U - 6], G[U], G[U - 2], G[U - 4]);
+ break;
+ case 51:
+ X.merge(G[U - 6], G[U - 2], G[U], G[U - 4]);
+ break;
+ case 52:
+ X.commit(G[U]);
+ break;
+ case 53:
+ X.commit('', '', X.commitType.NORMAL, G[U]);
+ break;
+ case 54:
+ X.commit('', '', G[U], '');
+ break;
+ case 55:
+ X.commit('', '', G[U], G[U - 2]);
+ break;
+ case 56:
+ X.commit('', '', G[U - 2], G[U]);
+ break;
+ case 57:
+ X.commit('', G[U], X.commitType.NORMAL, '');
+ break;
+ case 58:
+ X.commit('', G[U - 2], X.commitType.NORMAL, G[U]);
+ break;
+ case 59:
+ X.commit('', G[U], X.commitType.NORMAL, G[U - 2]);
+ break;
+ case 60:
+ X.commit('', G[U - 2], G[U], '');
+ break;
+ case 61:
+ X.commit('', G[U], G[U - 2], '');
+ break;
+ case 62:
+ X.commit('', G[U - 4], G[U - 2], G[U]);
+ break;
+ case 63:
+ X.commit('', G[U - 4], G[U], G[U - 2]);
+ break;
+ case 64:
+ X.commit('', G[U - 2], G[U - 4], G[U]);
+ break;
+ case 65:
+ X.commit('', G[U], G[U - 4], G[U - 2]);
+ break;
+ case 66:
+ X.commit('', G[U], G[U - 2], G[U - 4]);
+ break;
+ case 67:
+ X.commit('', G[U - 2], G[U], G[U - 4]);
+ break;
+ case 68:
+ X.commit(G[U], '', X.commitType.NORMAL, '');
+ break;
+ case 69:
+ X.commit(G[U], '', X.commitType.NORMAL, G[U - 2]);
+ break;
+ case 70:
+ X.commit(G[U - 2], '', X.commitType.NORMAL, G[U]);
+ break;
+ case 71:
+ X.commit(G[U - 2], '', G[U], '');
+ break;
+ case 72:
+ X.commit(G[U], '', G[U - 2], '');
+ break;
+ case 73:
+ X.commit(G[U], G[U - 2], X.commitType.NORMAL, '');
+ break;
+ case 74:
+ X.commit(G[U - 2], G[U], X.commitType.NORMAL, '');
+ break;
+ case 75:
+ X.commit(G[U - 4], '', G[U - 2], G[U]);
+ break;
+ case 76:
+ X.commit(G[U - 4], '', G[U], G[U - 2]);
+ break;
+ case 77:
+ X.commit(G[U - 2], '', G[U - 4], G[U]);
+ break;
+ case 78:
+ X.commit(G[U], '', G[U - 4], G[U - 2]);
+ break;
+ case 79:
+ X.commit(G[U], '', G[U - 2], G[U - 4]);
+ break;
+ case 80:
+ X.commit(G[U - 2], '', G[U], G[U - 4]);
+ break;
+ case 81:
+ X.commit(G[U - 4], G[U], G[U - 2], '');
+ break;
+ case 82:
+ X.commit(G[U - 4], G[U - 2], G[U], '');
+ break;
+ case 83:
+ X.commit(G[U - 2], G[U], G[U - 4], '');
+ break;
+ case 84:
+ X.commit(G[U], G[U - 2], G[U - 4], '');
+ break;
+ case 85:
+ X.commit(G[U], G[U - 4], G[U - 2], '');
+ break;
+ case 86:
+ X.commit(G[U - 2], G[U - 4], G[U], '');
+ break;
+ case 87:
+ X.commit(G[U - 4], G[U], X.commitType.NORMAL, G[U - 2]);
+ break;
+ case 88:
+ X.commit(G[U - 4], G[U - 2], X.commitType.NORMAL, G[U]);
+ break;
+ case 89:
+ X.commit(G[U - 2], G[U], X.commitType.NORMAL, G[U - 4]);
+ break;
+ case 90:
+ X.commit(G[U], G[U - 2], X.commitType.NORMAL, G[U - 4]);
+ break;
+ case 91:
+ X.commit(G[U], G[U - 4], X.commitType.NORMAL, G[U - 2]);
+ break;
+ case 92:
+ X.commit(G[U - 2], G[U - 4], X.commitType.NORMAL, G[U]);
+ break;
+ case 93:
+ X.commit(G[U - 6], G[U - 4], G[U - 2], G[U]);
+ break;
+ case 94:
+ X.commit(G[U - 6], G[U - 4], G[U], G[U - 2]);
+ break;
+ case 95:
+ X.commit(G[U - 6], G[U - 2], G[U - 4], G[U]);
+ break;
+ case 96:
+ X.commit(G[U - 6], G[U], G[U - 4], G[U - 2]);
+ break;
+ case 97:
+ X.commit(G[U - 6], G[U - 2], G[U], G[U - 4]);
+ break;
+ case 98:
+ X.commit(G[U - 6], G[U], G[U - 2], G[U - 4]);
+ break;
+ case 99:
+ X.commit(G[U - 4], G[U - 6], G[U - 2], G[U]);
+ break;
+ case 100:
+ X.commit(G[U - 4], G[U - 6], G[U], G[U - 2]);
+ break;
+ case 101:
+ X.commit(G[U - 2], G[U - 6], G[U - 4], G[U]);
+ break;
+ case 102:
+ X.commit(G[U], G[U - 6], G[U - 4], G[U - 2]);
+ break;
+ case 103:
+ X.commit(G[U - 2], G[U - 6], G[U], G[U - 4]);
+ break;
+ case 104:
+ X.commit(G[U], G[U - 6], G[U - 2], G[U - 4]);
+ break;
+ case 105:
+ X.commit(G[U], G[U - 4], G[U - 2], G[U - 6]);
+ break;
+ case 106:
+ X.commit(G[U - 2], G[U - 4], G[U], G[U - 6]);
+ break;
+ case 107:
+ X.commit(G[U], G[U - 2], G[U - 4], G[U - 6]);
+ break;
+ case 108:
+ X.commit(G[U - 2], G[U], G[U - 4], G[U - 6]);
+ break;
+ case 109:
+ X.commit(G[U - 4], G[U - 2], G[U], G[U - 6]);
+ break;
+ case 110:
+ X.commit(G[U - 4], G[U], G[U - 2], G[U - 6]);
+ break;
+ case 111:
+ X.commit(G[U - 2], G[U - 4], G[U - 6], G[U]);
+ break;
+ case 112:
+ X.commit(G[U], G[U - 4], G[U - 6], G[U - 2]);
+ break;
+ case 113:
+ X.commit(G[U - 2], G[U], G[U - 6], G[U - 4]);
+ break;
+ case 114:
+ X.commit(G[U], G[U - 2], G[U - 6], G[U - 4]);
+ break;
+ case 115:
+ X.commit(G[U - 4], G[U - 2], G[U - 6], G[U]);
+ break;
+ case 116:
+ X.commit(G[U - 4], G[U], G[U - 6], G[U - 2]);
+ break;
+ case 117:
+ this.$ = '';
+ break;
+ case 118:
+ this.$ = G[U];
+ break;
+ case 119:
+ this.$ = X.commitType.NORMAL;
+ break;
+ case 120:
+ this.$ = X.commitType.REVERSE;
+ break;
+ case 121:
+ this.$ = X.commitType.HIGHLIGHT;
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: 2, 5: s, 7: u, 13: d, 47: p },
+ { 1: [3] },
+ { 3: 7, 4: 2, 5: s, 7: u, 13: d, 47: p },
+ { 6: 8, 7: v, 8: [1, 9], 9: [1, 10], 10: 11, 13: b },
+ i(y, [2, 124]),
+ i(y, [2, 125]),
+ i(y, [2, 126]),
+ { 1: [2, 1] },
+ { 7: [1, 13] },
+ { 6: 14, 7: v, 10: 11, 13: b },
+ { 8: [1, 15] },
+ i(T, [2, 9], { 11: 16, 12: [1, 17] }),
+ i(_, [2, 8]),
+ { 1: [2, 2] },
+ { 7: [1, 18] },
+ { 6: 19, 7: v, 10: 11, 13: b },
+ {
+ 7: [2, 6],
+ 13: [1, 22],
+ 14: 20,
+ 15: 21,
+ 16: 23,
+ 17: 24,
+ 18: 25,
+ 19: [1, 26],
+ 21: [1, 27],
+ 23: [1, 28],
+ 24: [1, 29],
+ 25: 30,
+ 26: [1, 31],
+ 28: [1, 35],
+ 31: [1, 34],
+ 37: [1, 33],
+ 40: [1, 32],
+ },
+ i(_, [2, 7]),
+ { 1: [2, 3] },
+ { 7: [1, 36] },
+ i(T, [2, 10]),
+ { 4: 37, 7: u, 13: d, 47: p },
+ i(T, [2, 12]),
+ i(A, [2, 13]),
+ i(A, [2, 14]),
+ i(A, [2, 15]),
+ { 20: [1, 38] },
+ { 22: [1, 39] },
+ i(A, [2, 18]),
+ i(A, [2, 19]),
+ i(A, [2, 20]),
+ { 27: 40, 33: P, 46: R },
+ i(A, [2, 117], {
+ 41: 43,
+ 32: [1, 46],
+ 33: [1, 48],
+ 35: [1, 44],
+ 38: [1, 45],
+ 42: [1, 47],
+ }),
+ { 27: 49, 33: P, 46: R },
+ { 32: [1, 50], 35: [1, 51] },
+ { 27: 52, 33: P, 46: R },
+ { 1: [2, 4] },
+ i(T, [2, 11]),
+ i(A, [2, 16]),
+ i(A, [2, 17]),
+ i(A, [2, 21]),
+ i(F, [2, 122]),
+ i(F, [2, 123]),
+ i(A, [2, 52]),
+ { 33: [1, 53] },
+ { 39: 54, 43: j, 44: W, 45: ee },
+ { 33: [1, 58] },
+ { 33: [1, 59] },
+ i(A, [2, 118]),
+ i(A, [2, 36], { 32: [1, 60], 35: [1, 62], 38: [1, 61] }),
+ { 33: [1, 63] },
+ { 33: [1, 64], 36: [1, 65] },
+ i(A, [2, 22], { 29: [1, 66] }),
+ i(A, [2, 53], { 32: [1, 68], 38: [1, 67], 42: [1, 69] }),
+ i(A, [2, 54], { 32: [1, 71], 35: [1, 70], 42: [1, 72] }),
+ i(ie, [2, 119]),
+ i(ie, [2, 120]),
+ i(ie, [2, 121]),
+ i(A, [2, 57], { 35: [1, 73], 38: [1, 74], 42: [1, 75] }),
+ i(A, [2, 68], { 32: [1, 78], 35: [1, 76], 38: [1, 77] }),
+ { 33: [1, 79] },
+ { 39: 80, 43: j, 44: W, 45: ee },
+ { 33: [1, 81] },
+ i(A, [2, 24], { 34: [1, 82], 35: [1, 83] }),
+ { 32: [1, 84] },
+ { 32: [1, 85] },
+ { 30: [1, 86] },
+ { 39: 87, 43: j, 44: W, 45: ee },
+ { 33: [1, 88] },
+ { 33: [1, 89] },
+ { 33: [1, 90] },
+ { 33: [1, 91] },
+ { 33: [1, 92] },
+ { 33: [1, 93] },
+ { 39: 94, 43: j, 44: W, 45: ee },
+ { 33: [1, 95] },
+ { 33: [1, 96] },
+ { 39: 97, 43: j, 44: W, 45: ee },
+ { 33: [1, 98] },
+ i(A, [2, 37], { 35: [1, 100], 38: [1, 99] }),
+ i(A, [2, 38], { 32: [1, 102], 35: [1, 101] }),
+ i(A, [2, 39], { 32: [1, 103], 38: [1, 104] }),
+ { 33: [1, 105] },
+ { 33: [1, 106], 36: [1, 107] },
+ { 33: [1, 108] },
+ { 33: [1, 109] },
+ i(A, [2, 23]),
+ i(A, [2, 55], { 32: [1, 110], 42: [1, 111] }),
+ i(A, [2, 59], { 38: [1, 112], 42: [1, 113] }),
+ i(A, [2, 69], { 32: [1, 115], 38: [1, 114] }),
+ i(A, [2, 56], { 32: [1, 116], 42: [1, 117] }),
+ i(A, [2, 61], { 35: [1, 118], 42: [1, 119] }),
+ i(A, [2, 72], { 32: [1, 121], 35: [1, 120] }),
+ i(A, [2, 58], { 38: [1, 122], 42: [1, 123] }),
+ i(A, [2, 60], { 35: [1, 124], 42: [1, 125] }),
+ i(A, [2, 73], { 35: [1, 127], 38: [1, 126] }),
+ i(A, [2, 70], { 32: [1, 129], 38: [1, 128] }),
+ i(A, [2, 71], { 32: [1, 131], 35: [1, 130] }),
+ i(A, [2, 74], { 35: [1, 133], 38: [1, 132] }),
+ { 39: 134, 43: j, 44: W, 45: ee },
+ { 33: [1, 135] },
+ { 33: [1, 136] },
+ { 33: [1, 137] },
+ { 33: [1, 138] },
+ { 39: 139, 43: j, 44: W, 45: ee },
+ i(A, [2, 25], { 35: [1, 140] }),
+ i(A, [2, 26], { 34: [1, 141] }),
+ i(A, [2, 31], { 34: [1, 142] }),
+ i(A, [2, 29], { 34: [1, 143] }),
+ i(A, [2, 30], { 34: [1, 144] }),
+ { 33: [1, 145] },
+ { 33: [1, 146] },
+ { 39: 147, 43: j, 44: W, 45: ee },
+ { 33: [1, 148] },
+ { 39: 149, 43: j, 44: W, 45: ee },
+ { 33: [1, 150] },
+ { 33: [1, 151] },
+ { 33: [1, 152] },
+ { 33: [1, 153] },
+ { 33: [1, 154] },
+ { 33: [1, 155] },
+ { 33: [1, 156] },
+ { 39: 157, 43: j, 44: W, 45: ee },
+ { 33: [1, 158] },
+ { 33: [1, 159] },
+ { 33: [1, 160] },
+ { 39: 161, 43: j, 44: W, 45: ee },
+ { 33: [1, 162] },
+ { 39: 163, 43: j, 44: W, 45: ee },
+ { 33: [1, 164] },
+ { 33: [1, 165] },
+ { 33: [1, 166] },
+ { 39: 167, 43: j, 44: W, 45: ee },
+ { 33: [1, 168] },
+ i(A, [2, 43], { 35: [1, 169] }),
+ i(A, [2, 44], { 38: [1, 170] }),
+ i(A, [2, 42], { 32: [1, 171] }),
+ i(A, [2, 45], { 35: [1, 172] }),
+ i(A, [2, 40], { 38: [1, 173] }),
+ i(A, [2, 41], { 32: [1, 174] }),
+ { 33: [1, 175], 36: [1, 176] },
+ { 33: [1, 177] },
+ { 33: [1, 178] },
+ { 33: [1, 179] },
+ { 33: [1, 180] },
+ i(A, [2, 66], { 42: [1, 181] }),
+ i(A, [2, 79], { 32: [1, 182] }),
+ i(A, [2, 67], { 42: [1, 183] }),
+ i(A, [2, 90], { 38: [1, 184] }),
+ i(A, [2, 80], { 32: [1, 185] }),
+ i(A, [2, 89], { 38: [1, 186] }),
+ i(A, [2, 65], { 42: [1, 187] }),
+ i(A, [2, 78], { 32: [1, 188] }),
+ i(A, [2, 64], { 42: [1, 189] }),
+ i(A, [2, 84], { 35: [1, 190] }),
+ i(A, [2, 77], { 32: [1, 191] }),
+ i(A, [2, 83], { 35: [1, 192] }),
+ i(A, [2, 63], { 42: [1, 193] }),
+ i(A, [2, 91], { 38: [1, 194] }),
+ i(A, [2, 62], { 42: [1, 195] }),
+ i(A, [2, 85], { 35: [1, 196] }),
+ i(A, [2, 86], { 35: [1, 197] }),
+ i(A, [2, 92], { 38: [1, 198] }),
+ i(A, [2, 76], { 32: [1, 199] }),
+ i(A, [2, 87], { 38: [1, 200] }),
+ i(A, [2, 75], { 32: [1, 201] }),
+ i(A, [2, 81], { 35: [1, 202] }),
+ i(A, [2, 82], { 35: [1, 203] }),
+ i(A, [2, 88], { 38: [1, 204] }),
+ { 33: [1, 205] },
+ { 39: 206, 43: j, 44: W, 45: ee },
+ { 33: [1, 207] },
+ { 33: [1, 208] },
+ { 39: 209, 43: j, 44: W, 45: ee },
+ { 33: [1, 210] },
+ i(A, [2, 27]),
+ i(A, [2, 32]),
+ i(A, [2, 28]),
+ i(A, [2, 33]),
+ i(A, [2, 34]),
+ i(A, [2, 35]),
+ { 33: [1, 211] },
+ { 33: [1, 212] },
+ { 33: [1, 213] },
+ { 39: 214, 43: j, 44: W, 45: ee },
+ { 33: [1, 215] },
+ { 39: 216, 43: j, 44: W, 45: ee },
+ { 33: [1, 217] },
+ { 33: [1, 218] },
+ { 33: [1, 219] },
+ { 33: [1, 220] },
+ { 33: [1, 221] },
+ { 33: [1, 222] },
+ { 33: [1, 223] },
+ { 39: 224, 43: j, 44: W, 45: ee },
+ { 33: [1, 225] },
+ { 33: [1, 226] },
+ { 33: [1, 227] },
+ { 39: 228, 43: j, 44: W, 45: ee },
+ { 33: [1, 229] },
+ { 39: 230, 43: j, 44: W, 45: ee },
+ { 33: [1, 231] },
+ { 33: [1, 232] },
+ { 33: [1, 233] },
+ { 39: 234, 43: j, 44: W, 45: ee },
+ i(A, [2, 46]),
+ i(A, [2, 48]),
+ i(A, [2, 47]),
+ i(A, [2, 49]),
+ i(A, [2, 51]),
+ i(A, [2, 50]),
+ i(A, [2, 107]),
+ i(A, [2, 108]),
+ i(A, [2, 105]),
+ i(A, [2, 106]),
+ i(A, [2, 110]),
+ i(A, [2, 109]),
+ i(A, [2, 114]),
+ i(A, [2, 113]),
+ i(A, [2, 112]),
+ i(A, [2, 111]),
+ i(A, [2, 116]),
+ i(A, [2, 115]),
+ i(A, [2, 104]),
+ i(A, [2, 103]),
+ i(A, [2, 102]),
+ i(A, [2, 101]),
+ i(A, [2, 99]),
+ i(A, [2, 100]),
+ i(A, [2, 98]),
+ i(A, [2, 97]),
+ i(A, [2, 96]),
+ i(A, [2, 95]),
+ i(A, [2, 93]),
+ i(A, [2, 94]),
+ ],
+ defaultActions: { 7: [2, 1], 13: [2, 2], 18: [2, 3], 36: [2, 4] },
+ parseError: function (ne, se) {
+ if (se.recoverable) this.trace(ne);
+ else {
+ var de = new Error(ne);
+ throw ((de.hash = se), de);
+ }
+ },
+ parse: function (ne) {
+ var se = this,
+ de = [0],
+ X = [],
+ pe = [null],
+ G = [],
+ xe = this.table,
+ U = '',
+ Be = 0,
+ Ne = 0,
+ je = 2,
+ Ie = 1,
+ Se = G.slice.call(arguments, 1),
+ Ce = Object.create(this.lexer),
+ ke = { yy: {} };
+ for (var Ke in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Ke) && (ke.yy[Ke] = this.yy[Ke]);
+ (Ce.setInput(ne, ke.yy),
+ (ke.yy.lexer = Ce),
+ (ke.yy.parser = this),
+ typeof Ce.yylloc > 'u' && (Ce.yylloc = {}));
+ var Ft = Ce.yylloc;
+ G.push(Ft);
+ var Pe = Ce.options && Ce.options.ranges;
+ typeof ke.yy.parseError == 'function'
+ ? (this.parseError = ke.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function gn() {
+ var ht;
+ return (
+ (ht = X.pop() || Ce.lex() || Ie),
+ typeof ht != 'number' &&
+ (ht instanceof Array && ((X = ht), (ht = X.pop())), (ht = se.symbols_[ht] || ht)),
+ ht
+ );
+ }
+ for (var kt, Et, Gt, ln, xt = {}, Pt, Ze, At, Tt; ; ) {
+ if (
+ ((Et = de[de.length - 1]),
+ this.defaultActions[Et]
+ ? (Gt = this.defaultActions[Et])
+ : ((kt === null || typeof kt > 'u') && (kt = gn()), (Gt = xe[Et] && xe[Et][kt])),
+ typeof Gt > 'u' || !Gt.length || !Gt[0])
+ ) {
+ var On = '';
+ Tt = [];
+ for (Pt in xe[Et])
+ this.terminals_[Pt] && Pt > je && Tt.push("'" + this.terminals_[Pt] + "'");
+ (Ce.showPosition
+ ? (On =
+ 'Parse error on line ' +
+ (Be + 1) +
+ `:
+` +
+ Ce.showPosition() +
+ `
+Expecting ` +
+ Tt.join(', ') +
+ ", got '" +
+ (this.terminals_[kt] || kt) +
+ "'")
+ : (On =
+ 'Parse error on line ' +
+ (Be + 1) +
+ ': Unexpected ' +
+ (kt == Ie ? 'end of input' : "'" + (this.terminals_[kt] || kt) + "'")),
+ this.parseError(On, {
+ text: Ce.match,
+ token: this.terminals_[kt] || kt,
+ line: Ce.yylineno,
+ loc: Ft,
+ expected: Tt,
+ }));
+ }
+ if (Gt[0] instanceof Array && Gt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Et + ', token: ' + kt,
+ );
+ switch (Gt[0]) {
+ case 1:
+ (de.push(kt),
+ pe.push(Ce.yytext),
+ G.push(Ce.yylloc),
+ de.push(Gt[1]),
+ (kt = null),
+ (Ne = Ce.yyleng),
+ (U = Ce.yytext),
+ (Be = Ce.yylineno),
+ (Ft = Ce.yylloc));
+ break;
+ case 2:
+ if (
+ ((Ze = this.productions_[Gt[1]][1]),
+ (xt.$ = pe[pe.length - Ze]),
+ (xt._$ = {
+ first_line: G[G.length - (Ze || 1)].first_line,
+ last_line: G[G.length - 1].last_line,
+ first_column: G[G.length - (Ze || 1)].first_column,
+ last_column: G[G.length - 1].last_column,
+ }),
+ Pe &&
+ (xt._$.range = [G[G.length - (Ze || 1)].range[0], G[G.length - 1].range[1]]),
+ (ln = this.performAction.apply(xt, [U, Ne, Be, ke.yy, Gt[1], pe, G].concat(Se))),
+ typeof ln < 'u')
+ )
+ return ln;
+ (Ze &&
+ ((de = de.slice(0, -1 * Ze * 2)),
+ (pe = pe.slice(0, -1 * Ze)),
+ (G = G.slice(0, -1 * Ze))),
+ de.push(this.productions_[Gt[1]][0]),
+ pe.push(xt.$),
+ G.push(xt._$),
+ (At = xe[de[de.length - 2]][de[de.length - 1]]),
+ de.push(At));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ be = (function () {
+ var ae = {
+ EOF: 1,
+ parseError: function (se, de) {
+ if (this.yy.parser) this.yy.parser.parseError(se, de);
+ else throw new Error(se);
+ },
+ setInput: function (ne, se) {
+ return (
+ (this.yy = se || this.yy || {}),
+ (this._input = ne),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var ne = this._input[0];
+ ((this.yytext += ne),
+ this.yyleng++,
+ this.offset++,
+ (this.match += ne),
+ (this.matched += ne));
+ var se = ne.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)),
+ ne
+ );
+ },
+ unput: function (ne) {
+ var se = ne.length,
+ de = ne.split(/(?:\r\n?|\n)/g);
+ ((this._input = ne + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - se)),
+ (this.offset -= se));
+ 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)),
+ de.length - 1 && (this.yylineno -= de.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: de
+ ? (de.length === X.length ? this.yylloc.first_column : 0) +
+ X[X.length - de.length].length -
+ de[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
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (ne) {
+ this.unput(this.match.slice(ne));
+ },
+ pastInput: function () {
+ var ne = this.matched.substr(0, this.matched.length - this.match.length);
+ return (ne.length > 20 ? '...' : '') + ne.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var ne = this.match;
+ return (
+ ne.length < 20 && (ne += this._input.substr(0, 20 - ne.length)),
+ (ne.substr(0, 20) + (ne.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var ne = this.pastInput(),
+ se = new Array(ne.length + 1).join('-');
+ return (
+ ne +
+ this.upcomingInput() +
+ `
+` +
+ se +
+ '^'
+ );
+ },
+ test_match: function (ne, se) {
+ var de, X, 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))),
+ (X = ne[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 + ne[0].length,
+ }),
+ (this.yytext += ne[0]),
+ (this.match += ne[0]),
+ (this.matches = ne),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(ne[0].length)),
+ (this.matched += ne[0]),
+ (de = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ se,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ de)
+ )
+ return de;
+ if (this._backtrack) {
+ for (var G in pe) this[G] = pe[G];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var ne, se, de, X;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var pe = this._currentRules(), G = 0; G < pe.length; G++)
+ if (
+ ((de = this._input.match(this.rules[pe[G]])),
+ de && (!se || de[0].length > se[0].length))
+ ) {
+ if (((se = de), (X = G), this.options.backtrack_lexer)) {
+ if (((ne = this.test_match(de, pe[G])), ne !== !1)) return ne;
+ if (this._backtrack) {
+ se = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return se
+ ? ((ne = this.test_match(se, pe[X])), ne !== !1 ? ne : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var se = this.next();
+ return se || this.lex();
+ },
+ begin: function (se) {
+ this.conditionStack.push(se);
+ },
+ popState: function () {
+ var se = this.conditionStack.length - 1;
+ return se > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (se) {
+ return (
+ (se = this.conditionStack.length - 1 - Math.abs(se || 0)),
+ se >= 0 ? this.conditionStack[se] : 'INITIAL'
+ );
+ },
+ pushState: function (se) {
+ this.begin(se);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (se, de, X, pe) {
+ switch (X) {
+ case 0:
+ return (this.begin('acc_title'), 19);
+ case 1:
+ return (this.popState(), 'acc_title_value');
+ case 2:
+ return (this.begin('acc_descr'), 21);
+ case 3:
+ return (this.popState(), 'acc_descr_value');
+ case 4:
+ this.begin('acc_descr_multiline');
+ break;
+ case 5:
+ this.popState();
+ break;
+ case 6:
+ return 'acc_descr_multiline_value';
+ case 7:
+ return 13;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ return 5;
+ case 11:
+ return 40;
+ case 12:
+ return 32;
+ case 13:
+ return 38;
+ case 14:
+ return 42;
+ case 15:
+ return 43;
+ case 16:
+ return 44;
+ case 17:
+ return 45;
+ case 18:
+ return 35;
+ case 19:
+ return 28;
+ case 20:
+ return 29;
+ case 21:
+ return 37;
+ case 22:
+ return 31;
+ case 23:
+ return 34;
+ case 24:
+ return 26;
+ case 25:
+ return 9;
+ case 26:
+ return 9;
+ case 27:
+ return 8;
+ case 28:
+ return 'CARET';
+ case 29:
+ this.begin('options');
+ break;
+ case 30:
+ this.popState();
+ break;
+ case 31:
+ return 12;
+ case 32:
+ return 36;
+ case 33:
+ this.begin('string');
+ break;
+ case 34:
+ this.popState();
+ break;
+ case 35:
+ return 33;
+ case 36:
+ return 30;
+ case 37:
+ return 46;
+ case 38:
+ return 7;
+ }
+ },
+ rules: [
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:(\r?\n)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:gitGraph\b)/i,
+ /^(?:commit(?=\s|$))/i,
+ /^(?:id:)/i,
+ /^(?:type:)/i,
+ /^(?:msg:)/i,
+ /^(?:NORMAL\b)/i,
+ /^(?:REVERSE\b)/i,
+ /^(?:HIGHLIGHT\b)/i,
+ /^(?:tag:)/i,
+ /^(?:branch(?=\s|$))/i,
+ /^(?:order:)/i,
+ /^(?:merge(?=\s|$))/i,
+ /^(?:cherry-pick(?=\s|$))/i,
+ /^(?:parent:)/i,
+ /^(?:checkout(?=\s|$))/i,
+ /^(?:LR\b)/i,
+ /^(?:TB\b)/i,
+ /^(?::)/i,
+ /^(?:\^)/i,
+ /^(?:options\r?\n)/i,
+ /^(?:[ \r\n\t]+end\b)/i,
+ /^(?:[\s\S]+(?=[ \r\n\t]+end))/i,
+ /^(?:["]["])/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[0-9]+(?=\s|$))/i,
+ /^(?:\w([-\./\w]*[-\w])?)/i,
+ /^(?:$)/i,
+ /^(?:\s+)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [5, 6], inclusive: !1 },
+ acc_descr: { rules: [3], inclusive: !1 },
+ acc_title: { rules: [1], inclusive: !1 },
+ options: { rules: [30, 31], inclusive: !1 },
+ string: { rules: [34, 35], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 32, 33, 36, 37, 38, 39,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return ae;
+ })();
+ oe.lexer = be;
+ function ge() {
+ this.yy = {};
+ }
+ return ((ge.prototype = oe), (oe.Parser = ge), new ge());
+ })();
+ Kme.parser = Kme;
+ const otn = Kme;
+ let oJ = qt().gitGraph.mainBranchName,
+ ctn = qt().gitGraph.mainBranchOrder,
+ d1 = {},
+ Pp = null,
+ OR = {};
+ OR[oJ] = { name: oJ, order: ctn };
+ let P0 = {};
+ P0[oJ] = Pp;
+ let nd = oJ,
+ UUe = 'LR',
+ WC = 0;
+ function Wme() {
+ return wje({ length: 7 });
+ }
+ function utn(i, s) {
+ const u = Object.create(null);
+ return i.reduce((d, p) => {
+ const v = s(p);
+ return (u[v] || ((u[v] = !0), d.push(p)), d);
+ }, []);
+ }
+ const ltn = function (i) {
+ UUe = i;
+ };
+ let GUe = {};
+ const htn = function (i) {
+ (Xe.debug('options str', i), (i = i && i.trim()), (i = i || '{}'));
+ try {
+ GUe = JSON.parse(i);
+ } catch (s) {
+ Xe.error('error while parsing gitGraph options', s.message);
+ }
+ },
+ ftn = function () {
+ return GUe;
+ },
+ dtn = function (i, s, u, d) {
+ (Xe.debug('Entering commit:', i, s, u, d),
+ (s = ci.sanitizeText(s, qt())),
+ (i = ci.sanitizeText(i, qt())),
+ (d = ci.sanitizeText(d, qt())));
+ const p = {
+ id: s || WC + '-' + Wme(),
+ message: i,
+ seq: WC++,
+ type: u || VD.NORMAL,
+ tag: d || '',
+ parents: Pp == null ? [] : [Pp.id],
+ branch: nd,
+ };
+ ((Pp = p), (d1[p.id] = p), (P0[nd] = p.id), Xe.debug('in pushCommit ' + p.id));
+ },
+ gtn = function (i, s) {
+ if (((i = ci.sanitizeText(i, qt())), P0[i] === void 0))
+ ((P0[i] = Pp != null ? Pp.id : null),
+ (OR[i] = { name: i, order: s ? parseInt(s, 10) : null }),
+ KUe(i),
+ Xe.debug('in createBranch'));
+ else {
+ let u = 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 ' +
+ i +
+ '")',
+ );
+ throw (
+ (u.hash = {
+ text: 'branch ' + i,
+ token: 'branch ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['"checkout ' + i + '"'],
+ }),
+ u
+ );
+ }
+ },
+ ptn = function (i, s, u, d) {
+ ((i = ci.sanitizeText(i, qt())), (s = ci.sanitizeText(s, qt())));
+ const p = d1[P0[nd]],
+ v = d1[P0[i]];
+ if (nd === i) {
+ let y = new Error('Incorrect usage of "merge". Cannot merge a branch to itself');
+ throw (
+ (y.hash = {
+ text: 'merge ' + i,
+ token: 'merge ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['branch abc'],
+ }),
+ y
+ );
+ } else if (p === void 0 || !p) {
+ let y = new Error('Incorrect usage of "merge". Current branch (' + nd + ')has no commits');
+ throw (
+ (y.hash = {
+ text: 'merge ' + i,
+ token: 'merge ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['commit'],
+ }),
+ y
+ );
+ } else if (P0[i] === void 0) {
+ let y = new Error(
+ 'Incorrect usage of "merge". Branch to be merged (' + i + ') does not exist',
+ );
+ throw (
+ (y.hash = {
+ text: 'merge ' + i,
+ token: 'merge ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['branch ' + i],
+ }),
+ y
+ );
+ } else if (v === void 0 || !v) {
+ let y = new Error(
+ 'Incorrect usage of "merge". Branch to be merged (' + i + ') has no commits',
+ );
+ throw (
+ (y.hash = {
+ text: 'merge ' + i,
+ token: 'merge ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['"commit"'],
+ }),
+ y
+ );
+ } else if (p === v) {
+ let y = new Error('Incorrect usage of "merge". Both branches have same head');
+ throw (
+ (y.hash = {
+ text: 'merge ' + i,
+ token: 'merge ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['branch abc'],
+ }),
+ y
+ );
+ } else if (s && d1[s] !== void 0) {
+ let y = new Error(
+ 'Incorrect usage of "merge". Commit with id:' +
+ s +
+ ' already exists, use different custom Id',
+ );
+ throw (
+ (y.hash = {
+ text: 'merge ' + i + s + u + d,
+ token: 'merge ' + i + s + u + d,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['merge ' + i + ' ' + s + '_UNIQUE ' + u + ' ' + d],
+ }),
+ y
+ );
+ }
+ const b = {
+ id: s || WC + '-' + Wme(),
+ message: 'merged branch ' + i + ' into ' + nd,
+ seq: WC++,
+ parents: [Pp == null ? null : Pp.id, P0[i]],
+ branch: nd,
+ type: VD.MERGE,
+ customType: u,
+ customId: !!s,
+ tag: d || '',
+ };
+ ((Pp = b), (d1[b.id] = b), (P0[nd] = b.id), Xe.debug(P0), Xe.debug('in mergeBranch'));
+ },
+ btn = function (i, s, u, d) {
+ if (
+ (Xe.debug('Entering cherryPick:', i, s, u),
+ (i = ci.sanitizeText(i, qt())),
+ (s = ci.sanitizeText(s, qt())),
+ (u = ci.sanitizeText(u, qt())),
+ (d = ci.sanitizeText(d, qt())),
+ !i || d1[i] === void 0)
+ ) {
+ let b = new Error(
+ 'Incorrect usage of "cherryPick". Source commit id should exist and provided',
+ );
+ throw (
+ (b.hash = {
+ text: 'cherryPick ' + i + ' ' + s,
+ token: 'cherryPick ' + i + ' ' + s,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['cherry-pick abc'],
+ }),
+ b
+ );
+ }
+ let p = d1[i],
+ v = p.branch;
+ if (d && !(Array.isArray(p.parents) && p.parents.includes(d)))
+ throw new Error(
+ 'Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.',
+ );
+ if (p.type === VD.MERGE && !d)
+ throw new Error(
+ 'Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.',
+ );
+ if (!s || d1[s] === void 0) {
+ if (v === nd) {
+ let T = new Error(
+ 'Incorrect usage of "cherryPick". Source commit is already on current branch',
+ );
+ throw (
+ (T.hash = {
+ text: 'cherryPick ' + i + ' ' + s,
+ token: 'cherryPick ' + i + ' ' + s,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['cherry-pick abc'],
+ }),
+ T
+ );
+ }
+ const b = d1[P0[nd]];
+ if (b === void 0 || !b) {
+ let T = new Error(
+ 'Incorrect usage of "cherry-pick". Current branch (' + nd + ')has no commits',
+ );
+ throw (
+ (T.hash = {
+ text: 'cherryPick ' + i + ' ' + s,
+ token: 'cherryPick ' + i + ' ' + s,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['cherry-pick abc'],
+ }),
+ T
+ );
+ }
+ const y = {
+ id: WC + '-' + Wme(),
+ message: 'cherry-picked ' + p + ' into ' + nd,
+ seq: WC++,
+ parents: [Pp == null ? null : Pp.id, p.id],
+ branch: nd,
+ type: VD.CHERRY_PICK,
+ tag: u ?? `cherry-pick:${p.id}${p.type === VD.MERGE ? `|parent:${d}` : ''}`,
+ };
+ ((Pp = y), (d1[y.id] = y), (P0[nd] = y.id), Xe.debug(P0), Xe.debug('in cherryPick'));
+ }
+ },
+ KUe = function (i) {
+ if (((i = ci.sanitizeText(i, qt())), P0[i] === void 0)) {
+ let s = new Error(
+ 'Trying to checkout branch which is not yet created. (Help try using "branch ' + i + '")',
+ );
+ throw (
+ (s.hash = {
+ text: 'checkout ' + i,
+ token: 'checkout ' + i,
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ['"branch ' + i + '"'],
+ }),
+ s
+ );
+ } else {
+ nd = i;
+ const s = P0[nd];
+ Pp = d1[s];
+ }
+ };
+ function WUe(i, s, u) {
+ const d = i.indexOf(s);
+ d === -1 ? i.push(u) : i.splice(d, 1, u);
+ }
+ function YUe(i) {
+ const s = i.reduce((p, v) => (p.seq > v.seq ? p : v), i[0]);
+ let u = '';
+ i.forEach(function (p) {
+ p === s ? (u += ' *') : (u += ' |');
+ });
+ const d = [u, s.id, s.seq];
+ for (let p in P0) P0[p] === s.id && d.push(p);
+ if ((Xe.debug(d.join(' ')), s.parents && s.parents.length == 2)) {
+ const p = d1[s.parents[0]];
+ (WUe(i, s, p), i.push(d1[s.parents[1]]));
+ } else {
+ if (s.parents.length == 0) return;
+ {
+ const p = d1[s.parents];
+ WUe(i, s, p);
+ }
+ }
+ ((i = utn(i, (p) => p.id)), YUe(i));
+ }
+ const mtn = function () {
+ Xe.debug(d1);
+ const i = XUe()[0];
+ YUe([i]);
+ },
+ vtn = function () {
+ ((d1 = {}), (Pp = null));
+ let i = qt().gitGraph.mainBranchName,
+ s = qt().gitGraph.mainBranchOrder;
+ ((P0 = {}),
+ (P0[i] = null),
+ (OR = {}),
+ (OR[i] = { name: i, order: s }),
+ (nd = i),
+ (WC = 0),
+ Ng());
+ },
+ wtn = function () {
+ return Object.values(OR)
+ .map((s, u) => (s.order !== null ? s : { ...s, order: parseFloat(`0.${u}`, 10) }))
+ .sort((s, u) => s.order - u.order)
+ .map(({ name: s }) => ({ name: s }));
+ },
+ ytn = function () {
+ return P0;
+ },
+ xtn = function () {
+ return d1;
+ },
+ XUe = function () {
+ const i = Object.keys(d1).map(function (s) {
+ return d1[s];
+ });
+ return (
+ i.forEach(function (s) {
+ Xe.debug(s.id);
+ }),
+ i.sort((s, u) => s.seq - u.seq),
+ i
+ );
+ },
+ ktn = function () {
+ return nd;
+ },
+ Etn = function () {
+ return UUe;
+ },
+ Ttn = function () {
+ return Pp;
+ },
+ VD = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 },
+ Ctn = {
+ getConfig: () => qt().gitGraph,
+ setDirection: ltn,
+ setOptions: htn,
+ getOptions: ftn,
+ commit: dtn,
+ branch: gtn,
+ merge: ptn,
+ cherryPick: btn,
+ checkout: KUe,
+ prettyPrint: mtn,
+ clear: vtn,
+ getBranchesAsObjArray: wtn,
+ getBranches: ytn,
+ getCommits: xtn,
+ getCommitsArray: XUe,
+ getCurrentBranch: ktn,
+ getDirection: Etn,
+ getHead: Ttn,
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ commitType: VD,
+ };
+ let NR = {};
+ const rd = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 },
+ YC = 8;
+ let V2 = {},
+ q7 = {},
+ cJ = [],
+ PR = 0,
+ B0 = 'LR';
+ const Stn = () => {
+ ((V2 = {}), (q7 = {}), (NR = {}), (PR = 0), (cJ = []), (B0 = 'LR'));
+ },
+ QUe = (i) => {
+ const s = document.createElementNS('http://www.w3.org/2000/svg', 'text');
+ let u = [];
+ typeof i == 'string'
+ ? (u = i.split(/\\n|\n|
/gi))
+ : Array.isArray(i)
+ ? (u = i)
+ : (u = []);
+ for (const d of u) {
+ const p = document.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ (p.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve'),
+ p.setAttribute('dy', '1em'),
+ p.setAttribute('x', '0'),
+ p.setAttribute('class', 'row'),
+ (p.textContent = d.trim()),
+ s.appendChild(p));
+ }
+ return s;
+ },
+ _tn = (i) => {
+ let s = '',
+ u = 0;
+ return (
+ i.forEach((d) => {
+ const p = B0 === 'TB' ? q7[d].y : q7[d].x;
+ p >= u && ((s = d), (u = p));
+ }),
+ s || void 0
+ );
+ },
+ JUe = (i, s, u) => {
+ const d = qt().gitGraph,
+ p = i.append('g').attr('class', 'commit-bullets'),
+ v = i.append('g').attr('class', 'commit-labels');
+ let b = 0;
+ B0 === 'TB' && (b = 30);
+ const T = Object.keys(s).sort((R, F) => s[R].seq - s[F].seq),
+ _ = d.parallelCommits,
+ A = 10,
+ P = 40;
+ T.forEach((R) => {
+ const F = s[R];
+ if (_)
+ if (F.parents.length) {
+ const ie = _tn(F.parents);
+ b = B0 === 'TB' ? q7[ie].y + P : q7[ie].x + P;
+ } else ((b = 0), B0 === 'TB' && (b = 30));
+ const j = b + A,
+ W = B0 === 'TB' ? j : V2[F.branch].pos,
+ ee = B0 === 'TB' ? V2[F.branch].pos : j;
+ if (u) {
+ let ie,
+ oe = F.customType !== void 0 && F.customType !== '' ? F.customType : F.type;
+ switch (oe) {
+ case rd.NORMAL:
+ ie = 'commit-normal';
+ break;
+ case rd.REVERSE:
+ ie = 'commit-reverse';
+ break;
+ case rd.HIGHLIGHT:
+ ie = 'commit-highlight';
+ break;
+ case rd.MERGE:
+ ie = 'commit-merge';
+ break;
+ case rd.CHERRY_PICK:
+ ie = 'commit-cherry-pick';
+ break;
+ default:
+ ie = 'commit-normal';
+ }
+ if (oe === rd.HIGHLIGHT) {
+ const be = p.append('rect');
+ (be.attr('x', ee - 10),
+ be.attr('y', W - 10),
+ be.attr('height', 20),
+ be.attr('width', 20),
+ be.attr(
+ 'class',
+ `commit ${F.id} commit-highlight${V2[F.branch].index % YC} ${ie}-outer`,
+ ),
+ p
+ .append('rect')
+ .attr('x', ee - 6)
+ .attr('y', W - 6)
+ .attr('height', 12)
+ .attr('width', 12)
+ .attr('class', `commit ${F.id} commit${V2[F.branch].index % YC} ${ie}-inner`));
+ } else if (oe === rd.CHERRY_PICK)
+ (p
+ .append('circle')
+ .attr('cx', ee)
+ .attr('cy', W)
+ .attr('r', 10)
+ .attr('class', `commit ${F.id} ${ie}`),
+ p
+ .append('circle')
+ .attr('cx', ee - 3)
+ .attr('cy', W + 2)
+ .attr('r', 2.75)
+ .attr('fill', '#fff')
+ .attr('class', `commit ${F.id} ${ie}`),
+ p
+ .append('circle')
+ .attr('cx', ee + 3)
+ .attr('cy', W + 2)
+ .attr('r', 2.75)
+ .attr('fill', '#fff')
+ .attr('class', `commit ${F.id} ${ie}`),
+ p
+ .append('line')
+ .attr('x1', ee + 3)
+ .attr('y1', W + 1)
+ .attr('x2', ee)
+ .attr('y2', W - 5)
+ .attr('stroke', '#fff')
+ .attr('class', `commit ${F.id} ${ie}`),
+ p
+ .append('line')
+ .attr('x1', ee - 3)
+ .attr('y1', W + 1)
+ .attr('x2', ee)
+ .attr('y2', W - 5)
+ .attr('stroke', '#fff')
+ .attr('class', `commit ${F.id} ${ie}`));
+ else {
+ const be = p.append('circle');
+ if (
+ (be.attr('cx', ee),
+ be.attr('cy', W),
+ be.attr('r', F.type === rd.MERGE ? 9 : 10),
+ be.attr('class', `commit ${F.id} commit${V2[F.branch].index % YC}`),
+ oe === rd.MERGE)
+ ) {
+ const ge = p.append('circle');
+ (ge.attr('cx', ee),
+ ge.attr('cy', W),
+ ge.attr('r', 6),
+ ge.attr('class', `commit ${ie} ${F.id} commit${V2[F.branch].index % YC}`));
+ }
+ oe === rd.REVERSE &&
+ p
+ .append('path')
+ .attr(
+ 'd',
+ `M ${ee - 5},${W - 5}L${ee + 5},${W + 5}M${ee - 5},${W + 5}L${ee + 5},${W - 5}`,
+ )
+ .attr('class', `commit ${ie} ${F.id} commit${V2[F.branch].index % YC}`);
+ }
+ }
+ if ((B0 === 'TB' ? (q7[F.id] = { x: ee, y: j }) : (q7[F.id] = { x: j, y: W }), u)) {
+ if (
+ F.type !== rd.CHERRY_PICK &&
+ ((F.customId && F.type === rd.MERGE) || F.type !== rd.MERGE) &&
+ d.showCommitLabel
+ ) {
+ const be = v.append('g'),
+ ge = be.insert('rect').attr('class', 'commit-label-bkg'),
+ ae = be
+ .append('text')
+ .attr('x', b)
+ .attr('y', W + 25)
+ .attr('class', 'commit-label')
+ .text(F.id);
+ let ne = ae.node().getBBox();
+ if (
+ (ge
+ .attr('x', j - ne.width / 2 - 2)
+ .attr('y', W + 13.5)
+ .attr('width', ne.width + 2 * 2)
+ .attr('height', ne.height + 2 * 2),
+ B0 === 'TB' &&
+ (ge.attr('x', ee - (ne.width + 4 * 4 + 5)).attr('y', W - 12),
+ ae.attr('x', ee - (ne.width + 4 * 4)).attr('y', W + ne.height - 12)),
+ B0 !== 'TB' && ae.attr('x', j - ne.width / 2),
+ d.rotateCommitLabel)
+ )
+ if (B0 === 'TB')
+ (ae.attr('transform', 'rotate(-45, ' + ee + ', ' + W + ')'),
+ ge.attr('transform', 'rotate(-45, ' + ee + ', ' + W + ')'));
+ else {
+ let se = -7.5 - ((ne.width + 10) / 25) * 9.5,
+ de = 10 + (ne.width / 25) * 8.5;
+ be.attr(
+ 'transform',
+ 'translate(' + se + ', ' + de + ') rotate(-45, ' + b + ', ' + W + ')',
+ );
+ }
+ }
+ if (F.tag) {
+ const be = v.insert('polygon'),
+ ge = v.append('circle'),
+ ae = v
+ .append('text')
+ .attr('y', W - 16)
+ .attr('class', 'tag-label')
+ .text(F.tag);
+ let ne = ae.node().getBBox();
+ ae.attr('x', j - ne.width / 2);
+ const se = ne.height / 2,
+ de = W - 19.2;
+ (be.attr('class', 'tag-label-bkg').attr(
+ 'points',
+ `
+ ${b - ne.width / 2 - 4 / 2},${de + 2}
+ ${b - ne.width / 2 - 4 / 2},${de - 2}
+ ${j - ne.width / 2 - 4},${de - se - 2}
+ ${j + ne.width / 2 + 4},${de - se - 2}
+ ${j + ne.width / 2 + 4},${de + se + 2}
+ ${j - ne.width / 2 - 4},${de + se + 2}`,
+ ),
+ ge
+ .attr('cx', b - ne.width / 2 + 4 / 2)
+ .attr('cy', de)
+ .attr('r', 1.5)
+ .attr('class', 'tag-hole'),
+ B0 === 'TB' &&
+ (be
+ .attr('class', 'tag-label-bkg')
+ .attr(
+ 'points',
+ `
+ ${ee},${b + 2}
+ ${ee},${b - 2}
+ ${ee + A},${b - se - 2}
+ ${ee + A + ne.width + 4},${b - se - 2}
+ ${ee + A + ne.width + 4},${b + se + 2}
+ ${ee + A},${b + se + 2}`,
+ )
+ .attr('transform', 'translate(12,12) rotate(45, ' + ee + ',' + b + ')'),
+ ge
+ .attr('cx', ee + 4 / 2)
+ .attr('cy', b)
+ .attr('transform', 'translate(12,12) rotate(45, ' + ee + ',' + b + ')'),
+ ae
+ .attr('x', ee + 5)
+ .attr('y', b + 3)
+ .attr('transform', 'translate(14,14) rotate(45, ' + ee + ',' + b + ')')));
+ }
+ }
+ ((b += P + A), b > PR && (PR = b));
+ });
+ },
+ Atn = (i, s, u, d, p) => {
+ const b = (B0 === 'TB' ? u.x < d.x : u.y < d.y) ? s.branch : i.branch,
+ y = (_) => _.branch === b,
+ T = (_) => _.seq > i.seq && _.seq < s.seq;
+ return Object.values(p).some((_) => T(_) && y(_));
+ },
+ BR = (i, s, u = 0) => {
+ const d = i + Math.abs(i - s) / 2;
+ if (u > 5) return d;
+ if (cJ.every((b) => Math.abs(b - d) >= 10)) return (cJ.push(d), d);
+ const v = Math.abs(i - s);
+ return BR(i, s - v / 5, u + 1);
+ },
+ Ltn = (i, s, u, d) => {
+ const p = q7[s.id],
+ v = q7[u.id],
+ b = Atn(s, u, p, v, d);
+ let y = '',
+ T = '',
+ _ = 0,
+ A = 0,
+ P = V2[u.branch].index;
+ u.type === rd.MERGE && s.id !== u.parents[0] && (P = V2[s.branch].index);
+ let R;
+ if (b) {
+ ((y = 'A 10 10, 0, 0, 0,'), (T = 'A 10 10, 0, 0, 1,'), (_ = 10), (A = 10));
+ const F = p.y < v.y ? BR(p.y, v.y) : BR(v.y, p.y),
+ j = p.x < v.x ? BR(p.x, v.x) : BR(v.x, p.x);
+ B0 === 'TB'
+ ? p.x < v.x
+ ? (R = `M ${p.x} ${p.y} L ${j - _} ${p.y} ${T} ${j} ${p.y + A} L ${j} ${v.y - _} ${y} ${j + A} ${v.y} L ${v.x} ${v.y}`)
+ : ((P = V2[s.branch].index),
+ (R = `M ${p.x} ${p.y} L ${j + _} ${p.y} ${y} ${j} ${p.y + A} L ${j} ${v.y - _} ${T} ${j - A} ${v.y} L ${v.x} ${v.y}`))
+ : p.y < v.y
+ ? (R = `M ${p.x} ${p.y} L ${p.x} ${F - _} ${y} ${p.x + A} ${F} L ${v.x - _} ${F} ${T} ${v.x} ${F + A} L ${v.x} ${v.y}`)
+ : ((P = V2[s.branch].index),
+ (R = `M ${p.x} ${p.y} L ${p.x} ${F + _} ${T} ${p.x + A} ${F} L ${v.x - _} ${F} ${y} ${v.x} ${F - A} L ${v.x} ${v.y}`));
+ } else
+ ((y = 'A 20 20, 0, 0, 0,'),
+ (T = 'A 20 20, 0, 0, 1,'),
+ (_ = 20),
+ (A = 20),
+ B0 === 'TB'
+ ? (p.x < v.x &&
+ (u.type === rd.MERGE && s.id !== u.parents[0]
+ ? (R = `M ${p.x} ${p.y} L ${p.x} ${v.y - _} ${y} ${p.x + A} ${v.y} L ${v.x} ${v.y}`)
+ : (R = `M ${p.x} ${p.y} L ${v.x - _} ${p.y} ${T} ${v.x} ${p.y + A} L ${v.x} ${v.y}`)),
+ p.x > v.x &&
+ ((y = 'A 20 20, 0, 0, 0,'),
+ (T = 'A 20 20, 0, 0, 1,'),
+ (_ = 20),
+ (A = 20),
+ u.type === rd.MERGE && s.id !== u.parents[0]
+ ? (R = `M ${p.x} ${p.y} L ${p.x} ${v.y - _} ${T} ${p.x - A} ${v.y} L ${v.x} ${v.y}`)
+ : (R = `M ${p.x} ${p.y} L ${v.x + _} ${p.y} ${y} ${v.x} ${p.y + A} L ${v.x} ${v.y}`)),
+ p.x === v.x && (R = `M ${p.x} ${p.y} L ${v.x} ${v.y}`))
+ : (p.y < v.y &&
+ (u.type === rd.MERGE && s.id !== u.parents[0]
+ ? (R = `M ${p.x} ${p.y} L ${v.x - _} ${p.y} ${T} ${v.x} ${p.y + A} L ${v.x} ${v.y}`)
+ : (R = `M ${p.x} ${p.y} L ${p.x} ${v.y - _} ${y} ${p.x + A} ${v.y} L ${v.x} ${v.y}`)),
+ p.y > v.y &&
+ (u.type === rd.MERGE && s.id !== u.parents[0]
+ ? (R = `M ${p.x} ${p.y} L ${v.x - _} ${p.y} ${y} ${v.x} ${p.y - A} L ${v.x} ${v.y}`)
+ : (R = `M ${p.x} ${p.y} L ${p.x} ${v.y + _} ${T} ${p.x + A} ${v.y} L ${v.x} ${v.y}`)),
+ p.y === v.y && (R = `M ${p.x} ${p.y} L ${v.x} ${v.y}`)));
+ i.append('path')
+ .attr('d', R)
+ .attr('class', 'arrow arrow' + (P % YC));
+ },
+ Mtn = (i, s) => {
+ const u = i.append('g').attr('class', 'commit-arrows');
+ Object.keys(s).forEach((d) => {
+ const p = s[d];
+ p.parents &&
+ p.parents.length > 0 &&
+ p.parents.forEach((v) => {
+ Ltn(u, s[v], p, s);
+ });
+ });
+ },
+ Dtn = (i, s) => {
+ const u = qt().gitGraph,
+ d = i.append('g');
+ s.forEach((p, v) => {
+ const b = v % YC,
+ y = V2[p.name].pos,
+ T = d.append('line');
+ (T.attr('x1', 0),
+ T.attr('y1', y),
+ T.attr('x2', PR),
+ T.attr('y2', y),
+ T.attr('class', 'branch branch' + b),
+ B0 === 'TB' && (T.attr('y1', 30), T.attr('x1', y), T.attr('y2', PR), T.attr('x2', y)),
+ cJ.push(y));
+ let _ = p.name;
+ const A = QUe(_),
+ P = d.insert('rect'),
+ F = d
+ .insert('g')
+ .attr('class', 'branchLabel')
+ .insert('g')
+ .attr('class', 'label branch-label' + b);
+ F.node().appendChild(A);
+ let j = A.getBBox();
+ (P.attr('class', 'branchLabelBkg label' + b)
+ .attr('rx', 4)
+ .attr('ry', 4)
+ .attr('x', -j.width - 4 - (u.rotateCommitLabel === !0 ? 30 : 0))
+ .attr('y', -j.height / 2 + 8)
+ .attr('width', j.width + 18)
+ .attr('height', j.height + 4),
+ F.attr(
+ 'transform',
+ 'translate(' +
+ (-j.width - 14 - (u.rotateCommitLabel === !0 ? 30 : 0)) +
+ ', ' +
+ (y - j.height / 2 - 1) +
+ ')',
+ ),
+ B0 === 'TB' &&
+ (P.attr('x', y - j.width / 2 - 10).attr('y', 0),
+ F.attr('transform', 'translate(' + (y - j.width / 2 - 5) + ', 0)')),
+ B0 !== 'TB' && P.attr('transform', 'translate(-19, ' + (y - j.height / 2) + ')'));
+ });
+ },
+ Itn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: otn,
+ db: Ctn,
+ renderer: {
+ draw: function (i, s, u, d) {
+ Stn();
+ const p = qt(),
+ v = p.gitGraph;
+ (Xe.debug(
+ 'in gitgraph renderer',
+ i +
+ `
+`,
+ 'id:',
+ s,
+ u,
+ ),
+ (NR = d.db.getCommits()));
+ const b = d.db.getBranchesAsObjArray();
+ B0 = d.db.getDirection();
+ const y = Ir(`[id="${s}"]`);
+ let T = 0;
+ (b.forEach((_, A) => {
+ const P = QUe(_.name),
+ R = y.append('g'),
+ F = R.insert('g').attr('class', 'branchLabel'),
+ j = F.insert('g').attr('class', 'label branch-label');
+ j.node().appendChild(P);
+ let W = P.getBBox();
+ ((V2[_.name] = { pos: T, index: A }),
+ (T += 50 + (v.rotateCommitLabel ? 40 : 0) + (B0 === 'TB' ? W.width / 2 : 0)),
+ j.remove(),
+ F.remove(),
+ R.remove());
+ }),
+ JUe(y, NR, !1),
+ v.showBranches && Dtn(y, b),
+ Mtn(y, NR),
+ JUe(y, NR, !0),
+ So.insertTitle(y, 'gitTitleText', v.titleTopMargin, d.db.getDiagramTitle()),
+ n$e(void 0, y, v.diagramPadding, v.useMaxWidth ?? p.useMaxWidth));
+ },
+ },
+ styles: (i) => `
.commit-id,
.commit-msg,
.branch-label {
@@ -569,13 +46947,15 @@ Expecting `+Tt.join(", ")+", got '"+(this.terminals_[kt]||kt)+"'":On="Parse erro
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
- ${[0,1,2,3,4,5,6,7].map(s=>`
- .branch-label${s} { fill: ${i["gitBranchLabel"+s]}; }
- .commit${s} { stroke: ${i["git"+s]}; fill: ${i["git"+s]}; }
- .commit-highlight${s} { stroke: ${i["gitInv"+s]}; fill: ${i["gitInv"+s]}; }
- .label${s} { fill: ${i["git"+s]}; }
- .arrow${s} { stroke: ${i["git"+s]}; }
- `).join(`
+ ${[0, 1, 2, 3, 4, 5, 6, 7].map(
+ (s) => `
+ .branch-label${s} { fill: ${i['gitBranchLabel' + s]}; }
+ .commit${s} { stroke: ${i['git' + s]}; fill: ${i['git' + s]}; }
+ .commit-highlight${s} { stroke: ${i['gitInv' + s]}; fill: ${i['gitInv' + s]}; }
+ .label${s} { fill: ${i['git' + s]}; }
+ .arrow${s} { stroke: ${i['git' + s]}; }
+ `,
+ ).join(`
`)}
.branch {
@@ -611,12 +46991,2229 @@ Expecting `+Tt.join(", ")+", got '"+(this.terminals_[kt]||kt)+"'":On="Parse erro
font-size: 18px;
fill: ${i.textColor};
}
-`}},Symbol.toStringTag,{value:"Module"}));var Yme=function(){var i=function(G,xe,U,Be){for(U=U||{},Be=G.length;Be--;U[G[Be]]=xe);return U},s=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,29],y=[1,30],T=[1,31],_=[1,9],A=[1,10],P=[1,11],R=[1,12],F=[1,13],j=[1,14],W=[1,15],ee=[1,16],ie=[1,18],oe=[1,19],be=[1,20],ge=[1,21],ae=[1,22],ne=[1,24],se=[1,32],de={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(xe,U,Be,Ne,je,Ie,Se){var Ce=Ie.length-1;switch(je){case 1:return Ie[Ce-1];case 2:this.$=[];break;case 3:Ie[Ce-1].push(Ie[Ce]),this.$=Ie[Ce-1];break;case 4:case 5:this.$=Ie[Ce];break;case 6:case 7:this.$=[];break;case 8:Ne.setWeekday("monday");break;case 9:Ne.setWeekday("tuesday");break;case 10:Ne.setWeekday("wednesday");break;case 11:Ne.setWeekday("thursday");break;case 12:Ne.setWeekday("friday");break;case 13:Ne.setWeekday("saturday");break;case 14:Ne.setWeekday("sunday");break;case 15:Ne.setDateFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 16:Ne.enableInclusiveEndDates(),this.$=Ie[Ce].substr(18);break;case 17:Ne.TopAxis(),this.$=Ie[Ce].substr(8);break;case 18:Ne.setAxisFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 19:Ne.setTickInterval(Ie[Ce].substr(13)),this.$=Ie[Ce].substr(13);break;case 20:Ne.setExcludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 21:Ne.setIncludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 22:Ne.setTodayMarker(Ie[Ce].substr(12)),this.$=Ie[Ce].substr(12);break;case 24:Ne.setDiagramTitle(Ie[Ce].substr(6)),this.$=Ie[Ce].substr(6);break;case 25:this.$=Ie[Ce].trim(),Ne.setAccTitle(this.$);break;case 26:case 27:this.$=Ie[Ce].trim(),Ne.setAccDescription(this.$);break;case 28:Ne.addSection(Ie[Ce].substr(8)),this.$=Ie[Ce].substr(8);break;case 30:Ne.addTask(Ie[Ce-1],Ie[Ce]),this.$="task";break;case 31:this.$=Ie[Ce-1],Ne.setClickEvent(Ie[Ce-1],Ie[Ce],null);break;case 32:this.$=Ie[Ce-2],Ne.setClickEvent(Ie[Ce-2],Ie[Ce-1],Ie[Ce]);break;case 33:this.$=Ie[Ce-2],Ne.setClickEvent(Ie[Ce-2],Ie[Ce-1],null),Ne.setLink(Ie[Ce-2],Ie[Ce]);break;case 34:this.$=Ie[Ce-3],Ne.setClickEvent(Ie[Ce-3],Ie[Ce-2],Ie[Ce-1]),Ne.setLink(Ie[Ce-3],Ie[Ce]);break;case 35:this.$=Ie[Ce-2],Ne.setClickEvent(Ie[Ce-2],Ie[Ce],null),Ne.setLink(Ie[Ce-2],Ie[Ce-1]);break;case 36:this.$=Ie[Ce-3],Ne.setClickEvent(Ie[Ce-3],Ie[Ce-1],Ie[Ce]),Ne.setLink(Ie[Ce-3],Ie[Ce-2]);break;case 37:this.$=Ie[Ce-1],Ne.setLink(Ie[Ce-1],Ie[Ce]);break;case 38:case 44:this.$=Ie[Ce-1]+" "+Ie[Ce];break;case 39:case 40:case 42:this.$=Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break;case 41:case 43:this.$=Ie[Ce-3]+" "+Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:33,11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:T,19:_,20:A,21:P,22:R,23:F,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(s,[2,5]),i(s,[2,6]),i(s,[2,15]),i(s,[2,16]),i(s,[2,17]),i(s,[2,18]),i(s,[2,19]),i(s,[2,20]),i(s,[2,21]),i(s,[2,22]),i(s,[2,23]),i(s,[2,24]),{29:[1,34]},{31:[1,35]},i(s,[2,27]),i(s,[2,28]),i(s,[2,29]),{36:[1,36]},i(s,[2,8]),i(s,[2,9]),i(s,[2,10]),i(s,[2,11]),i(s,[2,12]),i(s,[2,13]),i(s,[2,14]),{38:[1,37],40:[1,38]},i(s,[2,4]),i(s,[2,25]),i(s,[2,26]),i(s,[2,30]),i(s,[2,31],{39:[1,39],40:[1,40]}),i(s,[2,37],{38:[1,41]}),i(s,[2,32],{40:[1,42]}),i(s,[2,33]),i(s,[2,35],{39:[1,43]}),i(s,[2,34]),i(s,[2,36])],defaultActions:{},parseError:function(xe,U){if(U.recoverable)this.trace(xe);else{var Be=new Error(xe);throw Be.hash=U,Be}},parse:function(xe){var U=this,Be=[0],Ne=[],je=[null],Ie=[],Se=this.table,Ce="",ke=0,Ke=0,Ft=2,Pe=1,gn=Ie.slice.call(arguments,1),kt=Object.create(this.lexer),Et={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(Et.yy[Gt]=this.yy[Gt]);kt.setInput(xe,Et.yy),Et.yy.lexer=kt,Et.yy.parser=this,typeof kt.yylloc>"u"&&(kt.yylloc={});var ln=kt.yylloc;Ie.push(ln);var xt=kt.options&&kt.options.ranges;typeof Et.yy.parseError=="function"?this.parseError=Et.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pt(){var na;return na=Ne.pop()||kt.lex()||Pe,typeof na!="number"&&(na instanceof Array&&(Ne=na,na=Ne.pop()),na=U.symbols_[na]||na),na}for(var Ze,At,Tt,On,ht={},zr,yt,Fi,yi;;){if(At=Be[Be.length-1],this.defaultActions[At]?Tt=this.defaultActions[At]:((Ze===null||typeof Ze>"u")&&(Ze=Pt()),Tt=Se[At]&&Se[At][Ze]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Ba="";yi=[];for(zr in Se[At])this.terminals_[zr]&&zr>Ft&&yi.push("'"+this.terminals_[zr]+"'");kt.showPosition?Ba="Parse error on line "+(ke+1)+`:
-`+kt.showPosition()+`
-Expecting `+yi.join(", ")+", got '"+(this.terminals_[Ze]||Ze)+"'":Ba="Parse error on line "+(ke+1)+": Unexpected "+(Ze==Pe?"end of input":"'"+(this.terminals_[Ze]||Ze)+"'"),this.parseError(Ba,{text:kt.match,token:this.terminals_[Ze]||Ze,line:kt.yylineno,loc:ln,expected:yi})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+At+", token: "+Ze);switch(Tt[0]){case 1:Be.push(Ze),je.push(kt.yytext),Ie.push(kt.yylloc),Be.push(Tt[1]),Ze=null,Ke=kt.yyleng,Ce=kt.yytext,ke=kt.yylineno,ln=kt.yylloc;break;case 2:if(yt=this.productions_[Tt[1]][1],ht.$=je[je.length-yt],ht._$={first_line:Ie[Ie.length-(yt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(yt||1)].first_column,last_column:Ie[Ie.length-1].last_column},xt&&(ht._$.range=[Ie[Ie.length-(yt||1)].range[0],Ie[Ie.length-1].range[1]]),On=this.performAction.apply(ht,[Ce,Ke,ke,Et.yy,Tt[1],je,Ie].concat(gn)),typeof On<"u")return On;yt&&(Be=Be.slice(0,-1*yt*2),je=je.slice(0,-1*yt),Ie=Ie.slice(0,-1*yt)),Be.push(this.productions_[Tt[1]][0]),je.push(ht.$),Ie.push(ht._$),Fi=Se[Be[Be.length-2]][Be[Be.length-1]],Be.push(Fi);break;case 3:return!0}}return!0}},X=function(){var G={EOF:1,parseError:function(U,Be){if(this.yy.parser)this.yy.parser.parseError(U,Be);else throw new Error(U)},setInput:function(xe,U){return this.yy=U||this.yy||{},this._input=xe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var U=xe.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),xe},unput:function(xe){var U=xe.length,Be=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;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),Be.length-1&&(this.yylineno-=Be.length-1);var je=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:Be?(Be.length===Ne.length?this.yylloc.first_column:0)+Ne[Ne.length-Be.length].length-Be[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[je[0],je[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),U=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+`
-`+U+"^"},test_match:function(xe,U){var Be,Ne,je;if(this.options.backtrack_lexer&&(je={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&&(je.yylloc.range=this.yylloc.range.slice(0))),Ne=xe[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+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(xe[0].length),this.matched+=xe[0],Be=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Be)return Be;if(this._backtrack){for(var Ie in je)this[Ie]=je[Ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,U,Be,Ne;this._more||(this.yytext="",this.match="");for(var je=this._currentRules(),Ie=0;IeU[0].length)){if(U=Be,Ne=Ie,this.options.backtrack_lexer){if(xe=this.test_match(Be,je[Ie]),xe!==!1)return xe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(xe=this.test_match(U,je[Ne]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var U=this.next();return U||this.lex()},begin:function(U){this.conditionStack.push(U)},popState:function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},pushState:function(U){this.begin(U)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(U,Be,Ne,je){switch(Ne){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};return G}();de.lexer=X;function pe(){this.yy={}}return pe.prototype=de,de.Parser=pe,new pe}();Yme.parser=Yme;const Otn=Yme;var ZUe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){var u="day";return function(d,p,v){var b=function(_){return _.add(4-_.isoWeekday(),u)},y=p.prototype;y.isoWeekYear=function(){return b(this).year()},y.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),u);var A,P,R,F,j=b(this),W=(A=this.isoWeekYear(),P=this.$u,R=(P?v.utc:v)().year(A).startOf("year"),F=4-R.isoWeekday(),R.isoWeekday()>4&&(F+=7),R.add(F,u));return j.diff(W,"week")+1},y.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var T=y.startOf;y.startOf=function(_,A){var P=this.$utils(),R=!!P.u(A)||A;return P.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):T.bind(this)(_,A)}}})})(ZUe);var Ntn=ZUe.exports;const Ptn=lC(Ntn);var eGe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){var u={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"},d=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,p=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,y={},T=function(W){return(W=+W)+(W>68?1900:2e3)},_=function(W){return function(ee){this[W]=+ee}},A=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(ee){if(!ee||ee==="Z")return 0;var ie=ee.match(/([+-]|\d\d)/g),oe=60*ie[1]+(+ie[2]||0);return oe===0?0:ie[0]==="+"?-oe:oe}(W)}],P=function(W){var ee=y[W];return ee&&(ee.indexOf?ee:ee.s.concat(ee.f))},R=function(W,ee){var ie,oe=y.meridiem;if(oe){for(var be=1;be<=24;be+=1)if(W.indexOf(oe(be,0,ee))>-1){ie=be>12;break}}else ie=W===(ee?"pm":"PM");return ie},F={A:[b,function(W){this.afternoon=R(W,!1)}],a:[b,function(W){this.afternoon=R(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[p,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[p,_("day")],Do:[b,function(W){var ee=y.ordinal,ie=W.match(/\d+/);if(this.day=ie[0],ee)for(var oe=1;oe<=31;oe+=1)ee(oe).replace(/\[|\]/g,"")===W&&(this.day=oe)}],M:[v,_("month")],MM:[p,_("month")],MMM:[b,function(W){var ee=P("months"),ie=(P("monthsShort")||ee.map(function(oe){return oe.slice(0,3)})).indexOf(W)+1;if(ie<1)throw new Error;this.month=ie%12||ie}],MMMM:[b,function(W){var ee=P("months").indexOf(W)+1;if(ee<1)throw new Error;this.month=ee%12||ee}],Y:[/[+-]?\d+/,_("year")],YY:[p,function(W){this.year=T(W)}],YYYY:[/\d{4}/,_("year")],Z:A,ZZ:A};function j(W){var ee,ie;ee=W,ie=y&&y.formats;for(var oe=(W=ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pe,G){var xe=G&&G.toUpperCase();return pe||ie[G]||u[G]||ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,Be,Ne){return Be||Ne.slice(1)})})).match(d),be=oe.length,ge=0;ge-1)return new Date((Ie==="X"?1e3:1)*je);var Ce=j(Ie)(je),ke=Ce.year,Ke=Ce.month,Ft=Ce.day,Pe=Ce.hours,gn=Ce.minutes,kt=Ce.seconds,Et=Ce.milliseconds,Gt=Ce.zone,ln=new Date,xt=Ft||(ke||Ke?1:ln.getDate()),Pt=ke||ln.getFullYear(),Ze=0;ke&&!Ke||(Ze=Ke>0?Ke-1:ln.getMonth());var At=Pe||0,Tt=gn||0,On=kt||0,ht=Et||0;return Gt?new Date(Date.UTC(Pt,Ze,xt,At,Tt,On,ht+60*Gt.offset*1e3)):Se?new Date(Date.UTC(Pt,Ze,xt,At,Tt,On,ht)):new Date(Pt,Ze,xt,At,Tt,On,ht)}catch{return new Date("")}}(ae,de,ne),this.init(),xe&&xe!==!0&&(this.$L=this.locale(xe).$L),G&&ae!=this.format(de)&&(this.$d=new Date("")),y={}}else if(de instanceof Array)for(var U=de.length,Be=1;Be<=U;Be+=1){se[1]=de[Be-1];var Ne=ie.apply(this,se);if(Ne.isValid()){this.$d=Ne.$d,this.$L=Ne.$L,this.init();break}Be===U&&(this.$d=new Date(""))}else be.call(this,ge)}}})})(eGe);var Btn=eGe.exports;const Ftn=lC(Btn);var tGe={exports:{}};(function(i,s){(function(u,d){i.exports=d()})(_g,function(){return function(u,d){var p=d.prototype,v=p.format;p.format=function(b){var y=this,T=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),A=(b||"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(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return T.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return T.ordinal(y.week(),"W");case"w":case"ww":return _.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return _.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return _.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}});return v.bind(this)(A)}}})})(tGe);var Rtn=tGe.exports;const jtn=lC(Rtn);Ag.extend(Ptn),Ag.extend(Ftn),Ag.extend(jtn);let r5="",Xme="",Qme,Jme="",FR=[],RR=[],Zme={},eve=[],uJ=[],UD="",tve="";const nGe=["active","done","crit","milestone"];let nve=[],jR=!1,rve=!1,ive="sunday",sve=0;const $tn=function(){eve=[],uJ=[],UD="",nve=[],lJ=0,ove=void 0,hJ=void 0,g1=[],r5="",Xme="",tve="",Qme=void 0,Jme="",FR=[],RR=[],jR=!1,rve=!1,sve=0,Zme={},Ng(),ive="sunday"},ztn=function(i){Xme=i},qtn=function(){return Xme},Htn=function(i){Qme=i},Vtn=function(){return Qme},Utn=function(i){Jme=i},Gtn=function(){return Jme},Ktn=function(i){r5=i},Wtn=function(){jR=!0},Ytn=function(){return jR},Xtn=function(){rve=!0},Qtn=function(){return rve},Jtn=function(i){tve=i},Ztn=function(){return tve},enn=function(){return r5},tnn=function(i){FR=i.toLowerCase().split(/[\s,]+/)},nnn=function(){return FR},rnn=function(i){RR=i.toLowerCase().split(/[\s,]+/)},inn=function(){return RR},snn=function(){return Zme},ann=function(i){UD=i,eve.push(i)},onn=function(){return eve},cnn=function(){let i=cGe();const s=10;let u=0;for(;!i&&u=6&&u.includes("weekends")||u.includes(i.format("dddd").toLowerCase())?!0:u.includes(i.format(s.trim()))},unn=function(i){ive=i},lnn=function(){return ive},iGe=function(i,s,u,d){if(!u.length||i.manualEndTime)return;let p;i.startTime instanceof Date?p=Ag(i.startTime):p=Ag(i.startTime,s,!0),p=p.add(1,"d");let v;i.endTime instanceof Date?v=Ag(i.endTime):v=Ag(i.endTime,s,!0);const[b,y]=hnn(p,v,s,u,d);i.endTime=b.toDate(),i.renderEndTime=y},hnn=function(i,s,u,d,p){let v=!1,b=null;for(;i<=s;)v||(b=s.toDate()),v=rGe(i,u,d,p),v&&(s=s.add(1,"d")),i=i.add(1,"d");return[s,b]},ave=function(i,s,u){u=u.trim();const p=/^after\s+(?[\d\w- ]+)/.exec(u);if(p!==null){let b=null;for(const T of p.groups.ids.split(" ")){let _=XC(T);_!==void 0&&(!b||_.endTime>b.endTime)&&(b=_)}if(b)return b.endTime;const y=new Date;return y.setHours(0,0,0,0),y}let v=Ag(u,s.trim(),!0);if(v.isValid())return v.toDate();{Xe.debug("Invalid date:"+u),Xe.debug("With date format:"+s.trim());const b=new Date(u);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+u);return b}},sGe=function(i){const s=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return s!==null?[Number.parseFloat(s[1]),s[2]]:[NaN,"ms"]},aGe=function(i,s,u,d=!1){u=u.trim();const v=/^until\s+(?[\d\w- ]+)/.exec(u);if(v!==null){let A=null;for(const R of v.groups.ids.split(" ")){let F=XC(R);F!==void 0&&(!A||F.startTime{window.open(u,"_self")}),Zme[d]=u)}),uGe(i,"clickable")},uGe=function(i,s){i.split(",").forEach(function(u){let d=XC(u);d!==void 0&&d.classes.push(s)})},mnn=function(i,s,u){if(qt().securityLevel!=="loose"||s===void 0)return;let d=[];if(typeof u=="string"){d=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v{So.runFunc(s,...d)})},lGe=function(i,s){nve.push(function(){const u=document.querySelector(`[id="${i}"]`);u!==null&&u.addEventListener("click",function(){s()})},function(){const u=document.querySelector(`[id="${i}-text"]`);u!==null&&u.addEventListener("click",function(){s()})})},vnn={getConfig:()=>qt().gantt,clear:$tn,setDateFormat:Ktn,getDateFormat:enn,enableInclusiveEndDates:Wtn,endDatesAreInclusive:Ytn,enableTopAxis:Xtn,topAxisEnabled:Qtn,setAxisFormat:ztn,getAxisFormat:qtn,setTickInterval:Htn,getTickInterval:Vtn,setTodayMarker:Utn,getTodayMarker:Gtn,setAccTitle:Pg,getAccTitle:Sp,setDiagramTitle:om,getDiagramTitle:Lp,setDisplayMode:Jtn,getDisplayMode:Ztn,setAccDescription:_p,getAccDescription:Ap,addSection:ann,getSections:onn,getTasks:cnn,addTask:gnn,findTaskById:XC,addTaskOrg:pnn,setIncludes:tnn,getIncludes:nnn,setExcludes:rnn,getExcludes:inn,setClickEvent:function(i,s,u){i.split(",").forEach(function(d){mnn(d,s,u)}),uGe(i,"clickable")},setLink:bnn,getLinks:snn,bindFunctions:function(i){nve.forEach(function(s){s(i)})},parseDuration:sGe,isInvalidDate:rGe,setWeekday:unn,getWeekday:lnn};function hGe(i,s,u){let d=!0;for(;d;)d=!1,u.forEach(function(p){const v="^\\s*"+p+"\\s*$",b=new RegExp(v);i[0].match(b)&&(s[p]=!0,i.shift(1),d=!0)})}const wnn=function(){Xe.debug("Something is calling, setConf, remove the call")},fGe={monday:MF,tuesday:xFe,wednesday:kFe,thursday:wC,friday:EFe,saturday:TFe,sunday:LF},ynn=(i,s)=>{let u=[...i].map(()=>-1/0),d=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),p=0;for(const v of d)for(let b=0;b=u[b]){u[b]=v.endTime,v.order=b+s,b>p&&(p=b);break}return p};let H7;const xnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Otn,db:vnn,renderer:{setConf:wnn,draw:function(i,s,u,d){const p=qt().gantt,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=v==="sandbox"?b.nodes()[0].contentDocument:document,_=T.getElementById(s);H7=_.parentElement.offsetWidth,H7===void 0&&(H7=1200),p.useWidth!==void 0&&(H7=p.useWidth);const A=d.db.getTasks();let P=[];for(const de of A)P.push(de.type);P=se(P);const R={};let F=2*p.topPadding;if(d.db.getDisplayMode()==="compact"||p.displayMode==="compact"){const de={};for(const pe of A)de[pe.section]===void 0?de[pe.section]=[pe]:de[pe.section].push(pe);let X=0;for(const pe of Object.keys(de)){const G=ynn(de[pe],X)+1;X+=G,F+=G*(p.barHeight+p.barGap),R[pe]=G}}else{F+=A.length*(p.barHeight+p.barGap);for(const de of P)R[de]=A.filter(X=>X.type===de).length}_.setAttribute("viewBox","0 0 "+H7+" "+F);const j=y.select(`[id="${s}"]`),W=pNt().domain([QAt(A,function(de){return de.startTime}),XAt(A,function(de){return de.endTime})]).rangeRound([0,H7-p.leftPadding-p.rightPadding]);function ee(de,X){const pe=de.startTime,G=X.startTime;let xe=0;return pe>G?xe=1:peke.order))].map(ke=>de.find(Ke=>Ke.order===ke));j.append("g").selectAll("rect").data(je).enter().append("rect").attr("x",0).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe-2}).attr("width",function(){return Be-p.rightPadding/2}).attr("height",X).attr("class",function(ke){for(const[Ke,Ft]of P.entries())if(ke.type===Ft)return"section section"+Ke%p.numberSectionStyles;return"section section0"});const Ie=j.append("g").selectAll("rect").data(de).enter(),Se=d.db.getLinks();if(Ie.append("rect").attr("id",function(ke){return ke.id}).attr("rx",3).attr("ry",3).attr("x",function(ke){return ke.milestone?W(ke.startTime)+G+.5*(W(ke.endTime)-W(ke.startTime))-.5*xe:W(ke.startTime)+G}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe}).attr("width",function(ke){return ke.milestone?xe:W(ke.renderEndTime||ke.endTime)-W(ke.startTime)}).attr("height",xe).attr("transform-origin",function(ke,Ke){return Ke=ke.order,(W(ke.startTime)+G+.5*(W(ke.endTime)-W(ke.startTime))).toString()+"px "+(Ke*X+pe+.5*xe).toString()+"px"}).attr("class",function(ke){const Ke="task";let Ft="";ke.classes.length>0&&(Ft=ke.classes.join(" "));let Pe=0;for(const[kt,Et]of P.entries())ke.type===Et&&(Pe=kt%p.numberSectionStyles);let gn="";return ke.active?ke.crit?gn+=" activeCrit":gn=" active":ke.done?ke.crit?gn=" doneCrit":gn=" done":ke.crit&&(gn+=" crit"),gn.length===0&&(gn=" task"),ke.milestone&&(gn=" milestone "+gn),gn+=Pe,gn+=" "+Ft,Ke+gn}),Ie.append("text").attr("id",function(ke){return ke.id+"-text"}).text(function(ke){return ke.task}).attr("font-size",p.fontSize).attr("x",function(ke){let Ke=W(ke.startTime),Ft=W(ke.renderEndTime||ke.endTime);ke.milestone&&(Ke+=.5*(W(ke.endTime)-W(ke.startTime))-.5*xe),ke.milestone&&(Ft=Ke+xe);const Pe=this.getBBox().width;return Pe>Ft-Ke?Ft+Pe+1.5*p.leftPadding>Be?Ke+G-5:Ft+G+5:(Ft-Ke)/2+Ke+G}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+p.barHeight/2+(p.fontSize/2-2)+pe}).attr("text-height",xe).attr("class",function(ke){const Ke=W(ke.startTime);let Ft=W(ke.endTime);ke.milestone&&(Ft=Ke+xe);const Pe=this.getBBox().width;let gn="";ke.classes.length>0&&(gn=ke.classes.join(" "));let kt=0;for(const[Gt,ln]of P.entries())ke.type===ln&&(kt=Gt%p.numberSectionStyles);let Et="";return ke.active&&(ke.crit?Et="activeCritText"+kt:Et="activeText"+kt),ke.done?ke.crit?Et=Et+" doneCritText"+kt:Et=Et+" doneText"+kt:ke.crit&&(Et=Et+" critText"+kt),ke.milestone&&(Et+=" milestoneText"),Pe>Ft-Ke?Ft+Pe+1.5*p.leftPadding>Be?gn+" taskTextOutsideLeft taskTextOutside"+kt+" "+Et:gn+" taskTextOutsideRight taskTextOutside"+kt+" "+Et+" width-"+Pe:gn+" taskText taskText"+kt+" "+Et+" width-"+Pe}),qt().securityLevel==="sandbox"){let ke;ke=Ir("#i"+s);const Ke=ke.nodes()[0].contentDocument;Ie.filter(function(Ft){return Se[Ft.id]!==void 0}).each(function(Ft){var Pe=Ke.querySelector("#"+Ft.id),gn=Ke.querySelector("#"+Ft.id+"-text");const kt=Pe.parentNode;var Et=Ke.createElement("a");Et.setAttribute("xlink:href",Se[Ft.id]),Et.setAttribute("target","_top"),kt.appendChild(Et),Et.appendChild(Pe),Et.appendChild(gn)})}}function be(de,X,pe,G,xe,U,Be,Ne){if(Be.length===0&&Ne.length===0)return;let je,Ie;for(const{startTime:Pe,endTime:gn}of U)(je===void 0||PeIe)&&(Ie=gn);if(!je||!Ie)return;if(Ag(Ie).diff(Ag(je),"year")>5){Xe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Se=d.db.getDateFormat(),Ce=[];let ke=null,Ke=Ag(je);for(;Ke.valueOf()<=Ie;)d.db.isInvalidDate(Ke,Se,Be,Ne)?ke?ke.end=Ke:ke={start:Ke,end:Ke}:ke&&(Ce.push(ke),ke=null),Ke=Ke.add(1,"d");j.append("g").selectAll("rect").data(Ce).enter().append("rect").attr("id",function(Pe){return"exclude-"+Pe.start.format("YYYY-MM-DD")}).attr("x",function(Pe){return W(Pe.start)+pe}).attr("y",p.gridLineStartPadding).attr("width",function(Pe){const gn=Pe.end.add(1,"day");return W(gn)-W(Pe.start)}).attr("height",xe-X-p.gridLineStartPadding).attr("transform-origin",function(Pe,gn){return(W(Pe.start)+pe+.5*(W(Pe.end)-W(Pe.start))).toString()+"px "+(gn*de+.5*xe).toString()+"px"}).attr("class","exclude-range")}function ge(de,X,pe,G){let xe=aLt(W).tickSize(-G+X+p.gridLineStartPadding).tickFormat(sX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));const Be=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(d.db.getTickInterval()||p.tickInterval);if(Be!==null){const Ne=Be[1],je=Be[2],Ie=d.db.getWeekday()||p.weekday;switch(je){case"millisecond":xe.ticks(sD.every(Ne));break;case"second":xe.ticks(p9.every(Ne));break;case"minute":xe.ticks(_F.every(Ne));break;case"hour":xe.ticks(AF.every(Ne));break;case"day":xe.ticks(mC.every(Ne));break;case"week":xe.ticks(fGe[Ie].every(Ne));break;case"month":xe.ticks(DF.every(Ne));break}}if(j.append("g").attr("class","grid").attr("transform","translate("+de+", "+(G-50)+")").call(xe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),d.db.topAxisEnabled()||p.topAxis){let Ne=sLt(W).tickSize(-G+X+p.gridLineStartPadding).tickFormat(sX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));if(Be!==null){const je=Be[1],Ie=Be[2],Se=d.db.getWeekday()||p.weekday;switch(Ie){case"millisecond":Ne.ticks(sD.every(je));break;case"second":Ne.ticks(p9.every(je));break;case"minute":Ne.ticks(_F.every(je));break;case"hour":Ne.ticks(AF.every(je));break;case"day":Ne.ticks(mC.every(je));break;case"week":Ne.ticks(fGe[Se].every(je));break;case"month":Ne.ticks(DF.every(je));break}}j.append("g").attr("class","grid").attr("transform","translate("+de+", "+X+")").call(Ne).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ae(de,X){let pe=0;const G=Object.keys(R).map(xe=>[xe,R[xe]]);j.append("g").selectAll("text").data(G).enter().append(function(xe){const U=xe[0].split(ci.lineBreakRegex),Be=-(U.length-1)/2,Ne=T.createElementNS("http://www.w3.org/2000/svg","text");Ne.setAttribute("dy",Be+"em");for(const[je,Ie]of U.entries()){const Se=T.createElementNS("http://www.w3.org/2000/svg","tspan");Se.setAttribute("alignment-baseline","central"),Se.setAttribute("x","10"),je>0&&Se.setAttribute("dy","1em"),Se.textContent=Ie,Ne.appendChild(Se)}return Ne}).attr("x",10).attr("y",function(xe,U){if(U>0)for(let Be=0;Be`
+`,
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var Yme = (function () {
+ var i = function (G, xe, U, Be) {
+ for (U = U || {}, Be = G.length; Be--; U[G[Be]] = xe);
+ return U;
+ },
+ s = [
+ 6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33,
+ 35, 37,
+ ],
+ u = [1, 25],
+ d = [1, 26],
+ p = [1, 27],
+ v = [1, 28],
+ b = [1, 29],
+ y = [1, 30],
+ T = [1, 31],
+ _ = [1, 9],
+ A = [1, 10],
+ P = [1, 11],
+ R = [1, 12],
+ F = [1, 13],
+ j = [1, 14],
+ W = [1, 15],
+ ee = [1, 16],
+ ie = [1, 18],
+ oe = [1, 19],
+ be = [1, 20],
+ ge = [1, 21],
+ ae = [1, 22],
+ ne = [1, 24],
+ se = [1, 32],
+ de = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ gantt: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NL: 10,
+ weekday: 11,
+ weekday_monday: 12,
+ weekday_tuesday: 13,
+ weekday_wednesday: 14,
+ weekday_thursday: 15,
+ weekday_friday: 16,
+ weekday_saturday: 17,
+ weekday_sunday: 18,
+ dateFormat: 19,
+ inclusiveEndDates: 20,
+ topAxis: 21,
+ axisFormat: 22,
+ tickInterval: 23,
+ excludes: 24,
+ includes: 25,
+ todayMarker: 26,
+ title: 27,
+ acc_title: 28,
+ acc_title_value: 29,
+ acc_descr: 30,
+ acc_descr_value: 31,
+ acc_descr_multiline_value: 32,
+ section: 33,
+ clickStatement: 34,
+ taskTxt: 35,
+ taskData: 36,
+ click: 37,
+ callbackname: 38,
+ callbackargs: 39,
+ href: 40,
+ clickStatementDebug: 41,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'gantt',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NL',
+ 12: 'weekday_monday',
+ 13: 'weekday_tuesday',
+ 14: 'weekday_wednesday',
+ 15: 'weekday_thursday',
+ 16: 'weekday_friday',
+ 17: 'weekday_saturday',
+ 18: 'weekday_sunday',
+ 19: 'dateFormat',
+ 20: 'inclusiveEndDates',
+ 21: 'topAxis',
+ 22: 'axisFormat',
+ 23: 'tickInterval',
+ 24: 'excludes',
+ 25: 'includes',
+ 26: 'todayMarker',
+ 27: 'title',
+ 28: 'acc_title',
+ 29: 'acc_title_value',
+ 30: 'acc_descr',
+ 31: 'acc_descr_value',
+ 32: 'acc_descr_multiline_value',
+ 33: 'section',
+ 35: 'taskTxt',
+ 36: 'taskData',
+ 37: 'click',
+ 38: 'callbackname',
+ 39: 'callbackargs',
+ 40: 'href',
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [11, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [34, 2],
+ [34, 3],
+ [34, 3],
+ [34, 4],
+ [34, 3],
+ [34, 4],
+ [34, 2],
+ [41, 2],
+ [41, 3],
+ [41, 3],
+ [41, 4],
+ [41, 3],
+ [41, 4],
+ [41, 2],
+ ],
+ performAction: function (xe, U, Be, Ne, je, Ie, Se) {
+ var Ce = Ie.length - 1;
+ switch (je) {
+ case 1:
+ return Ie[Ce - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ (Ie[Ce - 1].push(Ie[Ce]), (this.$ = Ie[Ce - 1]));
+ break;
+ case 4:
+ case 5:
+ this.$ = Ie[Ce];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ Ne.setWeekday('monday');
+ break;
+ case 9:
+ Ne.setWeekday('tuesday');
+ break;
+ case 10:
+ Ne.setWeekday('wednesday');
+ break;
+ case 11:
+ Ne.setWeekday('thursday');
+ break;
+ case 12:
+ Ne.setWeekday('friday');
+ break;
+ case 13:
+ Ne.setWeekday('saturday');
+ break;
+ case 14:
+ Ne.setWeekday('sunday');
+ break;
+ case 15:
+ (Ne.setDateFormat(Ie[Ce].substr(11)), (this.$ = Ie[Ce].substr(11)));
+ break;
+ case 16:
+ (Ne.enableInclusiveEndDates(), (this.$ = Ie[Ce].substr(18)));
+ break;
+ case 17:
+ (Ne.TopAxis(), (this.$ = Ie[Ce].substr(8)));
+ break;
+ case 18:
+ (Ne.setAxisFormat(Ie[Ce].substr(11)), (this.$ = Ie[Ce].substr(11)));
+ break;
+ case 19:
+ (Ne.setTickInterval(Ie[Ce].substr(13)), (this.$ = Ie[Ce].substr(13)));
+ break;
+ case 20:
+ (Ne.setExcludes(Ie[Ce].substr(9)), (this.$ = Ie[Ce].substr(9)));
+ break;
+ case 21:
+ (Ne.setIncludes(Ie[Ce].substr(9)), (this.$ = Ie[Ce].substr(9)));
+ break;
+ case 22:
+ (Ne.setTodayMarker(Ie[Ce].substr(12)), (this.$ = Ie[Ce].substr(12)));
+ break;
+ case 24:
+ (Ne.setDiagramTitle(Ie[Ce].substr(6)), (this.$ = Ie[Ce].substr(6)));
+ break;
+ case 25:
+ ((this.$ = Ie[Ce].trim()), Ne.setAccTitle(this.$));
+ break;
+ case 26:
+ case 27:
+ ((this.$ = Ie[Ce].trim()), Ne.setAccDescription(this.$));
+ break;
+ case 28:
+ (Ne.addSection(Ie[Ce].substr(8)), (this.$ = Ie[Ce].substr(8)));
+ break;
+ case 30:
+ (Ne.addTask(Ie[Ce - 1], Ie[Ce]), (this.$ = 'task'));
+ break;
+ case 31:
+ ((this.$ = Ie[Ce - 1]), Ne.setClickEvent(Ie[Ce - 1], Ie[Ce], null));
+ break;
+ case 32:
+ ((this.$ = Ie[Ce - 2]), Ne.setClickEvent(Ie[Ce - 2], Ie[Ce - 1], Ie[Ce]));
+ break;
+ case 33:
+ ((this.$ = Ie[Ce - 2]),
+ Ne.setClickEvent(Ie[Ce - 2], Ie[Ce - 1], null),
+ Ne.setLink(Ie[Ce - 2], Ie[Ce]));
+ break;
+ case 34:
+ ((this.$ = Ie[Ce - 3]),
+ Ne.setClickEvent(Ie[Ce - 3], Ie[Ce - 2], Ie[Ce - 1]),
+ Ne.setLink(Ie[Ce - 3], Ie[Ce]));
+ break;
+ case 35:
+ ((this.$ = Ie[Ce - 2]),
+ Ne.setClickEvent(Ie[Ce - 2], Ie[Ce], null),
+ Ne.setLink(Ie[Ce - 2], Ie[Ce - 1]));
+ break;
+ case 36:
+ ((this.$ = Ie[Ce - 3]),
+ Ne.setClickEvent(Ie[Ce - 3], Ie[Ce - 1], Ie[Ce]),
+ Ne.setLink(Ie[Ce - 3], Ie[Ce - 2]));
+ break;
+ case 37:
+ ((this.$ = Ie[Ce - 1]), Ne.setLink(Ie[Ce - 1], Ie[Ce]));
+ break;
+ case 38:
+ case 44:
+ this.$ = Ie[Ce - 1] + ' ' + Ie[Ce];
+ break;
+ case 39:
+ case 40:
+ case 42:
+ this.$ = Ie[Ce - 2] + ' ' + Ie[Ce - 1] + ' ' + Ie[Ce];
+ break;
+ case 41:
+ case 43:
+ this.$ = Ie[Ce - 3] + ' ' + Ie[Ce - 2] + ' ' + Ie[Ce - 1] + ' ' + Ie[Ce];
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ i(s, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: 17,
+ 12: u,
+ 13: d,
+ 14: p,
+ 15: v,
+ 16: b,
+ 17: y,
+ 18: T,
+ 19: _,
+ 20: A,
+ 21: P,
+ 22: R,
+ 23: F,
+ 24: j,
+ 25: W,
+ 26: ee,
+ 27: ie,
+ 28: oe,
+ 30: be,
+ 32: ge,
+ 33: ae,
+ 34: 23,
+ 35: ne,
+ 37: se,
+ },
+ i(s, [2, 7], { 1: [2, 1] }),
+ i(s, [2, 3]),
+ {
+ 9: 33,
+ 11: 17,
+ 12: u,
+ 13: d,
+ 14: p,
+ 15: v,
+ 16: b,
+ 17: y,
+ 18: T,
+ 19: _,
+ 20: A,
+ 21: P,
+ 22: R,
+ 23: F,
+ 24: j,
+ 25: W,
+ 26: ee,
+ 27: ie,
+ 28: oe,
+ 30: be,
+ 32: ge,
+ 33: ae,
+ 34: 23,
+ 35: ne,
+ 37: se,
+ },
+ i(s, [2, 5]),
+ i(s, [2, 6]),
+ i(s, [2, 15]),
+ i(s, [2, 16]),
+ i(s, [2, 17]),
+ i(s, [2, 18]),
+ i(s, [2, 19]),
+ i(s, [2, 20]),
+ i(s, [2, 21]),
+ i(s, [2, 22]),
+ i(s, [2, 23]),
+ i(s, [2, 24]),
+ { 29: [1, 34] },
+ { 31: [1, 35] },
+ i(s, [2, 27]),
+ i(s, [2, 28]),
+ i(s, [2, 29]),
+ { 36: [1, 36] },
+ i(s, [2, 8]),
+ i(s, [2, 9]),
+ i(s, [2, 10]),
+ i(s, [2, 11]),
+ i(s, [2, 12]),
+ i(s, [2, 13]),
+ i(s, [2, 14]),
+ { 38: [1, 37], 40: [1, 38] },
+ i(s, [2, 4]),
+ i(s, [2, 25]),
+ i(s, [2, 26]),
+ i(s, [2, 30]),
+ i(s, [2, 31], { 39: [1, 39], 40: [1, 40] }),
+ i(s, [2, 37], { 38: [1, 41] }),
+ i(s, [2, 32], { 40: [1, 42] }),
+ i(s, [2, 33]),
+ i(s, [2, 35], { 39: [1, 43] }),
+ i(s, [2, 34]),
+ i(s, [2, 36]),
+ ],
+ defaultActions: {},
+ parseError: function (xe, U) {
+ if (U.recoverable) this.trace(xe);
+ else {
+ var Be = new Error(xe);
+ throw ((Be.hash = U), Be);
+ }
+ },
+ parse: function (xe) {
+ var U = this,
+ Be = [0],
+ Ne = [],
+ je = [null],
+ Ie = [],
+ Se = this.table,
+ Ce = '',
+ ke = 0,
+ Ke = 0,
+ Ft = 2,
+ Pe = 1,
+ gn = Ie.slice.call(arguments, 1),
+ kt = Object.create(this.lexer),
+ Et = { yy: {} };
+ for (var Gt in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Gt) && (Et.yy[Gt] = this.yy[Gt]);
+ (kt.setInput(xe, Et.yy),
+ (Et.yy.lexer = kt),
+ (Et.yy.parser = this),
+ typeof kt.yylloc > 'u' && (kt.yylloc = {}));
+ var ln = kt.yylloc;
+ Ie.push(ln);
+ var xt = kt.options && kt.options.ranges;
+ typeof Et.yy.parseError == 'function'
+ ? (this.parseError = Et.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Pt() {
+ var na;
+ return (
+ (na = Ne.pop() || kt.lex() || Pe),
+ typeof na != 'number' &&
+ (na instanceof Array && ((Ne = na), (na = Ne.pop())), (na = U.symbols_[na] || na)),
+ na
+ );
+ }
+ for (var Ze, At, Tt, On, ht = {}, zr, yt, Fi, yi; ; ) {
+ if (
+ ((At = Be[Be.length - 1]),
+ this.defaultActions[At]
+ ? (Tt = this.defaultActions[At])
+ : ((Ze === null || typeof Ze > 'u') && (Ze = Pt()), (Tt = Se[At] && Se[At][Ze])),
+ typeof Tt > 'u' || !Tt.length || !Tt[0])
+ ) {
+ var Ba = '';
+ yi = [];
+ for (zr in Se[At])
+ this.terminals_[zr] && zr > Ft && yi.push("'" + this.terminals_[zr] + "'");
+ (kt.showPosition
+ ? (Ba =
+ 'Parse error on line ' +
+ (ke + 1) +
+ `:
+` +
+ kt.showPosition() +
+ `
+Expecting ` +
+ yi.join(', ') +
+ ", got '" +
+ (this.terminals_[Ze] || Ze) +
+ "'")
+ : (Ba =
+ 'Parse error on line ' +
+ (ke + 1) +
+ ': Unexpected ' +
+ (Ze == Pe ? 'end of input' : "'" + (this.terminals_[Ze] || Ze) + "'")),
+ this.parseError(Ba, {
+ text: kt.match,
+ token: this.terminals_[Ze] || Ze,
+ line: kt.yylineno,
+ loc: ln,
+ expected: yi,
+ }));
+ }
+ if (Tt[0] instanceof Array && Tt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + At + ', token: ' + Ze,
+ );
+ switch (Tt[0]) {
+ case 1:
+ (Be.push(Ze),
+ je.push(kt.yytext),
+ Ie.push(kt.yylloc),
+ Be.push(Tt[1]),
+ (Ze = null),
+ (Ke = kt.yyleng),
+ (Ce = kt.yytext),
+ (ke = kt.yylineno),
+ (ln = kt.yylloc));
+ break;
+ case 2:
+ if (
+ ((yt = this.productions_[Tt[1]][1]),
+ (ht.$ = je[je.length - yt]),
+ (ht._$ = {
+ first_line: Ie[Ie.length - (yt || 1)].first_line,
+ last_line: Ie[Ie.length - 1].last_line,
+ first_column: Ie[Ie.length - (yt || 1)].first_column,
+ last_column: Ie[Ie.length - 1].last_column,
+ }),
+ xt &&
+ (ht._$.range = [
+ Ie[Ie.length - (yt || 1)].range[0],
+ Ie[Ie.length - 1].range[1],
+ ]),
+ (On = this.performAction.apply(
+ ht,
+ [Ce, Ke, ke, Et.yy, Tt[1], je, Ie].concat(gn),
+ )),
+ typeof On < 'u')
+ )
+ return On;
+ (yt &&
+ ((Be = Be.slice(0, -1 * yt * 2)),
+ (je = je.slice(0, -1 * yt)),
+ (Ie = Ie.slice(0, -1 * yt))),
+ Be.push(this.productions_[Tt[1]][0]),
+ je.push(ht.$),
+ Ie.push(ht._$),
+ (Fi = Se[Be[Be.length - 2]][Be[Be.length - 1]]),
+ Be.push(Fi));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ X = (function () {
+ var G = {
+ EOF: 1,
+ parseError: function (U, Be) {
+ if (this.yy.parser) this.yy.parser.parseError(U, Be);
+ else throw new Error(U);
+ },
+ setInput: function (xe, U) {
+ return (
+ (this.yy = U || this.yy || {}),
+ (this._input = xe),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var xe = this._input[0];
+ ((this.yytext += xe),
+ this.yyleng++,
+ this.offset++,
+ (this.match += xe),
+ (this.matched += xe));
+ var U = xe.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)),
+ xe
+ );
+ },
+ unput: function (xe) {
+ var U = xe.length,
+ Be = xe.split(/(?:\r\n?|\n)/g);
+ ((this._input = xe + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - U)),
+ (this.offset -= U));
+ 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)),
+ Be.length - 1 && (this.yylineno -= Be.length - 1));
+ var je = 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: Be
+ ? (Be.length === Ne.length ? this.yylloc.first_column : 0) +
+ Ne[Ne.length - Be.length].length -
+ Be[0].length
+ : this.yylloc.first_column - U,
+ }),
+ this.options.ranges && (this.yylloc.range = [je[0], je[0] + this.yyleng - U]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (xe) {
+ this.unput(this.match.slice(xe));
+ },
+ pastInput: function () {
+ var xe = this.matched.substr(0, this.matched.length - this.match.length);
+ return (xe.length > 20 ? '...' : '') + xe.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var xe = this.match;
+ return (
+ xe.length < 20 && (xe += this._input.substr(0, 20 - xe.length)),
+ (xe.substr(0, 20) + (xe.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var xe = this.pastInput(),
+ U = new Array(xe.length + 1).join('-');
+ return (
+ xe +
+ this.upcomingInput() +
+ `
+` +
+ U +
+ '^'
+ );
+ },
+ test_match: function (xe, U) {
+ var Be, Ne, je;
+ if (
+ (this.options.backtrack_lexer &&
+ ((je = {
+ 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 && (je.yylloc.range = this.yylloc.range.slice(0))),
+ (Ne = xe[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 + xe[0].length,
+ }),
+ (this.yytext += xe[0]),
+ (this.match += xe[0]),
+ (this.matches = xe),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(xe[0].length)),
+ (this.matched += xe[0]),
+ (Be = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ U,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ Be)
+ )
+ return Be;
+ if (this._backtrack) {
+ for (var Ie in je) this[Ie] = je[Ie];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var xe, U, Be, Ne;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var je = this._currentRules(), Ie = 0; Ie < je.length; Ie++)
+ if (
+ ((Be = this._input.match(this.rules[je[Ie]])),
+ Be && (!U || Be[0].length > U[0].length))
+ ) {
+ if (((U = Be), (Ne = Ie), this.options.backtrack_lexer)) {
+ if (((xe = this.test_match(Be, je[Ie])), xe !== !1)) return xe;
+ if (this._backtrack) {
+ U = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return U
+ ? ((xe = this.test_match(U, je[Ne])), xe !== !1 ? xe : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var U = this.next();
+ return U || this.lex();
+ },
+ begin: function (U) {
+ this.conditionStack.push(U);
+ },
+ popState: function () {
+ var U = this.conditionStack.length - 1;
+ return U > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (U) {
+ return (
+ (U = this.conditionStack.length - 1 - Math.abs(U || 0)),
+ U >= 0 ? this.conditionStack[U] : 'INITIAL'
+ );
+ },
+ pushState: function (U) {
+ this.begin(U);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (U, Be, Ne, je) {
+ switch (Ne) {
+ case 0:
+ return (this.begin('open_directive'), 'open_directive');
+ case 1:
+ return (this.begin('acc_title'), 28);
+ case 2:
+ return (this.popState(), 'acc_title_value');
+ case 3:
+ return (this.begin('acc_descr'), 30);
+ case 4:
+ return (this.popState(), 'acc_descr_value');
+ case 5:
+ this.begin('acc_descr_multiline');
+ break;
+ case 6:
+ this.popState();
+ break;
+ case 7:
+ return 'acc_descr_multiline_value';
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ return 10;
+ case 12:
+ break;
+ case 13:
+ break;
+ case 14:
+ this.begin('href');
+ break;
+ case 15:
+ this.popState();
+ break;
+ case 16:
+ return 40;
+ case 17:
+ this.begin('callbackname');
+ break;
+ case 18:
+ this.popState();
+ break;
+ case 19:
+ (this.popState(), this.begin('callbackargs'));
+ break;
+ case 20:
+ return 38;
+ case 21:
+ this.popState();
+ break;
+ case 22:
+ return 39;
+ case 23:
+ this.begin('click');
+ break;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 37;
+ case 26:
+ return 4;
+ case 27:
+ return 19;
+ case 28:
+ return 20;
+ case 29:
+ return 21;
+ case 30:
+ return 22;
+ case 31:
+ return 23;
+ case 32:
+ return 25;
+ case 33:
+ return 24;
+ case 34:
+ return 26;
+ case 35:
+ return 12;
+ case 36:
+ return 13;
+ case 37:
+ return 14;
+ case 38:
+ return 15;
+ case 39:
+ return 16;
+ case 40:
+ return 17;
+ case 41:
+ return 18;
+ case 42:
+ return 'date';
+ case 43:
+ return 27;
+ case 44:
+ return 'accDescription';
+ case 45:
+ return 33;
+ case 46:
+ return 35;
+ case 47:
+ return 36;
+ case 48:
+ return ':';
+ case 49:
+ return 6;
+ case 50:
+ return 'INVALID';
+ }
+ },
+ rules: [
+ /^(?:%%\{)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:%%(?!\{)*[^\n]*)/i,
+ /^(?:[^\}]%%*[^\n]*)/i,
+ /^(?:%%*[^\n]*[\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:href[\s]+["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:call[\s]+)/i,
+ /^(?:\([\s]*\))/i,
+ /^(?:\()/i,
+ /^(?:[^(]*)/i,
+ /^(?:\))/i,
+ /^(?:[^)]*)/i,
+ /^(?:click[\s]+)/i,
+ /^(?:[\s\n])/i,
+ /^(?:[^\s\n]*)/i,
+ /^(?:gantt\b)/i,
+ /^(?:dateFormat\s[^#\n;]+)/i,
+ /^(?:inclusiveEndDates\b)/i,
+ /^(?:topAxis\b)/i,
+ /^(?:axisFormat\s[^#\n;]+)/i,
+ /^(?:tickInterval\s[^#\n;]+)/i,
+ /^(?:includes\s[^#\n;]+)/i,
+ /^(?:excludes\s[^#\n;]+)/i,
+ /^(?:todayMarker\s[^\n;]+)/i,
+ /^(?:weekday\s+monday\b)/i,
+ /^(?:weekday\s+tuesday\b)/i,
+ /^(?:weekday\s+wednesday\b)/i,
+ /^(?:weekday\s+thursday\b)/i,
+ /^(?:weekday\s+friday\b)/i,
+ /^(?:weekday\s+saturday\b)/i,
+ /^(?:weekday\s+sunday\b)/i,
+ /^(?:\d\d\d\d-\d\d-\d\d\b)/i,
+ /^(?:title\s[^\n]+)/i,
+ /^(?:accDescription\s[^#\n;]+)/i,
+ /^(?:section\s[^\n]+)/i,
+ /^(?:[^:\n]+)/i,
+ /^(?::[^#\n;]+)/i,
+ /^(?::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
+ acc_descr: { rules: [4], inclusive: !1 },
+ acc_title: { rules: [2], inclusive: !1 },
+ callbackargs: { rules: [21, 22], inclusive: !1 },
+ callbackname: { rules: [18, 19, 20], inclusive: !1 },
+ href: { rules: [15, 16], inclusive: !1 },
+ click: { rules: [24, 25], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return G;
+ })();
+ de.lexer = X;
+ function pe() {
+ this.yy = {};
+ }
+ return ((pe.prototype = de), (de.Parser = pe), new pe());
+ })();
+ Yme.parser = Yme;
+ const Otn = Yme;
+ var ZUe = { exports: {} };
+ (function (i, s) {
+ (function (u, d) {
+ i.exports = d();
+ })(_g, function () {
+ var u = 'day';
+ return function (d, p, v) {
+ var b = function (_) {
+ return _.add(4 - _.isoWeekday(), u);
+ },
+ y = p.prototype;
+ ((y.isoWeekYear = function () {
+ return b(this).year();
+ }),
+ (y.isoWeek = function (_) {
+ if (!this.$utils().u(_)) return this.add(7 * (_ - this.isoWeek()), u);
+ var A,
+ P,
+ R,
+ F,
+ j = b(this),
+ W =
+ ((A = this.isoWeekYear()),
+ (P = this.$u),
+ (R = (P ? v.utc : v)().year(A).startOf('year')),
+ (F = 4 - R.isoWeekday()),
+ R.isoWeekday() > 4 && (F += 7),
+ R.add(F, u));
+ return j.diff(W, 'week') + 1;
+ }),
+ (y.isoWeekday = function (_) {
+ return this.$utils().u(_) ? this.day() || 7 : this.day(this.day() % 7 ? _ : _ - 7);
+ }));
+ var T = y.startOf;
+ y.startOf = function (_, A) {
+ var P = this.$utils(),
+ R = !!P.u(A) || A;
+ return P.p(_) === 'isoweek'
+ ? R
+ ? this.date(this.date() - (this.isoWeekday() - 1)).startOf('day')
+ : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf('day')
+ : T.bind(this)(_, A);
+ };
+ };
+ });
+ })(ZUe);
+ var Ntn = ZUe.exports;
+ const Ptn = lC(Ntn);
+ var eGe = { exports: {} };
+ (function (i, s) {
+ (function (u, d) {
+ i.exports = d();
+ })(_g, function () {
+ var u = {
+ 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',
+ },
+ d =
+ /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,
+ p = /\d\d/,
+ v = /\d\d?/,
+ b = /\d*[^-_:/,()\s\d]+/,
+ y = {},
+ T = function (W) {
+ return (W = +W) + (W > 68 ? 1900 : 2e3);
+ },
+ _ = function (W) {
+ return function (ee) {
+ this[W] = +ee;
+ };
+ },
+ A = [
+ /[+-]\d\d:?(\d\d)?|Z/,
+ function (W) {
+ (this.zone || (this.zone = {})).offset = (function (ee) {
+ if (!ee || ee === 'Z') return 0;
+ var ie = ee.match(/([+-]|\d\d)/g),
+ oe = 60 * ie[1] + (+ie[2] || 0);
+ return oe === 0 ? 0 : ie[0] === '+' ? -oe : oe;
+ })(W);
+ },
+ ],
+ P = function (W) {
+ var ee = y[W];
+ return ee && (ee.indexOf ? ee : ee.s.concat(ee.f));
+ },
+ R = function (W, ee) {
+ var ie,
+ oe = y.meridiem;
+ if (oe) {
+ for (var be = 1; be <= 24; be += 1)
+ if (W.indexOf(oe(be, 0, ee)) > -1) {
+ ie = be > 12;
+ break;
+ }
+ } else ie = W === (ee ? 'pm' : 'PM');
+ return ie;
+ },
+ F = {
+ A: [
+ b,
+ function (W) {
+ this.afternoon = R(W, !1);
+ },
+ ],
+ a: [
+ b,
+ function (W) {
+ this.afternoon = R(W, !0);
+ },
+ ],
+ S: [
+ /\d/,
+ function (W) {
+ this.milliseconds = 100 * +W;
+ },
+ ],
+ SS: [
+ p,
+ function (W) {
+ this.milliseconds = 10 * +W;
+ },
+ ],
+ SSS: [
+ /\d{3}/,
+ function (W) {
+ this.milliseconds = +W;
+ },
+ ],
+ s: [v, _('seconds')],
+ ss: [v, _('seconds')],
+ m: [v, _('minutes')],
+ mm: [v, _('minutes')],
+ H: [v, _('hours')],
+ h: [v, _('hours')],
+ HH: [v, _('hours')],
+ hh: [v, _('hours')],
+ D: [v, _('day')],
+ DD: [p, _('day')],
+ Do: [
+ b,
+ function (W) {
+ var ee = y.ordinal,
+ ie = W.match(/\d+/);
+ if (((this.day = ie[0]), ee))
+ for (var oe = 1; oe <= 31; oe += 1)
+ ee(oe).replace(/\[|\]/g, '') === W && (this.day = oe);
+ },
+ ],
+ M: [v, _('month')],
+ MM: [p, _('month')],
+ MMM: [
+ b,
+ function (W) {
+ var ee = P('months'),
+ ie =
+ (
+ P('monthsShort') ||
+ ee.map(function (oe) {
+ return oe.slice(0, 3);
+ })
+ ).indexOf(W) + 1;
+ if (ie < 1) throw new Error();
+ this.month = ie % 12 || ie;
+ },
+ ],
+ MMMM: [
+ b,
+ function (W) {
+ var ee = P('months').indexOf(W) + 1;
+ if (ee < 1) throw new Error();
+ this.month = ee % 12 || ee;
+ },
+ ],
+ Y: [/[+-]?\d+/, _('year')],
+ YY: [
+ p,
+ function (W) {
+ this.year = T(W);
+ },
+ ],
+ YYYY: [/\d{4}/, _('year')],
+ Z: A,
+ ZZ: A,
+ };
+ function j(W) {
+ var ee, ie;
+ ((ee = W), (ie = y && y.formats));
+ for (
+ var oe = (W = ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (X, pe, G) {
+ var xe = G && G.toUpperCase();
+ return (
+ pe ||
+ ie[G] ||
+ u[G] ||
+ ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (U, Be, Ne) {
+ return Be || Ne.slice(1);
+ })
+ );
+ })).match(d),
+ be = oe.length,
+ ge = 0;
+ ge < be;
+ ge += 1
+ ) {
+ var ae = oe[ge],
+ ne = F[ae],
+ se = ne && ne[0],
+ de = ne && ne[1];
+ oe[ge] = de ? { regex: se, parser: de } : ae.replace(/^\[|\]$/g, '');
+ }
+ return function (X) {
+ for (var pe = {}, G = 0, xe = 0; G < be; G += 1) {
+ var U = oe[G];
+ if (typeof U == 'string') xe += U.length;
+ else {
+ var Be = U.regex,
+ Ne = U.parser,
+ je = X.slice(xe),
+ Ie = Be.exec(je)[0];
+ (Ne.call(pe, Ie), (X = X.replace(Ie, '')));
+ }
+ }
+ return (
+ (function (Se) {
+ var Ce = Se.afternoon;
+ if (Ce !== void 0) {
+ var ke = Se.hours;
+ (Ce ? ke < 12 && (Se.hours += 12) : ke === 12 && (Se.hours = 0),
+ delete Se.afternoon);
+ }
+ })(pe),
+ pe
+ );
+ };
+ }
+ return function (W, ee, ie) {
+ ((ie.p.customParseFormat = !0), W && W.parseTwoDigitYear && (T = W.parseTwoDigitYear));
+ var oe = ee.prototype,
+ be = oe.parse;
+ oe.parse = function (ge) {
+ var ae = ge.date,
+ ne = ge.utc,
+ se = ge.args;
+ this.$u = ne;
+ var de = se[1];
+ if (typeof de == 'string') {
+ var X = se[2] === !0,
+ pe = se[3] === !0,
+ G = X || pe,
+ xe = se[2];
+ (pe && (xe = se[2]),
+ (y = this.$locale()),
+ !X && xe && (y = ie.Ls[xe]),
+ (this.$d = (function (je, Ie, Se) {
+ try {
+ if (['x', 'X'].indexOf(Ie) > -1) return new Date((Ie === 'X' ? 1e3 : 1) * je);
+ var Ce = j(Ie)(je),
+ ke = Ce.year,
+ Ke = Ce.month,
+ Ft = Ce.day,
+ Pe = Ce.hours,
+ gn = Ce.minutes,
+ kt = Ce.seconds,
+ Et = Ce.milliseconds,
+ Gt = Ce.zone,
+ ln = new Date(),
+ xt = Ft || (ke || Ke ? 1 : ln.getDate()),
+ Pt = ke || ln.getFullYear(),
+ Ze = 0;
+ (ke && !Ke) || (Ze = Ke > 0 ? Ke - 1 : ln.getMonth());
+ var At = Pe || 0,
+ Tt = gn || 0,
+ On = kt || 0,
+ ht = Et || 0;
+ return Gt
+ ? new Date(Date.UTC(Pt, Ze, xt, At, Tt, On, ht + 60 * Gt.offset * 1e3))
+ : Se
+ ? new Date(Date.UTC(Pt, Ze, xt, At, Tt, On, ht))
+ : new Date(Pt, Ze, xt, At, Tt, On, ht);
+ } catch {
+ return new Date('');
+ }
+ })(ae, de, ne)),
+ this.init(),
+ xe && xe !== !0 && (this.$L = this.locale(xe).$L),
+ G && ae != this.format(de) && (this.$d = new Date('')),
+ (y = {}));
+ } else if (de instanceof Array)
+ for (var U = de.length, Be = 1; Be <= U; Be += 1) {
+ se[1] = de[Be - 1];
+ var Ne = ie.apply(this, se);
+ if (Ne.isValid()) {
+ ((this.$d = Ne.$d), (this.$L = Ne.$L), this.init());
+ break;
+ }
+ Be === U && (this.$d = new Date(''));
+ }
+ else be.call(this, ge);
+ };
+ };
+ });
+ })(eGe);
+ var Btn = eGe.exports;
+ const Ftn = lC(Btn);
+ var tGe = { exports: {} };
+ (function (i, s) {
+ (function (u, d) {
+ i.exports = d();
+ })(_g, function () {
+ return function (u, d) {
+ var p = d.prototype,
+ v = p.format;
+ p.format = function (b) {
+ var y = this,
+ T = this.$locale();
+ if (!this.isValid()) return v.bind(this)(b);
+ var _ = this.$utils(),
+ A = (b || '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 (P) {
+ switch (P) {
+ case 'Q':
+ return Math.ceil((y.$M + 1) / 3);
+ case 'Do':
+ return T.ordinal(y.$D);
+ case 'gggg':
+ return y.weekYear();
+ case 'GGGG':
+ return y.isoWeekYear();
+ case 'wo':
+ return T.ordinal(y.week(), 'W');
+ case 'w':
+ case 'ww':
+ return _.s(y.week(), P === 'w' ? 1 : 2, '0');
+ case 'W':
+ case 'WW':
+ return _.s(y.isoWeek(), P === 'W' ? 1 : 2, '0');
+ case 'k':
+ case 'kk':
+ return _.s(String(y.$H === 0 ? 24 : y.$H), P === 'k' ? 1 : 2, '0');
+ case 'X':
+ return Math.floor(y.$d.getTime() / 1e3);
+ case 'x':
+ return y.$d.getTime();
+ case 'z':
+ return '[' + y.offsetName() + ']';
+ case 'zzz':
+ return '[' + y.offsetName('long') + ']';
+ default:
+ return P;
+ }
+ },
+ );
+ return v.bind(this)(A);
+ };
+ };
+ });
+ })(tGe);
+ var Rtn = tGe.exports;
+ const jtn = lC(Rtn);
+ (Ag.extend(Ptn), Ag.extend(Ftn), Ag.extend(jtn));
+ let r5 = '',
+ Xme = '',
+ Qme,
+ Jme = '',
+ FR = [],
+ RR = [],
+ Zme = {},
+ eve = [],
+ uJ = [],
+ UD = '',
+ tve = '';
+ const nGe = ['active', 'done', 'crit', 'milestone'];
+ let nve = [],
+ jR = !1,
+ rve = !1,
+ ive = 'sunday',
+ sve = 0;
+ const $tn = function () {
+ ((eve = []),
+ (uJ = []),
+ (UD = ''),
+ (nve = []),
+ (lJ = 0),
+ (ove = void 0),
+ (hJ = void 0),
+ (g1 = []),
+ (r5 = ''),
+ (Xme = ''),
+ (tve = ''),
+ (Qme = void 0),
+ (Jme = ''),
+ (FR = []),
+ (RR = []),
+ (jR = !1),
+ (rve = !1),
+ (sve = 0),
+ (Zme = {}),
+ Ng(),
+ (ive = 'sunday'));
+ },
+ ztn = function (i) {
+ Xme = i;
+ },
+ qtn = function () {
+ return Xme;
+ },
+ Htn = function (i) {
+ Qme = i;
+ },
+ Vtn = function () {
+ return Qme;
+ },
+ Utn = function (i) {
+ Jme = i;
+ },
+ Gtn = function () {
+ return Jme;
+ },
+ Ktn = function (i) {
+ r5 = i;
+ },
+ Wtn = function () {
+ jR = !0;
+ },
+ Ytn = function () {
+ return jR;
+ },
+ Xtn = function () {
+ rve = !0;
+ },
+ Qtn = function () {
+ return rve;
+ },
+ Jtn = function (i) {
+ tve = i;
+ },
+ Ztn = function () {
+ return tve;
+ },
+ enn = function () {
+ return r5;
+ },
+ tnn = function (i) {
+ FR = i.toLowerCase().split(/[\s,]+/);
+ },
+ nnn = function () {
+ return FR;
+ },
+ rnn = function (i) {
+ RR = i.toLowerCase().split(/[\s,]+/);
+ },
+ inn = function () {
+ return RR;
+ },
+ snn = function () {
+ return Zme;
+ },
+ ann = function (i) {
+ ((UD = i), eve.push(i));
+ },
+ onn = function () {
+ return eve;
+ },
+ cnn = function () {
+ let i = cGe();
+ const s = 10;
+ let u = 0;
+ for (; !i && u < s; ) ((i = cGe()), u++);
+ return ((uJ = g1), uJ);
+ },
+ rGe = function (i, s, u, d) {
+ return d.includes(i.format(s.trim()))
+ ? !1
+ : (i.isoWeekday() >= 6 && u.includes('weekends')) ||
+ u.includes(i.format('dddd').toLowerCase())
+ ? !0
+ : u.includes(i.format(s.trim()));
+ },
+ unn = function (i) {
+ ive = i;
+ },
+ lnn = function () {
+ return ive;
+ },
+ iGe = function (i, s, u, d) {
+ if (!u.length || i.manualEndTime) return;
+ let p;
+ (i.startTime instanceof Date ? (p = Ag(i.startTime)) : (p = Ag(i.startTime, s, !0)),
+ (p = p.add(1, 'd')));
+ let v;
+ i.endTime instanceof Date ? (v = Ag(i.endTime)) : (v = Ag(i.endTime, s, !0));
+ const [b, y] = hnn(p, v, s, u, d);
+ ((i.endTime = b.toDate()), (i.renderEndTime = y));
+ },
+ hnn = function (i, s, u, d, p) {
+ let v = !1,
+ b = null;
+ for (; i <= s; )
+ (v || (b = s.toDate()),
+ (v = rGe(i, u, d, p)),
+ v && (s = s.add(1, 'd')),
+ (i = i.add(1, 'd')));
+ return [s, b];
+ },
+ ave = function (i, s, u) {
+ u = u.trim();
+ const p = /^after\s+(?[\d\w- ]+)/.exec(u);
+ if (p !== null) {
+ let b = null;
+ for (const T of p.groups.ids.split(' ')) {
+ let _ = XC(T);
+ _ !== void 0 && (!b || _.endTime > b.endTime) && (b = _);
+ }
+ if (b) return b.endTime;
+ const y = new Date();
+ return (y.setHours(0, 0, 0, 0), y);
+ }
+ let v = Ag(u, s.trim(), !0);
+ if (v.isValid()) return v.toDate();
+ {
+ (Xe.debug('Invalid date:' + u), Xe.debug('With date format:' + s.trim()));
+ const b = new Date(u);
+ if (b === void 0 || isNaN(b.getTime()) || b.getFullYear() < -1e4 || b.getFullYear() > 1e4)
+ throw new Error('Invalid date:' + u);
+ return b;
+ }
+ },
+ sGe = function (i) {
+ const s = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());
+ return s !== null ? [Number.parseFloat(s[1]), s[2]] : [NaN, 'ms'];
+ },
+ aGe = function (i, s, u, d = !1) {
+ u = u.trim();
+ const v = /^until\s+(?[\d\w- ]+)/.exec(u);
+ if (v !== null) {
+ let A = null;
+ for (const R of v.groups.ids.split(' ')) {
+ let F = XC(R);
+ F !== void 0 && (!A || F.startTime < A.startTime) && (A = F);
+ }
+ if (A) return A.startTime;
+ const P = new Date();
+ return (P.setHours(0, 0, 0, 0), P);
+ }
+ let b = Ag(u, s.trim(), !0);
+ if (b.isValid()) return (d && (b = b.add(1, 'd')), b.toDate());
+ let y = Ag(i);
+ const [T, _] = sGe(u);
+ if (!Number.isNaN(T)) {
+ const A = y.add(T, _);
+ A.isValid() && (y = A);
+ }
+ return y.toDate();
+ };
+ let lJ = 0;
+ const GD = function (i) {
+ return i === void 0 ? ((lJ = lJ + 1), 'task' + lJ) : i;
+ },
+ fnn = function (i, s) {
+ let u;
+ s.substr(0, 1) === ':' ? (u = s.substr(1, s.length)) : (u = s);
+ const d = u.split(','),
+ p = {};
+ hGe(d, p, nGe);
+ for (let b = 0; b < d.length; b++) d[b] = d[b].trim();
+ let v = '';
+ switch (d.length) {
+ case 1:
+ ((p.id = GD()), (p.startTime = i.endTime), (v = d[0]));
+ break;
+ case 2:
+ ((p.id = GD()), (p.startTime = ave(void 0, r5, d[0])), (v = d[1]));
+ break;
+ case 3:
+ ((p.id = GD(d[0])), (p.startTime = ave(void 0, r5, d[1])), (v = d[2]));
+ break;
+ }
+ return (
+ v &&
+ ((p.endTime = aGe(p.startTime, r5, v, jR)),
+ (p.manualEndTime = Ag(v, 'YYYY-MM-DD', !0).isValid()),
+ iGe(p, r5, RR, FR)),
+ p
+ );
+ },
+ dnn = function (i, s) {
+ let u;
+ s.substr(0, 1) === ':' ? (u = s.substr(1, s.length)) : (u = s);
+ const d = u.split(','),
+ p = {};
+ hGe(d, p, nGe);
+ for (let v = 0; v < d.length; v++) d[v] = d[v].trim();
+ switch (d.length) {
+ case 1:
+ ((p.id = GD()),
+ (p.startTime = { type: 'prevTaskEnd', id: i }),
+ (p.endTime = { data: d[0] }));
+ break;
+ case 2:
+ ((p.id = GD()),
+ (p.startTime = { type: 'getStartDate', startData: d[0] }),
+ (p.endTime = { data: d[1] }));
+ break;
+ case 3:
+ ((p.id = GD(d[0])),
+ (p.startTime = { type: 'getStartDate', startData: d[1] }),
+ (p.endTime = { data: d[2] }));
+ break;
+ }
+ return p;
+ };
+ let ove,
+ hJ,
+ g1 = [];
+ const oGe = {},
+ gnn = function (i, s) {
+ const u = {
+ section: UD,
+ type: UD,
+ processed: !1,
+ manualEndTime: !1,
+ renderEndTime: null,
+ raw: { data: s },
+ task: i,
+ classes: [],
+ },
+ d = dnn(hJ, s);
+ ((u.raw.startTime = d.startTime),
+ (u.raw.endTime = d.endTime),
+ (u.id = d.id),
+ (u.prevTaskId = hJ),
+ (u.active = d.active),
+ (u.done = d.done),
+ (u.crit = d.crit),
+ (u.milestone = d.milestone),
+ (u.order = sve),
+ sve++);
+ const p = g1.push(u);
+ ((hJ = u.id), (oGe[u.id] = p - 1));
+ },
+ XC = function (i) {
+ const s = oGe[i];
+ return g1[s];
+ },
+ pnn = function (i, s) {
+ const u = { section: UD, type: UD, description: i, task: i, classes: [] },
+ d = fnn(ove, s);
+ ((u.startTime = d.startTime),
+ (u.endTime = d.endTime),
+ (u.id = d.id),
+ (u.active = d.active),
+ (u.done = d.done),
+ (u.crit = d.crit),
+ (u.milestone = d.milestone),
+ (ove = u),
+ uJ.push(u));
+ },
+ cGe = function () {
+ const i = function (u) {
+ const d = g1[u];
+ let p = '';
+ switch (g1[u].raw.startTime.type) {
+ case 'prevTaskEnd': {
+ const v = XC(d.prevTaskId);
+ d.startTime = v.endTime;
+ break;
+ }
+ case 'getStartDate':
+ ((p = ave(void 0, r5, g1[u].raw.startTime.startData)), p && (g1[u].startTime = p));
+ break;
+ }
+ return (
+ g1[u].startTime &&
+ ((g1[u].endTime = aGe(g1[u].startTime, r5, g1[u].raw.endTime.data, jR)),
+ g1[u].endTime &&
+ ((g1[u].processed = !0),
+ (g1[u].manualEndTime = Ag(g1[u].raw.endTime.data, 'YYYY-MM-DD', !0).isValid()),
+ iGe(g1[u], r5, RR, FR))),
+ g1[u].processed
+ );
+ };
+ let s = !0;
+ for (const [u, d] of g1.entries()) (i(u), (s = s && d.processed));
+ return s;
+ },
+ bnn = function (i, s) {
+ let u = s;
+ (qt().securityLevel !== 'loose' && (u = g9.sanitizeUrl(s)),
+ i.split(',').forEach(function (d) {
+ XC(d) !== void 0 &&
+ (lGe(d, () => {
+ window.open(u, '_self');
+ }),
+ (Zme[d] = u));
+ }),
+ uGe(i, 'clickable'));
+ },
+ uGe = function (i, s) {
+ i.split(',').forEach(function (u) {
+ let d = XC(u);
+ d !== void 0 && d.classes.push(s);
+ });
+ },
+ mnn = function (i, s, u) {
+ if (qt().securityLevel !== 'loose' || s === void 0) return;
+ let d = [];
+ if (typeof u == 'string') {
+ d = u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let v = 0; v < d.length; v++) {
+ let b = d[v].trim();
+ (b.charAt(0) === '"' && b.charAt(b.length - 1) === '"' && (b = b.substr(1, b.length - 2)),
+ (d[v] = b));
+ }
+ }
+ (d.length === 0 && d.push(i),
+ XC(i) !== void 0 &&
+ lGe(i, () => {
+ So.runFunc(s, ...d);
+ }));
+ },
+ lGe = function (i, s) {
+ nve.push(
+ function () {
+ const u = document.querySelector(`[id="${i}"]`);
+ u !== null &&
+ u.addEventListener('click', function () {
+ s();
+ });
+ },
+ function () {
+ const u = document.querySelector(`[id="${i}-text"]`);
+ u !== null &&
+ u.addEventListener('click', function () {
+ s();
+ });
+ },
+ );
+ },
+ vnn = {
+ getConfig: () => qt().gantt,
+ clear: $tn,
+ setDateFormat: Ktn,
+ getDateFormat: enn,
+ enableInclusiveEndDates: Wtn,
+ endDatesAreInclusive: Ytn,
+ enableTopAxis: Xtn,
+ topAxisEnabled: Qtn,
+ setAxisFormat: ztn,
+ getAxisFormat: qtn,
+ setTickInterval: Htn,
+ getTickInterval: Vtn,
+ setTodayMarker: Utn,
+ getTodayMarker: Gtn,
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ setDisplayMode: Jtn,
+ getDisplayMode: Ztn,
+ setAccDescription: _p,
+ getAccDescription: Ap,
+ addSection: ann,
+ getSections: onn,
+ getTasks: cnn,
+ addTask: gnn,
+ findTaskById: XC,
+ addTaskOrg: pnn,
+ setIncludes: tnn,
+ getIncludes: nnn,
+ setExcludes: rnn,
+ getExcludes: inn,
+ setClickEvent: function (i, s, u) {
+ (i.split(',').forEach(function (d) {
+ mnn(d, s, u);
+ }),
+ uGe(i, 'clickable'));
+ },
+ setLink: bnn,
+ getLinks: snn,
+ bindFunctions: function (i) {
+ nve.forEach(function (s) {
+ s(i);
+ });
+ },
+ parseDuration: sGe,
+ isInvalidDate: rGe,
+ setWeekday: unn,
+ getWeekday: lnn,
+ };
+ function hGe(i, s, u) {
+ let d = !0;
+ for (; d; )
+ ((d = !1),
+ u.forEach(function (p) {
+ const v = '^\\s*' + p + '\\s*$',
+ b = new RegExp(v);
+ i[0].match(b) && ((s[p] = !0), i.shift(1), (d = !0));
+ }));
+ }
+ const wnn = function () {
+ Xe.debug('Something is calling, setConf, remove the call');
+ },
+ fGe = {
+ monday: MF,
+ tuesday: xFe,
+ wednesday: kFe,
+ thursday: wC,
+ friday: EFe,
+ saturday: TFe,
+ sunday: LF,
+ },
+ ynn = (i, s) => {
+ let u = [...i].map(() => -1 / 0),
+ d = [...i].sort((v, b) => v.startTime - b.startTime || v.order - b.order),
+ p = 0;
+ for (const v of d)
+ for (let b = 0; b < u.length; b++)
+ if (v.startTime >= u[b]) {
+ ((u[b] = v.endTime), (v.order = b + s), b > p && (p = b));
+ break;
+ }
+ return p;
+ };
+ let H7;
+ const xnn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Otn,
+ db: vnn,
+ renderer: {
+ setConf: wnn,
+ draw: function (i, s, u, d) {
+ const p = qt().gantt,
+ v = qt().securityLevel;
+ let b;
+ v === 'sandbox' && (b = Ir('#i' + s));
+ const y = Ir(v === 'sandbox' ? b.nodes()[0].contentDocument.body : 'body'),
+ T = v === 'sandbox' ? b.nodes()[0].contentDocument : document,
+ _ = T.getElementById(s);
+ ((H7 = _.parentElement.offsetWidth),
+ H7 === void 0 && (H7 = 1200),
+ p.useWidth !== void 0 && (H7 = p.useWidth));
+ const A = d.db.getTasks();
+ let P = [];
+ for (const de of A) P.push(de.type);
+ P = se(P);
+ const R = {};
+ let F = 2 * p.topPadding;
+ if (d.db.getDisplayMode() === 'compact' || p.displayMode === 'compact') {
+ const de = {};
+ for (const pe of A)
+ de[pe.section] === void 0 ? (de[pe.section] = [pe]) : de[pe.section].push(pe);
+ let X = 0;
+ for (const pe of Object.keys(de)) {
+ const G = ynn(de[pe], X) + 1;
+ ((X += G), (F += G * (p.barHeight + p.barGap)), (R[pe] = G));
+ }
+ } else {
+ F += A.length * (p.barHeight + p.barGap);
+ for (const de of P) R[de] = A.filter((X) => X.type === de).length;
+ }
+ _.setAttribute('viewBox', '0 0 ' + H7 + ' ' + F);
+ const j = y.select(`[id="${s}"]`),
+ W = pNt()
+ .domain([
+ QAt(A, function (de) {
+ return de.startTime;
+ }),
+ XAt(A, function (de) {
+ return de.endTime;
+ }),
+ ])
+ .rangeRound([0, H7 - p.leftPadding - p.rightPadding]);
+ function ee(de, X) {
+ const pe = de.startTime,
+ G = X.startTime;
+ let xe = 0;
+ return (pe > G ? (xe = 1) : pe < G && (xe = -1), xe);
+ }
+ (A.sort(ee),
+ ie(A, H7, F),
+ Og(j, F, H7, p.useMaxWidth),
+ j
+ .append('text')
+ .text(d.db.getDiagramTitle())
+ .attr('x', H7 / 2)
+ .attr('y', p.titleTopMargin)
+ .attr('class', 'titleText'));
+ function ie(de, X, pe) {
+ const G = p.barHeight,
+ xe = G + p.barGap,
+ U = p.topPadding,
+ Be = p.leftPadding,
+ Ne = iD().domain([0, P.length]).range(['#00B9FA', '#F95002']).interpolate(wDt);
+ (be(xe, U, Be, X, pe, de, d.db.getExcludes(), d.db.getIncludes()),
+ ge(Be, U, X, pe),
+ oe(de, xe, U, Be, G, Ne, X),
+ ae(xe, U),
+ ne(Be, U, X, pe));
+ }
+ function oe(de, X, pe, G, xe, U, Be) {
+ const je = [...new Set(de.map((ke) => ke.order))].map((ke) =>
+ de.find((Ke) => Ke.order === ke),
+ );
+ j.append('g')
+ .selectAll('rect')
+ .data(je)
+ .enter()
+ .append('rect')
+ .attr('x', 0)
+ .attr('y', function (ke, Ke) {
+ return ((Ke = ke.order), Ke * X + pe - 2);
+ })
+ .attr('width', function () {
+ return Be - p.rightPadding / 2;
+ })
+ .attr('height', X)
+ .attr('class', function (ke) {
+ for (const [Ke, Ft] of P.entries())
+ if (ke.type === Ft) return 'section section' + (Ke % p.numberSectionStyles);
+ return 'section section0';
+ });
+ const Ie = j.append('g').selectAll('rect').data(de).enter(),
+ Se = d.db.getLinks();
+ if (
+ (Ie.append('rect')
+ .attr('id', function (ke) {
+ return ke.id;
+ })
+ .attr('rx', 3)
+ .attr('ry', 3)
+ .attr('x', function (ke) {
+ return ke.milestone
+ ? W(ke.startTime) + G + 0.5 * (W(ke.endTime) - W(ke.startTime)) - 0.5 * xe
+ : W(ke.startTime) + G;
+ })
+ .attr('y', function (ke, Ke) {
+ return ((Ke = ke.order), Ke * X + pe);
+ })
+ .attr('width', function (ke) {
+ return ke.milestone
+ ? xe
+ : W(ke.renderEndTime || ke.endTime) - W(ke.startTime);
+ })
+ .attr('height', xe)
+ .attr('transform-origin', function (ke, Ke) {
+ return (
+ (Ke = ke.order),
+ (W(ke.startTime) + G + 0.5 * (W(ke.endTime) - W(ke.startTime))).toString() +
+ 'px ' +
+ (Ke * X + pe + 0.5 * xe).toString() +
+ 'px'
+ );
+ })
+ .attr('class', function (ke) {
+ const Ke = 'task';
+ let Ft = '';
+ ke.classes.length > 0 && (Ft = ke.classes.join(' '));
+ let Pe = 0;
+ for (const [kt, Et] of P.entries())
+ ke.type === Et && (Pe = kt % p.numberSectionStyles);
+ let gn = '';
+ return (
+ ke.active
+ ? ke.crit
+ ? (gn += ' activeCrit')
+ : (gn = ' active')
+ : ke.done
+ ? ke.crit
+ ? (gn = ' doneCrit')
+ : (gn = ' done')
+ : ke.crit && (gn += ' crit'),
+ gn.length === 0 && (gn = ' task'),
+ ke.milestone && (gn = ' milestone ' + gn),
+ (gn += Pe),
+ (gn += ' ' + Ft),
+ Ke + gn
+ );
+ }),
+ Ie.append('text')
+ .attr('id', function (ke) {
+ return ke.id + '-text';
+ })
+ .text(function (ke) {
+ return ke.task;
+ })
+ .attr('font-size', p.fontSize)
+ .attr('x', function (ke) {
+ let Ke = W(ke.startTime),
+ Ft = W(ke.renderEndTime || ke.endTime);
+ (ke.milestone && (Ke += 0.5 * (W(ke.endTime) - W(ke.startTime)) - 0.5 * xe),
+ ke.milestone && (Ft = Ke + xe));
+ const Pe = this.getBBox().width;
+ return Pe > Ft - Ke
+ ? Ft + Pe + 1.5 * p.leftPadding > Be
+ ? Ke + G - 5
+ : Ft + G + 5
+ : (Ft - Ke) / 2 + Ke + G;
+ })
+ .attr('y', function (ke, Ke) {
+ return (
+ (Ke = ke.order),
+ Ke * X + p.barHeight / 2 + (p.fontSize / 2 - 2) + pe
+ );
+ })
+ .attr('text-height', xe)
+ .attr('class', function (ke) {
+ const Ke = W(ke.startTime);
+ let Ft = W(ke.endTime);
+ ke.milestone && (Ft = Ke + xe);
+ const Pe = this.getBBox().width;
+ let gn = '';
+ ke.classes.length > 0 && (gn = ke.classes.join(' '));
+ let kt = 0;
+ for (const [Gt, ln] of P.entries())
+ ke.type === ln && (kt = Gt % p.numberSectionStyles);
+ let Et = '';
+ return (
+ ke.active &&
+ (ke.crit ? (Et = 'activeCritText' + kt) : (Et = 'activeText' + kt)),
+ ke.done
+ ? ke.crit
+ ? (Et = Et + ' doneCritText' + kt)
+ : (Et = Et + ' doneText' + kt)
+ : ke.crit && (Et = Et + ' critText' + kt),
+ ke.milestone && (Et += ' milestoneText'),
+ Pe > Ft - Ke
+ ? Ft + Pe + 1.5 * p.leftPadding > Be
+ ? gn + ' taskTextOutsideLeft taskTextOutside' + kt + ' ' + Et
+ : gn +
+ ' taskTextOutsideRight taskTextOutside' +
+ kt +
+ ' ' +
+ Et +
+ ' width-' +
+ Pe
+ : gn + ' taskText taskText' + kt + ' ' + Et + ' width-' + Pe
+ );
+ }),
+ qt().securityLevel === 'sandbox')
+ ) {
+ let ke;
+ ke = Ir('#i' + s);
+ const Ke = ke.nodes()[0].contentDocument;
+ Ie.filter(function (Ft) {
+ return Se[Ft.id] !== void 0;
+ }).each(function (Ft) {
+ var Pe = Ke.querySelector('#' + Ft.id),
+ gn = Ke.querySelector('#' + Ft.id + '-text');
+ const kt = Pe.parentNode;
+ var Et = Ke.createElement('a');
+ (Et.setAttribute('xlink:href', Se[Ft.id]),
+ Et.setAttribute('target', '_top'),
+ kt.appendChild(Et),
+ Et.appendChild(Pe),
+ Et.appendChild(gn));
+ });
+ }
+ }
+ function be(de, X, pe, G, xe, U, Be, Ne) {
+ if (Be.length === 0 && Ne.length === 0) return;
+ let je, Ie;
+ for (const { startTime: Pe, endTime: gn } of U)
+ ((je === void 0 || Pe < je) && (je = Pe),
+ (Ie === void 0 || gn > Ie) && (Ie = gn));
+ if (!je || !Ie) return;
+ if (Ag(Ie).diff(Ag(je), 'year') > 5) {
+ Xe.warn(
+ 'The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.',
+ );
+ return;
+ }
+ const Se = d.db.getDateFormat(),
+ Ce = [];
+ let ke = null,
+ Ke = Ag(je);
+ for (; Ke.valueOf() <= Ie; )
+ (d.db.isInvalidDate(Ke, Se, Be, Ne)
+ ? ke
+ ? (ke.end = Ke)
+ : (ke = { start: Ke, end: Ke })
+ : ke && (Ce.push(ke), (ke = null)),
+ (Ke = Ke.add(1, 'd')));
+ j.append('g')
+ .selectAll('rect')
+ .data(Ce)
+ .enter()
+ .append('rect')
+ .attr('id', function (Pe) {
+ return 'exclude-' + Pe.start.format('YYYY-MM-DD');
+ })
+ .attr('x', function (Pe) {
+ return W(Pe.start) + pe;
+ })
+ .attr('y', p.gridLineStartPadding)
+ .attr('width', function (Pe) {
+ const gn = Pe.end.add(1, 'day');
+ return W(gn) - W(Pe.start);
+ })
+ .attr('height', xe - X - p.gridLineStartPadding)
+ .attr('transform-origin', function (Pe, gn) {
+ return (
+ (W(Pe.start) + pe + 0.5 * (W(Pe.end) - W(Pe.start))).toString() +
+ 'px ' +
+ (gn * de + 0.5 * xe).toString() +
+ 'px'
+ );
+ })
+ .attr('class', 'exclude-range');
+ }
+ function ge(de, X, pe, G) {
+ let xe = aLt(W)
+ .tickSize(-G + X + p.gridLineStartPadding)
+ .tickFormat(sX(d.db.getAxisFormat() || p.axisFormat || '%Y-%m-%d'));
+ const Be = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(
+ d.db.getTickInterval() || p.tickInterval,
+ );
+ if (Be !== null) {
+ const Ne = Be[1],
+ je = Be[2],
+ Ie = d.db.getWeekday() || p.weekday;
+ switch (je) {
+ case 'millisecond':
+ xe.ticks(sD.every(Ne));
+ break;
+ case 'second':
+ xe.ticks(p9.every(Ne));
+ break;
+ case 'minute':
+ xe.ticks(_F.every(Ne));
+ break;
+ case 'hour':
+ xe.ticks(AF.every(Ne));
+ break;
+ case 'day':
+ xe.ticks(mC.every(Ne));
+ break;
+ case 'week':
+ xe.ticks(fGe[Ie].every(Ne));
+ break;
+ case 'month':
+ xe.ticks(DF.every(Ne));
+ break;
+ }
+ }
+ if (
+ (j
+ .append('g')
+ .attr('class', 'grid')
+ .attr('transform', 'translate(' + de + ', ' + (G - 50) + ')')
+ .call(xe)
+ .selectAll('text')
+ .style('text-anchor', 'middle')
+ .attr('fill', '#000')
+ .attr('stroke', 'none')
+ .attr('font-size', 10)
+ .attr('dy', '1em'),
+ d.db.topAxisEnabled() || p.topAxis)
+ ) {
+ let Ne = sLt(W)
+ .tickSize(-G + X + p.gridLineStartPadding)
+ .tickFormat(sX(d.db.getAxisFormat() || p.axisFormat || '%Y-%m-%d'));
+ if (Be !== null) {
+ const je = Be[1],
+ Ie = Be[2],
+ Se = d.db.getWeekday() || p.weekday;
+ switch (Ie) {
+ case 'millisecond':
+ Ne.ticks(sD.every(je));
+ break;
+ case 'second':
+ Ne.ticks(p9.every(je));
+ break;
+ case 'minute':
+ Ne.ticks(_F.every(je));
+ break;
+ case 'hour':
+ Ne.ticks(AF.every(je));
+ break;
+ case 'day':
+ Ne.ticks(mC.every(je));
+ break;
+ case 'week':
+ Ne.ticks(fGe[Se].every(je));
+ break;
+ case 'month':
+ Ne.ticks(DF.every(je));
+ break;
+ }
+ }
+ j.append('g')
+ .attr('class', 'grid')
+ .attr('transform', 'translate(' + de + ', ' + X + ')')
+ .call(Ne)
+ .selectAll('text')
+ .style('text-anchor', 'middle')
+ .attr('fill', '#000')
+ .attr('stroke', 'none')
+ .attr('font-size', 10);
+ }
+ }
+ function ae(de, X) {
+ let pe = 0;
+ const G = Object.keys(R).map((xe) => [xe, R[xe]]);
+ j.append('g')
+ .selectAll('text')
+ .data(G)
+ .enter()
+ .append(function (xe) {
+ const U = xe[0].split(ci.lineBreakRegex),
+ Be = -(U.length - 1) / 2,
+ Ne = T.createElementNS('http://www.w3.org/2000/svg', 'text');
+ Ne.setAttribute('dy', Be + 'em');
+ for (const [je, Ie] of U.entries()) {
+ const Se = T.createElementNS('http://www.w3.org/2000/svg', 'tspan');
+ (Se.setAttribute('alignment-baseline', 'central'),
+ Se.setAttribute('x', '10'),
+ je > 0 && Se.setAttribute('dy', '1em'),
+ (Se.textContent = Ie),
+ Ne.appendChild(Se));
+ }
+ return Ne;
+ })
+ .attr('x', 10)
+ .attr('y', function (xe, U) {
+ if (U > 0)
+ for (let Be = 0; Be < U; Be++)
+ return ((pe += G[U - 1][1]), (xe[1] * de) / 2 + pe * de + X);
+ else return (xe[1] * de) / 2 + X;
+ })
+ .attr('font-size', p.sectionFontSize)
+ .attr('class', function (xe) {
+ for (const [U, Be] of P.entries())
+ if (xe[0] === Be)
+ return 'sectionTitle sectionTitle' + (U % p.numberSectionStyles);
+ return 'sectionTitle';
+ });
+ }
+ function ne(de, X, pe, G) {
+ const xe = d.db.getTodayMarker();
+ if (xe === 'off') return;
+ const U = j.append('g').attr('class', 'today'),
+ Be = new Date(),
+ Ne = U.append('line');
+ (Ne.attr('x1', W(Be) + de)
+ .attr('x2', W(Be) + de)
+ .attr('y1', p.titleTopMargin)
+ .attr('y2', G - p.titleTopMargin)
+ .attr('class', 'today'),
+ xe !== '' && Ne.attr('style', xe.replace(/,/g, ';')));
+ }
+ function se(de) {
+ const X = {},
+ pe = [];
+ for (let G = 0, xe = de.length; G < xe; ++G)
+ Object.prototype.hasOwnProperty.call(X, de[G]) ||
+ ((X[de[G]] = !0), pe.push(de[G]));
+ return pe;
+ }
+ },
+ },
+ styles: (i) => `
.mermaid-main-font {
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
@@ -864,21 +49461,1115 @@ Expecting `+yi.join(", ")+", got '"+(this.terminals_[Ze]||Ze)+"'":Ba="Parse erro
.titleText {
text-anchor: middle;
font-size: 18px;
- fill: ${i.titleColor||i.textColor};
+ fill: ${i.titleColor || i.textColor};
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
-`}},Symbol.toStringTag,{value:"Module"}));var cve=function(){var i=function(v,b,y,T){for(y=y||{},T=v.length;T--;y[v[T]]=b);return y},s=[6,9,10],u={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,y,T,_,A,P,R){switch(P.length-1,A){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(s,[2,3]),i(s,[2,4]),i(s,[2,5]),i(s,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,y){if(y.recoverable)this.trace(b);else{var T=new Error(b);throw T.hash=y,T}},parse:function(b){var y=this,T=[0],_=[],A=[null],P=[],R=this.table,F="",j=0,W=0,ee=2,ie=1,oe=P.slice.call(arguments,1),be=Object.create(this.lexer),ge={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(ge.yy[ae]=this.yy[ae]);be.setInput(b,ge.yy),ge.yy.lexer=be,ge.yy.parser=this,typeof be.yylloc>"u"&&(be.yylloc={});var ne=be.yylloc;P.push(ne);var se=be.options&&be.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(){var Ce;return Ce=_.pop()||be.lex()||ie,typeof Ce!="number"&&(Ce instanceof Array&&(_=Ce,Ce=_.pop()),Ce=y.symbols_[Ce]||Ce),Ce}for(var X,pe,G,xe,U={},Be,Ne,je,Ie;;){if(pe=T[T.length-1],this.defaultActions[pe]?G=this.defaultActions[pe]:((X===null||typeof X>"u")&&(X=de()),G=R[pe]&&R[pe][X]),typeof G>"u"||!G.length||!G[0]){var Se="";Ie=[];for(Be in R[pe])this.terminals_[Be]&&Be>ee&&Ie.push("'"+this.terminals_[Be]+"'");be.showPosition?Se="Parse error on line "+(j+1)+`:
-`+be.showPosition()+`
-Expecting `+Ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Se="Parse error on line "+(j+1)+": Unexpected "+(X==ie?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Se,{text:be.match,token:this.terminals_[X]||X,line:be.yylineno,loc:ne,expected:Ie})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pe+", token: "+X);switch(G[0]){case 1:T.push(X),A.push(be.yytext),P.push(be.yylloc),T.push(G[1]),X=null,W=be.yyleng,F=be.yytext,j=be.yylineno,ne=be.yylloc;break;case 2:if(Ne=this.productions_[G[1]][1],U.$=A[A.length-Ne],U._$={first_line:P[P.length-(Ne||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(Ne||1)].first_column,last_column:P[P.length-1].last_column},se&&(U._$.range=[P[P.length-(Ne||1)].range[0],P[P.length-1].range[1]]),xe=this.performAction.apply(U,[F,W,j,ge.yy,G[1],A,P].concat(oe)),typeof xe<"u")return xe;Ne&&(T=T.slice(0,-1*Ne*2),A=A.slice(0,-1*Ne),P=P.slice(0,-1*Ne)),T.push(this.productions_[G[1]][0]),A.push(U.$),P.push(U._$),je=R[T[T.length-2]][T[T.length-1]],T.push(je);break;case 3:return!0}}return!0}},d=function(){var v={EOF:1,parseError:function(y,T){if(this.yy.parser)this.yy.parser.parseError(y,T);else throw new Error(y)},setInput:function(b,y){return this.yy=y||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},input:function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var y=b.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var y=b.length,T=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var 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:T?(T.length===_.length?this.yylloc.first_column:0)+_[_.length-T.length].length-T[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var b=this.pastInput(),y=new Array(b.length+1).join("-");return b+this.upcomingInput()+`
-`+y+"^"},test_match:function(b,y){var T,_,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))),_=b[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.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],T=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var P in A)this[P]=A[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,y,T,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),P=0;Py[0].length)){if(y=T,_=P,this.options.backtrack_lexer){if(b=this.test_match(T,A[P]),b!==!1)return b;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(b=this.test_match(y,A[_]),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})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,T,_,A){switch(_){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};return v}();u.lexer=d;function p(){this.yy={}}return p.prototype=u,u.Parser=p,new p}();cve.parser=cve;const knn=cve,dGe={info:!1};let uve=dGe.info;const Enn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:knn,db:{clear:()=>{uve=dGe.info},setInfo:i=>{uve=i},getInfo:()=>uve},renderer:{draw:(i,s,u)=>{Xe.debug(`rendering info diagram
-`+i);const d=iR(s);Og(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${u}`)}}}},Symbol.toStringTag,{value:"Module"}));var lve=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],y=[1,5,10,12,14,16,18,19,20,21,22],T=[20,21,22],_=[2,7],A=[1,12],P=[1,13],R=[1,14],F=[1,15],j=[1,16],W=[1,17],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(ge,ae,ne,se,de,X,pe){var G=X.length-1;switch(de){case 3:se.setShowData(!0);break;case 6:this.$=X[G-1];break;case 8:se.addSection(X[G-1],se.cleanupValue(X[G]));break;case 9:this.$=X[G].trim(),se.setDiagramTitle(this.$);break;case 10:this.$=X[G].trim(),se.setAccTitle(this.$);break;case 11:case 12:this.$=X[G].trim(),se.setAccDescription(this.$);break;case 13:se.addSection(X[G].substr(8)),this.$=X[G].substr(8);break}},table:[{3:1,4:2,5:s,20:u,21:d,22:p},{1:[3]},{3:7,4:2,5:s,20:u,21:d,22:p},i(v,b,{6:8,7:[1,9]}),i(y,[2,14]),i(y,[2,15]),i(y,[2,16]),{1:[2,1]},i(T,_,{8:10,9:11,1:[2,2],10:A,12:P,14:R,16:F,18:j,19:W}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:u,21:d,22:p},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(T,[2,12]),i(T,[2,13]),i(T,_,{8:10,9:11,1:[2,3],10:A,12:P,14:R,16:F,18:j,19:W}),i(v,[2,6]),i(T,[2,8]),i(T,[2,9]),i(T,[2,10]),i(T,[2,11])],defaultActions:{7:[2,1]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,G="",xe=0,U=0,Be=2,Ne=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ft(){var Tt;return Tt=se.pop()||Ie.lex()||Ne,typeof Tt!="number"&&(Tt instanceof Array&&(se=Tt,Tt=se.pop()),Tt=ae.symbols_[Tt]||Tt),Tt}for(var Pe,gn,kt,Et,Gt={},ln,xt,Pt,Ze;;){if(gn=ne[ne.length-1],this.defaultActions[gn]?kt=this.defaultActions[gn]:((Pe===null||typeof Pe>"u")&&(Pe=Ft()),kt=pe[gn]&&pe[gn][Pe]),typeof kt>"u"||!kt.length||!kt[0]){var At="";Ze=[];for(ln in pe[gn])this.terminals_[ln]&&ln>Be&&Ze.push("'"+this.terminals_[ln]+"'");Ie.showPosition?At="Parse error on line "+(xe+1)+`:
-`+Ie.showPosition()+`
-Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":At="Parse error on line "+(xe+1)+": Unexpected "+(Pe==Ne?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(At,{text:Ie.match,token:this.terminals_[Pe]||Pe,line:Ie.yylineno,loc:ke,expected:Ze})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gn+", token: "+Pe);switch(kt[0]){case 1:ne.push(Pe),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(kt[1]),Pe=null,U=Ie.yyleng,G=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(xt=this.productions_[kt[1]][1],Gt.$=de[de.length-xt],Gt._$={first_line:X[X.length-(xt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(xt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Gt._$.range=[X[X.length-(xt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Gt,[G,U,xe,Se.yy,kt[1],de,X].concat(je)),typeof Et<"u")return Et;xt&&(ne=ne.slice(0,-1*xt*2),de=de.slice(0,-1*xt),X=X.slice(0,-1*xt)),ne.push(this.productions_[kt[1]][0]),de.push(Gt.$),X.push(Gt._$),Pt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Pt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||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},input:function(){var ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.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),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ne.length-1&&(this.yylineno-=ne.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput: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,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+`
-`+ae+"^"},test_match:function(ge,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.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],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;Xae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),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})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ae,ne,se,de){switch(se){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();lve.parser=lve;const Tnn=lve,gGe=sh.pie,fJ={sections:{},showData:!1,config:gGe};let dJ=fJ.sections,hve=fJ.showData;const Cnn=structuredClone(gGe),Snn={getConfig:()=>structuredClone(Cnn),clear:()=>{dJ=structuredClone(fJ.sections),hve=fJ.showData,Ng()},setDiagramTitle:om,getDiagramTitle:Lp,setAccTitle:Pg,getAccTitle:Sp,setAccDescription:_p,getAccDescription:Ap,addSection:(i,s)=>{i=yh(i,qt()),dJ[i]===void 0&&(dJ[i]=s,Xe.debug(`added new section: ${i}, with value: ${s}`))},getSections:()=>dJ,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{hve=i},getShowData:()=>hve},_nn=i=>`
+`,
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var cve = (function () {
+ var i = function (v, b, y, T) {
+ for (y = y || {}, T = v.length; T--; y[v[T]] = b);
+ return y;
+ },
+ s = [6, 9, 10],
+ u = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ info: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ statement: 8,
+ NL: 9,
+ showInfo: 10,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: { 2: 'error', 4: 'info', 6: 'EOF', 9: 'NL', 10: 'showInfo' },
+ productions_: [0, [3, 3], [5, 0], [5, 2], [7, 1], [7, 1], [8, 1]],
+ performAction: function (b, y, T, _, A, P, R) {
+ switch ((P.length - 1, A)) {
+ case 1:
+ return _;
+ case 4:
+ break;
+ case 6:
+ _.setInfo(!0);
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ i(s, [2, 2], { 5: 3 }),
+ { 6: [1, 4], 7: 5, 8: 6, 9: [1, 7], 10: [1, 8] },
+ { 1: [2, 1] },
+ i(s, [2, 3]),
+ i(s, [2, 4]),
+ i(s, [2, 5]),
+ i(s, [2, 6]),
+ ],
+ defaultActions: { 4: [2, 1] },
+ parseError: function (b, y) {
+ if (y.recoverable) this.trace(b);
+ else {
+ var T = new Error(b);
+ throw ((T.hash = y), T);
+ }
+ },
+ parse: function (b) {
+ var y = this,
+ T = [0],
+ _ = [],
+ A = [null],
+ P = [],
+ R = this.table,
+ F = '',
+ j = 0,
+ W = 0,
+ ee = 2,
+ ie = 1,
+ oe = P.slice.call(arguments, 1),
+ be = Object.create(this.lexer),
+ ge = { yy: {} };
+ for (var ae in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, ae) && (ge.yy[ae] = this.yy[ae]);
+ (be.setInput(b, ge.yy),
+ (ge.yy.lexer = be),
+ (ge.yy.parser = this),
+ typeof be.yylloc > 'u' && (be.yylloc = {}));
+ var ne = be.yylloc;
+ P.push(ne);
+ var se = be.options && be.options.ranges;
+ typeof ge.yy.parseError == 'function'
+ ? (this.parseError = ge.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function de() {
+ var Ce;
+ return (
+ (Ce = _.pop() || be.lex() || ie),
+ typeof Ce != 'number' &&
+ (Ce instanceof Array && ((_ = Ce), (Ce = _.pop())), (Ce = y.symbols_[Ce] || Ce)),
+ Ce
+ );
+ }
+ for (var X, pe, G, xe, U = {}, Be, Ne, je, Ie; ; ) {
+ if (
+ ((pe = T[T.length - 1]),
+ this.defaultActions[pe]
+ ? (G = this.defaultActions[pe])
+ : ((X === null || typeof X > 'u') && (X = de()), (G = R[pe] && R[pe][X])),
+ typeof G > 'u' || !G.length || !G[0])
+ ) {
+ var Se = '';
+ Ie = [];
+ for (Be in R[pe])
+ this.terminals_[Be] && Be > ee && Ie.push("'" + this.terminals_[Be] + "'");
+ (be.showPosition
+ ? (Se =
+ 'Parse error on line ' +
+ (j + 1) +
+ `:
+` +
+ be.showPosition() +
+ `
+Expecting ` +
+ Ie.join(', ') +
+ ", got '" +
+ (this.terminals_[X] || X) +
+ "'")
+ : (Se =
+ 'Parse error on line ' +
+ (j + 1) +
+ ': Unexpected ' +
+ (X == ie ? 'end of input' : "'" + (this.terminals_[X] || X) + "'")),
+ this.parseError(Se, {
+ text: be.match,
+ token: this.terminals_[X] || X,
+ line: be.yylineno,
+ loc: ne,
+ expected: Ie,
+ }));
+ }
+ if (G[0] instanceof Array && G.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + pe + ', token: ' + X,
+ );
+ switch (G[0]) {
+ case 1:
+ (T.push(X),
+ A.push(be.yytext),
+ P.push(be.yylloc),
+ T.push(G[1]),
+ (X = null),
+ (W = be.yyleng),
+ (F = be.yytext),
+ (j = be.yylineno),
+ (ne = be.yylloc));
+ break;
+ case 2:
+ if (
+ ((Ne = this.productions_[G[1]][1]),
+ (U.$ = A[A.length - Ne]),
+ (U._$ = {
+ first_line: P[P.length - (Ne || 1)].first_line,
+ last_line: P[P.length - 1].last_line,
+ first_column: P[P.length - (Ne || 1)].first_column,
+ last_column: P[P.length - 1].last_column,
+ }),
+ se && (U._$.range = [P[P.length - (Ne || 1)].range[0], P[P.length - 1].range[1]]),
+ (xe = this.performAction.apply(U, [F, W, j, ge.yy, G[1], A, P].concat(oe))),
+ typeof xe < 'u')
+ )
+ return xe;
+ (Ne &&
+ ((T = T.slice(0, -1 * Ne * 2)),
+ (A = A.slice(0, -1 * Ne)),
+ (P = P.slice(0, -1 * Ne))),
+ T.push(this.productions_[G[1]][0]),
+ A.push(U.$),
+ P.push(U._$),
+ (je = R[T[T.length - 2]][T[T.length - 1]]),
+ T.push(je));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ d = (function () {
+ var v = {
+ EOF: 1,
+ parseError: function (y, T) {
+ if (this.yy.parser) this.yy.parser.parseError(y, T);
+ else throw new Error(y);
+ },
+ setInput: function (b, y) {
+ return (
+ (this.yy = y || 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
+ );
+ },
+ input: function () {
+ var b = this._input[0];
+ ((this.yytext += b),
+ this.yyleng++,
+ this.offset++,
+ (this.match += b),
+ (this.matched += b));
+ var y = b.match(/(?:\r\n?|\n).*/g);
+ return (
+ y ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ b
+ );
+ },
+ unput: function (b) {
+ var y = b.length,
+ T = b.split(/(?:\r\n?|\n)/g);
+ ((this._input = b + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - y)),
+ (this.offset -= y));
+ var _ = this.match.split(/(?:\r\n?|\n)/g);
+ ((this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ T.length - 1 && (this.yylineno -= T.length - 1));
+ var 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: T
+ ? (T.length === _.length ? this.yylloc.first_column : 0) +
+ _[_.length - T.length].length -
+ T[0].length
+ : this.yylloc.first_column - y,
+ }),
+ this.options.ranges && (this.yylloc.range = [A[0], A[0] + this.yyleng - y]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (b) {
+ this.unput(this.match.slice(b));
+ },
+ pastInput: function () {
+ var b = this.matched.substr(0, this.matched.length - this.match.length);
+ return (b.length > 20 ? '...' : '') + b.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: 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, '')
+ );
+ },
+ showPosition: function () {
+ var b = this.pastInput(),
+ y = new Array(b.length + 1).join('-');
+ return (
+ b +
+ this.upcomingInput() +
+ `
+` +
+ y +
+ '^'
+ );
+ },
+ test_match: function (b, y) {
+ var T, _, 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))),
+ (_ = b[0].match(/(?:\r\n?|\n).*/g)),
+ _ && (this.yylineno += _.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: _
+ ? _[_.length - 1].length - _[_.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]),
+ (T = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ y,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ T)
+ )
+ return T;
+ if (this._backtrack) {
+ for (var P in A) this[P] = A[P];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var b, y, T, _;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var A = this._currentRules(), P = 0; P < A.length; P++)
+ if (
+ ((T = this._input.match(this.rules[A[P]])), T && (!y || T[0].length > y[0].length))
+ ) {
+ if (((y = T), (_ = P), this.options.backtrack_lexer)) {
+ if (((b = this.test_match(T, A[P])), b !== !1)) return b;
+ if (this._backtrack) {
+ y = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return y
+ ? ((b = this.test_match(y, A[_])), 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 },
+ );
+ },
+ lex: function () {
+ var y = this.next();
+ return y || this.lex();
+ },
+ begin: function (y) {
+ this.conditionStack.push(y);
+ },
+ popState: function () {
+ var y = this.conditionStack.length - 1;
+ return y > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (y) {
+ return (
+ (y = this.conditionStack.length - 1 - Math.abs(y || 0)),
+ y >= 0 ? this.conditionStack[y] : 'INITIAL'
+ );
+ },
+ pushState: function (y) {
+ this.begin(y);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (y, T, _, A) {
+ switch (_) {
+ case 0:
+ return 4;
+ case 1:
+ return 9;
+ case 2:
+ return 'space';
+ case 3:
+ return 10;
+ case 4:
+ return 6;
+ case 5:
+ return 'TXT';
+ }
+ },
+ rules: [
+ /^(?:info\b)/i,
+ /^(?:[\s\n\r]+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:showInfo\b)/i,
+ /^(?:$)/i,
+ /^(?:.)/i,
+ ],
+ conditions: { INITIAL: { rules: [0, 1, 2, 3, 4, 5], inclusive: !0 } },
+ };
+ return v;
+ })();
+ u.lexer = d;
+ function p() {
+ this.yy = {};
+ }
+ return ((p.prototype = u), (u.Parser = p), new p());
+ })();
+ cve.parser = cve;
+ const knn = cve,
+ dGe = { info: !1 };
+ let uve = dGe.info;
+ const Enn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: knn,
+ db: {
+ clear: () => {
+ uve = dGe.info;
+ },
+ setInfo: (i) => {
+ uve = i;
+ },
+ getInfo: () => uve,
+ },
+ renderer: {
+ draw: (i, s, u) => {
+ Xe.debug(
+ `rendering info diagram
+` + i,
+ );
+ const d = iR(s);
+ (Og(d, 100, 400, !0),
+ d
+ .append('g')
+ .append('text')
+ .attr('x', 100)
+ .attr('y', 40)
+ .attr('class', 'version')
+ .attr('font-size', 32)
+ .style('text-anchor', 'middle')
+ .text(`v${u}`));
+ },
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var lve = (function () {
+ var i = function (be, ge, ae, ne) {
+ for (ae = ae || {}, ne = be.length; ne--; ae[be[ne]] = ge);
+ return ae;
+ },
+ s = [1, 3],
+ u = [1, 4],
+ d = [1, 5],
+ p = [1, 6],
+ v = [1, 10, 12, 14, 16, 18, 19, 20, 21, 22],
+ b = [2, 4],
+ y = [1, 5, 10, 12, 14, 16, 18, 19, 20, 21, 22],
+ T = [20, 21, 22],
+ _ = [2, 7],
+ A = [1, 12],
+ P = [1, 13],
+ R = [1, 14],
+ F = [1, 15],
+ j = [1, 16],
+ W = [1, 17],
+ ee = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ eol: 4,
+ PIE: 5,
+ document: 6,
+ showData: 7,
+ line: 8,
+ statement: 9,
+ txt: 10,
+ value: 11,
+ title: 12,
+ title_value: 13,
+ acc_title: 14,
+ acc_title_value: 15,
+ acc_descr: 16,
+ acc_descr_value: 17,
+ acc_descr_multiline_value: 18,
+ section: 19,
+ NEWLINE: 20,
+ ';': 21,
+ EOF: 22,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'PIE',
+ 7: 'showData',
+ 10: 'txt',
+ 11: 'value',
+ 12: 'title',
+ 13: 'title_value',
+ 14: 'acc_title',
+ 15: 'acc_title_value',
+ 16: 'acc_descr',
+ 17: 'acc_descr_value',
+ 18: 'acc_descr_multiline_value',
+ 19: 'section',
+ 20: 'NEWLINE',
+ 21: ';',
+ 22: 'EOF',
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 3],
+ [6, 0],
+ [6, 2],
+ [8, 2],
+ [9, 0],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [4, 1],
+ [4, 1],
+ [4, 1],
+ ],
+ performAction: function (ge, ae, ne, se, de, X, pe) {
+ var G = X.length - 1;
+ switch (de) {
+ case 3:
+ se.setShowData(!0);
+ break;
+ case 6:
+ this.$ = X[G - 1];
+ break;
+ case 8:
+ se.addSection(X[G - 1], se.cleanupValue(X[G]));
+ break;
+ case 9:
+ ((this.$ = X[G].trim()), se.setDiagramTitle(this.$));
+ break;
+ case 10:
+ ((this.$ = X[G].trim()), se.setAccTitle(this.$));
+ break;
+ case 11:
+ case 12:
+ ((this.$ = X[G].trim()), se.setAccDescription(this.$));
+ break;
+ case 13:
+ (se.addSection(X[G].substr(8)), (this.$ = X[G].substr(8)));
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: 2, 5: s, 20: u, 21: d, 22: p },
+ { 1: [3] },
+ { 3: 7, 4: 2, 5: s, 20: u, 21: d, 22: p },
+ i(v, b, { 6: 8, 7: [1, 9] }),
+ i(y, [2, 14]),
+ i(y, [2, 15]),
+ i(y, [2, 16]),
+ { 1: [2, 1] },
+ i(T, _, { 8: 10, 9: 11, 1: [2, 2], 10: A, 12: P, 14: R, 16: F, 18: j, 19: W }),
+ i(v, b, { 6: 18 }),
+ i(v, [2, 5]),
+ { 4: 19, 20: u, 21: d, 22: p },
+ { 11: [1, 20] },
+ { 13: [1, 21] },
+ { 15: [1, 22] },
+ { 17: [1, 23] },
+ i(T, [2, 12]),
+ i(T, [2, 13]),
+ i(T, _, { 8: 10, 9: 11, 1: [2, 3], 10: A, 12: P, 14: R, 16: F, 18: j, 19: W }),
+ i(v, [2, 6]),
+ i(T, [2, 8]),
+ i(T, [2, 9]),
+ i(T, [2, 10]),
+ i(T, [2, 11]),
+ ],
+ defaultActions: { 7: [2, 1] },
+ parseError: function (ge, ae) {
+ if (ae.recoverable) this.trace(ge);
+ else {
+ var ne = new Error(ge);
+ throw ((ne.hash = ae), ne);
+ }
+ },
+ parse: function (ge) {
+ var ae = this,
+ ne = [0],
+ se = [],
+ de = [null],
+ X = [],
+ pe = this.table,
+ G = '',
+ xe = 0,
+ U = 0,
+ Be = 2,
+ Ne = 1,
+ je = X.slice.call(arguments, 1),
+ Ie = Object.create(this.lexer),
+ Se = { yy: {} };
+ for (var Ce in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Ce) && (Se.yy[Ce] = this.yy[Ce]);
+ (Ie.setInput(ge, Se.yy),
+ (Se.yy.lexer = Ie),
+ (Se.yy.parser = this),
+ typeof Ie.yylloc > 'u' && (Ie.yylloc = {}));
+ var ke = Ie.yylloc;
+ X.push(ke);
+ var Ke = Ie.options && Ie.options.ranges;
+ typeof Se.yy.parseError == 'function'
+ ? (this.parseError = Se.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Ft() {
+ var Tt;
+ return (
+ (Tt = se.pop() || Ie.lex() || Ne),
+ typeof Tt != 'number' &&
+ (Tt instanceof Array && ((se = Tt), (Tt = se.pop())), (Tt = ae.symbols_[Tt] || Tt)),
+ Tt
+ );
+ }
+ for (var Pe, gn, kt, Et, Gt = {}, ln, xt, Pt, Ze; ; ) {
+ if (
+ ((gn = ne[ne.length - 1]),
+ this.defaultActions[gn]
+ ? (kt = this.defaultActions[gn])
+ : ((Pe === null || typeof Pe > 'u') && (Pe = Ft()), (kt = pe[gn] && pe[gn][Pe])),
+ typeof kt > 'u' || !kt.length || !kt[0])
+ ) {
+ var At = '';
+ Ze = [];
+ for (ln in pe[gn])
+ this.terminals_[ln] && ln > Be && Ze.push("'" + this.terminals_[ln] + "'");
+ (Ie.showPosition
+ ? (At =
+ 'Parse error on line ' +
+ (xe + 1) +
+ `:
+` +
+ Ie.showPosition() +
+ `
+Expecting ` +
+ Ze.join(', ') +
+ ", got '" +
+ (this.terminals_[Pe] || Pe) +
+ "'")
+ : (At =
+ 'Parse error on line ' +
+ (xe + 1) +
+ ': Unexpected ' +
+ (Pe == Ne ? 'end of input' : "'" + (this.terminals_[Pe] || Pe) + "'")),
+ this.parseError(At, {
+ text: Ie.match,
+ token: this.terminals_[Pe] || Pe,
+ line: Ie.yylineno,
+ loc: ke,
+ expected: Ze,
+ }));
+ }
+ if (kt[0] instanceof Array && kt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + gn + ', token: ' + Pe,
+ );
+ switch (kt[0]) {
+ case 1:
+ (ne.push(Pe),
+ de.push(Ie.yytext),
+ X.push(Ie.yylloc),
+ ne.push(kt[1]),
+ (Pe = null),
+ (U = Ie.yyleng),
+ (G = Ie.yytext),
+ (xe = Ie.yylineno),
+ (ke = Ie.yylloc));
+ break;
+ case 2:
+ if (
+ ((xt = this.productions_[kt[1]][1]),
+ (Gt.$ = de[de.length - xt]),
+ (Gt._$ = {
+ first_line: X[X.length - (xt || 1)].first_line,
+ last_line: X[X.length - 1].last_line,
+ first_column: X[X.length - (xt || 1)].first_column,
+ last_column: X[X.length - 1].last_column,
+ }),
+ Ke &&
+ (Gt._$.range = [X[X.length - (xt || 1)].range[0], X[X.length - 1].range[1]]),
+ (Et = this.performAction.apply(Gt, [G, U, xe, Se.yy, kt[1], de, X].concat(je))),
+ typeof Et < 'u')
+ )
+ return Et;
+ (xt &&
+ ((ne = ne.slice(0, -1 * xt * 2)),
+ (de = de.slice(0, -1 * xt)),
+ (X = X.slice(0, -1 * xt))),
+ ne.push(this.productions_[kt[1]][0]),
+ de.push(Gt.$),
+ X.push(Gt._$),
+ (Pt = pe[ne[ne.length - 2]][ne[ne.length - 1]]),
+ ne.push(Pt));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ ie = (function () {
+ var be = {
+ EOF: 1,
+ parseError: function (ae, ne) {
+ if (this.yy.parser) this.yy.parser.parseError(ae, ne);
+ else throw new Error(ae);
+ },
+ setInput: function (ge, ae) {
+ return (
+ (this.yy = ae || 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
+ );
+ },
+ input: function () {
+ var ge = this._input[0];
+ ((this.yytext += ge),
+ this.yyleng++,
+ this.offset++,
+ (this.match += ge),
+ (this.matched += ge));
+ var ae = ge.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)),
+ ge
+ );
+ },
+ unput: function (ge) {
+ var ae = ge.length,
+ ne = ge.split(/(?:\r\n?|\n)/g);
+ ((this._input = ge + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - ae)),
+ (this.offset -= ae));
+ var se = this.match.split(/(?:\r\n?|\n)/g);
+ ((this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ ne.length - 1 && (this.yylineno -= ne.length - 1));
+ var de = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: ne
+ ? (ne.length === se.length ? this.yylloc.first_column : 0) +
+ se[se.length - ne.length].length -
+ ne[0].length
+ : this.yylloc.first_column - ae,
+ }),
+ this.options.ranges && (this.yylloc.range = [de[0], de[0] + this.yyleng - ae]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (ge) {
+ this.unput(this.match.slice(ge));
+ },
+ pastInput: function () {
+ var ge = this.matched.substr(0, this.matched.length - this.match.length);
+ return (ge.length > 20 ? '...' : '') + ge.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: 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, '')
+ );
+ },
+ showPosition: function () {
+ var ge = this.pastInput(),
+ ae = new Array(ge.length + 1).join('-');
+ return (
+ ge +
+ this.upcomingInput() +
+ `
+` +
+ ae +
+ '^'
+ );
+ },
+ test_match: function (ge, ae) {
+ var ne, se, de;
+ if (
+ (this.options.backtrack_lexer &&
+ ((de = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column,
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done,
+ }),
+ this.options.ranges && (de.yylloc.range = this.yylloc.range.slice(0))),
+ (se = ge[0].match(/(?:\r\n?|\n).*/g)),
+ se && (this.yylineno += se.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: se
+ ? se[se.length - 1].length - se[se.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]),
+ (ne = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ ae,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ ne)
+ )
+ return ne;
+ if (this._backtrack) {
+ for (var X in de) this[X] = de[X];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var ge, ae, ne, se;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var de = this._currentRules(), X = 0; X < de.length; X++)
+ if (
+ ((ne = this._input.match(this.rules[de[X]])),
+ ne && (!ae || ne[0].length > ae[0].length))
+ ) {
+ if (((ae = ne), (se = X), this.options.backtrack_lexer)) {
+ if (((ge = this.test_match(ne, de[X])), ge !== !1)) return ge;
+ if (this._backtrack) {
+ ae = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return ae
+ ? ((ge = this.test_match(ae, de[se])), 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 },
+ );
+ },
+ lex: function () {
+ var ae = this.next();
+ return ae || this.lex();
+ },
+ begin: function (ae) {
+ this.conditionStack.push(ae);
+ },
+ popState: function () {
+ var ae = this.conditionStack.length - 1;
+ return ae > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (ae) {
+ return (
+ (ae = this.conditionStack.length - 1 - Math.abs(ae || 0)),
+ ae >= 0 ? this.conditionStack[ae] : 'INITIAL'
+ );
+ },
+ pushState: function (ae) {
+ this.begin(ae);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (ae, ne, se, de) {
+ switch (se) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 20;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ return (this.begin('title'), 12);
+ case 6:
+ return (this.popState(), 'title_value');
+ case 7:
+ return (this.begin('acc_title'), 14);
+ case 8:
+ return (this.popState(), 'acc_title_value');
+ case 9:
+ return (this.begin('acc_descr'), 16);
+ case 10:
+ return (this.popState(), 'acc_descr_value');
+ case 11:
+ this.begin('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ this.begin('string');
+ break;
+ case 15:
+ this.popState();
+ break;
+ case 16:
+ return 'txt';
+ case 17:
+ return 5;
+ case 18:
+ return 7;
+ case 19:
+ return 'value';
+ case 20:
+ return 22;
+ }
+ },
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:[\s]+)/i,
+ /^(?:title\b)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:pie\b)/i,
+ /^(?:showData\b)/i,
+ /^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,
+ /^(?:$)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ title: { rules: [6], inclusive: !1 },
+ string: { rules: [15, 16], inclusive: !1 },
+ INITIAL: { rules: [0, 1, 2, 3, 4, 5, 7, 9, 11, 14, 17, 18, 19, 20], inclusive: !0 },
+ },
+ };
+ return be;
+ })();
+ ee.lexer = ie;
+ function oe() {
+ this.yy = {};
+ }
+ return ((oe.prototype = ee), (ee.Parser = oe), new oe());
+ })();
+ lve.parser = lve;
+ const Tnn = lve,
+ gGe = sh.pie,
+ fJ = { sections: {}, showData: !1, config: gGe };
+ let dJ = fJ.sections,
+ hve = fJ.showData;
+ const Cnn = structuredClone(gGe),
+ Snn = {
+ getConfig: () => structuredClone(Cnn),
+ clear: () => {
+ ((dJ = structuredClone(fJ.sections)), (hve = fJ.showData), Ng());
+ },
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setAccDescription: _p,
+ getAccDescription: Ap,
+ addSection: (i, s) => {
+ ((i = yh(i, qt())),
+ dJ[i] === void 0 && ((dJ[i] = s), Xe.debug(`added new section: ${i}, with value: ${s}`)));
+ },
+ getSections: () => dJ,
+ cleanupValue: (i) => (
+ i.substring(0, 1) === ':' && (i = i.substring(1).trim()),
+ Number(i.trim())
+ ),
+ setShowData: (i) => {
+ hve = i;
+ },
+ getShowData: () => hve,
+ },
+ _nn = (i) => `
.pieCircle{
stroke: ${i.pieStrokeColor};
stroke-width : ${i.pieStrokeWidth};
@@ -906,25 +50597,5246 @@ Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":At="Parse erro
font-family: ${i.fontFamily};
font-size: ${i.pieLegendTextSize};
}
-`,Ann=i=>{const s=Object.entries(i).map(d=>({label:d[0],value:d[1]})).sort((d,p)=>p.value-d.value);return LNt().value(d=>d.value)(s)},Lnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Tnn,db:Snn,renderer:{draw:(i,s,u,d)=>{Xe.debug(`rendering pie chart
-`+i);const p=d.db,v=qt(),b=ZF(p.getConfig(),v.pie),y=40,T=18,_=4,A=450,P=A,R=iR(s),F=R.append("g"),j=p.getSections();F.attr("transform","translate("+P/2+","+A/2+")");const{themeVariables:W}=v;let[ee]=OC(W.pieOuterStrokeWidth);ee??(ee=2);const ie=b.textPosition,oe=Math.min(P,A)/2-y,be=uD().innerRadius(0).outerRadius(oe),ge=uD().innerRadius(oe*ie).outerRadius(oe*ie);F.append("circle").attr("cx",0).attr("cy",0).attr("r",oe+ee/2).attr("class","pieOuterCircle");const ae=Ann(j),ne=[W.pie1,W.pie2,W.pie3,W.pie4,W.pie5,W.pie6,W.pie7,W.pie8,W.pie9,W.pie10,W.pie11,W.pie12],se=SF(ne);F.selectAll("mySlices").data(ae).enter().append("path").attr("d",be).attr("fill",xe=>se(xe.data.label)).attr("class","pieCircle");let de=0;Object.keys(j).forEach(xe=>{de+=j[xe]}),F.selectAll("mySlices").data(ae).enter().append("text").text(xe=>(xe.data.value/de*100).toFixed(0)+"%").attr("transform",xe=>"translate("+ge.centroid(xe)+")").style("text-anchor","middle").attr("class","slice"),F.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-(A-50)/2).attr("class","pieTitleText");const X=F.selectAll(".legend").data(se.domain()).enter().append("g").attr("class","legend").attr("transform",(xe,U)=>{const Be=T+_,Ne=Be*se.domain().length/2,je=12*T,Ie=U*Be-Ne;return"translate("+je+","+Ie+")"});X.append("rect").attr("width",T).attr("height",T).style("fill",se).style("stroke",se),X.data(ae).append("text").attr("x",T+_).attr("y",T-_).text(xe=>{const{label:U,value:Be}=xe.data;return p.getShowData()?`${U} [${Be}]`:U});const pe=Math.max(...X.selectAll("text").nodes().map(xe=>(xe==null?void 0:xe.getBoundingClientRect().width)??0)),G=P+y+T+_+pe;R.attr("viewBox",`0 0 ${G} ${A}`),Og(R,A,G,b.useMaxWidth)}},styles:_nn}},Symbol.toStringTag,{value:"Module"}));var fve=function(){var i=function(kt,Et,Gt,ln){for(Gt=Gt||{},ln=kt.length;ln--;Gt[kt[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],y=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],T=[32,33,34],_=[2,7],A=[1,13],P=[1,17],R=[1,18],F=[1,19],j=[1,20],W=[1,21],ee=[1,22],ie=[1,23],oe=[1,24],be=[1,25],ge=[1,26],ae=[1,27],ne=[1,30],se=[1,31],de=[1,32],X=[1,33],pe=[1,34],G=[1,35],xe=[1,36],U=[1,37],Be=[1,38],Ne=[1,39],je=[1,40],Ie=[1,41],Se=[1,42],Ce=[1,57],ke=[1,58],Ke=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(Et,Gt,ln,xt,Pt,Ze,At){var Tt=Ze.length-1;switch(Pt){case 12:this.$=Ze[Tt].trim(),xt.setDiagramTitle(this.$);break;case 13:this.$=Ze[Tt].trim(),xt.setAccTitle(this.$);break;case 14:case 15:this.$=Ze[Tt].trim(),xt.setAccDescription(this.$);break;case 16:xt.addSection(Ze[Tt].substr(8)),this.$=Ze[Tt].substr(8);break;case 17:xt.addPoint(Ze[Tt-3],Ze[Tt-1],Ze[Tt]);break;case 18:xt.setXAxisLeftText(Ze[Tt-2]),xt.setXAxisRightText(Ze[Tt]);break;case 19:Ze[Tt-1].text+=" ⟶ ",xt.setXAxisLeftText(Ze[Tt-1]);break;case 20:xt.setXAxisLeftText(Ze[Tt]);break;case 21:xt.setYAxisBottomText(Ze[Tt-2]),xt.setYAxisTopText(Ze[Tt]);break;case 22:Ze[Tt-1].text+=" ⟶ ",xt.setYAxisBottomText(Ze[Tt-1]);break;case 23:xt.setYAxisBottomText(Ze[Tt]);break;case 24:xt.setQuadrant1Text(Ze[Tt]);break;case 25:xt.setQuadrant2Text(Ze[Tt]);break;case 26:xt.setQuadrant3Text(Ze[Tt]);break;case 27:xt.setQuadrant4Text(Ze[Tt]);break;case 31:this.$={text:Ze[Tt],type:"text"};break;case 32:this.$={text:Ze[Tt-1].text+""+Ze[Tt],type:Ze[Tt-1].type};break;case 33:this.$={text:Ze[Tt],type:"text"};break;case 34:this.$={text:Ze[Tt],type:"markdown"};break;case 35:this.$=Ze[Tt];break;case 36:this.$=Ze[Tt-1]+""+Ze[Tt];break}},table:[{3:1,4:2,5:s,6:u,32:d,33:p,34:v},{1:[3]},{3:8,4:2,5:s,6:u,32:d,33:p,34:v},{3:9,4:2,5:s,6:u,32:d,33:p,34:v},i(b,[2,4],{7:10}),i(y,[2,28]),i(y,[2,29]),i(y,[2,30]),{1:[2,1]},{1:[2,2]},i(T,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:A,13:P,15:R,17:F,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),i(b,[2,5]),{4:43,32:d,33:p,34:v},i(T,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:A,13:P,15:R,17:F,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),i(T,[2,9]),i(T,[2,10]),i(T,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(T,[2,15]),i(T,[2,16]),{21:48,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:49,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:50,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:51,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:52,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{21:53,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se},{5:Ce,22:[1,54],35:56,36:55,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke},i(Ke,[2,31]),i(Ke,[2,33]),i(Ke,[2,34]),i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),i(Ke,[2,40]),i(Ke,[2,41]),i(Ke,[2,42]),i(Ke,[2,43]),i(Ke,[2,44]),i(Ke,[2,45]),i(Ke,[2,46]),i(Ke,[2,47]),i(b,[2,6]),i(T,[2,8]),i(T,[2,12]),i(T,[2,13]),i(T,[2,14]),i(T,[2,20],{36:55,35:56,5:Ce,26:[1,59],40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,23],{36:55,35:56,5:Ce,26:[1,60],40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,24],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,25],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,26],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,27],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),{23:[1,61]},i(Ke,[2,32]),i(Ke,[2,48]),i(Ke,[2,49]),i(Ke,[2,50]),i(T,[2,19],{35:29,21:62,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),i(T,[2,22],{35:29,21:63,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se}),{24:[1,64]},i(T,[2,18],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,21],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Ne,48:je,49:Ie,50:Se,51:ke}),i(T,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Ze=[],At=this.table,Tt="",On=0,ht=0,zr=2,yt=1,Fi=Ze.slice.call(arguments,1),yi=Object.create(this.lexer),Ba={yy:{}};for(var na in this.yy)Object.prototype.hasOwnProperty.call(this.yy,na)&&(Ba.yy[na]=this.yy[na]);yi.setInput(Et,Ba.yy),Ba.yy.lexer=yi,Ba.yy.parser=this,typeof yi.yylloc>"u"&&(yi.yylloc={});var Ro=yi.yylloc;Ze.push(Ro);var _r=yi.options&&yi.options.ranges;typeof Ba.yy.parseError=="function"?this.parseError=Ba.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nn(){var ua;return ua=xt.pop()||yi.lex()||yt,typeof ua!="number"&&(ua instanceof Array&&(xt=ua,ua=xt.pop()),ua=Gt.symbols_[ua]||ua),ua}for(var $n,qn,Lt,wt,cn={},fn,Mn,mo,Io;;){if(qn=ln[ln.length-1],this.defaultActions[qn]?Lt=this.defaultActions[qn]:(($n===null||typeof $n>"u")&&($n=Nn()),Lt=At[qn]&&At[qn][$n]),typeof Lt>"u"||!Lt.length||!Lt[0]){var Xa="";Io=[];for(fn in At[qn])this.terminals_[fn]&&fn>zr&&Io.push("'"+this.terminals_[fn]+"'");yi.showPosition?Xa="Parse error on line "+(On+1)+`:
-`+yi.showPosition()+`
-Expecting `+Io.join(", ")+", got '"+(this.terminals_[$n]||$n)+"'":Xa="Parse error on line "+(On+1)+": Unexpected "+($n==yt?"end of input":"'"+(this.terminals_[$n]||$n)+"'"),this.parseError(Xa,{text:yi.match,token:this.terminals_[$n]||$n,line:yi.yylineno,loc:Ro,expected:Io})}if(Lt[0]instanceof Array&&Lt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+qn+", token: "+$n);switch(Lt[0]){case 1:ln.push($n),Pt.push(yi.yytext),Ze.push(yi.yylloc),ln.push(Lt[1]),$n=null,ht=yi.yyleng,Tt=yi.yytext,On=yi.yylineno,Ro=yi.yylloc;break;case 2:if(Mn=this.productions_[Lt[1]][1],cn.$=Pt[Pt.length-Mn],cn._$={first_line:Ze[Ze.length-(Mn||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Mn||1)].first_column,last_column:Ze[Ze.length-1].last_column},_r&&(cn._$.range=[Ze[Ze.length-(Mn||1)].range[0],Ze[Ze.length-1].range[1]]),wt=this.performAction.apply(cn,[Tt,ht,On,Ba.yy,Lt[1],Pt,Ze].concat(Fi)),typeof wt<"u")return wt;Mn&&(ln=ln.slice(0,-1*Mn*2),Pt=Pt.slice(0,-1*Mn),Ze=Ze.slice(0,-1*Mn)),ln.push(this.productions_[Lt[1]][0]),Pt.push(cn.$),Ze.push(cn._$),mo=At[ln[ln.length-2]][ln[ln.length-1]],ln.push(mo);break;case 3:return!0}}return!0}},Pe=function(){var kt={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=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),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=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:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+`
-`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Ze in Pt)this[Ze]=Pt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Ze=0;ZeGt[0].length)){if(Gt=ln,xt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Ze]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return kt}();Ft.lexer=Pe;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();fve.parser=fve;const Mnn=fve,Bp=f2e();class Dnn{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var s,u,d,p,v,b,y,T,_,A,P,R,F,j,W,ee,ie,oe;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((s=sh.quadrantChart)==null?void 0:s.chartWidth)||500,chartWidth:((u=sh.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((d=sh.quadrantChart)==null?void 0:d.titlePadding)||10,titleFontSize:((p=sh.quadrantChart)==null?void 0:p.titleFontSize)||20,quadrantPadding:((v=sh.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=sh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((y=sh.quadrantChart)==null?void 0:y.yAxisLabelPadding)||5,xAxisLabelFontSize:((T=sh.quadrantChart)==null?void 0:T.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=sh.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((A=sh.quadrantChart)==null?void 0:A.quadrantLabelFontSize)||16,quadrantTextTopPadding:((P=sh.quadrantChart)==null?void 0:P.quadrantTextTopPadding)||5,pointTextPadding:((R=sh.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((F=sh.quadrantChart)==null?void 0:F.pointLabelFontSize)||12,pointRadius:((j=sh.quadrantChart)==null?void 0:j.pointRadius)||5,xAxisPosition:((W=sh.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((ee=sh.quadrantChart)==null?void 0:ee.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ie=sh.quadrantChart)==null?void 0:ie.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((oe=sh.quadrantChart)==null?void 0:oe.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:Bp.quadrant1Fill,quadrant2Fill:Bp.quadrant2Fill,quadrant3Fill:Bp.quadrant3Fill,quadrant4Fill:Bp.quadrant4Fill,quadrant1TextFill:Bp.quadrant1TextFill,quadrant2TextFill:Bp.quadrant2TextFill,quadrant3TextFill:Bp.quadrant3TextFill,quadrant4TextFill:Bp.quadrant4TextFill,quadrantPointFill:Bp.quadrantPointFill,quadrantPointTextFill:Bp.quadrantPointTextFill,quadrantXAxisTextFill:Bp.quadrantXAxisTextFill,quadrantYAxisTextFill:Bp.quadrantYAxisTextFill,quadrantTitleFill:Bp.quadrantTitleFill,quadrantInternalBorderStrokeFill:Bp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:Bp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Xe.info("clear called")}setData(s){this.data={...this.data,...s}}addPoints(s){this.data.points=[...s,...this.data.points]}setConfig(s){Xe.trace("setConfig called with: ",s),this.config={...this.config,...s}}setThemeConfig(s){Xe.trace("setThemeConfig called with: ",s),this.themeConfig={...this.themeConfig,...s}}calculateSpace(s,u,d,p){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:s==="top"&&u?v:0,bottom:s==="bottom"&&u?v:0},y=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,T={left:this.config.yAxisPosition==="left"&&d?y:0,right:this.config.yAxisPosition==="right"&&d?y:0},_=this.config.titleFontSize+this.config.titlePadding*2,A={top:p?_:0},P=this.config.quadrantPadding+T.left,R=this.config.quadrantPadding+b.top+A.top,F=this.config.chartWidth-this.config.quadrantPadding*2-T.left-T.right,j=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-A.top,W=F/2,ee=j/2;return{xAxisSpace:b,yAxisSpace:T,titleSpace:A,quadrantSpace:{quadrantLeft:P,quadrantTop:R,quadrantWidth:F,quadrantHalfWidth:W,quadrantHeight:j,quadrantHalfHeight:ee}}}getAxisLabels(s,u,d,p){const{quadrantSpace:v,titleSpace:b}=p,{quadrantHalfHeight:y,quadrantHeight:T,quadrantLeft:_,quadrantHalfWidth:A,quadrantTop:P,quadrantWidth:R}=v,F=!!this.data.xAxisRightText,j=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&u&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+A+(F?A/2:0),y:s==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+T+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:F?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&d&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+T-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&d&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+y-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(s){const{quadrantSpace:u}=s,{quadrantHalfHeight:d,quadrantLeft:p,quadrantHalfWidth:v,quadrantTop:b}=u,y=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b,width:v,height:d,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:p,y:b,width:v,height:d,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:p,y:b+d,width:v,height:d,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:p+v,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant4Fill}];for(const T of y)T.text.x=T.x+T.width/2,this.data.points.length===0?(T.text.y=T.y+T.height/2,T.text.horizontalPos="middle"):(T.text.y=T.y+this.config.quadrantTextTopPadding,T.text.horizontalPos="top");return y}getQuadrantPoints(s){const{quadrantSpace:u}=s,{quadrantHeight:d,quadrantLeft:p,quadrantTop:v,quadrantWidth:b}=u,y=iD().domain([0,1]).range([p,b+p]),T=iD().domain([0,1]).range([d+v,v]);return this.data.points.map(A=>({x:y(A.x),y:T(A.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:A.text,fill:this.themeConfig.quadrantPointTextFill,x:y(A.x),y:T(A.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(s){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:d}=s,{quadrantHalfHeight:p,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:y,quadrantTop:T,quadrantWidth:_}=d;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T,x2:b+_+u,y2:T},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:T+u,x2:b+_,y2:T+v-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:T+v,x2:b+_+u,y2:T+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:T+u,x2:b,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+y,y1:T+u,x2:b+y,y2:T+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+u,y1:T+p,x2:b+_-u,y2:T+p}]}getTitle(s){if(s)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const s=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),d=this.config.showTitle&&!!this.data.titleText,p=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(p,s,u,d);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(p,s,u,v),borderLines:this.getBorders(v),title:this.getTitle(d)}}}const Inn=qt();function V7(i){return yh(i.trim(),Inn)}const Fg=new Dnn;function Onn(i){Fg.setData({quadrant1Text:V7(i.text)})}function Nnn(i){Fg.setData({quadrant2Text:V7(i.text)})}function Pnn(i){Fg.setData({quadrant3Text:V7(i.text)})}function Bnn(i){Fg.setData({quadrant4Text:V7(i.text)})}function Fnn(i){Fg.setData({xAxisLeftText:V7(i.text)})}function Rnn(i){Fg.setData({xAxisRightText:V7(i.text)})}function jnn(i){Fg.setData({yAxisTopText:V7(i.text)})}function $nn(i){Fg.setData({yAxisBottomText:V7(i.text)})}function znn(i,s,u){Fg.addPoints([{x:s,y:u,text:V7(i.text)}])}function qnn(i){Fg.setConfig({chartWidth:i})}function Hnn(i){Fg.setConfig({chartHeight:i})}function Vnn(){const i=qt(),{themeVariables:s,quadrantChart:u}=i;return u&&Fg.setConfig(u),Fg.setThemeConfig({quadrant1Fill:s.quadrant1Fill,quadrant2Fill:s.quadrant2Fill,quadrant3Fill:s.quadrant3Fill,quadrant4Fill:s.quadrant4Fill,quadrant1TextFill:s.quadrant1TextFill,quadrant2TextFill:s.quadrant2TextFill,quadrant3TextFill:s.quadrant3TextFill,quadrant4TextFill:s.quadrant4TextFill,quadrantPointFill:s.quadrantPointFill,quadrantPointTextFill:s.quadrantPointTextFill,quadrantXAxisTextFill:s.quadrantXAxisTextFill,quadrantYAxisTextFill:s.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:s.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:s.quadrantInternalBorderStrokeFill,quadrantTitleFill:s.quadrantTitleFill}),Fg.setData({titleText:Lp()}),Fg.build()}const Unn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Mnn,db:{setWidth:qnn,setHeight:Hnn,setQuadrant1Text:Onn,setQuadrant2Text:Nnn,setQuadrant3Text:Pnn,setQuadrant4Text:Bnn,setXAxisLeftText:Fnn,setXAxisRightText:Rnn,setYAxisTopText:jnn,setYAxisBottomText:$nn,addPoint:znn,getQuadrantData:Vnn,clear:function(){Fg.clear(),Ng()},setAccTitle:Pg,getAccTitle:Sp,setDiagramTitle:om,getDiagramTitle:Lp,getAccDescription:Ap,setAccDescription:_p},renderer:{draw:(i,s,u,d)=>{var de,X,pe;function p(G){return G==="top"?"hanging":"middle"}function v(G){return G==="left"?"start":"middle"}function b(G){return`translate(${G.x}, ${G.y}) rotate(${G.rotation||0})`}const y=qt();Xe.debug(`Rendering quadrant chart
-`+i);const T=y.securityLevel;let _;T==="sandbox"&&(_=Ir("#i"+s));const P=Ir(T==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${s}"]`),R=P.append("g").attr("class","main"),F=((de=y.quadrantChart)==null?void 0:de.chartWidth)||500,j=((X=y.quadrantChart)==null?void 0:X.chartHeight)||500;Og(P,j,F,((pe=y.quadrantChart)==null?void 0:pe.useMaxWidth)||!0),P.attr("viewBox","0 0 "+F+" "+j),d.db.setHeight(j),d.db.setWidth(F);const W=d.db.getQuadrantData(),ee=R.append("g").attr("class","quadrants"),ie=R.append("g").attr("class","border"),oe=R.append("g").attr("class","data-points"),be=R.append("g").attr("class","labels"),ge=R.append("g").attr("class","title");W.title&&ge.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",p(W.title.horizontalPos)).attr("text-anchor",v(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&ie.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",G=>G.x1).attr("y1",G=>G.y1).attr("x2",G=>G.x2).attr("y2",G=>G.y2).style("stroke",G=>G.strokeFill).style("stroke-width",G=>G.strokeWidth);const ae=ee.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");ae.append("rect").attr("x",G=>G.x).attr("y",G=>G.y).attr("width",G=>G.width).attr("height",G=>G.height).attr("fill",G=>G.fill),ae.append("text").attr("x",0).attr("y",0).attr("fill",G=>G.text.fill).attr("font-size",G=>G.text.fontSize).attr("dominant-baseline",G=>p(G.text.horizontalPos)).attr("text-anchor",G=>v(G.text.verticalPos)).attr("transform",G=>b(G.text)).text(G=>G.text.text),be.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(G=>G.text).attr("fill",G=>G.fill).attr("font-size",G=>G.fontSize).attr("dominant-baseline",G=>p(G.horizontalPos)).attr("text-anchor",G=>v(G.verticalPos)).attr("transform",G=>b(G));const se=oe.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");se.append("circle").attr("cx",G=>G.x).attr("cy",G=>G.y).attr("r",G=>G.radius).attr("fill",G=>G.fill),se.append("text").attr("x",0).attr("y",0).text(G=>G.text.text).attr("fill",G=>G.text.fill).attr("font-size",G=>G.text.fontSize).attr("dominant-baseline",G=>p(G.text.horizontalPos)).attr("text-anchor",G=>v(G.text.verticalPos)).attr("transform",G=>b(G.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var dve=function(){var i=function(Ne,je,Ie,Se){for(Ie=Ie||{},Se=Ne.length;Se--;Ie[Ne[Se]]=je);return Ie},s=[1,10,12,14,16,18,19,21,23],u=[2,6],d=[1,3],p=[1,5],v=[1,6],b=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],T=[1,25],_=[1,26],A=[1,28],P=[1,29],R=[1,30],F=[1,31],j=[1,32],W=[1,33],ee=[1,34],ie=[1,35],oe=[1,36],be=[1,37],ge=[1,43],ae=[1,42],ne=[1,47],se=[1,50],de=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pe=[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],G=[1,64],xe={trace:function(){},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:function(je,Ie,Se,Ce,ke,Ke,Ft){var Pe=Ke.length-1;switch(ke){case 5:Ce.setOrientation(Ke[Pe]);break;case 9:Ce.setDiagramTitle(Ke[Pe].text.trim());break;case 12:Ce.setLineData({text:"",type:"text"},Ke[Pe]);break;case 13:Ce.setLineData(Ke[Pe-1],Ke[Pe]);break;case 14:Ce.setBarData({text:"",type:"text"},Ke[Pe]);break;case 15:Ce.setBarData(Ke[Pe-1],Ke[Pe]);break;case 16:this.$=Ke[Pe].trim(),Ce.setAccTitle(this.$);break;case 17:case 18:this.$=Ke[Pe].trim(),Ce.setAccDescription(this.$);break;case 19:this.$=Ke[Pe-1];break;case 20:this.$=[Number(Ke[Pe-2]),...Ke[Pe]];break;case 21:this.$=[Number(Ke[Pe])];break;case 22:Ce.setXAxisTitle(Ke[Pe]);break;case 23:Ce.setXAxisTitle(Ke[Pe-1]);break;case 24:Ce.setXAxisTitle({type:"text",text:""});break;case 25:Ce.setXAxisBand(Ke[Pe]);break;case 26:Ce.setXAxisRangeData(Number(Ke[Pe-2]),Number(Ke[Pe]));break;case 27:this.$=Ke[Pe-1];break;case 28:this.$=[Ke[Pe-2],...Ke[Pe]];break;case 29:this.$=[Ke[Pe]];break;case 30:Ce.setYAxisTitle(Ke[Pe]);break;case 31:Ce.setYAxisTitle(Ke[Pe-1]);break;case 32:Ce.setYAxisTitle({type:"text",text:""});break;case 33:Ce.setYAxisRangeData(Number(Ke[Pe-2]),Number(Ke[Pe]));break;case 37:this.$={text:Ke[Pe],type:"text"};break;case 38:this.$={text:Ke[Pe],type:"text"};break;case 39:this.$={text:Ke[Pe],type:"markdown"};break;case 40:this.$=Ke[Pe];break;case 41:this.$=Ke[Pe-1]+""+Ke[Pe];break}},table:[i(s,u,{3:1,4:2,7:4,5:d,34:p,35:v,36:b}),{1:[3]},i(s,u,{4:2,7:4,3:8,5:d,34:p,35:v,36:b}),i(s,u,{4:2,7:4,6:9,3:10,5:d,8:[1,11],34:p,35:v,36:b}),{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]},i(y,[2,34]),i(y,[2,35]),i(y,[2,36]),{1:[2,1]},i(s,u,{4:2,7:4,3:21,5:d,34:p,35:v,36:b}),{1:[2,3]},i(y,[2,5]),i(s,[2,7],{4:22,34:p,35:v,36:b}),{11:23,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:39,13:38,24:ge,27:ae,29:40,30:41,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:45,15:44,27:ne,33:46,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:49,17:48,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:52,17:51,24:se,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},{20:[1,53]},{22:[1,54]},i(de,[2,18]),{1:[2,2]},i(de,[2,8]),i(de,[2,9]),i(X,[2,37],{40:55,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be}),i(X,[2,38]),i(X,[2,39]),i(pe,[2,40]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),i(pe,[2,47]),i(pe,[2,48]),i(pe,[2,49]),i(pe,[2,50]),i(pe,[2,51]),i(de,[2,10]),i(de,[2,22],{30:41,29:56,24:ge,27:ae}),i(de,[2,24]),i(de,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,11]),i(de,[2,30],{33:60,27:ne}),i(de,[2,32]),{31:[1,61]},i(de,[2,12]),{17:62,24:se},{25:63,27:G},i(de,[2,14]),{17:65,24:se},i(de,[2,16]),i(de,[2,17]),i(pe,[2,41]),i(de,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(de,[2,31]),{27:[1,69]},i(de,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(de,[2,15]),i(de,[2,26]),i(de,[2,27]),{11:59,32:72,37:24,38:T,39:_,40:27,41:A,42:P,43:R,44:F,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,33]),i(de,[2,19]),{25:73,27:G},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(je,Ie){if(Ie.recoverable)this.trace(je);else{var Se=new Error(je);throw Se.hash=Ie,Se}},parse:function(je){var Ie=this,Se=[0],Ce=[],ke=[null],Ke=[],Ft=this.table,Pe="",gn=0,kt=0,Et=2,Gt=1,ln=Ke.slice.call(arguments,1),xt=Object.create(this.lexer),Pt={yy:{}};for(var Ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ze)&&(Pt.yy[Ze]=this.yy[Ze]);xt.setInput(je,Pt.yy),Pt.yy.lexer=xt,Pt.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var At=xt.yylloc;Ke.push(At);var Tt=xt.options&&xt.options.ranges;typeof Pt.yy.parseError=="function"?this.parseError=Pt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var $n;return $n=Ce.pop()||xt.lex()||Gt,typeof $n!="number"&&($n instanceof Array&&(Ce=$n,$n=Ce.pop()),$n=Ie.symbols_[$n]||$n),$n}for(var ht,zr,yt,Fi,yi={},Ba,na,Ro,_r;;){if(zr=Se[Se.length-1],this.defaultActions[zr]?yt=this.defaultActions[zr]:((ht===null||typeof ht>"u")&&(ht=On()),yt=Ft[zr]&&Ft[zr][ht]),typeof yt>"u"||!yt.length||!yt[0]){var Nn="";_r=[];for(Ba in Ft[zr])this.terminals_[Ba]&&Ba>Et&&_r.push("'"+this.terminals_[Ba]+"'");xt.showPosition?Nn="Parse error on line "+(gn+1)+`:
-`+xt.showPosition()+`
-Expecting `+_r.join(", ")+", got '"+(this.terminals_[ht]||ht)+"'":Nn="Parse error on line "+(gn+1)+": Unexpected "+(ht==Gt?"end of input":"'"+(this.terminals_[ht]||ht)+"'"),this.parseError(Nn,{text:xt.match,token:this.terminals_[ht]||ht,line:xt.yylineno,loc:At,expected:_r})}if(yt[0]instanceof Array&&yt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zr+", token: "+ht);switch(yt[0]){case 1:Se.push(ht),ke.push(xt.yytext),Ke.push(xt.yylloc),Se.push(yt[1]),ht=null,kt=xt.yyleng,Pe=xt.yytext,gn=xt.yylineno,At=xt.yylloc;break;case 2:if(na=this.productions_[yt[1]][1],yi.$=ke[ke.length-na],yi._$={first_line:Ke[Ke.length-(na||1)].first_line,last_line:Ke[Ke.length-1].last_line,first_column:Ke[Ke.length-(na||1)].first_column,last_column:Ke[Ke.length-1].last_column},Tt&&(yi._$.range=[Ke[Ke.length-(na||1)].range[0],Ke[Ke.length-1].range[1]]),Fi=this.performAction.apply(yi,[Pe,kt,gn,Pt.yy,yt[1],ke,Ke].concat(ln)),typeof Fi<"u")return Fi;na&&(Se=Se.slice(0,-1*na*2),ke=ke.slice(0,-1*na),Ke=Ke.slice(0,-1*na)),Se.push(this.productions_[yt[1]][0]),ke.push(yi.$),Ke.push(yi._$),Ro=Ft[Se[Se.length-2]][Se[Se.length-1]],Se.push(Ro);break;case 3:return!0}}return!0}},U=function(){var Ne={EOF:1,parseError:function(Ie,Se){if(this.yy.parser)this.yy.parser.parseError(Ie,Se);else throw new Error(Ie)},setInput:function(je,Ie){return this.yy=Ie||this.yy||{},this._input=je,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Ie=je.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),je},unput:function(je){var Ie=je.length,Se=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Se.length-1&&(this.yylineno-=Se.length-1);var ke=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Se?(Se.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Se.length].length-Se[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(je){this.unput(this.match.slice(je))},pastInput:function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var je=this.pastInput(),Ie=new Array(je.length+1).join("-");return je+this.upcomingInput()+`
-`+Ie+"^"},test_match:function(je,Ie){var Se,Ce,ke;if(this.options.backtrack_lexer&&(ke={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ke.yylloc.range=this.yylloc.range.slice(0))),Ce=je[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(je[0].length),this.matched+=je[0],Se=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ke in ke)this[Ke]=ke[Ke];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Ie,Se,Ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),Ke=0;KeIe[0].length)){if(Ie=Se,Ce=Ke,this.options.backtrack_lexer){if(je=this.test_match(Se,ke[Ke]),je!==!1)return je;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(je=this.test_match(Ie,ke[Ce]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,Se,Ce,ke){switch(Ce){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return Ne}();xe.lexer=U;function Be(){this.yy={}}return Be.prototype=xe,xe.Parser=Be,new Be}();dve.parser=dve;const Gnn=dve;function pGe(i){return i.type==="bar"}function bGe(i){return i.type==="band"}function $R(i){return i.type==="linear"}class mGe{constructor(s){this.parentGroup=s}getMaxDimension(s,u){if(!this.parentGroup)return{width:s.reduce((v,b)=>Math.max(b.length,v),0)*u,height:u};const d={width:0,height:0},p=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",u);for(const v of s){const b=VZt(p,1,v),y=b?b.width:v.length*u,T=b?b.height:u;d.width=Math.max(d.width,y),d.height=Math.max(d.height,T)}return p.remove(),d}}const vGe=.7,wGe=.2;class yGe{constructor(s,u,d,p){this.axisConfig=s,this.title=u,this.textDimensionCalculator=d,this.axisThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(s){this.range=s,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=s[1]-s[0]:this.boundingRect.width=s[1]-s[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(s){this.axisPosition=s,this.setRange(this.range)}getTickDistance(){const s=this.getRange();return Math.abs(s[0]-s[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(s=>s.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){vGe*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(vGe*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(s){let u=s.height;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=wGe*s.width;this.outerPadding=Math.min(d.width/2,p);const v=d.height+this.axisConfig.labelPadding*2;this.labelTextHeight=d.height,v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width,this.boundingRect.height=s.height-u}calculateSpaceIfDrawnVertical(s){let u=s.width;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=wGe*s.height;this.outerPadding=Math.min(d.height/2,p);const v=d.width+this.axisConfig.labelPadding*2;v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=s.width-u,this.boundingRect.height=s.height}calculateSpace(s){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(s):this.calculateSpaceIfDrawnHorizontally(s),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}getDrawableElementsForLeftAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(u=>({text:u.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(u),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const u=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${u},${this.getScaleValue(d)} L ${u-this.axisConfig.tickLength},${this.getScaleValue(d)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElementsForBottomAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);s.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElementsForTopAxis(){const s=[];if(this.showAxisLine){const u=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;s.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&s.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y;s.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(d)},${u+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&s.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"}]}),s}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class Knn extends yGe{constructor(s,u,d,p,v){super(s,p,v,u),this.categories=d,this.scale=qpe().domain(this.categories).range(this.getRange())}setRange(s){super.setRange(s)}recalculateScale(){this.scale=qpe().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(s){return this.scale(s)||this.getRange()[0]}}class Wnn extends yGe{constructor(s,u,d,p,v){super(s,p,v,u),this.domain=d,this.scale=iD().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const s=[...this.domain];this.axisPosition==="left"&&s.reverse(),this.scale=iD().domain(s).range(this.getRange())}getScaleValue(s){return this.scale(s)}}function xGe(i,s,u,d){const p=new mGe(d);return bGe(i)?new Knn(s,u,i.categories,i.title,p):new Wnn(s,u,[i.min,i.max],i.title,p)}class Ynn{constructor(s,u,d,p){this.textDimensionCalculator=s,this.chartConfig=u,this.chartData=d,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){const u=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),d=Math.max(u.width,s.width),p=u.height+2*this.chartConfig.titlePadding;return u.width<=d&&u.height<=p&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=d,this.boundingRect.height=p,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const s=[];return this.showChartTitle&&s.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}]}),s}}function Xnn(i,s,u,d){const p=new mGe(d);return new Ynn(p,i,s,u)}class Qnn{constructor(s,u,d,p,v){this.plotData=s,this.xAxis=u,this.yAxis=d,this.orientation=p,this.plotIndex=v}getDrawableElement(){const s=this.plotData.data.map(d=>[this.xAxis.getScaleValue(d[0]),this.yAxis.getScaleValue(d[1])]);let u;return this.orientation==="horizontal"?u=x7().y(d=>d[0]).x(d=>d[1])(s):u=x7().x(d=>d[0]).y(d=>d[1])(s),u?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:u,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class Jnn{constructor(s,u,d,p,v,b){this.barData=s,this.boundingRect=u,this.xAxis=d,this.yAxis=p,this.orientation=v,this.plotIndex=b}getDrawableElement(){const s=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),u=.05,d=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-u),p=d/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:this.boundingRect.x,y:v[0]-p,height:d,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:s.map(v=>({x:v[0]-p,y:v[1],width:d,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class Znn{constructor(s,u,d){this.chartConfig=s,this.chartData=u,this.chartThemeConfig=d,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(s,u){this.xAxis=s,this.yAxis=u}setBoundingBoxXY(s){this.boundingRect.x=s.x,this.boundingRect.y=s.y}calculateSpace(s){return this.boundingRect.width=s.width,this.boundingRect.height=s.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const s=[];for(const[u,d]of this.chartData.plots.entries())switch(d.type){case"line":{const p=new Qnn(d,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break;case"bar":{const p=new Jnn(d,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);s.push(...p.getDrawableElement())}break}return s}}function ern(i,s,u){return new Znn(i,s,u)}class trn{constructor(s,u,d,p){this.chartConfig=s,this.chartData=u,this.componentStore={title:Xnn(s,u,d,p),plot:ern(s,u,d),xAxis:xGe(u.xAxis,s.xAxis,{titleColor:d.xAxisTitleColor,labelColor:d.xAxisLabelColor,tickColor:d.xAxisTickColor,axisLineColor:d.xAxisLineColor},p),yAxis:xGe(u.yAxis,s.yAxis,{titleColor:d.yAxisTitleColor,labelColor:d.yAxisLabelColor,tickColor:d.yAxisTickColor,axisLineColor:d.yAxisLineColor},p)}}calculateVerticalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),y=this.componentStore.plot.calculateSpace({width:v,height:b});s-=y.width,u-=y.height,y=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),p=y.height,u-=y.height,this.componentStore.xAxis.setAxisPosition("bottom"),y=this.componentStore.xAxis.calculateSpace({width:s,height:u}),u-=y.height,this.componentStore.yAxis.setAxisPosition("left"),y=this.componentStore.yAxis.calculateSpace({width:s,height:u}),d=y.width,s-=y.width,s>0&&(v+=s,s=0),u>0&&(b+=u,u=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:d,y:p}),this.componentStore.xAxis.setRange([d,d+v]),this.componentStore.xAxis.setBoundingBoxXY({x:d,y:p+b}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:p}),this.chartData.plots.some(T=>pGe(T))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let s=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=0,b=Math.floor(s*this.chartConfig.plotReservedSpacePercent/100),y=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),T=this.componentStore.plot.calculateSpace({width:b,height:y});s-=T.width,u-=T.height,T=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),d=T.height,u-=T.height,this.componentStore.xAxis.setAxisPosition("left"),T=this.componentStore.xAxis.calculateSpace({width:s,height:u}),s-=T.width,p=T.width,this.componentStore.yAxis.setAxisPosition("top"),T=this.componentStore.yAxis.calculateSpace({width:s,height:u}),u-=T.height,v=d+T.height,s>0&&(b+=s,s=0),u>0&&(y+=u,u=0),this.componentStore.plot.calculateSpace({width:b,height:y}),this.componentStore.plot.setBoundingBoxXY({x:p,y:v}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:p,y:d}),this.componentStore.xAxis.setRange([v,v+y]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>pGe(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const s=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const u of Object.values(this.componentStore))s.push(...u.getDrawableElements());return s}}class nrn{static build(s,u,d,p){return new trn(s,u,d,p).getDrawableElement()}}let zR=0,kGe,qR=TGe(),HR=EGe(),tl=CGe(),gve=HR.plotColorPalette.split(",").map(i=>i.trim()),gJ=!1,pve=!1;function EGe(){const i=f2e(),s=xh();return ZF(i.xyChart,s.themeVariables.xyChart)}function TGe(){const i=xh();return ZF(sh.xyChart,i.xyChart)}function CGe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function bve(i){const s=xh();return yh(i.trim(),s)}function rrn(i){kGe=i}function irn(i){i==="horizontal"?qR.chartOrientation="horizontal":qR.chartOrientation="vertical"}function srn(i){tl.xAxis.title=bve(i.text)}function SGe(i,s){tl.xAxis={type:"linear",title:tl.xAxis.title,min:i,max:s},gJ=!0}function arn(i){tl.xAxis={type:"band",title:tl.xAxis.title,categories:i.map(s=>bve(s.text))},gJ=!0}function orn(i){tl.yAxis.title=bve(i.text)}function crn(i,s){tl.yAxis={type:"linear",title:tl.yAxis.title,min:i,max:s},pve=!0}function urn(i){const s=Math.min(...i),u=Math.max(...i),d=$R(tl.yAxis)?tl.yAxis.min:1/0,p=$R(tl.yAxis)?tl.yAxis.max:-1/0;tl.yAxis={type:"linear",title:tl.yAxis.title,min:Math.min(d,s),max:Math.max(p,u)}}function _Ge(i){let s=[];if(i.length===0)return s;if(!gJ){const u=$R(tl.xAxis)?tl.xAxis.min:1/0,d=$R(tl.xAxis)?tl.xAxis.max:-1/0;SGe(Math.min(u,1),Math.max(d,i.length))}if(pve||urn(i),bGe(tl.xAxis)&&(s=tl.xAxis.categories.map((u,d)=>[u,i[d]])),$R(tl.xAxis)){const u=tl.xAxis.min,d=tl.xAxis.max,p=(d-u+1)/i.length,v=[];for(let b=u;b<=d;b+=p)v.push(`${b}`);s=v.map((b,y)=>[b,i[y]])}return s}function AGe(i){return gve[i===0?0:i%gve.length]}function lrn(i,s){const u=_Ge(s);tl.plots.push({type:"line",strokeFill:AGe(zR),strokeWidth:2,data:u}),zR++}function hrn(i,s){const u=_Ge(s);tl.plots.push({type:"bar",fill:AGe(zR),data:u}),zR++}function frn(){if(tl.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return tl.title=Lp(),nrn.build(qR,tl,HR,kGe)}function drn(){return HR}function grn(){return qR}const prn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Gnn,db:{getDrawableElem:frn,clear:function(){Ng(),zR=0,qR=TGe(),tl=CGe(),HR=EGe(),gve=HR.plotColorPalette.split(",").map(i=>i.trim()),gJ=!1,pve=!1},setAccTitle:Pg,getAccTitle:Sp,setDiagramTitle:om,getDiagramTitle:Lp,getAccDescription:Ap,setAccDescription:_p,setOrientation:irn,setXAxisTitle:srn,setXAxisRangeData:SGe,setXAxisBand:arn,setYAxisTitle:orn,setYAxisRangeData:crn,setLineData:lrn,setBarData:hrn,setTmpSVGG:rrn,getChartThemeConfig:drn,getChartConfig:grn},renderer:{draw:(i,s,u,d)=>{const p=d.db,v=p.getChartThemeConfig(),b=p.getChartConfig();function y(ee){return ee==="top"?"text-before-edge":"middle"}function T(ee){return ee==="left"?"start":ee==="right"?"end":"middle"}function _(ee){return`translate(${ee.x}, ${ee.y}) rotate(${ee.rotation||0})`}Xe.debug(`Rendering xychart chart
-`+i);const A=iR(s),P=A.append("g").attr("class","main"),R=P.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Og(A,b.height,b.width,!0),A.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),p.setTmpSVGG(A.append("g").attr("class","mermaid-tmp-group"));const F=p.getDrawableElem(),j={};function W(ee){let ie=P,oe="";for(const[be]of ee.entries()){let ge=P;be>0&&j[oe]&&(ge=j[oe]),oe+=ee[be],ie=j[oe],ie||(ie=j[oe]=ge.append("g").attr("class",ee[be]))}return ie}for(const ee of F){if(ee.data.length===0)continue;const ie=W(ee.groupTexts);switch(ee.type){case"rect":ie.selectAll("rect").data(ee.data).enter().append("rect").attr("x",oe=>oe.x).attr("y",oe=>oe.y).attr("width",oe=>oe.width).attr("height",oe=>oe.height).attr("fill",oe=>oe.fill).attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break;case"text":ie.selectAll("text").data(ee.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",oe=>oe.fill).attr("font-size",oe=>oe.fontSize).attr("dominant-baseline",oe=>y(oe.verticalPos)).attr("text-anchor",oe=>T(oe.horizontalPos)).attr("transform",oe=>_(oe)).text(oe=>oe.text);break;case"path":ie.selectAll("path").data(ee.data).enter().append("path").attr("d",oe=>oe.path).attr("fill",oe=>oe.fill?oe.fill:"none").attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var mve=function(){var i=function(kt,Et,Gt,ln){for(Gt=Gt||{},ln=kt.length;ln--;Gt[kt[ln]]=Et);return Gt},s=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],y=[2,7],T=[1,22],_=[1,23],A=[1,24],P=[1,25],R=[1,26],F=[1,27],j=[1,20],W=[1,28],ee=[1,29],ie=[62,63],oe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],be=[1,47],ge=[1,48],ae=[1,49],ne=[1,50],se=[1,51],de=[1,52],X=[1,53],pe=[53,54],G=[1,64],xe=[1,60],U=[1,61],Be=[1,62],Ne=[1,63],je=[1,65],Ie=[1,69],Se=[1,70],Ce=[1,67],ke=[1,68],Ke=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Ft={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(Et,Gt,ln,xt,Pt,Ze,At){var Tt=Ze.length-1;switch(Pt){case 4:this.$=Ze[Tt].trim(),xt.setAccTitle(this.$);break;case 5:case 6:this.$=Ze[Tt].trim(),xt.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:xt.addRequirement(Ze[Tt-3],Ze[Tt-4]);break;case 14:xt.setNewReqId(Ze[Tt-2]);break;case 15:xt.setNewReqText(Ze[Tt-2]);break;case 16:xt.setNewReqRisk(Ze[Tt-2]);break;case 17:xt.setNewReqVerifyMethod(Ze[Tt-2]);break;case 20:this.$=xt.RequirementType.REQUIREMENT;break;case 21:this.$=xt.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=xt.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=xt.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=xt.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=xt.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=xt.RiskLevel.LOW_RISK;break;case 27:this.$=xt.RiskLevel.MED_RISK;break;case 28:this.$=xt.RiskLevel.HIGH_RISK;break;case 29:this.$=xt.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=xt.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=xt.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=xt.VerifyType.VERIFY_TEST;break;case 33:xt.addElement(Ze[Tt-3]);break;case 34:xt.setNewElementType(Ze[Tt-2]);break;case 35:xt.setNewElementDocRef(Ze[Tt-2]);break;case 38:xt.addRelationship(Ze[Tt-2],Ze[Tt],Ze[Tt-4]);break;case 39:xt.addRelationship(Ze[Tt-2],Ze[Tt-4],Ze[Tt]);break;case 40:this.$=xt.Relationships.CONTAINS;break;case 41:this.$=xt.Relationships.COPIES;break;case 42:this.$=xt.Relationships.DERIVES;break;case 43:this.$=xt.Relationships.SATISFIES;break;case 44:this.$=xt.Relationships.VERIFIES;break;case 45:this.$=xt.Relationships.REFINES;break;case 46:this.$=xt.Relationships.TRACES;break}},table:[{3:1,4:2,6:s,9:u,11:d,13:p},{1:[3]},{3:8,4:2,5:[1,7],6:s,9:u,11:d,13:p},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:s,9:u,11:d,13:p},{1:[2,2]},{4:17,5:b,7:13,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:32,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:33,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:34,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{4:17,5:b,7:35,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:T,32:_,33:A,34:P,35:R,36:F,44:j,62:W,63:ee},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ie,[2,20]),i(ie,[2,21]),i(ie,[2,22]),i(ie,[2,23]),i(ie,[2,24]),i(ie,[2,25]),i(oe,[2,49]),i(oe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{52:54,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pe,[2,40]),i(pe,[2,41]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),{54:[1,58]},{5:G,20:59,21:xe,24:U,26:Be,28:Ne,30:je},{5:Ie,30:Se,46:66,47:Ce,49:ke},{23:71,62:W,63:ee},{23:72,62:W,63:ee},i(Ke,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:G,20:77,21:xe,24:U,26:Be,28:Ne,30:je},i(Ke,[2,19]),i(Ke,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ie,30:Se,46:80,47:Ce,49:ke},i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),{23:81,62:W,63:ee},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Ke,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ke,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:G,20:106,21:xe,24:U,26:Be,28:Ne,30:je},{5:G,20:107,21:xe,24:U,26:Be,28:Ne,30:je},{5:G,20:108,21:xe,24:U,26:Be,28:Ne,30:je},{5:G,20:109,21:xe,24:U,26:Be,28:Ne,30:je},{5:Ie,30:Se,46:110,47:Ce,49:ke},{5:Ie,30:Se,46:111,47:Ce,49:ke},i(Ke,[2,14]),i(Ke,[2,15]),i(Ke,[2,16]),i(Ke,[2,17]),i(Ke,[2,34]),i(Ke,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(Et,Gt){if(Gt.recoverable)this.trace(Et);else{var ln=new Error(Et);throw ln.hash=Gt,ln}},parse:function(Et){var Gt=this,ln=[0],xt=[],Pt=[null],Ze=[],At=this.table,Tt="",On=0,ht=0,zr=2,yt=1,Fi=Ze.slice.call(arguments,1),yi=Object.create(this.lexer),Ba={yy:{}};for(var na in this.yy)Object.prototype.hasOwnProperty.call(this.yy,na)&&(Ba.yy[na]=this.yy[na]);yi.setInput(Et,Ba.yy),Ba.yy.lexer=yi,Ba.yy.parser=this,typeof yi.yylloc>"u"&&(yi.yylloc={});var Ro=yi.yylloc;Ze.push(Ro);var _r=yi.options&&yi.options.ranges;typeof Ba.yy.parseError=="function"?this.parseError=Ba.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nn(){var ua;return ua=xt.pop()||yi.lex()||yt,typeof ua!="number"&&(ua instanceof Array&&(xt=ua,ua=xt.pop()),ua=Gt.symbols_[ua]||ua),ua}for(var $n,qn,Lt,wt,cn={},fn,Mn,mo,Io;;){if(qn=ln[ln.length-1],this.defaultActions[qn]?Lt=this.defaultActions[qn]:(($n===null||typeof $n>"u")&&($n=Nn()),Lt=At[qn]&&At[qn][$n]),typeof Lt>"u"||!Lt.length||!Lt[0]){var Xa="";Io=[];for(fn in At[qn])this.terminals_[fn]&&fn>zr&&Io.push("'"+this.terminals_[fn]+"'");yi.showPosition?Xa="Parse error on line "+(On+1)+`:
-`+yi.showPosition()+`
-Expecting `+Io.join(", ")+", got '"+(this.terminals_[$n]||$n)+"'":Xa="Parse error on line "+(On+1)+": Unexpected "+($n==yt?"end of input":"'"+(this.terminals_[$n]||$n)+"'"),this.parseError(Xa,{text:yi.match,token:this.terminals_[$n]||$n,line:yi.yylineno,loc:Ro,expected:Io})}if(Lt[0]instanceof Array&&Lt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+qn+", token: "+$n);switch(Lt[0]){case 1:ln.push($n),Pt.push(yi.yytext),Ze.push(yi.yylloc),ln.push(Lt[1]),$n=null,ht=yi.yyleng,Tt=yi.yytext,On=yi.yylineno,Ro=yi.yylloc;break;case 2:if(Mn=this.productions_[Lt[1]][1],cn.$=Pt[Pt.length-Mn],cn._$={first_line:Ze[Ze.length-(Mn||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Mn||1)].first_column,last_column:Ze[Ze.length-1].last_column},_r&&(cn._$.range=[Ze[Ze.length-(Mn||1)].range[0],Ze[Ze.length-1].range[1]]),wt=this.performAction.apply(cn,[Tt,ht,On,Ba.yy,Lt[1],Pt,Ze].concat(Fi)),typeof wt<"u")return wt;Mn&&(ln=ln.slice(0,-1*Mn*2),Pt=Pt.slice(0,-1*Mn),Ze=Ze.slice(0,-1*Mn)),ln.push(this.productions_[Lt[1]][0]),Pt.push(cn.$),Ze.push(cn._$),mo=At[ln[ln.length-2]][ln[ln.length-1]],ln.push(mo);break;case 3:return!0}}return!0}},Pe=function(){var kt={EOF:1,parseError:function(Gt,ln){if(this.yy.parser)this.yy.parser.parseError(Gt,ln);else throw new Error(Gt)},setInput:function(Et,Gt){return this.yy=Gt||this.yy||{},this._input=Et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Gt=Et.match(/(?:\r\n?|\n).*/g);return Gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Gt=Et.length,ln=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Gt),this.offset-=Gt;var xt=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),ln.length-1&&(this.yylineno-=ln.length-1);var Pt=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:ln?(ln.length===xt.length?this.yylloc.first_column:0)+xt[xt.length-ln.length].length-ln[0].length:this.yylloc.first_column-Gt},this.options.ranges&&(this.yylloc.range=[Pt[0],Pt[0]+this.yyleng-Gt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Gt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+`
-`+Gt+"^"},test_match:function(Et,Gt){var ln,xt,Pt;if(this.options.backtrack_lexer&&(Pt={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&&(Pt.yylloc.range=this.yylloc.range.slice(0))),xt=Et[0].match(/(?:\r\n?|\n).*/g),xt&&(this.yylineno+=xt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xt?xt[xt.length-1].length-xt[xt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],ln=this.performAction.call(this,this.yy,this,Gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ln)return ln;if(this._backtrack){for(var Ze in Pt)this[Ze]=Pt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Gt,ln,xt;this._more||(this.yytext="",this.match="");for(var Pt=this._currentRules(),Ze=0;ZeGt[0].length)){if(Gt=ln,xt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(ln,Pt[Ze]),Et!==!1)return Et;if(this._backtrack){Gt=!1;continue}else return!1}else if(!this.options.flex)break}return Gt?(Et=this.test_match(Gt,Pt[xt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Gt=this.next();return Gt||this.lex()},begin:function(Gt){this.conditionStack.push(Gt)},popState:function(){var Gt=this.conditionStack.length-1;return Gt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Gt){return Gt=this.conditionStack.length-1-Math.abs(Gt||0),Gt>=0?this.conditionStack[Gt]:"INITIAL"},pushState:function(Gt){this.begin(Gt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Gt,ln,xt,Pt){switch(xt){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return ln.yytext=ln.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return kt}();Ft.lexer=Pe;function gn(){this.yy={}}return gn.prototype=Ft,Ft.Parser=gn,new gn}();mve.parser=mve;const brn=mve;let vve=[],U2={},VR={},B9={},UR={};const mrn={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>qt().req,addRequirement:(i,s)=>(VR[i]===void 0&&(VR[i]={name:i,type:s,id:U2.id,text:U2.text,risk:U2.risk,verifyMethod:U2.verifyMethod}),U2={},VR[i]),getRequirements:()=>VR,setNewReqId:i=>{U2!==void 0&&(U2.id=i)},setNewReqText:i=>{U2!==void 0&&(U2.text=i)},setNewReqRisk:i=>{U2!==void 0&&(U2.risk=i)},setNewReqVerifyMethod:i=>{U2!==void 0&&(U2.verifyMethod=i)},setAccTitle:Pg,getAccTitle:Sp,setAccDescription:_p,getAccDescription:Ap,addElement:i=>(UR[i]===void 0&&(UR[i]={name:i,type:B9.type,docRef:B9.docRef},Xe.info("Added new requirement: ",i)),B9={},UR[i]),getElements:()=>UR,setNewElementType:i=>{B9!==void 0&&(B9.type=i)},setNewElementDocRef:i=>{B9!==void 0&&(B9.docRef=i)},addRelationship:(i,s,u)=>{vve.push({type:i,src:s,dst:u})},getRelationships:()=>vve,clear:()=>{vve=[],U2={},VR={},B9={},UR={},Ng()}},vrn=i=>`
+`,
+ Ann = (i) => {
+ const s = Object.entries(i)
+ .map((d) => ({ label: d[0], value: d[1] }))
+ .sort((d, p) => p.value - d.value);
+ return LNt().value((d) => d.value)(s);
+ },
+ Lnn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Tnn,
+ db: Snn,
+ renderer: {
+ draw: (i, s, u, d) => {
+ Xe.debug(
+ `rendering pie chart
+` + i,
+ );
+ const p = d.db,
+ v = qt(),
+ b = ZF(p.getConfig(), v.pie),
+ y = 40,
+ T = 18,
+ _ = 4,
+ A = 450,
+ P = A,
+ R = iR(s),
+ F = R.append('g'),
+ j = p.getSections();
+ F.attr('transform', 'translate(' + P / 2 + ',' + A / 2 + ')');
+ const { themeVariables: W } = v;
+ let [ee] = OC(W.pieOuterStrokeWidth);
+ ee ?? (ee = 2);
+ const ie = b.textPosition,
+ oe = Math.min(P, A) / 2 - y,
+ be = uD().innerRadius(0).outerRadius(oe),
+ ge = uD()
+ .innerRadius(oe * ie)
+ .outerRadius(oe * ie);
+ F.append('circle')
+ .attr('cx', 0)
+ .attr('cy', 0)
+ .attr('r', oe + ee / 2)
+ .attr('class', 'pieOuterCircle');
+ const ae = Ann(j),
+ ne = [
+ W.pie1,
+ W.pie2,
+ W.pie3,
+ W.pie4,
+ W.pie5,
+ W.pie6,
+ W.pie7,
+ W.pie8,
+ W.pie9,
+ W.pie10,
+ W.pie11,
+ W.pie12,
+ ],
+ se = SF(ne);
+ F.selectAll('mySlices')
+ .data(ae)
+ .enter()
+ .append('path')
+ .attr('d', be)
+ .attr('fill', (xe) => se(xe.data.label))
+ .attr('class', 'pieCircle');
+ let de = 0;
+ (Object.keys(j).forEach((xe) => {
+ de += j[xe];
+ }),
+ F.selectAll('mySlices')
+ .data(ae)
+ .enter()
+ .append('text')
+ .text((xe) => ((xe.data.value / de) * 100).toFixed(0) + '%')
+ .attr('transform', (xe) => 'translate(' + ge.centroid(xe) + ')')
+ .style('text-anchor', 'middle')
+ .attr('class', 'slice'),
+ F.append('text')
+ .text(p.getDiagramTitle())
+ .attr('x', 0)
+ .attr('y', -(A - 50) / 2)
+ .attr('class', 'pieTitleText'));
+ const X = F.selectAll('.legend')
+ .data(se.domain())
+ .enter()
+ .append('g')
+ .attr('class', 'legend')
+ .attr('transform', (xe, U) => {
+ const Be = T + _,
+ Ne = (Be * se.domain().length) / 2,
+ je = 12 * T,
+ Ie = U * Be - Ne;
+ return 'translate(' + je + ',' + Ie + ')';
+ });
+ (X.append('rect')
+ .attr('width', T)
+ .attr('height', T)
+ .style('fill', se)
+ .style('stroke', se),
+ X.data(ae)
+ .append('text')
+ .attr('x', T + _)
+ .attr('y', T - _)
+ .text((xe) => {
+ const { label: U, value: Be } = xe.data;
+ return p.getShowData() ? `${U} [${Be}]` : U;
+ }));
+ const pe = Math.max(
+ ...X.selectAll('text')
+ .nodes()
+ .map((xe) => (xe == null ? void 0 : xe.getBoundingClientRect().width) ?? 0),
+ ),
+ G = P + y + T + _ + pe;
+ (R.attr('viewBox', `0 0 ${G} ${A}`), Og(R, A, G, b.useMaxWidth));
+ },
+ },
+ styles: _nn,
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var fve = (function () {
+ var i = function (kt, Et, Gt, ln) {
+ for (Gt = Gt || {}, ln = kt.length; ln--; Gt[kt[ln]] = Et);
+ return Gt;
+ },
+ s = [1, 3],
+ u = [1, 4],
+ d = [1, 5],
+ p = [1, 6],
+ v = [1, 7],
+ b = [
+ 1, 5, 13, 15, 17, 19, 20, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50,
+ ],
+ y = [
+ 1, 5, 6, 13, 15, 17, 19, 20, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50,
+ ],
+ T = [32, 33, 34],
+ _ = [2, 7],
+ A = [1, 13],
+ P = [1, 17],
+ R = [1, 18],
+ F = [1, 19],
+ j = [1, 20],
+ W = [1, 21],
+ ee = [1, 22],
+ ie = [1, 23],
+ oe = [1, 24],
+ be = [1, 25],
+ ge = [1, 26],
+ ae = [1, 27],
+ ne = [1, 30],
+ se = [1, 31],
+ de = [1, 32],
+ X = [1, 33],
+ pe = [1, 34],
+ G = [1, 35],
+ xe = [1, 36],
+ U = [1, 37],
+ Be = [1, 38],
+ Ne = [1, 39],
+ je = [1, 40],
+ Ie = [1, 41],
+ Se = [1, 42],
+ Ce = [1, 57],
+ ke = [1, 58],
+ Ke = [5, 22, 26, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51],
+ Ft = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ eol: 4,
+ SPACE: 5,
+ QUADRANT: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ axisDetails: 10,
+ quadrantDetails: 11,
+ points: 12,
+ title: 13,
+ title_value: 14,
+ acc_title: 15,
+ acc_title_value: 16,
+ acc_descr: 17,
+ acc_descr_value: 18,
+ acc_descr_multiline_value: 19,
+ section: 20,
+ text: 21,
+ point_start: 22,
+ point_x: 23,
+ point_y: 24,
+ 'X-AXIS': 25,
+ 'AXIS-TEXT-DELIMITER': 26,
+ 'Y-AXIS': 27,
+ QUADRANT_1: 28,
+ QUADRANT_2: 29,
+ QUADRANT_3: 30,
+ QUADRANT_4: 31,
+ NEWLINE: 32,
+ SEMI: 33,
+ EOF: 34,
+ alphaNumToken: 35,
+ textNoTagsToken: 36,
+ STR: 37,
+ MD_STR: 38,
+ alphaNum: 39,
+ PUNCTUATION: 40,
+ AMP: 41,
+ NUM: 42,
+ ALPHA: 43,
+ COMMA: 44,
+ PLUS: 45,
+ EQUALS: 46,
+ MULT: 47,
+ DOT: 48,
+ BRKT: 49,
+ UNDERSCORE: 50,
+ MINUS: 51,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'SPACE',
+ 6: 'QUADRANT',
+ 13: 'title',
+ 14: 'title_value',
+ 15: 'acc_title',
+ 16: 'acc_title_value',
+ 17: 'acc_descr',
+ 18: 'acc_descr_value',
+ 19: 'acc_descr_multiline_value',
+ 20: 'section',
+ 22: 'point_start',
+ 23: 'point_x',
+ 24: 'point_y',
+ 25: 'X-AXIS',
+ 26: 'AXIS-TEXT-DELIMITER',
+ 27: 'Y-AXIS',
+ 28: 'QUADRANT_1',
+ 29: 'QUADRANT_2',
+ 30: 'QUADRANT_3',
+ 31: 'QUADRANT_4',
+ 32: 'NEWLINE',
+ 33: 'SEMI',
+ 34: 'EOF',
+ 37: 'STR',
+ 38: 'MD_STR',
+ 40: 'PUNCTUATION',
+ 41: 'AMP',
+ 42: 'NUM',
+ 43: 'ALPHA',
+ 44: 'COMMA',
+ 45: 'PLUS',
+ 46: 'EQUALS',
+ 47: 'MULT',
+ 48: 'DOT',
+ 49: 'BRKT',
+ 50: 'UNDERSCORE',
+ 51: 'MINUS',
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [9, 0],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [12, 4],
+ [10, 4],
+ [10, 3],
+ [10, 2],
+ [10, 4],
+ [10, 3],
+ [10, 2],
+ [11, 2],
+ [11, 2],
+ [11, 2],
+ [11, 2],
+ [4, 1],
+ [4, 1],
+ [4, 1],
+ [21, 1],
+ [21, 2],
+ [21, 1],
+ [21, 1],
+ [39, 1],
+ [39, 2],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [35, 1],
+ [36, 1],
+ [36, 1],
+ [36, 1],
+ ],
+ performAction: function (Et, Gt, ln, xt, Pt, Ze, At) {
+ var Tt = Ze.length - 1;
+ switch (Pt) {
+ case 12:
+ ((this.$ = Ze[Tt].trim()), xt.setDiagramTitle(this.$));
+ break;
+ case 13:
+ ((this.$ = Ze[Tt].trim()), xt.setAccTitle(this.$));
+ break;
+ case 14:
+ case 15:
+ ((this.$ = Ze[Tt].trim()), xt.setAccDescription(this.$));
+ break;
+ case 16:
+ (xt.addSection(Ze[Tt].substr(8)), (this.$ = Ze[Tt].substr(8)));
+ break;
+ case 17:
+ xt.addPoint(Ze[Tt - 3], Ze[Tt - 1], Ze[Tt]);
+ break;
+ case 18:
+ (xt.setXAxisLeftText(Ze[Tt - 2]), xt.setXAxisRightText(Ze[Tt]));
+ break;
+ case 19:
+ ((Ze[Tt - 1].text += ' ⟶ '), xt.setXAxisLeftText(Ze[Tt - 1]));
+ break;
+ case 20:
+ xt.setXAxisLeftText(Ze[Tt]);
+ break;
+ case 21:
+ (xt.setYAxisBottomText(Ze[Tt - 2]), xt.setYAxisTopText(Ze[Tt]));
+ break;
+ case 22:
+ ((Ze[Tt - 1].text += ' ⟶ '), xt.setYAxisBottomText(Ze[Tt - 1]));
+ break;
+ case 23:
+ xt.setYAxisBottomText(Ze[Tt]);
+ break;
+ case 24:
+ xt.setQuadrant1Text(Ze[Tt]);
+ break;
+ case 25:
+ xt.setQuadrant2Text(Ze[Tt]);
+ break;
+ case 26:
+ xt.setQuadrant3Text(Ze[Tt]);
+ break;
+ case 27:
+ xt.setQuadrant4Text(Ze[Tt]);
+ break;
+ case 31:
+ this.$ = { text: Ze[Tt], type: 'text' };
+ break;
+ case 32:
+ this.$ = { text: Ze[Tt - 1].text + '' + Ze[Tt], type: Ze[Tt - 1].type };
+ break;
+ case 33:
+ this.$ = { text: Ze[Tt], type: 'text' };
+ break;
+ case 34:
+ this.$ = { text: Ze[Tt], type: 'markdown' };
+ break;
+ case 35:
+ this.$ = Ze[Tt];
+ break;
+ case 36:
+ this.$ = Ze[Tt - 1] + '' + Ze[Tt];
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: 2, 5: s, 6: u, 32: d, 33: p, 34: v },
+ { 1: [3] },
+ { 3: 8, 4: 2, 5: s, 6: u, 32: d, 33: p, 34: v },
+ { 3: 9, 4: 2, 5: s, 6: u, 32: d, 33: p, 34: v },
+ i(b, [2, 4], { 7: 10 }),
+ i(y, [2, 28]),
+ i(y, [2, 29]),
+ i(y, [2, 30]),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ i(T, _, {
+ 8: 11,
+ 9: 12,
+ 10: 14,
+ 11: 15,
+ 12: 16,
+ 21: 28,
+ 35: 29,
+ 1: [2, 3],
+ 5: A,
+ 13: P,
+ 15: R,
+ 17: F,
+ 19: j,
+ 20: W,
+ 25: ee,
+ 27: ie,
+ 28: oe,
+ 29: be,
+ 30: ge,
+ 31: ae,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ }),
+ i(b, [2, 5]),
+ { 4: 43, 32: d, 33: p, 34: v },
+ i(T, _, {
+ 10: 14,
+ 11: 15,
+ 12: 16,
+ 21: 28,
+ 35: 29,
+ 9: 44,
+ 5: A,
+ 13: P,
+ 15: R,
+ 17: F,
+ 19: j,
+ 20: W,
+ 25: ee,
+ 27: ie,
+ 28: oe,
+ 29: be,
+ 30: ge,
+ 31: ae,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ }),
+ i(T, [2, 9]),
+ i(T, [2, 10]),
+ i(T, [2, 11]),
+ { 14: [1, 45] },
+ { 16: [1, 46] },
+ { 18: [1, 47] },
+ i(T, [2, 15]),
+ i(T, [2, 16]),
+ {
+ 21: 48,
+ 35: 29,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ },
+ {
+ 21: 49,
+ 35: 29,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ },
+ {
+ 21: 50,
+ 35: 29,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ },
+ {
+ 21: 51,
+ 35: 29,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ },
+ {
+ 21: 52,
+ 35: 29,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ },
+ {
+ 21: 53,
+ 35: 29,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ },
+ {
+ 5: Ce,
+ 22: [1, 54],
+ 35: 56,
+ 36: 55,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ },
+ i(Ke, [2, 31]),
+ i(Ke, [2, 33]),
+ i(Ke, [2, 34]),
+ i(Ke, [2, 37]),
+ i(Ke, [2, 38]),
+ i(Ke, [2, 39]),
+ i(Ke, [2, 40]),
+ i(Ke, [2, 41]),
+ i(Ke, [2, 42]),
+ i(Ke, [2, 43]),
+ i(Ke, [2, 44]),
+ i(Ke, [2, 45]),
+ i(Ke, [2, 46]),
+ i(Ke, [2, 47]),
+ i(b, [2, 6]),
+ i(T, [2, 8]),
+ i(T, [2, 12]),
+ i(T, [2, 13]),
+ i(T, [2, 14]),
+ i(T, [2, 20], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 26: [1, 59],
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 23], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 26: [1, 60],
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 24], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 25], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 26], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 27], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ { 23: [1, 61] },
+ i(Ke, [2, 32]),
+ i(Ke, [2, 48]),
+ i(Ke, [2, 49]),
+ i(Ke, [2, 50]),
+ i(T, [2, 19], {
+ 35: 29,
+ 21: 62,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ }),
+ i(T, [2, 22], {
+ 35: 29,
+ 21: 63,
+ 37: ne,
+ 38: se,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ }),
+ { 24: [1, 64] },
+ i(T, [2, 18], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 21], {
+ 36: 55,
+ 35: 56,
+ 5: Ce,
+ 40: de,
+ 41: X,
+ 42: pe,
+ 43: G,
+ 44: xe,
+ 45: U,
+ 46: Be,
+ 47: Ne,
+ 48: je,
+ 49: Ie,
+ 50: Se,
+ 51: ke,
+ }),
+ i(T, [2, 17]),
+ ],
+ defaultActions: { 8: [2, 1], 9: [2, 2] },
+ parseError: function (Et, Gt) {
+ if (Gt.recoverable) this.trace(Et);
+ else {
+ var ln = new Error(Et);
+ throw ((ln.hash = Gt), ln);
+ }
+ },
+ parse: function (Et) {
+ var Gt = this,
+ ln = [0],
+ xt = [],
+ Pt = [null],
+ Ze = [],
+ At = this.table,
+ Tt = '',
+ On = 0,
+ ht = 0,
+ zr = 2,
+ yt = 1,
+ Fi = Ze.slice.call(arguments, 1),
+ yi = Object.create(this.lexer),
+ Ba = { yy: {} };
+ for (var na in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, na) && (Ba.yy[na] = this.yy[na]);
+ (yi.setInput(Et, Ba.yy),
+ (Ba.yy.lexer = yi),
+ (Ba.yy.parser = this),
+ typeof yi.yylloc > 'u' && (yi.yylloc = {}));
+ var Ro = yi.yylloc;
+ Ze.push(Ro);
+ var _r = yi.options && yi.options.ranges;
+ typeof Ba.yy.parseError == 'function'
+ ? (this.parseError = Ba.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Nn() {
+ var ua;
+ return (
+ (ua = xt.pop() || yi.lex() || yt),
+ typeof ua != 'number' &&
+ (ua instanceof Array && ((xt = ua), (ua = xt.pop())), (ua = Gt.symbols_[ua] || ua)),
+ ua
+ );
+ }
+ for (var $n, qn, Lt, wt, cn = {}, fn, Mn, mo, Io; ; ) {
+ if (
+ ((qn = ln[ln.length - 1]),
+ this.defaultActions[qn]
+ ? (Lt = this.defaultActions[qn])
+ : (($n === null || typeof $n > 'u') && ($n = Nn()), (Lt = At[qn] && At[qn][$n])),
+ typeof Lt > 'u' || !Lt.length || !Lt[0])
+ ) {
+ var Xa = '';
+ Io = [];
+ for (fn in At[qn])
+ this.terminals_[fn] && fn > zr && Io.push("'" + this.terminals_[fn] + "'");
+ (yi.showPosition
+ ? (Xa =
+ 'Parse error on line ' +
+ (On + 1) +
+ `:
+` +
+ yi.showPosition() +
+ `
+Expecting ` +
+ Io.join(', ') +
+ ", got '" +
+ (this.terminals_[$n] || $n) +
+ "'")
+ : (Xa =
+ 'Parse error on line ' +
+ (On + 1) +
+ ': Unexpected ' +
+ ($n == yt ? 'end of input' : "'" + (this.terminals_[$n] || $n) + "'")),
+ this.parseError(Xa, {
+ text: yi.match,
+ token: this.terminals_[$n] || $n,
+ line: yi.yylineno,
+ loc: Ro,
+ expected: Io,
+ }));
+ }
+ if (Lt[0] instanceof Array && Lt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + qn + ', token: ' + $n,
+ );
+ switch (Lt[0]) {
+ case 1:
+ (ln.push($n),
+ Pt.push(yi.yytext),
+ Ze.push(yi.yylloc),
+ ln.push(Lt[1]),
+ ($n = null),
+ (ht = yi.yyleng),
+ (Tt = yi.yytext),
+ (On = yi.yylineno),
+ (Ro = yi.yylloc));
+ break;
+ case 2:
+ if (
+ ((Mn = this.productions_[Lt[1]][1]),
+ (cn.$ = Pt[Pt.length - Mn]),
+ (cn._$ = {
+ first_line: Ze[Ze.length - (Mn || 1)].first_line,
+ last_line: Ze[Ze.length - 1].last_line,
+ first_column: Ze[Ze.length - (Mn || 1)].first_column,
+ last_column: Ze[Ze.length - 1].last_column,
+ }),
+ _r &&
+ (cn._$.range = [
+ Ze[Ze.length - (Mn || 1)].range[0],
+ Ze[Ze.length - 1].range[1],
+ ]),
+ (wt = this.performAction.apply(
+ cn,
+ [Tt, ht, On, Ba.yy, Lt[1], Pt, Ze].concat(Fi),
+ )),
+ typeof wt < 'u')
+ )
+ return wt;
+ (Mn &&
+ ((ln = ln.slice(0, -1 * Mn * 2)),
+ (Pt = Pt.slice(0, -1 * Mn)),
+ (Ze = Ze.slice(0, -1 * Mn))),
+ ln.push(this.productions_[Lt[1]][0]),
+ Pt.push(cn.$),
+ Ze.push(cn._$),
+ (mo = At[ln[ln.length - 2]][ln[ln.length - 1]]),
+ ln.push(mo));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ Pe = (function () {
+ var kt = {
+ EOF: 1,
+ parseError: function (Gt, ln) {
+ if (this.yy.parser) this.yy.parser.parseError(Gt, ln);
+ else throw new Error(Gt);
+ },
+ setInput: function (Et, Gt) {
+ return (
+ (this.yy = Gt || this.yy || {}),
+ (this._input = Et),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var Et = this._input[0];
+ ((this.yytext += Et),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Et),
+ (this.matched += Et));
+ var Gt = Et.match(/(?:\r\n?|\n).*/g);
+ return (
+ Gt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Et
+ );
+ },
+ unput: function (Et) {
+ var Gt = Et.length,
+ ln = Et.split(/(?:\r\n?|\n)/g);
+ ((this._input = Et + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Gt)),
+ (this.offset -= Gt));
+ var xt = 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)),
+ ln.length - 1 && (this.yylineno -= ln.length - 1));
+ var Pt = 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: ln
+ ? (ln.length === xt.length ? this.yylloc.first_column : 0) +
+ xt[xt.length - ln.length].length -
+ ln[0].length
+ : this.yylloc.first_column - Gt,
+ }),
+ this.options.ranges && (this.yylloc.range = [Pt[0], Pt[0] + this.yyleng - Gt]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (Et) {
+ this.unput(this.match.slice(Et));
+ },
+ pastInput: function () {
+ var Et = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Et.length > 20 ? '...' : '') + Et.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var Et = this.match;
+ return (
+ Et.length < 20 && (Et += this._input.substr(0, 20 - Et.length)),
+ (Et.substr(0, 20) + (Et.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var Et = this.pastInput(),
+ Gt = new Array(Et.length + 1).join('-');
+ return (
+ Et +
+ this.upcomingInput() +
+ `
+` +
+ Gt +
+ '^'
+ );
+ },
+ test_match: function (Et, Gt) {
+ var ln, xt, Pt;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Pt = {
+ 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 && (Pt.yylloc.range = this.yylloc.range.slice(0))),
+ (xt = Et[0].match(/(?:\r\n?|\n).*/g)),
+ xt && (this.yylineno += xt.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: xt
+ ? xt[xt.length - 1].length - xt[xt.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Et[0].length,
+ }),
+ (this.yytext += Et[0]),
+ (this.match += Et[0]),
+ (this.matches = Et),
+ (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(Et[0].length)),
+ (this.matched += Et[0]),
+ (ln = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Gt,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ ln)
+ )
+ return ln;
+ if (this._backtrack) {
+ for (var Ze in Pt) this[Ze] = Pt[Ze];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Et, Gt, ln, xt;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Pt = this._currentRules(), Ze = 0; Ze < Pt.length; Ze++)
+ if (
+ ((ln = this._input.match(this.rules[Pt[Ze]])),
+ ln && (!Gt || ln[0].length > Gt[0].length))
+ ) {
+ if (((Gt = ln), (xt = Ze), this.options.backtrack_lexer)) {
+ if (((Et = this.test_match(ln, Pt[Ze])), Et !== !1)) return Et;
+ if (this._backtrack) {
+ Gt = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Gt
+ ? ((Et = this.test_match(Gt, Pt[xt])), Et !== !1 ? Et : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var Gt = this.next();
+ return Gt || this.lex();
+ },
+ begin: function (Gt) {
+ this.conditionStack.push(Gt);
+ },
+ popState: function () {
+ var Gt = this.conditionStack.length - 1;
+ return Gt > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (Gt) {
+ return (
+ (Gt = this.conditionStack.length - 1 - Math.abs(Gt || 0)),
+ Gt >= 0 ? this.conditionStack[Gt] : 'INITIAL'
+ );
+ },
+ pushState: function (Gt) {
+ this.begin(Gt);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (Gt, ln, xt, Pt) {
+ switch (xt) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 32;
+ case 3:
+ break;
+ case 4:
+ return (this.begin('title'), 13);
+ case 5:
+ return (this.popState(), 'title_value');
+ case 6:
+ return (this.begin('acc_title'), 15);
+ case 7:
+ return (this.popState(), 'acc_title_value');
+ case 8:
+ return (this.begin('acc_descr'), 17);
+ case 9:
+ return (this.popState(), 'acc_descr_value');
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ return 25;
+ case 14:
+ return 27;
+ case 15:
+ return 26;
+ case 16:
+ return 28;
+ case 17:
+ return 29;
+ case 18:
+ return 30;
+ case 19:
+ return 31;
+ case 20:
+ this.begin('md_string');
+ break;
+ case 21:
+ return 'MD_STR';
+ case 22:
+ this.popState();
+ break;
+ case 23:
+ this.begin('string');
+ break;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 'STR';
+ case 26:
+ return (this.begin('point_start'), 22);
+ case 27:
+ return (this.begin('point_x'), 23);
+ case 28:
+ this.popState();
+ break;
+ case 29:
+ (this.popState(), this.begin('point_y'));
+ break;
+ case 30:
+ return (this.popState(), 24);
+ case 31:
+ return 6;
+ case 32:
+ return 43;
+ case 33:
+ return 'COLON';
+ case 34:
+ return 45;
+ case 35:
+ return 44;
+ case 36:
+ return 46;
+ case 37:
+ return 46;
+ case 38:
+ return 47;
+ case 39:
+ return 49;
+ case 40:
+ return 50;
+ case 41:
+ return 48;
+ case 42:
+ return 41;
+ case 43:
+ return 51;
+ case 44:
+ return 42;
+ case 45:
+ return 5;
+ case 46:
+ return 33;
+ case 47:
+ return 40;
+ case 48:
+ return 34;
+ }
+ },
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:title\b)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?: *x-axis *)/i,
+ /^(?: *y-axis *)/i,
+ /^(?: *--+> *)/i,
+ /^(?: *quadrant-1 *)/i,
+ /^(?: *quadrant-2 *)/i,
+ /^(?: *quadrant-3 *)/i,
+ /^(?: *quadrant-4 *)/i,
+ /^(?:["][`])/i,
+ /^(?:[^`"]+)/i,
+ /^(?:[`]["])/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:\s*:\s*\[\s*)/i,
+ /^(?:(1)|(0(.\d+)?))/i,
+ /^(?:\s*\] *)/i,
+ /^(?:\s*,\s*)/i,
+ /^(?:(1)|(0(.\d+)?))/i,
+ /^(?: *quadrantChart *)/i,
+ /^(?:[A-Za-z]+)/i,
+ /^(?::)/i,
+ /^(?:\+)/i,
+ /^(?:,)/i,
+ /^(?:=)/i,
+ /^(?:=)/i,
+ /^(?:\*)/i,
+ /^(?:#)/i,
+ /^(?:[\_])/i,
+ /^(?:\.)/i,
+ /^(?:&)/i,
+ /^(?:-)/i,
+ /^(?:[0-9]+)/i,
+ /^(?:\s)/i,
+ /^(?:;)/i,
+ /^(?:[!"#$%&'*+,-.`?\\_/])/i,
+ /^(?:$)/i,
+ ],
+ conditions: {
+ point_y: { rules: [30], inclusive: !1 },
+ point_x: { rules: [29], inclusive: !1 },
+ point_start: { rules: [27, 28], inclusive: !1 },
+ acc_descr_multiline: { rules: [11, 12], inclusive: !1 },
+ acc_descr: { rules: [9], inclusive: !1 },
+ acc_title: { rules: [7], inclusive: !1 },
+ title: { rules: [5], inclusive: !1 },
+ md_string: { rules: [21, 22], inclusive: !1 },
+ string: { rules: [24, 25], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 23, 26, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return kt;
+ })();
+ Ft.lexer = Pe;
+ function gn() {
+ this.yy = {};
+ }
+ return ((gn.prototype = Ft), (Ft.Parser = gn), new gn());
+ })();
+ fve.parser = fve;
+ const Mnn = fve,
+ Bp = f2e();
+ class Dnn {
+ constructor() {
+ ((this.config = this.getDefaultConfig()),
+ (this.themeConfig = this.getDefaultThemeConfig()),
+ (this.data = this.getDefaultData()));
+ }
+ getDefaultData() {
+ return {
+ titleText: '',
+ quadrant1Text: '',
+ quadrant2Text: '',
+ quadrant3Text: '',
+ quadrant4Text: '',
+ xAxisLeftText: '',
+ xAxisRightText: '',
+ yAxisBottomText: '',
+ yAxisTopText: '',
+ points: [],
+ };
+ }
+ getDefaultConfig() {
+ var s, u, d, p, v, b, y, T, _, A, P, R, F, j, W, ee, ie, oe;
+ return {
+ showXAxis: !0,
+ showYAxis: !0,
+ showTitle: !0,
+ chartHeight: ((s = sh.quadrantChart) == null ? void 0 : s.chartWidth) || 500,
+ chartWidth: ((u = sh.quadrantChart) == null ? void 0 : u.chartHeight) || 500,
+ titlePadding: ((d = sh.quadrantChart) == null ? void 0 : d.titlePadding) || 10,
+ titleFontSize: ((p = sh.quadrantChart) == null ? void 0 : p.titleFontSize) || 20,
+ quadrantPadding: ((v = sh.quadrantChart) == null ? void 0 : v.quadrantPadding) || 5,
+ xAxisLabelPadding: ((b = sh.quadrantChart) == null ? void 0 : b.xAxisLabelPadding) || 5,
+ yAxisLabelPadding: ((y = sh.quadrantChart) == null ? void 0 : y.yAxisLabelPadding) || 5,
+ xAxisLabelFontSize: ((T = sh.quadrantChart) == null ? void 0 : T.xAxisLabelFontSize) || 16,
+ yAxisLabelFontSize: ((_ = sh.quadrantChart) == null ? void 0 : _.yAxisLabelFontSize) || 16,
+ quadrantLabelFontSize:
+ ((A = sh.quadrantChart) == null ? void 0 : A.quadrantLabelFontSize) || 16,
+ quadrantTextTopPadding:
+ ((P = sh.quadrantChart) == null ? void 0 : P.quadrantTextTopPadding) || 5,
+ pointTextPadding: ((R = sh.quadrantChart) == null ? void 0 : R.pointTextPadding) || 5,
+ pointLabelFontSize: ((F = sh.quadrantChart) == null ? void 0 : F.pointLabelFontSize) || 12,
+ pointRadius: ((j = sh.quadrantChart) == null ? void 0 : j.pointRadius) || 5,
+ xAxisPosition: ((W = sh.quadrantChart) == null ? void 0 : W.xAxisPosition) || 'top',
+ yAxisPosition: ((ee = sh.quadrantChart) == null ? void 0 : ee.yAxisPosition) || 'left',
+ quadrantInternalBorderStrokeWidth:
+ ((ie = sh.quadrantChart) == null ? void 0 : ie.quadrantInternalBorderStrokeWidth) || 1,
+ quadrantExternalBorderStrokeWidth:
+ ((oe = sh.quadrantChart) == null ? void 0 : oe.quadrantExternalBorderStrokeWidth) || 2,
+ };
+ }
+ getDefaultThemeConfig() {
+ return {
+ quadrant1Fill: Bp.quadrant1Fill,
+ quadrant2Fill: Bp.quadrant2Fill,
+ quadrant3Fill: Bp.quadrant3Fill,
+ quadrant4Fill: Bp.quadrant4Fill,
+ quadrant1TextFill: Bp.quadrant1TextFill,
+ quadrant2TextFill: Bp.quadrant2TextFill,
+ quadrant3TextFill: Bp.quadrant3TextFill,
+ quadrant4TextFill: Bp.quadrant4TextFill,
+ quadrantPointFill: Bp.quadrantPointFill,
+ quadrantPointTextFill: Bp.quadrantPointTextFill,
+ quadrantXAxisTextFill: Bp.quadrantXAxisTextFill,
+ quadrantYAxisTextFill: Bp.quadrantYAxisTextFill,
+ quadrantTitleFill: Bp.quadrantTitleFill,
+ quadrantInternalBorderStrokeFill: Bp.quadrantInternalBorderStrokeFill,
+ quadrantExternalBorderStrokeFill: Bp.quadrantExternalBorderStrokeFill,
+ };
+ }
+ clear() {
+ ((this.config = this.getDefaultConfig()),
+ (this.themeConfig = this.getDefaultThemeConfig()),
+ (this.data = this.getDefaultData()),
+ Xe.info('clear called'));
+ }
+ setData(s) {
+ this.data = { ...this.data, ...s };
+ }
+ addPoints(s) {
+ this.data.points = [...s, ...this.data.points];
+ }
+ setConfig(s) {
+ (Xe.trace('setConfig called with: ', s), (this.config = { ...this.config, ...s }));
+ }
+ setThemeConfig(s) {
+ (Xe.trace('setThemeConfig called with: ', s),
+ (this.themeConfig = { ...this.themeConfig, ...s }));
+ }
+ calculateSpace(s, u, d, p) {
+ const v = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize,
+ b = { top: s === 'top' && u ? v : 0, bottom: s === 'bottom' && u ? v : 0 },
+ y = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize,
+ T = {
+ left: this.config.yAxisPosition === 'left' && d ? y : 0,
+ right: this.config.yAxisPosition === 'right' && d ? y : 0,
+ },
+ _ = this.config.titleFontSize + this.config.titlePadding * 2,
+ A = { top: p ? _ : 0 },
+ P = this.config.quadrantPadding + T.left,
+ R = this.config.quadrantPadding + b.top + A.top,
+ F = this.config.chartWidth - this.config.quadrantPadding * 2 - T.left - T.right,
+ j = this.config.chartHeight - this.config.quadrantPadding * 2 - b.top - b.bottom - A.top,
+ W = F / 2,
+ ee = j / 2;
+ return {
+ xAxisSpace: b,
+ yAxisSpace: T,
+ titleSpace: A,
+ quadrantSpace: {
+ quadrantLeft: P,
+ quadrantTop: R,
+ quadrantWidth: F,
+ quadrantHalfWidth: W,
+ quadrantHeight: j,
+ quadrantHalfHeight: ee,
+ },
+ };
+ }
+ getAxisLabels(s, u, d, p) {
+ const { quadrantSpace: v, titleSpace: b } = p,
+ {
+ quadrantHalfHeight: y,
+ quadrantHeight: T,
+ quadrantLeft: _,
+ quadrantHalfWidth: A,
+ quadrantTop: P,
+ quadrantWidth: R,
+ } = v,
+ F = !!this.data.xAxisRightText,
+ j = !!this.data.yAxisTopText,
+ W = [];
+ return (
+ this.data.xAxisLeftText &&
+ u &&
+ W.push({
+ text: this.data.xAxisLeftText,
+ fill: this.themeConfig.quadrantXAxisTextFill,
+ x: _ + (F ? A / 2 : 0),
+ y:
+ s === 'top'
+ ? this.config.xAxisLabelPadding + b.top
+ : this.config.xAxisLabelPadding + P + T + this.config.quadrantPadding,
+ fontSize: this.config.xAxisLabelFontSize,
+ verticalPos: F ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: 0,
+ }),
+ this.data.xAxisRightText &&
+ u &&
+ W.push({
+ text: this.data.xAxisRightText,
+ fill: this.themeConfig.quadrantXAxisTextFill,
+ x: _ + A + (F ? A / 2 : 0),
+ y:
+ s === 'top'
+ ? this.config.xAxisLabelPadding + b.top
+ : this.config.xAxisLabelPadding + P + T + this.config.quadrantPadding,
+ fontSize: this.config.xAxisLabelFontSize,
+ verticalPos: F ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: 0,
+ }),
+ this.data.yAxisBottomText &&
+ d &&
+ W.push({
+ text: this.data.yAxisBottomText,
+ fill: this.themeConfig.quadrantYAxisTextFill,
+ x:
+ this.config.yAxisPosition === 'left'
+ ? this.config.yAxisLabelPadding
+ : this.config.yAxisLabelPadding + _ + R + this.config.quadrantPadding,
+ y: P + T - (j ? y / 2 : 0),
+ fontSize: this.config.yAxisLabelFontSize,
+ verticalPos: j ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: -90,
+ }),
+ this.data.yAxisTopText &&
+ d &&
+ W.push({
+ text: this.data.yAxisTopText,
+ fill: this.themeConfig.quadrantYAxisTextFill,
+ x:
+ this.config.yAxisPosition === 'left'
+ ? this.config.yAxisLabelPadding
+ : this.config.yAxisLabelPadding + _ + R + this.config.quadrantPadding,
+ y: P + y - (j ? y / 2 : 0),
+ fontSize: this.config.yAxisLabelFontSize,
+ verticalPos: j ? 'center' : 'left',
+ horizontalPos: 'top',
+ rotation: -90,
+ }),
+ W
+ );
+ }
+ getQuadrants(s) {
+ const { quadrantSpace: u } = s,
+ { quadrantHalfHeight: d, quadrantLeft: p, quadrantHalfWidth: v, quadrantTop: b } = u,
+ y = [
+ {
+ text: {
+ text: this.data.quadrant1Text,
+ fill: this.themeConfig.quadrant1TextFill,
+ x: 0,
+ y: 0,
+ fontSize: this.config.quadrantLabelFontSize,
+ verticalPos: 'center',
+ horizontalPos: 'middle',
+ rotation: 0,
+ },
+ x: p + v,
+ y: b,
+ width: v,
+ height: d,
+ 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: p,
+ y: b,
+ width: v,
+ height: d,
+ 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: p,
+ y: b + d,
+ width: v,
+ height: d,
+ 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: p + v,
+ y: b + d,
+ width: v,
+ height: d,
+ fill: this.themeConfig.quadrant4Fill,
+ },
+ ];
+ for (const T of y)
+ ((T.text.x = T.x + T.width / 2),
+ this.data.points.length === 0
+ ? ((T.text.y = T.y + T.height / 2), (T.text.horizontalPos = 'middle'))
+ : ((T.text.y = T.y + this.config.quadrantTextTopPadding),
+ (T.text.horizontalPos = 'top')));
+ return y;
+ }
+ getQuadrantPoints(s) {
+ const { quadrantSpace: u } = s,
+ { quadrantHeight: d, quadrantLeft: p, quadrantTop: v, quadrantWidth: b } = u,
+ y = iD()
+ .domain([0, 1])
+ .range([p, b + p]),
+ T = iD()
+ .domain([0, 1])
+ .range([d + v, v]);
+ return this.data.points.map((A) => ({
+ x: y(A.x),
+ y: T(A.y),
+ fill: this.themeConfig.quadrantPointFill,
+ radius: this.config.pointRadius,
+ text: {
+ text: A.text,
+ fill: this.themeConfig.quadrantPointTextFill,
+ x: y(A.x),
+ y: T(A.y) + this.config.pointTextPadding,
+ verticalPos: 'center',
+ horizontalPos: 'top',
+ fontSize: this.config.pointLabelFontSize,
+ rotation: 0,
+ },
+ }));
+ }
+ getBorders(s) {
+ const u = this.config.quadrantExternalBorderStrokeWidth / 2,
+ { quadrantSpace: d } = s,
+ {
+ quadrantHalfHeight: p,
+ quadrantHeight: v,
+ quadrantLeft: b,
+ quadrantHalfWidth: y,
+ quadrantTop: T,
+ quadrantWidth: _,
+ } = d;
+ return [
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: b - u,
+ y1: T,
+ x2: b + _ + u,
+ y2: T,
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: b + _,
+ y1: T + u,
+ x2: b + _,
+ y2: T + v - u,
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: b - u,
+ y1: T + v,
+ x2: b + _ + u,
+ y2: T + v,
+ },
+ {
+ strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantExternalBorderStrokeWidth,
+ x1: b,
+ y1: T + u,
+ x2: b,
+ y2: T + v - u,
+ },
+ {
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
+ x1: b + y,
+ y1: T + u,
+ x2: b + y,
+ y2: T + v - u,
+ },
+ {
+ strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,
+ strokeWidth: this.config.quadrantInternalBorderStrokeWidth,
+ x1: b + u,
+ y1: T + p,
+ x2: b + _ - u,
+ y2: T + p,
+ },
+ ];
+ }
+ getTitle(s) {
+ if (s)
+ return {
+ text: this.data.titleText,
+ fill: this.themeConfig.quadrantTitleFill,
+ fontSize: this.config.titleFontSize,
+ horizontalPos: 'top',
+ verticalPos: 'center',
+ rotation: 0,
+ y: this.config.titlePadding,
+ x: this.config.chartWidth / 2,
+ };
+ }
+ build() {
+ const s = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText),
+ u = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText),
+ d = this.config.showTitle && !!this.data.titleText,
+ p = this.data.points.length > 0 ? 'bottom' : this.config.xAxisPosition,
+ v = this.calculateSpace(p, s, u, d);
+ return {
+ points: this.getQuadrantPoints(v),
+ quadrants: this.getQuadrants(v),
+ axisLabels: this.getAxisLabels(p, s, u, v),
+ borderLines: this.getBorders(v),
+ title: this.getTitle(d),
+ };
+ }
+ }
+ const Inn = qt();
+ function V7(i) {
+ return yh(i.trim(), Inn);
+ }
+ const Fg = new Dnn();
+ function Onn(i) {
+ Fg.setData({ quadrant1Text: V7(i.text) });
+ }
+ function Nnn(i) {
+ Fg.setData({ quadrant2Text: V7(i.text) });
+ }
+ function Pnn(i) {
+ Fg.setData({ quadrant3Text: V7(i.text) });
+ }
+ function Bnn(i) {
+ Fg.setData({ quadrant4Text: V7(i.text) });
+ }
+ function Fnn(i) {
+ Fg.setData({ xAxisLeftText: V7(i.text) });
+ }
+ function Rnn(i) {
+ Fg.setData({ xAxisRightText: V7(i.text) });
+ }
+ function jnn(i) {
+ Fg.setData({ yAxisTopText: V7(i.text) });
+ }
+ function $nn(i) {
+ Fg.setData({ yAxisBottomText: V7(i.text) });
+ }
+ function znn(i, s, u) {
+ Fg.addPoints([{ x: s, y: u, text: V7(i.text) }]);
+ }
+ function qnn(i) {
+ Fg.setConfig({ chartWidth: i });
+ }
+ function Hnn(i) {
+ Fg.setConfig({ chartHeight: i });
+ }
+ function Vnn() {
+ const i = qt(),
+ { themeVariables: s, quadrantChart: u } = i;
+ return (
+ u && Fg.setConfig(u),
+ Fg.setThemeConfig({
+ quadrant1Fill: s.quadrant1Fill,
+ quadrant2Fill: s.quadrant2Fill,
+ quadrant3Fill: s.quadrant3Fill,
+ quadrant4Fill: s.quadrant4Fill,
+ quadrant1TextFill: s.quadrant1TextFill,
+ quadrant2TextFill: s.quadrant2TextFill,
+ quadrant3TextFill: s.quadrant3TextFill,
+ quadrant4TextFill: s.quadrant4TextFill,
+ quadrantPointFill: s.quadrantPointFill,
+ quadrantPointTextFill: s.quadrantPointTextFill,
+ quadrantXAxisTextFill: s.quadrantXAxisTextFill,
+ quadrantYAxisTextFill: s.quadrantYAxisTextFill,
+ quadrantExternalBorderStrokeFill: s.quadrantExternalBorderStrokeFill,
+ quadrantInternalBorderStrokeFill: s.quadrantInternalBorderStrokeFill,
+ quadrantTitleFill: s.quadrantTitleFill,
+ }),
+ Fg.setData({ titleText: Lp() }),
+ Fg.build()
+ );
+ }
+ const Unn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Mnn,
+ db: {
+ setWidth: qnn,
+ setHeight: Hnn,
+ setQuadrant1Text: Onn,
+ setQuadrant2Text: Nnn,
+ setQuadrant3Text: Pnn,
+ setQuadrant4Text: Bnn,
+ setXAxisLeftText: Fnn,
+ setXAxisRightText: Rnn,
+ setYAxisTopText: jnn,
+ setYAxisBottomText: $nn,
+ addPoint: znn,
+ getQuadrantData: Vnn,
+ clear: function () {
+ (Fg.clear(), Ng());
+ },
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ },
+ renderer: {
+ draw: (i, s, u, d) => {
+ var de, X, pe;
+ function p(G) {
+ return G === 'top' ? 'hanging' : 'middle';
+ }
+ function v(G) {
+ return G === 'left' ? 'start' : 'middle';
+ }
+ function b(G) {
+ return `translate(${G.x}, ${G.y}) rotate(${G.rotation || 0})`;
+ }
+ const y = qt();
+ Xe.debug(
+ `Rendering quadrant chart
+` + i,
+ );
+ const T = y.securityLevel;
+ let _;
+ T === 'sandbox' && (_ = Ir('#i' + s));
+ const P = Ir(T === 'sandbox' ? _.nodes()[0].contentDocument.body : 'body').select(
+ `[id="${s}"]`,
+ ),
+ R = P.append('g').attr('class', 'main'),
+ F = ((de = y.quadrantChart) == null ? void 0 : de.chartWidth) || 500,
+ j = ((X = y.quadrantChart) == null ? void 0 : X.chartHeight) || 500;
+ (Og(P, j, F, ((pe = y.quadrantChart) == null ? void 0 : pe.useMaxWidth) || !0),
+ P.attr('viewBox', '0 0 ' + F + ' ' + j),
+ d.db.setHeight(j),
+ d.db.setWidth(F));
+ const W = d.db.getQuadrantData(),
+ ee = R.append('g').attr('class', 'quadrants'),
+ ie = R.append('g').attr('class', 'border'),
+ oe = R.append('g').attr('class', 'data-points'),
+ be = R.append('g').attr('class', 'labels'),
+ ge = R.append('g').attr('class', 'title');
+ (W.title &&
+ ge
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', W.title.fill)
+ .attr('font-size', W.title.fontSize)
+ .attr('dominant-baseline', p(W.title.horizontalPos))
+ .attr('text-anchor', v(W.title.verticalPos))
+ .attr('transform', b(W.title))
+ .text(W.title.text),
+ W.borderLines &&
+ ie
+ .selectAll('line')
+ .data(W.borderLines)
+ .enter()
+ .append('line')
+ .attr('x1', (G) => G.x1)
+ .attr('y1', (G) => G.y1)
+ .attr('x2', (G) => G.x2)
+ .attr('y2', (G) => G.y2)
+ .style('stroke', (G) => G.strokeFill)
+ .style('stroke-width', (G) => G.strokeWidth));
+ const ae = ee
+ .selectAll('g.quadrant')
+ .data(W.quadrants)
+ .enter()
+ .append('g')
+ .attr('class', 'quadrant');
+ (ae
+ .append('rect')
+ .attr('x', (G) => G.x)
+ .attr('y', (G) => G.y)
+ .attr('width', (G) => G.width)
+ .attr('height', (G) => G.height)
+ .attr('fill', (G) => G.fill),
+ ae
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', (G) => G.text.fill)
+ .attr('font-size', (G) => G.text.fontSize)
+ .attr('dominant-baseline', (G) => p(G.text.horizontalPos))
+ .attr('text-anchor', (G) => v(G.text.verticalPos))
+ .attr('transform', (G) => b(G.text))
+ .text((G) => G.text.text),
+ be
+ .selectAll('g.label')
+ .data(W.axisLabels)
+ .enter()
+ .append('g')
+ .attr('class', 'label')
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .text((G) => G.text)
+ .attr('fill', (G) => G.fill)
+ .attr('font-size', (G) => G.fontSize)
+ .attr('dominant-baseline', (G) => p(G.horizontalPos))
+ .attr('text-anchor', (G) => v(G.verticalPos))
+ .attr('transform', (G) => b(G)));
+ const se = oe
+ .selectAll('g.data-point')
+ .data(W.points)
+ .enter()
+ .append('g')
+ .attr('class', 'data-point');
+ (se
+ .append('circle')
+ .attr('cx', (G) => G.x)
+ .attr('cy', (G) => G.y)
+ .attr('r', (G) => G.radius)
+ .attr('fill', (G) => G.fill),
+ se
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .text((G) => G.text.text)
+ .attr('fill', (G) => G.text.fill)
+ .attr('font-size', (G) => G.text.fontSize)
+ .attr('dominant-baseline', (G) => p(G.text.horizontalPos))
+ .attr('text-anchor', (G) => v(G.text.verticalPos))
+ .attr('transform', (G) => b(G.text)));
+ },
+ },
+ styles: () => '',
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var dve = (function () {
+ var i = function (Ne, je, Ie, Se) {
+ for (Ie = Ie || {}, Se = Ne.length; Se--; Ie[Ne[Se]] = je);
+ return Ie;
+ },
+ s = [1, 10, 12, 14, 16, 18, 19, 21, 23],
+ u = [2, 6],
+ d = [1, 3],
+ p = [1, 5],
+ v = [1, 6],
+ b = [1, 7],
+ y = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36],
+ T = [1, 25],
+ _ = [1, 26],
+ A = [1, 28],
+ P = [1, 29],
+ R = [1, 30],
+ F = [1, 31],
+ j = [1, 32],
+ W = [1, 33],
+ ee = [1, 34],
+ ie = [1, 35],
+ oe = [1, 36],
+ be = [1, 37],
+ ge = [1, 43],
+ ae = [1, 42],
+ ne = [1, 47],
+ se = [1, 50],
+ de = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36],
+ X = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36],
+ pe = [
+ 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,
+ ],
+ G = [1, 64],
+ xe = {
+ trace: function () {},
+ 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: function (je, Ie, Se, Ce, ke, Ke, Ft) {
+ var Pe = Ke.length - 1;
+ switch (ke) {
+ case 5:
+ Ce.setOrientation(Ke[Pe]);
+ break;
+ case 9:
+ Ce.setDiagramTitle(Ke[Pe].text.trim());
+ break;
+ case 12:
+ Ce.setLineData({ text: '', type: 'text' }, Ke[Pe]);
+ break;
+ case 13:
+ Ce.setLineData(Ke[Pe - 1], Ke[Pe]);
+ break;
+ case 14:
+ Ce.setBarData({ text: '', type: 'text' }, Ke[Pe]);
+ break;
+ case 15:
+ Ce.setBarData(Ke[Pe - 1], Ke[Pe]);
+ break;
+ case 16:
+ ((this.$ = Ke[Pe].trim()), Ce.setAccTitle(this.$));
+ break;
+ case 17:
+ case 18:
+ ((this.$ = Ke[Pe].trim()), Ce.setAccDescription(this.$));
+ break;
+ case 19:
+ this.$ = Ke[Pe - 1];
+ break;
+ case 20:
+ this.$ = [Number(Ke[Pe - 2]), ...Ke[Pe]];
+ break;
+ case 21:
+ this.$ = [Number(Ke[Pe])];
+ break;
+ case 22:
+ Ce.setXAxisTitle(Ke[Pe]);
+ break;
+ case 23:
+ Ce.setXAxisTitle(Ke[Pe - 1]);
+ break;
+ case 24:
+ Ce.setXAxisTitle({ type: 'text', text: '' });
+ break;
+ case 25:
+ Ce.setXAxisBand(Ke[Pe]);
+ break;
+ case 26:
+ Ce.setXAxisRangeData(Number(Ke[Pe - 2]), Number(Ke[Pe]));
+ break;
+ case 27:
+ this.$ = Ke[Pe - 1];
+ break;
+ case 28:
+ this.$ = [Ke[Pe - 2], ...Ke[Pe]];
+ break;
+ case 29:
+ this.$ = [Ke[Pe]];
+ break;
+ case 30:
+ Ce.setYAxisTitle(Ke[Pe]);
+ break;
+ case 31:
+ Ce.setYAxisTitle(Ke[Pe - 1]);
+ break;
+ case 32:
+ Ce.setYAxisTitle({ type: 'text', text: '' });
+ break;
+ case 33:
+ Ce.setYAxisRangeData(Number(Ke[Pe - 2]), Number(Ke[Pe]));
+ break;
+ case 37:
+ this.$ = { text: Ke[Pe], type: 'text' };
+ break;
+ case 38:
+ this.$ = { text: Ke[Pe], type: 'text' };
+ break;
+ case 39:
+ this.$ = { text: Ke[Pe], type: 'markdown' };
+ break;
+ case 40:
+ this.$ = Ke[Pe];
+ break;
+ case 41:
+ this.$ = Ke[Pe - 1] + '' + Ke[Pe];
+ break;
+ }
+ },
+ table: [
+ i(s, u, { 3: 1, 4: 2, 7: 4, 5: d, 34: p, 35: v, 36: b }),
+ { 1: [3] },
+ i(s, u, { 4: 2, 7: 4, 3: 8, 5: d, 34: p, 35: v, 36: b }),
+ i(s, u, { 4: 2, 7: 4, 6: 9, 3: 10, 5: d, 8: [1, 11], 34: p, 35: v, 36: b }),
+ {
+ 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],
+ },
+ i(y, [2, 34]),
+ i(y, [2, 35]),
+ i(y, [2, 36]),
+ { 1: [2, 1] },
+ i(s, u, { 4: 2, 7: 4, 3: 21, 5: d, 34: p, 35: v, 36: b }),
+ { 1: [2, 3] },
+ i(y, [2, 5]),
+ i(s, [2, 7], { 4: 22, 34: p, 35: v, 36: b }),
+ {
+ 11: 23,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ {
+ 11: 39,
+ 13: 38,
+ 24: ge,
+ 27: ae,
+ 29: 40,
+ 30: 41,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ {
+ 11: 45,
+ 15: 44,
+ 27: ne,
+ 33: 46,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ {
+ 11: 49,
+ 17: 48,
+ 24: se,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ {
+ 11: 52,
+ 17: 51,
+ 24: se,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ { 20: [1, 53] },
+ { 22: [1, 54] },
+ i(de, [2, 18]),
+ { 1: [2, 2] },
+ i(de, [2, 8]),
+ i(de, [2, 9]),
+ i(X, [2, 37], {
+ 40: 55,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ }),
+ i(X, [2, 38]),
+ i(X, [2, 39]),
+ i(pe, [2, 40]),
+ i(pe, [2, 42]),
+ i(pe, [2, 43]),
+ i(pe, [2, 44]),
+ i(pe, [2, 45]),
+ i(pe, [2, 46]),
+ i(pe, [2, 47]),
+ i(pe, [2, 48]),
+ i(pe, [2, 49]),
+ i(pe, [2, 50]),
+ i(pe, [2, 51]),
+ i(de, [2, 10]),
+ i(de, [2, 22], { 30: 41, 29: 56, 24: ge, 27: ae }),
+ i(de, [2, 24]),
+ i(de, [2, 25]),
+ { 31: [1, 57] },
+ {
+ 11: 59,
+ 32: 58,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ i(de, [2, 11]),
+ i(de, [2, 30], { 33: 60, 27: ne }),
+ i(de, [2, 32]),
+ { 31: [1, 61] },
+ i(de, [2, 12]),
+ { 17: 62, 24: se },
+ { 25: 63, 27: G },
+ i(de, [2, 14]),
+ { 17: 65, 24: se },
+ i(de, [2, 16]),
+ i(de, [2, 17]),
+ i(pe, [2, 41]),
+ i(de, [2, 23]),
+ { 27: [1, 66] },
+ { 26: [1, 67] },
+ { 26: [2, 29], 28: [1, 68] },
+ i(de, [2, 31]),
+ { 27: [1, 69] },
+ i(de, [2, 13]),
+ { 26: [1, 70] },
+ { 26: [2, 21], 28: [1, 71] },
+ i(de, [2, 15]),
+ i(de, [2, 26]),
+ i(de, [2, 27]),
+ {
+ 11: 59,
+ 32: 72,
+ 37: 24,
+ 38: T,
+ 39: _,
+ 40: 27,
+ 41: A,
+ 42: P,
+ 43: R,
+ 44: F,
+ 45: j,
+ 46: W,
+ 47: ee,
+ 48: ie,
+ 49: oe,
+ 50: be,
+ },
+ i(de, [2, 33]),
+ i(de, [2, 19]),
+ { 25: 73, 27: G },
+ { 26: [2, 28] },
+ { 26: [2, 20] },
+ ],
+ defaultActions: { 8: [2, 1], 10: [2, 3], 21: [2, 2], 72: [2, 28], 73: [2, 20] },
+ parseError: function (je, Ie) {
+ if (Ie.recoverable) this.trace(je);
+ else {
+ var Se = new Error(je);
+ throw ((Se.hash = Ie), Se);
+ }
+ },
+ parse: function (je) {
+ var Ie = this,
+ Se = [0],
+ Ce = [],
+ ke = [null],
+ Ke = [],
+ Ft = this.table,
+ Pe = '',
+ gn = 0,
+ kt = 0,
+ Et = 2,
+ Gt = 1,
+ ln = Ke.slice.call(arguments, 1),
+ xt = Object.create(this.lexer),
+ Pt = { yy: {} };
+ for (var Ze in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Ze) && (Pt.yy[Ze] = this.yy[Ze]);
+ (xt.setInput(je, Pt.yy),
+ (Pt.yy.lexer = xt),
+ (Pt.yy.parser = this),
+ typeof xt.yylloc > 'u' && (xt.yylloc = {}));
+ var At = xt.yylloc;
+ Ke.push(At);
+ var Tt = xt.options && xt.options.ranges;
+ typeof Pt.yy.parseError == 'function'
+ ? (this.parseError = Pt.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function On() {
+ var $n;
+ return (
+ ($n = Ce.pop() || xt.lex() || Gt),
+ typeof $n != 'number' &&
+ ($n instanceof Array && ((Ce = $n), ($n = Ce.pop())), ($n = Ie.symbols_[$n] || $n)),
+ $n
+ );
+ }
+ for (var ht, zr, yt, Fi, yi = {}, Ba, na, Ro, _r; ; ) {
+ if (
+ ((zr = Se[Se.length - 1]),
+ this.defaultActions[zr]
+ ? (yt = this.defaultActions[zr])
+ : ((ht === null || typeof ht > 'u') && (ht = On()), (yt = Ft[zr] && Ft[zr][ht])),
+ typeof yt > 'u' || !yt.length || !yt[0])
+ ) {
+ var Nn = '';
+ _r = [];
+ for (Ba in Ft[zr])
+ this.terminals_[Ba] && Ba > Et && _r.push("'" + this.terminals_[Ba] + "'");
+ (xt.showPosition
+ ? (Nn =
+ 'Parse error on line ' +
+ (gn + 1) +
+ `:
+` +
+ xt.showPosition() +
+ `
+Expecting ` +
+ _r.join(', ') +
+ ", got '" +
+ (this.terminals_[ht] || ht) +
+ "'")
+ : (Nn =
+ 'Parse error on line ' +
+ (gn + 1) +
+ ': Unexpected ' +
+ (ht == Gt ? 'end of input' : "'" + (this.terminals_[ht] || ht) + "'")),
+ this.parseError(Nn, {
+ text: xt.match,
+ token: this.terminals_[ht] || ht,
+ line: xt.yylineno,
+ loc: At,
+ expected: _r,
+ }));
+ }
+ if (yt[0] instanceof Array && yt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + zr + ', token: ' + ht,
+ );
+ switch (yt[0]) {
+ case 1:
+ (Se.push(ht),
+ ke.push(xt.yytext),
+ Ke.push(xt.yylloc),
+ Se.push(yt[1]),
+ (ht = null),
+ (kt = xt.yyleng),
+ (Pe = xt.yytext),
+ (gn = xt.yylineno),
+ (At = xt.yylloc));
+ break;
+ case 2:
+ if (
+ ((na = this.productions_[yt[1]][1]),
+ (yi.$ = ke[ke.length - na]),
+ (yi._$ = {
+ first_line: Ke[Ke.length - (na || 1)].first_line,
+ last_line: Ke[Ke.length - 1].last_line,
+ first_column: Ke[Ke.length - (na || 1)].first_column,
+ last_column: Ke[Ke.length - 1].last_column,
+ }),
+ Tt &&
+ (yi._$.range = [
+ Ke[Ke.length - (na || 1)].range[0],
+ Ke[Ke.length - 1].range[1],
+ ]),
+ (Fi = this.performAction.apply(
+ yi,
+ [Pe, kt, gn, Pt.yy, yt[1], ke, Ke].concat(ln),
+ )),
+ typeof Fi < 'u')
+ )
+ return Fi;
+ (na &&
+ ((Se = Se.slice(0, -1 * na * 2)),
+ (ke = ke.slice(0, -1 * na)),
+ (Ke = Ke.slice(0, -1 * na))),
+ Se.push(this.productions_[yt[1]][0]),
+ ke.push(yi.$),
+ Ke.push(yi._$),
+ (Ro = Ft[Se[Se.length - 2]][Se[Se.length - 1]]),
+ Se.push(Ro));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ U = (function () {
+ var Ne = {
+ EOF: 1,
+ parseError: function (Ie, Se) {
+ if (this.yy.parser) this.yy.parser.parseError(Ie, Se);
+ else throw new Error(Ie);
+ },
+ setInput: function (je, Ie) {
+ return (
+ (this.yy = Ie || this.yy || {}),
+ (this._input = je),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var je = this._input[0];
+ ((this.yytext += je),
+ this.yyleng++,
+ this.offset++,
+ (this.match += je),
+ (this.matched += je));
+ var Ie = je.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)),
+ je
+ );
+ },
+ unput: function (je) {
+ var Ie = je.length,
+ Se = je.split(/(?:\r\n?|\n)/g);
+ ((this._input = je + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Ie)),
+ (this.offset -= Ie));
+ var Ce = this.match.split(/(?:\r\n?|\n)/g);
+ ((this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ Se.length - 1 && (this.yylineno -= Se.length - 1));
+ var ke = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: Se
+ ? (Se.length === Ce.length ? this.yylloc.first_column : 0) +
+ Ce[Ce.length - Se.length].length -
+ Se[0].length
+ : this.yylloc.first_column - Ie,
+ }),
+ this.options.ranges && (this.yylloc.range = [ke[0], ke[0] + this.yyleng - Ie]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (je) {
+ this.unput(this.match.slice(je));
+ },
+ pastInput: function () {
+ var je = this.matched.substr(0, this.matched.length - this.match.length);
+ return (je.length > 20 ? '...' : '') + je.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var je = this.match;
+ return (
+ je.length < 20 && (je += this._input.substr(0, 20 - je.length)),
+ (je.substr(0, 20) + (je.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var je = this.pastInput(),
+ Ie = new Array(je.length + 1).join('-');
+ return (
+ je +
+ this.upcomingInput() +
+ `
+` +
+ Ie +
+ '^'
+ );
+ },
+ test_match: function (je, Ie) {
+ var Se, Ce, ke;
+ if (
+ (this.options.backtrack_lexer &&
+ ((ke = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column,
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done,
+ }),
+ this.options.ranges && (ke.yylloc.range = this.yylloc.range.slice(0))),
+ (Ce = je[0].match(/(?:\r\n?|\n).*/g)),
+ Ce && (this.yylineno += Ce.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Ce
+ ? Ce[Ce.length - 1].length - Ce[Ce.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + je[0].length,
+ }),
+ (this.yytext += je[0]),
+ (this.match += je[0]),
+ (this.matches = je),
+ (this.yyleng = this.yytext.length),
+ this.options.ranges &&
+ (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]),
+ (this._more = !1),
+ (this._backtrack = !1),
+ (this._input = this._input.slice(je[0].length)),
+ (this.matched += je[0]),
+ (Se = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Ie,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ Se)
+ )
+ return Se;
+ if (this._backtrack) {
+ for (var Ke in ke) this[Ke] = ke[Ke];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var je, Ie, Se, Ce;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var ke = this._currentRules(), Ke = 0; Ke < ke.length; Ke++)
+ if (
+ ((Se = this._input.match(this.rules[ke[Ke]])),
+ Se && (!Ie || Se[0].length > Ie[0].length))
+ ) {
+ if (((Ie = Se), (Ce = Ke), this.options.backtrack_lexer)) {
+ if (((je = this.test_match(Se, ke[Ke])), je !== !1)) return je;
+ if (this._backtrack) {
+ Ie = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Ie
+ ? ((je = this.test_match(Ie, ke[Ce])), je !== !1 ? je : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var Ie = this.next();
+ return Ie || this.lex();
+ },
+ begin: function (Ie) {
+ this.conditionStack.push(Ie);
+ },
+ popState: function () {
+ var Ie = this.conditionStack.length - 1;
+ return Ie > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (Ie) {
+ return (
+ (Ie = this.conditionStack.length - 1 - Math.abs(Ie || 0)),
+ Ie >= 0 ? this.conditionStack[Ie] : 'INITIAL'
+ );
+ },
+ pushState: function (Ie) {
+ this.begin(Ie);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (Ie, Se, Ce, ke) {
+ switch (Ce) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return (this.popState(), 34);
+ case 3:
+ return (this.popState(), 34);
+ case 4:
+ return 34;
+ case 5:
+ break;
+ case 6:
+ return 10;
+ case 7:
+ return (this.pushState('acc_title'), 19);
+ case 8:
+ return (this.popState(), 'acc_title_value');
+ case 9:
+ return (this.pushState('acc_descr'), 21);
+ case 10:
+ return (this.popState(), 'acc_descr_value');
+ case 11:
+ this.pushState('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 5;
+ case 15:
+ return 8;
+ case 16:
+ return (this.pushState('axis_data'), 'X_AXIS');
+ case 17:
+ return (this.pushState('axis_data'), 'Y_AXIS');
+ case 18:
+ return (this.pushState('axis_band_data'), 24);
+ case 19:
+ return 31;
+ case 20:
+ return (this.pushState('data'), 16);
+ case 21:
+ return (this.pushState('data'), 18);
+ case 22:
+ return (this.pushState('data_inner'), 24);
+ case 23:
+ return 27;
+ case 24:
+ return (this.popState(), 26);
+ case 25:
+ this.popState();
+ break;
+ case 26:
+ this.pushState('string');
+ break;
+ case 27:
+ this.popState();
+ break;
+ case 28:
+ return 'STR';
+ case 29:
+ return 24;
+ case 30:
+ return 26;
+ case 31:
+ return 43;
+ case 32:
+ return 'COLON';
+ case 33:
+ return 44;
+ case 34:
+ return 28;
+ case 35:
+ return 45;
+ case 36:
+ return 46;
+ case 37:
+ return 48;
+ case 38:
+ return 50;
+ case 39:
+ return 47;
+ case 40:
+ return 41;
+ case 41:
+ return 49;
+ case 42:
+ return 42;
+ case 43:
+ break;
+ case 44:
+ return 35;
+ case 45:
+ return 36;
+ }
+ },
+ rules: [
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:(\r?\n))/i,
+ /^(?:(\r?\n))/i,
+ /^(?:[\n\r]+)/i,
+ /^(?:%%[^\n]*)/i,
+ /^(?:title\b)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:\{)/i,
+ /^(?:[^\}]*)/i,
+ /^(?:xychart-beta\b)/i,
+ /^(?:(?:vertical|horizontal))/i,
+ /^(?:x-axis\b)/i,
+ /^(?:y-axis\b)/i,
+ /^(?:\[)/i,
+ /^(?:-->)/i,
+ /^(?:line\b)/i,
+ /^(?:bar\b)/i,
+ /^(?:\[)/i,
+ /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,
+ /^(?:\])/i,
+ /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:\[)/i,
+ /^(?:\])/i,
+ /^(?:[A-Za-z]+)/i,
+ /^(?::)/i,
+ /^(?:\+)/i,
+ /^(?:,)/i,
+ /^(?:=)/i,
+ /^(?:\*)/i,
+ /^(?:#)/i,
+ /^(?:[\_])/i,
+ /^(?:\.)/i,
+ /^(?:&)/i,
+ /^(?:-)/i,
+ /^(?:[0-9]+)/i,
+ /^(?:\s+)/i,
+ /^(?:;)/i,
+ /^(?:$)/i,
+ ],
+ conditions: {
+ data_inner: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ ],
+ inclusive: !0,
+ },
+ data: {
+ rules: [
+ 0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ ],
+ inclusive: !0,
+ },
+ axis_band_data: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ ],
+ inclusive: !0,
+ },
+ axis_data: {
+ rules: [
+ 0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ ],
+ inclusive: !0,
+ },
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ title: { rules: [], inclusive: !1 },
+ md_string: { rules: [], inclusive: !1 },
+ string: { rules: [27, 28], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return Ne;
+ })();
+ xe.lexer = U;
+ function Be() {
+ this.yy = {};
+ }
+ return ((Be.prototype = xe), (xe.Parser = Be), new Be());
+ })();
+ dve.parser = dve;
+ const Gnn = dve;
+ function pGe(i) {
+ return i.type === 'bar';
+ }
+ function bGe(i) {
+ return i.type === 'band';
+ }
+ function $R(i) {
+ return i.type === 'linear';
+ }
+ class mGe {
+ constructor(s) {
+ this.parentGroup = s;
+ }
+ getMaxDimension(s, u) {
+ if (!this.parentGroup)
+ return { width: s.reduce((v, b) => Math.max(b.length, v), 0) * u, height: u };
+ const d = { width: 0, height: 0 },
+ p = this.parentGroup.append('g').attr('visibility', 'hidden').attr('font-size', u);
+ for (const v of s) {
+ const b = VZt(p, 1, v),
+ y = b ? b.width : v.length * u,
+ T = b ? b.height : u;
+ ((d.width = Math.max(d.width, y)), (d.height = Math.max(d.height, T)));
+ }
+ return (p.remove(), d);
+ }
+ }
+ const vGe = 0.7,
+ wGe = 0.2;
+ class yGe {
+ constructor(s, u, d, p) {
+ ((this.axisConfig = s),
+ (this.title = u),
+ (this.textDimensionCalculator = d),
+ (this.axisThemeConfig = p),
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }),
+ (this.axisPosition = 'left'),
+ (this.showTitle = !1),
+ (this.showLabel = !1),
+ (this.showTick = !1),
+ (this.showAxisLine = !1),
+ (this.outerPadding = 0),
+ (this.titleTextHeight = 0),
+ (this.labelTextHeight = 0),
+ (this.range = [0, 10]),
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }),
+ (this.axisPosition = 'left'));
+ }
+ setRange(s) {
+ ((this.range = s),
+ this.axisPosition === 'left' || this.axisPosition === 'right'
+ ? (this.boundingRect.height = s[1] - s[0])
+ : (this.boundingRect.width = s[1] - s[0]),
+ this.recalculateScale());
+ }
+ getRange() {
+ return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];
+ }
+ setAxisPosition(s) {
+ ((this.axisPosition = s), this.setRange(this.range));
+ }
+ getTickDistance() {
+ const s = this.getRange();
+ return Math.abs(s[0] - s[1]) / this.getTickValues().length;
+ }
+ getAxisOuterPadding() {
+ return this.outerPadding;
+ }
+ getLabelDimension() {
+ return this.textDimensionCalculator.getMaxDimension(
+ this.getTickValues().map((s) => s.toString()),
+ this.axisConfig.labelFontSize,
+ );
+ }
+ recalculateOuterPaddingToDrawBar() {
+ (vGe * this.getTickDistance() > this.outerPadding * 2 &&
+ (this.outerPadding = Math.floor((vGe * this.getTickDistance()) / 2)),
+ this.recalculateScale());
+ }
+ calculateSpaceIfDrawnHorizontally(s) {
+ let u = s.height;
+ if (
+ (this.axisConfig.showAxisLine &&
+ u > this.axisConfig.axisLineWidth &&
+ ((u -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)),
+ this.axisConfig.showLabel)
+ ) {
+ const d = this.getLabelDimension(),
+ p = wGe * s.width;
+ this.outerPadding = Math.min(d.width / 2, p);
+ const v = d.height + this.axisConfig.labelPadding * 2;
+ ((this.labelTextHeight = d.height), v <= u && ((u -= v), (this.showLabel = !0)));
+ }
+ if (
+ (this.axisConfig.showTick &&
+ u >= this.axisConfig.tickLength &&
+ ((this.showTick = !0), (u -= this.axisConfig.tickLength)),
+ this.axisConfig.showTitle && this.title)
+ ) {
+ const d = this.textDimensionCalculator.getMaxDimension(
+ [this.title],
+ this.axisConfig.titleFontSize,
+ ),
+ p = d.height + this.axisConfig.titlePadding * 2;
+ ((this.titleTextHeight = d.height), p <= u && ((u -= p), (this.showTitle = !0)));
+ }
+ ((this.boundingRect.width = s.width), (this.boundingRect.height = s.height - u));
+ }
+ calculateSpaceIfDrawnVertical(s) {
+ let u = s.width;
+ if (
+ (this.axisConfig.showAxisLine &&
+ u > this.axisConfig.axisLineWidth &&
+ ((u -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)),
+ this.axisConfig.showLabel)
+ ) {
+ const d = this.getLabelDimension(),
+ p = wGe * s.height;
+ this.outerPadding = Math.min(d.height / 2, p);
+ const v = d.width + this.axisConfig.labelPadding * 2;
+ v <= u && ((u -= v), (this.showLabel = !0));
+ }
+ if (
+ (this.axisConfig.showTick &&
+ u >= this.axisConfig.tickLength &&
+ ((this.showTick = !0), (u -= this.axisConfig.tickLength)),
+ this.axisConfig.showTitle && this.title)
+ ) {
+ const d = this.textDimensionCalculator.getMaxDimension(
+ [this.title],
+ this.axisConfig.titleFontSize,
+ ),
+ p = d.height + this.axisConfig.titlePadding * 2;
+ ((this.titleTextHeight = d.height), p <= u && ((u -= p), (this.showTitle = !0)));
+ }
+ ((this.boundingRect.width = s.width - u), (this.boundingRect.height = s.height));
+ }
+ calculateSpace(s) {
+ return (
+ this.axisPosition === 'left' || this.axisPosition === 'right'
+ ? this.calculateSpaceIfDrawnVertical(s)
+ : this.calculateSpaceIfDrawnHorizontally(s),
+ this.recalculateScale(),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ setBoundingBoxXY(s) {
+ ((this.boundingRect.x = s.x), (this.boundingRect.y = s.y));
+ }
+ getDrawableElementsForLeftAxis() {
+ const s = [];
+ if (this.showAxisLine) {
+ const u = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;
+ s.push({
+ type: 'path',
+ groupTexts: ['left-axis', 'axisl-line'],
+ data: [
+ {
+ path: `M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y + this.boundingRect.height} `,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth,
+ },
+ ],
+ });
+ }
+ if (
+ (this.showLabel &&
+ s.push({
+ type: 'text',
+ groupTexts: ['left-axis', 'label'],
+ data: this.getTickValues().map((u) => ({
+ text: u.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(u),
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'middle',
+ horizontalPos: 'right',
+ })),
+ }),
+ this.showTick)
+ ) {
+ const u =
+ this.boundingRect.x +
+ this.boundingRect.width -
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
+ s.push({
+ type: 'path',
+ groupTexts: ['left-axis', 'ticks'],
+ data: this.getTickValues().map((d) => ({
+ path: `M ${u},${this.getScaleValue(d)} L ${u - this.axisConfig.tickLength},${this.getScaleValue(d)}`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth,
+ })),
+ });
+ }
+ return (
+ this.showTitle &&
+ s.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',
+ },
+ ],
+ }),
+ s
+ );
+ }
+ getDrawableElementsForBottomAxis() {
+ const s = [];
+ if (this.showAxisLine) {
+ const u = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;
+ s.push({
+ type: 'path',
+ groupTexts: ['bottom-axis', 'axis-line'],
+ data: [
+ {
+ path: `M ${this.boundingRect.x},${u} L ${this.boundingRect.x + this.boundingRect.width},${u}`,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth,
+ },
+ ],
+ });
+ }
+ if (
+ (this.showLabel &&
+ s.push({
+ type: 'text',
+ groupTexts: ['bottom-axis', 'label'],
+ data: this.getTickValues().map((u) => ({
+ text: u.toString(),
+ x: this.getScaleValue(u),
+ y:
+ this.boundingRect.y +
+ this.axisConfig.labelPadding +
+ (this.showTick ? this.axisConfig.tickLength : 0) +
+ (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center',
+ })),
+ }),
+ this.showTick)
+ ) {
+ const u = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);
+ s.push({
+ type: 'path',
+ groupTexts: ['bottom-axis', 'ticks'],
+ data: this.getTickValues().map((d) => ({
+ path: `M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u + this.axisConfig.tickLength}`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth,
+ })),
+ });
+ }
+ return (
+ this.showTitle &&
+ s.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',
+ },
+ ],
+ }),
+ s
+ );
+ }
+ getDrawableElementsForTopAxis() {
+ const s = [];
+ if (this.showAxisLine) {
+ const u =
+ this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;
+ s.push({
+ type: 'path',
+ groupTexts: ['top-axis', 'axis-line'],
+ data: [
+ {
+ path: `M ${this.boundingRect.x},${u} L ${this.boundingRect.x + this.boundingRect.width},${u}`,
+ strokeFill: this.axisThemeConfig.axisLineColor,
+ strokeWidth: this.axisConfig.axisLineWidth,
+ },
+ ],
+ });
+ }
+ if (
+ (this.showLabel &&
+ s.push({
+ type: 'text',
+ groupTexts: ['top-axis', 'label'],
+ data: this.getTickValues().map((u) => ({
+ text: u.toString(),
+ x: this.getScaleValue(u),
+ y:
+ this.boundingRect.y +
+ (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) +
+ this.axisConfig.labelPadding,
+ fill: this.axisThemeConfig.labelColor,
+ fontSize: this.axisConfig.labelFontSize,
+ rotation: 0,
+ verticalPos: 'top',
+ horizontalPos: 'center',
+ })),
+ }),
+ this.showTick)
+ ) {
+ const u = this.boundingRect.y;
+ s.push({
+ type: 'path',
+ groupTexts: ['top-axis', 'ticks'],
+ data: this.getTickValues().map((d) => ({
+ path: `M ${this.getScaleValue(d)},${u + this.boundingRect.height - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)} L ${this.getScaleValue(d)},${u + this.boundingRect.height - this.axisConfig.tickLength - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)}`,
+ strokeFill: this.axisThemeConfig.tickColor,
+ strokeWidth: this.axisConfig.tickWidth,
+ })),
+ });
+ }
+ return (
+ this.showTitle &&
+ s.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',
+ },
+ ],
+ }),
+ s
+ );
+ }
+ getDrawableElements() {
+ if (this.axisPosition === 'left') return this.getDrawableElementsForLeftAxis();
+ if (this.axisPosition === 'right') throw Error('Drawing of right axis is not implemented');
+ return this.axisPosition === 'bottom'
+ ? this.getDrawableElementsForBottomAxis()
+ : this.axisPosition === 'top'
+ ? this.getDrawableElementsForTopAxis()
+ : [];
+ }
+ }
+ class Knn extends yGe {
+ constructor(s, u, d, p, v) {
+ (super(s, p, v, u),
+ (this.categories = d),
+ (this.scale = qpe().domain(this.categories).range(this.getRange())));
+ }
+ setRange(s) {
+ super.setRange(s);
+ }
+ recalculateScale() {
+ ((this.scale = qpe()
+ .domain(this.categories)
+ .range(this.getRange())
+ .paddingInner(1)
+ .paddingOuter(0)
+ .align(0.5)),
+ Xe.trace('BandAxis axis final categories, range: ', this.categories, this.getRange()));
+ }
+ getTickValues() {
+ return this.categories;
+ }
+ getScaleValue(s) {
+ return this.scale(s) || this.getRange()[0];
+ }
+ }
+ class Wnn extends yGe {
+ constructor(s, u, d, p, v) {
+ (super(s, p, v, u),
+ (this.domain = d),
+ (this.scale = iD().domain(this.domain).range(this.getRange())));
+ }
+ getTickValues() {
+ return this.scale.ticks();
+ }
+ recalculateScale() {
+ const s = [...this.domain];
+ (this.axisPosition === 'left' && s.reverse(),
+ (this.scale = iD().domain(s).range(this.getRange())));
+ }
+ getScaleValue(s) {
+ return this.scale(s);
+ }
+ }
+ function xGe(i, s, u, d) {
+ const p = new mGe(d);
+ return bGe(i)
+ ? new Knn(s, u, i.categories, i.title, p)
+ : new Wnn(s, u, [i.min, i.max], i.title, p);
+ }
+ class Ynn {
+ constructor(s, u, d, p) {
+ ((this.textDimensionCalculator = s),
+ (this.chartConfig = u),
+ (this.chartData = d),
+ (this.chartThemeConfig = p),
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }),
+ (this.showChartTitle = !1));
+ }
+ setBoundingBoxXY(s) {
+ ((this.boundingRect.x = s.x), (this.boundingRect.y = s.y));
+ }
+ calculateSpace(s) {
+ const u = this.textDimensionCalculator.getMaxDimension(
+ [this.chartData.title],
+ this.chartConfig.titleFontSize,
+ ),
+ d = Math.max(u.width, s.width),
+ p = u.height + 2 * this.chartConfig.titlePadding;
+ return (
+ u.width <= d &&
+ u.height <= p &&
+ this.chartConfig.showTitle &&
+ this.chartData.title &&
+ ((this.boundingRect.width = d),
+ (this.boundingRect.height = p),
+ (this.showChartTitle = !0)),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ getDrawableElements() {
+ const s = [];
+ return (
+ this.showChartTitle &&
+ s.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,
+ },
+ ],
+ }),
+ s
+ );
+ }
+ }
+ function Xnn(i, s, u, d) {
+ const p = new mGe(d);
+ return new Ynn(p, i, s, u);
+ }
+ class Qnn {
+ constructor(s, u, d, p, v) {
+ ((this.plotData = s),
+ (this.xAxis = u),
+ (this.yAxis = d),
+ (this.orientation = p),
+ (this.plotIndex = v));
+ }
+ getDrawableElement() {
+ const s = this.plotData.data.map((d) => [
+ this.xAxis.getScaleValue(d[0]),
+ this.yAxis.getScaleValue(d[1]),
+ ]);
+ let u;
+ return (
+ this.orientation === 'horizontal'
+ ? (u = x7()
+ .y((d) => d[0])
+ .x((d) => d[1])(s))
+ : (u = x7()
+ .x((d) => d[0])
+ .y((d) => d[1])(s)),
+ u
+ ? [
+ {
+ groupTexts: ['plot', `line-plot-${this.plotIndex}`],
+ type: 'path',
+ data: [
+ {
+ path: u,
+ strokeFill: this.plotData.strokeFill,
+ strokeWidth: this.plotData.strokeWidth,
+ },
+ ],
+ },
+ ]
+ : []
+ );
+ }
+ }
+ class Jnn {
+ constructor(s, u, d, p, v, b) {
+ ((this.barData = s),
+ (this.boundingRect = u),
+ (this.xAxis = d),
+ (this.yAxis = p),
+ (this.orientation = v),
+ (this.plotIndex = b));
+ }
+ getDrawableElement() {
+ const s = this.barData.data.map((v) => [
+ this.xAxis.getScaleValue(v[0]),
+ this.yAxis.getScaleValue(v[1]),
+ ]),
+ u = 0.05,
+ d = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - u),
+ p = d / 2;
+ return this.orientation === 'horizontal'
+ ? [
+ {
+ groupTexts: ['plot', `bar-plot-${this.plotIndex}`],
+ type: 'rect',
+ data: s.map((v) => ({
+ x: this.boundingRect.x,
+ y: v[0] - p,
+ height: d,
+ width: v[1] - this.boundingRect.x,
+ fill: this.barData.fill,
+ strokeWidth: 0,
+ strokeFill: this.barData.fill,
+ })),
+ },
+ ]
+ : [
+ {
+ groupTexts: ['plot', `bar-plot-${this.plotIndex}`],
+ type: 'rect',
+ data: s.map((v) => ({
+ x: v[0] - p,
+ y: v[1],
+ width: d,
+ height: this.boundingRect.y + this.boundingRect.height - v[1],
+ fill: this.barData.fill,
+ strokeWidth: 0,
+ strokeFill: this.barData.fill,
+ })),
+ },
+ ];
+ }
+ }
+ class Znn {
+ constructor(s, u, d) {
+ ((this.chartConfig = s),
+ (this.chartData = u),
+ (this.chartThemeConfig = d),
+ (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }));
+ }
+ setAxes(s, u) {
+ ((this.xAxis = s), (this.yAxis = u));
+ }
+ setBoundingBoxXY(s) {
+ ((this.boundingRect.x = s.x), (this.boundingRect.y = s.y));
+ }
+ calculateSpace(s) {
+ return (
+ (this.boundingRect.width = s.width),
+ (this.boundingRect.height = s.height),
+ { width: this.boundingRect.width, height: this.boundingRect.height }
+ );
+ }
+ getDrawableElements() {
+ if (!(this.xAxis && this.yAxis)) throw Error('Axes must be passed to render Plots');
+ const s = [];
+ for (const [u, d] of this.chartData.plots.entries())
+ switch (d.type) {
+ case 'line':
+ {
+ const p = new Qnn(d, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, u);
+ s.push(...p.getDrawableElement());
+ }
+ break;
+ case 'bar':
+ {
+ const p = new Jnn(
+ d,
+ this.boundingRect,
+ this.xAxis,
+ this.yAxis,
+ this.chartConfig.chartOrientation,
+ u,
+ );
+ s.push(...p.getDrawableElement());
+ }
+ break;
+ }
+ return s;
+ }
+ }
+ function ern(i, s, u) {
+ return new Znn(i, s, u);
+ }
+ class trn {
+ constructor(s, u, d, p) {
+ ((this.chartConfig = s),
+ (this.chartData = u),
+ (this.componentStore = {
+ title: Xnn(s, u, d, p),
+ plot: ern(s, u, d),
+ xAxis: xGe(
+ u.xAxis,
+ s.xAxis,
+ {
+ titleColor: d.xAxisTitleColor,
+ labelColor: d.xAxisLabelColor,
+ tickColor: d.xAxisTickColor,
+ axisLineColor: d.xAxisLineColor,
+ },
+ p,
+ ),
+ yAxis: xGe(
+ u.yAxis,
+ s.yAxis,
+ {
+ titleColor: d.yAxisTitleColor,
+ labelColor: d.yAxisLabelColor,
+ tickColor: d.yAxisTickColor,
+ axisLineColor: d.yAxisLineColor,
+ },
+ p,
+ ),
+ }));
+ }
+ calculateVerticalSpace() {
+ let s = this.chartConfig.width,
+ u = this.chartConfig.height,
+ d = 0,
+ p = 0,
+ v = Math.floor((s * this.chartConfig.plotReservedSpacePercent) / 100),
+ b = Math.floor((u * this.chartConfig.plotReservedSpacePercent) / 100),
+ y = this.componentStore.plot.calculateSpace({ width: v, height: b });
+ ((s -= y.width),
+ (u -= y.height),
+ (y = this.componentStore.title.calculateSpace({
+ width: this.chartConfig.width,
+ height: u,
+ })),
+ (p = y.height),
+ (u -= y.height),
+ this.componentStore.xAxis.setAxisPosition('bottom'),
+ (y = this.componentStore.xAxis.calculateSpace({ width: s, height: u })),
+ (u -= y.height),
+ this.componentStore.yAxis.setAxisPosition('left'),
+ (y = this.componentStore.yAxis.calculateSpace({ width: s, height: u })),
+ (d = y.width),
+ (s -= y.width),
+ s > 0 && ((v += s), (s = 0)),
+ u > 0 && ((b += u), (u = 0)),
+ this.componentStore.plot.calculateSpace({ width: v, height: b }),
+ this.componentStore.plot.setBoundingBoxXY({ x: d, y: p }),
+ this.componentStore.xAxis.setRange([d, d + v]),
+ this.componentStore.xAxis.setBoundingBoxXY({ x: d, y: p + b }),
+ this.componentStore.yAxis.setRange([p, p + b]),
+ this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: p }),
+ this.chartData.plots.some((T) => pGe(T)) &&
+ this.componentStore.xAxis.recalculateOuterPaddingToDrawBar());
+ }
+ calculateHorizontalSpace() {
+ let s = this.chartConfig.width,
+ u = this.chartConfig.height,
+ d = 0,
+ p = 0,
+ v = 0,
+ b = Math.floor((s * this.chartConfig.plotReservedSpacePercent) / 100),
+ y = Math.floor((u * this.chartConfig.plotReservedSpacePercent) / 100),
+ T = this.componentStore.plot.calculateSpace({ width: b, height: y });
+ ((s -= T.width),
+ (u -= T.height),
+ (T = this.componentStore.title.calculateSpace({
+ width: this.chartConfig.width,
+ height: u,
+ })),
+ (d = T.height),
+ (u -= T.height),
+ this.componentStore.xAxis.setAxisPosition('left'),
+ (T = this.componentStore.xAxis.calculateSpace({ width: s, height: u })),
+ (s -= T.width),
+ (p = T.width),
+ this.componentStore.yAxis.setAxisPosition('top'),
+ (T = this.componentStore.yAxis.calculateSpace({ width: s, height: u })),
+ (u -= T.height),
+ (v = d + T.height),
+ s > 0 && ((b += s), (s = 0)),
+ u > 0 && ((y += u), (u = 0)),
+ this.componentStore.plot.calculateSpace({ width: b, height: y }),
+ this.componentStore.plot.setBoundingBoxXY({ x: p, y: v }),
+ this.componentStore.yAxis.setRange([p, p + b]),
+ this.componentStore.yAxis.setBoundingBoxXY({ x: p, y: d }),
+ this.componentStore.xAxis.setRange([v, v + y]),
+ this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: v }),
+ this.chartData.plots.some((_) => pGe(_)) &&
+ this.componentStore.xAxis.recalculateOuterPaddingToDrawBar());
+ }
+ calculateSpace() {
+ this.chartConfig.chartOrientation === 'horizontal'
+ ? this.calculateHorizontalSpace()
+ : this.calculateVerticalSpace();
+ }
+ getDrawableElement() {
+ this.calculateSpace();
+ const s = [];
+ this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);
+ for (const u of Object.values(this.componentStore)) s.push(...u.getDrawableElements());
+ return s;
+ }
+ }
+ class nrn {
+ static build(s, u, d, p) {
+ return new trn(s, u, d, p).getDrawableElement();
+ }
+ }
+ let zR = 0,
+ kGe,
+ qR = TGe(),
+ HR = EGe(),
+ tl = CGe(),
+ gve = HR.plotColorPalette.split(',').map((i) => i.trim()),
+ gJ = !1,
+ pve = !1;
+ function EGe() {
+ const i = f2e(),
+ s = xh();
+ return ZF(i.xyChart, s.themeVariables.xyChart);
+ }
+ function TGe() {
+ const i = xh();
+ return ZF(sh.xyChart, i.xyChart);
+ }
+ function CGe() {
+ return {
+ yAxis: { type: 'linear', title: '', min: 1 / 0, max: -1 / 0 },
+ xAxis: { type: 'band', title: '', categories: [] },
+ title: '',
+ plots: [],
+ };
+ }
+ function bve(i) {
+ const s = xh();
+ return yh(i.trim(), s);
+ }
+ function rrn(i) {
+ kGe = i;
+ }
+ function irn(i) {
+ i === 'horizontal' ? (qR.chartOrientation = 'horizontal') : (qR.chartOrientation = 'vertical');
+ }
+ function srn(i) {
+ tl.xAxis.title = bve(i.text);
+ }
+ function SGe(i, s) {
+ ((tl.xAxis = { type: 'linear', title: tl.xAxis.title, min: i, max: s }), (gJ = !0));
+ }
+ function arn(i) {
+ ((tl.xAxis = { type: 'band', title: tl.xAxis.title, categories: i.map((s) => bve(s.text)) }),
+ (gJ = !0));
+ }
+ function orn(i) {
+ tl.yAxis.title = bve(i.text);
+ }
+ function crn(i, s) {
+ ((tl.yAxis = { type: 'linear', title: tl.yAxis.title, min: i, max: s }), (pve = !0));
+ }
+ function urn(i) {
+ const s = Math.min(...i),
+ u = Math.max(...i),
+ d = $R(tl.yAxis) ? tl.yAxis.min : 1 / 0,
+ p = $R(tl.yAxis) ? tl.yAxis.max : -1 / 0;
+ tl.yAxis = { type: 'linear', title: tl.yAxis.title, min: Math.min(d, s), max: Math.max(p, u) };
+ }
+ function _Ge(i) {
+ let s = [];
+ if (i.length === 0) return s;
+ if (!gJ) {
+ const u = $R(tl.xAxis) ? tl.xAxis.min : 1 / 0,
+ d = $R(tl.xAxis) ? tl.xAxis.max : -1 / 0;
+ SGe(Math.min(u, 1), Math.max(d, i.length));
+ }
+ if (
+ (pve || urn(i),
+ bGe(tl.xAxis) && (s = tl.xAxis.categories.map((u, d) => [u, i[d]])),
+ $R(tl.xAxis))
+ ) {
+ const u = tl.xAxis.min,
+ d = tl.xAxis.max,
+ p = (d - u + 1) / i.length,
+ v = [];
+ for (let b = u; b <= d; b += p) v.push(`${b}`);
+ s = v.map((b, y) => [b, i[y]]);
+ }
+ return s;
+ }
+ function AGe(i) {
+ return gve[i === 0 ? 0 : i % gve.length];
+ }
+ function lrn(i, s) {
+ const u = _Ge(s);
+ (tl.plots.push({ type: 'line', strokeFill: AGe(zR), strokeWidth: 2, data: u }), zR++);
+ }
+ function hrn(i, s) {
+ const u = _Ge(s);
+ (tl.plots.push({ type: 'bar', fill: AGe(zR), data: u }), zR++);
+ }
+ function frn() {
+ if (tl.plots.length === 0)
+ throw Error('No Plot to render, please provide a plot with some data');
+ return ((tl.title = Lp()), nrn.build(qR, tl, HR, kGe));
+ }
+ function drn() {
+ return HR;
+ }
+ function grn() {
+ return qR;
+ }
+ const prn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Gnn,
+ db: {
+ getDrawableElem: frn,
+ clear: function () {
+ (Ng(),
+ (zR = 0),
+ (qR = TGe()),
+ (tl = CGe()),
+ (HR = EGe()),
+ (gve = HR.plotColorPalette.split(',').map((i) => i.trim())),
+ (gJ = !1),
+ (pve = !1));
+ },
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ setOrientation: irn,
+ setXAxisTitle: srn,
+ setXAxisRangeData: SGe,
+ setXAxisBand: arn,
+ setYAxisTitle: orn,
+ setYAxisRangeData: crn,
+ setLineData: lrn,
+ setBarData: hrn,
+ setTmpSVGG: rrn,
+ getChartThemeConfig: drn,
+ getChartConfig: grn,
+ },
+ renderer: {
+ draw: (i, s, u, d) => {
+ const p = d.db,
+ v = p.getChartThemeConfig(),
+ b = p.getChartConfig();
+ function y(ee) {
+ return ee === 'top' ? 'text-before-edge' : 'middle';
+ }
+ function T(ee) {
+ return ee === 'left' ? 'start' : ee === 'right' ? 'end' : 'middle';
+ }
+ function _(ee) {
+ return `translate(${ee.x}, ${ee.y}) rotate(${ee.rotation || 0})`;
+ }
+ Xe.debug(
+ `Rendering xychart chart
+` + i,
+ );
+ const A = iR(s),
+ P = A.append('g').attr('class', 'main'),
+ R = P.append('rect')
+ .attr('width', b.width)
+ .attr('height', b.height)
+ .attr('class', 'background');
+ (Og(A, b.height, b.width, !0),
+ A.attr('viewBox', `0 0 ${b.width} ${b.height}`),
+ R.attr('fill', v.backgroundColor),
+ p.setTmpSVGG(A.append('g').attr('class', 'mermaid-tmp-group')));
+ const F = p.getDrawableElem(),
+ j = {};
+ function W(ee) {
+ let ie = P,
+ oe = '';
+ for (const [be] of ee.entries()) {
+ let ge = P;
+ (be > 0 && j[oe] && (ge = j[oe]),
+ (oe += ee[be]),
+ (ie = j[oe]),
+ ie || (ie = j[oe] = ge.append('g').attr('class', ee[be])));
+ }
+ return ie;
+ }
+ for (const ee of F) {
+ if (ee.data.length === 0) continue;
+ const ie = W(ee.groupTexts);
+ switch (ee.type) {
+ case 'rect':
+ ie.selectAll('rect')
+ .data(ee.data)
+ .enter()
+ .append('rect')
+ .attr('x', (oe) => oe.x)
+ .attr('y', (oe) => oe.y)
+ .attr('width', (oe) => oe.width)
+ .attr('height', (oe) => oe.height)
+ .attr('fill', (oe) => oe.fill)
+ .attr('stroke', (oe) => oe.strokeFill)
+ .attr('stroke-width', (oe) => oe.strokeWidth);
+ break;
+ case 'text':
+ ie.selectAll('text')
+ .data(ee.data)
+ .enter()
+ .append('text')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('fill', (oe) => oe.fill)
+ .attr('font-size', (oe) => oe.fontSize)
+ .attr('dominant-baseline', (oe) => y(oe.verticalPos))
+ .attr('text-anchor', (oe) => T(oe.horizontalPos))
+ .attr('transform', (oe) => _(oe))
+ .text((oe) => oe.text);
+ break;
+ case 'path':
+ ie.selectAll('path')
+ .data(ee.data)
+ .enter()
+ .append('path')
+ .attr('d', (oe) => oe.path)
+ .attr('fill', (oe) => (oe.fill ? oe.fill : 'none'))
+ .attr('stroke', (oe) => oe.strokeFill)
+ .attr('stroke-width', (oe) => oe.strokeWidth);
+ break;
+ }
+ }
+ },
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var mve = (function () {
+ var i = function (kt, Et, Gt, ln) {
+ for (Gt = Gt || {}, ln = kt.length; ln--; Gt[kt[ln]] = Et);
+ return Gt;
+ },
+ s = [1, 3],
+ u = [1, 4],
+ d = [1, 5],
+ p = [1, 6],
+ v = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63],
+ b = [1, 18],
+ y = [2, 7],
+ T = [1, 22],
+ _ = [1, 23],
+ A = [1, 24],
+ P = [1, 25],
+ R = [1, 26],
+ F = [1, 27],
+ j = [1, 20],
+ W = [1, 28],
+ ee = [1, 29],
+ ie = [62, 63],
+ oe = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63],
+ be = [1, 47],
+ ge = [1, 48],
+ ae = [1, 49],
+ ne = [1, 50],
+ se = [1, 51],
+ de = [1, 52],
+ X = [1, 53],
+ pe = [53, 54],
+ G = [1, 64],
+ xe = [1, 60],
+ U = [1, 61],
+ Be = [1, 62],
+ Ne = [1, 63],
+ je = [1, 65],
+ Ie = [1, 69],
+ Se = [1, 70],
+ Ce = [1, 67],
+ ke = [1, 68],
+ Ke = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63],
+ Ft = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ directive: 4,
+ NEWLINE: 5,
+ RD: 6,
+ diagram: 7,
+ EOF: 8,
+ acc_title: 9,
+ acc_title_value: 10,
+ acc_descr: 11,
+ acc_descr_value: 12,
+ acc_descr_multiline_value: 13,
+ requirementDef: 14,
+ elementDef: 15,
+ relationshipDef: 16,
+ requirementType: 17,
+ requirementName: 18,
+ STRUCT_START: 19,
+ requirementBody: 20,
+ ID: 21,
+ COLONSEP: 22,
+ id: 23,
+ TEXT: 24,
+ text: 25,
+ RISK: 26,
+ riskLevel: 27,
+ VERIFYMTHD: 28,
+ verifyType: 29,
+ STRUCT_STOP: 30,
+ REQUIREMENT: 31,
+ FUNCTIONAL_REQUIREMENT: 32,
+ INTERFACE_REQUIREMENT: 33,
+ PERFORMANCE_REQUIREMENT: 34,
+ PHYSICAL_REQUIREMENT: 35,
+ DESIGN_CONSTRAINT: 36,
+ LOW_RISK: 37,
+ MED_RISK: 38,
+ HIGH_RISK: 39,
+ VERIFY_ANALYSIS: 40,
+ VERIFY_DEMONSTRATION: 41,
+ VERIFY_INSPECTION: 42,
+ VERIFY_TEST: 43,
+ ELEMENT: 44,
+ elementName: 45,
+ elementBody: 46,
+ TYPE: 47,
+ type: 48,
+ DOCREF: 49,
+ ref: 50,
+ END_ARROW_L: 51,
+ relationship: 52,
+ LINE: 53,
+ END_ARROW_R: 54,
+ CONTAINS: 55,
+ COPIES: 56,
+ DERIVES: 57,
+ SATISFIES: 58,
+ VERIFIES: 59,
+ REFINES: 60,
+ TRACES: 61,
+ unqString: 62,
+ qString: 63,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 5: 'NEWLINE',
+ 6: 'RD',
+ 8: 'EOF',
+ 9: 'acc_title',
+ 10: 'acc_title_value',
+ 11: 'acc_descr',
+ 12: 'acc_descr_value',
+ 13: 'acc_descr_multiline_value',
+ 19: 'STRUCT_START',
+ 21: 'ID',
+ 22: 'COLONSEP',
+ 24: 'TEXT',
+ 26: 'RISK',
+ 28: 'VERIFYMTHD',
+ 30: 'STRUCT_STOP',
+ 31: 'REQUIREMENT',
+ 32: 'FUNCTIONAL_REQUIREMENT',
+ 33: 'INTERFACE_REQUIREMENT',
+ 34: 'PERFORMANCE_REQUIREMENT',
+ 35: 'PHYSICAL_REQUIREMENT',
+ 36: 'DESIGN_CONSTRAINT',
+ 37: 'LOW_RISK',
+ 38: 'MED_RISK',
+ 39: 'HIGH_RISK',
+ 40: 'VERIFY_ANALYSIS',
+ 41: 'VERIFY_DEMONSTRATION',
+ 42: 'VERIFY_INSPECTION',
+ 43: 'VERIFY_TEST',
+ 44: 'ELEMENT',
+ 47: 'TYPE',
+ 49: 'DOCREF',
+ 51: 'END_ARROW_L',
+ 53: 'LINE',
+ 54: 'END_ARROW_R',
+ 55: 'CONTAINS',
+ 56: 'COPIES',
+ 57: 'DERIVES',
+ 58: 'SATISFIES',
+ 59: 'VERIFIES',
+ 60: 'REFINES',
+ 61: 'TRACES',
+ 62: 'unqString',
+ 63: 'qString',
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [3, 2],
+ [3, 4],
+ [4, 2],
+ [4, 2],
+ [4, 1],
+ [7, 0],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [7, 2],
+ [14, 5],
+ [20, 5],
+ [20, 5],
+ [20, 5],
+ [20, 5],
+ [20, 2],
+ [20, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [17, 1],
+ [27, 1],
+ [27, 1],
+ [27, 1],
+ [29, 1],
+ [29, 1],
+ [29, 1],
+ [29, 1],
+ [15, 5],
+ [46, 5],
+ [46, 5],
+ [46, 2],
+ [46, 1],
+ [16, 5],
+ [16, 5],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [52, 1],
+ [18, 1],
+ [18, 1],
+ [23, 1],
+ [23, 1],
+ [25, 1],
+ [25, 1],
+ [45, 1],
+ [45, 1],
+ [48, 1],
+ [48, 1],
+ [50, 1],
+ [50, 1],
+ ],
+ performAction: function (Et, Gt, ln, xt, Pt, Ze, At) {
+ var Tt = Ze.length - 1;
+ switch (Pt) {
+ case 4:
+ ((this.$ = Ze[Tt].trim()), xt.setAccTitle(this.$));
+ break;
+ case 5:
+ case 6:
+ ((this.$ = Ze[Tt].trim()), xt.setAccDescription(this.$));
+ break;
+ case 7:
+ this.$ = [];
+ break;
+ case 13:
+ xt.addRequirement(Ze[Tt - 3], Ze[Tt - 4]);
+ break;
+ case 14:
+ xt.setNewReqId(Ze[Tt - 2]);
+ break;
+ case 15:
+ xt.setNewReqText(Ze[Tt - 2]);
+ break;
+ case 16:
+ xt.setNewReqRisk(Ze[Tt - 2]);
+ break;
+ case 17:
+ xt.setNewReqVerifyMethod(Ze[Tt - 2]);
+ break;
+ case 20:
+ this.$ = xt.RequirementType.REQUIREMENT;
+ break;
+ case 21:
+ this.$ = xt.RequirementType.FUNCTIONAL_REQUIREMENT;
+ break;
+ case 22:
+ this.$ = xt.RequirementType.INTERFACE_REQUIREMENT;
+ break;
+ case 23:
+ this.$ = xt.RequirementType.PERFORMANCE_REQUIREMENT;
+ break;
+ case 24:
+ this.$ = xt.RequirementType.PHYSICAL_REQUIREMENT;
+ break;
+ case 25:
+ this.$ = xt.RequirementType.DESIGN_CONSTRAINT;
+ break;
+ case 26:
+ this.$ = xt.RiskLevel.LOW_RISK;
+ break;
+ case 27:
+ this.$ = xt.RiskLevel.MED_RISK;
+ break;
+ case 28:
+ this.$ = xt.RiskLevel.HIGH_RISK;
+ break;
+ case 29:
+ this.$ = xt.VerifyType.VERIFY_ANALYSIS;
+ break;
+ case 30:
+ this.$ = xt.VerifyType.VERIFY_DEMONSTRATION;
+ break;
+ case 31:
+ this.$ = xt.VerifyType.VERIFY_INSPECTION;
+ break;
+ case 32:
+ this.$ = xt.VerifyType.VERIFY_TEST;
+ break;
+ case 33:
+ xt.addElement(Ze[Tt - 3]);
+ break;
+ case 34:
+ xt.setNewElementType(Ze[Tt - 2]);
+ break;
+ case 35:
+ xt.setNewElementDocRef(Ze[Tt - 2]);
+ break;
+ case 38:
+ xt.addRelationship(Ze[Tt - 2], Ze[Tt], Ze[Tt - 4]);
+ break;
+ case 39:
+ xt.addRelationship(Ze[Tt - 2], Ze[Tt - 4], Ze[Tt]);
+ break;
+ case 40:
+ this.$ = xt.Relationships.CONTAINS;
+ break;
+ case 41:
+ this.$ = xt.Relationships.COPIES;
+ break;
+ case 42:
+ this.$ = xt.Relationships.DERIVES;
+ break;
+ case 43:
+ this.$ = xt.Relationships.SATISFIES;
+ break;
+ case 44:
+ this.$ = xt.Relationships.VERIFIES;
+ break;
+ case 45:
+ this.$ = xt.Relationships.REFINES;
+ break;
+ case 46:
+ this.$ = xt.Relationships.TRACES;
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: 2, 6: s, 9: u, 11: d, 13: p },
+ { 1: [3] },
+ { 3: 8, 4: 2, 5: [1, 7], 6: s, 9: u, 11: d, 13: p },
+ { 5: [1, 9] },
+ { 10: [1, 10] },
+ { 12: [1, 11] },
+ i(v, [2, 6]),
+ { 3: 12, 4: 2, 6: s, 9: u, 11: d, 13: p },
+ { 1: [2, 2] },
+ {
+ 4: 17,
+ 5: b,
+ 7: 13,
+ 8: y,
+ 9: u,
+ 11: d,
+ 13: p,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: T,
+ 32: _,
+ 33: A,
+ 34: P,
+ 35: R,
+ 36: F,
+ 44: j,
+ 62: W,
+ 63: ee,
+ },
+ i(v, [2, 4]),
+ i(v, [2, 5]),
+ { 1: [2, 1] },
+ { 8: [1, 30] },
+ {
+ 4: 17,
+ 5: b,
+ 7: 31,
+ 8: y,
+ 9: u,
+ 11: d,
+ 13: p,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: T,
+ 32: _,
+ 33: A,
+ 34: P,
+ 35: R,
+ 36: F,
+ 44: j,
+ 62: W,
+ 63: ee,
+ },
+ {
+ 4: 17,
+ 5: b,
+ 7: 32,
+ 8: y,
+ 9: u,
+ 11: d,
+ 13: p,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: T,
+ 32: _,
+ 33: A,
+ 34: P,
+ 35: R,
+ 36: F,
+ 44: j,
+ 62: W,
+ 63: ee,
+ },
+ {
+ 4: 17,
+ 5: b,
+ 7: 33,
+ 8: y,
+ 9: u,
+ 11: d,
+ 13: p,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: T,
+ 32: _,
+ 33: A,
+ 34: P,
+ 35: R,
+ 36: F,
+ 44: j,
+ 62: W,
+ 63: ee,
+ },
+ {
+ 4: 17,
+ 5: b,
+ 7: 34,
+ 8: y,
+ 9: u,
+ 11: d,
+ 13: p,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: T,
+ 32: _,
+ 33: A,
+ 34: P,
+ 35: R,
+ 36: F,
+ 44: j,
+ 62: W,
+ 63: ee,
+ },
+ {
+ 4: 17,
+ 5: b,
+ 7: 35,
+ 8: y,
+ 9: u,
+ 11: d,
+ 13: p,
+ 14: 14,
+ 15: 15,
+ 16: 16,
+ 17: 19,
+ 23: 21,
+ 31: T,
+ 32: _,
+ 33: A,
+ 34: P,
+ 35: R,
+ 36: F,
+ 44: j,
+ 62: W,
+ 63: ee,
+ },
+ { 18: 36, 62: [1, 37], 63: [1, 38] },
+ { 45: 39, 62: [1, 40], 63: [1, 41] },
+ { 51: [1, 42], 53: [1, 43] },
+ i(ie, [2, 20]),
+ i(ie, [2, 21]),
+ i(ie, [2, 22]),
+ i(ie, [2, 23]),
+ i(ie, [2, 24]),
+ i(ie, [2, 25]),
+ i(oe, [2, 49]),
+ i(oe, [2, 50]),
+ { 1: [2, 3] },
+ { 8: [2, 8] },
+ { 8: [2, 9] },
+ { 8: [2, 10] },
+ { 8: [2, 11] },
+ { 8: [2, 12] },
+ { 19: [1, 44] },
+ { 19: [2, 47] },
+ { 19: [2, 48] },
+ { 19: [1, 45] },
+ { 19: [2, 53] },
+ { 19: [2, 54] },
+ { 52: 46, 55: be, 56: ge, 57: ae, 58: ne, 59: se, 60: de, 61: X },
+ { 52: 54, 55: be, 56: ge, 57: ae, 58: ne, 59: se, 60: de, 61: X },
+ { 5: [1, 55] },
+ { 5: [1, 56] },
+ { 53: [1, 57] },
+ i(pe, [2, 40]),
+ i(pe, [2, 41]),
+ i(pe, [2, 42]),
+ i(pe, [2, 43]),
+ i(pe, [2, 44]),
+ i(pe, [2, 45]),
+ i(pe, [2, 46]),
+ { 54: [1, 58] },
+ { 5: G, 20: 59, 21: xe, 24: U, 26: Be, 28: Ne, 30: je },
+ { 5: Ie, 30: Se, 46: 66, 47: Ce, 49: ke },
+ { 23: 71, 62: W, 63: ee },
+ { 23: 72, 62: W, 63: ee },
+ i(Ke, [2, 13]),
+ { 22: [1, 73] },
+ { 22: [1, 74] },
+ { 22: [1, 75] },
+ { 22: [1, 76] },
+ { 5: G, 20: 77, 21: xe, 24: U, 26: Be, 28: Ne, 30: je },
+ i(Ke, [2, 19]),
+ i(Ke, [2, 33]),
+ { 22: [1, 78] },
+ { 22: [1, 79] },
+ { 5: Ie, 30: Se, 46: 80, 47: Ce, 49: ke },
+ i(Ke, [2, 37]),
+ i(Ke, [2, 38]),
+ i(Ke, [2, 39]),
+ { 23: 81, 62: W, 63: ee },
+ { 25: 82, 62: [1, 83], 63: [1, 84] },
+ { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] },
+ { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] },
+ i(Ke, [2, 18]),
+ { 48: 94, 62: [1, 95], 63: [1, 96] },
+ { 50: 97, 62: [1, 98], 63: [1, 99] },
+ i(Ke, [2, 36]),
+ { 5: [1, 100] },
+ { 5: [1, 101] },
+ { 5: [2, 51] },
+ { 5: [2, 52] },
+ { 5: [1, 102] },
+ { 5: [2, 26] },
+ { 5: [2, 27] },
+ { 5: [2, 28] },
+ { 5: [1, 103] },
+ { 5: [2, 29] },
+ { 5: [2, 30] },
+ { 5: [2, 31] },
+ { 5: [2, 32] },
+ { 5: [1, 104] },
+ { 5: [2, 55] },
+ { 5: [2, 56] },
+ { 5: [1, 105] },
+ { 5: [2, 57] },
+ { 5: [2, 58] },
+ { 5: G, 20: 106, 21: xe, 24: U, 26: Be, 28: Ne, 30: je },
+ { 5: G, 20: 107, 21: xe, 24: U, 26: Be, 28: Ne, 30: je },
+ { 5: G, 20: 108, 21: xe, 24: U, 26: Be, 28: Ne, 30: je },
+ { 5: G, 20: 109, 21: xe, 24: U, 26: Be, 28: Ne, 30: je },
+ { 5: Ie, 30: Se, 46: 110, 47: Ce, 49: ke },
+ { 5: Ie, 30: Se, 46: 111, 47: Ce, 49: ke },
+ i(Ke, [2, 14]),
+ i(Ke, [2, 15]),
+ i(Ke, [2, 16]),
+ i(Ke, [2, 17]),
+ i(Ke, [2, 34]),
+ i(Ke, [2, 35]),
+ ],
+ defaultActions: {
+ 8: [2, 2],
+ 12: [2, 1],
+ 30: [2, 3],
+ 31: [2, 8],
+ 32: [2, 9],
+ 33: [2, 10],
+ 34: [2, 11],
+ 35: [2, 12],
+ 37: [2, 47],
+ 38: [2, 48],
+ 40: [2, 53],
+ 41: [2, 54],
+ 83: [2, 51],
+ 84: [2, 52],
+ 86: [2, 26],
+ 87: [2, 27],
+ 88: [2, 28],
+ 90: [2, 29],
+ 91: [2, 30],
+ 92: [2, 31],
+ 93: [2, 32],
+ 95: [2, 55],
+ 96: [2, 56],
+ 98: [2, 57],
+ 99: [2, 58],
+ },
+ parseError: function (Et, Gt) {
+ if (Gt.recoverable) this.trace(Et);
+ else {
+ var ln = new Error(Et);
+ throw ((ln.hash = Gt), ln);
+ }
+ },
+ parse: function (Et) {
+ var Gt = this,
+ ln = [0],
+ xt = [],
+ Pt = [null],
+ Ze = [],
+ At = this.table,
+ Tt = '',
+ On = 0,
+ ht = 0,
+ zr = 2,
+ yt = 1,
+ Fi = Ze.slice.call(arguments, 1),
+ yi = Object.create(this.lexer),
+ Ba = { yy: {} };
+ for (var na in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, na) && (Ba.yy[na] = this.yy[na]);
+ (yi.setInput(Et, Ba.yy),
+ (Ba.yy.lexer = yi),
+ (Ba.yy.parser = this),
+ typeof yi.yylloc > 'u' && (yi.yylloc = {}));
+ var Ro = yi.yylloc;
+ Ze.push(Ro);
+ var _r = yi.options && yi.options.ranges;
+ typeof Ba.yy.parseError == 'function'
+ ? (this.parseError = Ba.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Nn() {
+ var ua;
+ return (
+ (ua = xt.pop() || yi.lex() || yt),
+ typeof ua != 'number' &&
+ (ua instanceof Array && ((xt = ua), (ua = xt.pop())), (ua = Gt.symbols_[ua] || ua)),
+ ua
+ );
+ }
+ for (var $n, qn, Lt, wt, cn = {}, fn, Mn, mo, Io; ; ) {
+ if (
+ ((qn = ln[ln.length - 1]),
+ this.defaultActions[qn]
+ ? (Lt = this.defaultActions[qn])
+ : (($n === null || typeof $n > 'u') && ($n = Nn()), (Lt = At[qn] && At[qn][$n])),
+ typeof Lt > 'u' || !Lt.length || !Lt[0])
+ ) {
+ var Xa = '';
+ Io = [];
+ for (fn in At[qn])
+ this.terminals_[fn] && fn > zr && Io.push("'" + this.terminals_[fn] + "'");
+ (yi.showPosition
+ ? (Xa =
+ 'Parse error on line ' +
+ (On + 1) +
+ `:
+` +
+ yi.showPosition() +
+ `
+Expecting ` +
+ Io.join(', ') +
+ ", got '" +
+ (this.terminals_[$n] || $n) +
+ "'")
+ : (Xa =
+ 'Parse error on line ' +
+ (On + 1) +
+ ': Unexpected ' +
+ ($n == yt ? 'end of input' : "'" + (this.terminals_[$n] || $n) + "'")),
+ this.parseError(Xa, {
+ text: yi.match,
+ token: this.terminals_[$n] || $n,
+ line: yi.yylineno,
+ loc: Ro,
+ expected: Io,
+ }));
+ }
+ if (Lt[0] instanceof Array && Lt.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + qn + ', token: ' + $n,
+ );
+ switch (Lt[0]) {
+ case 1:
+ (ln.push($n),
+ Pt.push(yi.yytext),
+ Ze.push(yi.yylloc),
+ ln.push(Lt[1]),
+ ($n = null),
+ (ht = yi.yyleng),
+ (Tt = yi.yytext),
+ (On = yi.yylineno),
+ (Ro = yi.yylloc));
+ break;
+ case 2:
+ if (
+ ((Mn = this.productions_[Lt[1]][1]),
+ (cn.$ = Pt[Pt.length - Mn]),
+ (cn._$ = {
+ first_line: Ze[Ze.length - (Mn || 1)].first_line,
+ last_line: Ze[Ze.length - 1].last_line,
+ first_column: Ze[Ze.length - (Mn || 1)].first_column,
+ last_column: Ze[Ze.length - 1].last_column,
+ }),
+ _r &&
+ (cn._$.range = [
+ Ze[Ze.length - (Mn || 1)].range[0],
+ Ze[Ze.length - 1].range[1],
+ ]),
+ (wt = this.performAction.apply(
+ cn,
+ [Tt, ht, On, Ba.yy, Lt[1], Pt, Ze].concat(Fi),
+ )),
+ typeof wt < 'u')
+ )
+ return wt;
+ (Mn &&
+ ((ln = ln.slice(0, -1 * Mn * 2)),
+ (Pt = Pt.slice(0, -1 * Mn)),
+ (Ze = Ze.slice(0, -1 * Mn))),
+ ln.push(this.productions_[Lt[1]][0]),
+ Pt.push(cn.$),
+ Ze.push(cn._$),
+ (mo = At[ln[ln.length - 2]][ln[ln.length - 1]]),
+ ln.push(mo));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ Pe = (function () {
+ var kt = {
+ EOF: 1,
+ parseError: function (Gt, ln) {
+ if (this.yy.parser) this.yy.parser.parseError(Gt, ln);
+ else throw new Error(Gt);
+ },
+ setInput: function (Et, Gt) {
+ return (
+ (this.yy = Gt || this.yy || {}),
+ (this._input = Et),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var Et = this._input[0];
+ ((this.yytext += Et),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Et),
+ (this.matched += Et));
+ var Gt = Et.match(/(?:\r\n?|\n).*/g);
+ return (
+ Gt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Et
+ );
+ },
+ unput: function (Et) {
+ var Gt = Et.length,
+ ln = Et.split(/(?:\r\n?|\n)/g);
+ ((this._input = Et + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Gt)),
+ (this.offset -= Gt));
+ var xt = 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)),
+ ln.length - 1 && (this.yylineno -= ln.length - 1));
+ var Pt = 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: ln
+ ? (ln.length === xt.length ? this.yylloc.first_column : 0) +
+ xt[xt.length - ln.length].length -
+ ln[0].length
+ : this.yylloc.first_column - Gt,
+ }),
+ this.options.ranges && (this.yylloc.range = [Pt[0], Pt[0] + this.yyleng - Gt]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (Et) {
+ this.unput(this.match.slice(Et));
+ },
+ pastInput: function () {
+ var Et = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Et.length > 20 ? '...' : '') + Et.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var Et = this.match;
+ return (
+ Et.length < 20 && (Et += this._input.substr(0, 20 - Et.length)),
+ (Et.substr(0, 20) + (Et.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var Et = this.pastInput(),
+ Gt = new Array(Et.length + 1).join('-');
+ return (
+ Et +
+ this.upcomingInput() +
+ `
+` +
+ Gt +
+ '^'
+ );
+ },
+ test_match: function (Et, Gt) {
+ var ln, xt, Pt;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Pt = {
+ 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 && (Pt.yylloc.range = this.yylloc.range.slice(0))),
+ (xt = Et[0].match(/(?:\r\n?|\n).*/g)),
+ xt && (this.yylineno += xt.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: xt
+ ? xt[xt.length - 1].length - xt[xt.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Et[0].length,
+ }),
+ (this.yytext += Et[0]),
+ (this.match += Et[0]),
+ (this.matches = Et),
+ (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(Et[0].length)),
+ (this.matched += Et[0]),
+ (ln = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Gt,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ ln)
+ )
+ return ln;
+ if (this._backtrack) {
+ for (var Ze in Pt) this[Ze] = Pt[Ze];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Et, Gt, ln, xt;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Pt = this._currentRules(), Ze = 0; Ze < Pt.length; Ze++)
+ if (
+ ((ln = this._input.match(this.rules[Pt[Ze]])),
+ ln && (!Gt || ln[0].length > Gt[0].length))
+ ) {
+ if (((Gt = ln), (xt = Ze), this.options.backtrack_lexer)) {
+ if (((Et = this.test_match(ln, Pt[Ze])), Et !== !1)) return Et;
+ if (this._backtrack) {
+ Gt = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Gt
+ ? ((Et = this.test_match(Gt, Pt[xt])), Et !== !1 ? Et : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var Gt = this.next();
+ return Gt || this.lex();
+ },
+ begin: function (Gt) {
+ this.conditionStack.push(Gt);
+ },
+ popState: function () {
+ var Gt = this.conditionStack.length - 1;
+ return Gt > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (Gt) {
+ return (
+ (Gt = this.conditionStack.length - 1 - Math.abs(Gt || 0)),
+ Gt >= 0 ? this.conditionStack[Gt] : 'INITIAL'
+ );
+ },
+ pushState: function (Gt) {
+ this.begin(Gt);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (Gt, ln, xt, Pt) {
+ switch (xt) {
+ case 0:
+ return 'title';
+ case 1:
+ return (this.begin('acc_title'), 9);
+ case 2:
+ return (this.popState(), 'acc_title_value');
+ case 3:
+ return (this.begin('acc_descr'), 11);
+ case 4:
+ return (this.popState(), 'acc_descr_value');
+ case 5:
+ this.begin('acc_descr_multiline');
+ break;
+ case 6:
+ this.popState();
+ break;
+ case 7:
+ return 'acc_descr_multiline_value';
+ case 8:
+ return 5;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ return 8;
+ case 13:
+ return 6;
+ case 14:
+ return 19;
+ case 15:
+ return 30;
+ case 16:
+ return 22;
+ case 17:
+ return 21;
+ case 18:
+ return 24;
+ case 19:
+ return 26;
+ case 20:
+ return 28;
+ case 21:
+ return 31;
+ case 22:
+ return 32;
+ case 23:
+ return 33;
+ case 24:
+ return 34;
+ case 25:
+ return 35;
+ case 26:
+ return 36;
+ case 27:
+ return 37;
+ case 28:
+ return 38;
+ case 29:
+ return 39;
+ case 30:
+ return 40;
+ case 31:
+ return 41;
+ case 32:
+ return 42;
+ case 33:
+ return 43;
+ case 34:
+ return 44;
+ case 35:
+ return 55;
+ case 36:
+ return 56;
+ case 37:
+ return 57;
+ case 38:
+ return 58;
+ case 39:
+ return 59;
+ case 40:
+ return 60;
+ case 41:
+ return 61;
+ case 42:
+ return 47;
+ case 43:
+ return 49;
+ case 44:
+ return 51;
+ case 45:
+ return 54;
+ case 46:
+ return 53;
+ case 47:
+ this.begin('string');
+ break;
+ case 48:
+ this.popState();
+ break;
+ case 49:
+ return 'qString';
+ case 50:
+ return ((ln.yytext = ln.yytext.trim()), 62);
+ }
+ },
+ rules: [
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:(\r?\n)+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:$)/i,
+ /^(?:requirementDiagram\b)/i,
+ /^(?:\{)/i,
+ /^(?:\})/i,
+ /^(?::)/i,
+ /^(?:id\b)/i,
+ /^(?:text\b)/i,
+ /^(?:risk\b)/i,
+ /^(?:verifyMethod\b)/i,
+ /^(?:requirement\b)/i,
+ /^(?:functionalRequirement\b)/i,
+ /^(?:interfaceRequirement\b)/i,
+ /^(?:performanceRequirement\b)/i,
+ /^(?:physicalRequirement\b)/i,
+ /^(?:designConstraint\b)/i,
+ /^(?:low\b)/i,
+ /^(?:medium\b)/i,
+ /^(?:high\b)/i,
+ /^(?:analysis\b)/i,
+ /^(?:demonstration\b)/i,
+ /^(?:inspection\b)/i,
+ /^(?:test\b)/i,
+ /^(?:element\b)/i,
+ /^(?:contains\b)/i,
+ /^(?:copies\b)/i,
+ /^(?:derives\b)/i,
+ /^(?:satisfies\b)/i,
+ /^(?:verifies\b)/i,
+ /^(?:refines\b)/i,
+ /^(?:traces\b)/i,
+ /^(?:type\b)/i,
+ /^(?:docref\b)/i,
+ /^(?:<-)/i,
+ /^(?:->)/i,
+ /^(?:-)/i,
+ /^(?:["])/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[\w][^\r\n\{\<\>\-\=]*)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [6, 7], inclusive: !1 },
+ acc_descr: { rules: [4], inclusive: !1 },
+ acc_title: { rules: [2], inclusive: !1 },
+ unqString: { rules: [], inclusive: !1 },
+ token: { rules: [], inclusive: !1 },
+ string: { rules: [48, 49], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 50,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return kt;
+ })();
+ Ft.lexer = Pe;
+ function gn() {
+ this.yy = {};
+ }
+ return ((gn.prototype = Ft), (Ft.Parser = gn), new gn());
+ })();
+ mve.parser = mve;
+ const brn = mve;
+ let vve = [],
+ U2 = {},
+ VR = {},
+ B9 = {},
+ UR = {};
+ const mrn = {
+ RequirementType: {
+ REQUIREMENT: 'Requirement',
+ FUNCTIONAL_REQUIREMENT: 'Functional Requirement',
+ INTERFACE_REQUIREMENT: 'Interface Requirement',
+ PERFORMANCE_REQUIREMENT: 'Performance Requirement',
+ PHYSICAL_REQUIREMENT: 'Physical Requirement',
+ DESIGN_CONSTRAINT: 'Design Constraint',
+ },
+ RiskLevel: { LOW_RISK: 'Low', MED_RISK: 'Medium', HIGH_RISK: 'High' },
+ VerifyType: {
+ VERIFY_ANALYSIS: 'Analysis',
+ VERIFY_DEMONSTRATION: 'Demonstration',
+ VERIFY_INSPECTION: 'Inspection',
+ VERIFY_TEST: 'Test',
+ },
+ Relationships: {
+ CONTAINS: 'contains',
+ COPIES: 'copies',
+ DERIVES: 'derives',
+ SATISFIES: 'satisfies',
+ VERIFIES: 'verifies',
+ REFINES: 'refines',
+ TRACES: 'traces',
+ },
+ getConfig: () => qt().req,
+ addRequirement: (i, s) => (
+ VR[i] === void 0 &&
+ (VR[i] = {
+ name: i,
+ type: s,
+ id: U2.id,
+ text: U2.text,
+ risk: U2.risk,
+ verifyMethod: U2.verifyMethod,
+ }),
+ (U2 = {}),
+ VR[i]
+ ),
+ getRequirements: () => VR,
+ setNewReqId: (i) => {
+ U2 !== void 0 && (U2.id = i);
+ },
+ setNewReqText: (i) => {
+ U2 !== void 0 && (U2.text = i);
+ },
+ setNewReqRisk: (i) => {
+ U2 !== void 0 && (U2.risk = i);
+ },
+ setNewReqVerifyMethod: (i) => {
+ U2 !== void 0 && (U2.verifyMethod = i);
+ },
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setAccDescription: _p,
+ getAccDescription: Ap,
+ addElement: (i) => (
+ UR[i] === void 0 &&
+ ((UR[i] = { name: i, type: B9.type, docRef: B9.docRef }),
+ Xe.info('Added new requirement: ', i)),
+ (B9 = {}),
+ UR[i]
+ ),
+ getElements: () => UR,
+ setNewElementType: (i) => {
+ B9 !== void 0 && (B9.type = i);
+ },
+ setNewElementDocRef: (i) => {
+ B9 !== void 0 && (B9.docRef = i);
+ },
+ addRelationship: (i, s, u) => {
+ vve.push({ type: i, src: s, dst: u });
+ },
+ getRelationships: () => vve,
+ clear: () => {
+ ((vve = []), (U2 = {}), (VR = {}), (B9 = {}), (UR = {}), Ng());
+ },
+ },
+ vrn = (i) => `
marker {
fill: ${i.relationColor};
@@ -967,15 +55879,2589 @@ Expecting `+Io.join(", ")+", got '"+(this.terminals_[$n]||$n)+"'":Xa="Parse erro
fill: ${i.relationLabelColor};
}
-`,wve={CONTAINS:"contains",ARROW:"arrow"},LGe={ReqMarkers:wve,insertLineEndings:(i,s)=>{let u=i.append("defs").append("marker").attr("id",wve.CONTAINS+"_line_ending").attr("refX",0).attr("refY",s.line_height/2).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("g");u.append("circle").attr("cx",s.line_height/2).attr("cy",s.line_height/2).attr("r",s.line_height/2).attr("fill","none"),u.append("line").attr("x1",0).attr("x2",s.line_height).attr("y1",s.line_height/2).attr("y2",s.line_height/2).attr("stroke-width",1),u.append("line").attr("y1",0).attr("y2",s.line_height).attr("x1",s.line_height/2).attr("x2",s.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",wve.ARROW+"_line_ending").attr("refX",s.line_height).attr("refY",.5*s.line_height).attr("markerWidth",s.line_height).attr("markerHeight",s.line_height).attr("orient","auto").append("path").attr("d",`M0,0
- L${s.line_height},${s.line_height/2}
- M${s.line_height},${s.line_height/2}
- L0,${s.line_height}`).attr("stroke-width",1)}};let Ef={},MGe=0;const DGe=(i,s)=>i.insert("rect","#"+s).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Ef.rect_min_width+"px").attr("height",Ef.rect_min_height+"px"),IGe=(i,s,u)=>{let d=Ef.rect_min_width/2,p=i.append("text").attr("class","req reqLabel reqTitle").attr("id",s).attr("x",d).attr("y",Ef.rect_padding).attr("dominant-baseline","hanging"),v=0;u.forEach(_=>{v==0?p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",0).text(_):p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",Ef.line_height*.75).text(_),v++});let b=1.5*Ef.rect_padding,y=v*Ef.line_height*.75,T=b+y;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Ef.rect_min_width).attr("y1",T).attr("y2",T),{titleNode:p,y:T}},OGe=(i,s,u,d)=>{let p=i.append("text").attr("class","req reqLabel").attr("id",s).attr("x",Ef.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),v=0;const b=30;let y=[];return u.forEach(T=>{let _=T.length;for(;_>b&&v<3;){let A=T.substring(0,b);T=T.substring(b,T.length),_=T.length,y[y.length]=A,v++}if(v==3){let A=y[y.length-1];y[y.length-1]=A.substring(0,A.length-4)+"..."}else y[y.length]=T;v=0}),y.forEach(T=>{p.append("tspan").attr("x",Ef.rect_padding).attr("dy",Ef.line_height).text(T)}),p},wrn=(i,s,u,d)=>{const p=s.node().getTotalLength(),v=s.node().getPointAtLength(p*.5),b="rel"+MGe;MGe++;const T=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-T.width/2).attr("y",v.y-T.height/2).attr("width",T.width).attr("height",T.height).attr("fill","white").attr("fill-opacity","85%")},yrn=function(i,s,u,d,p){const v=u.edge(KD(s.src),KD(s.dst)),b=x7().x(function(T){return T.x}).y(function(T){return T.y}),y=i.insert("path","#"+d).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");s.type==p.db.Relationships.CONTAINS?y.attr("marker-start","url("+ci.getUrl(Ef.arrowMarkerAbsolute)+"#"+s.type+"_line_ending)"):(y.attr("stroke-dasharray","10,7"),y.attr("marker-end","url("+ci.getUrl(Ef.arrowMarkerAbsolute)+"#"+LGe.ReqMarkers.ARROW+"_line_ending)")),wrn(i,y,Ef,`<<${s.type}>>`)},xrn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];d=KD(d),Xe.info("Added new requirement: ",d);const v=u.append("g").attr("id",d),b="req-"+d,y=DGe(v,b);let T=IGe(v,d+"_title",[`<<${p.type}>>`,`${p.name}`]);OGe(v,d+"_body",[`Id: ${p.id}`,`Text: ${p.text}`,`Risk: ${p.risk}`,`Verification: ${p.verifyMethod}`],T.y);const _=y.node().getBBox();s.setNode(d,{width:_.width,height:_.height,shape:"rect",id:d})})},krn=(i,s,u)=>{Object.keys(i).forEach(d=>{let p=i[d];const v=KD(d),b=u.append("g").attr("id",v),y="element-"+v,T=DGe(b,y);let _=IGe(b,y+"_title",["<>",`${d}`]);OGe(b,y+"_body",[`Type: ${p.type||"Not Specified"}`,`Doc Ref: ${p.docRef||"None"}`],_.y);const A=T.node().getBBox();s.setNode(v,{width:A.width,height:A.height,shape:"rect",id:v})})},Ern=(i,s)=>(i.forEach(function(u){let d=KD(u.src),p=KD(u.dst);s.setEdge(d,p,{relationship:u})}),i),Trn=function(i,s){s.nodes().forEach(function(u){u!==void 0&&s.node(u)!==void 0&&(i.select("#"+u),i.select("#"+u).attr("transform","translate("+(s.node(u).x-s.node(u).width/2)+","+(s.node(u).y-s.node(u).height/2)+" )"))})},KD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),Crn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:brn,db:mrn,renderer:{draw:(i,s,u,d)=>{Ef=qt().requirement;const p=Ef.securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const y=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${s}']`);LGe.insertLineEndings(y,Ef);const T=new N0({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Ef.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=d.db.getRequirements(),A=d.db.getElements(),P=d.db.getRelationships();xrn(_,T,y),krn(A,T,y),Ern(P,T),zD(T),Trn(y,T),P.forEach(function(ee){yrn(y,ee,T,s,d)});const R=Ef.rect_padding,F=y.node().getBBox(),j=F.width+R*2,W=F.height+R*2;Og(y,W,j,Ef.useMaxWidth),y.attr("viewBox",`${F.x-R} ${F.y-R} ${j} ${W}`)}},styles:vrn}},Symbol.toStringTag,{value:"Module"}));var yve=function(){var i=function(xt,Pt,Ze,At){for(Ze=Ze||{},At=xt.length;At--;Ze[xt[At]]=Pt);return Ze},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,13],T=[1,14],_=[1,16],A=[1,17],P=[1,18],R=[1,24],F=[1,25],j=[1,26],W=[1,27],ee=[1,28],ie=[1,29],oe=[1,30],be=[1,31],ge=[1,32],ae=[1,33],ne=[1,34],se=[1,35],de=[1,36],X=[1,37],pe=[1,38],G=[1,39],xe=[1,41],U=[1,42],Be=[1,43],Ne=[1,44],je=[1,45],Ie=[1,46],Se=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ce=[4,5,16,50,52,53],ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Ke=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Ft=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Pe=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],gn=[68,69,70],kt=[1,120],Et={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Pt,Ze,At,Tt,On,ht,zr){var yt=ht.length-1;switch(On){case 3:return Tt.apply(ht[yt]),ht[yt];case 4:case 9:this.$=[];break;case 5:case 10:ht[yt-1].push(ht[yt]),this.$=ht[yt-1];break;case 6:case 7:case 11:case 12:this.$=ht[yt];break;case 8:case 13:this.$=[];break;case 15:ht[yt].type="createParticipant",this.$=ht[yt];break;case 16:ht[yt-1].unshift({type:"boxStart",boxData:Tt.parseBoxData(ht[yt-2])}),ht[yt-1].push({type:"boxEnd",boxText:ht[yt-2]}),this.$=ht[yt-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-2]),sequenceIndexStep:Number(ht[yt-1]),sequenceVisible:!0,signalType:Tt.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[yt-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Tt.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Tt.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Tt.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:Tt.LINETYPE.ACTIVE_START,actor:ht[yt-1]};break;case 23:this.$={type:"activeEnd",signalType:Tt.LINETYPE.ACTIVE_END,actor:ht[yt-1]};break;case 29:Tt.setDiagramTitle(ht[yt].substring(6)),this.$=ht[yt].substring(6);break;case 30:Tt.setDiagramTitle(ht[yt].substring(7)),this.$=ht[yt].substring(7);break;case 31:this.$=ht[yt].trim(),Tt.setAccTitle(this.$);break;case 32:case 33:this.$=ht[yt].trim(),Tt.setAccDescription(this.$);break;case 34:ht[yt-1].unshift({type:"loopStart",loopText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.LOOP_START}),ht[yt-1].push({type:"loopEnd",loopText:ht[yt-2],signalType:Tt.LINETYPE.LOOP_END}),this.$=ht[yt-1];break;case 35:ht[yt-1].unshift({type:"rectStart",color:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.RECT_START}),ht[yt-1].push({type:"rectEnd",color:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.RECT_END}),this.$=ht[yt-1];break;case 36:ht[yt-1].unshift({type:"optStart",optText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.OPT_START}),ht[yt-1].push({type:"optEnd",optText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.OPT_END}),this.$=ht[yt-1];break;case 37:ht[yt-1].unshift({type:"altStart",altText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.ALT_START}),ht[yt-1].push({type:"altEnd",signalType:Tt.LINETYPE.ALT_END}),this.$=ht[yt-1];break;case 38:ht[yt-1].unshift({type:"parStart",parText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.PAR_START}),ht[yt-1].push({type:"parEnd",signalType:Tt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 39:ht[yt-1].unshift({type:"parStart",parText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.PAR_OVER_START}),ht[yt-1].push({type:"parEnd",signalType:Tt.LINETYPE.PAR_END}),this.$=ht[yt-1];break;case 40:ht[yt-1].unshift({type:"criticalStart",criticalText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.CRITICAL_START}),ht[yt-1].push({type:"criticalEnd",signalType:Tt.LINETYPE.CRITICAL_END}),this.$=ht[yt-1];break;case 41:ht[yt-1].unshift({type:"breakStart",breakText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.BREAK_START}),ht[yt-1].push({type:"breakEnd",optText:Tt.parseMessage(ht[yt-2]),signalType:Tt.LINETYPE.BREAK_END}),this.$=ht[yt-1];break;case 43:this.$=ht[yt-3].concat([{type:"option",optionText:Tt.parseMessage(ht[yt-1]),signalType:Tt.LINETYPE.CRITICAL_OPTION},ht[yt]]);break;case 45:this.$=ht[yt-3].concat([{type:"and",parText:Tt.parseMessage(ht[yt-1]),signalType:Tt.LINETYPE.PAR_AND},ht[yt]]);break;case 47:this.$=ht[yt-3].concat([{type:"else",altText:Tt.parseMessage(ht[yt-1]),signalType:Tt.LINETYPE.ALT_ELSE},ht[yt]]);break;case 48:ht[yt-3].draw="participant",ht[yt-3].type="addParticipant",ht[yt-3].description=Tt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 49:ht[yt-1].draw="participant",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 50:ht[yt-3].draw="actor",ht[yt-3].type="addParticipant",ht[yt-3].description=Tt.parseMessage(ht[yt-1]),this.$=ht[yt-3];break;case 51:ht[yt-1].draw="actor",ht[yt-1].type="addParticipant",this.$=ht[yt-1];break;case 52:ht[yt-1].type="destroyParticipant",this.$=ht[yt-1];break;case 53:this.$=[ht[yt-1],{type:"addNote",placement:ht[yt-2],actor:ht[yt-1].actor,text:ht[yt]}];break;case 54:ht[yt-2]=[].concat(ht[yt-1],ht[yt-1]).slice(0,2),ht[yt-2][0]=ht[yt-2][0].actor,ht[yt-2][1]=ht[yt-2][1].actor,this.$=[ht[yt-1],{type:"addNote",placement:Tt.PLACEMENT.OVER,actor:ht[yt-2].slice(0,2),text:ht[yt]}];break;case 55:this.$=[ht[yt-1],{type:"addLinks",actor:ht[yt-1].actor,text:ht[yt]}];break;case 56:this.$=[ht[yt-1],{type:"addALink",actor:ht[yt-1].actor,text:ht[yt]}];break;case 57:this.$=[ht[yt-1],{type:"addProperties",actor:ht[yt-1].actor,text:ht[yt]}];break;case 58:this.$=[ht[yt-1],{type:"addDetails",actor:ht[yt-1].actor,text:ht[yt]}];break;case 61:this.$=[ht[yt-2],ht[yt]];break;case 62:this.$=ht[yt];break;case 63:this.$=Tt.PLACEMENT.LEFTOF;break;case 64:this.$=Tt.PLACEMENT.RIGHTOF;break;case 65:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt],activate:!0},{type:"activeStart",signalType:Tt.LINETYPE.ACTIVE_START,actor:ht[yt-1]}];break;case 66:this.$=[ht[yt-4],ht[yt-1],{type:"addMessage",from:ht[yt-4].actor,to:ht[yt-1].actor,signalType:ht[yt-3],msg:ht[yt]},{type:"activeEnd",signalType:Tt.LINETYPE.ACTIVE_END,actor:ht[yt-4]}];break;case 67:this.$=[ht[yt-3],ht[yt-1],{type:"addMessage",from:ht[yt-3].actor,to:ht[yt-1].actor,signalType:ht[yt-2],msg:ht[yt]}];break;case 68:this.$={type:"addParticipant",actor:ht[yt]};break;case 69:this.$=Tt.LINETYPE.SOLID_OPEN;break;case 70:this.$=Tt.LINETYPE.DOTTED_OPEN;break;case 71:this.$=Tt.LINETYPE.SOLID;break;case 72:this.$=Tt.LINETYPE.DOTTED;break;case 73:this.$=Tt.LINETYPE.SOLID_CROSS;break;case 74:this.$=Tt.LINETYPE.DOTTED_CROSS;break;case 75:this.$=Tt.LINETYPE.SOLID_POINT;break;case 76:this.$=Tt.LINETYPE.DOTTED_POINT;break;case 77:this.$=Tt.parseMessage(ht[yt].trim().substring(1));break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},i(Se,[2,5]),{9:47,12:12,13:y,14:T,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},i(Se,[2,7]),i(Se,[2,8]),i(Se,[2,14]),{12:48,50:X,52:pe,53:G},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ie},{22:55,70:Ie},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Se,[2,29]),i(Se,[2,30]),{32:[1,61]},{34:[1,62]},i(Se,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:Ie},{22:72,70:Ie},{22:73,70:Ie},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:Ie},{22:88,70:Ie},{22:89,70:Ie},{22:90,70:Ie},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Se,[2,6]),i(Se,[2,15]),i(Ce,[2,9],{10:91}),i(Se,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Se,[2,21]),{5:[1,95]},{5:[1,96]},i(Se,[2,24]),i(Se,[2,25]),i(Se,[2,26]),i(Se,[2,27]),i(Se,[2,28]),i(Se,[2,31]),i(Se,[2,32]),i(ke,p,{7:97}),i(ke,p,{7:98}),i(ke,p,{7:99}),i(Ke,p,{40:100,7:101}),i(Ft,p,{42:102,7:103}),i(Ft,p,{7:103,42:104}),i(Pe,p,{45:105,7:106}),i(ke,p,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:Ie},i(gn,[2,69]),i(gn,[2,70]),i(gn,[2,71]),i(gn,[2,72]),i(gn,[2,73]),i(gn,[2,74]),i(gn,[2,75]),i(gn,[2,76]),{22:116,70:Ie},{22:118,58:117,70:Ie},{70:[2,63]},{70:[2,64]},{56:119,79:kt},{56:121,79:kt},{56:122,79:kt},{56:123,79:kt},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pe,53:G},{5:[1,129]},i(Se,[2,19]),i(Se,[2,20]),i(Se,[2,22]),i(Se,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,130],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,131],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,132],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,46],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,49:[1,134],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,44],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,48:[1,136],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[2,42],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,47:[1,139],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:T,16:[1,140],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:F,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Ne,62:je,70:Ie},{15:[1,141]},i(Se,[2,49]),{15:[1,142]},i(Se,[2,51]),i(Se,[2,52]),{22:143,70:Ie},{22:144,70:Ie},{56:145,79:kt},{56:146,79:kt},{56:147,79:kt},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Se,[2,16]),i(Ce,[2,10]),{12:149,50:X,52:pe,53:G},i(Ce,[2,12]),i(Ce,[2,13]),i(Se,[2,18]),i(Se,[2,34]),i(Se,[2,35]),i(Se,[2,36]),i(Se,[2,37]),{15:[1,150]},i(Se,[2,38]),{15:[1,151]},i(Se,[2,39]),i(Se,[2,40]),{15:[1,152]},i(Se,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:kt},{56:156,79:kt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ie},i(Ce,[2,11]),i(Ke,p,{7:101,40:158}),i(Ft,p,{7:103,42:159}),i(Pe,p,{7:106,45:160}),i(Se,[2,48]),i(Se,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Pt,Ze){if(Ze.recoverable)this.trace(Pt);else{var At=new Error(Pt);throw At.hash=Ze,At}},parse:function(Pt){var Ze=this,At=[0],Tt=[],On=[null],ht=[],zr=this.table,yt="",Fi=0,yi=0,Ba=2,na=1,Ro=ht.slice.call(arguments,1),_r=Object.create(this.lexer),Nn={yy:{}};for(var $n in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$n)&&(Nn.yy[$n]=this.yy[$n]);_r.setInput(Pt,Nn.yy),Nn.yy.lexer=_r,Nn.yy.parser=this,typeof _r.yylloc>"u"&&(_r.yylloc={});var qn=_r.yylloc;ht.push(qn);var Lt=_r.options&&_r.options.ranges;typeof Nn.yy.parseError=="function"?this.parseError=Nn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function wt(){var Zo;return Zo=Tt.pop()||_r.lex()||na,typeof Zo!="number"&&(Zo instanceof Array&&(Tt=Zo,Zo=Tt.pop()),Zo=Ze.symbols_[Zo]||Zo),Zo}for(var cn,fn,Mn,mo,Io={},Xa,ua,Oo,Ts;;){if(fn=At[At.length-1],this.defaultActions[fn]?Mn=this.defaultActions[fn]:((cn===null||typeof cn>"u")&&(cn=wt()),Mn=zr[fn]&&zr[fn][cn]),typeof Mn>"u"||!Mn.length||!Mn[0]){var nl="";Ts=[];for(Xa in zr[fn])this.terminals_[Xa]&&Xa>Ba&&Ts.push("'"+this.terminals_[Xa]+"'");_r.showPosition?nl="Parse error on line "+(Fi+1)+`:
-`+_r.showPosition()+`
-Expecting `+Ts.join(", ")+", got '"+(this.terminals_[cn]||cn)+"'":nl="Parse error on line "+(Fi+1)+": Unexpected "+(cn==na?"end of input":"'"+(this.terminals_[cn]||cn)+"'"),this.parseError(nl,{text:_r.match,token:this.terminals_[cn]||cn,line:_r.yylineno,loc:qn,expected:Ts})}if(Mn[0]instanceof Array&&Mn.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fn+", token: "+cn);switch(Mn[0]){case 1:At.push(cn),On.push(_r.yytext),ht.push(_r.yylloc),At.push(Mn[1]),cn=null,yi=_r.yyleng,yt=_r.yytext,Fi=_r.yylineno,qn=_r.yylloc;break;case 2:if(ua=this.productions_[Mn[1]][1],Io.$=On[On.length-ua],Io._$={first_line:ht[ht.length-(ua||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(ua||1)].first_column,last_column:ht[ht.length-1].last_column},Lt&&(Io._$.range=[ht[ht.length-(ua||1)].range[0],ht[ht.length-1].range[1]]),mo=this.performAction.apply(Io,[yt,yi,Fi,Nn.yy,Mn[1],On,ht].concat(Ro)),typeof mo<"u")return mo;ua&&(At=At.slice(0,-1*ua*2),On=On.slice(0,-1*ua),ht=ht.slice(0,-1*ua)),At.push(this.productions_[Mn[1]][0]),On.push(Io.$),ht.push(Io._$),Oo=zr[At[At.length-2]][At[At.length-1]],At.push(Oo);break;case 3:return!0}}return!0}},Gt=function(){var xt={EOF:1,parseError:function(Ze,At){if(this.yy.parser)this.yy.parser.parseError(Ze,At);else throw new Error(Ze)},setInput:function(Pt,Ze){return this.yy=Ze||this.yy||{},this._input=Pt,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Pt=this._input[0];this.yytext+=Pt,this.yyleng++,this.offset++,this.match+=Pt,this.matched+=Pt;var Ze=Pt.match(/(?:\r\n?|\n).*/g);return Ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Pt},unput:function(Pt){var Ze=Pt.length,At=Pt.split(/(?:\r\n?|\n)/g);this._input=Pt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ze),this.offset-=Ze;var Tt=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),At.length-1&&(this.yylineno-=At.length-1);var On=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:At?(At.length===Tt.length?this.yylloc.first_column:0)+Tt[Tt.length-At.length].length-At[0].length:this.yylloc.first_column-Ze},this.options.ranges&&(this.yylloc.range=[On[0],On[0]+this.yyleng-Ze]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Pt){this.unput(this.match.slice(Pt))},pastInput:function(){var Pt=this.matched.substr(0,this.matched.length-this.match.length);return(Pt.length>20?"...":"")+Pt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Pt=this.match;return Pt.length<20&&(Pt+=this._input.substr(0,20-Pt.length)),(Pt.substr(0,20)+(Pt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Pt=this.pastInput(),Ze=new Array(Pt.length+1).join("-");return Pt+this.upcomingInput()+`
-`+Ze+"^"},test_match:function(Pt,Ze){var At,Tt,On;if(this.options.backtrack_lexer&&(On={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&&(On.yylloc.range=this.yylloc.range.slice(0))),Tt=Pt[0].match(/(?:\r\n?|\n).*/g),Tt&&(this.yylineno+=Tt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Tt?Tt[Tt.length-1].length-Tt[Tt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Pt[0].length},this.yytext+=Pt[0],this.match+=Pt[0],this.matches=Pt,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(Pt[0].length),this.matched+=Pt[0],At=this.performAction.call(this,this.yy,this,Ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),At)return At;if(this._backtrack){for(var ht in On)this[ht]=On[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Pt,Ze,At,Tt;this._more||(this.yytext="",this.match="");for(var On=this._currentRules(),ht=0;htZe[0].length)){if(Ze=At,Tt=ht,this.options.backtrack_lexer){if(Pt=this.test_match(At,On[ht]),Pt!==!1)return Pt;if(this._backtrack){Ze=!1;continue}else return!1}else if(!this.options.flex)break}return Ze?(Pt=this.test_match(Ze,On[Tt]),Pt!==!1?Pt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ze=this.next();return Ze||this.lex()},begin:function(Ze){this.conditionStack.push(Ze)},popState:function(){var Ze=this.conditionStack.length-1;return Ze>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ze){return Ze=this.conditionStack.length-1-Math.abs(Ze||0),Ze>=0?this.conditionStack[Ze]:"INITIAL"},pushState:function(Ze){this.begin(Ze)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ze,At,Tt,On){switch(Tt){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return At.yytext=At.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return At.yytext=At.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return xt}();Et.lexer=Gt;function ln(){this.yy={}}return ln.prototype=Et,Et.Parser=ln,new ln}();yve.parser=yve;const Srn=yve;class _rn{constructor(s){this.init=s,this.records=this.init()}reset(){this.records=this.init()}}const Os=new _rn(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Arn=function(i){Os.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&QC()||!!i.wrap,fill:i.color,actorKeys:[]}),Os.records.currentBox=Os.records.boxes.slice(-1)[0]},xve=function(i,s,u,d){let p=Os.records.currentBox;const v=Os.records.actors[i];if(v){if(Os.records.currentBox&&v.box&&Os.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+Os.records.currentBox.name+"' at the same time.");if(p=v.box?v.box:Os.records.currentBox,v.box=p,v&&s===v.name&&u==null)return}(u==null||u.text==null)&&(u={text:s,wrap:null,type:d}),(d==null||u.text==null)&&(u={text:s,wrap:null,type:d}),Os.records.actors[i]={box:p,name:s,description:u.text,wrap:u.wrap===void 0&&QC()||!!u.wrap,prevActor:Os.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:d||"participant"},Os.records.prevActor&&Os.records.actors[Os.records.prevActor]&&(Os.records.actors[Os.records.prevActor].nextActor=i),Os.records.currentBox&&Os.records.currentBox.actorKeys.push(i),Os.records.prevActor=i},Lrn=i=>{let s,u=0;for(s=0;s>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return Os.records.messages.push({from:i,to:s,message:u.text,wrap:u.wrap===void 0&&QC()||!!u.wrap,type:d,activate:p}),!0},Drn=function(){return Os.records.boxes.length>0},Irn=function(){return Os.records.boxes.some(i=>i.name)},Orn=function(){return Os.records.messages},Nrn=function(){return Os.records.boxes},Prn=function(){return Os.records.actors},Brn=function(){return Os.records.createdActors},Frn=function(){return Os.records.destroyedActors},GR=function(i){return Os.records.actors[i]},Rrn=function(){return Object.keys(Os.records.actors)},jrn=function(){Os.records.sequenceNumbersEnabled=!0},$rn=function(){Os.records.sequenceNumbersEnabled=!1},zrn=()=>Os.records.sequenceNumbersEnabled,qrn=function(i){Os.records.wrapEnabled=i},QC=()=>Os.records.wrapEnabled!==void 0?Os.records.wrapEnabled:qt().sequence.wrap,Hrn=function(){Os.reset(),Ng()},Vrn=function(i){const s=i.trim(),u={text:s.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:s.match(/^:?wrap:/)!==null?!0:s.match(/^:?nowrap:/)!==null?!1:void 0};return Xe.debug("parseMessage:",u),u},Urn=function(i){const s=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let u=s!=null&&s[1]?s[1].trim():"transparent",d=s!=null&&s[2]?s[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",u)||(u="transparent",d=i.trim());else{const p=new Option().style;p.color=u,p.color!==u&&(u="transparent",d=i.trim())}return{color:u,text:d!==void 0?yh(d.replace(/^:?(?:no)?wrap:/,""),qt()):void 0,wrap:d!==void 0?d.match(/^:?wrap:/)!==null?!0:d.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},KR={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},Grn={FILLED:0,OPEN:1},Krn={LEFTOF:0,RIGHTOF:1,OVER:2},NGe=function(i,s,u){const d={actor:i,placement:s,message:u.text,wrap:u.wrap===void 0&&QC()||!!u.wrap},p=[].concat(i,i);Os.records.notes.push(d),Os.records.messages.push({from:p[0],to:p[1],message:u.text,wrap:u.wrap===void 0&&QC()||!!u.wrap,type:KR.NOTE,placement:s})},PGe=function(i,s){const u=GR(i);try{let d=yh(s.text,qt());d=d.replace(/&/g,"&"),d=d.replace(/=/g,"=");const p=JSON.parse(d);kve(u,p)}catch(d){Xe.error("error while parsing actor link text",d)}},Wrn=function(i,s){const u=GR(i);try{const b={};let y=yh(s.text,qt());var d=y.indexOf("@");y=y.replace(/&/g,"&"),y=y.replace(/=/g,"=");var p=y.slice(0,d-1).trim(),v=y.slice(d+1).trim();b[p]=v,kve(u,b)}catch(b){Xe.error("error while parsing actor link text",b)}};function kve(i,s){if(i.links==null)i.links=s;else for(let u in s)i.links[u]=s[u]}const BGe=function(i,s){const u=GR(i);try{let d=yh(s.text,qt());const p=JSON.parse(d);FGe(u,p)}catch(d){Xe.error("error while parsing actor properties text",d)}};function FGe(i,s){if(i.properties==null)i.properties=s;else for(let u in s)i.properties[u]=s[u]}function Yrn(){Os.records.currentBox=void 0}const RGe=function(i,s){const u=GR(i),d=document.getElementById(s.text);try{const p=d.innerHTML,v=JSON.parse(p);v.properties&&FGe(u,v.properties),v.links&&kve(u,v.links)}catch(p){Xe.error("error while parsing actor details text",p)}},Xrn=function(i,s){if(i!==void 0&&i.properties!==void 0)return i.properties[s]},jGe=function(i){if(Array.isArray(i))i.forEach(function(s){jGe(s)});else switch(i.type){case"sequenceIndex":Os.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":xve(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(Os.records.actors[i.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");Os.records.lastCreated=i.actor,xve(i.actor,i.actor,i.description,i.draw),Os.records.createdActors[i.actor]=Os.records.messages.length;break;case"destroyParticipant":Os.records.lastDestroyed=i.actor,Os.records.destroyedActors[i.actor]=Os.records.messages.length;break;case"activeStart":Xf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Xf(i.actor,void 0,void 0,i.signalType);break;case"addNote":NGe(i.actor,i.placement,i.text);break;case"addLinks":PGe(i.actor,i.text);break;case"addALink":Wrn(i.actor,i.text);break;case"addProperties":BGe(i.actor,i.text);break;case"addDetails":RGe(i.actor,i.text);break;case"addMessage":if(Os.records.lastCreated){if(i.to!==Os.records.lastCreated)throw new Error("The created participant "+Os.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Os.records.lastCreated=void 0}else if(Os.records.lastDestroyed){if(i.to!==Os.records.lastDestroyed&&i.from!==Os.records.lastDestroyed)throw new Error("The destroyed participant "+Os.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Os.records.lastDestroyed=void 0}Xf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":Arn(i.boxData);break;case"boxEnd":Yrn();break;case"loopStart":Xf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Xf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"optStart":Xf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"altStart":Xf(void 0,void 0,i.altText,i.signalType);break;case"else":Xf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":Pg(i.text);break;case"parStart":Xf(void 0,void 0,i.parText,i.signalType);break;case"and":Xf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Xf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Xf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Xf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Xf(void 0,void 0,void 0,i.signalType);break}},$Ge={addActor:xve,addMessage:Mrn,addSignal:Xf,addLinks:PGe,addDetails:RGe,addProperties:BGe,autoWrap:QC,setWrap:qrn,enableSequenceNumbers:jrn,disableSequenceNumbers:$rn,showSequenceNumbers:zrn,getMessages:Orn,getActors:Prn,getCreatedActors:Brn,getDestroyedActors:Frn,getActor:GR,getActorKeys:Rrn,getActorProperty:Xrn,getAccTitle:Sp,getBoxes:Nrn,getDiagramTitle:Lp,setDiagramTitle:om,getConfig:()=>qt().sequence,clear:Hrn,parseMessage:Vrn,parseBoxData:Urn,LINETYPE:KR,ARROWTYPE:Grn,PLACEMENT:Krn,addNote:NGe,setAccTitle:Pg,apply:jGe,setAccDescription:_p,getAccDescription:Ap,hasAtLeastOneBox:Drn,hasAtLeastOneBoxWithTitle:Irn},Qrn=i=>`.actor {
+`,
+ wve = { CONTAINS: 'contains', ARROW: 'arrow' },
+ LGe = {
+ ReqMarkers: wve,
+ insertLineEndings: (i, s) => {
+ let u = i
+ .append('defs')
+ .append('marker')
+ .attr('id', wve.CONTAINS + '_line_ending')
+ .attr('refX', 0)
+ .attr('refY', s.line_height / 2)
+ .attr('markerWidth', s.line_height)
+ .attr('markerHeight', s.line_height)
+ .attr('orient', 'auto')
+ .append('g');
+ (u
+ .append('circle')
+ .attr('cx', s.line_height / 2)
+ .attr('cy', s.line_height / 2)
+ .attr('r', s.line_height / 2)
+ .attr('fill', 'none'),
+ u
+ .append('line')
+ .attr('x1', 0)
+ .attr('x2', s.line_height)
+ .attr('y1', s.line_height / 2)
+ .attr('y2', s.line_height / 2)
+ .attr('stroke-width', 1),
+ u
+ .append('line')
+ .attr('y1', 0)
+ .attr('y2', s.line_height)
+ .attr('x1', s.line_height / 2)
+ .attr('x2', s.line_height / 2)
+ .attr('stroke-width', 1),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', wve.ARROW + '_line_ending')
+ .attr('refX', s.line_height)
+ .attr('refY', 0.5 * s.line_height)
+ .attr('markerWidth', s.line_height)
+ .attr('markerHeight', s.line_height)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr(
+ 'd',
+ `M0,0
+ L${s.line_height},${s.line_height / 2}
+ M${s.line_height},${s.line_height / 2}
+ L0,${s.line_height}`,
+ )
+ .attr('stroke-width', 1));
+ },
+ };
+ let Ef = {},
+ MGe = 0;
+ const DGe = (i, s) =>
+ i
+ .insert('rect', '#' + s)
+ .attr('class', 'req reqBox')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', Ef.rect_min_width + 'px')
+ .attr('height', Ef.rect_min_height + 'px'),
+ IGe = (i, s, u) => {
+ let d = Ef.rect_min_width / 2,
+ p = i
+ .append('text')
+ .attr('class', 'req reqLabel reqTitle')
+ .attr('id', s)
+ .attr('x', d)
+ .attr('y', Ef.rect_padding)
+ .attr('dominant-baseline', 'hanging'),
+ v = 0;
+ u.forEach((_) => {
+ (v == 0
+ ? p
+ .append('tspan')
+ .attr('text-anchor', 'middle')
+ .attr('x', Ef.rect_min_width / 2)
+ .attr('dy', 0)
+ .text(_)
+ : p
+ .append('tspan')
+ .attr('text-anchor', 'middle')
+ .attr('x', Ef.rect_min_width / 2)
+ .attr('dy', Ef.line_height * 0.75)
+ .text(_),
+ v++);
+ });
+ let b = 1.5 * Ef.rect_padding,
+ y = v * Ef.line_height * 0.75,
+ T = b + y;
+ return (
+ i
+ .append('line')
+ .attr('class', 'req-title-line')
+ .attr('x1', '0')
+ .attr('x2', Ef.rect_min_width)
+ .attr('y1', T)
+ .attr('y2', T),
+ { titleNode: p, y: T }
+ );
+ },
+ OGe = (i, s, u, d) => {
+ let p = i
+ .append('text')
+ .attr('class', 'req reqLabel')
+ .attr('id', s)
+ .attr('x', Ef.rect_padding)
+ .attr('y', d)
+ .attr('dominant-baseline', 'hanging'),
+ v = 0;
+ const b = 30;
+ let y = [];
+ return (
+ u.forEach((T) => {
+ let _ = T.length;
+ for (; _ > b && v < 3; ) {
+ let A = T.substring(0, b);
+ ((T = T.substring(b, T.length)), (_ = T.length), (y[y.length] = A), v++);
+ }
+ if (v == 3) {
+ let A = y[y.length - 1];
+ y[y.length - 1] = A.substring(0, A.length - 4) + '...';
+ } else y[y.length] = T;
+ v = 0;
+ }),
+ y.forEach((T) => {
+ p.append('tspan').attr('x', Ef.rect_padding).attr('dy', Ef.line_height).text(T);
+ }),
+ p
+ );
+ },
+ wrn = (i, s, u, d) => {
+ const p = s.node().getTotalLength(),
+ v = s.node().getPointAtLength(p * 0.5),
+ b = 'rel' + MGe;
+ MGe++;
+ const T = i
+ .append('text')
+ .attr('class', 'req relationshipLabel')
+ .attr('id', b)
+ .attr('x', v.x)
+ .attr('y', v.y)
+ .attr('text-anchor', 'middle')
+ .attr('dominant-baseline', 'middle')
+ .text(d)
+ .node()
+ .getBBox();
+ i.insert('rect', '#' + b)
+ .attr('class', 'req reqLabelBox')
+ .attr('x', v.x - T.width / 2)
+ .attr('y', v.y - T.height / 2)
+ .attr('width', T.width)
+ .attr('height', T.height)
+ .attr('fill', 'white')
+ .attr('fill-opacity', '85%');
+ },
+ yrn = function (i, s, u, d, p) {
+ const v = u.edge(KD(s.src), KD(s.dst)),
+ b = x7()
+ .x(function (T) {
+ return T.x;
+ })
+ .y(function (T) {
+ return T.y;
+ }),
+ y = i
+ .insert('path', '#' + d)
+ .attr('class', 'er relationshipLine')
+ .attr('d', b(v.points))
+ .attr('fill', 'none');
+ (s.type == p.db.Relationships.CONTAINS
+ ? y.attr(
+ 'marker-start',
+ 'url(' + ci.getUrl(Ef.arrowMarkerAbsolute) + '#' + s.type + '_line_ending)',
+ )
+ : (y.attr('stroke-dasharray', '10,7'),
+ y.attr(
+ 'marker-end',
+ 'url(' +
+ ci.getUrl(Ef.arrowMarkerAbsolute) +
+ '#' +
+ LGe.ReqMarkers.ARROW +
+ '_line_ending)',
+ )),
+ wrn(i, y, Ef, `<<${s.type}>>`));
+ },
+ xrn = (i, s, u) => {
+ Object.keys(i).forEach((d) => {
+ let p = i[d];
+ ((d = KD(d)), Xe.info('Added new requirement: ', d));
+ const v = u.append('g').attr('id', d),
+ b = 'req-' + d,
+ y = DGe(v, b);
+ let T = IGe(v, d + '_title', [`<<${p.type}>>`, `${p.name}`]);
+ OGe(
+ v,
+ d + '_body',
+ [`Id: ${p.id}`, `Text: ${p.text}`, `Risk: ${p.risk}`, `Verification: ${p.verifyMethod}`],
+ T.y,
+ );
+ const _ = y.node().getBBox();
+ s.setNode(d, { width: _.width, height: _.height, shape: 'rect', id: d });
+ });
+ },
+ krn = (i, s, u) => {
+ Object.keys(i).forEach((d) => {
+ let p = i[d];
+ const v = KD(d),
+ b = u.append('g').attr('id', v),
+ y = 'element-' + v,
+ T = DGe(b, y);
+ let _ = IGe(b, y + '_title', ['<>', `${d}`]);
+ OGe(
+ b,
+ y + '_body',
+ [`Type: ${p.type || 'Not Specified'}`, `Doc Ref: ${p.docRef || 'None'}`],
+ _.y,
+ );
+ const A = T.node().getBBox();
+ s.setNode(v, { width: A.width, height: A.height, shape: 'rect', id: v });
+ });
+ },
+ Ern = (i, s) => (
+ i.forEach(function (u) {
+ let d = KD(u.src),
+ p = KD(u.dst);
+ s.setEdge(d, p, { relationship: u });
+ }),
+ i
+ ),
+ Trn = function (i, s) {
+ s.nodes().forEach(function (u) {
+ u !== void 0 &&
+ s.node(u) !== void 0 &&
+ (i.select('#' + u),
+ i
+ .select('#' + u)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (s.node(u).x - s.node(u).width / 2) +
+ ',' +
+ (s.node(u).y - s.node(u).height / 2) +
+ ' )',
+ ));
+ });
+ },
+ KD = (i) => i.replace(/\s/g, '').replace(/\./g, '_'),
+ Crn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: brn,
+ db: mrn,
+ renderer: {
+ draw: (i, s, u, d) => {
+ Ef = qt().requirement;
+ const p = Ef.securityLevel;
+ let v;
+ p === 'sandbox' && (v = Ir('#i' + s));
+ const y = Ir(p === 'sandbox' ? v.nodes()[0].contentDocument.body : 'body').select(
+ `[id='${s}']`,
+ );
+ LGe.insertLineEndings(y, Ef);
+ const T = new N0({ multigraph: !1, compound: !1, directed: !0 })
+ .setGraph({
+ rankdir: Ef.layoutDirection,
+ marginx: 20,
+ marginy: 20,
+ nodesep: 100,
+ edgesep: 100,
+ ranksep: 100,
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ let _ = d.db.getRequirements(),
+ A = d.db.getElements(),
+ P = d.db.getRelationships();
+ (xrn(_, T, y),
+ krn(A, T, y),
+ Ern(P, T),
+ zD(T),
+ Trn(y, T),
+ P.forEach(function (ee) {
+ yrn(y, ee, T, s, d);
+ }));
+ const R = Ef.rect_padding,
+ F = y.node().getBBox(),
+ j = F.width + R * 2,
+ W = F.height + R * 2;
+ (Og(y, W, j, Ef.useMaxWidth), y.attr('viewBox', `${F.x - R} ${F.y - R} ${j} ${W}`));
+ },
+ },
+ styles: vrn,
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var yve = (function () {
+ var i = function (xt, Pt, Ze, At) {
+ for (Ze = Ze || {}, At = xt.length; At--; Ze[xt[At]] = Pt);
+ return Ze;
+ },
+ s = [1, 2],
+ u = [1, 3],
+ d = [1, 4],
+ p = [2, 4],
+ v = [1, 9],
+ b = [1, 11],
+ y = [1, 13],
+ T = [1, 14],
+ _ = [1, 16],
+ A = [1, 17],
+ P = [1, 18],
+ R = [1, 24],
+ F = [1, 25],
+ j = [1, 26],
+ W = [1, 27],
+ ee = [1, 28],
+ ie = [1, 29],
+ oe = [1, 30],
+ be = [1, 31],
+ ge = [1, 32],
+ ae = [1, 33],
+ ne = [1, 34],
+ se = [1, 35],
+ de = [1, 36],
+ X = [1, 37],
+ pe = [1, 38],
+ G = [1, 39],
+ xe = [1, 41],
+ U = [1, 42],
+ Be = [1, 43],
+ Ne = [1, 44],
+ je = [1, 45],
+ Ie = [1, 46],
+ Se = [
+ 1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48,
+ 49, 50, 52, 53, 54, 59, 60, 61, 62, 70,
+ ],
+ Ce = [4, 5, 16, 50, 52, 53],
+ ke = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52,
+ 53, 54, 59, 60, 61, 62, 70,
+ ],
+ Ke = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50,
+ 52, 53, 54, 59, 60, 61, 62, 70,
+ ],
+ Ft = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50,
+ 52, 53, 54, 59, 60, 61, 62, 70,
+ ],
+ Pe = [
+ 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50,
+ 52, 53, 54, 59, 60, 61, 62, 70,
+ ],
+ gn = [68, 69, 70],
+ kt = [1, 120],
+ Et = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SPACE: 4,
+ NEWLINE: 5,
+ SD: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ box_section: 10,
+ box_line: 11,
+ participant_statement: 12,
+ create: 13,
+ box: 14,
+ restOfLine: 15,
+ end: 16,
+ signal: 17,
+ autonumber: 18,
+ NUM: 19,
+ off: 20,
+ activate: 21,
+ actor: 22,
+ deactivate: 23,
+ note_statement: 24,
+ links_statement: 25,
+ link_statement: 26,
+ properties_statement: 27,
+ details_statement: 28,
+ title: 29,
+ legacy_title: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ loop: 36,
+ rect: 37,
+ opt: 38,
+ alt: 39,
+ else_sections: 40,
+ par: 41,
+ par_sections: 42,
+ par_over: 43,
+ critical: 44,
+ option_sections: 45,
+ break: 46,
+ option: 47,
+ and: 48,
+ else: 49,
+ participant: 50,
+ AS: 51,
+ participant_actor: 52,
+ destroy: 53,
+ note: 54,
+ placement: 55,
+ text2: 56,
+ over: 57,
+ actor_pair: 58,
+ links: 59,
+ link: 60,
+ properties: 61,
+ details: 62,
+ spaceList: 63,
+ ',': 64,
+ left_of: 65,
+ right_of: 66,
+ signaltype: 67,
+ '+': 68,
+ '-': 69,
+ ACTOR: 70,
+ SOLID_OPEN_ARROW: 71,
+ DOTTED_OPEN_ARROW: 72,
+ SOLID_ARROW: 73,
+ DOTTED_ARROW: 74,
+ SOLID_CROSS: 75,
+ DOTTED_CROSS: 76,
+ SOLID_POINT: 77,
+ DOTTED_POINT: 78,
+ TXT: 79,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACE',
+ 5: 'NEWLINE',
+ 6: 'SD',
+ 13: 'create',
+ 14: 'box',
+ 15: 'restOfLine',
+ 16: 'end',
+ 18: 'autonumber',
+ 19: 'NUM',
+ 20: 'off',
+ 21: 'activate',
+ 23: 'deactivate',
+ 29: 'title',
+ 30: 'legacy_title',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 36: 'loop',
+ 37: 'rect',
+ 38: 'opt',
+ 39: 'alt',
+ 41: 'par',
+ 43: 'par_over',
+ 44: 'critical',
+ 46: 'break',
+ 47: 'option',
+ 48: 'and',
+ 49: 'else',
+ 50: 'participant',
+ 51: 'AS',
+ 52: 'participant_actor',
+ 53: 'destroy',
+ 54: 'note',
+ 57: 'over',
+ 59: 'links',
+ 60: 'link',
+ 61: 'properties',
+ 62: 'details',
+ 64: ',',
+ 65: 'left_of',
+ 66: 'right_of',
+ 68: '+',
+ 69: '-',
+ 70: 'ACTOR',
+ 71: 'SOLID_OPEN_ARROW',
+ 72: 'DOTTED_OPEN_ARROW',
+ 73: 'SOLID_ARROW',
+ 74: 'DOTTED_ARROW',
+ 75: 'SOLID_CROSS',
+ 76: 'DOTTED_CROSS',
+ 77: 'SOLID_POINT',
+ 78: 'DOTTED_POINT',
+ 79: 'TXT',
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [8, 1],
+ [8, 1],
+ [10, 0],
+ [10, 2],
+ [11, 2],
+ [11, 1],
+ [11, 1],
+ [9, 1],
+ [9, 2],
+ [9, 4],
+ [9, 2],
+ [9, 4],
+ [9, 3],
+ [9, 3],
+ [9, 2],
+ [9, 3],
+ [9, 3],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [9, 4],
+ [45, 1],
+ [45, 4],
+ [42, 1],
+ [42, 4],
+ [40, 1],
+ [40, 4],
+ [12, 5],
+ [12, 3],
+ [12, 5],
+ [12, 3],
+ [12, 3],
+ [24, 4],
+ [24, 4],
+ [25, 3],
+ [26, 3],
+ [27, 3],
+ [28, 3],
+ [63, 2],
+ [63, 1],
+ [58, 3],
+ [58, 1],
+ [55, 1],
+ [55, 1],
+ [17, 5],
+ [17, 5],
+ [17, 4],
+ [22, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [67, 1],
+ [56, 1],
+ ],
+ performAction: function (Pt, Ze, At, Tt, On, ht, zr) {
+ var yt = ht.length - 1;
+ switch (On) {
+ case 3:
+ return (Tt.apply(ht[yt]), ht[yt]);
+ case 4:
+ case 9:
+ this.$ = [];
+ break;
+ case 5:
+ case 10:
+ (ht[yt - 1].push(ht[yt]), (this.$ = ht[yt - 1]));
+ break;
+ case 6:
+ case 7:
+ case 11:
+ case 12:
+ this.$ = ht[yt];
+ break;
+ case 8:
+ case 13:
+ this.$ = [];
+ break;
+ case 15:
+ ((ht[yt].type = 'createParticipant'), (this.$ = ht[yt]));
+ break;
+ case 16:
+ (ht[yt - 1].unshift({ type: 'boxStart', boxData: Tt.parseBoxData(ht[yt - 2]) }),
+ ht[yt - 1].push({ type: 'boxEnd', boxText: ht[yt - 2] }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 18:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceIndex: Number(ht[yt - 2]),
+ sequenceIndexStep: Number(ht[yt - 1]),
+ sequenceVisible: !0,
+ signalType: Tt.LINETYPE.AUTONUMBER,
+ };
+ break;
+ case 19:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceIndex: Number(ht[yt - 1]),
+ sequenceIndexStep: 1,
+ sequenceVisible: !0,
+ signalType: Tt.LINETYPE.AUTONUMBER,
+ };
+ break;
+ case 20:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceVisible: !1,
+ signalType: Tt.LINETYPE.AUTONUMBER,
+ };
+ break;
+ case 21:
+ this.$ = {
+ type: 'sequenceIndex',
+ sequenceVisible: !0,
+ signalType: Tt.LINETYPE.AUTONUMBER,
+ };
+ break;
+ case 22:
+ this.$ = {
+ type: 'activeStart',
+ signalType: Tt.LINETYPE.ACTIVE_START,
+ actor: ht[yt - 1],
+ };
+ break;
+ case 23:
+ this.$ = { type: 'activeEnd', signalType: Tt.LINETYPE.ACTIVE_END, actor: ht[yt - 1] };
+ break;
+ case 29:
+ (Tt.setDiagramTitle(ht[yt].substring(6)), (this.$ = ht[yt].substring(6)));
+ break;
+ case 30:
+ (Tt.setDiagramTitle(ht[yt].substring(7)), (this.$ = ht[yt].substring(7)));
+ break;
+ case 31:
+ ((this.$ = ht[yt].trim()), Tt.setAccTitle(this.$));
+ break;
+ case 32:
+ case 33:
+ ((this.$ = ht[yt].trim()), Tt.setAccDescription(this.$));
+ break;
+ case 34:
+ (ht[yt - 1].unshift({
+ type: 'loopStart',
+ loopText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.LOOP_START,
+ }),
+ ht[yt - 1].push({
+ type: 'loopEnd',
+ loopText: ht[yt - 2],
+ signalType: Tt.LINETYPE.LOOP_END,
+ }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 35:
+ (ht[yt - 1].unshift({
+ type: 'rectStart',
+ color: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.RECT_START,
+ }),
+ ht[yt - 1].push({
+ type: 'rectEnd',
+ color: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.RECT_END,
+ }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 36:
+ (ht[yt - 1].unshift({
+ type: 'optStart',
+ optText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.OPT_START,
+ }),
+ ht[yt - 1].push({
+ type: 'optEnd',
+ optText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.OPT_END,
+ }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 37:
+ (ht[yt - 1].unshift({
+ type: 'altStart',
+ altText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.ALT_START,
+ }),
+ ht[yt - 1].push({ type: 'altEnd', signalType: Tt.LINETYPE.ALT_END }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 38:
+ (ht[yt - 1].unshift({
+ type: 'parStart',
+ parText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.PAR_START,
+ }),
+ ht[yt - 1].push({ type: 'parEnd', signalType: Tt.LINETYPE.PAR_END }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 39:
+ (ht[yt - 1].unshift({
+ type: 'parStart',
+ parText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.PAR_OVER_START,
+ }),
+ ht[yt - 1].push({ type: 'parEnd', signalType: Tt.LINETYPE.PAR_END }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 40:
+ (ht[yt - 1].unshift({
+ type: 'criticalStart',
+ criticalText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.CRITICAL_START,
+ }),
+ ht[yt - 1].push({ type: 'criticalEnd', signalType: Tt.LINETYPE.CRITICAL_END }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 41:
+ (ht[yt - 1].unshift({
+ type: 'breakStart',
+ breakText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.BREAK_START,
+ }),
+ ht[yt - 1].push({
+ type: 'breakEnd',
+ optText: Tt.parseMessage(ht[yt - 2]),
+ signalType: Tt.LINETYPE.BREAK_END,
+ }),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 43:
+ this.$ = ht[yt - 3].concat([
+ {
+ type: 'option',
+ optionText: Tt.parseMessage(ht[yt - 1]),
+ signalType: Tt.LINETYPE.CRITICAL_OPTION,
+ },
+ ht[yt],
+ ]);
+ break;
+ case 45:
+ this.$ = ht[yt - 3].concat([
+ {
+ type: 'and',
+ parText: Tt.parseMessage(ht[yt - 1]),
+ signalType: Tt.LINETYPE.PAR_AND,
+ },
+ ht[yt],
+ ]);
+ break;
+ case 47:
+ this.$ = ht[yt - 3].concat([
+ {
+ type: 'else',
+ altText: Tt.parseMessage(ht[yt - 1]),
+ signalType: Tt.LINETYPE.ALT_ELSE,
+ },
+ ht[yt],
+ ]);
+ break;
+ case 48:
+ ((ht[yt - 3].draw = 'participant'),
+ (ht[yt - 3].type = 'addParticipant'),
+ (ht[yt - 3].description = Tt.parseMessage(ht[yt - 1])),
+ (this.$ = ht[yt - 3]));
+ break;
+ case 49:
+ ((ht[yt - 1].draw = 'participant'),
+ (ht[yt - 1].type = 'addParticipant'),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 50:
+ ((ht[yt - 3].draw = 'actor'),
+ (ht[yt - 3].type = 'addParticipant'),
+ (ht[yt - 3].description = Tt.parseMessage(ht[yt - 1])),
+ (this.$ = ht[yt - 3]));
+ break;
+ case 51:
+ ((ht[yt - 1].draw = 'actor'),
+ (ht[yt - 1].type = 'addParticipant'),
+ (this.$ = ht[yt - 1]));
+ break;
+ case 52:
+ ((ht[yt - 1].type = 'destroyParticipant'), (this.$ = ht[yt - 1]));
+ break;
+ case 53:
+ this.$ = [
+ ht[yt - 1],
+ { type: 'addNote', placement: ht[yt - 2], actor: ht[yt - 1].actor, text: ht[yt] },
+ ];
+ break;
+ case 54:
+ ((ht[yt - 2] = [].concat(ht[yt - 1], ht[yt - 1]).slice(0, 2)),
+ (ht[yt - 2][0] = ht[yt - 2][0].actor),
+ (ht[yt - 2][1] = ht[yt - 2][1].actor),
+ (this.$ = [
+ ht[yt - 1],
+ {
+ type: 'addNote',
+ placement: Tt.PLACEMENT.OVER,
+ actor: ht[yt - 2].slice(0, 2),
+ text: ht[yt],
+ },
+ ]));
+ break;
+ case 55:
+ this.$ = [ht[yt - 1], { type: 'addLinks', actor: ht[yt - 1].actor, text: ht[yt] }];
+ break;
+ case 56:
+ this.$ = [ht[yt - 1], { type: 'addALink', actor: ht[yt - 1].actor, text: ht[yt] }];
+ break;
+ case 57:
+ this.$ = [
+ ht[yt - 1],
+ { type: 'addProperties', actor: ht[yt - 1].actor, text: ht[yt] },
+ ];
+ break;
+ case 58:
+ this.$ = [ht[yt - 1], { type: 'addDetails', actor: ht[yt - 1].actor, text: ht[yt] }];
+ break;
+ case 61:
+ this.$ = [ht[yt - 2], ht[yt]];
+ break;
+ case 62:
+ this.$ = ht[yt];
+ break;
+ case 63:
+ this.$ = Tt.PLACEMENT.LEFTOF;
+ break;
+ case 64:
+ this.$ = Tt.PLACEMENT.RIGHTOF;
+ break;
+ case 65:
+ this.$ = [
+ ht[yt - 4],
+ ht[yt - 1],
+ {
+ type: 'addMessage',
+ from: ht[yt - 4].actor,
+ to: ht[yt - 1].actor,
+ signalType: ht[yt - 3],
+ msg: ht[yt],
+ activate: !0,
+ },
+ { type: 'activeStart', signalType: Tt.LINETYPE.ACTIVE_START, actor: ht[yt - 1] },
+ ];
+ break;
+ case 66:
+ this.$ = [
+ ht[yt - 4],
+ ht[yt - 1],
+ {
+ type: 'addMessage',
+ from: ht[yt - 4].actor,
+ to: ht[yt - 1].actor,
+ signalType: ht[yt - 3],
+ msg: ht[yt],
+ },
+ { type: 'activeEnd', signalType: Tt.LINETYPE.ACTIVE_END, actor: ht[yt - 4] },
+ ];
+ break;
+ case 67:
+ this.$ = [
+ ht[yt - 3],
+ ht[yt - 1],
+ {
+ type: 'addMessage',
+ from: ht[yt - 3].actor,
+ to: ht[yt - 1].actor,
+ signalType: ht[yt - 2],
+ msg: ht[yt],
+ },
+ ];
+ break;
+ case 68:
+ this.$ = { type: 'addParticipant', actor: ht[yt] };
+ break;
+ case 69:
+ this.$ = Tt.LINETYPE.SOLID_OPEN;
+ break;
+ case 70:
+ this.$ = Tt.LINETYPE.DOTTED_OPEN;
+ break;
+ case 71:
+ this.$ = Tt.LINETYPE.SOLID;
+ break;
+ case 72:
+ this.$ = Tt.LINETYPE.DOTTED;
+ break;
+ case 73:
+ this.$ = Tt.LINETYPE.SOLID_CROSS;
+ break;
+ case 74:
+ this.$ = Tt.LINETYPE.DOTTED_CROSS;
+ break;
+ case 75:
+ this.$ = Tt.LINETYPE.SOLID_POINT;
+ break;
+ case 76:
+ this.$ = Tt.LINETYPE.DOTTED_POINT;
+ break;
+ case 77:
+ this.$ = Tt.parseMessage(ht[yt].trim().substring(1));
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: s, 5: u, 6: d },
+ { 1: [3] },
+ { 3: 5, 4: s, 5: u, 6: d },
+ { 3: 6, 4: s, 5: u, 6: d },
+ i(
+ [
+ 1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50,
+ 52, 53, 54, 59, 60, 61, 62, 70,
+ ],
+ p,
+ { 7: 7 },
+ ),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ {
+ 1: [2, 3],
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ i(Se, [2, 5]),
+ {
+ 9: 47,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ i(Se, [2, 7]),
+ i(Se, [2, 8]),
+ i(Se, [2, 14]),
+ { 12: 48, 50: X, 52: pe, 53: G },
+ { 15: [1, 49] },
+ { 5: [1, 50] },
+ { 5: [1, 53], 19: [1, 51], 20: [1, 52] },
+ { 22: 54, 70: Ie },
+ { 22: 55, 70: Ie },
+ { 5: [1, 56] },
+ { 5: [1, 57] },
+ { 5: [1, 58] },
+ { 5: [1, 59] },
+ { 5: [1, 60] },
+ i(Se, [2, 29]),
+ i(Se, [2, 30]),
+ { 32: [1, 61] },
+ { 34: [1, 62] },
+ i(Se, [2, 33]),
+ { 15: [1, 63] },
+ { 15: [1, 64] },
+ { 15: [1, 65] },
+ { 15: [1, 66] },
+ { 15: [1, 67] },
+ { 15: [1, 68] },
+ { 15: [1, 69] },
+ { 15: [1, 70] },
+ { 22: 71, 70: Ie },
+ { 22: 72, 70: Ie },
+ { 22: 73, 70: Ie },
+ {
+ 67: 74,
+ 71: [1, 75],
+ 72: [1, 76],
+ 73: [1, 77],
+ 74: [1, 78],
+ 75: [1, 79],
+ 76: [1, 80],
+ 77: [1, 81],
+ 78: [1, 82],
+ },
+ { 55: 83, 57: [1, 84], 65: [1, 85], 66: [1, 86] },
+ { 22: 87, 70: Ie },
+ { 22: 88, 70: Ie },
+ { 22: 89, 70: Ie },
+ { 22: 90, 70: Ie },
+ i([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79], [2, 68]),
+ i(Se, [2, 6]),
+ i(Se, [2, 15]),
+ i(Ce, [2, 9], { 10: 91 }),
+ i(Se, [2, 17]),
+ { 5: [1, 93], 19: [1, 92] },
+ { 5: [1, 94] },
+ i(Se, [2, 21]),
+ { 5: [1, 95] },
+ { 5: [1, 96] },
+ i(Se, [2, 24]),
+ i(Se, [2, 25]),
+ i(Se, [2, 26]),
+ i(Se, [2, 27]),
+ i(Se, [2, 28]),
+ i(Se, [2, 31]),
+ i(Se, [2, 32]),
+ i(ke, p, { 7: 97 }),
+ i(ke, p, { 7: 98 }),
+ i(ke, p, { 7: 99 }),
+ i(Ke, p, { 40: 100, 7: 101 }),
+ i(Ft, p, { 42: 102, 7: 103 }),
+ i(Ft, p, { 7: 103, 42: 104 }),
+ i(Pe, p, { 45: 105, 7: 106 }),
+ i(ke, p, { 7: 107 }),
+ { 5: [1, 109], 51: [1, 108] },
+ { 5: [1, 111], 51: [1, 110] },
+ { 5: [1, 112] },
+ { 22: 115, 68: [1, 113], 69: [1, 114], 70: Ie },
+ i(gn, [2, 69]),
+ i(gn, [2, 70]),
+ i(gn, [2, 71]),
+ i(gn, [2, 72]),
+ i(gn, [2, 73]),
+ i(gn, [2, 74]),
+ i(gn, [2, 75]),
+ i(gn, [2, 76]),
+ { 22: 116, 70: Ie },
+ { 22: 118, 58: 117, 70: Ie },
+ { 70: [2, 63] },
+ { 70: [2, 64] },
+ { 56: 119, 79: kt },
+ { 56: 121, 79: kt },
+ { 56: 122, 79: kt },
+ { 56: 123, 79: kt },
+ { 4: [1, 126], 5: [1, 128], 11: 125, 12: 127, 16: [1, 124], 50: X, 52: pe, 53: G },
+ { 5: [1, 129] },
+ i(Se, [2, 19]),
+ i(Se, [2, 20]),
+ i(Se, [2, 22]),
+ i(Se, [2, 23]),
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [1, 130],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [1, 131],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [1, 132],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ { 16: [1, 133] },
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [2, 46],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 49: [1, 134],
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ { 16: [1, 135] },
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [2, 44],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 48: [1, 136],
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ { 16: [1, 137] },
+ { 16: [1, 138] },
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [2, 42],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 47: [1, 139],
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 12: 12,
+ 13: y,
+ 14: T,
+ 16: [1, 140],
+ 17: 15,
+ 18: _,
+ 21: A,
+ 22: 40,
+ 23: P,
+ 24: 19,
+ 25: 20,
+ 26: 21,
+ 27: 22,
+ 28: 23,
+ 29: R,
+ 30: F,
+ 31: j,
+ 33: W,
+ 35: ee,
+ 36: ie,
+ 37: oe,
+ 38: be,
+ 39: ge,
+ 41: ae,
+ 43: ne,
+ 44: se,
+ 46: de,
+ 50: X,
+ 52: pe,
+ 53: G,
+ 54: xe,
+ 59: U,
+ 60: Be,
+ 61: Ne,
+ 62: je,
+ 70: Ie,
+ },
+ { 15: [1, 141] },
+ i(Se, [2, 49]),
+ { 15: [1, 142] },
+ i(Se, [2, 51]),
+ i(Se, [2, 52]),
+ { 22: 143, 70: Ie },
+ { 22: 144, 70: Ie },
+ { 56: 145, 79: kt },
+ { 56: 146, 79: kt },
+ { 56: 147, 79: kt },
+ { 64: [1, 148], 79: [2, 62] },
+ { 5: [2, 55] },
+ { 5: [2, 77] },
+ { 5: [2, 56] },
+ { 5: [2, 57] },
+ { 5: [2, 58] },
+ i(Se, [2, 16]),
+ i(Ce, [2, 10]),
+ { 12: 149, 50: X, 52: pe, 53: G },
+ i(Ce, [2, 12]),
+ i(Ce, [2, 13]),
+ i(Se, [2, 18]),
+ i(Se, [2, 34]),
+ i(Se, [2, 35]),
+ i(Se, [2, 36]),
+ i(Se, [2, 37]),
+ { 15: [1, 150] },
+ i(Se, [2, 38]),
+ { 15: [1, 151] },
+ i(Se, [2, 39]),
+ i(Se, [2, 40]),
+ { 15: [1, 152] },
+ i(Se, [2, 41]),
+ { 5: [1, 153] },
+ { 5: [1, 154] },
+ { 56: 155, 79: kt },
+ { 56: 156, 79: kt },
+ { 5: [2, 67] },
+ { 5: [2, 53] },
+ { 5: [2, 54] },
+ { 22: 157, 70: Ie },
+ i(Ce, [2, 11]),
+ i(Ke, p, { 7: 101, 40: 158 }),
+ i(Ft, p, { 7: 103, 42: 159 }),
+ i(Pe, p, { 7: 106, 45: 160 }),
+ i(Se, [2, 48]),
+ i(Se, [2, 50]),
+ { 5: [2, 65] },
+ { 5: [2, 66] },
+ { 79: [2, 61] },
+ { 16: [2, 47] },
+ { 16: [2, 45] },
+ { 16: [2, 43] },
+ ],
+ defaultActions: {
+ 5: [2, 1],
+ 6: [2, 2],
+ 85: [2, 63],
+ 86: [2, 64],
+ 119: [2, 55],
+ 120: [2, 77],
+ 121: [2, 56],
+ 122: [2, 57],
+ 123: [2, 58],
+ 145: [2, 67],
+ 146: [2, 53],
+ 147: [2, 54],
+ 155: [2, 65],
+ 156: [2, 66],
+ 157: [2, 61],
+ 158: [2, 47],
+ 159: [2, 45],
+ 160: [2, 43],
+ },
+ parseError: function (Pt, Ze) {
+ if (Ze.recoverable) this.trace(Pt);
+ else {
+ var At = new Error(Pt);
+ throw ((At.hash = Ze), At);
+ }
+ },
+ parse: function (Pt) {
+ var Ze = this,
+ At = [0],
+ Tt = [],
+ On = [null],
+ ht = [],
+ zr = this.table,
+ yt = '',
+ Fi = 0,
+ yi = 0,
+ Ba = 2,
+ na = 1,
+ Ro = ht.slice.call(arguments, 1),
+ _r = Object.create(this.lexer),
+ Nn = { yy: {} };
+ for (var $n in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, $n) && (Nn.yy[$n] = this.yy[$n]);
+ (_r.setInput(Pt, Nn.yy),
+ (Nn.yy.lexer = _r),
+ (Nn.yy.parser = this),
+ typeof _r.yylloc > 'u' && (_r.yylloc = {}));
+ var qn = _r.yylloc;
+ ht.push(qn);
+ var Lt = _r.options && _r.options.ranges;
+ typeof Nn.yy.parseError == 'function'
+ ? (this.parseError = Nn.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function wt() {
+ var Zo;
+ return (
+ (Zo = Tt.pop() || _r.lex() || na),
+ typeof Zo != 'number' &&
+ (Zo instanceof Array && ((Tt = Zo), (Zo = Tt.pop())), (Zo = Ze.symbols_[Zo] || Zo)),
+ Zo
+ );
+ }
+ for (var cn, fn, Mn, mo, Io = {}, Xa, ua, Oo, Ts; ; ) {
+ if (
+ ((fn = At[At.length - 1]),
+ this.defaultActions[fn]
+ ? (Mn = this.defaultActions[fn])
+ : ((cn === null || typeof cn > 'u') && (cn = wt()), (Mn = zr[fn] && zr[fn][cn])),
+ typeof Mn > 'u' || !Mn.length || !Mn[0])
+ ) {
+ var nl = '';
+ Ts = [];
+ for (Xa in zr[fn])
+ this.terminals_[Xa] && Xa > Ba && Ts.push("'" + this.terminals_[Xa] + "'");
+ (_r.showPosition
+ ? (nl =
+ 'Parse error on line ' +
+ (Fi + 1) +
+ `:
+` +
+ _r.showPosition() +
+ `
+Expecting ` +
+ Ts.join(', ') +
+ ", got '" +
+ (this.terminals_[cn] || cn) +
+ "'")
+ : (nl =
+ 'Parse error on line ' +
+ (Fi + 1) +
+ ': Unexpected ' +
+ (cn == na ? 'end of input' : "'" + (this.terminals_[cn] || cn) + "'")),
+ this.parseError(nl, {
+ text: _r.match,
+ token: this.terminals_[cn] || cn,
+ line: _r.yylineno,
+ loc: qn,
+ expected: Ts,
+ }));
+ }
+ if (Mn[0] instanceof Array && Mn.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + fn + ', token: ' + cn,
+ );
+ switch (Mn[0]) {
+ case 1:
+ (At.push(cn),
+ On.push(_r.yytext),
+ ht.push(_r.yylloc),
+ At.push(Mn[1]),
+ (cn = null),
+ (yi = _r.yyleng),
+ (yt = _r.yytext),
+ (Fi = _r.yylineno),
+ (qn = _r.yylloc));
+ break;
+ case 2:
+ if (
+ ((ua = this.productions_[Mn[1]][1]),
+ (Io.$ = On[On.length - ua]),
+ (Io._$ = {
+ first_line: ht[ht.length - (ua || 1)].first_line,
+ last_line: ht[ht.length - 1].last_line,
+ first_column: ht[ht.length - (ua || 1)].first_column,
+ last_column: ht[ht.length - 1].last_column,
+ }),
+ Lt &&
+ (Io._$.range = [
+ ht[ht.length - (ua || 1)].range[0],
+ ht[ht.length - 1].range[1],
+ ]),
+ (mo = this.performAction.apply(
+ Io,
+ [yt, yi, Fi, Nn.yy, Mn[1], On, ht].concat(Ro),
+ )),
+ typeof mo < 'u')
+ )
+ return mo;
+ (ua &&
+ ((At = At.slice(0, -1 * ua * 2)),
+ (On = On.slice(0, -1 * ua)),
+ (ht = ht.slice(0, -1 * ua))),
+ At.push(this.productions_[Mn[1]][0]),
+ On.push(Io.$),
+ ht.push(Io._$),
+ (Oo = zr[At[At.length - 2]][At[At.length - 1]]),
+ At.push(Oo));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ Gt = (function () {
+ var xt = {
+ EOF: 1,
+ parseError: function (Ze, At) {
+ if (this.yy.parser) this.yy.parser.parseError(Ze, At);
+ else throw new Error(Ze);
+ },
+ setInput: function (Pt, Ze) {
+ return (
+ (this.yy = Ze || this.yy || {}),
+ (this._input = Pt),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var Pt = this._input[0];
+ ((this.yytext += Pt),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Pt),
+ (this.matched += Pt));
+ var Ze = Pt.match(/(?:\r\n?|\n).*/g);
+ return (
+ Ze ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Pt
+ );
+ },
+ unput: function (Pt) {
+ var Ze = Pt.length,
+ At = Pt.split(/(?:\r\n?|\n)/g);
+ ((this._input = Pt + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Ze)),
+ (this.offset -= Ze));
+ var Tt = 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)),
+ At.length - 1 && (this.yylineno -= At.length - 1));
+ var On = 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: At
+ ? (At.length === Tt.length ? this.yylloc.first_column : 0) +
+ Tt[Tt.length - At.length].length -
+ At[0].length
+ : this.yylloc.first_column - Ze,
+ }),
+ this.options.ranges && (this.yylloc.range = [On[0], On[0] + this.yyleng - Ze]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (Pt) {
+ this.unput(this.match.slice(Pt));
+ },
+ pastInput: function () {
+ var Pt = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Pt.length > 20 ? '...' : '') + Pt.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var Pt = this.match;
+ return (
+ Pt.length < 20 && (Pt += this._input.substr(0, 20 - Pt.length)),
+ (Pt.substr(0, 20) + (Pt.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var Pt = this.pastInput(),
+ Ze = new Array(Pt.length + 1).join('-');
+ return (
+ Pt +
+ this.upcomingInput() +
+ `
+` +
+ Ze +
+ '^'
+ );
+ },
+ test_match: function (Pt, Ze) {
+ var At, Tt, On;
+ if (
+ (this.options.backtrack_lexer &&
+ ((On = {
+ 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 && (On.yylloc.range = this.yylloc.range.slice(0))),
+ (Tt = Pt[0].match(/(?:\r\n?|\n).*/g)),
+ Tt && (this.yylineno += Tt.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Tt
+ ? Tt[Tt.length - 1].length - Tt[Tt.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Pt[0].length,
+ }),
+ (this.yytext += Pt[0]),
+ (this.match += Pt[0]),
+ (this.matches = Pt),
+ (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(Pt[0].length)),
+ (this.matched += Pt[0]),
+ (At = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Ze,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ At)
+ )
+ return At;
+ if (this._backtrack) {
+ for (var ht in On) this[ht] = On[ht];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Pt, Ze, At, Tt;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var On = this._currentRules(), ht = 0; ht < On.length; ht++)
+ if (
+ ((At = this._input.match(this.rules[On[ht]])),
+ At && (!Ze || At[0].length > Ze[0].length))
+ ) {
+ if (((Ze = At), (Tt = ht), this.options.backtrack_lexer)) {
+ if (((Pt = this.test_match(At, On[ht])), Pt !== !1)) return Pt;
+ if (this._backtrack) {
+ Ze = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Ze
+ ? ((Pt = this.test_match(Ze, On[Tt])), Pt !== !1 ? Pt : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var Ze = this.next();
+ return Ze || this.lex();
+ },
+ begin: function (Ze) {
+ this.conditionStack.push(Ze);
+ },
+ popState: function () {
+ var Ze = this.conditionStack.length - 1;
+ return Ze > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (Ze) {
+ return (
+ (Ze = this.conditionStack.length - 1 - Math.abs(Ze || 0)),
+ Ze >= 0 ? this.conditionStack[Ze] : 'INITIAL'
+ );
+ },
+ pushState: function (Ze) {
+ this.begin(Ze);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (Ze, At, Tt, On) {
+ switch (Tt) {
+ case 0:
+ return 5;
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ return 19;
+ case 7:
+ return (this.begin('LINE'), 14);
+ case 8:
+ return (this.begin('ID'), 50);
+ case 9:
+ return (this.begin('ID'), 52);
+ case 10:
+ return 13;
+ case 11:
+ return (this.begin('ID'), 53);
+ case 12:
+ return ((At.yytext = At.yytext.trim()), this.begin('ALIAS'), 70);
+ case 13:
+ return (this.popState(), this.popState(), this.begin('LINE'), 51);
+ case 14:
+ return (this.popState(), this.popState(), 5);
+ case 15:
+ return (this.begin('LINE'), 36);
+ case 16:
+ return (this.begin('LINE'), 37);
+ case 17:
+ return (this.begin('LINE'), 38);
+ case 18:
+ return (this.begin('LINE'), 39);
+ case 19:
+ return (this.begin('LINE'), 49);
+ case 20:
+ return (this.begin('LINE'), 41);
+ case 21:
+ return (this.begin('LINE'), 43);
+ case 22:
+ return (this.begin('LINE'), 48);
+ case 23:
+ return (this.begin('LINE'), 44);
+ case 24:
+ return (this.begin('LINE'), 47);
+ case 25:
+ return (this.begin('LINE'), 46);
+ case 26:
+ return (this.popState(), 15);
+ case 27:
+ return 16;
+ case 28:
+ return 65;
+ case 29:
+ return 66;
+ case 30:
+ return 59;
+ case 31:
+ return 60;
+ case 32:
+ return 61;
+ case 33:
+ return 62;
+ case 34:
+ return 57;
+ case 35:
+ return 54;
+ case 36:
+ return (this.begin('ID'), 21);
+ case 37:
+ return (this.begin('ID'), 23);
+ case 38:
+ return 29;
+ case 39:
+ return 30;
+ case 40:
+ return (this.begin('acc_title'), 31);
+ case 41:
+ return (this.popState(), 'acc_title_value');
+ case 42:
+ return (this.begin('acc_descr'), 33);
+ case 43:
+ return (this.popState(), 'acc_descr_value');
+ case 44:
+ this.begin('acc_descr_multiline');
+ break;
+ case 45:
+ this.popState();
+ break;
+ case 46:
+ return 'acc_descr_multiline_value';
+ case 47:
+ return 6;
+ case 48:
+ return 18;
+ case 49:
+ return 20;
+ case 50:
+ return 64;
+ case 51:
+ return 5;
+ case 52:
+ return ((At.yytext = At.yytext.trim()), 70);
+ case 53:
+ return 73;
+ case 54:
+ return 74;
+ case 55:
+ return 71;
+ case 56:
+ return 72;
+ case 57:
+ return 75;
+ case 58:
+ return 76;
+ case 59:
+ return 77;
+ case 60:
+ return 78;
+ case 61:
+ return 79;
+ case 62:
+ return 68;
+ case 63:
+ return 69;
+ case 64:
+ return 5;
+ case 65:
+ return 'INVALID';
+ }
+ },
+ rules: [
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:((?!\n)\s)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[0-9]+(?=[ \n]+))/i,
+ /^(?:box\b)/i,
+ /^(?:participant\b)/i,
+ /^(?:actor\b)/i,
+ /^(?:create\b)/i,
+ /^(?:destroy\b)/i,
+ /^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,
+ /^(?:as\b)/i,
+ /^(?:(?:))/i,
+ /^(?:loop\b)/i,
+ /^(?:rect\b)/i,
+ /^(?:opt\b)/i,
+ /^(?:alt\b)/i,
+ /^(?:else\b)/i,
+ /^(?:par\b)/i,
+ /^(?:par_over\b)/i,
+ /^(?:and\b)/i,
+ /^(?:critical\b)/i,
+ /^(?:option\b)/i,
+ /^(?:break\b)/i,
+ /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,
+ /^(?:end\b)/i,
+ /^(?:left of\b)/i,
+ /^(?:right of\b)/i,
+ /^(?:links\b)/i,
+ /^(?:link\b)/i,
+ /^(?:properties\b)/i,
+ /^(?:details\b)/i,
+ /^(?:over\b)/i,
+ /^(?:note\b)/i,
+ /^(?:activate\b)/i,
+ /^(?:deactivate\b)/i,
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:title:\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:sequenceDiagram\b)/i,
+ /^(?:autonumber\b)/i,
+ /^(?:off\b)/i,
+ /^(?:,)/i,
+ /^(?:;)/i,
+ /^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,
+ /^(?:->>)/i,
+ /^(?:-->>)/i,
+ /^(?:->)/i,
+ /^(?:-->)/i,
+ /^(?:-[x])/i,
+ /^(?:--[x])/i,
+ /^(?:-[\)])/i,
+ /^(?:--[\)])/i,
+ /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,
+ /^(?:\+)/i,
+ /^(?:-)/i,
+ /^(?:$)/i,
+ /^(?:.)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [45, 46], inclusive: !1 },
+ acc_descr: { rules: [43], inclusive: !1 },
+ acc_title: { rules: [41], inclusive: !1 },
+ ID: { rules: [2, 3, 12], inclusive: !1 },
+ ALIAS: { rules: [2, 3, 13, 14], inclusive: !1 },
+ LINE: { rules: [2, 3, 26], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return xt;
+ })();
+ Et.lexer = Gt;
+ function ln() {
+ this.yy = {};
+ }
+ return ((ln.prototype = Et), (Et.Parser = ln), new ln());
+ })();
+ yve.parser = yve;
+ const Srn = yve;
+ class _rn {
+ constructor(s) {
+ ((this.init = s), (this.records = this.init()));
+ }
+ reset() {
+ this.records = this.init();
+ }
+ }
+ const Os = new _rn(() => ({
+ prevActor: void 0,
+ actors: {},
+ createdActors: {},
+ destroyedActors: {},
+ boxes: [],
+ messages: [],
+ notes: [],
+ sequenceNumbersEnabled: !1,
+ wrapEnabled: void 0,
+ currentBox: void 0,
+ lastCreated: void 0,
+ lastDestroyed: void 0,
+ })),
+ Arn = function (i) {
+ (Os.records.boxes.push({
+ name: i.text,
+ wrap: (i.wrap === void 0 && QC()) || !!i.wrap,
+ fill: i.color,
+ actorKeys: [],
+ }),
+ (Os.records.currentBox = Os.records.boxes.slice(-1)[0]));
+ },
+ xve = function (i, s, u, d) {
+ let p = Os.records.currentBox;
+ const v = Os.records.actors[i];
+ if (v) {
+ if (Os.records.currentBox && v.box && Os.records.currentBox !== v.box)
+ throw new Error(
+ 'A same participant should only be defined in one Box: ' +
+ v.name +
+ " can't be in '" +
+ v.box.name +
+ "' and in '" +
+ Os.records.currentBox.name +
+ "' at the same time.",
+ );
+ if (
+ ((p = v.box ? v.box : Os.records.currentBox), (v.box = p), v && s === v.name && u == null)
+ )
+ return;
+ }
+ ((u == null || u.text == null) && (u = { text: s, wrap: null, type: d }),
+ (d == null || u.text == null) && (u = { text: s, wrap: null, type: d }),
+ (Os.records.actors[i] = {
+ box: p,
+ name: s,
+ description: u.text,
+ wrap: (u.wrap === void 0 && QC()) || !!u.wrap,
+ prevActor: Os.records.prevActor,
+ links: {},
+ properties: {},
+ actorCnt: null,
+ rectData: null,
+ type: d || 'participant',
+ }),
+ Os.records.prevActor &&
+ Os.records.actors[Os.records.prevActor] &&
+ (Os.records.actors[Os.records.prevActor].nextActor = i),
+ Os.records.currentBox && Os.records.currentBox.actorKeys.push(i),
+ (Os.records.prevActor = i));
+ },
+ Lrn = (i) => {
+ let s,
+ u = 0;
+ for (s = 0; s < Os.records.messages.length; s++)
+ (Os.records.messages[s].type === KR.ACTIVE_START &&
+ Os.records.messages[s].from.actor === i &&
+ u++,
+ Os.records.messages[s].type === KR.ACTIVE_END &&
+ Os.records.messages[s].from.actor === i &&
+ u--);
+ return u;
+ },
+ Mrn = function (i, s, u, d) {
+ Os.records.messages.push({
+ from: i,
+ to: s,
+ message: u.text,
+ wrap: (u.wrap === void 0 && QC()) || !!u.wrap,
+ answer: d,
+ });
+ },
+ Xf = function (i, s, u = { text: void 0, wrap: void 0 }, d, p = !1) {
+ if (d === KR.ACTIVE_END && Lrn(i.actor) < 1) {
+ let b = new Error('Trying to inactivate an inactive participant (' + i.actor + ')');
+ throw (
+ (b.hash = {
+ text: '->>-',
+ token: '->>-',
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ["'ACTIVE_PARTICIPANT'"],
+ }),
+ b
+ );
+ }
+ return (
+ Os.records.messages.push({
+ from: i,
+ to: s,
+ message: u.text,
+ wrap: (u.wrap === void 0 && QC()) || !!u.wrap,
+ type: d,
+ activate: p,
+ }),
+ !0
+ );
+ },
+ Drn = function () {
+ return Os.records.boxes.length > 0;
+ },
+ Irn = function () {
+ return Os.records.boxes.some((i) => i.name);
+ },
+ Orn = function () {
+ return Os.records.messages;
+ },
+ Nrn = function () {
+ return Os.records.boxes;
+ },
+ Prn = function () {
+ return Os.records.actors;
+ },
+ Brn = function () {
+ return Os.records.createdActors;
+ },
+ Frn = function () {
+ return Os.records.destroyedActors;
+ },
+ GR = function (i) {
+ return Os.records.actors[i];
+ },
+ Rrn = function () {
+ return Object.keys(Os.records.actors);
+ },
+ jrn = function () {
+ Os.records.sequenceNumbersEnabled = !0;
+ },
+ $rn = function () {
+ Os.records.sequenceNumbersEnabled = !1;
+ },
+ zrn = () => Os.records.sequenceNumbersEnabled,
+ qrn = function (i) {
+ Os.records.wrapEnabled = i;
+ },
+ QC = () => (Os.records.wrapEnabled !== void 0 ? Os.records.wrapEnabled : qt().sequence.wrap),
+ Hrn = function () {
+ (Os.reset(), Ng());
+ },
+ Vrn = function (i) {
+ const s = i.trim(),
+ u = {
+ text: s.replace(/^:?(?:no)?wrap:/, '').trim(),
+ wrap: s.match(/^:?wrap:/) !== null ? !0 : s.match(/^:?nowrap:/) !== null ? !1 : void 0,
+ };
+ return (Xe.debug('parseMessage:', u), u);
+ },
+ Urn = function (i) {
+ const s = i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);
+ let u = s != null && s[1] ? s[1].trim() : 'transparent',
+ d = s != null && s[2] ? s[2].trim() : void 0;
+ if (window && window.CSS)
+ window.CSS.supports('color', u) || ((u = 'transparent'), (d = i.trim()));
+ else {
+ const p = new Option().style;
+ ((p.color = u), p.color !== u && ((u = 'transparent'), (d = i.trim())));
+ }
+ return {
+ color: u,
+ text: d !== void 0 ? yh(d.replace(/^:?(?:no)?wrap:/, ''), qt()) : void 0,
+ wrap:
+ d !== void 0
+ ? d.match(/^:?wrap:/) !== null
+ ? !0
+ : d.match(/^:?nowrap:/) !== null
+ ? !1
+ : void 0
+ : void 0,
+ };
+ },
+ KR = {
+ 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,
+ },
+ Grn = { FILLED: 0, OPEN: 1 },
+ Krn = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 },
+ NGe = function (i, s, u) {
+ const d = {
+ actor: i,
+ placement: s,
+ message: u.text,
+ wrap: (u.wrap === void 0 && QC()) || !!u.wrap,
+ },
+ p = [].concat(i, i);
+ (Os.records.notes.push(d),
+ Os.records.messages.push({
+ from: p[0],
+ to: p[1],
+ message: u.text,
+ wrap: (u.wrap === void 0 && QC()) || !!u.wrap,
+ type: KR.NOTE,
+ placement: s,
+ }));
+ },
+ PGe = function (i, s) {
+ const u = GR(i);
+ try {
+ let d = yh(s.text, qt());
+ ((d = d.replace(/&/g, '&')), (d = d.replace(/=/g, '=')));
+ const p = JSON.parse(d);
+ kve(u, p);
+ } catch (d) {
+ Xe.error('error while parsing actor link text', d);
+ }
+ },
+ Wrn = function (i, s) {
+ const u = GR(i);
+ try {
+ const b = {};
+ let y = yh(s.text, qt());
+ var d = y.indexOf('@');
+ ((y = y.replace(/&/g, '&')), (y = y.replace(/=/g, '=')));
+ var p = y.slice(0, d - 1).trim(),
+ v = y.slice(d + 1).trim();
+ ((b[p] = v), kve(u, b));
+ } catch (b) {
+ Xe.error('error while parsing actor link text', b);
+ }
+ };
+ function kve(i, s) {
+ if (i.links == null) i.links = s;
+ else for (let u in s) i.links[u] = s[u];
+ }
+ const BGe = function (i, s) {
+ const u = GR(i);
+ try {
+ let d = yh(s.text, qt());
+ const p = JSON.parse(d);
+ FGe(u, p);
+ } catch (d) {
+ Xe.error('error while parsing actor properties text', d);
+ }
+ };
+ function FGe(i, s) {
+ if (i.properties == null) i.properties = s;
+ else for (let u in s) i.properties[u] = s[u];
+ }
+ function Yrn() {
+ Os.records.currentBox = void 0;
+ }
+ const RGe = function (i, s) {
+ const u = GR(i),
+ d = document.getElementById(s.text);
+ try {
+ const p = d.innerHTML,
+ v = JSON.parse(p);
+ (v.properties && FGe(u, v.properties), v.links && kve(u, v.links));
+ } catch (p) {
+ Xe.error('error while parsing actor details text', p);
+ }
+ },
+ Xrn = function (i, s) {
+ if (i !== void 0 && i.properties !== void 0) return i.properties[s];
+ },
+ jGe = function (i) {
+ if (Array.isArray(i))
+ i.forEach(function (s) {
+ jGe(s);
+ });
+ else
+ switch (i.type) {
+ case 'sequenceIndex':
+ Os.records.messages.push({
+ from: void 0,
+ to: void 0,
+ message: {
+ start: i.sequenceIndex,
+ step: i.sequenceIndexStep,
+ visible: i.sequenceVisible,
+ },
+ wrap: !1,
+ type: i.signalType,
+ });
+ break;
+ case 'addParticipant':
+ xve(i.actor, i.actor, i.description, i.draw);
+ break;
+ case 'createParticipant':
+ if (Os.records.actors[i.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",
+ );
+ ((Os.records.lastCreated = i.actor),
+ xve(i.actor, i.actor, i.description, i.draw),
+ (Os.records.createdActors[i.actor] = Os.records.messages.length));
+ break;
+ case 'destroyParticipant':
+ ((Os.records.lastDestroyed = i.actor),
+ (Os.records.destroyedActors[i.actor] = Os.records.messages.length));
+ break;
+ case 'activeStart':
+ Xf(i.actor, void 0, void 0, i.signalType);
+ break;
+ case 'activeEnd':
+ Xf(i.actor, void 0, void 0, i.signalType);
+ break;
+ case 'addNote':
+ NGe(i.actor, i.placement, i.text);
+ break;
+ case 'addLinks':
+ PGe(i.actor, i.text);
+ break;
+ case 'addALink':
+ Wrn(i.actor, i.text);
+ break;
+ case 'addProperties':
+ BGe(i.actor, i.text);
+ break;
+ case 'addDetails':
+ RGe(i.actor, i.text);
+ break;
+ case 'addMessage':
+ if (Os.records.lastCreated) {
+ if (i.to !== Os.records.lastCreated)
+ throw new Error(
+ 'The created participant ' +
+ Os.records.lastCreated +
+ ' does not have an associated creating message after its declaration. Please check the sequence diagram.',
+ );
+ Os.records.lastCreated = void 0;
+ } else if (Os.records.lastDestroyed) {
+ if (i.to !== Os.records.lastDestroyed && i.from !== Os.records.lastDestroyed)
+ throw new Error(
+ 'The destroyed participant ' +
+ Os.records.lastDestroyed +
+ ' does not have an associated destroying message after its declaration. Please check the sequence diagram.',
+ );
+ Os.records.lastDestroyed = void 0;
+ }
+ Xf(i.from, i.to, i.msg, i.signalType, i.activate);
+ break;
+ case 'boxStart':
+ Arn(i.boxData);
+ break;
+ case 'boxEnd':
+ Yrn();
+ break;
+ case 'loopStart':
+ Xf(void 0, void 0, i.loopText, i.signalType);
+ break;
+ case 'loopEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ case 'rectStart':
+ Xf(void 0, void 0, i.color, i.signalType);
+ break;
+ case 'rectEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ case 'optStart':
+ Xf(void 0, void 0, i.optText, i.signalType);
+ break;
+ case 'optEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ case 'altStart':
+ Xf(void 0, void 0, i.altText, i.signalType);
+ break;
+ case 'else':
+ Xf(void 0, void 0, i.altText, i.signalType);
+ break;
+ case 'altEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ case 'setAccTitle':
+ Pg(i.text);
+ break;
+ case 'parStart':
+ Xf(void 0, void 0, i.parText, i.signalType);
+ break;
+ case 'and':
+ Xf(void 0, void 0, i.parText, i.signalType);
+ break;
+ case 'parEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ case 'criticalStart':
+ Xf(void 0, void 0, i.criticalText, i.signalType);
+ break;
+ case 'option':
+ Xf(void 0, void 0, i.optionText, i.signalType);
+ break;
+ case 'criticalEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ case 'breakStart':
+ Xf(void 0, void 0, i.breakText, i.signalType);
+ break;
+ case 'breakEnd':
+ Xf(void 0, void 0, void 0, i.signalType);
+ break;
+ }
+ },
+ $Ge = {
+ addActor: xve,
+ addMessage: Mrn,
+ addSignal: Xf,
+ addLinks: PGe,
+ addDetails: RGe,
+ addProperties: BGe,
+ autoWrap: QC,
+ setWrap: qrn,
+ enableSequenceNumbers: jrn,
+ disableSequenceNumbers: $rn,
+ showSequenceNumbers: zrn,
+ getMessages: Orn,
+ getActors: Prn,
+ getCreatedActors: Brn,
+ getDestroyedActors: Frn,
+ getActor: GR,
+ getActorKeys: Rrn,
+ getActorProperty: Xrn,
+ getAccTitle: Sp,
+ getBoxes: Nrn,
+ getDiagramTitle: Lp,
+ setDiagramTitle: om,
+ getConfig: () => qt().sequence,
+ clear: Hrn,
+ parseMessage: Vrn,
+ parseBoxData: Urn,
+ LINETYPE: KR,
+ ARROWTYPE: Grn,
+ PLACEMENT: Krn,
+ addNote: NGe,
+ setAccTitle: Pg,
+ apply: jGe,
+ setAccDescription: _p,
+ getAccDescription: Ap,
+ hasAtLeastOneBox: Drn,
+ hasAtLeastOneBoxWithTitle: Irn,
+ },
+ Qrn = (i) => `.actor {
stroke: ${i.actorBorder};
fill: ${i.actorBkg};
}
@@ -1091,13 +58577,3803 @@ Expecting `+Ts.join(", ")+", got '"+(this.terminals_[cn]||cn)+"'":nl="Parse erro
fill: ${i.actorBkg};
stroke-width: 2px;
}
-`,JC=18*2,zGe="actor-top",qGe="actor-bottom",Eve=function(i,s){return AQ(i,s)},Jrn=function(i,s,u,d,p){if(s.links===void 0||s.links===null||Object.keys(s.links).length===0)return{height:0,width:0};const v=s.links,b=s.actorCnt,y=s.rectData;var T="none";p&&(T="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",T);var A="";y.class!==void 0&&(A=" "+y.class);let P=y.width>u?y.width:u;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+A),R.attr("x",y.x),R.attr("y",y.height),R.attr("fill",y.fill),R.attr("stroke",y.stroke),R.attr("width",P),R.attr("height",y.height),R.attr("rx",y.rx),R.attr("ry",y.ry),v!=null){var F=20;for(let ee in v){var j=_.append("a"),W=g9.sanitizeUrl(v[ee]);j.attr("xlink:href",W),j.attr("target","_blank"),pin(d)(ee,j,y.x+10,y.height+F,P,20,{class:"actor"},d),F+=30}}return R.attr("height",F),{height:y.height+F,width:P}},Zrn=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},pJ=async function(i,s,u=null){let d=i.append("foreignObject");const p=await TC(s.text,xh()),b=d.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(p).node().getBoundingClientRect();if(d.attr("height",Math.round(b.height)).attr("width",Math.round(b.width)),s.class==="noteText"){const y=i.node().firstChild;y.setAttribute("height",b.height+2*s.textMargin);const T=y.getBBox();d.attr("x",Math.round(T.x+T.width/2-b.width/2)).attr("y",Math.round(T.y+T.height/2-b.height/2))}else if(u){let{startx:y,stopx:T,starty:_}=u;if(y>T){const A=y;y=T,T=A}d.attr("x",Math.round(y+Math.abs(y-T)/2-b.width/2)),s.class==="loopText"?d.attr("y",Math.round(_)):d.attr("y",Math.round(_-b.height))}return[d]},WD=function(i,s){let u=0,d=0;const p=s.text.split(ci.lineBreakRegex),[v,b]=OC(s.fontSize);let y=[],T=0,_=()=>s.y;if(s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0)switch(s.valign){case"top":case"start":_=()=>Math.round(s.y+s.textMargin);break;case"middle":case"center":_=()=>Math.round(s.y+(u+d+s.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(s.y+(u+d+2*s.textMargin)-s.textMargin);break}if(s.anchor!==void 0&&s.textMargin!==void 0&&s.width!==void 0)switch(s.anchor){case"left":case"start":s.x=Math.round(s.x+s.textMargin),s.anchor="start",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"middle":case"center":s.x=Math.round(s.x+s.width/2),s.anchor="middle",s.dominantBaseline="middle",s.alignmentBaseline="middle";break;case"right":case"end":s.x=Math.round(s.x+s.width-s.textMargin),s.anchor="end",s.dominantBaseline="middle",s.alignmentBaseline="middle";break}for(let[A,P]of p.entries()){s.textMargin!==void 0&&s.textMargin===0&&v!==void 0&&(T=A*v);const R=i.append("text");R.attr("x",s.x),R.attr("y",_()),s.anchor!==void 0&&R.attr("text-anchor",s.anchor).attr("dominant-baseline",s.dominantBaseline).attr("alignment-baseline",s.alignmentBaseline),s.fontFamily!==void 0&&R.style("font-family",s.fontFamily),b!==void 0&&R.style("font-size",b),s.fontWeight!==void 0&&R.style("font-weight",s.fontWeight),s.fill!==void 0&&R.attr("fill",s.fill),s.class!==void 0&&R.attr("class",s.class),s.dy!==void 0?R.attr("dy",s.dy):T!==0&&R.attr("dy",T);const F=P||dje;if(s.tspan){const j=R.append("tspan");j.attr("x",s.x),s.fill!==void 0&&j.attr("fill",s.fill),j.text(F)}else R.text(F);s.valign!==void 0&&s.textMargin!==void 0&&s.textMargin>0&&(d+=(R._groups||R)[0][0].getBBox().height,u=d),y.push(R)}return y},HGe=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");return d.attr("points",u(s.x,s.y,s.width,s.height,7)),d.attr("class","labelBox"),s.y=s.y+s.height/2,WD(i,s),d};let i5=-1;const VGe=(i,s,u,d)=>{i.select&&u.forEach(p=>{const v=s[p],b=i.select("#actor"+v.actorCnt);!d.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):d.mirrorActors&&b.attr("y2",v.stopy)})},ein=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+5,y=i.append("g").lower();var T=y;d||(i5++,Object.keys(s.links||{}).length&&!u.forceMenus&&T.attr("onclick",Zrn(`actor${i5}_popup`)).attr("cursor","pointer"),T.append("line").attr("id","actor"+i5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),T=y.append("g"),s.actorCnt=i5,s.links!=null&&T.attr("id","root-"+i5));const _=zC();var A="actor";s.properties!=null&&s.properties.class?A=s.properties.class:_.fill="#eaeaea",d?A+=` ${qGe}`:A+=` ${zGe}`,_.x=s.x,_.y=p,_.width=s.width,_.height=s.height,_.class=A,_.rx=3,_.ry=3,_.name=s.name;const P=Eve(T,_);if(s.rectData=_,s.properties!=null&&s.properties.icon){const F=s.properties.icon.trim();F.charAt(0)==="@"?uUt(T,_.x+_.width-20,_.y+10,F.substr(1)):cUt(T,_.x+_.width-20,_.y+10,F)}await Tve(u,Dv(s.description))(s.description,T,_.x,_.y,_.width,_.height,{class:"actor"},u);let R=s.height;if(P.node){const F=P.node().getBBox();s.height=F.height,R=F.height}return R},tin=async function(i,s,u,d){const p=d?s.stopy:s.starty,v=s.x+s.width/2,b=p+80;i.lower(),d||(i5++,i.append("line").attr("id","actor"+i5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),s.actorCnt=i5);const y=i.append("g");let T="actor-man";d?T+=` ${qGe}`:T+=` ${zGe}`,y.attr("class",T),y.attr("name",s.name);const _=zC();_.x=s.x,_.y=p,_.fill="#eaeaea",_.width=s.width,_.height=s.height,_.class="actor",_.rx=3,_.ry=3,y.append("line").attr("id","actor-man-torso"+i5).attr("x1",v).attr("y1",p+25).attr("x2",v).attr("y2",p+45),y.append("line").attr("id","actor-man-arms"+i5).attr("x1",v-JC/2).attr("y1",p+33).attr("x2",v+JC/2).attr("y2",p+33),y.append("line").attr("x1",v-JC/2).attr("y1",p+60).attr("x2",v).attr("y2",p+45),y.append("line").attr("x1",v).attr("y1",p+45).attr("x2",v+JC/2-2).attr("y2",p+60);const A=y.append("circle");A.attr("cx",s.x+s.width/2),A.attr("cy",p+10),A.attr("r",15),A.attr("width",s.width),A.attr("height",s.height);const P=y.node().getBBox();return s.height=P.height,await Tve(u,Dv(s.description))(s.description,y,_.x,_.y+35,_.width,_.height,{class:"actor"},u),s.height},nin=async function(i,s,u,d){switch(s.type){case"actor":return await tin(i,s,u,d);case"participant":return await ein(i,s,u,d)}},rin=async function(i,s,u){const p=i.append("g");UGe(p,s),s.name&&await Tve(u)(s.name,p,s.x,s.y+(s.textMaxHeight||0)/2,s.width,0,{class:"text"},u),p.lower()},iin=function(i){return i.append("g")},sin=function(i,s,u,d,p){const v=zC(),b=s.anchored;v.x=s.startx,v.y=s.starty,v.class="activation"+p%3,v.width=s.stopx-s.startx,v.height=u-s.starty,Eve(b,v)},ain=async function(i,s,u,d){const{boxMargin:p,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:y,messageFontFamily:T,messageFontSize:_,messageFontWeight:A}=d,P=i.append("g"),R=function(W,ee,ie,oe){return P.append("line").attr("x1",W).attr("y1",ee).attr("x2",ie).attr("y2",oe).attr("class","loopLine")};R(s.startx,s.starty,s.stopx,s.starty),R(s.stopx,s.starty,s.stopx,s.stopy),R(s.startx,s.stopy,s.stopx,s.stopy),R(s.startx,s.starty,s.startx,s.stopy),s.sections!==void 0&&s.sections.forEach(function(W){R(s.startx,W.y,s.stopx,W.y).style("stroke-dasharray","3, 3")});let F=zbe();F.text=u,F.x=s.startx,F.y=s.starty,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.anchor="middle",F.valign="middle",F.tspan=!1,F.width=y||50,F.height=b||20,F.textMargin=v,F.class="labelText",HGe(P,F),F=GGe(),F.text=s.title,F.x=s.startx+y/2+(s.stopx-s.startx)/2,F.y=s.starty+p+v,F.anchor="middle",F.valign="middle",F.textMargin=v,F.class="loopText",F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=!0;let j=Dv(F.text)?await pJ(P,F,s):WD(P,F);if(s.sectionTitles!==void 0){for(const[W,ee]of Object.entries(s.sectionTitles))if(ee.message){F.text=ee.message,F.x=s.startx+(s.stopx-s.startx)/2,F.y=s.sections[W].y+p+v,F.class="loopText",F.anchor="middle",F.valign="middle",F.tspan=!1,F.fontFamily=T,F.fontSize=_,F.fontWeight=A,F.wrap=s.wrap,Dv(F.text)?(s.starty=s.sections[W].y,await pJ(P,F,s)):WD(P,F);let ie=Math.round(j.map(oe=>(oe._groups||oe)[0][0].getBBox().height).reduce((oe,be)=>oe+be));s.sections[W].height+=ie-(p+v)}}return s.height=Math.round(s.stopy-s.starty),P},UGe=function(i,s){Sqe(i,s)},oin=function(i){i.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")},cin=function(i){i.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")},uin=function(i){i.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")},lin=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},hin=function(i){i.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")},fin=function(i){i.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)},din=function(i){i.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")},GGe=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}},gin=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Tve=function(){function i(v,b,y,T,_,A,P){const R=b.append("text").attr("x",y+_/2).attr("y",T+A/2+5).style("text-anchor","middle").text(v);p(R,P)}function s(v,b,y,T,_,A,P,R){const{actorFontSize:F,actorFontFamily:j,actorFontWeight:W}=R,[ee,ie]=OC(F),oe=v.split(ci.lineBreakRegex);for(let be=0;bei.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,s)=>i+s))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,s)=>i+s))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,WGe(qt())},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=this;let v=0;function b(y){return function(_){v++;const A=p.sequenceItems.length-v+1;p.updateVal(_,"starty",s-A*En.boxMargin,Math.min),p.updateVal(_,"stopy",d+A*En.boxMargin,Math.max),p.updateVal(ni.data,"startx",i-A*En.boxMargin,Math.min),p.updateVal(ni.data,"stopx",u+A*En.boxMargin,Math.max),y!=="activation"&&(p.updateVal(_,"startx",i-A*En.boxMargin,Math.min),p.updateVal(_,"stopx",u+A*En.boxMargin,Math.max),p.updateVal(ni.data,"starty",s-A*En.boxMargin,Math.min),p.updateVal(ni.data,"stopy",d+A*En.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,s,u,d){const p=ci.getMin(i,u),v=ci.getMax(i,u),b=ci.getMin(s,d),y=ci.getMax(s,d);this.updateVal(ni.data,"startx",p,Math.min),this.updateVal(ni.data,"starty",b,Math.min),this.updateVal(ni.data,"stopx",v,Math.max),this.updateVal(ni.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},newActivation:function(i,s,u){const d=u[i.from.actor],p=bJ(i.from.actor).length||0,v=d.x+d.width/2+(p-1)*En.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+En.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Qf.anchorElement(s)})},endActivation:function(i){const s=this.activations.map(function(u){return u.actor}).lastIndexOf(i.from.actor);return this.activations.splice(s,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},s){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:s}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},s){this.sequenceItems.push(this.createLoop(i,s))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const s=this.sequenceItems.pop();s.sections=s.sections||[],s.sectionTitles=s.sectionTitles||[],s.sections.push({y:ni.getVerticalPos(),height:0}),s.sectionTitles.push(i),this.sequenceItems.push(s)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ci.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},bin=async function(i,s){ni.bumpVerticalPos(En.boxMargin),s.height=En.boxMargin,s.starty=ni.getVerticalPos();const u=zC();u.x=s.startx,u.y=s.starty,u.width=s.width||En.width,u.class="note";const d=i.append("g"),p=Qf.drawRect(d,u),v=zbe();v.x=s.startx,v.y=s.starty,v.width=u.width,v.dy="1em",v.text=s.message,v.class="noteText",v.fontFamily=En.noteFontFamily,v.fontSize=En.noteFontSize,v.fontWeight=En.noteFontWeight,v.anchor=En.noteAlign,v.textMargin=En.noteMargin,v.valign="center";const b=Dv(v.text)?await pJ(d,v):WD(d,v),y=Math.round(b.map(T=>(T._groups||T)[0][0].getBBox().height).reduce((T,_)=>T+_));p.attr("height",y+2*En.noteMargin),s.height+=y+2*En.noteMargin,ni.bumpVerticalPos(y+2*En.noteMargin),s.stopy=s.starty+y+2*En.noteMargin,s.stopx=s.startx+u.width,ni.insert(s.startx,s.starty,s.stopx,s.stopy),ni.models.addNote(s)},ZC=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),YD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Cve=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});async function min(i,s){ni.bumpVerticalPos(10);const{startx:u,stopx:d,message:p}=s,v=ci.splitBreaks(p).length,b=Dv(p),y=b?await VF(p,qt()):So.calculateTextDimensions(p,ZC(En));if(!b){const P=y.height/v;s.height+=P,ni.bumpVerticalPos(P)}let T,_=y.height-10;const A=y.width;if(u===d){T=ni.getVerticalPos()+_,En.rightAngles||(_+=En.boxMargin,T=ni.getVerticalPos()+_),_+=30;const P=ci.getMax(A/2,En.width/2);ni.insert(u-P,ni.getVerticalPos()-10+_,d+P,ni.getVerticalPos()+30+_)}else _+=En.boxMargin,T=ni.getVerticalPos()+_,ni.insert(u,T-10,d,T);return ni.bumpVerticalPos(_),s.height+=_,s.stopy=s.starty+s.height,ni.insert(s.fromBounds,s.starty,s.toBounds,s.stopy),T}const vin=async function(i,s,u,d){const{startx:p,stopx:v,starty:b,message:y,type:T,sequenceIndex:_,sequenceVisible:A}=s,P=So.calculateTextDimensions(y,ZC(En)),R=zbe();R.x=p,R.y=b+10,R.width=v-p,R.class="messageText",R.dy="1em",R.text=y,R.fontFamily=En.messageFontFamily,R.fontSize=En.messageFontSize,R.fontWeight=En.messageFontWeight,R.anchor=En.messageAlign,R.valign="center",R.textMargin=En.wrapPadding,R.tspan=!1,Dv(R.text)?await pJ(i,R,{startx:p,stopx:v,starty:u}):WD(i,R);const F=P.width;let j;p===v?En.rightAngles?j=i.append("path").attr("d",`M ${p},${u} H ${p+ci.getMax(En.width/2,F/2)} V ${u+25} H ${p}`):j=i.append("path").attr("d","M "+p+","+u+" C "+(p+60)+","+(u-10)+" "+(p+60)+","+(u+30)+" "+p+","+(u+20)):(j=i.append("line"),j.attr("x1",p),j.attr("y1",u),j.attr("x2",v),j.attr("y2",u)),T===d.db.LINETYPE.DOTTED||T===d.db.LINETYPE.DOTTED_CROSS||T===d.db.LINETYPE.DOTTED_POINT||T===d.db.LINETYPE.DOTTED_OPEN?(j.style("stroke-dasharray","3, 3"),j.attr("class","messageLine1")):j.attr("class","messageLine0");let W="";En.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),j.attr("stroke-width",2),j.attr("stroke","none"),j.style("fill","none"),(T===d.db.LINETYPE.SOLID||T===d.db.LINETYPE.DOTTED)&&j.attr("marker-end","url("+W+"#arrowhead)"),(T===d.db.LINETYPE.SOLID_POINT||T===d.db.LINETYPE.DOTTED_POINT)&&j.attr("marker-end","url("+W+"#filled-head)"),(T===d.db.LINETYPE.SOLID_CROSS||T===d.db.LINETYPE.DOTTED_CROSS)&&j.attr("marker-end","url("+W+"#crosshead)"),(A||En.showSequenceNumbers)&&(j.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",p).attr("y",u+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},win=async function(i,s,u,d,p,v,b){let y=0,T=0,_,A=0;for(const P of d){const R=s[P],F=R.box;_&&_!=F&&(b||ni.models.addBox(_),T+=En.boxMargin+_.margin),F&&F!=_&&(b||(F.x=y+T,F.y=p),T+=F.margin),R.width=R.width||En.width,R.height=ci.getMax(R.height||En.height,En.height),R.margin=R.margin||En.actorMargin,A=ci.getMax(A,R.height),u[R.name]&&(T+=R.width/2),R.x=y+T,R.starty=ni.getVerticalPos(),ni.insert(R.x,p,R.x+R.width,R.height),y+=R.width+T,R.box&&(R.box.width=y+F.margin-R.box.x),T=R.margin,_=R.box,ni.models.addActor(R)}_&&!b&&ni.models.addBox(_),ni.bumpVerticalPos(A)},Sve=async function(i,s,u,d){if(d){let p=0;ni.bumpVerticalPos(En.boxMargin*2);for(const v of u){const b=s[v];b.stopy||(b.stopy=ni.getVerticalPos());const y=await Qf.drawActor(i,b,En,!0);p=ci.getMax(p,y)}ni.bumpVerticalPos(p+En.boxMargin)}else for(const p of u){const v=s[p];await Qf.drawActor(i,v,En,!1)}},KGe=function(i,s,u,d){let p=0,v=0;for(const b of u){const y=s[b],T=Ein(y),_=Qf.drawPopup(i,y,T,En,En.forceMenus,d);_.height>p&&(p=_.height),_.width+y.x>v&&(v=_.width+y.x)}return{maxHeight:p,maxWidth:v}},WGe=function(i){td(En,i),i.fontFamily&&(En.actorFontFamily=En.noteFontFamily=En.messageFontFamily=i.fontFamily),i.fontSize&&(En.actorFontSize=En.noteFontSize=En.messageFontSize=i.fontSize),i.fontWeight&&(En.actorFontWeight=En.noteFontWeight=En.messageFontWeight=i.fontWeight)},bJ=function(i){return ni.activations.filter(function(s){return s.actor===i})},YGe=function(i,s){const u=s[i],d=bJ(i),p=d.reduce(function(b,y){return ci.getMin(b,y.startx)},u.x+u.width/2-1),v=d.reduce(function(b,y){return ci.getMax(b,y.stopx)},u.x+u.width/2+1);return[p,v]};function s5(i,s,u,d,p){ni.bumpVerticalPos(u);let v=d;if(s.id&&s.message&&i[s.id]){const b=i[s.id].width,y=ZC(En);s.message=So.wrapLabel(`[${s.message}]`,b-2*En.wrapPadding,y),s.width=b,s.wrap=!0;const T=So.calculateTextDimensions(s.message,y),_=ci.getMax(T.height,En.labelBoxHeight);v=d+_,Xe.debug(`${_} - ${s.message}`)}p(s),ni.bumpVerticalPos(v)}function yin(i,s,u,d,p,v,b){function y(_,A){_.x{Se.add(Ce.from),Se.add(Ce.to)}),j=j.filter(Ce=>Se.has(Ce))}await win(_,A,P,j,0,W,!1);const ge=await _in(W,A,be,d);Qf.insertArrowHead(_),Qf.insertArrowCrossHead(_),Qf.insertArrowFilledHead(_),Qf.insertSequenceNumber(_);function ae(Se,Ce){const ke=ni.endActivation(Se);ke.starty+18>Ce&&(ke.starty=Ce-6,Ce+=12),Qf.drawActivation(_,ke,Ce,En,bJ(Se.from.actor).length),ni.insert(ke.startx,Ce-10,ke.stopx,Ce)}let ne=1,se=1;const de=[],X=[];let pe=0;for(const Se of W){let Ce,ke,Ke;switch(Se.type){case d.db.LINETYPE.NOTE:ni.resetVerticalPos(),ke=Se.noteModel,await bin(_,ke);break;case d.db.LINETYPE.ACTIVE_START:ni.newActivation(Se,_,A);break;case d.db.LINETYPE.ACTIVE_END:ae(Se,ni.getVerticalPos());break;case d.db.LINETYPE.LOOP_START:s5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.LOOP_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"loop",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.RECT_START:s5(ge,Se,En.boxMargin,En.boxMargin,Ft=>ni.newLoop(void 0,Ft.message));break;case d.db.LINETYPE.RECT_END:Ce=ni.endLoop(),X.push(Ce),ni.models.addLoop(Ce),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos());break;case d.db.LINETYPE.OPT_START:s5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.OPT_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"opt",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.ALT_START:s5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.ALT_ELSE:s5(ge,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.ALT_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"alt",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:s5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft)),ni.saveVerticalPos();break;case d.db.LINETYPE.PAR_AND:s5(ge,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.PAR_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"par",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.AUTONUMBER:ne=Se.message.start||ne,se=Se.message.step||se,Se.message.visible?d.db.enableSequenceNumbers():d.db.disableSequenceNumbers();break;case d.db.LINETYPE.CRITICAL_START:s5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.CRITICAL_OPTION:s5(ge,Se,En.boxMargin+En.boxTextMargin,En.boxMargin,Ft=>ni.addSectionToLoop(Ft));break;case d.db.LINETYPE.CRITICAL_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"critical",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.BREAK_START:s5(ge,Se,En.boxMargin,En.boxMargin+En.boxTextMargin,Ft=>ni.newLoop(Ft));break;case d.db.LINETYPE.BREAK_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"break",En),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;default:try{Ke=Se.msgModel,Ke.starty=ni.getVerticalPos(),Ke.sequenceIndex=ne,Ke.sequenceVisible=d.db.showSequenceNumbers();const Ft=await min(_,Ke);yin(Se,Ke,Ft,pe,A,P,R),de.push({messageModel:Ke,lineStartY:Ft}),ni.models.addMessage(Ke)}catch(Ft){Xe.error("error while drawing message",Ft)}}[d.db.LINETYPE.SOLID_OPEN,d.db.LINETYPE.DOTTED_OPEN,d.db.LINETYPE.SOLID,d.db.LINETYPE.DOTTED,d.db.LINETYPE.SOLID_CROSS,d.db.LINETYPE.DOTTED_CROSS,d.db.LINETYPE.SOLID_POINT,d.db.LINETYPE.DOTTED_POINT].includes(Se.type)&&(ne=ne+se),pe++}Xe.debug("createdActors",P),Xe.debug("destroyedActors",R),await Sve(_,A,j,!1);for(const Se of de)await vin(_,Se.messageModel,Se.lineStartY,d);En.mirrorActors&&await Sve(_,A,j,!0),X.forEach(Se=>Qf.drawBackgroundRect(_,Se)),VGe(_,A,j,En);for(const Se of ni.models.boxes)Se.height=ni.getVerticalPos()-Se.y,ni.insert(Se.x,Se.y,Se.x+Se.width,Se.height),Se.startx=Se.x,Se.starty=Se.y,Se.stopx=Se.startx+Se.width,Se.stopy=Se.starty+Se.height,Se.stroke="rgb(0,0,0, 0.5)",await Qf.drawBox(_,Se,En);ie&&ni.bumpVerticalPos(En.boxMargin);const G=KGe(_,A,j,T),{bounds:xe}=ni.getBounds();let U=xe.stopy-xe.starty;U{const b=ZC(En);let y=v.actorKeys.reduce((A,P)=>A+=i[P].width+(i[P].margin||0),0);y-=2*En.boxTextMargin,v.wrap&&(v.name=So.wrapLabel(v.name,y-2*En.wrapPadding,b));const T=So.calculateTextDimensions(v.name,b);p=ci.getMax(T.height,p);const _=ci.getMax(y,T.width+2*En.wrapPadding);if(v.margin=En.boxTextMargin,y<_){const A=(_-y)/2;v.margin+=A}}),u.forEach(v=>v.textMaxHeight=p),ci.getMax(d,En.height)}const Cin=async function(i,s,u){const d=s[i.from].x,p=s[i.to].x,v=i.wrap&&i.message;let b=Dv(i.message)?await VF(i.message,qt()):So.calculateTextDimensions(v?So.wrapLabel(i.message,En.width,YD(En)):i.message,YD(En));const y={width:v?En.width:ci.getMax(En.width,b.width+2*En.noteMargin),height:0,startx:s[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===u.db.PLACEMENT.RIGHTOF?(y.width=v?ci.getMax(En.width,b.width):ci.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width+En.actorMargin)/2):i.placement===u.db.PLACEMENT.LEFTOF?(y.width=v?ci.getMax(En.width,b.width+2*En.noteMargin):ci.getMax(s[i.from].width/2+s[i.to].width/2,b.width+2*En.noteMargin),y.startx=d-y.width+(s[i.from].width-En.actorMargin)/2):i.to===i.from?(b=So.calculateTextDimensions(v?So.wrapLabel(i.message,ci.getMax(En.width,s[i.from].width),YD(En)):i.message,YD(En)),y.width=v?ci.getMax(En.width,s[i.from].width):ci.getMax(s[i.from].width,En.width,b.width+2*En.noteMargin),y.startx=d+(s[i.from].width-y.width)/2):(y.width=Math.abs(d+s[i.from].width/2-(p+s[i.to].width/2))+En.actorMargin,y.startx=d2,P=W=>y?-W:W;i.from===i.to?_=T:(i.activate&&!A&&(_+=P(En.activationWidth/2-1)),[u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=P(3)));const R=[d,p,v,b],F=Math.abs(T-_);i.wrap&&i.message&&(i.message=So.wrapLabel(i.message,ci.getMax(F+2*En.wrapPadding,En.width),ZC(En)));const j=So.calculateTextDimensions(i.message,ZC(En));return{width:ci.getMax(i.wrap?0:j.width+2*En.wrapPadding,F+2*En.wrapPadding,En.width),height:0,startx:T,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},_in=async function(i,s,u,d){const p={},v=[];let b,y,T;for(const _ of i){switch(_.id=So.random({length:10}),_.type){case d.db.LINETYPE.LOOP_START:case d.db.LINETYPE.ALT_START:case d.db.LINETYPE.OPT_START:case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:case d.db.LINETYPE.CRITICAL_START:case d.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case d.db.LINETYPE.ALT_ELSE:case d.db.LINETYPE.PAR_AND:case d.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),p[b.id]=b,p[_.id]=b,v.push(b));break;case d.db.LINETYPE.LOOP_END:case d.db.LINETYPE.ALT_END:case d.db.LINETYPE.OPT_END:case d.db.LINETYPE.PAR_END:case d.db.LINETYPE.CRITICAL_END:case d.db.LINETYPE.BREAK_END:b=v.pop(),p[b.id]=b;break;case d.db.LINETYPE.ACTIVE_START:{const P=s[_.from?_.from.actor:_.to.actor],R=bJ(_.from?_.from.actor:_.to.actor).length,F=P.x+P.width/2+(R-1)*En.activationWidth/2,j={startx:F,stopx:F+En.activationWidth,actor:_.from.actor,enabled:!0};ni.activations.push(j)}break;case d.db.LINETYPE.ACTIVE_END:{const P=ni.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete ni.activations.splice(P,1)[0]}break}_.placement!==void 0?(y=await Cin(_,s,d),_.noteModel=y,v.forEach(P=>{b=P,b.from=ci.getMin(b.from,y.startx),b.to=ci.getMax(b.to,y.startx+y.width),b.width=ci.getMax(b.width,Math.abs(b.from-b.to))-En.labelBoxWidth})):(T=Sin(_,s,d),_.msgModel=T,T.startx&&T.stopx&&v.length>0&&v.forEach(P=>{if(b=P,T.startx===T.stopx){const R=s[_.from],F=s[_.to];b.from=ci.getMin(R.x-T.width/2,R.x-R.width/2,b.from),b.to=ci.getMax(F.x+T.width/2,F.x+R.width/2,b.to),b.width=ci.getMax(b.width,Math.abs(b.to-b.from))-En.labelBoxWidth}else b.from=ci.getMin(T.startx,b.from),b.to=ci.getMax(T.stopx,b.to),b.width=ci.getMax(b.width,T.width)-En.labelBoxWidth}))}return ni.activations=[],Xe.debug("Loop type widths:",p),p},Ain=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Srn,db:$Ge,renderer:{bounds:ni,drawActors:Sve,drawActorsPopup:KGe,setConf:WGe,draw:xin},styles:Qrn,init:({wrap:i})=>{$Ge.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var _ve=function(){var i=function(Ro,_r,Nn,$n){for(Nn=Nn||{},$n=Ro.length;$n--;Nn[Ro[$n]]=_r);return Nn},s=[1,17],u=[1,18],d=[1,19],p=[1,39],v=[1,40],b=[1,25],y=[1,23],T=[1,24],_=[1,31],A=[1,32],P=[1,33],R=[1,34],F=[1,35],j=[1,36],W=[1,26],ee=[1,27],ie=[1,28],oe=[1,29],be=[1,43],ge=[1,30],ae=[1,42],ne=[1,44],se=[1,41],de=[1,45],X=[1,9],pe=[1,8,9],G=[1,56],xe=[1,57],U=[1,58],Be=[1,59],Ne=[1,60],je=[1,61],Ie=[1,62],Se=[1,8,9,39],Ce=[1,74],ke=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Ke=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Ft=[13,74,80,95,97,98],Pe=[13,64,65,74,80,95,97,98],gn=[13,59,60,61,62,63,74,80,95,97,98],kt=[1,93],Et=[1,110],Gt=[1,108],ln=[1,102],xt=[1,103],Pt=[1,104],Ze=[1,105],At=[1,106],Tt=[1,107],On=[1,109],ht=[1,8,9,37,39,42],zr=[1,8,9,21],yt=[1,8,9,78],Fi=[1,8,9,21,73,74,78,80,81,82,83,84,85],yi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(_r,Nn,$n,qn,Lt,wt,cn){var fn=wt.length-1;switch(Lt){case 8:this.$=wt[fn-1];break;case 9:case 11:case 12:this.$=wt[fn];break;case 10:case 13:this.$=wt[fn-1]+wt[fn];break;case 14:case 15:this.$=wt[fn-1]+"~"+wt[fn]+"~";break;case 16:qn.addRelation(wt[fn]);break;case 17:wt[fn-1].title=qn.cleanupLabel(wt[fn]),qn.addRelation(wt[fn-1]);break;case 27:this.$=wt[fn].trim(),qn.setAccTitle(this.$);break;case 28:case 29:this.$=wt[fn].trim(),qn.setAccDescription(this.$);break;case 30:qn.addClassesToNamespace(wt[fn-3],wt[fn-1]);break;case 31:qn.addClassesToNamespace(wt[fn-4],wt[fn-1]);break;case 32:this.$=wt[fn],qn.addNamespace(wt[fn]);break;case 33:this.$=[wt[fn]];break;case 34:this.$=[wt[fn-1]];break;case 35:wt[fn].unshift(wt[fn-2]),this.$=wt[fn];break;case 37:qn.setCssClass(wt[fn-2],wt[fn]);break;case 38:qn.addMembers(wt[fn-3],wt[fn-1]);break;case 39:qn.setCssClass(wt[fn-5],wt[fn-3]),qn.addMembers(wt[fn-5],wt[fn-1]);break;case 40:this.$=wt[fn],qn.addClass(wt[fn]);break;case 41:this.$=wt[fn-1],qn.addClass(wt[fn-1]),qn.setClassLabel(wt[fn-1],wt[fn]);break;case 42:qn.addAnnotation(wt[fn],wt[fn-2]);break;case 43:this.$=[wt[fn]];break;case 44:wt[fn].push(wt[fn-1]),this.$=wt[fn];break;case 45:break;case 46:qn.addMember(wt[fn-1],qn.cleanupLabel(wt[fn]));break;case 47:break;case 48:break;case 49:this.$={id1:wt[fn-2],id2:wt[fn],relation:wt[fn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-1],relationTitle1:wt[fn-2],relationTitle2:"none"};break;case 51:this.$={id1:wt[fn-3],id2:wt[fn],relation:wt[fn-2],relationTitle1:"none",relationTitle2:wt[fn-1]};break;case 52:this.$={id1:wt[fn-4],id2:wt[fn],relation:wt[fn-2],relationTitle1:wt[fn-3],relationTitle2:wt[fn-1]};break;case 53:qn.addNote(wt[fn],wt[fn-1]);break;case 54:qn.addNote(wt[fn]);break;case 55:qn.setDirection("TB");break;case 56:qn.setDirection("BT");break;case 57:qn.setDirection("RL");break;case 58:qn.setDirection("LR");break;case 59:this.$={type1:wt[fn-2],type2:wt[fn],lineType:wt[fn-1]};break;case 60:this.$={type1:"none",type2:wt[fn],lineType:wt[fn-1]};break;case 61:this.$={type1:wt[fn-1],type2:"none",lineType:wt[fn]};break;case 62:this.$={type1:"none",type2:"none",lineType:wt[fn]};break;case 63:this.$=qn.relationType.AGGREGATION;break;case 64:this.$=qn.relationType.EXTENSION;break;case 65:this.$=qn.relationType.COMPOSITION;break;case 66:this.$=qn.relationType.DEPENDENCY;break;case 67:this.$=qn.relationType.LOLLIPOP;break;case 68:this.$=qn.lineType.LINE;break;case 69:this.$=qn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=wt[fn-2],qn.setClickEvent(wt[fn-1],wt[fn]);break;case 71:case 77:this.$=wt[fn-3],qn.setClickEvent(wt[fn-2],wt[fn-1]),qn.setTooltip(wt[fn-2],wt[fn]);break;case 72:this.$=wt[fn-2],qn.setLink(wt[fn-1],wt[fn]);break;case 73:this.$=wt[fn-3],qn.setLink(wt[fn-2],wt[fn-1],wt[fn]);break;case 74:this.$=wt[fn-3],qn.setLink(wt[fn-2],wt[fn-1]),qn.setTooltip(wt[fn-2],wt[fn]);break;case 75:this.$=wt[fn-4],qn.setLink(wt[fn-3],wt[fn-2],wt[fn]),qn.setTooltip(wt[fn-3],wt[fn-1]);break;case 78:this.$=wt[fn-3],qn.setClickEvent(wt[fn-2],wt[fn-1],wt[fn]);break;case 79:this.$=wt[fn-4],qn.setClickEvent(wt[fn-3],wt[fn-2],wt[fn-1]),qn.setTooltip(wt[fn-3],wt[fn]);break;case 80:this.$=wt[fn-3],qn.setLink(wt[fn-2],wt[fn]);break;case 81:this.$=wt[fn-4],qn.setLink(wt[fn-3],wt[fn-1],wt[fn]);break;case 82:this.$=wt[fn-4],qn.setLink(wt[fn-3],wt[fn-1]),qn.setTooltip(wt[fn-3],wt[fn]);break;case 83:this.$=wt[fn-5],qn.setLink(wt[fn-4],wt[fn-2],wt[fn]),qn.setTooltip(wt[fn-4],wt[fn-1]);break;case 84:this.$=wt[fn-2],qn.setCssStyle(wt[fn-1],wt[fn]);break;case 85:qn.setCssClass(wt[fn-1],wt[fn]);break;case 86:this.$=[wt[fn]];break;case 87:wt[fn-2].push(wt[fn]),this.$=wt[fn-2];break;case 89:this.$=wt[fn-1]+wt[fn];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(X,[2,5],{8:[1,46]}),{8:[1,47]},i(pe,[2,16],{21:[1,48]}),i(pe,[2,18]),i(pe,[2,19]),i(pe,[2,20]),i(pe,[2,21]),i(pe,[2,22]),i(pe,[2,23]),i(pe,[2,24]),i(pe,[2,25]),i(pe,[2,26]),{32:[1,49]},{34:[1,50]},i(pe,[2,29]),i(pe,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:G,60:xe,61:U,62:Be,63:Ne,64:je,65:Ie}),{37:[1,63]},i(Se,[2,36],{37:[1,65],42:[1,64]}),i(pe,[2,47]),i(pe,[2,48]),{16:66,74:be,80:ae,95:ne,97:se},{16:37,17:67,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:68,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:69,18:38,74:be,80:ae,95:ne,97:se,98:de},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:Ce,51:73},i(pe,[2,55]),i(pe,[2,56]),i(pe,[2,57]),i(pe,[2,58]),i(ke,[2,11],{16:37,18:38,17:75,19:[1,76],74:be,80:ae,95:ne,97:se,98:de}),i(ke,[2,12],{19:[1,77]}),{15:78,16:79,74:be,80:ae,95:ne,97:se},{16:37,17:80,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ke,[2,112]),i(Ke,[2,113]),i(Ke,[2,114]),i(Ke,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(X,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:s,33:u,35:d,40:p,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:s,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:T,50:_,52:A,53:P,54:R,55:F,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},i(pe,[2,17]),i(pe,[2,27]),i(pe,[2,28]),{13:[1,84],16:37,17:83,18:38,74:be,80:ae,95:ne,97:se,98:de},{49:85,57:54,58:55,59:G,60:xe,61:U,62:Be,63:Ne,64:je,65:Ie},i(pe,[2,46]),{58:86,64:je,65:Ie},i(Ft,[2,62],{57:87,59:G,60:xe,61:U,62:Be,63:Ne}),i(Pe,[2,63]),i(Pe,[2,64]),i(Pe,[2,65]),i(Pe,[2,66]),i(Pe,[2,67]),i(gn,[2,68]),i(gn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:be,80:ae,95:ne,97:se},{43:92,47:kt},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Et,73:Gt,74:ln,75:99,77:100,79:101,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On},{74:[1,111]},{13:Ce,51:112},i(pe,[2,54]),i(pe,[2,117]),i(ke,[2,13]),i(ke,[2,14]),i(ke,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:be,80:ae,95:ne,97:se},i(ht,[2,40],{11:114,12:[1,115]}),i(X,[2,7]),{9:[1,116]},i(zr,[2,49]),{16:37,17:117,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:[1,119],16:37,17:118,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ft,[2,61],{57:120,59:G,60:xe,61:U,62:Be,63:Ne}),i(Ft,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Se,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:kt},{16:37,17:127,18:38,74:be,80:ae,95:ne,97:se,98:de},i(pe,[2,70],{13:[1,128]}),i(pe,[2,72],{13:[1,130],68:[1,129]}),i(pe,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(pe,[2,84],{78:[1,134]}),i(yt,[2,86],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On}),i(Fi,[2,88]),i(Fi,[2,90]),i(Fi,[2,91]),i(Fi,[2,92]),i(Fi,[2,93]),i(Fi,[2,94]),i(Fi,[2,95]),i(Fi,[2,96]),i(Fi,[2,97]),i(Fi,[2,98]),i(pe,[2,85]),i(pe,[2,53]),{37:[2,10]},i(ht,[2,41]),{13:[1,136]},{1:[2,4]},i(zr,[2,51]),i(zr,[2,50]),{16:37,17:137,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ft,[2,59]),i(pe,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:kt},i(Se,[2,38]),{39:[2,44]},i(pe,[2,42]),i(pe,[2,71]),i(pe,[2,73]),i(pe,[2,74],{68:[1,141]}),i(pe,[2,77]),i(pe,[2,78],{13:[1,142]}),i(pe,[2,80],{13:[1,144],68:[1,143]}),{21:Et,73:Gt,74:ln,77:145,79:101,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On},i(Fi,[2,89]),{14:[1,146]},i(zr,[2,52]),i(pe,[2,31]),{39:[2,35]},{39:[1,147]},i(pe,[2,75]),i(pe,[2,79]),i(pe,[2,81]),i(pe,[2,82],{68:[1,148]}),i(yt,[2,87],{79:135,21:Et,73:Gt,74:ln,80:xt,81:Pt,82:Ze,83:At,84:Tt,85:On}),i(ht,[2,8]),i(Se,[2,39]),i(pe,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(_r,Nn){if(Nn.recoverable)this.trace(_r);else{var $n=new Error(_r);throw $n.hash=Nn,$n}},parse:function(_r){var Nn=this,$n=[0],qn=[],Lt=[null],wt=[],cn=this.table,fn="",Mn=0,mo=0,Io=2,Xa=1,ua=wt.slice.call(arguments,1),Oo=Object.create(this.lexer),Ts={yy:{}};for(var nl in this.yy)Object.prototype.hasOwnProperty.call(this.yy,nl)&&(Ts.yy[nl]=this.yy[nl]);Oo.setInput(_r,Ts.yy),Ts.yy.lexer=Oo,Ts.yy.parser=this,typeof Oo.yylloc>"u"&&(Oo.yylloc={});var Zo=Oo.yylloc;wt.push(Zo);var id=Oo.options&&Oo.options.ranges;typeof Ts.yy.parseError=="function"?this.parseError=Ts.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gm(){var ka;return ka=qn.pop()||Oo.lex()||Xa,typeof ka!="number"&&(ka instanceof Array&&(qn=ka,ka=qn.pop()),ka=Nn.symbols_[ka]||ka),ka}for(var qu,lu,Xc,Cs,Bc={},Ma,No,vc,Qa;;){if(lu=$n[$n.length-1],this.defaultActions[lu]?Xc=this.defaultActions[lu]:((qu===null||typeof qu>"u")&&(qu=gm()),Xc=cn[lu]&&cn[lu][qu]),typeof Xc>"u"||!Xc.length||!Xc[0]){var ja="";Qa=[];for(Ma in cn[lu])this.terminals_[Ma]&&Ma>Io&&Qa.push("'"+this.terminals_[Ma]+"'");Oo.showPosition?ja="Parse error on line "+(Mn+1)+`:
-`+Oo.showPosition()+`
-Expecting `+Qa.join(", ")+", got '"+(this.terminals_[qu]||qu)+"'":ja="Parse error on line "+(Mn+1)+": Unexpected "+(qu==Xa?"end of input":"'"+(this.terminals_[qu]||qu)+"'"),this.parseError(ja,{text:Oo.match,token:this.terminals_[qu]||qu,line:Oo.yylineno,loc:Zo,expected:Qa})}if(Xc[0]instanceof Array&&Xc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+lu+", token: "+qu);switch(Xc[0]){case 1:$n.push(qu),Lt.push(Oo.yytext),wt.push(Oo.yylloc),$n.push(Xc[1]),qu=null,mo=Oo.yyleng,fn=Oo.yytext,Mn=Oo.yylineno,Zo=Oo.yylloc;break;case 2:if(No=this.productions_[Xc[1]][1],Bc.$=Lt[Lt.length-No],Bc._$={first_line:wt[wt.length-(No||1)].first_line,last_line:wt[wt.length-1].last_line,first_column:wt[wt.length-(No||1)].first_column,last_column:wt[wt.length-1].last_column},id&&(Bc._$.range=[wt[wt.length-(No||1)].range[0],wt[wt.length-1].range[1]]),Cs=this.performAction.apply(Bc,[fn,mo,Mn,Ts.yy,Xc[1],Lt,wt].concat(ua)),typeof Cs<"u")return Cs;No&&($n=$n.slice(0,-1*No*2),Lt=Lt.slice(0,-1*No),wt=wt.slice(0,-1*No)),$n.push(this.productions_[Xc[1]][0]),Lt.push(Bc.$),wt.push(Bc._$),vc=cn[$n[$n.length-2]][$n[$n.length-1]],$n.push(vc);break;case 3:return!0}}return!0}},Ba=function(){var Ro={EOF:1,parseError:function(Nn,$n){if(this.yy.parser)this.yy.parser.parseError(Nn,$n);else throw new Error(Nn)},setInput:function(_r,Nn){return this.yy=Nn||this.yy||{},this._input=_r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _r=this._input[0];this.yytext+=_r,this.yyleng++,this.offset++,this.match+=_r,this.matched+=_r;var Nn=_r.match(/(?:\r\n?|\n).*/g);return Nn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_r},unput:function(_r){var Nn=_r.length,$n=_r.split(/(?:\r\n?|\n)/g);this._input=_r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Nn),this.offset-=Nn;var qn=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),$n.length-1&&(this.yylineno-=$n.length-1);var Lt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:$n?($n.length===qn.length?this.yylloc.first_column:0)+qn[qn.length-$n.length].length-$n[0].length:this.yylloc.first_column-Nn},this.options.ranges&&(this.yylloc.range=[Lt[0],Lt[0]+this.yyleng-Nn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_r){this.unput(this.match.slice(_r))},pastInput:function(){var _r=this.matched.substr(0,this.matched.length-this.match.length);return(_r.length>20?"...":"")+_r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _r=this.match;return _r.length<20&&(_r+=this._input.substr(0,20-_r.length)),(_r.substr(0,20)+(_r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _r=this.pastInput(),Nn=new Array(_r.length+1).join("-");return _r+this.upcomingInput()+`
-`+Nn+"^"},test_match:function(_r,Nn){var $n,qn,Lt;if(this.options.backtrack_lexer&&(Lt={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&&(Lt.yylloc.range=this.yylloc.range.slice(0))),qn=_r[0].match(/(?:\r\n?|\n).*/g),qn&&(this.yylineno+=qn.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qn?qn[qn.length-1].length-qn[qn.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],$n=this.performAction.call(this,this.yy,this,Nn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),$n)return $n;if(this._backtrack){for(var wt in Lt)this[wt]=Lt[wt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _r,Nn,$n,qn;this._more||(this.yytext="",this.match="");for(var Lt=this._currentRules(),wt=0;wtNn[0].length)){if(Nn=$n,qn=wt,this.options.backtrack_lexer){if(_r=this.test_match($n,Lt[wt]),_r!==!1)return _r;if(this._backtrack){Nn=!1;continue}else return!1}else if(!this.options.flex)break}return Nn?(_r=this.test_match(Nn,Lt[qn]),_r!==!1?_r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Nn=this.next();return Nn||this.lex()},begin:function(Nn){this.conditionStack.push(Nn)},popState:function(){var Nn=this.conditionStack.length-1;return Nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Nn){return Nn=this.conditionStack.length-1-Math.abs(Nn||0),Nn>=0?this.conditionStack[Nn]:"INITIAL"},pushState:function(Nn){this.begin(Nn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Nn,$n,qn,Lt){switch(qn){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return Ro}();yi.lexer=Ba;function na(){this.yy={}}return na.prototype=yi,yi.Parser=na,new na}();_ve.parser=_ve;const XGe=_ve,QGe=["#","+","~","-",""];class JGe{constructor(s,u){this.memberType=u,this.visibility="",this.classifier="";const d=yh(s,qt());this.parseMember(d)}getDisplayDetails(){let s=this.visibility+HF(this.id);this.memberType==="method"&&(s+=`(${HF(this.parameters.trim())})`,this.returnType&&(s+=" : "+HF(this.returnType))),s=s.trim();const u=this.parseClassifier();return{displayText:s,cssStyle:u}}parseMember(s){let u="";if(this.memberType==="method"){const d=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,p=s.match(d);if(p){const v=p[1]?p[1].trim():"";if(QGe.includes(v)&&(this.visibility=v),this.id=p[2].trim(),this.parameters=p[3]?p[3].trim():"",u=p[4]?p[4].trim():"",this.returnType=p[5]?p[5].trim():"",u===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(u=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const d=s.length,p=s.substring(0,1),v=s.substring(d-1);QGe.includes(p)&&(this.visibility=p),v.match(/[$*]/)&&(u=v),this.id=s.substring(this.visibility===""?0:1,u===""?d:d-1)}this.classifier=u}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const mJ="classId-";let Ave=[],Th={},vJ=[],ZGe=0,F9={},Lve=0,WR=[];const eS=i=>ci.sanitizeText(i,qt()),tS=function(i){const s=ci.sanitizeText(i,qt());let u="",d=s;if(s.indexOf("~")>0){const p=s.split("~");d=eS(p[0]),u=eS(p[1])}return{className:d,type:u}},Lin=function(i,s){const u=ci.sanitizeText(i,qt());s&&(s=eS(s));const{className:d}=tS(u);Th[d].label=s},wJ=function(i){const s=ci.sanitizeText(i,qt()),{className:u,type:d}=tS(s);if(Object.hasOwn(Th,u))return;const p=ci.sanitizeText(u,qt());Th[p]={id:p,type:d,label:p,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:mJ+p+"-"+ZGe},ZGe++},eKe=function(i){const s=ci.sanitizeText(i,qt());if(s in Th)return Th[s].domId;throw new Error("Class not found: "+s)},Min=function(){Ave=[],Th={},vJ=[],WR=[],WR.push(nKe),F9={},Lve=0,Ng()},Din=function(i){return Th[i]},Iin=function(){return Th},Oin=function(){return Ave},Nin=function(){return vJ},Pin=function(i){Xe.debug("Adding relation: "+JSON.stringify(i)),wJ(i.id1),wJ(i.id2),i.id1=tS(i.id1).className,i.id2=tS(i.id2).className,i.relationTitle1=ci.sanitizeText(i.relationTitle1.trim(),qt()),i.relationTitle2=ci.sanitizeText(i.relationTitle2.trim(),qt()),Ave.push(i)},Bin=function(i,s){const u=tS(i).className;Th[u].annotations.push(s)},tKe=function(i,s){wJ(i);const u=tS(i).className,d=Th[u];if(typeof s=="string"){const p=s.trim();p.startsWith("<<")&&p.endsWith(">>")?d.annotations.push(eS(p.substring(2,p.length-2))):p.indexOf(")")>0?d.methods.push(new JGe(p,"method")):p&&d.members.push(new JGe(p,"attribute"))}},Fin=function(i,s){Array.isArray(s)&&(s.reverse(),s.forEach(u=>tKe(i,u)))},Rin=function(i,s){const u={id:`note${vJ.length}`,class:s,text:i};vJ.push(u)},jin=function(i){return i.startsWith(":")&&(i=i.substring(1)),eS(i.trim())},Mve=function(i,s){i.split(",").forEach(function(u){let d=u;u[0].match(/\d/)&&(d=mJ+d),Th[d]!==void 0&&Th[d].cssClasses.push(s)})},$in=function(i,s){i.split(",").forEach(function(u){s!==void 0&&(Th[u].tooltip=eS(s))})},zin=function(i,s){return s?F9[s].classes[i].tooltip:Th[i].tooltip},qin=function(i,s,u){const d=qt();i.split(",").forEach(function(p){let v=p;p[0].match(/\d/)&&(v=mJ+v),Th[v]!==void 0&&(Th[v].link=So.formatUrl(s,d),d.securityLevel==="sandbox"?Th[v].linkTarget="_top":typeof u=="string"?Th[v].linkTarget=eS(u):Th[v].linkTarget="_blank")}),Mve(i,"clickable")},Hin=function(i,s,u){i.split(",").forEach(function(d){Vin(d,s,u),Th[d].haveCallback=!0}),Mve(i,"clickable")},Vin=function(i,s,u){const d=ci.sanitizeText(i,qt());if(qt().securityLevel!=="loose"||s===void 0)return;const v=d;if(Th[v]!==void 0){const b=eKe(v);let y=[];if(typeof u=="string"){y=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let T=0;T")),p.classed("hover",!0)}).on("mouseout",function(){s.transition().duration(500).style("opacity",0),Ir(this).classed("hover",!1)})};WR.push(nKe);let rKe="TB";const yJ={setAccTitle:Pg,getAccTitle:Sp,getAccDescription:Ap,setAccDescription:_p,getConfig:()=>qt().class,addClass:wJ,bindFunctions:Uin,clear:Min,getClass:Din,getClasses:Iin,getNotes:Nin,addAnnotation:Bin,addNote:Rin,getRelations:Oin,addRelation:Pin,getDirection:()=>rKe,setDirection:i=>{rKe=i},addMember:tKe,addMembers:Fin,cleanupLabel:jin,lineType:Gin,relationType:Kin,setClickEvent:Hin,setCssClass:Mve,setLink:qin,getTooltip:zin,setTooltip:$in,lookUpDomId:eKe,setDiagramTitle:om,getDiagramTitle:Lp,setClassLabel:Lin,addNamespace:function(i){F9[i]===void 0&&(F9[i]={id:i,classes:{},children:{},domId:mJ+i+"-"+Lve},Lve++)},addClassesToNamespace:function(i,s){if(F9[i]!==void 0)for(const u of s){const{className:d}=tS(u);Th[d].parent=i,F9[i].classes[d]=Th[d]}},getNamespace:function(i){return F9[i]},getNamespaces:function(){return F9},setCssStyle:function(i,s){const u=Th[i];if(!(!s||!u))for(const d of s)d.includes(",")?u.styles.push(...d.split(",")):u.styles.push(d)}},iKe=i=>`g.classGroup text {
- fill: ${i.nodeBorder||i.classText};
+`,
+ JC = 18 * 2,
+ zGe = 'actor-top',
+ qGe = 'actor-bottom',
+ Eve = function (i, s) {
+ return AQ(i, s);
+ },
+ Jrn = function (i, s, u, d, p) {
+ if (s.links === void 0 || s.links === null || Object.keys(s.links).length === 0)
+ return { height: 0, width: 0 };
+ const v = s.links,
+ b = s.actorCnt,
+ y = s.rectData;
+ var T = 'none';
+ p && (T = 'block !important');
+ const _ = i.append('g');
+ (_.attr('id', 'actor' + b + '_popup'),
+ _.attr('class', 'actorPopupMenu'),
+ _.attr('display', T));
+ var A = '';
+ y.class !== void 0 && (A = ' ' + y.class);
+ let P = y.width > u ? y.width : u;
+ const R = _.append('rect');
+ if (
+ (R.attr('class', 'actorPopupMenuPanel' + A),
+ R.attr('x', y.x),
+ R.attr('y', y.height),
+ R.attr('fill', y.fill),
+ R.attr('stroke', y.stroke),
+ R.attr('width', P),
+ R.attr('height', y.height),
+ R.attr('rx', y.rx),
+ R.attr('ry', y.ry),
+ v != null)
+ ) {
+ var F = 20;
+ for (let ee in v) {
+ var j = _.append('a'),
+ W = g9.sanitizeUrl(v[ee]);
+ (j.attr('xlink:href', W),
+ j.attr('target', '_blank'),
+ pin(d)(ee, j, y.x + 10, y.height + F, P, 20, { class: 'actor' }, d),
+ (F += 30));
+ }
+ }
+ return (R.attr('height', F), { height: y.height + F, width: P });
+ },
+ Zrn = function (i) {
+ return (
+ "var pu = document.getElementById('" +
+ i +
+ "'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"
+ );
+ },
+ pJ = async function (i, s, u = null) {
+ let d = i.append('foreignObject');
+ const p = await TC(s.text, xh()),
+ b = d
+ .append('xhtml:div')
+ .attr('style', 'width: fit-content;')
+ .attr('xmlns', 'http://www.w3.org/1999/xhtml')
+ .html(p)
+ .node()
+ .getBoundingClientRect();
+ if (
+ (d.attr('height', Math.round(b.height)).attr('width', Math.round(b.width)),
+ s.class === 'noteText')
+ ) {
+ const y = i.node().firstChild;
+ y.setAttribute('height', b.height + 2 * s.textMargin);
+ const T = y.getBBox();
+ d.attr('x', Math.round(T.x + T.width / 2 - b.width / 2)).attr(
+ 'y',
+ Math.round(T.y + T.height / 2 - b.height / 2),
+ );
+ } else if (u) {
+ let { startx: y, stopx: T, starty: _ } = u;
+ if (y > T) {
+ const A = y;
+ ((y = T), (T = A));
+ }
+ (d.attr('x', Math.round(y + Math.abs(y - T) / 2 - b.width / 2)),
+ s.class === 'loopText'
+ ? d.attr('y', Math.round(_))
+ : d.attr('y', Math.round(_ - b.height)));
+ }
+ return [d];
+ },
+ WD = function (i, s) {
+ let u = 0,
+ d = 0;
+ const p = s.text.split(ci.lineBreakRegex),
+ [v, b] = OC(s.fontSize);
+ let y = [],
+ T = 0,
+ _ = () => s.y;
+ if (s.valign !== void 0 && s.textMargin !== void 0 && s.textMargin > 0)
+ switch (s.valign) {
+ case 'top':
+ case 'start':
+ _ = () => Math.round(s.y + s.textMargin);
+ break;
+ case 'middle':
+ case 'center':
+ _ = () => Math.round(s.y + (u + d + s.textMargin) / 2);
+ break;
+ case 'bottom':
+ case 'end':
+ _ = () => Math.round(s.y + (u + d + 2 * s.textMargin) - s.textMargin);
+ break;
+ }
+ if (s.anchor !== void 0 && s.textMargin !== void 0 && s.width !== void 0)
+ switch (s.anchor) {
+ case 'left':
+ case 'start':
+ ((s.x = Math.round(s.x + s.textMargin)),
+ (s.anchor = 'start'),
+ (s.dominantBaseline = 'middle'),
+ (s.alignmentBaseline = 'middle'));
+ break;
+ case 'middle':
+ case 'center':
+ ((s.x = Math.round(s.x + s.width / 2)),
+ (s.anchor = 'middle'),
+ (s.dominantBaseline = 'middle'),
+ (s.alignmentBaseline = 'middle'));
+ break;
+ case 'right':
+ case 'end':
+ ((s.x = Math.round(s.x + s.width - s.textMargin)),
+ (s.anchor = 'end'),
+ (s.dominantBaseline = 'middle'),
+ (s.alignmentBaseline = 'middle'));
+ break;
+ }
+ for (let [A, P] of p.entries()) {
+ s.textMargin !== void 0 && s.textMargin === 0 && v !== void 0 && (T = A * v);
+ const R = i.append('text');
+ (R.attr('x', s.x),
+ R.attr('y', _()),
+ s.anchor !== void 0 &&
+ R.attr('text-anchor', s.anchor)
+ .attr('dominant-baseline', s.dominantBaseline)
+ .attr('alignment-baseline', s.alignmentBaseline),
+ s.fontFamily !== void 0 && R.style('font-family', s.fontFamily),
+ b !== void 0 && R.style('font-size', b),
+ s.fontWeight !== void 0 && R.style('font-weight', s.fontWeight),
+ s.fill !== void 0 && R.attr('fill', s.fill),
+ s.class !== void 0 && R.attr('class', s.class),
+ s.dy !== void 0 ? R.attr('dy', s.dy) : T !== 0 && R.attr('dy', T));
+ const F = P || dje;
+ if (s.tspan) {
+ const j = R.append('tspan');
+ (j.attr('x', s.x), s.fill !== void 0 && j.attr('fill', s.fill), j.text(F));
+ } else R.text(F);
+ (s.valign !== void 0 &&
+ s.textMargin !== void 0 &&
+ s.textMargin > 0 &&
+ ((d += (R._groups || R)[0][0].getBBox().height), (u = d)),
+ y.push(R));
+ }
+ return y;
+ },
+ HGe = function (i, s) {
+ function u(p, v, b, y, T) {
+ return (
+ p +
+ ',' +
+ v +
+ ' ' +
+ (p + b) +
+ ',' +
+ v +
+ ' ' +
+ (p + b) +
+ ',' +
+ (v + y - T) +
+ ' ' +
+ (p + b - T * 1.2) +
+ ',' +
+ (v + y) +
+ ' ' +
+ p +
+ ',' +
+ (v + y)
+ );
+ }
+ const d = i.append('polygon');
+ return (
+ d.attr('points', u(s.x, s.y, s.width, s.height, 7)),
+ d.attr('class', 'labelBox'),
+ (s.y = s.y + s.height / 2),
+ WD(i, s),
+ d
+ );
+ };
+ let i5 = -1;
+ const VGe = (i, s, u, d) => {
+ i.select &&
+ u.forEach((p) => {
+ const v = s[p],
+ b = i.select('#actor' + v.actorCnt);
+ !d.mirrorActors && v.stopy
+ ? b.attr('y2', v.stopy + v.height / 2)
+ : d.mirrorActors && b.attr('y2', v.stopy);
+ });
+ },
+ ein = async function (i, s, u, d) {
+ const p = d ? s.stopy : s.starty,
+ v = s.x + s.width / 2,
+ b = p + 5,
+ y = i.append('g').lower();
+ var T = y;
+ d ||
+ (i5++,
+ Object.keys(s.links || {}).length &&
+ !u.forceMenus &&
+ T.attr('onclick', Zrn(`actor${i5}_popup`)).attr('cursor', 'pointer'),
+ T.append('line')
+ .attr('id', 'actor' + i5)
+ .attr('x1', v)
+ .attr('y1', b)
+ .attr('x2', v)
+ .attr('y2', 2e3)
+ .attr('class', 'actor-line')
+ .attr('class', '200')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke', '#999'),
+ (T = y.append('g')),
+ (s.actorCnt = i5),
+ s.links != null && T.attr('id', 'root-' + i5));
+ const _ = zC();
+ var A = 'actor';
+ (s.properties != null && s.properties.class ? (A = s.properties.class) : (_.fill = '#eaeaea'),
+ d ? (A += ` ${qGe}`) : (A += ` ${zGe}`),
+ (_.x = s.x),
+ (_.y = p),
+ (_.width = s.width),
+ (_.height = s.height),
+ (_.class = A),
+ (_.rx = 3),
+ (_.ry = 3),
+ (_.name = s.name));
+ const P = Eve(T, _);
+ if (((s.rectData = _), s.properties != null && s.properties.icon)) {
+ const F = s.properties.icon.trim();
+ F.charAt(0) === '@'
+ ? uUt(T, _.x + _.width - 20, _.y + 10, F.substr(1))
+ : cUt(T, _.x + _.width - 20, _.y + 10, F);
+ }
+ await Tve(u, Dv(s.description))(
+ s.description,
+ T,
+ _.x,
+ _.y,
+ _.width,
+ _.height,
+ { class: 'actor' },
+ u,
+ );
+ let R = s.height;
+ if (P.node) {
+ const F = P.node().getBBox();
+ ((s.height = F.height), (R = F.height));
+ }
+ return R;
+ },
+ tin = async function (i, s, u, d) {
+ const p = d ? s.stopy : s.starty,
+ v = s.x + s.width / 2,
+ b = p + 80;
+ (i.lower(),
+ d ||
+ (i5++,
+ i
+ .append('line')
+ .attr('id', 'actor' + i5)
+ .attr('x1', v)
+ .attr('y1', b)
+ .attr('x2', v)
+ .attr('y2', 2e3)
+ .attr('class', 'actor-line')
+ .attr('class', '200')
+ .attr('stroke-width', '0.5px')
+ .attr('stroke', '#999'),
+ (s.actorCnt = i5)));
+ const y = i.append('g');
+ let T = 'actor-man';
+ (d ? (T += ` ${qGe}`) : (T += ` ${zGe}`), y.attr('class', T), y.attr('name', s.name));
+ const _ = zC();
+ ((_.x = s.x),
+ (_.y = p),
+ (_.fill = '#eaeaea'),
+ (_.width = s.width),
+ (_.height = s.height),
+ (_.class = 'actor'),
+ (_.rx = 3),
+ (_.ry = 3),
+ y
+ .append('line')
+ .attr('id', 'actor-man-torso' + i5)
+ .attr('x1', v)
+ .attr('y1', p + 25)
+ .attr('x2', v)
+ .attr('y2', p + 45),
+ y
+ .append('line')
+ .attr('id', 'actor-man-arms' + i5)
+ .attr('x1', v - JC / 2)
+ .attr('y1', p + 33)
+ .attr('x2', v + JC / 2)
+ .attr('y2', p + 33),
+ y
+ .append('line')
+ .attr('x1', v - JC / 2)
+ .attr('y1', p + 60)
+ .attr('x2', v)
+ .attr('y2', p + 45),
+ y
+ .append('line')
+ .attr('x1', v)
+ .attr('y1', p + 45)
+ .attr('x2', v + JC / 2 - 2)
+ .attr('y2', p + 60));
+ const A = y.append('circle');
+ (A.attr('cx', s.x + s.width / 2),
+ A.attr('cy', p + 10),
+ A.attr('r', 15),
+ A.attr('width', s.width),
+ A.attr('height', s.height));
+ const P = y.node().getBBox();
+ return (
+ (s.height = P.height),
+ await Tve(u, Dv(s.description))(
+ s.description,
+ y,
+ _.x,
+ _.y + 35,
+ _.width,
+ _.height,
+ { class: 'actor' },
+ u,
+ ),
+ s.height
+ );
+ },
+ nin = async function (i, s, u, d) {
+ switch (s.type) {
+ case 'actor':
+ return await tin(i, s, u, d);
+ case 'participant':
+ return await ein(i, s, u, d);
+ }
+ },
+ rin = async function (i, s, u) {
+ const p = i.append('g');
+ (UGe(p, s),
+ s.name &&
+ (await Tve(u)(
+ s.name,
+ p,
+ s.x,
+ s.y + (s.textMaxHeight || 0) / 2,
+ s.width,
+ 0,
+ { class: 'text' },
+ u,
+ )),
+ p.lower());
+ },
+ iin = function (i) {
+ return i.append('g');
+ },
+ sin = function (i, s, u, d, p) {
+ const v = zC(),
+ b = s.anchored;
+ ((v.x = s.startx),
+ (v.y = s.starty),
+ (v.class = 'activation' + (p % 3)),
+ (v.width = s.stopx - s.startx),
+ (v.height = u - s.starty),
+ Eve(b, v));
+ },
+ ain = async function (i, s, u, d) {
+ const {
+ boxMargin: p,
+ boxTextMargin: v,
+ labelBoxHeight: b,
+ labelBoxWidth: y,
+ messageFontFamily: T,
+ messageFontSize: _,
+ messageFontWeight: A,
+ } = d,
+ P = i.append('g'),
+ R = function (W, ee, ie, oe) {
+ return P.append('line')
+ .attr('x1', W)
+ .attr('y1', ee)
+ .attr('x2', ie)
+ .attr('y2', oe)
+ .attr('class', 'loopLine');
+ };
+ (R(s.startx, s.starty, s.stopx, s.starty),
+ R(s.stopx, s.starty, s.stopx, s.stopy),
+ R(s.startx, s.stopy, s.stopx, s.stopy),
+ R(s.startx, s.starty, s.startx, s.stopy),
+ s.sections !== void 0 &&
+ s.sections.forEach(function (W) {
+ R(s.startx, W.y, s.stopx, W.y).style('stroke-dasharray', '3, 3');
+ }));
+ let F = zbe();
+ ((F.text = u),
+ (F.x = s.startx),
+ (F.y = s.starty),
+ (F.fontFamily = T),
+ (F.fontSize = _),
+ (F.fontWeight = A),
+ (F.anchor = 'middle'),
+ (F.valign = 'middle'),
+ (F.tspan = !1),
+ (F.width = y || 50),
+ (F.height = b || 20),
+ (F.textMargin = v),
+ (F.class = 'labelText'),
+ HGe(P, F),
+ (F = GGe()),
+ (F.text = s.title),
+ (F.x = s.startx + y / 2 + (s.stopx - s.startx) / 2),
+ (F.y = s.starty + p + v),
+ (F.anchor = 'middle'),
+ (F.valign = 'middle'),
+ (F.textMargin = v),
+ (F.class = 'loopText'),
+ (F.fontFamily = T),
+ (F.fontSize = _),
+ (F.fontWeight = A),
+ (F.wrap = !0));
+ let j = Dv(F.text) ? await pJ(P, F, s) : WD(P, F);
+ if (s.sectionTitles !== void 0) {
+ for (const [W, ee] of Object.entries(s.sectionTitles))
+ if (ee.message) {
+ ((F.text = ee.message),
+ (F.x = s.startx + (s.stopx - s.startx) / 2),
+ (F.y = s.sections[W].y + p + v),
+ (F.class = 'loopText'),
+ (F.anchor = 'middle'),
+ (F.valign = 'middle'),
+ (F.tspan = !1),
+ (F.fontFamily = T),
+ (F.fontSize = _),
+ (F.fontWeight = A),
+ (F.wrap = s.wrap),
+ Dv(F.text) ? ((s.starty = s.sections[W].y), await pJ(P, F, s)) : WD(P, F));
+ let ie = Math.round(
+ j.map((oe) => (oe._groups || oe)[0][0].getBBox().height).reduce((oe, be) => oe + be),
+ );
+ s.sections[W].height += ie - (p + v);
+ }
+ }
+ return ((s.height = Math.round(s.stopy - s.starty)), P);
+ },
+ UGe = function (i, s) {
+ Sqe(i, s);
+ },
+ oin = function (i) {
+ i.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',
+ );
+ },
+ cin = function (i) {
+ i.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',
+ );
+ },
+ uin = function (i) {
+ i.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',
+ );
+ },
+ lin = function (i) {
+ i.append('defs')
+ .append('marker')
+ .attr('id', 'arrowhead')
+ .attr('refX', 7.9)
+ .attr('refY', 5)
+ .attr('markerUnits', 'userSpaceOnUse')
+ .attr('markerWidth', 12)
+ .attr('markerHeight', 12)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 0 0 L 10 5 L 0 10 z');
+ },
+ hin = function (i) {
+ i.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');
+ },
+ fin = function (i) {
+ i.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);
+ },
+ din = function (i) {
+ i.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');
+ },
+ GGe = 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,
+ };
+ },
+ gin = function () {
+ return {
+ x: 0,
+ y: 0,
+ fill: '#EDF2AE',
+ stroke: '#666',
+ width: 100,
+ anchor: 'start',
+ height: 100,
+ rx: 0,
+ ry: 0,
+ };
+ },
+ Tve = (function () {
+ function i(v, b, y, T, _, A, P) {
+ const R = b
+ .append('text')
+ .attr('x', y + _ / 2)
+ .attr('y', T + A / 2 + 5)
+ .style('text-anchor', 'middle')
+ .text(v);
+ p(R, P);
+ }
+ function s(v, b, y, T, _, A, P, R) {
+ const { actorFontSize: F, actorFontFamily: j, actorFontWeight: W } = R,
+ [ee, ie] = OC(F),
+ oe = v.split(ci.lineBreakRegex);
+ for (let be = 0; be < oe.length; be++) {
+ const ge = be * ee - (ee * (oe.length - 1)) / 2,
+ ae = b
+ .append('text')
+ .attr('x', y + _ / 2)
+ .attr('y', T)
+ .style('text-anchor', 'middle')
+ .style('font-size', ie)
+ .style('font-weight', W)
+ .style('font-family', j);
+ (ae
+ .append('tspan')
+ .attr('x', y + _ / 2)
+ .attr('dy', ge)
+ .text(oe[be]),
+ ae
+ .attr('y', T + A / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ p(ae, P));
+ }
+ }
+ function u(v, b, y, T, _, A, P, R) {
+ const F = b.append('switch'),
+ W = F.append('foreignObject')
+ .attr('x', y)
+ .attr('y', T)
+ .attr('width', _)
+ .attr('height', A)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ (W.append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(v),
+ s(v, F, y, T, _, A, P, R),
+ p(W, P));
+ }
+ async function d(v, b, y, T, _, A, P, R) {
+ const F = await VF(v, xh()),
+ j = b.append('switch'),
+ ee = j
+ .append('foreignObject')
+ .attr('x', y + _ / 2 - F.width / 2)
+ .attr('y', T + A / 2 - F.height / 2)
+ .attr('width', F.width)
+ .attr('height', F.height)
+ .append('xhtml:div')
+ .style('height', '100%')
+ .style('width', '100%');
+ (ee
+ .append('div')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .html(await TC(v, xh())),
+ s(v, j, y, T, _, A, P, R),
+ p(ee, P));
+ }
+ function p(v, b) {
+ for (const y in b) b.hasOwnProperty(y) && v.attr(y, b[y]);
+ }
+ return function (v, b = !1) {
+ return b ? d : v.textPlacement === 'fo' ? u : v.textPlacement === 'old' ? i : s;
+ };
+ })(),
+ pin = (function () {
+ function i(p, v, b, y, T, _, A) {
+ const P = v.append('text').attr('x', b).attr('y', y).style('text-anchor', 'start').text(p);
+ d(P, A);
+ }
+ function s(p, v, b, y, T, _, A, P) {
+ const { actorFontSize: R, actorFontFamily: F, actorFontWeight: j } = P,
+ W = p.split(ci.lineBreakRegex);
+ for (let ee = 0; ee < W.length; ee++) {
+ const ie = ee * R - (R * (W.length - 1)) / 2,
+ oe = v
+ .append('text')
+ .attr('x', b)
+ .attr('y', y)
+ .style('text-anchor', 'start')
+ .style('font-size', R)
+ .style('font-weight', j)
+ .style('font-family', F);
+ (oe.append('tspan').attr('x', b).attr('dy', ie).text(W[ee]),
+ oe
+ .attr('y', y + _ / 2)
+ .attr('dominant-baseline', 'central')
+ .attr('alignment-baseline', 'central'),
+ d(oe, A));
+ }
+ }
+ function u(p, v, b, y, T, _, A, P) {
+ const R = v.append('switch'),
+ j = R.append('foreignObject')
+ .attr('x', b)
+ .attr('y', y)
+ .attr('width', T)
+ .attr('height', _)
+ .append('xhtml:div')
+ .style('display', 'table')
+ .style('height', '100%')
+ .style('width', '100%');
+ (j
+ .append('div')
+ .style('display', 'table-cell')
+ .style('text-align', 'center')
+ .style('vertical-align', 'middle')
+ .text(p),
+ s(p, R, b, y, T, _, A, P),
+ d(j, A));
+ }
+ function d(p, v) {
+ for (const b in v) v.hasOwnProperty(b) && p.attr(b, v[b]);
+ }
+ return function (p) {
+ return p.textPlacement === 'fo' ? u : p.textPlacement === 'old' ? i : s;
+ };
+ })(),
+ Qf = {
+ drawRect: Eve,
+ drawText: WD,
+ drawLabel: HGe,
+ drawActor: nin,
+ drawBox: rin,
+ drawPopup: Jrn,
+ anchorElement: iin,
+ drawActivation: sin,
+ drawLoop: ain,
+ drawBackgroundRect: UGe,
+ insertArrowHead: lin,
+ insertArrowFilledHead: hin,
+ insertSequenceNumber: fin,
+ insertArrowCrossHead: din,
+ insertDatabaseIcon: oin,
+ insertComputerIcon: cin,
+ insertClockIcon: uin,
+ getTextObj: GGe,
+ getNoteRect: gin,
+ fixLifeLineHeights: VGe,
+ sanitizeUrl: g9.sanitizeUrl,
+ };
+ let En = {};
+ const ni = {
+ data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 },
+ verticalPos: 0,
+ sequenceItems: [],
+ activations: [],
+ models: {
+ getHeight: function () {
+ return (
+ Math.max.apply(
+ null,
+ this.actors.length === 0 ? [0] : this.actors.map((i) => i.height || 0),
+ ) +
+ (this.loops.length === 0
+ ? 0
+ : this.loops.map((i) => i.height || 0).reduce((i, s) => i + s)) +
+ (this.messages.length === 0
+ ? 0
+ : this.messages.map((i) => i.height || 0).reduce((i, s) => i + s)) +
+ (this.notes.length === 0
+ ? 0
+ : this.notes.map((i) => i.height || 0).reduce((i, s) => i + s))
+ );
+ },
+ clear: function () {
+ ((this.actors = []),
+ (this.boxes = []),
+ (this.loops = []),
+ (this.messages = []),
+ (this.notes = []));
+ },
+ addBox: function (i) {
+ this.boxes.push(i);
+ },
+ addActor: function (i) {
+ this.actors.push(i);
+ },
+ addLoop: function (i) {
+ this.loops.push(i);
+ },
+ addMessage: function (i) {
+ this.messages.push(i);
+ },
+ addNote: function (i) {
+ this.notes.push(i);
+ },
+ lastActor: function () {
+ return this.actors[this.actors.length - 1];
+ },
+ lastLoop: function () {
+ return this.loops[this.loops.length - 1];
+ },
+ lastMessage: function () {
+ return this.messages[this.messages.length - 1];
+ },
+ lastNote: function () {
+ return this.notes[this.notes.length - 1];
+ },
+ actors: [],
+ boxes: [],
+ loops: [],
+ messages: [],
+ notes: [],
+ },
+ init: function () {
+ ((this.sequenceItems = []),
+ (this.activations = []),
+ this.models.clear(),
+ (this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }),
+ (this.verticalPos = 0),
+ WGe(qt()));
+ },
+ updateVal: function (i, s, u, d) {
+ i[s] === void 0 ? (i[s] = u) : (i[s] = d(u, i[s]));
+ },
+ updateBounds: function (i, s, u, d) {
+ const p = this;
+ let v = 0;
+ function b(y) {
+ return function (_) {
+ v++;
+ const A = p.sequenceItems.length - v + 1;
+ (p.updateVal(_, 'starty', s - A * En.boxMargin, Math.min),
+ p.updateVal(_, 'stopy', d + A * En.boxMargin, Math.max),
+ p.updateVal(ni.data, 'startx', i - A * En.boxMargin, Math.min),
+ p.updateVal(ni.data, 'stopx', u + A * En.boxMargin, Math.max),
+ y !== 'activation' &&
+ (p.updateVal(_, 'startx', i - A * En.boxMargin, Math.min),
+ p.updateVal(_, 'stopx', u + A * En.boxMargin, Math.max),
+ p.updateVal(ni.data, 'starty', s - A * En.boxMargin, Math.min),
+ p.updateVal(ni.data, 'stopy', d + A * En.boxMargin, Math.max)));
+ };
+ }
+ (this.sequenceItems.forEach(b()), this.activations.forEach(b('activation')));
+ },
+ insert: function (i, s, u, d) {
+ const p = ci.getMin(i, u),
+ v = ci.getMax(i, u),
+ b = ci.getMin(s, d),
+ y = ci.getMax(s, d);
+ (this.updateVal(ni.data, 'startx', p, Math.min),
+ this.updateVal(ni.data, 'starty', b, Math.min),
+ this.updateVal(ni.data, 'stopx', v, Math.max),
+ this.updateVal(ni.data, 'stopy', y, Math.max),
+ this.updateBounds(p, b, v, y));
+ },
+ newActivation: function (i, s, u) {
+ const d = u[i.from.actor],
+ p = bJ(i.from.actor).length || 0,
+ v = d.x + d.width / 2 + ((p - 1) * En.activationWidth) / 2;
+ this.activations.push({
+ startx: v,
+ starty: this.verticalPos + 2,
+ stopx: v + En.activationWidth,
+ stopy: void 0,
+ actor: i.from.actor,
+ anchored: Qf.anchorElement(s),
+ });
+ },
+ endActivation: function (i) {
+ const s = this.activations
+ .map(function (u) {
+ return u.actor;
+ })
+ .lastIndexOf(i.from.actor);
+ return this.activations.splice(s, 1)[0];
+ },
+ createLoop: function (i = { message: void 0, wrap: !1, width: void 0 }, s) {
+ return {
+ startx: void 0,
+ starty: this.verticalPos,
+ stopx: void 0,
+ stopy: void 0,
+ title: i.message,
+ wrap: i.wrap,
+ width: i.width,
+ height: 0,
+ fill: s,
+ };
+ },
+ newLoop: function (i = { message: void 0, wrap: !1, width: void 0 }, s) {
+ this.sequenceItems.push(this.createLoop(i, s));
+ },
+ endLoop: function () {
+ return this.sequenceItems.pop();
+ },
+ isLoopOverlap: function () {
+ return this.sequenceItems.length
+ ? this.sequenceItems[this.sequenceItems.length - 1].overlap
+ : !1;
+ },
+ addSectionToLoop: function (i) {
+ const s = this.sequenceItems.pop();
+ ((s.sections = s.sections || []),
+ (s.sectionTitles = s.sectionTitles || []),
+ s.sections.push({ y: ni.getVerticalPos(), height: 0 }),
+ s.sectionTitles.push(i),
+ this.sequenceItems.push(s));
+ },
+ saveVerticalPos: function () {
+ this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos);
+ },
+ resetVerticalPos: function () {
+ this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos);
+ },
+ bumpVerticalPos: function (i) {
+ ((this.verticalPos = this.verticalPos + i),
+ (this.data.stopy = ci.getMax(this.data.stopy, this.verticalPos)));
+ },
+ getVerticalPos: function () {
+ return this.verticalPos;
+ },
+ getBounds: function () {
+ return { bounds: this.data, models: this.models };
+ },
+ },
+ bin = async function (i, s) {
+ (ni.bumpVerticalPos(En.boxMargin),
+ (s.height = En.boxMargin),
+ (s.starty = ni.getVerticalPos()));
+ const u = zC();
+ ((u.x = s.startx), (u.y = s.starty), (u.width = s.width || En.width), (u.class = 'note'));
+ const d = i.append('g'),
+ p = Qf.drawRect(d, u),
+ v = zbe();
+ ((v.x = s.startx),
+ (v.y = s.starty),
+ (v.width = u.width),
+ (v.dy = '1em'),
+ (v.text = s.message),
+ (v.class = 'noteText'),
+ (v.fontFamily = En.noteFontFamily),
+ (v.fontSize = En.noteFontSize),
+ (v.fontWeight = En.noteFontWeight),
+ (v.anchor = En.noteAlign),
+ (v.textMargin = En.noteMargin),
+ (v.valign = 'center'));
+ const b = Dv(v.text) ? await pJ(d, v) : WD(d, v),
+ y = Math.round(
+ b.map((T) => (T._groups || T)[0][0].getBBox().height).reduce((T, _) => T + _),
+ );
+ (p.attr('height', y + 2 * En.noteMargin),
+ (s.height += y + 2 * En.noteMargin),
+ ni.bumpVerticalPos(y + 2 * En.noteMargin),
+ (s.stopy = s.starty + y + 2 * En.noteMargin),
+ (s.stopx = s.startx + u.width),
+ ni.insert(s.startx, s.starty, s.stopx, s.stopy),
+ ni.models.addNote(s));
+ },
+ ZC = (i) => ({
+ fontFamily: i.messageFontFamily,
+ fontSize: i.messageFontSize,
+ fontWeight: i.messageFontWeight,
+ }),
+ YD = (i) => ({
+ fontFamily: i.noteFontFamily,
+ fontSize: i.noteFontSize,
+ fontWeight: i.noteFontWeight,
+ }),
+ Cve = (i) => ({
+ fontFamily: i.actorFontFamily,
+ fontSize: i.actorFontSize,
+ fontWeight: i.actorFontWeight,
+ });
+ async function min(i, s) {
+ ni.bumpVerticalPos(10);
+ const { startx: u, stopx: d, message: p } = s,
+ v = ci.splitBreaks(p).length,
+ b = Dv(p),
+ y = b ? await VF(p, qt()) : So.calculateTextDimensions(p, ZC(En));
+ if (!b) {
+ const P = y.height / v;
+ ((s.height += P), ni.bumpVerticalPos(P));
+ }
+ let T,
+ _ = y.height - 10;
+ const A = y.width;
+ if (u === d) {
+ ((T = ni.getVerticalPos() + _),
+ En.rightAngles || ((_ += En.boxMargin), (T = ni.getVerticalPos() + _)),
+ (_ += 30));
+ const P = ci.getMax(A / 2, En.width / 2);
+ ni.insert(u - P, ni.getVerticalPos() - 10 + _, d + P, ni.getVerticalPos() + 30 + _);
+ } else ((_ += En.boxMargin), (T = ni.getVerticalPos() + _), ni.insert(u, T - 10, d, T));
+ return (
+ ni.bumpVerticalPos(_),
+ (s.height += _),
+ (s.stopy = s.starty + s.height),
+ ni.insert(s.fromBounds, s.starty, s.toBounds, s.stopy),
+ T
+ );
+ }
+ const vin = async function (i, s, u, d) {
+ const {
+ startx: p,
+ stopx: v,
+ starty: b,
+ message: y,
+ type: T,
+ sequenceIndex: _,
+ sequenceVisible: A,
+ } = s,
+ P = So.calculateTextDimensions(y, ZC(En)),
+ R = zbe();
+ ((R.x = p),
+ (R.y = b + 10),
+ (R.width = v - p),
+ (R.class = 'messageText'),
+ (R.dy = '1em'),
+ (R.text = y),
+ (R.fontFamily = En.messageFontFamily),
+ (R.fontSize = En.messageFontSize),
+ (R.fontWeight = En.messageFontWeight),
+ (R.anchor = En.messageAlign),
+ (R.valign = 'center'),
+ (R.textMargin = En.wrapPadding),
+ (R.tspan = !1),
+ Dv(R.text) ? await pJ(i, R, { startx: p, stopx: v, starty: u }) : WD(i, R));
+ const F = P.width;
+ let j;
+ (p === v
+ ? En.rightAngles
+ ? (j = i
+ .append('path')
+ .attr('d', `M ${p},${u} H ${p + ci.getMax(En.width / 2, F / 2)} V ${u + 25} H ${p}`))
+ : (j = i
+ .append('path')
+ .attr(
+ 'd',
+ 'M ' +
+ p +
+ ',' +
+ u +
+ ' C ' +
+ (p + 60) +
+ ',' +
+ (u - 10) +
+ ' ' +
+ (p + 60) +
+ ',' +
+ (u + 30) +
+ ' ' +
+ p +
+ ',' +
+ (u + 20),
+ ))
+ : ((j = i.append('line')),
+ j.attr('x1', p),
+ j.attr('y1', u),
+ j.attr('x2', v),
+ j.attr('y2', u)),
+ T === d.db.LINETYPE.DOTTED ||
+ T === d.db.LINETYPE.DOTTED_CROSS ||
+ T === d.db.LINETYPE.DOTTED_POINT ||
+ T === d.db.LINETYPE.DOTTED_OPEN
+ ? (j.style('stroke-dasharray', '3, 3'), j.attr('class', 'messageLine1'))
+ : j.attr('class', 'messageLine0'));
+ let W = '';
+ (En.arrowMarkerAbsolute &&
+ ((W =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (W = W.replace(/\(/g, '\\(')),
+ (W = W.replace(/\)/g, '\\)'))),
+ j.attr('stroke-width', 2),
+ j.attr('stroke', 'none'),
+ j.style('fill', 'none'),
+ (T === d.db.LINETYPE.SOLID || T === d.db.LINETYPE.DOTTED) &&
+ j.attr('marker-end', 'url(' + W + '#arrowhead)'),
+ (T === d.db.LINETYPE.SOLID_POINT || T === d.db.LINETYPE.DOTTED_POINT) &&
+ j.attr('marker-end', 'url(' + W + '#filled-head)'),
+ (T === d.db.LINETYPE.SOLID_CROSS || T === d.db.LINETYPE.DOTTED_CROSS) &&
+ j.attr('marker-end', 'url(' + W + '#crosshead)'),
+ (A || En.showSequenceNumbers) &&
+ (j.attr('marker-start', 'url(' + W + '#sequencenumber)'),
+ i
+ .append('text')
+ .attr('x', p)
+ .attr('y', u + 4)
+ .attr('font-family', 'sans-serif')
+ .attr('font-size', '12px')
+ .attr('text-anchor', 'middle')
+ .attr('class', 'sequenceNumber')
+ .text(_)));
+ },
+ win = async function (i, s, u, d, p, v, b) {
+ let y = 0,
+ T = 0,
+ _,
+ A = 0;
+ for (const P of d) {
+ const R = s[P],
+ F = R.box;
+ (_ && _ != F && (b || ni.models.addBox(_), (T += En.boxMargin + _.margin)),
+ F && F != _ && (b || ((F.x = y + T), (F.y = p)), (T += F.margin)),
+ (R.width = R.width || En.width),
+ (R.height = ci.getMax(R.height || En.height, En.height)),
+ (R.margin = R.margin || En.actorMargin),
+ (A = ci.getMax(A, R.height)),
+ u[R.name] && (T += R.width / 2),
+ (R.x = y + T),
+ (R.starty = ni.getVerticalPos()),
+ ni.insert(R.x, p, R.x + R.width, R.height),
+ (y += R.width + T),
+ R.box && (R.box.width = y + F.margin - R.box.x),
+ (T = R.margin),
+ (_ = R.box),
+ ni.models.addActor(R));
+ }
+ (_ && !b && ni.models.addBox(_), ni.bumpVerticalPos(A));
+ },
+ Sve = async function (i, s, u, d) {
+ if (d) {
+ let p = 0;
+ ni.bumpVerticalPos(En.boxMargin * 2);
+ for (const v of u) {
+ const b = s[v];
+ b.stopy || (b.stopy = ni.getVerticalPos());
+ const y = await Qf.drawActor(i, b, En, !0);
+ p = ci.getMax(p, y);
+ }
+ ni.bumpVerticalPos(p + En.boxMargin);
+ } else
+ for (const p of u) {
+ const v = s[p];
+ await Qf.drawActor(i, v, En, !1);
+ }
+ },
+ KGe = function (i, s, u, d) {
+ let p = 0,
+ v = 0;
+ for (const b of u) {
+ const y = s[b],
+ T = Ein(y),
+ _ = Qf.drawPopup(i, y, T, En, En.forceMenus, d);
+ (_.height > p && (p = _.height), _.width + y.x > v && (v = _.width + y.x));
+ }
+ return { maxHeight: p, maxWidth: v };
+ },
+ WGe = function (i) {
+ (td(En, i),
+ i.fontFamily &&
+ (En.actorFontFamily = En.noteFontFamily = En.messageFontFamily = i.fontFamily),
+ i.fontSize && (En.actorFontSize = En.noteFontSize = En.messageFontSize = i.fontSize),
+ i.fontWeight &&
+ (En.actorFontWeight = En.noteFontWeight = En.messageFontWeight = i.fontWeight));
+ },
+ bJ = function (i) {
+ return ni.activations.filter(function (s) {
+ return s.actor === i;
+ });
+ },
+ YGe = function (i, s) {
+ const u = s[i],
+ d = bJ(i),
+ p = d.reduce(
+ function (b, y) {
+ return ci.getMin(b, y.startx);
+ },
+ u.x + u.width / 2 - 1,
+ ),
+ v = d.reduce(
+ function (b, y) {
+ return ci.getMax(b, y.stopx);
+ },
+ u.x + u.width / 2 + 1,
+ );
+ return [p, v];
+ };
+ function s5(i, s, u, d, p) {
+ ni.bumpVerticalPos(u);
+ let v = d;
+ if (s.id && s.message && i[s.id]) {
+ const b = i[s.id].width,
+ y = ZC(En);
+ ((s.message = So.wrapLabel(`[${s.message}]`, b - 2 * En.wrapPadding, y)),
+ (s.width = b),
+ (s.wrap = !0));
+ const T = So.calculateTextDimensions(s.message, y),
+ _ = ci.getMax(T.height, En.labelBoxHeight);
+ ((v = d + _), Xe.debug(`${_} - ${s.message}`));
+ }
+ (p(s), ni.bumpVerticalPos(v));
+ }
+ function yin(i, s, u, d, p, v, b) {
+ function y(_, A) {
+ _.x < p[i.from].x
+ ? (ni.insert(s.stopx - A, s.starty, s.startx, s.stopy + _.height / 2 + En.noteMargin),
+ (s.stopx = s.stopx + A))
+ : (ni.insert(s.startx, s.starty, s.stopx + A, s.stopy + _.height / 2 + En.noteMargin),
+ (s.stopx = s.stopx - A));
+ }
+ function T(_, A) {
+ _.x < p[i.to].x
+ ? (ni.insert(s.startx - A, s.starty, s.stopx, s.stopy + _.height / 2 + En.noteMargin),
+ (s.startx = s.startx + A))
+ : (ni.insert(s.stopx, s.starty, s.startx + A, s.stopy + _.height / 2 + En.noteMargin),
+ (s.startx = s.startx - A));
+ }
+ if (v[i.to] == d) {
+ const _ = p[i.to],
+ A = _.type == 'actor' ? JC / 2 + 3 : _.width / 2 + 3;
+ (y(_, A), (_.starty = u - _.height / 2), ni.bumpVerticalPos(_.height / 2));
+ } else if (b[i.from] == d) {
+ const _ = p[i.from];
+ if (En.mirrorActors) {
+ const A = _.type == 'actor' ? JC / 2 : _.width / 2;
+ T(_, A);
+ }
+ ((_.stopy = u - _.height / 2), ni.bumpVerticalPos(_.height / 2));
+ } else if (b[i.to] == d) {
+ const _ = p[i.to];
+ if (En.mirrorActors) {
+ const A = _.type == 'actor' ? JC / 2 + 3 : _.width / 2 + 3;
+ y(_, A);
+ }
+ ((_.stopy = u - _.height / 2), ni.bumpVerticalPos(_.height / 2));
+ }
+ }
+ const xin = async function (i, s, u, d) {
+ const { securityLevel: p, sequence: v } = qt();
+ En = v;
+ let b;
+ p === 'sandbox' && (b = Ir('#i' + s));
+ const y = Ir(p === 'sandbox' ? b.nodes()[0].contentDocument.body : 'body'),
+ T = p === 'sandbox' ? b.nodes()[0].contentDocument : document;
+ (ni.init(), Xe.debug(d.db));
+ const _ = p === 'sandbox' ? y.select(`[id="${s}"]`) : Ir(`[id="${s}"]`),
+ A = d.db.getActors(),
+ P = d.db.getCreatedActors(),
+ R = d.db.getDestroyedActors(),
+ F = d.db.getBoxes();
+ let j = d.db.getActorKeys();
+ const W = d.db.getMessages(),
+ ee = d.db.getDiagramTitle(),
+ ie = d.db.hasAtLeastOneBox(),
+ oe = d.db.hasAtLeastOneBoxWithTitle(),
+ be = await kin(A, W, d);
+ if (
+ ((En.height = await Tin(A, be, F)),
+ Qf.insertComputerIcon(_),
+ Qf.insertDatabaseIcon(_),
+ Qf.insertClockIcon(_),
+ ie && (ni.bumpVerticalPos(En.boxMargin), oe && ni.bumpVerticalPos(F[0].textMaxHeight)),
+ En.hideUnusedParticipants === !0)
+ ) {
+ const Se = new Set();
+ (W.forEach((Ce) => {
+ (Se.add(Ce.from), Se.add(Ce.to));
+ }),
+ (j = j.filter((Ce) => Se.has(Ce))));
+ }
+ await win(_, A, P, j, 0, W, !1);
+ const ge = await _in(W, A, be, d);
+ (Qf.insertArrowHead(_),
+ Qf.insertArrowCrossHead(_),
+ Qf.insertArrowFilledHead(_),
+ Qf.insertSequenceNumber(_));
+ function ae(Se, Ce) {
+ const ke = ni.endActivation(Se);
+ (ke.starty + 18 > Ce && ((ke.starty = Ce - 6), (Ce += 12)),
+ Qf.drawActivation(_, ke, Ce, En, bJ(Se.from.actor).length),
+ ni.insert(ke.startx, Ce - 10, ke.stopx, Ce));
+ }
+ let ne = 1,
+ se = 1;
+ const de = [],
+ X = [];
+ let pe = 0;
+ for (const Se of W) {
+ let Ce, ke, Ke;
+ switch (Se.type) {
+ case d.db.LINETYPE.NOTE:
+ (ni.resetVerticalPos(), (ke = Se.noteModel), await bin(_, ke));
+ break;
+ case d.db.LINETYPE.ACTIVE_START:
+ ni.newActivation(Se, _, A);
+ break;
+ case d.db.LINETYPE.ACTIVE_END:
+ ae(Se, ni.getVerticalPos());
+ break;
+ case d.db.LINETYPE.LOOP_START:
+ s5(ge, Se, En.boxMargin, En.boxMargin + En.boxTextMargin, (Ft) => ni.newLoop(Ft));
+ break;
+ case d.db.LINETYPE.LOOP_END:
+ ((Ce = ni.endLoop()),
+ await Qf.drawLoop(_, Ce, 'loop', En),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()),
+ ni.models.addLoop(Ce));
+ break;
+ case d.db.LINETYPE.RECT_START:
+ s5(ge, Se, En.boxMargin, En.boxMargin, (Ft) => ni.newLoop(void 0, Ft.message));
+ break;
+ case d.db.LINETYPE.RECT_END:
+ ((Ce = ni.endLoop()),
+ X.push(Ce),
+ ni.models.addLoop(Ce),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()));
+ break;
+ case d.db.LINETYPE.OPT_START:
+ s5(ge, Se, En.boxMargin, En.boxMargin + En.boxTextMargin, (Ft) => ni.newLoop(Ft));
+ break;
+ case d.db.LINETYPE.OPT_END:
+ ((Ce = ni.endLoop()),
+ await Qf.drawLoop(_, Ce, 'opt', En),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()),
+ ni.models.addLoop(Ce));
+ break;
+ case d.db.LINETYPE.ALT_START:
+ s5(ge, Se, En.boxMargin, En.boxMargin + En.boxTextMargin, (Ft) => ni.newLoop(Ft));
+ break;
+ case d.db.LINETYPE.ALT_ELSE:
+ s5(ge, Se, En.boxMargin + En.boxTextMargin, En.boxMargin, (Ft) =>
+ ni.addSectionToLoop(Ft),
+ );
+ break;
+ case d.db.LINETYPE.ALT_END:
+ ((Ce = ni.endLoop()),
+ await Qf.drawLoop(_, Ce, 'alt', En),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()),
+ ni.models.addLoop(Ce));
+ break;
+ case d.db.LINETYPE.PAR_START:
+ case d.db.LINETYPE.PAR_OVER_START:
+ (s5(ge, Se, En.boxMargin, En.boxMargin + En.boxTextMargin, (Ft) => ni.newLoop(Ft)),
+ ni.saveVerticalPos());
+ break;
+ case d.db.LINETYPE.PAR_AND:
+ s5(ge, Se, En.boxMargin + En.boxTextMargin, En.boxMargin, (Ft) =>
+ ni.addSectionToLoop(Ft),
+ );
+ break;
+ case d.db.LINETYPE.PAR_END:
+ ((Ce = ni.endLoop()),
+ await Qf.drawLoop(_, Ce, 'par', En),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()),
+ ni.models.addLoop(Ce));
+ break;
+ case d.db.LINETYPE.AUTONUMBER:
+ ((ne = Se.message.start || ne),
+ (se = Se.message.step || se),
+ Se.message.visible ? d.db.enableSequenceNumbers() : d.db.disableSequenceNumbers());
+ break;
+ case d.db.LINETYPE.CRITICAL_START:
+ s5(ge, Se, En.boxMargin, En.boxMargin + En.boxTextMargin, (Ft) => ni.newLoop(Ft));
+ break;
+ case d.db.LINETYPE.CRITICAL_OPTION:
+ s5(ge, Se, En.boxMargin + En.boxTextMargin, En.boxMargin, (Ft) =>
+ ni.addSectionToLoop(Ft),
+ );
+ break;
+ case d.db.LINETYPE.CRITICAL_END:
+ ((Ce = ni.endLoop()),
+ await Qf.drawLoop(_, Ce, 'critical', En),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()),
+ ni.models.addLoop(Ce));
+ break;
+ case d.db.LINETYPE.BREAK_START:
+ s5(ge, Se, En.boxMargin, En.boxMargin + En.boxTextMargin, (Ft) => ni.newLoop(Ft));
+ break;
+ case d.db.LINETYPE.BREAK_END:
+ ((Ce = ni.endLoop()),
+ await Qf.drawLoop(_, Ce, 'break', En),
+ ni.bumpVerticalPos(Ce.stopy - ni.getVerticalPos()),
+ ni.models.addLoop(Ce));
+ break;
+ default:
+ try {
+ ((Ke = Se.msgModel),
+ (Ke.starty = ni.getVerticalPos()),
+ (Ke.sequenceIndex = ne),
+ (Ke.sequenceVisible = d.db.showSequenceNumbers()));
+ const Ft = await min(_, Ke);
+ (yin(Se, Ke, Ft, pe, A, P, R),
+ de.push({ messageModel: Ke, lineStartY: Ft }),
+ ni.models.addMessage(Ke));
+ } catch (Ft) {
+ Xe.error('error while drawing message', Ft);
+ }
+ }
+ ([
+ d.db.LINETYPE.SOLID_OPEN,
+ d.db.LINETYPE.DOTTED_OPEN,
+ d.db.LINETYPE.SOLID,
+ d.db.LINETYPE.DOTTED,
+ d.db.LINETYPE.SOLID_CROSS,
+ d.db.LINETYPE.DOTTED_CROSS,
+ d.db.LINETYPE.SOLID_POINT,
+ d.db.LINETYPE.DOTTED_POINT,
+ ].includes(Se.type) && (ne = ne + se),
+ pe++);
+ }
+ (Xe.debug('createdActors', P), Xe.debug('destroyedActors', R), await Sve(_, A, j, !1));
+ for (const Se of de) await vin(_, Se.messageModel, Se.lineStartY, d);
+ (En.mirrorActors && (await Sve(_, A, j, !0)),
+ X.forEach((Se) => Qf.drawBackgroundRect(_, Se)),
+ VGe(_, A, j, En));
+ for (const Se of ni.models.boxes)
+ ((Se.height = ni.getVerticalPos() - Se.y),
+ ni.insert(Se.x, Se.y, Se.x + Se.width, Se.height),
+ (Se.startx = Se.x),
+ (Se.starty = Se.y),
+ (Se.stopx = Se.startx + Se.width),
+ (Se.stopy = Se.starty + Se.height),
+ (Se.stroke = 'rgb(0,0,0, 0.5)'),
+ await Qf.drawBox(_, Se, En));
+ ie && ni.bumpVerticalPos(En.boxMargin);
+ const G = KGe(_, A, j, T),
+ { bounds: xe } = ni.getBounds();
+ let U = xe.stopy - xe.starty;
+ U < G.maxHeight && (U = G.maxHeight);
+ let Be = U + 2 * En.diagramMarginY;
+ En.mirrorActors && (Be = Be - En.boxMargin + En.bottomMarginAdj);
+ let Ne = xe.stopx - xe.startx;
+ Ne < G.maxWidth && (Ne = G.maxWidth);
+ const je = Ne + 2 * En.diagramMarginX;
+ (ee &&
+ _.append('text')
+ .text(ee)
+ .attr('x', (xe.stopx - xe.startx) / 2 - 2 * En.diagramMarginX)
+ .attr('y', -25),
+ Og(_, Be, je, En.useMaxWidth));
+ const Ie = ee ? 40 : 0;
+ (_.attr(
+ 'viewBox',
+ xe.startx - En.diagramMarginX + ' -' + (En.diagramMarginY + Ie) + ' ' + je + ' ' + (Be + Ie),
+ ),
+ Xe.debug('models:', ni.models));
+ };
+ async function kin(i, s, u) {
+ const d = {};
+ for (const p of s)
+ if (i[p.to] && i[p.from]) {
+ const v = i[p.to];
+ if (
+ (p.placement === u.db.PLACEMENT.LEFTOF && !v.prevActor) ||
+ (p.placement === u.db.PLACEMENT.RIGHTOF && !v.nextActor)
+ )
+ continue;
+ const b = p.placement !== void 0,
+ y = !b,
+ T = b ? YD(En) : ZC(En),
+ _ = p.wrap ? So.wrapLabel(p.message, En.width - 2 * En.wrapPadding, T) : p.message,
+ P =
+ (Dv(_) ? await VF(p.message, qt()) : So.calculateTextDimensions(_, T)).width +
+ 2 * En.wrapPadding;
+ y && p.from === v.nextActor
+ ? (d[p.to] = ci.getMax(d[p.to] || 0, P))
+ : y && p.from === v.prevActor
+ ? (d[p.from] = ci.getMax(d[p.from] || 0, P))
+ : y && p.from === p.to
+ ? ((d[p.from] = ci.getMax(d[p.from] || 0, P / 2)),
+ (d[p.to] = ci.getMax(d[p.to] || 0, P / 2)))
+ : p.placement === u.db.PLACEMENT.RIGHTOF
+ ? (d[p.from] = ci.getMax(d[p.from] || 0, P))
+ : p.placement === u.db.PLACEMENT.LEFTOF
+ ? (d[v.prevActor] = ci.getMax(d[v.prevActor] || 0, P))
+ : p.placement === u.db.PLACEMENT.OVER &&
+ (v.prevActor && (d[v.prevActor] = ci.getMax(d[v.prevActor] || 0, P / 2)),
+ v.nextActor && (d[p.from] = ci.getMax(d[p.from] || 0, P / 2)));
+ }
+ return (Xe.debug('maxMessageWidthPerActor:', d), d);
+ }
+ const Ein = function (i) {
+ let s = 0;
+ const u = Cve(En);
+ for (const d in i.links) {
+ const v = So.calculateTextDimensions(d, u).width + 2 * En.wrapPadding + 2 * En.boxMargin;
+ s < v && (s = v);
+ }
+ return s;
+ };
+ async function Tin(i, s, u) {
+ let d = 0;
+ for (const v of Object.keys(i)) {
+ const b = i[v];
+ b.wrap &&
+ (b.description = So.wrapLabel(b.description, En.width - 2 * En.wrapPadding, Cve(En)));
+ const y = Dv(b.description)
+ ? await VF(b.description, qt())
+ : So.calculateTextDimensions(b.description, Cve(En));
+ ((b.width = b.wrap ? En.width : ci.getMax(En.width, y.width + 2 * En.wrapPadding)),
+ (b.height = b.wrap ? ci.getMax(y.height, En.height) : En.height),
+ (d = ci.getMax(d, b.height)));
+ }
+ for (const v in s) {
+ const b = i[v];
+ if (!b) continue;
+ const y = i[b.nextActor];
+ if (!y) {
+ const P = s[v] + En.actorMargin - b.width / 2;
+ b.margin = ci.getMax(P, En.actorMargin);
+ continue;
+ }
+ const _ = s[v] + En.actorMargin - b.width / 2 - y.width / 2;
+ b.margin = ci.getMax(_, En.actorMargin);
+ }
+ let p = 0;
+ return (
+ u.forEach((v) => {
+ const b = ZC(En);
+ let y = v.actorKeys.reduce((A, P) => (A += i[P].width + (i[P].margin || 0)), 0);
+ ((y -= 2 * En.boxTextMargin),
+ v.wrap && (v.name = So.wrapLabel(v.name, y - 2 * En.wrapPadding, b)));
+ const T = So.calculateTextDimensions(v.name, b);
+ p = ci.getMax(T.height, p);
+ const _ = ci.getMax(y, T.width + 2 * En.wrapPadding);
+ if (((v.margin = En.boxTextMargin), y < _)) {
+ const A = (_ - y) / 2;
+ v.margin += A;
+ }
+ }),
+ u.forEach((v) => (v.textMaxHeight = p)),
+ ci.getMax(d, En.height)
+ );
+ }
+ const Cin = async function (i, s, u) {
+ const d = s[i.from].x,
+ p = s[i.to].x,
+ v = i.wrap && i.message;
+ let b = Dv(i.message)
+ ? await VF(i.message, qt())
+ : So.calculateTextDimensions(
+ v ? So.wrapLabel(i.message, En.width, YD(En)) : i.message,
+ YD(En),
+ );
+ const y = {
+ width: v ? En.width : ci.getMax(En.width, b.width + 2 * En.noteMargin),
+ height: 0,
+ startx: s[i.from].x,
+ stopx: 0,
+ starty: 0,
+ stopy: 0,
+ message: i.message,
+ };
+ return (
+ i.placement === u.db.PLACEMENT.RIGHTOF
+ ? ((y.width = v
+ ? ci.getMax(En.width, b.width)
+ : ci.getMax(s[i.from].width / 2 + s[i.to].width / 2, b.width + 2 * En.noteMargin)),
+ (y.startx = d + (s[i.from].width + En.actorMargin) / 2))
+ : i.placement === u.db.PLACEMENT.LEFTOF
+ ? ((y.width = v
+ ? ci.getMax(En.width, b.width + 2 * En.noteMargin)
+ : ci.getMax(s[i.from].width / 2 + s[i.to].width / 2, b.width + 2 * En.noteMargin)),
+ (y.startx = d - y.width + (s[i.from].width - En.actorMargin) / 2))
+ : i.to === i.from
+ ? ((b = So.calculateTextDimensions(
+ v
+ ? So.wrapLabel(i.message, ci.getMax(En.width, s[i.from].width), YD(En))
+ : i.message,
+ YD(En),
+ )),
+ (y.width = v
+ ? ci.getMax(En.width, s[i.from].width)
+ : ci.getMax(s[i.from].width, En.width, b.width + 2 * En.noteMargin)),
+ (y.startx = d + (s[i.from].width - y.width) / 2))
+ : ((y.width =
+ Math.abs(d + s[i.from].width / 2 - (p + s[i.to].width / 2)) + En.actorMargin),
+ (y.startx =
+ d < p
+ ? d + s[i.from].width / 2 - En.actorMargin / 2
+ : p + s[i.to].width / 2 - En.actorMargin / 2)),
+ v && (y.message = So.wrapLabel(i.message, y.width - 2 * En.wrapPadding, YD(En))),
+ Xe.debug(
+ `NM:[${y.startx},${y.stopx},${y.starty},${y.stopy}:${y.width},${y.height}=${i.message}]`,
+ ),
+ y
+ );
+ },
+ Sin = function (i, s, u) {
+ if (
+ ![
+ u.db.LINETYPE.SOLID_OPEN,
+ u.db.LINETYPE.DOTTED_OPEN,
+ u.db.LINETYPE.SOLID,
+ u.db.LINETYPE.DOTTED,
+ u.db.LINETYPE.SOLID_CROSS,
+ u.db.LINETYPE.DOTTED_CROSS,
+ u.db.LINETYPE.SOLID_POINT,
+ u.db.LINETYPE.DOTTED_POINT,
+ ].includes(i.type)
+ )
+ return {};
+ const [d, p] = YGe(i.from, s),
+ [v, b] = YGe(i.to, s),
+ y = d <= v,
+ T = y ? p : d;
+ let _ = y ? v : b;
+ const A = Math.abs(v - b) > 2,
+ P = (W) => (y ? -W : W);
+ i.from === i.to
+ ? (_ = T)
+ : (i.activate && !A && (_ += P(En.activationWidth / 2 - 1)),
+ [u.db.LINETYPE.SOLID_OPEN, u.db.LINETYPE.DOTTED_OPEN].includes(i.type) || (_ += P(3)));
+ const R = [d, p, v, b],
+ F = Math.abs(T - _);
+ i.wrap &&
+ i.message &&
+ (i.message = So.wrapLabel(i.message, ci.getMax(F + 2 * En.wrapPadding, En.width), ZC(En)));
+ const j = So.calculateTextDimensions(i.message, ZC(En));
+ return {
+ width: ci.getMax(
+ i.wrap ? 0 : j.width + 2 * En.wrapPadding,
+ F + 2 * En.wrapPadding,
+ En.width,
+ ),
+ height: 0,
+ startx: T,
+ stopx: _,
+ starty: 0,
+ stopy: 0,
+ message: i.message,
+ type: i.type,
+ wrap: i.wrap,
+ fromBounds: Math.min.apply(null, R),
+ toBounds: Math.max.apply(null, R),
+ };
+ },
+ _in = async function (i, s, u, d) {
+ const p = {},
+ v = [];
+ let b, y, T;
+ for (const _ of i) {
+ switch (((_.id = So.random({ length: 10 })), _.type)) {
+ case d.db.LINETYPE.LOOP_START:
+ case d.db.LINETYPE.ALT_START:
+ case d.db.LINETYPE.OPT_START:
+ case d.db.LINETYPE.PAR_START:
+ case d.db.LINETYPE.PAR_OVER_START:
+ case d.db.LINETYPE.CRITICAL_START:
+ case d.db.LINETYPE.BREAK_START:
+ v.push({
+ id: _.id,
+ msg: _.message,
+ from: Number.MAX_SAFE_INTEGER,
+ to: Number.MIN_SAFE_INTEGER,
+ width: 0,
+ });
+ break;
+ case d.db.LINETYPE.ALT_ELSE:
+ case d.db.LINETYPE.PAR_AND:
+ case d.db.LINETYPE.CRITICAL_OPTION:
+ _.message && ((b = v.pop()), (p[b.id] = b), (p[_.id] = b), v.push(b));
+ break;
+ case d.db.LINETYPE.LOOP_END:
+ case d.db.LINETYPE.ALT_END:
+ case d.db.LINETYPE.OPT_END:
+ case d.db.LINETYPE.PAR_END:
+ case d.db.LINETYPE.CRITICAL_END:
+ case d.db.LINETYPE.BREAK_END:
+ ((b = v.pop()), (p[b.id] = b));
+ break;
+ case d.db.LINETYPE.ACTIVE_START:
+ {
+ const P = s[_.from ? _.from.actor : _.to.actor],
+ R = bJ(_.from ? _.from.actor : _.to.actor).length,
+ F = P.x + P.width / 2 + ((R - 1) * En.activationWidth) / 2,
+ j = { startx: F, stopx: F + En.activationWidth, actor: _.from.actor, enabled: !0 };
+ ni.activations.push(j);
+ }
+ break;
+ case d.db.LINETYPE.ACTIVE_END:
+ {
+ const P = ni.activations.map((R) => R.actor).lastIndexOf(_.from.actor);
+ delete ni.activations.splice(P, 1)[0];
+ }
+ break;
+ }
+ _.placement !== void 0
+ ? ((y = await Cin(_, s, d)),
+ (_.noteModel = y),
+ v.forEach((P) => {
+ ((b = P),
+ (b.from = ci.getMin(b.from, y.startx)),
+ (b.to = ci.getMax(b.to, y.startx + y.width)),
+ (b.width = ci.getMax(b.width, Math.abs(b.from - b.to)) - En.labelBoxWidth));
+ }))
+ : ((T = Sin(_, s, d)),
+ (_.msgModel = T),
+ T.startx &&
+ T.stopx &&
+ v.length > 0 &&
+ v.forEach((P) => {
+ if (((b = P), T.startx === T.stopx)) {
+ const R = s[_.from],
+ F = s[_.to];
+ ((b.from = ci.getMin(R.x - T.width / 2, R.x - R.width / 2, b.from)),
+ (b.to = ci.getMax(F.x + T.width / 2, F.x + R.width / 2, b.to)),
+ (b.width = ci.getMax(b.width, Math.abs(b.to - b.from)) - En.labelBoxWidth));
+ } else
+ ((b.from = ci.getMin(T.startx, b.from)),
+ (b.to = ci.getMax(T.stopx, b.to)),
+ (b.width = ci.getMax(b.width, T.width) - En.labelBoxWidth));
+ }));
+ }
+ return ((ni.activations = []), Xe.debug('Loop type widths:', p), p);
+ },
+ Ain = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: Srn,
+ db: $Ge,
+ renderer: {
+ bounds: ni,
+ drawActors: Sve,
+ drawActorsPopup: KGe,
+ setConf: WGe,
+ draw: xin,
+ },
+ styles: Qrn,
+ init: ({ wrap: i }) => {
+ $Ge.setWrap(i);
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var _ve = (function () {
+ var i = function (Ro, _r, Nn, $n) {
+ for (Nn = Nn || {}, $n = Ro.length; $n--; Nn[Ro[$n]] = _r);
+ return Nn;
+ },
+ s = [1, 17],
+ u = [1, 18],
+ d = [1, 19],
+ p = [1, 39],
+ v = [1, 40],
+ b = [1, 25],
+ y = [1, 23],
+ T = [1, 24],
+ _ = [1, 31],
+ A = [1, 32],
+ P = [1, 33],
+ R = [1, 34],
+ F = [1, 35],
+ j = [1, 36],
+ W = [1, 26],
+ ee = [1, 27],
+ ie = [1, 28],
+ oe = [1, 29],
+ be = [1, 43],
+ ge = [1, 30],
+ ae = [1, 42],
+ ne = [1, 44],
+ se = [1, 41],
+ de = [1, 45],
+ X = [1, 9],
+ pe = [1, 8, 9],
+ G = [1, 56],
+ xe = [1, 57],
+ U = [1, 58],
+ Be = [1, 59],
+ Ne = [1, 60],
+ je = [1, 61],
+ Ie = [1, 62],
+ Se = [1, 8, 9, 39],
+ Ce = [1, 74],
+ ke = [1, 8, 9, 12, 13, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72],
+ Ke = [
+ 1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 46, 59, 60, 61, 62, 63, 64, 65, 70, 72, 74, 80, 95, 97,
+ 98,
+ ],
+ Ft = [13, 74, 80, 95, 97, 98],
+ Pe = [13, 64, 65, 74, 80, 95, 97, 98],
+ gn = [13, 59, 60, 61, 62, 63, 74, 80, 95, 97, 98],
+ kt = [1, 93],
+ Et = [1, 110],
+ Gt = [1, 108],
+ ln = [1, 102],
+ xt = [1, 103],
+ Pt = [1, 104],
+ Ze = [1, 105],
+ At = [1, 106],
+ Tt = [1, 107],
+ On = [1, 109],
+ ht = [1, 8, 9, 37, 39, 42],
+ zr = [1, 8, 9, 21],
+ yt = [1, 8, 9, 78],
+ Fi = [1, 8, 9, 21, 73, 74, 78, 80, 81, 82, 83, 84, 85],
+ yi = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ mermaidDoc: 4,
+ statements: 5,
+ graphConfig: 6,
+ CLASS_DIAGRAM: 7,
+ NEWLINE: 8,
+ EOF: 9,
+ statement: 10,
+ classLabel: 11,
+ SQS: 12,
+ STR: 13,
+ SQE: 14,
+ namespaceName: 15,
+ alphaNumToken: 16,
+ className: 17,
+ classLiteralName: 18,
+ GENERICTYPE: 19,
+ relationStatement: 20,
+ LABEL: 21,
+ namespaceStatement: 22,
+ classStatement: 23,
+ memberStatement: 24,
+ annotationStatement: 25,
+ clickStatement: 26,
+ styleStatement: 27,
+ cssClassStatement: 28,
+ noteStatement: 29,
+ direction: 30,
+ acc_title: 31,
+ acc_title_value: 32,
+ acc_descr: 33,
+ acc_descr_value: 34,
+ acc_descr_multiline_value: 35,
+ namespaceIdentifier: 36,
+ STRUCT_START: 37,
+ classStatements: 38,
+ STRUCT_STOP: 39,
+ NAMESPACE: 40,
+ classIdentifier: 41,
+ STYLE_SEPARATOR: 42,
+ members: 43,
+ CLASS: 44,
+ ANNOTATION_START: 45,
+ ANNOTATION_END: 46,
+ MEMBER: 47,
+ SEPARATOR: 48,
+ relation: 49,
+ NOTE_FOR: 50,
+ noteText: 51,
+ NOTE: 52,
+ direction_tb: 53,
+ direction_bt: 54,
+ direction_rl: 55,
+ direction_lr: 56,
+ relationType: 57,
+ lineType: 58,
+ AGGREGATION: 59,
+ EXTENSION: 60,
+ COMPOSITION: 61,
+ DEPENDENCY: 62,
+ LOLLIPOP: 63,
+ LINE: 64,
+ DOTTED_LINE: 65,
+ CALLBACK: 66,
+ LINK: 67,
+ LINK_TARGET: 68,
+ CLICK: 69,
+ CALLBACK_NAME: 70,
+ CALLBACK_ARGS: 71,
+ HREF: 72,
+ STYLE: 73,
+ ALPHA: 74,
+ stylesOpt: 75,
+ CSSCLASS: 76,
+ style: 77,
+ COMMA: 78,
+ styleComponent: 79,
+ NUM: 80,
+ COLON: 81,
+ UNIT: 82,
+ SPACE: 83,
+ BRKT: 84,
+ PCT: 85,
+ commentToken: 86,
+ textToken: 87,
+ graphCodeTokens: 88,
+ textNoTagsToken: 89,
+ TAGSTART: 90,
+ TAGEND: 91,
+ '==': 92,
+ '--': 93,
+ DEFAULT: 94,
+ MINUS: 95,
+ keywords: 96,
+ UNICODE_TEXT: 97,
+ BQUOTE_STR: 98,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 7: 'CLASS_DIAGRAM',
+ 8: 'NEWLINE',
+ 9: 'EOF',
+ 12: 'SQS',
+ 13: 'STR',
+ 14: 'SQE',
+ 19: 'GENERICTYPE',
+ 21: 'LABEL',
+ 31: 'acc_title',
+ 32: 'acc_title_value',
+ 33: 'acc_descr',
+ 34: 'acc_descr_value',
+ 35: 'acc_descr_multiline_value',
+ 37: 'STRUCT_START',
+ 39: 'STRUCT_STOP',
+ 40: 'NAMESPACE',
+ 42: 'STYLE_SEPARATOR',
+ 44: 'CLASS',
+ 45: 'ANNOTATION_START',
+ 46: 'ANNOTATION_END',
+ 47: 'MEMBER',
+ 48: 'SEPARATOR',
+ 50: 'NOTE_FOR',
+ 52: 'NOTE',
+ 53: 'direction_tb',
+ 54: 'direction_bt',
+ 55: 'direction_rl',
+ 56: 'direction_lr',
+ 59: 'AGGREGATION',
+ 60: 'EXTENSION',
+ 61: 'COMPOSITION',
+ 62: 'DEPENDENCY',
+ 63: 'LOLLIPOP',
+ 64: 'LINE',
+ 65: 'DOTTED_LINE',
+ 66: 'CALLBACK',
+ 67: 'LINK',
+ 68: 'LINK_TARGET',
+ 69: 'CLICK',
+ 70: 'CALLBACK_NAME',
+ 71: 'CALLBACK_ARGS',
+ 72: 'HREF',
+ 73: 'STYLE',
+ 74: 'ALPHA',
+ 76: 'CSSCLASS',
+ 78: 'COMMA',
+ 80: 'NUM',
+ 81: 'COLON',
+ 82: 'UNIT',
+ 83: 'SPACE',
+ 84: 'BRKT',
+ 85: 'PCT',
+ 88: 'graphCodeTokens',
+ 90: 'TAGSTART',
+ 91: 'TAGEND',
+ 92: '==',
+ 93: '--',
+ 94: 'DEFAULT',
+ 95: 'MINUS',
+ 96: 'keywords',
+ 97: 'UNICODE_TEXT',
+ 98: 'BQUOTE_STR',
+ },
+ productions_: [
+ 0,
+ [3, 1],
+ [3, 1],
+ [4, 1],
+ [6, 4],
+ [5, 1],
+ [5, 2],
+ [5, 3],
+ [11, 3],
+ [15, 1],
+ [15, 2],
+ [17, 1],
+ [17, 1],
+ [17, 2],
+ [17, 2],
+ [17, 2],
+ [10, 1],
+ [10, 2],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 1],
+ [10, 2],
+ [10, 2],
+ [10, 1],
+ [22, 4],
+ [22, 5],
+ [36, 2],
+ [38, 1],
+ [38, 2],
+ [38, 3],
+ [23, 1],
+ [23, 3],
+ [23, 4],
+ [23, 6],
+ [41, 2],
+ [41, 3],
+ [25, 4],
+ [43, 1],
+ [43, 2],
+ [24, 1],
+ [24, 2],
+ [24, 1],
+ [24, 1],
+ [20, 3],
+ [20, 4],
+ [20, 4],
+ [20, 5],
+ [29, 3],
+ [29, 2],
+ [30, 1],
+ [30, 1],
+ [30, 1],
+ [30, 1],
+ [49, 3],
+ [49, 2],
+ [49, 2],
+ [49, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [57, 1],
+ [58, 1],
+ [58, 1],
+ [26, 3],
+ [26, 4],
+ [26, 3],
+ [26, 4],
+ [26, 4],
+ [26, 5],
+ [26, 3],
+ [26, 4],
+ [26, 4],
+ [26, 5],
+ [26, 4],
+ [26, 5],
+ [26, 5],
+ [26, 6],
+ [27, 3],
+ [28, 3],
+ [75, 1],
+ [75, 3],
+ [77, 1],
+ [77, 2],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [79, 1],
+ [86, 1],
+ [86, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [87, 1],
+ [89, 1],
+ [89, 1],
+ [89, 1],
+ [89, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [16, 1],
+ [18, 1],
+ [51, 1],
+ ],
+ performAction: function (_r, Nn, $n, qn, Lt, wt, cn) {
+ var fn = wt.length - 1;
+ switch (Lt) {
+ case 8:
+ this.$ = wt[fn - 1];
+ break;
+ case 9:
+ case 11:
+ case 12:
+ this.$ = wt[fn];
+ break;
+ case 10:
+ case 13:
+ this.$ = wt[fn - 1] + wt[fn];
+ break;
+ case 14:
+ case 15:
+ this.$ = wt[fn - 1] + '~' + wt[fn] + '~';
+ break;
+ case 16:
+ qn.addRelation(wt[fn]);
+ break;
+ case 17:
+ ((wt[fn - 1].title = qn.cleanupLabel(wt[fn])), qn.addRelation(wt[fn - 1]));
+ break;
+ case 27:
+ ((this.$ = wt[fn].trim()), qn.setAccTitle(this.$));
+ break;
+ case 28:
+ case 29:
+ ((this.$ = wt[fn].trim()), qn.setAccDescription(this.$));
+ break;
+ case 30:
+ qn.addClassesToNamespace(wt[fn - 3], wt[fn - 1]);
+ break;
+ case 31:
+ qn.addClassesToNamespace(wt[fn - 4], wt[fn - 1]);
+ break;
+ case 32:
+ ((this.$ = wt[fn]), qn.addNamespace(wt[fn]));
+ break;
+ case 33:
+ this.$ = [wt[fn]];
+ break;
+ case 34:
+ this.$ = [wt[fn - 1]];
+ break;
+ case 35:
+ (wt[fn].unshift(wt[fn - 2]), (this.$ = wt[fn]));
+ break;
+ case 37:
+ qn.setCssClass(wt[fn - 2], wt[fn]);
+ break;
+ case 38:
+ qn.addMembers(wt[fn - 3], wt[fn - 1]);
+ break;
+ case 39:
+ (qn.setCssClass(wt[fn - 5], wt[fn - 3]), qn.addMembers(wt[fn - 5], wt[fn - 1]));
+ break;
+ case 40:
+ ((this.$ = wt[fn]), qn.addClass(wt[fn]));
+ break;
+ case 41:
+ ((this.$ = wt[fn - 1]),
+ qn.addClass(wt[fn - 1]),
+ qn.setClassLabel(wt[fn - 1], wt[fn]));
+ break;
+ case 42:
+ qn.addAnnotation(wt[fn], wt[fn - 2]);
+ break;
+ case 43:
+ this.$ = [wt[fn]];
+ break;
+ case 44:
+ (wt[fn].push(wt[fn - 1]), (this.$ = wt[fn]));
+ break;
+ case 45:
+ break;
+ case 46:
+ qn.addMember(wt[fn - 1], qn.cleanupLabel(wt[fn]));
+ break;
+ case 47:
+ break;
+ case 48:
+ break;
+ case 49:
+ this.$ = {
+ id1: wt[fn - 2],
+ id2: wt[fn],
+ relation: wt[fn - 1],
+ relationTitle1: 'none',
+ relationTitle2: 'none',
+ };
+ break;
+ case 50:
+ this.$ = {
+ id1: wt[fn - 3],
+ id2: wt[fn],
+ relation: wt[fn - 1],
+ relationTitle1: wt[fn - 2],
+ relationTitle2: 'none',
+ };
+ break;
+ case 51:
+ this.$ = {
+ id1: wt[fn - 3],
+ id2: wt[fn],
+ relation: wt[fn - 2],
+ relationTitle1: 'none',
+ relationTitle2: wt[fn - 1],
+ };
+ break;
+ case 52:
+ this.$ = {
+ id1: wt[fn - 4],
+ id2: wt[fn],
+ relation: wt[fn - 2],
+ relationTitle1: wt[fn - 3],
+ relationTitle2: wt[fn - 1],
+ };
+ break;
+ case 53:
+ qn.addNote(wt[fn], wt[fn - 1]);
+ break;
+ case 54:
+ qn.addNote(wt[fn]);
+ break;
+ case 55:
+ qn.setDirection('TB');
+ break;
+ case 56:
+ qn.setDirection('BT');
+ break;
+ case 57:
+ qn.setDirection('RL');
+ break;
+ case 58:
+ qn.setDirection('LR');
+ break;
+ case 59:
+ this.$ = { type1: wt[fn - 2], type2: wt[fn], lineType: wt[fn - 1] };
+ break;
+ case 60:
+ this.$ = { type1: 'none', type2: wt[fn], lineType: wt[fn - 1] };
+ break;
+ case 61:
+ this.$ = { type1: wt[fn - 1], type2: 'none', lineType: wt[fn] };
+ break;
+ case 62:
+ this.$ = { type1: 'none', type2: 'none', lineType: wt[fn] };
+ break;
+ case 63:
+ this.$ = qn.relationType.AGGREGATION;
+ break;
+ case 64:
+ this.$ = qn.relationType.EXTENSION;
+ break;
+ case 65:
+ this.$ = qn.relationType.COMPOSITION;
+ break;
+ case 66:
+ this.$ = qn.relationType.DEPENDENCY;
+ break;
+ case 67:
+ this.$ = qn.relationType.LOLLIPOP;
+ break;
+ case 68:
+ this.$ = qn.lineType.LINE;
+ break;
+ case 69:
+ this.$ = qn.lineType.DOTTED_LINE;
+ break;
+ case 70:
+ case 76:
+ ((this.$ = wt[fn - 2]), qn.setClickEvent(wt[fn - 1], wt[fn]));
+ break;
+ case 71:
+ case 77:
+ ((this.$ = wt[fn - 3]),
+ qn.setClickEvent(wt[fn - 2], wt[fn - 1]),
+ qn.setTooltip(wt[fn - 2], wt[fn]));
+ break;
+ case 72:
+ ((this.$ = wt[fn - 2]), qn.setLink(wt[fn - 1], wt[fn]));
+ break;
+ case 73:
+ ((this.$ = wt[fn - 3]), qn.setLink(wt[fn - 2], wt[fn - 1], wt[fn]));
+ break;
+ case 74:
+ ((this.$ = wt[fn - 3]),
+ qn.setLink(wt[fn - 2], wt[fn - 1]),
+ qn.setTooltip(wt[fn - 2], wt[fn]));
+ break;
+ case 75:
+ ((this.$ = wt[fn - 4]),
+ qn.setLink(wt[fn - 3], wt[fn - 2], wt[fn]),
+ qn.setTooltip(wt[fn - 3], wt[fn - 1]));
+ break;
+ case 78:
+ ((this.$ = wt[fn - 3]), qn.setClickEvent(wt[fn - 2], wt[fn - 1], wt[fn]));
+ break;
+ case 79:
+ ((this.$ = wt[fn - 4]),
+ qn.setClickEvent(wt[fn - 3], wt[fn - 2], wt[fn - 1]),
+ qn.setTooltip(wt[fn - 3], wt[fn]));
+ break;
+ case 80:
+ ((this.$ = wt[fn - 3]), qn.setLink(wt[fn - 2], wt[fn]));
+ break;
+ case 81:
+ ((this.$ = wt[fn - 4]), qn.setLink(wt[fn - 3], wt[fn - 1], wt[fn]));
+ break;
+ case 82:
+ ((this.$ = wt[fn - 4]),
+ qn.setLink(wt[fn - 3], wt[fn - 1]),
+ qn.setTooltip(wt[fn - 3], wt[fn]));
+ break;
+ case 83:
+ ((this.$ = wt[fn - 5]),
+ qn.setLink(wt[fn - 4], wt[fn - 2], wt[fn]),
+ qn.setTooltip(wt[fn - 4], wt[fn - 1]));
+ break;
+ case 84:
+ ((this.$ = wt[fn - 2]), qn.setCssStyle(wt[fn - 1], wt[fn]));
+ break;
+ case 85:
+ qn.setCssClass(wt[fn - 1], wt[fn]);
+ break;
+ case 86:
+ this.$ = [wt[fn]];
+ break;
+ case 87:
+ (wt[fn - 2].push(wt[fn]), (this.$ = wt[fn - 2]));
+ break;
+ case 89:
+ this.$ = wt[fn - 1] + wt[fn];
+ break;
+ }
+ },
+ table: [
+ {
+ 3: 1,
+ 4: 2,
+ 5: 3,
+ 6: 4,
+ 7: [1, 6],
+ 10: 5,
+ 16: 37,
+ 17: 20,
+ 18: 38,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 31: s,
+ 33: u,
+ 35: d,
+ 36: 21,
+ 40: p,
+ 41: 22,
+ 44: v,
+ 45: b,
+ 47: y,
+ 48: T,
+ 50: _,
+ 52: A,
+ 53: P,
+ 54: R,
+ 55: F,
+ 56: j,
+ 66: W,
+ 67: ee,
+ 69: ie,
+ 73: oe,
+ 74: be,
+ 76: ge,
+ 80: ae,
+ 95: ne,
+ 97: se,
+ 98: de,
+ },
+ { 1: [3] },
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ { 1: [2, 3] },
+ i(X, [2, 5], { 8: [1, 46] }),
+ { 8: [1, 47] },
+ i(pe, [2, 16], { 21: [1, 48] }),
+ i(pe, [2, 18]),
+ i(pe, [2, 19]),
+ i(pe, [2, 20]),
+ i(pe, [2, 21]),
+ i(pe, [2, 22]),
+ i(pe, [2, 23]),
+ i(pe, [2, 24]),
+ i(pe, [2, 25]),
+ i(pe, [2, 26]),
+ { 32: [1, 49] },
+ { 34: [1, 50] },
+ i(pe, [2, 29]),
+ i(pe, [2, 45], {
+ 49: 51,
+ 57: 54,
+ 58: 55,
+ 13: [1, 52],
+ 21: [1, 53],
+ 59: G,
+ 60: xe,
+ 61: U,
+ 62: Be,
+ 63: Ne,
+ 64: je,
+ 65: Ie,
+ }),
+ { 37: [1, 63] },
+ i(Se, [2, 36], { 37: [1, 65], 42: [1, 64] }),
+ i(pe, [2, 47]),
+ i(pe, [2, 48]),
+ { 16: 66, 74: be, 80: ae, 95: ne, 97: se },
+ { 16: 37, 17: 67, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ { 16: 37, 17: 68, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ { 16: 37, 17: 69, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ { 74: [1, 70] },
+ { 13: [1, 71] },
+ { 16: 37, 17: 72, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ { 13: Ce, 51: 73 },
+ i(pe, [2, 55]),
+ i(pe, [2, 56]),
+ i(pe, [2, 57]),
+ i(pe, [2, 58]),
+ i(ke, [2, 11], {
+ 16: 37,
+ 18: 38,
+ 17: 75,
+ 19: [1, 76],
+ 74: be,
+ 80: ae,
+ 95: ne,
+ 97: se,
+ 98: de,
+ }),
+ i(ke, [2, 12], { 19: [1, 77] }),
+ { 15: 78, 16: 79, 74: be, 80: ae, 95: ne, 97: se },
+ { 16: 37, 17: 80, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ i(Ke, [2, 112]),
+ i(Ke, [2, 113]),
+ i(Ke, [2, 114]),
+ i(Ke, [2, 115]),
+ i([1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], [2, 116]),
+ i(X, [2, 6], {
+ 10: 5,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 17: 20,
+ 36: 21,
+ 41: 22,
+ 16: 37,
+ 18: 38,
+ 5: 81,
+ 31: s,
+ 33: u,
+ 35: d,
+ 40: p,
+ 44: v,
+ 45: b,
+ 47: y,
+ 48: T,
+ 50: _,
+ 52: A,
+ 53: P,
+ 54: R,
+ 55: F,
+ 56: j,
+ 66: W,
+ 67: ee,
+ 69: ie,
+ 73: oe,
+ 74: be,
+ 76: ge,
+ 80: ae,
+ 95: ne,
+ 97: se,
+ 98: de,
+ }),
+ {
+ 5: 82,
+ 10: 5,
+ 16: 37,
+ 17: 20,
+ 18: 38,
+ 20: 7,
+ 22: 8,
+ 23: 9,
+ 24: 10,
+ 25: 11,
+ 26: 12,
+ 27: 13,
+ 28: 14,
+ 29: 15,
+ 30: 16,
+ 31: s,
+ 33: u,
+ 35: d,
+ 36: 21,
+ 40: p,
+ 41: 22,
+ 44: v,
+ 45: b,
+ 47: y,
+ 48: T,
+ 50: _,
+ 52: A,
+ 53: P,
+ 54: R,
+ 55: F,
+ 56: j,
+ 66: W,
+ 67: ee,
+ 69: ie,
+ 73: oe,
+ 74: be,
+ 76: ge,
+ 80: ae,
+ 95: ne,
+ 97: se,
+ 98: de,
+ },
+ i(pe, [2, 17]),
+ i(pe, [2, 27]),
+ i(pe, [2, 28]),
+ { 13: [1, 84], 16: 37, 17: 83, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ { 49: 85, 57: 54, 58: 55, 59: G, 60: xe, 61: U, 62: Be, 63: Ne, 64: je, 65: Ie },
+ i(pe, [2, 46]),
+ { 58: 86, 64: je, 65: Ie },
+ i(Ft, [2, 62], { 57: 87, 59: G, 60: xe, 61: U, 62: Be, 63: Ne }),
+ i(Pe, [2, 63]),
+ i(Pe, [2, 64]),
+ i(Pe, [2, 65]),
+ i(Pe, [2, 66]),
+ i(Pe, [2, 67]),
+ i(gn, [2, 68]),
+ i(gn, [2, 69]),
+ { 8: [1, 89], 23: 90, 38: 88, 41: 22, 44: v },
+ { 16: 91, 74: be, 80: ae, 95: ne, 97: se },
+ { 43: 92, 47: kt },
+ { 46: [1, 94] },
+ { 13: [1, 95] },
+ { 13: [1, 96] },
+ { 70: [1, 97], 72: [1, 98] },
+ {
+ 21: Et,
+ 73: Gt,
+ 74: ln,
+ 75: 99,
+ 77: 100,
+ 79: 101,
+ 80: xt,
+ 81: Pt,
+ 82: Ze,
+ 83: At,
+ 84: Tt,
+ 85: On,
+ },
+ { 74: [1, 111] },
+ { 13: Ce, 51: 112 },
+ i(pe, [2, 54]),
+ i(pe, [2, 117]),
+ i(ke, [2, 13]),
+ i(ke, [2, 14]),
+ i(ke, [2, 15]),
+ { 37: [2, 32] },
+ { 15: 113, 16: 79, 37: [2, 9], 74: be, 80: ae, 95: ne, 97: se },
+ i(ht, [2, 40], { 11: 114, 12: [1, 115] }),
+ i(X, [2, 7]),
+ { 9: [1, 116] },
+ i(zr, [2, 49]),
+ { 16: 37, 17: 117, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ { 13: [1, 119], 16: 37, 17: 118, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ i(Ft, [2, 61], { 57: 120, 59: G, 60: xe, 61: U, 62: Be, 63: Ne }),
+ i(Ft, [2, 60]),
+ { 39: [1, 121] },
+ { 23: 90, 38: 122, 41: 22, 44: v },
+ { 8: [1, 123], 39: [2, 33] },
+ i(Se, [2, 37], { 37: [1, 124] }),
+ { 39: [1, 125] },
+ { 39: [2, 43], 43: 126, 47: kt },
+ { 16: 37, 17: 127, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ i(pe, [2, 70], { 13: [1, 128] }),
+ i(pe, [2, 72], { 13: [1, 130], 68: [1, 129] }),
+ i(pe, [2, 76], { 13: [1, 131], 71: [1, 132] }),
+ { 13: [1, 133] },
+ i(pe, [2, 84], { 78: [1, 134] }),
+ i(yt, [2, 86], {
+ 79: 135,
+ 21: Et,
+ 73: Gt,
+ 74: ln,
+ 80: xt,
+ 81: Pt,
+ 82: Ze,
+ 83: At,
+ 84: Tt,
+ 85: On,
+ }),
+ i(Fi, [2, 88]),
+ i(Fi, [2, 90]),
+ i(Fi, [2, 91]),
+ i(Fi, [2, 92]),
+ i(Fi, [2, 93]),
+ i(Fi, [2, 94]),
+ i(Fi, [2, 95]),
+ i(Fi, [2, 96]),
+ i(Fi, [2, 97]),
+ i(Fi, [2, 98]),
+ i(pe, [2, 85]),
+ i(pe, [2, 53]),
+ { 37: [2, 10] },
+ i(ht, [2, 41]),
+ { 13: [1, 136] },
+ { 1: [2, 4] },
+ i(zr, [2, 51]),
+ i(zr, [2, 50]),
+ { 16: 37, 17: 137, 18: 38, 74: be, 80: ae, 95: ne, 97: se, 98: de },
+ i(Ft, [2, 59]),
+ i(pe, [2, 30]),
+ { 39: [1, 138] },
+ { 23: 90, 38: 139, 39: [2, 34], 41: 22, 44: v },
+ { 43: 140, 47: kt },
+ i(Se, [2, 38]),
+ { 39: [2, 44] },
+ i(pe, [2, 42]),
+ i(pe, [2, 71]),
+ i(pe, [2, 73]),
+ i(pe, [2, 74], { 68: [1, 141] }),
+ i(pe, [2, 77]),
+ i(pe, [2, 78], { 13: [1, 142] }),
+ i(pe, [2, 80], { 13: [1, 144], 68: [1, 143] }),
+ {
+ 21: Et,
+ 73: Gt,
+ 74: ln,
+ 77: 145,
+ 79: 101,
+ 80: xt,
+ 81: Pt,
+ 82: Ze,
+ 83: At,
+ 84: Tt,
+ 85: On,
+ },
+ i(Fi, [2, 89]),
+ { 14: [1, 146] },
+ i(zr, [2, 52]),
+ i(pe, [2, 31]),
+ { 39: [2, 35] },
+ { 39: [1, 147] },
+ i(pe, [2, 75]),
+ i(pe, [2, 79]),
+ i(pe, [2, 81]),
+ i(pe, [2, 82], { 68: [1, 148] }),
+ i(yt, [2, 87], {
+ 79: 135,
+ 21: Et,
+ 73: Gt,
+ 74: ln,
+ 80: xt,
+ 81: Pt,
+ 82: Ze,
+ 83: At,
+ 84: Tt,
+ 85: On,
+ }),
+ i(ht, [2, 8]),
+ i(Se, [2, 39]),
+ i(pe, [2, 83]),
+ ],
+ defaultActions: {
+ 2: [2, 1],
+ 3: [2, 2],
+ 4: [2, 3],
+ 78: [2, 32],
+ 113: [2, 10],
+ 116: [2, 4],
+ 126: [2, 44],
+ 139: [2, 35],
+ },
+ parseError: function (_r, Nn) {
+ if (Nn.recoverable) this.trace(_r);
+ else {
+ var $n = new Error(_r);
+ throw (($n.hash = Nn), $n);
+ }
+ },
+ parse: function (_r) {
+ var Nn = this,
+ $n = [0],
+ qn = [],
+ Lt = [null],
+ wt = [],
+ cn = this.table,
+ fn = '',
+ Mn = 0,
+ mo = 0,
+ Io = 2,
+ Xa = 1,
+ ua = wt.slice.call(arguments, 1),
+ Oo = Object.create(this.lexer),
+ Ts = { yy: {} };
+ for (var nl in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, nl) && (Ts.yy[nl] = this.yy[nl]);
+ (Oo.setInput(_r, Ts.yy),
+ (Ts.yy.lexer = Oo),
+ (Ts.yy.parser = this),
+ typeof Oo.yylloc > 'u' && (Oo.yylloc = {}));
+ var Zo = Oo.yylloc;
+ wt.push(Zo);
+ var id = Oo.options && Oo.options.ranges;
+ typeof Ts.yy.parseError == 'function'
+ ? (this.parseError = Ts.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function gm() {
+ var ka;
+ return (
+ (ka = qn.pop() || Oo.lex() || Xa),
+ typeof ka != 'number' &&
+ (ka instanceof Array && ((qn = ka), (ka = qn.pop())), (ka = Nn.symbols_[ka] || ka)),
+ ka
+ );
+ }
+ for (var qu, lu, Xc, Cs, Bc = {}, Ma, No, vc, Qa; ; ) {
+ if (
+ ((lu = $n[$n.length - 1]),
+ this.defaultActions[lu]
+ ? (Xc = this.defaultActions[lu])
+ : ((qu === null || typeof qu > 'u') && (qu = gm()), (Xc = cn[lu] && cn[lu][qu])),
+ typeof Xc > 'u' || !Xc.length || !Xc[0])
+ ) {
+ var ja = '';
+ Qa = [];
+ for (Ma in cn[lu])
+ this.terminals_[Ma] && Ma > Io && Qa.push("'" + this.terminals_[Ma] + "'");
+ (Oo.showPosition
+ ? (ja =
+ 'Parse error on line ' +
+ (Mn + 1) +
+ `:
+` +
+ Oo.showPosition() +
+ `
+Expecting ` +
+ Qa.join(', ') +
+ ", got '" +
+ (this.terminals_[qu] || qu) +
+ "'")
+ : (ja =
+ 'Parse error on line ' +
+ (Mn + 1) +
+ ': Unexpected ' +
+ (qu == Xa ? 'end of input' : "'" + (this.terminals_[qu] || qu) + "'")),
+ this.parseError(ja, {
+ text: Oo.match,
+ token: this.terminals_[qu] || qu,
+ line: Oo.yylineno,
+ loc: Zo,
+ expected: Qa,
+ }));
+ }
+ if (Xc[0] instanceof Array && Xc.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + lu + ', token: ' + qu,
+ );
+ switch (Xc[0]) {
+ case 1:
+ ($n.push(qu),
+ Lt.push(Oo.yytext),
+ wt.push(Oo.yylloc),
+ $n.push(Xc[1]),
+ (qu = null),
+ (mo = Oo.yyleng),
+ (fn = Oo.yytext),
+ (Mn = Oo.yylineno),
+ (Zo = Oo.yylloc));
+ break;
+ case 2:
+ if (
+ ((No = this.productions_[Xc[1]][1]),
+ (Bc.$ = Lt[Lt.length - No]),
+ (Bc._$ = {
+ first_line: wt[wt.length - (No || 1)].first_line,
+ last_line: wt[wt.length - 1].last_line,
+ first_column: wt[wt.length - (No || 1)].first_column,
+ last_column: wt[wt.length - 1].last_column,
+ }),
+ id &&
+ (Bc._$.range = [
+ wt[wt.length - (No || 1)].range[0],
+ wt[wt.length - 1].range[1],
+ ]),
+ (Cs = this.performAction.apply(
+ Bc,
+ [fn, mo, Mn, Ts.yy, Xc[1], Lt, wt].concat(ua),
+ )),
+ typeof Cs < 'u')
+ )
+ return Cs;
+ (No &&
+ (($n = $n.slice(0, -1 * No * 2)),
+ (Lt = Lt.slice(0, -1 * No)),
+ (wt = wt.slice(0, -1 * No))),
+ $n.push(this.productions_[Xc[1]][0]),
+ Lt.push(Bc.$),
+ wt.push(Bc._$),
+ (vc = cn[$n[$n.length - 2]][$n[$n.length - 1]]),
+ $n.push(vc));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ Ba = (function () {
+ var Ro = {
+ EOF: 1,
+ parseError: function (Nn, $n) {
+ if (this.yy.parser) this.yy.parser.parseError(Nn, $n);
+ else throw new Error(Nn);
+ },
+ setInput: function (_r, Nn) {
+ return (
+ (this.yy = Nn || this.yy || {}),
+ (this._input = _r),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var _r = this._input[0];
+ ((this.yytext += _r),
+ this.yyleng++,
+ this.offset++,
+ (this.match += _r),
+ (this.matched += _r));
+ var Nn = _r.match(/(?:\r\n?|\n).*/g);
+ return (
+ Nn ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ _r
+ );
+ },
+ unput: function (_r) {
+ var Nn = _r.length,
+ $n = _r.split(/(?:\r\n?|\n)/g);
+ ((this._input = _r + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Nn)),
+ (this.offset -= Nn));
+ var qn = this.match.split(/(?:\r\n?|\n)/g);
+ ((this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ $n.length - 1 && (this.yylineno -= $n.length - 1));
+ var Lt = this.yylloc.range;
+ return (
+ (this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: $n
+ ? ($n.length === qn.length ? this.yylloc.first_column : 0) +
+ qn[qn.length - $n.length].length -
+ $n[0].length
+ : this.yylloc.first_column - Nn,
+ }),
+ this.options.ranges && (this.yylloc.range = [Lt[0], Lt[0] + this.yyleng - Nn]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (_r) {
+ this.unput(this.match.slice(_r));
+ },
+ pastInput: function () {
+ var _r = this.matched.substr(0, this.matched.length - this.match.length);
+ return (_r.length > 20 ? '...' : '') + _r.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var _r = this.match;
+ return (
+ _r.length < 20 && (_r += this._input.substr(0, 20 - _r.length)),
+ (_r.substr(0, 20) + (_r.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var _r = this.pastInput(),
+ Nn = new Array(_r.length + 1).join('-');
+ return (
+ _r +
+ this.upcomingInput() +
+ `
+` +
+ Nn +
+ '^'
+ );
+ },
+ test_match: function (_r, Nn) {
+ var $n, qn, Lt;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Lt = {
+ 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 && (Lt.yylloc.range = this.yylloc.range.slice(0))),
+ (qn = _r[0].match(/(?:\r\n?|\n).*/g)),
+ qn && (this.yylineno += qn.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: qn
+ ? qn[qn.length - 1].length - qn[qn.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]),
+ ($n = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Nn,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ $n)
+ )
+ return $n;
+ if (this._backtrack) {
+ for (var wt in Lt) this[wt] = Lt[wt];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var _r, Nn, $n, qn;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Lt = this._currentRules(), wt = 0; wt < Lt.length; wt++)
+ if (
+ (($n = this._input.match(this.rules[Lt[wt]])),
+ $n && (!Nn || $n[0].length > Nn[0].length))
+ ) {
+ if (((Nn = $n), (qn = wt), this.options.backtrack_lexer)) {
+ if (((_r = this.test_match($n, Lt[wt])), _r !== !1)) return _r;
+ if (this._backtrack) {
+ Nn = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Nn
+ ? ((_r = this.test_match(Nn, Lt[qn])), _r !== !1 ? _r : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var Nn = this.next();
+ return Nn || this.lex();
+ },
+ begin: function (Nn) {
+ this.conditionStack.push(Nn);
+ },
+ popState: function () {
+ var Nn = this.conditionStack.length - 1;
+ return Nn > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (Nn) {
+ return (
+ (Nn = this.conditionStack.length - 1 - Math.abs(Nn || 0)),
+ Nn >= 0 ? this.conditionStack[Nn] : 'INITIAL'
+ );
+ },
+ pushState: function (Nn) {
+ this.begin(Nn);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: {},
+ performAction: function (Nn, $n, qn, Lt) {
+ switch (qn) {
+ case 0:
+ return 53;
+ case 1:
+ return 54;
+ case 2:
+ return 55;
+ case 3:
+ return 56;
+ case 4:
+ break;
+ case 5:
+ break;
+ case 6:
+ return (this.begin('acc_title'), 31);
+ case 7:
+ return (this.popState(), 'acc_title_value');
+ case 8:
+ return (this.begin('acc_descr'), 33);
+ case 9:
+ return (this.popState(), 'acc_descr_value');
+ case 10:
+ this.begin('acc_descr_multiline');
+ break;
+ case 11:
+ this.popState();
+ break;
+ case 12:
+ return 'acc_descr_multiline_value';
+ case 13:
+ return 8;
+ case 14:
+ break;
+ case 15:
+ return 7;
+ case 16:
+ return 7;
+ case 17:
+ return 'EDGE_STATE';
+ case 18:
+ this.begin('callback_name');
+ break;
+ case 19:
+ this.popState();
+ break;
+ case 20:
+ (this.popState(), this.begin('callback_args'));
+ break;
+ case 21:
+ return 70;
+ case 22:
+ this.popState();
+ break;
+ case 23:
+ return 71;
+ case 24:
+ this.popState();
+ break;
+ case 25:
+ return 'STR';
+ case 26:
+ this.begin('string');
+ break;
+ case 27:
+ return 73;
+ case 28:
+ return (this.begin('namespace'), 40);
+ case 29:
+ return (this.popState(), 8);
+ case 30:
+ break;
+ case 31:
+ return (this.begin('namespace-body'), 37);
+ case 32:
+ return (this.popState(), 39);
+ case 33:
+ return 'EOF_IN_STRUCT';
+ case 34:
+ return 8;
+ case 35:
+ break;
+ case 36:
+ return 'EDGE_STATE';
+ case 37:
+ return (this.begin('class'), 44);
+ case 38:
+ return (this.popState(), 8);
+ case 39:
+ break;
+ case 40:
+ return (this.popState(), this.popState(), 39);
+ case 41:
+ return (this.begin('class-body'), 37);
+ case 42:
+ return (this.popState(), 39);
+ case 43:
+ return 'EOF_IN_STRUCT';
+ case 44:
+ return 'EDGE_STATE';
+ case 45:
+ return 'OPEN_IN_STRUCT';
+ case 46:
+ break;
+ case 47:
+ return 'MEMBER';
+ case 48:
+ return 76;
+ case 49:
+ return 66;
+ case 50:
+ return 67;
+ case 51:
+ return 69;
+ case 52:
+ return 50;
+ case 53:
+ return 52;
+ case 54:
+ return 45;
+ case 55:
+ return 46;
+ case 56:
+ return 72;
+ case 57:
+ this.popState();
+ break;
+ case 58:
+ return 'GENERICTYPE';
+ case 59:
+ this.begin('generic');
+ break;
+ case 60:
+ this.popState();
+ break;
+ case 61:
+ return 'BQUOTE_STR';
+ case 62:
+ this.begin('bqstring');
+ break;
+ case 63:
+ return 68;
+ case 64:
+ return 68;
+ case 65:
+ return 68;
+ case 66:
+ return 68;
+ case 67:
+ return 60;
+ case 68:
+ return 60;
+ case 69:
+ return 62;
+ case 70:
+ return 62;
+ case 71:
+ return 61;
+ case 72:
+ return 59;
+ case 73:
+ return 63;
+ case 74:
+ return 64;
+ case 75:
+ return 65;
+ case 76:
+ return 21;
+ case 77:
+ return 42;
+ case 78:
+ return 95;
+ case 79:
+ return 'DOT';
+ case 80:
+ return 'PLUS';
+ case 81:
+ return 81;
+ case 82:
+ return 78;
+ case 83:
+ return 84;
+ case 84:
+ return 84;
+ case 85:
+ return 85;
+ case 86:
+ return 'EQUALS';
+ case 87:
+ return 'EQUALS';
+ case 88:
+ return 74;
+ case 89:
+ return 12;
+ case 90:
+ return 14;
+ case 91:
+ return 'PUNCTUATION';
+ case 92:
+ return 80;
+ case 93:
+ return 97;
+ case 94:
+ return 83;
+ case 95:
+ return 83;
+ case 96:
+ return 9;
+ }
+ },
+ rules: [
+ /^(?:.*direction\s+TB[^\n]*)/,
+ /^(?:.*direction\s+BT[^\n]*)/,
+ /^(?:.*direction\s+RL[^\n]*)/,
+ /^(?:.*direction\s+LR[^\n]*)/,
+ /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,
+ /^(?:%%[^\n]*(\r?\n)*)/,
+ /^(?:accTitle\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*:\s*)/,
+ /^(?:(?!\n||)*[^\n]*)/,
+ /^(?:accDescr\s*\{\s*)/,
+ /^(?:[\}])/,
+ /^(?:[^\}]*)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:classDiagram-v2\b)/,
+ /^(?:classDiagram\b)/,
+ /^(?:\[\*\])/,
+ /^(?:call[\s]+)/,
+ /^(?:\([\s]*\))/,
+ /^(?:\()/,
+ /^(?:[^(]*)/,
+ /^(?:\))/,
+ /^(?:[^)]*)/,
+ /^(?:["])/,
+ /^(?:[^"]*)/,
+ /^(?:["])/,
+ /^(?:style\b)/,
+ /^(?:namespace\b)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:[{])/,
+ /^(?:[}])/,
+ /^(?:$)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:\[\*\])/,
+ /^(?:class\b)/,
+ /^(?:\s*(\r?\n)+)/,
+ /^(?:\s+)/,
+ /^(?:[}])/,
+ /^(?:[{])/,
+ /^(?:[}])/,
+ /^(?:$)/,
+ /^(?:\[\*\])/,
+ /^(?:[{])/,
+ /^(?:[\n])/,
+ /^(?:[^{}\n]*)/,
+ /^(?:cssClass\b)/,
+ /^(?:callback\b)/,
+ /^(?:link\b)/,
+ /^(?:click\b)/,
+ /^(?:note for\b)/,
+ /^(?:note\b)/,
+ /^(?:<<)/,
+ /^(?:>>)/,
+ /^(?:href\b)/,
+ /^(?:[~])/,
+ /^(?:[^~]*)/,
+ /^(?:~)/,
+ /^(?:[`])/,
+ /^(?:[^`]+)/,
+ /^(?:[`])/,
+ /^(?:_self\b)/,
+ /^(?:_blank\b)/,
+ /^(?:_parent\b)/,
+ /^(?:_top\b)/,
+ /^(?:\s*<\|)/,
+ /^(?:\s*\|>)/,
+ /^(?:\s*>)/,
+ /^(?:\s*<)/,
+ /^(?:\s*\*)/,
+ /^(?:\s*o\b)/,
+ /^(?:\s*\(\))/,
+ /^(?:--)/,
+ /^(?:\.\.)/,
+ /^(?::{1}[^:\n;]+)/,
+ /^(?::{3})/,
+ /^(?:-)/,
+ /^(?:\.)/,
+ /^(?:\+)/,
+ /^(?::)/,
+ /^(?:,)/,
+ /^(?:#)/,
+ /^(?:#)/,
+ /^(?:%)/,
+ /^(?:=)/,
+ /^(?:=)/,
+ /^(?:\w+)/,
+ /^(?:\[)/,
+ /^(?:\])/,
+ /^(?:[!"#$%&'*+,-.`?\\/])/,
+ /^(?:[0-9]+)/,
+ /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,
+ /^(?:\s)/,
+ /^(?:\s)/,
+ /^(?:$)/,
+ ],
+ conditions: {
+ 'namespace-body': {
+ rules: [
+ 26, 32, 33, 34, 35, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ namespace: {
+ rules: [
+ 26, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ 'class-body': {
+ rules: [
+ 26, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ class: {
+ rules: [
+ 26, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ acc_descr_multiline: {
+ rules: [
+ 11, 12, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96,
+ ],
+ inclusive: !1,
+ },
+ acc_descr: {
+ rules: [
+ 9, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ acc_title: {
+ rules: [
+ 7, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ callback_args: {
+ rules: [
+ 22, 23, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96,
+ ],
+ inclusive: !1,
+ },
+ callback_name: {
+ rules: [
+ 19, 20, 21, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 96,
+ ],
+ inclusive: !1,
+ },
+ href: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ struct: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96,
+ ],
+ inclusive: !1,
+ },
+ generic: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96,
+ ],
+ inclusive: !1,
+ },
+ bqstring: {
+ rules: [
+ 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96,
+ ],
+ inclusive: !1,
+ },
+ string: {
+ rules: [
+ 24, 25, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 96,
+ ],
+ inclusive: !1,
+ },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 37, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return Ro;
+ })();
+ yi.lexer = Ba;
+ function na() {
+ this.yy = {};
+ }
+ return ((na.prototype = yi), (yi.Parser = na), new na());
+ })();
+ _ve.parser = _ve;
+ const XGe = _ve,
+ QGe = ['#', '+', '~', '-', ''];
+ class JGe {
+ constructor(s, u) {
+ ((this.memberType = u), (this.visibility = ''), (this.classifier = ''));
+ const d = yh(s, qt());
+ this.parseMember(d);
+ }
+ getDisplayDetails() {
+ let s = this.visibility + HF(this.id);
+ (this.memberType === 'method' &&
+ ((s += `(${HF(this.parameters.trim())})`),
+ this.returnType && (s += ' : ' + HF(this.returnType))),
+ (s = s.trim()));
+ const u = this.parseClassifier();
+ return { displayText: s, cssStyle: u };
+ }
+ parseMember(s) {
+ let u = '';
+ if (this.memberType === 'method') {
+ const d = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,
+ p = s.match(d);
+ if (p) {
+ const v = p[1] ? p[1].trim() : '';
+ if (
+ (QGe.includes(v) && (this.visibility = v),
+ (this.id = p[2].trim()),
+ (this.parameters = p[3] ? p[3].trim() : ''),
+ (u = p[4] ? p[4].trim() : ''),
+ (this.returnType = p[5] ? p[5].trim() : ''),
+ u === '')
+ ) {
+ const b = this.returnType.substring(this.returnType.length - 1);
+ b.match(/[$*]/) &&
+ ((u = b),
+ (this.returnType = this.returnType.substring(0, this.returnType.length - 1)));
+ }
+ }
+ } else {
+ const d = s.length,
+ p = s.substring(0, 1),
+ v = s.substring(d - 1);
+ (QGe.includes(p) && (this.visibility = p),
+ v.match(/[$*]/) && (u = v),
+ (this.id = s.substring(this.visibility === '' ? 0 : 1, u === '' ? d : d - 1)));
+ }
+ this.classifier = u;
+ }
+ parseClassifier() {
+ switch (this.classifier) {
+ case '*':
+ return 'font-style:italic;';
+ case '$':
+ return 'text-decoration:underline;';
+ default:
+ return '';
+ }
+ }
+ }
+ const mJ = 'classId-';
+ let Ave = [],
+ Th = {},
+ vJ = [],
+ ZGe = 0,
+ F9 = {},
+ Lve = 0,
+ WR = [];
+ const eS = (i) => ci.sanitizeText(i, qt()),
+ tS = function (i) {
+ const s = ci.sanitizeText(i, qt());
+ let u = '',
+ d = s;
+ if (s.indexOf('~') > 0) {
+ const p = s.split('~');
+ ((d = eS(p[0])), (u = eS(p[1])));
+ }
+ return { className: d, type: u };
+ },
+ Lin = function (i, s) {
+ const u = ci.sanitizeText(i, qt());
+ s && (s = eS(s));
+ const { className: d } = tS(u);
+ Th[d].label = s;
+ },
+ wJ = function (i) {
+ const s = ci.sanitizeText(i, qt()),
+ { className: u, type: d } = tS(s);
+ if (Object.hasOwn(Th, u)) return;
+ const p = ci.sanitizeText(u, qt());
+ ((Th[p] = {
+ id: p,
+ type: d,
+ label: p,
+ cssClasses: [],
+ methods: [],
+ members: [],
+ annotations: [],
+ styles: [],
+ domId: mJ + p + '-' + ZGe,
+ }),
+ ZGe++);
+ },
+ eKe = function (i) {
+ const s = ci.sanitizeText(i, qt());
+ if (s in Th) return Th[s].domId;
+ throw new Error('Class not found: ' + s);
+ },
+ Min = function () {
+ ((Ave = []), (Th = {}), (vJ = []), (WR = []), WR.push(nKe), (F9 = {}), (Lve = 0), Ng());
+ },
+ Din = function (i) {
+ return Th[i];
+ },
+ Iin = function () {
+ return Th;
+ },
+ Oin = function () {
+ return Ave;
+ },
+ Nin = function () {
+ return vJ;
+ },
+ Pin = function (i) {
+ (Xe.debug('Adding relation: ' + JSON.stringify(i)),
+ wJ(i.id1),
+ wJ(i.id2),
+ (i.id1 = tS(i.id1).className),
+ (i.id2 = tS(i.id2).className),
+ (i.relationTitle1 = ci.sanitizeText(i.relationTitle1.trim(), qt())),
+ (i.relationTitle2 = ci.sanitizeText(i.relationTitle2.trim(), qt())),
+ Ave.push(i));
+ },
+ Bin = function (i, s) {
+ const u = tS(i).className;
+ Th[u].annotations.push(s);
+ },
+ tKe = function (i, s) {
+ wJ(i);
+ const u = tS(i).className,
+ d = Th[u];
+ if (typeof s == 'string') {
+ const p = s.trim();
+ p.startsWith('<<') && p.endsWith('>>')
+ ? d.annotations.push(eS(p.substring(2, p.length - 2)))
+ : p.indexOf(')') > 0
+ ? d.methods.push(new JGe(p, 'method'))
+ : p && d.members.push(new JGe(p, 'attribute'));
+ }
+ },
+ Fin = function (i, s) {
+ Array.isArray(s) && (s.reverse(), s.forEach((u) => tKe(i, u)));
+ },
+ Rin = function (i, s) {
+ const u = { id: `note${vJ.length}`, class: s, text: i };
+ vJ.push(u);
+ },
+ jin = function (i) {
+ return (i.startsWith(':') && (i = i.substring(1)), eS(i.trim()));
+ },
+ Mve = function (i, s) {
+ i.split(',').forEach(function (u) {
+ let d = u;
+ (u[0].match(/\d/) && (d = mJ + d), Th[d] !== void 0 && Th[d].cssClasses.push(s));
+ });
+ },
+ $in = function (i, s) {
+ i.split(',').forEach(function (u) {
+ s !== void 0 && (Th[u].tooltip = eS(s));
+ });
+ },
+ zin = function (i, s) {
+ return s ? F9[s].classes[i].tooltip : Th[i].tooltip;
+ },
+ qin = function (i, s, u) {
+ const d = qt();
+ (i.split(',').forEach(function (p) {
+ let v = p;
+ (p[0].match(/\d/) && (v = mJ + v),
+ Th[v] !== void 0 &&
+ ((Th[v].link = So.formatUrl(s, d)),
+ d.securityLevel === 'sandbox'
+ ? (Th[v].linkTarget = '_top')
+ : typeof u == 'string'
+ ? (Th[v].linkTarget = eS(u))
+ : (Th[v].linkTarget = '_blank')));
+ }),
+ Mve(i, 'clickable'));
+ },
+ Hin = function (i, s, u) {
+ (i.split(',').forEach(function (d) {
+ (Vin(d, s, u), (Th[d].haveCallback = !0));
+ }),
+ Mve(i, 'clickable'));
+ },
+ Vin = function (i, s, u) {
+ const d = ci.sanitizeText(i, qt());
+ if (qt().securityLevel !== 'loose' || s === void 0) return;
+ const v = d;
+ if (Th[v] !== void 0) {
+ const b = eKe(v);
+ let y = [];
+ if (typeof u == 'string') {
+ y = u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);
+ for (let T = 0; T < y.length; T++) {
+ let _ = y[T].trim();
+ (_.charAt(0) === '"' &&
+ _.charAt(_.length - 1) === '"' &&
+ (_ = _.substr(1, _.length - 2)),
+ (y[T] = _));
+ }
+ }
+ (y.length === 0 && y.push(b),
+ WR.push(function () {
+ const T = document.querySelector(`[id="${b}"]`);
+ T !== null &&
+ T.addEventListener(
+ 'click',
+ function () {
+ So.runFunc(s, ...y);
+ },
+ !1,
+ );
+ }));
+ }
+ },
+ Uin = function (i) {
+ WR.forEach(function (s) {
+ s(i);
+ });
+ },
+ Gin = { LINE: 0, DOTTED_LINE: 1 },
+ Kin = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3, LOLLIPOP: 4 },
+ nKe = function (i) {
+ let s = Ir('.mermaidTooltip');
+ ((s._groups || s)[0][0] === null &&
+ (s = Ir('body').append('div').attr('class', 'mermaidTooltip').style('opacity', 0)),
+ Ir(i)
+ .select('svg')
+ .selectAll('g.node')
+ .on('mouseover', function () {
+ const p = Ir(this);
+ if (p.attr('title') === null) return;
+ const b = this.getBoundingClientRect();
+ (s.transition().duration(200).style('opacity', '.9'),
+ s
+ .text(p.attr('title'))
+ .style('left', window.scrollX + b.left + (b.right - b.left) / 2 + 'px')
+ .style('top', window.scrollY + b.top - 14 + document.body.scrollTop + 'px'),
+ s.html(s.html().replace(/<br\/>/g, '
')),
+ p.classed('hover', !0));
+ })
+ .on('mouseout', function () {
+ (s.transition().duration(500).style('opacity', 0), Ir(this).classed('hover', !1));
+ }));
+ };
+ WR.push(nKe);
+ let rKe = 'TB';
+ const yJ = {
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ getConfig: () => qt().class,
+ addClass: wJ,
+ bindFunctions: Uin,
+ clear: Min,
+ getClass: Din,
+ getClasses: Iin,
+ getNotes: Nin,
+ addAnnotation: Bin,
+ addNote: Rin,
+ getRelations: Oin,
+ addRelation: Pin,
+ getDirection: () => rKe,
+ setDirection: (i) => {
+ rKe = i;
+ },
+ addMember: tKe,
+ addMembers: Fin,
+ cleanupLabel: jin,
+ lineType: Gin,
+ relationType: Kin,
+ setClickEvent: Hin,
+ setCssClass: Mve,
+ setLink: qin,
+ getTooltip: zin,
+ setTooltip: $in,
+ lookUpDomId: eKe,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ setClassLabel: Lin,
+ addNamespace: function (i) {
+ F9[i] === void 0 &&
+ ((F9[i] = { id: i, classes: {}, children: {}, domId: mJ + i + '-' + Lve }), Lve++);
+ },
+ addClassesToNamespace: function (i, s) {
+ if (F9[i] !== void 0)
+ for (const u of s) {
+ const { className: d } = tS(u);
+ ((Th[d].parent = i), (F9[i].classes[d] = Th[d]));
+ }
+ },
+ getNamespace: function (i) {
+ return F9[i];
+ },
+ getNamespaces: function () {
+ return F9;
+ },
+ setCssStyle: function (i, s) {
+ const u = Th[i];
+ if (!(!s || !u))
+ for (const d of s) d.includes(',') ? u.styles.push(...d.split(',')) : u.styles.push(d);
+ },
+ },
+ iKe = (i) => `g.classGroup text {
+ fill: ${i.nodeBorder || i.classText};
stroke: none;
font-family: ${i.fontFamily};
font-size: 10px;
@@ -1250,14 +62526,2114 @@ g.classGroup line {
font-size: 18px;
fill: ${i.textColor};
}
-`;let sKe=0;const Win=function(i,s,u,d,p){const v=function(oe){switch(oe){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};s.points=s.points.filter(oe=>!Number.isNaN(oe.y));const b=s.points,y=x7().x(function(oe){return oe.x}).y(function(oe){return oe.y}).curve(BF),T=i.append("path").attr("d",y(b)).attr("id","edge"+sKe).attr("class","relation");let _="";d.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),u.relation.lineType==1&&T.attr("class","relation dashed-line"),u.relation.lineType==10&&T.attr("class","relation dotted-line"),u.relation.type1!=="none"&&T.attr("marker-start","url("+_+"#"+v(u.relation.type1)+"Start)"),u.relation.type2!=="none"&&T.attr("marker-end","url("+_+"#"+v(u.relation.type2)+"End)");let A,P;const R=s.points.length;let F=So.calcLabelPosition(s.points);A=F.x,P=F.y;let j,W,ee,ie;if(R%2!==0&&R>1){let oe=So.calcCardinalityPosition(u.relation.type1!=="none",s.points,s.points[0]),be=So.calcCardinalityPosition(u.relation.type2!=="none",s.points,s.points[R-1]);Xe.debug("cardinality_1_point "+JSON.stringify(oe)),Xe.debug("cardinality_2_point "+JSON.stringify(be)),j=oe.x,W=oe.y,ee=be.x,ie=be.y}if(u.title!==void 0){const oe=i.append("g").attr("class","classLabel"),be=oe.append("text").attr("class","label").attr("x",A).attr("y",P).attr("fill","red").attr("text-anchor","middle").text(u.title);window.label=be;const ge=be.node().getBBox();oe.insert("rect",":first-child").attr("class","box").attr("x",ge.x-d.padding/2).attr("y",ge.y-d.padding/2).attr("width",ge.width+d.padding).attr("height",ge.height+d.padding)}Xe.info("Rendering relation "+JSON.stringify(u)),u.relationTitle1!==void 0&&u.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",j).attr("y",W).attr("fill","black").attr("font-size","6").text(u.relationTitle1),u.relationTitle2!==void 0&&u.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",ee).attr("y",ie).attr("fill","black").attr("font-size","6").text(u.relationTitle2),sKe++},Yin=function(i,s,u,d){Xe.debug("Rendering class ",s,u);const p=s.id,v={id:p,label:s.id,width:0,height:0},b=i.append("g").attr("id",d.db.lookUpDomId(p)).attr("class","classGroup");let y;s.link?y=b.append("svg:a").attr("xlink:href",s.link).attr("target",s.linkTarget).append("text").attr("y",u.textHeight+u.padding).attr("x",0):y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);let T=!0;s.annotations.forEach(function(be){const ge=y.append("tspan").text("«"+be+"»");T||ge.attr("dy",u.textHeight),T=!1});let _=aKe(s);const A=y.append("tspan").text(_).attr("class","title");T||A.attr("dy",u.textHeight);const P=y.node().getBBox().height;let R,F,j;if(s.members.length>0){R=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin/2).attr("y2",u.padding+P+u.dividerMargin/2);const be=b.append("text").attr("x",u.padding).attr("y",P+u.dividerMargin+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.members.forEach(function(ge){oKe(be,ge,T,u),T=!1}),F=be.node().getBBox()}if(s.methods.length>0){j=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin+F.height).attr("y2",u.padding+P+u.dividerMargin+F.height);const be=b.append("text").attr("x",u.padding).attr("y",P+2*u.dividerMargin+F.height+u.textHeight).attr("fill","white").attr("class","classText");T=!0,s.methods.forEach(function(ge){oKe(be,ge,T,u),T=!1})}const W=b.node().getBBox();var ee=" ";s.cssClasses.length>0&&(ee=ee+s.cssClasses.join(" "));const oe=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*u.padding).attr("height",W.height+u.padding+.5*u.dividerMargin).attr("class",ee).node().getBBox().width;return y.node().childNodes.forEach(function(be){be.setAttribute("x",(oe-be.getBBox().width)/2)}),s.tooltip&&y.insert("title").text(s.tooltip),R&&R.attr("x2",oe),j&&j.attr("x2",oe),v.width=oe,v.height=W.height+u.padding+.5*u.dividerMargin,v},aKe=function(i){let s=i.id;return i.type&&(s+="<"+HF(i.type)+">"),s},Xin=function(i,s,u,d){Xe.debug("Rendering note ",s,u);const p=s.id,v={id:p,text:s.text,width:0,height:0},b=i.append("g").attr("id",p).attr("class","classGroup");let y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);const T=JSON.parse(`"${s.text}"`).split(`
-`);T.forEach(function(R){Xe.debug(`Adding line: ${R}`),y.append("tspan").text(R).attr("class","title").attr("dy",u.textHeight)});const _=b.node().getBBox(),P=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*u.padding).attr("height",_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin).node().getBBox().width;return y.node().childNodes.forEach(function(R){R.setAttribute("x",(P-R.getBBox().width)/2)}),v.width=P,v.height=_.height+T.length*u.textHeight+u.padding+.5*u.dividerMargin,v},oKe=function(i,s,u,d){const{displayText:p,cssStyle:v}=s.getDisplayDetails(),b=i.append("tspan").attr("x",d.padding).text(p);v!==""&&b.attr("style",s.cssStyle),u||b.attr("dy",d.textHeight)},Dve={getClassTitleString:aKe,drawClass:Yin,drawEdge:Win,drawNote:Xin};let xJ={};const kJ=20,YR=function(i){const s=Object.entries(xJ).find(u=>u[1].label===i);if(s)return s[0]},Qin=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},Jin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:XGe,db:yJ,renderer:{draw:function(i,s,u,d){const p=qt().class;xJ={},Xe.info("Rendering diagram "+i);const v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),T=y.select(`[id='${s}']`);Qin(T);const _=new N0({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const A=d.db.getClasses(),P=Object.keys(A);for(const oe of P){const be=A[oe],ge=Dve.drawClass(T,be,p,d);xJ[ge.id]=ge,_.setNode(ge.id,ge),Xe.info("Org height: "+ge.height)}d.db.getRelations().forEach(function(oe){Xe.info("tjoho"+YR(oe.id1)+YR(oe.id2)+JSON.stringify(oe)),_.setEdge(YR(oe.id1),YR(oe.id2),{relation:oe},oe.title||"DEFAULT")}),d.db.getNotes().forEach(function(oe){Xe.debug(`Adding note: ${JSON.stringify(oe)}`);const be=Dve.drawNote(T,oe,p,d);xJ[be.id]=be,_.setNode(be.id,be),oe.class&&oe.class in A&&_.setEdge(oe.id,YR(oe.class),{relation:{id1:oe.id,id2:oe.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),zD(_),_.nodes().forEach(function(oe){oe!==void 0&&_.node(oe)!==void 0&&(Xe.debug("Node "+oe+": "+JSON.stringify(_.node(oe))),y.select("#"+(d.db.lookUpDomId(oe)||oe)).attr("transform","translate("+(_.node(oe).x-_.node(oe).width/2)+","+(_.node(oe).y-_.node(oe).height/2)+" )"))}),_.edges().forEach(function(oe){oe!==void 0&&_.edge(oe)!==void 0&&(Xe.debug("Edge "+oe.v+" -> "+oe.w+": "+JSON.stringify(_.edge(oe))),Dve.drawEdge(T,_.edge(oe),_.edge(oe).relation,p,d))});const j=T.node().getBBox(),W=j.width+kJ*2,ee=j.height+kJ*2;Og(T,ee,W,p.useMaxWidth);const ie=`${j.x-kJ} ${j.y-kJ} ${W} ${ee}`;Xe.debug(`viewBox ${ie}`),T.attr("viewBox",ie)}},styles:iKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yJ.clear()}}},Symbol.toStringTag,{value:"Module"})),Ive=i=>ci.sanitizeText(i,qt());let Ove={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const Zin=function(i,s,u,d){const p=Object.keys(i);Xe.info("keys:",p),Xe.info(i),p.forEach(function(v){var _,A;const b=i[v],T={shape:"rect",id:b.id,domId:b.domId,labelText:Ive(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=qt().flowchart)==null?void 0:_.padding)??((A=qt().class)==null?void 0:A.padding)};s.setNode(b.id,T),cKe(b.classes,s,u,d,b.id),Xe.info("setNode",T)})},cKe=function(i,s,u,d,p){const v=Object.keys(i);Xe.info("keys:",v),Xe.info(i),v.filter(b=>i[b].parent==p).forEach(function(b){var j,W;const y=i[b],T=y.cssClasses.join(" "),_=am(y.styles),A=y.label??y.id,P=0,R="class_box",F={labelStyle:_.labelStyle,shape:R,labelText:Ive(A),classData:y,rx:P,ry:P,class:T,style:_.style,id:y.id,domId:y.domId,tooltip:d.db.getTooltip(y.id,p)||"",haveCallback:y.haveCallback,link:y.link,width:y.type==="group"?500:void 0,type:y.type,padding:((j=qt().flowchart)==null?void 0:j.padding)??((W=qt().class)==null?void 0:W.padding)};s.setNode(y.id,F),p&&s.setParent(y.id,p),Xe.info("setNode",F)})},esn=function(i,s,u,d){Xe.info(i),i.forEach(function(p,v){var W,ee;const b=p,y="",T={labelStyle:"",style:""},_=b.text,A=0,P="note",R={labelStyle:T.labelStyle,shape:P,labelText:Ive(_),noteData:b,rx:A,ry:A,class:y,style:T.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=qt().flowchart)==null?void 0:W.padding)??((ee=qt().class)==null?void 0:ee.padding)};if(s.setNode(b.id,R),Xe.info("setNode",R),!b.class||!(b.class in d))return;const F=u+v,j={id:`edgeNote${F}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Ov(Ove.curve,xp)};s.setEdge(b.id,b.class,j,F)})},tsn=function(i,s){const u=qt().flowchart;let d=0;i.forEach(function(p){var b;d++;const v={classes:"relation",pattern:p.relation.lineType==1?"dashed":"solid",id:`id_${p.id1}_${p.id2}_${d}`,arrowhead:p.type==="arrow_open"?"none":"normal",startLabelRight:p.relationTitle1==="none"?"":p.relationTitle1,endLabelLeft:p.relationTitle2==="none"?"":p.relationTitle2,arrowTypeStart:uKe(p.relation.type1),arrowTypeEnd:uKe(p.relation.type2),style:"fill:none",labelStyle:"",curve:Ov(u==null?void 0:u.curve,xp)};if(Xe.info(v,p),p.style!==void 0){const y=am(p.style);v.style=y.style,v.labelStyle=y.labelStyle}p.text=p.title,p.text===void 0?p.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=qt().flowchart)==null?void 0:b.htmlLabels)??qt().htmlLabels?(v.labelType="html",v.label=''+p.text+""):(v.labelType="text",v.label=p.text.replace(ci.lineBreakRegex,`
-`),p.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),s.setEdge(p.id1,p.id2,v,d)})},nsn=function(i){Ove={...Ove,...i}},rsn=async function(i,s,u,d){Xe.info("Drawing class - ",s);const p=qt().flowchart??qt().class,v=qt().securityLevel;Xe.info("config:",p);const b=(p==null?void 0:p.nodeSpacing)??50,y=(p==null?void 0:p.rankSpacing)??50,T=new N0({multigraph:!0,compound:!0}).setGraph({rankdir:d.db.getDirection(),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=d.db.getNamespaces(),A=d.db.getClasses(),P=d.db.getRelations(),R=d.db.getNotes();Xe.info(P),Zin(_,T,s,d),cKe(A,T,s,d),tsn(P,T),esn(R,T,P.length+1,A);let F;v==="sandbox"&&(F=Ir("#i"+s));const j=Ir(v==="sandbox"?F.nodes()[0].contentDocument.body:"body"),W=j.select(`[id="${s}"]`),ee=j.select("#"+s+" g");if(await qme(ee,T,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",s),So.insertTitle(W,"classTitleText",(p==null?void 0:p.titleTopMargin)??5,d.db.getDiagramTitle()),w9(T,W,p==null?void 0:p.diagramPadding,p==null?void 0:p.useMaxWidth),!(p!=null&&p.htmlLabels)){const ie=v==="sandbox"?F.nodes()[0].contentDocument:document,oe=ie.querySelectorAll('[id="'+s+'"] .edgeLabel .label');for(const be of oe){const ge=be.getBBox(),ae=ie.createElementNS("http://www.w3.org/2000/svg","rect");ae.setAttribute("rx",0),ae.setAttribute("ry",0),ae.setAttribute("width",ge.width),ae.setAttribute("height",ge.height),be.insertBefore(ae,be.firstChild)}}};function uKe(i){let s;switch(i){case 0:s="aggregation";break;case 1:s="extension";break;case 2:s="composition";break;case 3:s="dependency";break;case 4:s="lollipop";break;default:s="none"}return s}const isn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:XGe,db:yJ,renderer:{setConf:nsn,draw:rsn},styles:iKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yJ.clear()}}},Symbol.toStringTag,{value:"Module"}));var Nve=function(){var i=function(Ie,Se,Ce,ke){for(Ce=Ce||{},ke=Ie.length;ke--;Ce[Ie[ke]]=Se);return Ce},s=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,15],T=[1,16],_=[1,17],A=[1,18],P=[1,30],R=[1,19],F=[1,20],j=[1,21],W=[1,22],ee=[1,23],ie=[1,25],oe=[1,26],be=[1,27],ge=[1,28],ae=[1,29],ne=[1,32],se=[1,33],de=[1,34],X=[1,35],pe=[1,31],G=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xe=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],U=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Be={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Se,Ce,ke,Ke,Ft,Pe,gn){var kt=Pe.length-1;switch(Ft){case 3:return Ke.setRootDoc(Pe[kt]),Pe[kt];case 4:this.$=[];break;case 5:Pe[kt]!="nl"&&(Pe[kt-1].push(Pe[kt]),this.$=Pe[kt-1]);break;case 6:case 7:this.$=Pe[kt];break;case 8:this.$="nl";break;case 11:this.$=Pe[kt];break;case 12:const xt=Pe[kt-1];xt.description=Ke.trimColon(Pe[kt]),this.$=xt;break;case 13:this.$={stmt:"relation",state1:Pe[kt-2],state2:Pe[kt]};break;case 14:const Pt=Ke.trimColon(Pe[kt]);this.$={stmt:"relation",state1:Pe[kt-3],state2:Pe[kt-1],description:Pt};break;case 18:this.$={stmt:"state",id:Pe[kt-3],type:"default",description:"",doc:Pe[kt-1]};break;case 19:var Et=Pe[kt],Gt=Pe[kt-2].trim();if(Pe[kt].match(":")){var ln=Pe[kt].split(":");Et=ln[0],Gt=[Gt,ln[1]]}this.$={stmt:"state",id:Et,type:"default",description:Gt};break;case 20:this.$={stmt:"state",id:Pe[kt-3],type:"default",description:Pe[kt-5],doc:Pe[kt-1]};break;case 21:this.$={stmt:"state",id:Pe[kt],type:"fork"};break;case 22:this.$={stmt:"state",id:Pe[kt],type:"join"};break;case 23:this.$={stmt:"state",id:Pe[kt],type:"choice"};break;case 24:this.$={stmt:"state",id:Ke.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Pe[kt-1].trim(),note:{position:Pe[kt-2].trim(),text:Pe[kt].trim()}};break;case 28:this.$=Pe[kt].trim(),Ke.setAccTitle(this.$);break;case 29:case 30:this.$=Pe[kt].trim(),Ke.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Pe[kt-1].trim(),classes:Pe[kt].trim()};break;case 33:this.$={stmt:"applyClass",id:Pe[kt-1].trim(),styleClass:Pe[kt].trim()};break;case 34:Ke.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ke.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ke.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ke.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Pe[kt].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Pe[kt-2].trim(),classes:[Pe[kt].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Pe[kt-2].trim(),classes:[Pe[kt].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:u,6:d},{1:[3]},{3:5,4:s,5:u,6:d},{3:6,4:s,5:u,6:d},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,5]),{9:36,10:12,11:13,12:14,15:y,16:T,18:_,21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,7]),i(G,[2,8]),i(G,[2,9]),i(G,[2,10]),i(G,[2,11],{13:[1,37],14:[1,38]}),i(G,[2,15]),{17:[1,39]},i(G,[2,17],{19:[1,40]}),{22:[1,41]},i(G,[2,21]),i(G,[2,22]),i(G,[2,23]),i(G,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(G,[2,27]),{33:[1,46]},{35:[1,47]},i(G,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(xe,[2,40],{51:[1,51]}),i(xe,[2,41],{51:[1,52]}),i(G,[2,34]),i(G,[2,35]),i(G,[2,36]),i(G,[2,37]),i(G,[2,6]),i(G,[2,12]),{12:53,23:P,50:pe},i(G,[2,16]),i(U,p,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(G,[2,28]),i(G,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(G,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,64],21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(G,[2,31]),i(G,[2,32]),i(G,[2,33]),i(xe,[2,42]),i(xe,[2,43]),i(G,[2,14]),i(G,[2,18]),i(U,p,{7:68}),i(G,[2,25]),i(G,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:T,18:_,20:[1,69],21:A,23:P,24:R,25:F,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Se,Ce){if(Ce.recoverable)this.trace(Se);else{var ke=new Error(Se);throw ke.hash=Ce,ke}},parse:function(Se){var Ce=this,ke=[0],Ke=[],Ft=[null],Pe=[],gn=this.table,kt="",Et=0,Gt=0,ln=2,xt=1,Pt=Pe.slice.call(arguments,1),Ze=Object.create(this.lexer),At={yy:{}};for(var Tt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Tt)&&(At.yy[Tt]=this.yy[Tt]);Ze.setInput(Se,At.yy),At.yy.lexer=Ze,At.yy.parser=this,typeof Ze.yylloc>"u"&&(Ze.yylloc={});var On=Ze.yylloc;Pe.push(On);var ht=Ze.options&&Ze.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zr(){var Lt;return Lt=Ke.pop()||Ze.lex()||xt,typeof Lt!="number"&&(Lt instanceof Array&&(Ke=Lt,Lt=Ke.pop()),Lt=Ce.symbols_[Lt]||Lt),Lt}for(var yt,Fi,yi,Ba,na={},Ro,_r,Nn,$n;;){if(Fi=ke[ke.length-1],this.defaultActions[Fi]?yi=this.defaultActions[Fi]:((yt===null||typeof yt>"u")&&(yt=zr()),yi=gn[Fi]&&gn[Fi][yt]),typeof yi>"u"||!yi.length||!yi[0]){var qn="";$n=[];for(Ro in gn[Fi])this.terminals_[Ro]&&Ro>ln&&$n.push("'"+this.terminals_[Ro]+"'");Ze.showPosition?qn="Parse error on line "+(Et+1)+`:
-`+Ze.showPosition()+`
-Expecting `+$n.join(", ")+", got '"+(this.terminals_[yt]||yt)+"'":qn="Parse error on line "+(Et+1)+": Unexpected "+(yt==xt?"end of input":"'"+(this.terminals_[yt]||yt)+"'"),this.parseError(qn,{text:Ze.match,token:this.terminals_[yt]||yt,line:Ze.yylineno,loc:On,expected:$n})}if(yi[0]instanceof Array&&yi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Fi+", token: "+yt);switch(yi[0]){case 1:ke.push(yt),Ft.push(Ze.yytext),Pe.push(Ze.yylloc),ke.push(yi[1]),yt=null,Gt=Ze.yyleng,kt=Ze.yytext,Et=Ze.yylineno,On=Ze.yylloc;break;case 2:if(_r=this.productions_[yi[1]][1],na.$=Ft[Ft.length-_r],na._$={first_line:Pe[Pe.length-(_r||1)].first_line,last_line:Pe[Pe.length-1].last_line,first_column:Pe[Pe.length-(_r||1)].first_column,last_column:Pe[Pe.length-1].last_column},ht&&(na._$.range=[Pe[Pe.length-(_r||1)].range[0],Pe[Pe.length-1].range[1]]),Ba=this.performAction.apply(na,[kt,Gt,Et,At.yy,yi[1],Ft,Pe].concat(Pt)),typeof Ba<"u")return Ba;_r&&(ke=ke.slice(0,-1*_r*2),Ft=Ft.slice(0,-1*_r),Pe=Pe.slice(0,-1*_r)),ke.push(this.productions_[yi[1]][0]),Ft.push(na.$),Pe.push(na._$),Nn=gn[ke[ke.length-2]][ke[ke.length-1]],ke.push(Nn);break;case 3:return!0}}return!0}},Ne=function(){var Ie={EOF:1,parseError:function(Ce,ke){if(this.yy.parser)this.yy.parser.parseError(Ce,ke);else throw new Error(Ce)},setInput:function(Se,Ce){return this.yy=Ce||this.yy||{},this._input=Se,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var Se=this._input[0];this.yytext+=Se,this.yyleng++,this.offset++,this.match+=Se,this.matched+=Se;var Ce=Se.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Se},unput:function(Se){var Ce=Se.length,ke=Se.split(/(?:\r\n?|\n)/g);this._input=Se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var Ke=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ke.length-1&&(this.yylineno-=ke.length-1);var Ft=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:ke?(ke.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[Ft[0],Ft[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Se){this.unput(this.match.slice(Se))},pastInput:function(){var Se=this.matched.substr(0,this.matched.length-this.match.length);return(Se.length>20?"...":"")+Se.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Se=this.match;return Se.length<20&&(Se+=this._input.substr(0,20-Se.length)),(Se.substr(0,20)+(Se.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Se=this.pastInput(),Ce=new Array(Se.length+1).join("-");return Se+this.upcomingInput()+`
-`+Ce+"^"},test_match:function(Se,Ce){var ke,Ke,Ft;if(this.options.backtrack_lexer&&(Ft={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&&(Ft.yylloc.range=this.yylloc.range.slice(0))),Ke=Se[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Se[0].length},this.yytext+=Se[0],this.match+=Se[0],this.matches=Se,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(Se[0].length),this.matched+=Se[0],ke=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Pe in Ft)this[Pe]=Ft[Pe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Se,Ce,ke,Ke;this._more||(this.yytext="",this.match="");for(var Ft=this._currentRules(),Pe=0;PeCe[0].length)){if(Ce=ke,Ke=Pe,this.options.backtrack_lexer){if(Se=this.test_match(ke,Ft[Pe]),Se!==!1)return Se;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Se=this.test_match(Ce,Ft[Ke]),Se!==!1?Se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return Ce||this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){var Ce=this.conditionStack.length-1;return Ce>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},pushState:function(Ce){this.begin(Ce)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ce,ke,Ke,Ft){switch(Ke){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),ke.yytext=ke.yytext.substr(2).trim(),30;case 64:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return ke.yytext=ke.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return Ie}();Be.lexer=Ne;function je(){this.yy={}}return je.prototype=Be,Be.Parser=je,new je}();Nve.parser=Nve;const lKe=Nve,ssn="LR",asn="TB",EJ="state",Pve="relation",osn="classDef",csn="applyClass",XR="default",hKe="divider",Bve="[*]",fKe="start",dKe=Bve,gKe="end",pKe="color",bKe="fill",usn="bgFill",lsn=",";function mKe(){return{}}let vKe=ssn,TJ=[],QR=mKe();const wKe=()=>({relations:[],states:{},documents:{}});let CJ={root:wKe()},Rg=CJ.root,JR=0,yKe=0;const hsn={LINE:0,DOTTED_LINE:1},fsn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},SJ=i=>JSON.parse(JSON.stringify(i)),dsn=i=>{Xe.info("Setting root doc",i),TJ=i},gsn=()=>TJ,_J=(i,s,u)=>{if(s.stmt===Pve)_J(i,s.state1,!0),_J(i,s.state2,!1);else if(s.stmt===EJ&&(s.id==="[*]"?(s.id=u?i.id+"_start":i.id+"_end",s.start=u):s.id=s.id.trim()),s.doc){const d=[];let p=[],v;for(v=0;v0&&p.length>0){const b={stmt:EJ,id:vje(),type:"divider",doc:SJ(p)};d.push(SJ(b)),s.doc=d}s.doc.forEach(b=>_J(s,b,!0))}},psn=()=>(_J({id:"root"},{id:"root",doc:TJ},!0),{id:"root",doc:TJ}),bsn=i=>{let s;i.doc?s=i.doc:s=i,Xe.info(s),xKe(!0),Xe.info("Extract",s),s.forEach(u=>{switch(u.stmt){case EJ:nS(u.id.trim(),u.type,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles);break;case Pve:kKe(u.state1,u.state2,u.description);break;case osn:EKe(u.id.trim(),u.classes);break;case csn:$ve(u.id.trim(),u.styleClass);break}})},nS=function(i,s=XR,u=null,d=null,p=null,v=null,b=null,y=null){const T=i==null?void 0:i.trim();Rg.states[T]===void 0?(Xe.info("Adding state ",T,d),Rg.states[T]={id:T,descriptions:[],type:s,doc:u,note:p,classes:[],styles:[],textStyles:[]}):(Rg.states[T].doc||(Rg.states[T].doc=u),Rg.states[T].type||(Rg.states[T].type=s)),d&&(Xe.info("Setting state description",T,d),typeof d=="string"&&jve(T,d.trim()),typeof d=="object"&&d.forEach(_=>jve(T,_.trim()))),p&&(Rg.states[T].note=p,Rg.states[T].note.text=ci.sanitizeText(Rg.states[T].note.text,qt())),v&&(Xe.info("Setting state classes",T,v),(typeof v=="string"?[v]:v).forEach(A=>$ve(T,A.trim()))),b&&(Xe.info("Setting state styles",T,b),(typeof b=="string"?[b]:b).forEach(A=>Ssn(T,A.trim()))),y&&(Xe.info("Setting state styles",T,b),(typeof y=="string"?[y]:y).forEach(A=>_sn(T,A.trim())))},xKe=function(i){CJ={root:wKe()},Rg=CJ.root,JR=0,QR=mKe(),i||Ng()},ZR=function(i){return Rg.states[i]},msn=function(){return Rg.states},vsn=function(){Xe.info("Documents = ",CJ)},wsn=function(){return Rg.relations};function Fve(i=""){let s=i;return i===Bve&&(JR++,s=`${fKe}${JR}`),s}function Rve(i="",s=XR){return i===Bve?fKe:s}function ysn(i=""){let s=i;return i===dKe&&(JR++,s=`${gKe}${JR}`),s}function xsn(i="",s=XR){return i===dKe?gKe:s}function ksn(i,s,u){let d=Fve(i.id.trim()),p=Rve(i.id.trim(),i.type),v=Fve(s.id.trim()),b=Rve(s.id.trim(),s.type);nS(d,p,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),nS(v,b,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),Rg.relations.push({id1:d,id2:v,relationTitle:ci.sanitizeText(u,qt())})}const kKe=function(i,s,u){if(typeof i=="object")ksn(i,s,u);else{const d=Fve(i.trim()),p=Rve(i),v=ysn(s.trim()),b=xsn(s);nS(d,p),nS(v,b),Rg.relations.push({id1:d,id2:v,title:ci.sanitizeText(u,qt())})}},jve=function(i,s){const u=Rg.states[i],d=s.startsWith(":")?s.replace(":","").trim():s;u.descriptions.push(ci.sanitizeText(d,qt()))},Esn=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},Tsn=()=>(yKe++,"divider-id-"+yKe),EKe=function(i,s=""){QR[i]===void 0&&(QR[i]={id:i,styles:[],textStyles:[]});const u=QR[i];s!=null&&s.split(lsn).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(pKe)){const b=p.replace(bKe,usn).replace(pKe,bKe);u.textStyles.push(b)}u.styles.push(p)})},Csn=function(){return QR},$ve=function(i,s){i.split(",").forEach(function(u){let d=ZR(u);if(d===void 0){const p=u.trim();nS(p),d=ZR(p)}d.classes.push(s)})},Ssn=function(i,s){const u=ZR(i);u!==void 0&&u.textStyles.push(s)},_sn=function(i,s){const u=ZR(i);u!==void 0&&u.textStyles.push(s)},U7={getConfig:()=>qt().state,addState:nS,clear:xKe,getState:ZR,getStates:msn,getRelations:wsn,getClasses:Csn,getDirection:()=>vKe,addRelation:kKe,getDividerId:Tsn,setDirection:i=>{vKe=i},cleanupLabel:Esn,lineType:hsn,relationType:fsn,logDocuments:vsn,getRootDoc:gsn,setRootDoc:dsn,getRootDocV2:psn,extract:bsn,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Sp,setAccTitle:Pg,getAccDescription:Ap,setAccDescription:_p,addStyleClass:EKe,setCssClass:$ve,addDescription:jve,setDiagramTitle:om,getDiagramTitle:Lp},TKe=i=>`
+`;
+ let sKe = 0;
+ const Win = function (i, s, u, d, p) {
+ const v = function (oe) {
+ switch (oe) {
+ case p.db.relationType.AGGREGATION:
+ return 'aggregation';
+ case p.db.relationType.EXTENSION:
+ return 'extension';
+ case p.db.relationType.COMPOSITION:
+ return 'composition';
+ case p.db.relationType.DEPENDENCY:
+ return 'dependency';
+ case p.db.relationType.LOLLIPOP:
+ return 'lollipop';
+ }
+ };
+ s.points = s.points.filter((oe) => !Number.isNaN(oe.y));
+ const b = s.points,
+ y = x7()
+ .x(function (oe) {
+ return oe.x;
+ })
+ .y(function (oe) {
+ return oe.y;
+ })
+ .curve(BF),
+ T = i
+ .append('path')
+ .attr('d', y(b))
+ .attr('id', 'edge' + sKe)
+ .attr('class', 'relation');
+ let _ = '';
+ (d.arrowMarkerAbsolute &&
+ ((_ =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (_ = _.replace(/\(/g, '\\(')),
+ (_ = _.replace(/\)/g, '\\)'))),
+ u.relation.lineType == 1 && T.attr('class', 'relation dashed-line'),
+ u.relation.lineType == 10 && T.attr('class', 'relation dotted-line'),
+ u.relation.type1 !== 'none' &&
+ T.attr('marker-start', 'url(' + _ + '#' + v(u.relation.type1) + 'Start)'),
+ u.relation.type2 !== 'none' &&
+ T.attr('marker-end', 'url(' + _ + '#' + v(u.relation.type2) + 'End)'));
+ let A, P;
+ const R = s.points.length;
+ let F = So.calcLabelPosition(s.points);
+ ((A = F.x), (P = F.y));
+ let j, W, ee, ie;
+ if (R % 2 !== 0 && R > 1) {
+ let oe = So.calcCardinalityPosition(u.relation.type1 !== 'none', s.points, s.points[0]),
+ be = So.calcCardinalityPosition(u.relation.type2 !== 'none', s.points, s.points[R - 1]);
+ (Xe.debug('cardinality_1_point ' + JSON.stringify(oe)),
+ Xe.debug('cardinality_2_point ' + JSON.stringify(be)),
+ (j = oe.x),
+ (W = oe.y),
+ (ee = be.x),
+ (ie = be.y));
+ }
+ if (u.title !== void 0) {
+ const oe = i.append('g').attr('class', 'classLabel'),
+ be = oe
+ .append('text')
+ .attr('class', 'label')
+ .attr('x', A)
+ .attr('y', P)
+ .attr('fill', 'red')
+ .attr('text-anchor', 'middle')
+ .text(u.title);
+ window.label = be;
+ const ge = be.node().getBBox();
+ oe.insert('rect', ':first-child')
+ .attr('class', 'box')
+ .attr('x', ge.x - d.padding / 2)
+ .attr('y', ge.y - d.padding / 2)
+ .attr('width', ge.width + d.padding)
+ .attr('height', ge.height + d.padding);
+ }
+ (Xe.info('Rendering relation ' + JSON.stringify(u)),
+ u.relationTitle1 !== void 0 &&
+ u.relationTitle1 !== 'none' &&
+ i
+ .append('g')
+ .attr('class', 'cardinality')
+ .append('text')
+ .attr('class', 'type1')
+ .attr('x', j)
+ .attr('y', W)
+ .attr('fill', 'black')
+ .attr('font-size', '6')
+ .text(u.relationTitle1),
+ u.relationTitle2 !== void 0 &&
+ u.relationTitle2 !== 'none' &&
+ i
+ .append('g')
+ .attr('class', 'cardinality')
+ .append('text')
+ .attr('class', 'type2')
+ .attr('x', ee)
+ .attr('y', ie)
+ .attr('fill', 'black')
+ .attr('font-size', '6')
+ .text(u.relationTitle2),
+ sKe++);
+ },
+ Yin = function (i, s, u, d) {
+ Xe.debug('Rendering class ', s, u);
+ const p = s.id,
+ v = { id: p, label: s.id, width: 0, height: 0 },
+ b = i.append('g').attr('id', d.db.lookUpDomId(p)).attr('class', 'classGroup');
+ let y;
+ s.link
+ ? (y = b
+ .append('svg:a')
+ .attr('xlink:href', s.link)
+ .attr('target', s.linkTarget)
+ .append('text')
+ .attr('y', u.textHeight + u.padding)
+ .attr('x', 0))
+ : (y = b
+ .append('text')
+ .attr('y', u.textHeight + u.padding)
+ .attr('x', 0));
+ let T = !0;
+ s.annotations.forEach(function (be) {
+ const ge = y.append('tspan').text('«' + be + '»');
+ (T || ge.attr('dy', u.textHeight), (T = !1));
+ });
+ let _ = aKe(s);
+ const A = y.append('tspan').text(_).attr('class', 'title');
+ T || A.attr('dy', u.textHeight);
+ const P = y.node().getBBox().height;
+ let R, F, j;
+ if (s.members.length > 0) {
+ R = b
+ .append('line')
+ .attr('x1', 0)
+ .attr('y1', u.padding + P + u.dividerMargin / 2)
+ .attr('y2', u.padding + P + u.dividerMargin / 2);
+ const be = b
+ .append('text')
+ .attr('x', u.padding)
+ .attr('y', P + u.dividerMargin + u.textHeight)
+ .attr('fill', 'white')
+ .attr('class', 'classText');
+ ((T = !0),
+ s.members.forEach(function (ge) {
+ (oKe(be, ge, T, u), (T = !1));
+ }),
+ (F = be.node().getBBox()));
+ }
+ if (s.methods.length > 0) {
+ j = b
+ .append('line')
+ .attr('x1', 0)
+ .attr('y1', u.padding + P + u.dividerMargin + F.height)
+ .attr('y2', u.padding + P + u.dividerMargin + F.height);
+ const be = b
+ .append('text')
+ .attr('x', u.padding)
+ .attr('y', P + 2 * u.dividerMargin + F.height + u.textHeight)
+ .attr('fill', 'white')
+ .attr('class', 'classText');
+ ((T = !0),
+ s.methods.forEach(function (ge) {
+ (oKe(be, ge, T, u), (T = !1));
+ }));
+ }
+ const W = b.node().getBBox();
+ var ee = ' ';
+ s.cssClasses.length > 0 && (ee = ee + s.cssClasses.join(' '));
+ const oe = b
+ .insert('rect', ':first-child')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', W.width + 2 * u.padding)
+ .attr('height', W.height + u.padding + 0.5 * u.dividerMargin)
+ .attr('class', ee)
+ .node()
+ .getBBox().width;
+ return (
+ y.node().childNodes.forEach(function (be) {
+ be.setAttribute('x', (oe - be.getBBox().width) / 2);
+ }),
+ s.tooltip && y.insert('title').text(s.tooltip),
+ R && R.attr('x2', oe),
+ j && j.attr('x2', oe),
+ (v.width = oe),
+ (v.height = W.height + u.padding + 0.5 * u.dividerMargin),
+ v
+ );
+ },
+ aKe = function (i) {
+ let s = i.id;
+ return (i.type && (s += '<' + HF(i.type) + '>'), s);
+ },
+ Xin = function (i, s, u, d) {
+ Xe.debug('Rendering note ', s, u);
+ const p = s.id,
+ v = { id: p, text: s.text, width: 0, height: 0 },
+ b = i.append('g').attr('id', p).attr('class', 'classGroup');
+ let y = b
+ .append('text')
+ .attr('y', u.textHeight + u.padding)
+ .attr('x', 0);
+ const T = JSON.parse(`"${s.text}"`).split(`
+`);
+ T.forEach(function (R) {
+ (Xe.debug(`Adding line: ${R}`),
+ y.append('tspan').text(R).attr('class', 'title').attr('dy', u.textHeight));
+ });
+ const _ = b.node().getBBox(),
+ P = b
+ .insert('rect', ':first-child')
+ .attr('x', 0)
+ .attr('y', 0)
+ .attr('width', _.width + 2 * u.padding)
+ .attr('height', _.height + T.length * u.textHeight + u.padding + 0.5 * u.dividerMargin)
+ .node()
+ .getBBox().width;
+ return (
+ y.node().childNodes.forEach(function (R) {
+ R.setAttribute('x', (P - R.getBBox().width) / 2);
+ }),
+ (v.width = P),
+ (v.height = _.height + T.length * u.textHeight + u.padding + 0.5 * u.dividerMargin),
+ v
+ );
+ },
+ oKe = function (i, s, u, d) {
+ const { displayText: p, cssStyle: v } = s.getDisplayDetails(),
+ b = i.append('tspan').attr('x', d.padding).text(p);
+ (v !== '' && b.attr('style', s.cssStyle), u || b.attr('dy', d.textHeight));
+ },
+ Dve = { getClassTitleString: aKe, drawClass: Yin, drawEdge: Win, drawNote: Xin };
+ let xJ = {};
+ const kJ = 20,
+ YR = function (i) {
+ const s = Object.entries(xJ).find((u) => u[1].label === i);
+ if (s) return s[0];
+ },
+ Qin = function (i) {
+ (i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'extensionStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,7 L18,13 V 1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'extensionEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 1,1 V 13 L18,7 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'compositionStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'compositionEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'aggregationStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'aggregationEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'dependencyStart')
+ .attr('class', 'extension')
+ .attr('refX', 0)
+ .attr('refY', 7)
+ .attr('markerWidth', 190)
+ .attr('markerHeight', 240)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 5,7 L9,13 L1,7 L9,1 Z'),
+ i
+ .append('defs')
+ .append('marker')
+ .attr('id', 'dependencyEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 18,7 L9,13 L14,7 L9,1 Z'));
+ },
+ Jin = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: XGe,
+ db: yJ,
+ renderer: {
+ draw: function (i, s, u, d) {
+ const p = qt().class;
+ ((xJ = {}), Xe.info('Rendering diagram ' + i));
+ const v = qt().securityLevel;
+ let b;
+ v === 'sandbox' && (b = Ir('#i' + s));
+ const y = Ir(v === 'sandbox' ? b.nodes()[0].contentDocument.body : 'body'),
+ T = y.select(`[id='${s}']`);
+ Qin(T);
+ const _ = new N0({ multigraph: !0 });
+ (_.setGraph({ isMultiGraph: !0 }),
+ _.setDefaultEdgeLabel(function () {
+ return {};
+ }));
+ const A = d.db.getClasses(),
+ P = Object.keys(A);
+ for (const oe of P) {
+ const be = A[oe],
+ ge = Dve.drawClass(T, be, p, d);
+ ((xJ[ge.id] = ge), _.setNode(ge.id, ge), Xe.info('Org height: ' + ge.height));
+ }
+ (d.db.getRelations().forEach(function (oe) {
+ (Xe.info('tjoho' + YR(oe.id1) + YR(oe.id2) + JSON.stringify(oe)),
+ _.setEdge(YR(oe.id1), YR(oe.id2), { relation: oe }, oe.title || 'DEFAULT'));
+ }),
+ d.db.getNotes().forEach(function (oe) {
+ Xe.debug(`Adding note: ${JSON.stringify(oe)}`);
+ const be = Dve.drawNote(T, oe, p, d);
+ ((xJ[be.id] = be),
+ _.setNode(be.id, be),
+ oe.class &&
+ oe.class in A &&
+ _.setEdge(
+ oe.id,
+ YR(oe.class),
+ {
+ relation: {
+ id1: oe.id,
+ id2: oe.class,
+ relation: { type1: 'none', type2: 'none', lineType: 10 },
+ },
+ },
+ 'DEFAULT',
+ ));
+ }),
+ zD(_),
+ _.nodes().forEach(function (oe) {
+ oe !== void 0 &&
+ _.node(oe) !== void 0 &&
+ (Xe.debug('Node ' + oe + ': ' + JSON.stringify(_.node(oe))),
+ y
+ .select('#' + (d.db.lookUpDomId(oe) || oe))
+ .attr(
+ 'transform',
+ 'translate(' +
+ (_.node(oe).x - _.node(oe).width / 2) +
+ ',' +
+ (_.node(oe).y - _.node(oe).height / 2) +
+ ' )',
+ ));
+ }),
+ _.edges().forEach(function (oe) {
+ oe !== void 0 &&
+ _.edge(oe) !== void 0 &&
+ (Xe.debug('Edge ' + oe.v + ' -> ' + oe.w + ': ' + JSON.stringify(_.edge(oe))),
+ Dve.drawEdge(T, _.edge(oe), _.edge(oe).relation, p, d));
+ }));
+ const j = T.node().getBBox(),
+ W = j.width + kJ * 2,
+ ee = j.height + kJ * 2;
+ Og(T, ee, W, p.useMaxWidth);
+ const ie = `${j.x - kJ} ${j.y - kJ} ${W} ${ee}`;
+ (Xe.debug(`viewBox ${ie}`), T.attr('viewBox', ie));
+ },
+ },
+ styles: iKe,
+ init: (i) => {
+ (i.class || (i.class = {}),
+ (i.class.arrowMarkerAbsolute = i.arrowMarkerAbsolute),
+ yJ.clear());
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ ),
+ Ive = (i) => ci.sanitizeText(i, qt());
+ let Ove = { dividerMargin: 10, padding: 5, textHeight: 10, curve: void 0 };
+ const Zin = function (i, s, u, d) {
+ const p = Object.keys(i);
+ (Xe.info('keys:', p),
+ Xe.info(i),
+ p.forEach(function (v) {
+ var _, A;
+ const b = i[v],
+ T = {
+ shape: 'rect',
+ id: b.id,
+ domId: b.domId,
+ labelText: Ive(b.id),
+ labelStyle: '',
+ style: 'fill: none; stroke: black',
+ padding:
+ ((_ = qt().flowchart) == null ? void 0 : _.padding) ??
+ ((A = qt().class) == null ? void 0 : A.padding),
+ };
+ (s.setNode(b.id, T), cKe(b.classes, s, u, d, b.id), Xe.info('setNode', T));
+ }));
+ },
+ cKe = function (i, s, u, d, p) {
+ const v = Object.keys(i);
+ (Xe.info('keys:', v),
+ Xe.info(i),
+ v
+ .filter((b) => i[b].parent == p)
+ .forEach(function (b) {
+ var j, W;
+ const y = i[b],
+ T = y.cssClasses.join(' '),
+ _ = am(y.styles),
+ A = y.label ?? y.id,
+ P = 0,
+ R = 'class_box',
+ F = {
+ labelStyle: _.labelStyle,
+ shape: R,
+ labelText: Ive(A),
+ classData: y,
+ rx: P,
+ ry: P,
+ class: T,
+ style: _.style,
+ id: y.id,
+ domId: y.domId,
+ tooltip: d.db.getTooltip(y.id, p) || '',
+ haveCallback: y.haveCallback,
+ link: y.link,
+ width: y.type === 'group' ? 500 : void 0,
+ type: y.type,
+ padding:
+ ((j = qt().flowchart) == null ? void 0 : j.padding) ??
+ ((W = qt().class) == null ? void 0 : W.padding),
+ };
+ (s.setNode(y.id, F), p && s.setParent(y.id, p), Xe.info('setNode', F));
+ }));
+ },
+ esn = function (i, s, u, d) {
+ (Xe.info(i),
+ i.forEach(function (p, v) {
+ var W, ee;
+ const b = p,
+ y = '',
+ T = { labelStyle: '', style: '' },
+ _ = b.text,
+ A = 0,
+ P = 'note',
+ R = {
+ labelStyle: T.labelStyle,
+ shape: P,
+ labelText: Ive(_),
+ noteData: b,
+ rx: A,
+ ry: A,
+ class: y,
+ style: T.style,
+ id: b.id,
+ domId: b.id,
+ tooltip: '',
+ type: 'note',
+ padding:
+ ((W = qt().flowchart) == null ? void 0 : W.padding) ??
+ ((ee = qt().class) == null ? void 0 : ee.padding),
+ };
+ if ((s.setNode(b.id, R), Xe.info('setNode', R), !b.class || !(b.class in d))) return;
+ const F = u + v,
+ j = {
+ id: `edgeNote${F}`,
+ classes: 'relation',
+ pattern: 'dotted',
+ arrowhead: 'none',
+ startLabelRight: '',
+ endLabelLeft: '',
+ arrowTypeStart: 'none',
+ arrowTypeEnd: 'none',
+ style: 'fill:none',
+ labelStyle: '',
+ curve: Ov(Ove.curve, xp),
+ };
+ s.setEdge(b.id, b.class, j, F);
+ }));
+ },
+ tsn = function (i, s) {
+ const u = qt().flowchart;
+ let d = 0;
+ i.forEach(function (p) {
+ var b;
+ d++;
+ const v = {
+ classes: 'relation',
+ pattern: p.relation.lineType == 1 ? 'dashed' : 'solid',
+ id: `id_${p.id1}_${p.id2}_${d}`,
+ arrowhead: p.type === 'arrow_open' ? 'none' : 'normal',
+ startLabelRight: p.relationTitle1 === 'none' ? '' : p.relationTitle1,
+ endLabelLeft: p.relationTitle2 === 'none' ? '' : p.relationTitle2,
+ arrowTypeStart: uKe(p.relation.type1),
+ arrowTypeEnd: uKe(p.relation.type2),
+ style: 'fill:none',
+ labelStyle: '',
+ curve: Ov(u == null ? void 0 : u.curve, xp),
+ };
+ if ((Xe.info(v, p), p.style !== void 0)) {
+ const y = am(p.style);
+ ((v.style = y.style), (v.labelStyle = y.labelStyle));
+ }
+ ((p.text = p.title),
+ p.text === void 0
+ ? p.style !== void 0 && (v.arrowheadStyle = 'fill: #333')
+ : ((v.arrowheadStyle = 'fill: #333'),
+ (v.labelpos = 'c'),
+ (((b = qt().flowchart) == null ? void 0 : b.htmlLabels) ?? qt().htmlLabels)
+ ? ((v.labelType = 'html'),
+ (v.label = '' + p.text + ''))
+ : ((v.labelType = 'text'),
+ (v.label = p.text.replace(
+ ci.lineBreakRegex,
+ `
+`,
+ )),
+ p.style === void 0 &&
+ (v.style = v.style || 'stroke: #333; stroke-width: 1.5px;fill:none'),
+ (v.labelStyle = v.labelStyle.replace('color:', 'fill:')))),
+ s.setEdge(p.id1, p.id2, v, d));
+ });
+ },
+ nsn = function (i) {
+ Ove = { ...Ove, ...i };
+ },
+ rsn = async function (i, s, u, d) {
+ Xe.info('Drawing class - ', s);
+ const p = qt().flowchart ?? qt().class,
+ v = qt().securityLevel;
+ Xe.info('config:', p);
+ const b = (p == null ? void 0 : p.nodeSpacing) ?? 50,
+ y = (p == null ? void 0 : p.rankSpacing) ?? 50,
+ T = new N0({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: d.db.getDirection(),
+ nodesep: b,
+ ranksep: y,
+ marginx: 8,
+ marginy: 8,
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ _ = d.db.getNamespaces(),
+ A = d.db.getClasses(),
+ P = d.db.getRelations(),
+ R = d.db.getNotes();
+ (Xe.info(P), Zin(_, T, s, d), cKe(A, T, s, d), tsn(P, T), esn(R, T, P.length + 1, A));
+ let F;
+ v === 'sandbox' && (F = Ir('#i' + s));
+ const j = Ir(v === 'sandbox' ? F.nodes()[0].contentDocument.body : 'body'),
+ W = j.select(`[id="${s}"]`),
+ ee = j.select('#' + s + ' g');
+ if (
+ (await qme(
+ ee,
+ T,
+ ['aggregation', 'extension', 'composition', 'dependency', 'lollipop'],
+ 'classDiagram',
+ s,
+ ),
+ So.insertTitle(
+ W,
+ 'classTitleText',
+ (p == null ? void 0 : p.titleTopMargin) ?? 5,
+ d.db.getDiagramTitle(),
+ ),
+ w9(T, W, p == null ? void 0 : p.diagramPadding, p == null ? void 0 : p.useMaxWidth),
+ !(p != null && p.htmlLabels))
+ ) {
+ const ie = v === 'sandbox' ? F.nodes()[0].contentDocument : document,
+ oe = ie.querySelectorAll('[id="' + s + '"] .edgeLabel .label');
+ for (const be of oe) {
+ const ge = be.getBBox(),
+ ae = ie.createElementNS('http://www.w3.org/2000/svg', 'rect');
+ (ae.setAttribute('rx', 0),
+ ae.setAttribute('ry', 0),
+ ae.setAttribute('width', ge.width),
+ ae.setAttribute('height', ge.height),
+ be.insertBefore(ae, be.firstChild));
+ }
+ }
+ };
+ function uKe(i) {
+ let s;
+ switch (i) {
+ case 0:
+ s = 'aggregation';
+ break;
+ case 1:
+ s = 'extension';
+ break;
+ case 2:
+ s = 'composition';
+ break;
+ case 3:
+ s = 'dependency';
+ break;
+ case 4:
+ s = 'lollipop';
+ break;
+ default:
+ s = 'none';
+ }
+ return s;
+ }
+ const isn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: XGe,
+ db: yJ,
+ renderer: { setConf: nsn, draw: rsn },
+ styles: iKe,
+ init: (i) => {
+ (i.class || (i.class = {}),
+ (i.class.arrowMarkerAbsolute = i.arrowMarkerAbsolute),
+ yJ.clear());
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var Nve = (function () {
+ var i = function (Ie, Se, Ce, ke) {
+ for (Ce = Ce || {}, ke = Ie.length; ke--; Ce[Ie[ke]] = Se);
+ return Ce;
+ },
+ s = [1, 2],
+ u = [1, 3],
+ d = [1, 4],
+ p = [2, 4],
+ v = [1, 9],
+ b = [1, 11],
+ y = [1, 15],
+ T = [1, 16],
+ _ = [1, 17],
+ A = [1, 18],
+ P = [1, 30],
+ R = [1, 19],
+ F = [1, 20],
+ j = [1, 21],
+ W = [1, 22],
+ ee = [1, 23],
+ ie = [1, 25],
+ oe = [1, 26],
+ be = [1, 27],
+ ge = [1, 28],
+ ae = [1, 29],
+ ne = [1, 32],
+ se = [1, 33],
+ de = [1, 34],
+ X = [1, 35],
+ pe = [1, 31],
+ G = [
+ 1, 4, 5, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47, 50,
+ ],
+ xe = [
+ 1, 4, 5, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46,
+ 47, 50,
+ ],
+ U = [
+ 4, 5, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47, 50,
+ ],
+ Be = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ SPACE: 4,
+ NL: 5,
+ SD: 6,
+ document: 7,
+ line: 8,
+ statement: 9,
+ classDefStatement: 10,
+ cssClassStatement: 11,
+ idStatement: 12,
+ DESCR: 13,
+ '-->': 14,
+ HIDE_EMPTY: 15,
+ scale: 16,
+ WIDTH: 17,
+ COMPOSIT_STATE: 18,
+ STRUCT_START: 19,
+ STRUCT_STOP: 20,
+ STATE_DESCR: 21,
+ AS: 22,
+ ID: 23,
+ FORK: 24,
+ JOIN: 25,
+ CHOICE: 26,
+ CONCURRENT: 27,
+ note: 28,
+ notePosition: 29,
+ NOTE_TEXT: 30,
+ direction: 31,
+ acc_title: 32,
+ acc_title_value: 33,
+ acc_descr: 34,
+ acc_descr_value: 35,
+ acc_descr_multiline_value: 36,
+ classDef: 37,
+ CLASSDEF_ID: 38,
+ CLASSDEF_STYLEOPTS: 39,
+ DEFAULT: 40,
+ class: 41,
+ CLASSENTITY_IDS: 42,
+ STYLECLASS: 43,
+ direction_tb: 44,
+ direction_bt: 45,
+ direction_rl: 46,
+ direction_lr: 47,
+ eol: 48,
+ ';': 49,
+ EDGE_STATE: 50,
+ STYLE_SEPARATOR: 51,
+ left_of: 52,
+ right_of: 53,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'SPACE',
+ 5: 'NL',
+ 6: 'SD',
+ 13: 'DESCR',
+ 14: '-->',
+ 15: 'HIDE_EMPTY',
+ 16: 'scale',
+ 17: 'WIDTH',
+ 18: 'COMPOSIT_STATE',
+ 19: 'STRUCT_START',
+ 20: 'STRUCT_STOP',
+ 21: 'STATE_DESCR',
+ 22: 'AS',
+ 23: 'ID',
+ 24: 'FORK',
+ 25: 'JOIN',
+ 26: 'CHOICE',
+ 27: 'CONCURRENT',
+ 28: 'note',
+ 30: 'NOTE_TEXT',
+ 32: 'acc_title',
+ 33: 'acc_title_value',
+ 34: 'acc_descr',
+ 35: 'acc_descr_value',
+ 36: 'acc_descr_multiline_value',
+ 37: 'classDef',
+ 38: 'CLASSDEF_ID',
+ 39: 'CLASSDEF_STYLEOPTS',
+ 40: 'DEFAULT',
+ 41: 'class',
+ 42: 'CLASSENTITY_IDS',
+ 43: 'STYLECLASS',
+ 44: 'direction_tb',
+ 45: 'direction_bt',
+ 46: 'direction_rl',
+ 47: 'direction_lr',
+ 49: ';',
+ 50: 'EDGE_STATE',
+ 51: 'STYLE_SEPARATOR',
+ 52: 'left_of',
+ 53: 'right_of',
+ },
+ productions_: [
+ 0,
+ [3, 2],
+ [3, 2],
+ [3, 2],
+ [7, 0],
+ [7, 2],
+ [8, 2],
+ [8, 1],
+ [8, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ [9, 3],
+ [9, 4],
+ [9, 1],
+ [9, 2],
+ [9, 1],
+ [9, 4],
+ [9, 3],
+ [9, 6],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 1],
+ [9, 4],
+ [9, 4],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [10, 3],
+ [10, 3],
+ [11, 3],
+ [31, 1],
+ [31, 1],
+ [31, 1],
+ [31, 1],
+ [48, 1],
+ [48, 1],
+ [12, 1],
+ [12, 1],
+ [12, 3],
+ [12, 3],
+ [29, 1],
+ [29, 1],
+ ],
+ performAction: function (Se, Ce, ke, Ke, Ft, Pe, gn) {
+ var kt = Pe.length - 1;
+ switch (Ft) {
+ case 3:
+ return (Ke.setRootDoc(Pe[kt]), Pe[kt]);
+ case 4:
+ this.$ = [];
+ break;
+ case 5:
+ Pe[kt] != 'nl' && (Pe[kt - 1].push(Pe[kt]), (this.$ = Pe[kt - 1]));
+ break;
+ case 6:
+ case 7:
+ this.$ = Pe[kt];
+ break;
+ case 8:
+ this.$ = 'nl';
+ break;
+ case 11:
+ this.$ = Pe[kt];
+ break;
+ case 12:
+ const xt = Pe[kt - 1];
+ ((xt.description = Ke.trimColon(Pe[kt])), (this.$ = xt));
+ break;
+ case 13:
+ this.$ = { stmt: 'relation', state1: Pe[kt - 2], state2: Pe[kt] };
+ break;
+ case 14:
+ const Pt = Ke.trimColon(Pe[kt]);
+ this.$ = {
+ stmt: 'relation',
+ state1: Pe[kt - 3],
+ state2: Pe[kt - 1],
+ description: Pt,
+ };
+ break;
+ case 18:
+ this.$ = {
+ stmt: 'state',
+ id: Pe[kt - 3],
+ type: 'default',
+ description: '',
+ doc: Pe[kt - 1],
+ };
+ break;
+ case 19:
+ var Et = Pe[kt],
+ Gt = Pe[kt - 2].trim();
+ if (Pe[kt].match(':')) {
+ var ln = Pe[kt].split(':');
+ ((Et = ln[0]), (Gt = [Gt, ln[1]]));
+ }
+ this.$ = { stmt: 'state', id: Et, type: 'default', description: Gt };
+ break;
+ case 20:
+ this.$ = {
+ stmt: 'state',
+ id: Pe[kt - 3],
+ type: 'default',
+ description: Pe[kt - 5],
+ doc: Pe[kt - 1],
+ };
+ break;
+ case 21:
+ this.$ = { stmt: 'state', id: Pe[kt], type: 'fork' };
+ break;
+ case 22:
+ this.$ = { stmt: 'state', id: Pe[kt], type: 'join' };
+ break;
+ case 23:
+ this.$ = { stmt: 'state', id: Pe[kt], type: 'choice' };
+ break;
+ case 24:
+ this.$ = { stmt: 'state', id: Ke.getDividerId(), type: 'divider' };
+ break;
+ case 25:
+ this.$ = {
+ stmt: 'state',
+ id: Pe[kt - 1].trim(),
+ note: { position: Pe[kt - 2].trim(), text: Pe[kt].trim() },
+ };
+ break;
+ case 28:
+ ((this.$ = Pe[kt].trim()), Ke.setAccTitle(this.$));
+ break;
+ case 29:
+ case 30:
+ ((this.$ = Pe[kt].trim()), Ke.setAccDescription(this.$));
+ break;
+ case 31:
+ case 32:
+ this.$ = { stmt: 'classDef', id: Pe[kt - 1].trim(), classes: Pe[kt].trim() };
+ break;
+ case 33:
+ this.$ = { stmt: 'applyClass', id: Pe[kt - 1].trim(), styleClass: Pe[kt].trim() };
+ break;
+ case 34:
+ (Ke.setDirection('TB'), (this.$ = { stmt: 'dir', value: 'TB' }));
+ break;
+ case 35:
+ (Ke.setDirection('BT'), (this.$ = { stmt: 'dir', value: 'BT' }));
+ break;
+ case 36:
+ (Ke.setDirection('RL'), (this.$ = { stmt: 'dir', value: 'RL' }));
+ break;
+ case 37:
+ (Ke.setDirection('LR'), (this.$ = { stmt: 'dir', value: 'LR' }));
+ break;
+ case 40:
+ case 41:
+ this.$ = { stmt: 'state', id: Pe[kt].trim(), type: 'default', description: '' };
+ break;
+ case 42:
+ this.$ = {
+ stmt: 'state',
+ id: Pe[kt - 2].trim(),
+ classes: [Pe[kt].trim()],
+ type: 'default',
+ description: '',
+ };
+ break;
+ case 43:
+ this.$ = {
+ stmt: 'state',
+ id: Pe[kt - 2].trim(),
+ classes: [Pe[kt].trim()],
+ type: 'default',
+ description: '',
+ };
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: s, 5: u, 6: d },
+ { 1: [3] },
+ { 3: 5, 4: s, 5: u, 6: d },
+ { 3: 6, 4: s, 5: u, 6: d },
+ i(
+ [
+ 1, 4, 5, 15, 16, 18, 21, 23, 24, 25, 26, 27, 28, 32, 34, 36, 37, 41, 44, 45, 46, 47,
+ 50,
+ ],
+ p,
+ { 7: 7 },
+ ),
+ { 1: [2, 1] },
+ { 1: [2, 2] },
+ {
+ 1: [2, 3],
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 15: y,
+ 16: T,
+ 18: _,
+ 21: A,
+ 23: P,
+ 24: R,
+ 25: F,
+ 26: j,
+ 27: W,
+ 28: ee,
+ 31: 24,
+ 32: ie,
+ 34: oe,
+ 36: be,
+ 37: ge,
+ 41: ae,
+ 44: ne,
+ 45: se,
+ 46: de,
+ 47: X,
+ 50: pe,
+ },
+ i(G, [2, 5]),
+ {
+ 9: 36,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 15: y,
+ 16: T,
+ 18: _,
+ 21: A,
+ 23: P,
+ 24: R,
+ 25: F,
+ 26: j,
+ 27: W,
+ 28: ee,
+ 31: 24,
+ 32: ie,
+ 34: oe,
+ 36: be,
+ 37: ge,
+ 41: ae,
+ 44: ne,
+ 45: se,
+ 46: de,
+ 47: X,
+ 50: pe,
+ },
+ i(G, [2, 7]),
+ i(G, [2, 8]),
+ i(G, [2, 9]),
+ i(G, [2, 10]),
+ i(G, [2, 11], { 13: [1, 37], 14: [1, 38] }),
+ i(G, [2, 15]),
+ { 17: [1, 39] },
+ i(G, [2, 17], { 19: [1, 40] }),
+ { 22: [1, 41] },
+ i(G, [2, 21]),
+ i(G, [2, 22]),
+ i(G, [2, 23]),
+ i(G, [2, 24]),
+ { 29: 42, 30: [1, 43], 52: [1, 44], 53: [1, 45] },
+ i(G, [2, 27]),
+ { 33: [1, 46] },
+ { 35: [1, 47] },
+ i(G, [2, 30]),
+ { 38: [1, 48], 40: [1, 49] },
+ { 42: [1, 50] },
+ i(xe, [2, 40], { 51: [1, 51] }),
+ i(xe, [2, 41], { 51: [1, 52] }),
+ i(G, [2, 34]),
+ i(G, [2, 35]),
+ i(G, [2, 36]),
+ i(G, [2, 37]),
+ i(G, [2, 6]),
+ i(G, [2, 12]),
+ { 12: 53, 23: P, 50: pe },
+ i(G, [2, 16]),
+ i(U, p, { 7: 54 }),
+ { 23: [1, 55] },
+ { 23: [1, 56] },
+ { 22: [1, 57] },
+ { 23: [2, 44] },
+ { 23: [2, 45] },
+ i(G, [2, 28]),
+ i(G, [2, 29]),
+ { 39: [1, 58] },
+ { 39: [1, 59] },
+ { 43: [1, 60] },
+ { 23: [1, 61] },
+ { 23: [1, 62] },
+ i(G, [2, 13], { 13: [1, 63] }),
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 15: y,
+ 16: T,
+ 18: _,
+ 20: [1, 64],
+ 21: A,
+ 23: P,
+ 24: R,
+ 25: F,
+ 26: j,
+ 27: W,
+ 28: ee,
+ 31: 24,
+ 32: ie,
+ 34: oe,
+ 36: be,
+ 37: ge,
+ 41: ae,
+ 44: ne,
+ 45: se,
+ 46: de,
+ 47: X,
+ 50: pe,
+ },
+ i(G, [2, 19], { 19: [1, 65] }),
+ { 30: [1, 66] },
+ { 23: [1, 67] },
+ i(G, [2, 31]),
+ i(G, [2, 32]),
+ i(G, [2, 33]),
+ i(xe, [2, 42]),
+ i(xe, [2, 43]),
+ i(G, [2, 14]),
+ i(G, [2, 18]),
+ i(U, p, { 7: 68 }),
+ i(G, [2, 25]),
+ i(G, [2, 26]),
+ {
+ 4: v,
+ 5: b,
+ 8: 8,
+ 9: 10,
+ 10: 12,
+ 11: 13,
+ 12: 14,
+ 15: y,
+ 16: T,
+ 18: _,
+ 20: [1, 69],
+ 21: A,
+ 23: P,
+ 24: R,
+ 25: F,
+ 26: j,
+ 27: W,
+ 28: ee,
+ 31: 24,
+ 32: ie,
+ 34: oe,
+ 36: be,
+ 37: ge,
+ 41: ae,
+ 44: ne,
+ 45: se,
+ 46: de,
+ 47: X,
+ 50: pe,
+ },
+ i(G, [2, 20]),
+ ],
+ defaultActions: { 5: [2, 1], 6: [2, 2], 44: [2, 44], 45: [2, 45] },
+ parseError: function (Se, Ce) {
+ if (Ce.recoverable) this.trace(Se);
+ else {
+ var ke = new Error(Se);
+ throw ((ke.hash = Ce), ke);
+ }
+ },
+ parse: function (Se) {
+ var Ce = this,
+ ke = [0],
+ Ke = [],
+ Ft = [null],
+ Pe = [],
+ gn = this.table,
+ kt = '',
+ Et = 0,
+ Gt = 0,
+ ln = 2,
+ xt = 1,
+ Pt = Pe.slice.call(arguments, 1),
+ Ze = Object.create(this.lexer),
+ At = { yy: {} };
+ for (var Tt in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, Tt) && (At.yy[Tt] = this.yy[Tt]);
+ (Ze.setInput(Se, At.yy),
+ (At.yy.lexer = Ze),
+ (At.yy.parser = this),
+ typeof Ze.yylloc > 'u' && (Ze.yylloc = {}));
+ var On = Ze.yylloc;
+ Pe.push(On);
+ var ht = Ze.options && Ze.options.ranges;
+ typeof At.yy.parseError == 'function'
+ ? (this.parseError = At.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function zr() {
+ var Lt;
+ return (
+ (Lt = Ke.pop() || Ze.lex() || xt),
+ typeof Lt != 'number' &&
+ (Lt instanceof Array && ((Ke = Lt), (Lt = Ke.pop())), (Lt = Ce.symbols_[Lt] || Lt)),
+ Lt
+ );
+ }
+ for (var yt, Fi, yi, Ba, na = {}, Ro, _r, Nn, $n; ; ) {
+ if (
+ ((Fi = ke[ke.length - 1]),
+ this.defaultActions[Fi]
+ ? (yi = this.defaultActions[Fi])
+ : ((yt === null || typeof yt > 'u') && (yt = zr()), (yi = gn[Fi] && gn[Fi][yt])),
+ typeof yi > 'u' || !yi.length || !yi[0])
+ ) {
+ var qn = '';
+ $n = [];
+ for (Ro in gn[Fi])
+ this.terminals_[Ro] && Ro > ln && $n.push("'" + this.terminals_[Ro] + "'");
+ (Ze.showPosition
+ ? (qn =
+ 'Parse error on line ' +
+ (Et + 1) +
+ `:
+` +
+ Ze.showPosition() +
+ `
+Expecting ` +
+ $n.join(', ') +
+ ", got '" +
+ (this.terminals_[yt] || yt) +
+ "'")
+ : (qn =
+ 'Parse error on line ' +
+ (Et + 1) +
+ ': Unexpected ' +
+ (yt == xt ? 'end of input' : "'" + (this.terminals_[yt] || yt) + "'")),
+ this.parseError(qn, {
+ text: Ze.match,
+ token: this.terminals_[yt] || yt,
+ line: Ze.yylineno,
+ loc: On,
+ expected: $n,
+ }));
+ }
+ if (yi[0] instanceof Array && yi.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + Fi + ', token: ' + yt,
+ );
+ switch (yi[0]) {
+ case 1:
+ (ke.push(yt),
+ Ft.push(Ze.yytext),
+ Pe.push(Ze.yylloc),
+ ke.push(yi[1]),
+ (yt = null),
+ (Gt = Ze.yyleng),
+ (kt = Ze.yytext),
+ (Et = Ze.yylineno),
+ (On = Ze.yylloc));
+ break;
+ case 2:
+ if (
+ ((_r = this.productions_[yi[1]][1]),
+ (na.$ = Ft[Ft.length - _r]),
+ (na._$ = {
+ first_line: Pe[Pe.length - (_r || 1)].first_line,
+ last_line: Pe[Pe.length - 1].last_line,
+ first_column: Pe[Pe.length - (_r || 1)].first_column,
+ last_column: Pe[Pe.length - 1].last_column,
+ }),
+ ht &&
+ (na._$.range = [
+ Pe[Pe.length - (_r || 1)].range[0],
+ Pe[Pe.length - 1].range[1],
+ ]),
+ (Ba = this.performAction.apply(
+ na,
+ [kt, Gt, Et, At.yy, yi[1], Ft, Pe].concat(Pt),
+ )),
+ typeof Ba < 'u')
+ )
+ return Ba;
+ (_r &&
+ ((ke = ke.slice(0, -1 * _r * 2)),
+ (Ft = Ft.slice(0, -1 * _r)),
+ (Pe = Pe.slice(0, -1 * _r))),
+ ke.push(this.productions_[yi[1]][0]),
+ Ft.push(na.$),
+ Pe.push(na._$),
+ (Nn = gn[ke[ke.length - 2]][ke[ke.length - 1]]),
+ ke.push(Nn));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ Ne = (function () {
+ var Ie = {
+ EOF: 1,
+ parseError: function (Ce, ke) {
+ if (this.yy.parser) this.yy.parser.parseError(Ce, ke);
+ else throw new Error(Ce);
+ },
+ setInput: function (Se, Ce) {
+ return (
+ (this.yy = Ce || this.yy || {}),
+ (this._input = Se),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var Se = this._input[0];
+ ((this.yytext += Se),
+ this.yyleng++,
+ this.offset++,
+ (this.match += Se),
+ (this.matched += Se));
+ var Ce = Se.match(/(?:\r\n?|\n).*/g);
+ return (
+ Ce ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ Se
+ );
+ },
+ unput: function (Se) {
+ var Ce = Se.length,
+ ke = Se.split(/(?:\r\n?|\n)/g);
+ ((this._input = Se + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - Ce)),
+ (this.offset -= Ce));
+ var Ke = this.match.split(/(?:\r\n?|\n)/g);
+ ((this.match = this.match.substr(0, this.match.length - 1)),
+ (this.matched = this.matched.substr(0, this.matched.length - 1)),
+ ke.length - 1 && (this.yylineno -= ke.length - 1));
+ var Ft = 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: ke
+ ? (ke.length === Ke.length ? this.yylloc.first_column : 0) +
+ Ke[Ke.length - ke.length].length -
+ ke[0].length
+ : this.yylloc.first_column - Ce,
+ }),
+ this.options.ranges && (this.yylloc.range = [Ft[0], Ft[0] + this.yyleng - Ce]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (Se) {
+ this.unput(this.match.slice(Se));
+ },
+ pastInput: function () {
+ var Se = this.matched.substr(0, this.matched.length - this.match.length);
+ return (Se.length > 20 ? '...' : '') + Se.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var Se = this.match;
+ return (
+ Se.length < 20 && (Se += this._input.substr(0, 20 - Se.length)),
+ (Se.substr(0, 20) + (Se.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var Se = this.pastInput(),
+ Ce = new Array(Se.length + 1).join('-');
+ return (
+ Se +
+ this.upcomingInput() +
+ `
+` +
+ Ce +
+ '^'
+ );
+ },
+ test_match: function (Se, Ce) {
+ var ke, Ke, Ft;
+ if (
+ (this.options.backtrack_lexer &&
+ ((Ft = {
+ 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 && (Ft.yylloc.range = this.yylloc.range.slice(0))),
+ (Ke = Se[0].match(/(?:\r\n?|\n).*/g)),
+ Ke && (this.yylineno += Ke.length),
+ (this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: Ke
+ ? Ke[Ke.length - 1].length - Ke[Ke.length - 1].match(/\r?\n?/)[0].length
+ : this.yylloc.last_column + Se[0].length,
+ }),
+ (this.yytext += Se[0]),
+ (this.match += Se[0]),
+ (this.matches = Se),
+ (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(Se[0].length)),
+ (this.matched += Se[0]),
+ (ke = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ Ce,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ ke)
+ )
+ return ke;
+ if (this._backtrack) {
+ for (var Pe in Ft) this[Pe] = Ft[Pe];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var Se, Ce, ke, Ke;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var Ft = this._currentRules(), Pe = 0; Pe < Ft.length; Pe++)
+ if (
+ ((ke = this._input.match(this.rules[Ft[Pe]])),
+ ke && (!Ce || ke[0].length > Ce[0].length))
+ ) {
+ if (((Ce = ke), (Ke = Pe), this.options.backtrack_lexer)) {
+ if (((Se = this.test_match(ke, Ft[Pe])), Se !== !1)) return Se;
+ if (this._backtrack) {
+ Ce = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return Ce
+ ? ((Se = this.test_match(Ce, Ft[Ke])), Se !== !1 ? Se : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var Ce = this.next();
+ return Ce || this.lex();
+ },
+ begin: function (Ce) {
+ this.conditionStack.push(Ce);
+ },
+ popState: function () {
+ var Ce = this.conditionStack.length - 1;
+ return Ce > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (Ce) {
+ return (
+ (Ce = this.conditionStack.length - 1 - Math.abs(Ce || 0)),
+ Ce >= 0 ? this.conditionStack[Ce] : 'INITIAL'
+ );
+ },
+ pushState: function (Ce) {
+ this.begin(Ce);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (Ce, ke, Ke, Ft) {
+ switch (Ke) {
+ case 0:
+ return 40;
+ case 1:
+ return 44;
+ case 2:
+ return 45;
+ case 3:
+ return 46;
+ case 4:
+ return 47;
+ case 5:
+ break;
+ case 6:
+ break;
+ case 7:
+ return 5;
+ case 8:
+ break;
+ case 9:
+ break;
+ case 10:
+ break;
+ case 11:
+ break;
+ case 12:
+ return (this.pushState('SCALE'), 16);
+ case 13:
+ return 17;
+ case 14:
+ this.popState();
+ break;
+ case 15:
+ return (this.begin('acc_title'), 32);
+ case 16:
+ return (this.popState(), 'acc_title_value');
+ case 17:
+ return (this.begin('acc_descr'), 34);
+ case 18:
+ return (this.popState(), 'acc_descr_value');
+ case 19:
+ this.begin('acc_descr_multiline');
+ break;
+ case 20:
+ this.popState();
+ break;
+ case 21:
+ return 'acc_descr_multiline_value';
+ case 22:
+ return (this.pushState('CLASSDEF'), 37);
+ case 23:
+ return (this.popState(), this.pushState('CLASSDEFID'), 'DEFAULT_CLASSDEF_ID');
+ case 24:
+ return (this.popState(), this.pushState('CLASSDEFID'), 38);
+ case 25:
+ return (this.popState(), 39);
+ case 26:
+ return (this.pushState('CLASS'), 41);
+ case 27:
+ return (this.popState(), this.pushState('CLASS_STYLE'), 42);
+ case 28:
+ return (this.popState(), 43);
+ case 29:
+ return (this.pushState('SCALE'), 16);
+ case 30:
+ return 17;
+ case 31:
+ this.popState();
+ break;
+ case 32:
+ this.pushState('STATE');
+ break;
+ case 33:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -8).trim()), 24);
+ case 34:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -8).trim()), 25);
+ case 35:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -10).trim()), 26);
+ case 36:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -8).trim()), 24);
+ case 37:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -8).trim()), 25);
+ case 38:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -10).trim()), 26);
+ case 39:
+ return 44;
+ case 40:
+ return 45;
+ case 41:
+ return 46;
+ case 42:
+ return 47;
+ case 43:
+ this.pushState('STATE_STRING');
+ break;
+ case 44:
+ return (this.pushState('STATE_ID'), 'AS');
+ case 45:
+ return (this.popState(), 'ID');
+ case 46:
+ this.popState();
+ break;
+ case 47:
+ return 'STATE_DESCR';
+ case 48:
+ return 18;
+ case 49:
+ this.popState();
+ break;
+ case 50:
+ return (this.popState(), this.pushState('struct'), 19);
+ case 51:
+ break;
+ case 52:
+ return (this.popState(), 20);
+ case 53:
+ break;
+ case 54:
+ return (this.begin('NOTE'), 28);
+ case 55:
+ return (this.popState(), this.pushState('NOTE_ID'), 52);
+ case 56:
+ return (this.popState(), this.pushState('NOTE_ID'), 53);
+ case 57:
+ (this.popState(), this.pushState('FLOATING_NOTE'));
+ break;
+ case 58:
+ return (this.popState(), this.pushState('FLOATING_NOTE_ID'), 'AS');
+ case 59:
+ break;
+ case 60:
+ return 'NOTE_TEXT';
+ case 61:
+ return (this.popState(), 'ID');
+ case 62:
+ return (this.popState(), this.pushState('NOTE_TEXT'), 23);
+ case 63:
+ return (this.popState(), (ke.yytext = ke.yytext.substr(2).trim()), 30);
+ case 64:
+ return (this.popState(), (ke.yytext = ke.yytext.slice(0, -8).trim()), 30);
+ case 65:
+ return 6;
+ case 66:
+ return 6;
+ case 67:
+ return 15;
+ case 68:
+ return 50;
+ case 69:
+ return 23;
+ case 70:
+ return ((ke.yytext = ke.yytext.trim()), 13);
+ case 71:
+ return 14;
+ case 72:
+ return 27;
+ case 73:
+ return 51;
+ case 74:
+ return 5;
+ case 75:
+ return 'INVALID';
+ }
+ },
+ rules: [
+ /^(?:default\b)/i,
+ /^(?:.*direction\s+TB[^\n]*)/i,
+ /^(?:.*direction\s+BT[^\n]*)/i,
+ /^(?:.*direction\s+RL[^\n]*)/i,
+ /^(?:.*direction\s+LR[^\n]*)/i,
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:[\s]+)/i,
+ /^(?:((?!\n)\s)+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:%[^\n]*)/i,
+ /^(?:scale\s+)/i,
+ /^(?:\d+)/i,
+ /^(?:\s+width\b)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:classDef\s+)/i,
+ /^(?:DEFAULT\s+)/i,
+ /^(?:\w+\s+)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:class\s+)/i,
+ /^(?:(\w+)+((,\s*\w+)*))/i,
+ /^(?:[^\n]*)/i,
+ /^(?:scale\s+)/i,
+ /^(?:\d+)/i,
+ /^(?:\s+width\b)/i,
+ /^(?:state\s+)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*<>)/i,
+ /^(?:.*\[\[fork\]\])/i,
+ /^(?:.*\[\[join\]\])/i,
+ /^(?:.*\[\[choice\]\])/i,
+ /^(?:.*direction\s+TB[^\n]*)/i,
+ /^(?:.*direction\s+BT[^\n]*)/i,
+ /^(?:.*direction\s+RL[^\n]*)/i,
+ /^(?:.*direction\s+LR[^\n]*)/i,
+ /^(?:["])/i,
+ /^(?:\s*as\s+)/i,
+ /^(?:[^\n\{]*)/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[^\n\s\{]+)/i,
+ /^(?:\n)/i,
+ /^(?:\{)/i,
+ /^(?:%%(?!\{)[^\n]*)/i,
+ /^(?:\})/i,
+ /^(?:[\n])/i,
+ /^(?:note\s+)/i,
+ /^(?:left of\b)/i,
+ /^(?:right of\b)/i,
+ /^(?:")/i,
+ /^(?:\s*as\s*)/i,
+ /^(?:["])/i,
+ /^(?:[^"]*)/i,
+ /^(?:[^\n]*)/i,
+ /^(?:\s*[^:\n\s\-]+)/i,
+ /^(?:\s*:[^:\n;]+)/i,
+ /^(?:[\s\S]*?end note\b)/i,
+ /^(?:stateDiagram\s+)/i,
+ /^(?:stateDiagram-v2\s+)/i,
+ /^(?:hide empty description\b)/i,
+ /^(?:\[\*\])/i,
+ /^(?:[^:\n\s\-\{]+)/i,
+ /^(?:\s*:[^:\n;]+)/i,
+ /^(?:-->)/i,
+ /^(?:--)/i,
+ /^(?::::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i,
+ ],
+ conditions: {
+ LINE: { rules: [9, 10], inclusive: !1 },
+ struct: {
+ rules: [9, 10, 22, 26, 32, 39, 40, 41, 42, 51, 52, 53, 54, 68, 69, 70, 71, 72],
+ inclusive: !1,
+ },
+ FLOATING_NOTE_ID: { rules: [61], inclusive: !1 },
+ FLOATING_NOTE: { rules: [58, 59, 60], inclusive: !1 },
+ NOTE_TEXT: { rules: [63, 64], inclusive: !1 },
+ NOTE_ID: { rules: [62], inclusive: !1 },
+ NOTE: { rules: [55, 56, 57], inclusive: !1 },
+ CLASS_STYLE: { rules: [28], inclusive: !1 },
+ CLASS: { rules: [27], inclusive: !1 },
+ CLASSDEFID: { rules: [25], inclusive: !1 },
+ CLASSDEF: { rules: [23, 24], inclusive: !1 },
+ acc_descr_multiline: { rules: [20, 21], inclusive: !1 },
+ acc_descr: { rules: [18], inclusive: !1 },
+ acc_title: { rules: [16], inclusive: !1 },
+ SCALE: { rules: [13, 14, 30, 31], inclusive: !1 },
+ ALIAS: { rules: [], inclusive: !1 },
+ STATE_ID: { rules: [45], inclusive: !1 },
+ STATE_STRING: { rules: [46, 47], inclusive: !1 },
+ FORK_STATE: { rules: [], inclusive: !1 },
+ STATE: { rules: [9, 10, 33, 34, 35, 36, 37, 38, 43, 44, 48, 49, 50], inclusive: !1 },
+ ID: { rules: [9, 10], inclusive: !1 },
+ INITIAL: {
+ rules: [
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 50, 54, 65, 66,
+ 67, 68, 69, 70, 71, 73, 74, 75,
+ ],
+ inclusive: !0,
+ },
+ },
+ };
+ return Ie;
+ })();
+ Be.lexer = Ne;
+ function je() {
+ this.yy = {};
+ }
+ return ((je.prototype = Be), (Be.Parser = je), new je());
+ })();
+ Nve.parser = Nve;
+ const lKe = Nve,
+ ssn = 'LR',
+ asn = 'TB',
+ EJ = 'state',
+ Pve = 'relation',
+ osn = 'classDef',
+ csn = 'applyClass',
+ XR = 'default',
+ hKe = 'divider',
+ Bve = '[*]',
+ fKe = 'start',
+ dKe = Bve,
+ gKe = 'end',
+ pKe = 'color',
+ bKe = 'fill',
+ usn = 'bgFill',
+ lsn = ',';
+ function mKe() {
+ return {};
+ }
+ let vKe = ssn,
+ TJ = [],
+ QR = mKe();
+ const wKe = () => ({ relations: [], states: {}, documents: {} });
+ let CJ = { root: wKe() },
+ Rg = CJ.root,
+ JR = 0,
+ yKe = 0;
+ const hsn = { LINE: 0, DOTTED_LINE: 1 },
+ fsn = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 },
+ SJ = (i) => JSON.parse(JSON.stringify(i)),
+ dsn = (i) => {
+ (Xe.info('Setting root doc', i), (TJ = i));
+ },
+ gsn = () => TJ,
+ _J = (i, s, u) => {
+ if (s.stmt === Pve) (_J(i, s.state1, !0), _J(i, s.state2, !1));
+ else if (
+ (s.stmt === EJ &&
+ (s.id === '[*]'
+ ? ((s.id = u ? i.id + '_start' : i.id + '_end'), (s.start = u))
+ : (s.id = s.id.trim())),
+ s.doc)
+ ) {
+ const d = [];
+ let p = [],
+ v;
+ for (v = 0; v < s.doc.length; v++)
+ if (s.doc[v].type === hKe) {
+ const b = SJ(s.doc[v]);
+ ((b.doc = SJ(p)), d.push(b), (p = []));
+ } else p.push(s.doc[v]);
+ if (d.length > 0 && p.length > 0) {
+ const b = { stmt: EJ, id: vje(), type: 'divider', doc: SJ(p) };
+ (d.push(SJ(b)), (s.doc = d));
+ }
+ s.doc.forEach((b) => _J(s, b, !0));
+ }
+ },
+ psn = () => (_J({ id: 'root' }, { id: 'root', doc: TJ }, !0), { id: 'root', doc: TJ }),
+ bsn = (i) => {
+ let s;
+ (i.doc ? (s = i.doc) : (s = i),
+ Xe.info(s),
+ xKe(!0),
+ Xe.info('Extract', s),
+ s.forEach((u) => {
+ switch (u.stmt) {
+ case EJ:
+ nS(
+ u.id.trim(),
+ u.type,
+ u.doc,
+ u.description,
+ u.note,
+ u.classes,
+ u.styles,
+ u.textStyles,
+ );
+ break;
+ case Pve:
+ kKe(u.state1, u.state2, u.description);
+ break;
+ case osn:
+ EKe(u.id.trim(), u.classes);
+ break;
+ case csn:
+ $ve(u.id.trim(), u.styleClass);
+ break;
+ }
+ }));
+ },
+ nS = function (i, s = XR, u = null, d = null, p = null, v = null, b = null, y = null) {
+ const T = i == null ? void 0 : i.trim();
+ (Rg.states[T] === void 0
+ ? (Xe.info('Adding state ', T, d),
+ (Rg.states[T] = {
+ id: T,
+ descriptions: [],
+ type: s,
+ doc: u,
+ note: p,
+ classes: [],
+ styles: [],
+ textStyles: [],
+ }))
+ : (Rg.states[T].doc || (Rg.states[T].doc = u),
+ Rg.states[T].type || (Rg.states[T].type = s)),
+ d &&
+ (Xe.info('Setting state description', T, d),
+ typeof d == 'string' && jve(T, d.trim()),
+ typeof d == 'object' && d.forEach((_) => jve(T, _.trim()))),
+ p &&
+ ((Rg.states[T].note = p),
+ (Rg.states[T].note.text = ci.sanitizeText(Rg.states[T].note.text, qt()))),
+ v &&
+ (Xe.info('Setting state classes', T, v),
+ (typeof v == 'string' ? [v] : v).forEach((A) => $ve(T, A.trim()))),
+ b &&
+ (Xe.info('Setting state styles', T, b),
+ (typeof b == 'string' ? [b] : b).forEach((A) => Ssn(T, A.trim()))),
+ y &&
+ (Xe.info('Setting state styles', T, b),
+ (typeof y == 'string' ? [y] : y).forEach((A) => _sn(T, A.trim()))));
+ },
+ xKe = function (i) {
+ ((CJ = { root: wKe() }), (Rg = CJ.root), (JR = 0), (QR = mKe()), i || Ng());
+ },
+ ZR = function (i) {
+ return Rg.states[i];
+ },
+ msn = function () {
+ return Rg.states;
+ },
+ vsn = function () {
+ Xe.info('Documents = ', CJ);
+ },
+ wsn = function () {
+ return Rg.relations;
+ };
+ function Fve(i = '') {
+ let s = i;
+ return (i === Bve && (JR++, (s = `${fKe}${JR}`)), s);
+ }
+ function Rve(i = '', s = XR) {
+ return i === Bve ? fKe : s;
+ }
+ function ysn(i = '') {
+ let s = i;
+ return (i === dKe && (JR++, (s = `${gKe}${JR}`)), s);
+ }
+ function xsn(i = '', s = XR) {
+ return i === dKe ? gKe : s;
+ }
+ function ksn(i, s, u) {
+ let d = Fve(i.id.trim()),
+ p = Rve(i.id.trim(), i.type),
+ v = Fve(s.id.trim()),
+ b = Rve(s.id.trim(), s.type);
+ (nS(d, p, i.doc, i.description, i.note, i.classes, i.styles, i.textStyles),
+ nS(v, b, s.doc, s.description, s.note, s.classes, s.styles, s.textStyles),
+ Rg.relations.push({ id1: d, id2: v, relationTitle: ci.sanitizeText(u, qt()) }));
+ }
+ const kKe = function (i, s, u) {
+ if (typeof i == 'object') ksn(i, s, u);
+ else {
+ const d = Fve(i.trim()),
+ p = Rve(i),
+ v = ysn(s.trim()),
+ b = xsn(s);
+ (nS(d, p),
+ nS(v, b),
+ Rg.relations.push({ id1: d, id2: v, title: ci.sanitizeText(u, qt()) }));
+ }
+ },
+ jve = function (i, s) {
+ const u = Rg.states[i],
+ d = s.startsWith(':') ? s.replace(':', '').trim() : s;
+ u.descriptions.push(ci.sanitizeText(d, qt()));
+ },
+ Esn = function (i) {
+ return i.substring(0, 1) === ':' ? i.substr(2).trim() : i.trim();
+ },
+ Tsn = () => (yKe++, 'divider-id-' + yKe),
+ EKe = function (i, s = '') {
+ QR[i] === void 0 && (QR[i] = { id: i, styles: [], textStyles: [] });
+ const u = QR[i];
+ s != null &&
+ s.split(lsn).forEach((d) => {
+ const p = d.replace(/([^;]*);/, '$1').trim();
+ if (d.match(pKe)) {
+ const b = p.replace(bKe, usn).replace(pKe, bKe);
+ u.textStyles.push(b);
+ }
+ u.styles.push(p);
+ });
+ },
+ Csn = function () {
+ return QR;
+ },
+ $ve = function (i, s) {
+ i.split(',').forEach(function (u) {
+ let d = ZR(u);
+ if (d === void 0) {
+ const p = u.trim();
+ (nS(p), (d = ZR(p)));
+ }
+ d.classes.push(s);
+ });
+ },
+ Ssn = function (i, s) {
+ const u = ZR(i);
+ u !== void 0 && u.textStyles.push(s);
+ },
+ _sn = function (i, s) {
+ const u = ZR(i);
+ u !== void 0 && u.textStyles.push(s);
+ },
+ U7 = {
+ getConfig: () => qt().state,
+ addState: nS,
+ clear: xKe,
+ getState: ZR,
+ getStates: msn,
+ getRelations: wsn,
+ getClasses: Csn,
+ getDirection: () => vKe,
+ addRelation: kKe,
+ getDividerId: Tsn,
+ setDirection: (i) => {
+ vKe = i;
+ },
+ cleanupLabel: Esn,
+ lineType: hsn,
+ relationType: fsn,
+ logDocuments: vsn,
+ getRootDoc: gsn,
+ setRootDoc: dsn,
+ getRootDocV2: psn,
+ extract: bsn,
+ trimColon: (i) => (i && i[0] === ':' ? i.substr(1).trim() : i.trim()),
+ getAccTitle: Sp,
+ setAccTitle: Pg,
+ getAccDescription: Ap,
+ setAccDescription: _p,
+ addStyleClass: EKe,
+ setCssClass: $ve,
+ addDescription: jve,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ },
+ TKe = (i) => `
defs #statediagram-barbEnd {
fill: ${i.transitionColor};
stroke: ${i.transitionColor};
@@ -1327,10 +64703,10 @@ g.stateGroup line {
opacity: 0.5;
}
.edgeLabel .label text {
- fill: ${i.transitionLabelColor||i.tertiaryTextColor};
+ fill: ${i.transitionLabelColor || i.tertiaryTextColor};
}
.label div .edgeLabel {
- color: ${i.transitionLabelColor||i.tertiaryTextColor};
+ color: ${i.transitionLabelColor || i.tertiaryTextColor};
}
.stateLabel text {
@@ -1355,19 +64731,19 @@ g.stateGroup line {
stroke-width: 1.5
}
.end-state-inner {
- fill: ${i.compositeBackground||i.background};
+ fill: ${i.compositeBackground || i.background};
// stroke: ${i.background};
stroke-width: 1.5
}
.node rect {
- fill: ${i.stateBkg||i.mainBkg};
- stroke: ${i.stateBorder||i.nodeBorder};
+ fill: ${i.stateBkg || i.mainBkg};
+ stroke: ${i.stateBorder || i.nodeBorder};
stroke-width: 1px;
}
.node polygon {
fill: ${i.mainBkg};
- stroke: ${i.stateBorder||i.nodeBorder};;
+ stroke: ${i.stateBorder || i.nodeBorder};;
stroke-width: 1px;
}
#statediagram-barbEnd {
@@ -1376,7 +64752,7 @@ g.stateGroup line {
.statediagram-cluster rect {
fill: ${i.compositeTitleBackground};
- stroke: ${i.stateBorder||i.nodeBorder};
+ stroke: ${i.stateBorder || i.nodeBorder};
stroke-width: 1px;
}
@@ -1389,7 +64765,7 @@ g.stateGroup line {
ry: 5px;
}
.statediagram-state .divider {
- stroke: ${i.stateBorder||i.nodeBorder};
+ stroke: ${i.stateBorder || i.nodeBorder};
}
.statediagram-state .title-state {
@@ -1397,10 +64773,10 @@ g.stateGroup line {
ry: 5px;
}
.statediagram-cluster.statediagram-cluster .inner {
- fill: ${i.compositeBackground||i.background};
+ fill: ${i.compositeBackground || i.background};
}
.statediagram-cluster.statediagram-cluster-alt .inner {
- fill: ${i.altBackground?i.altBackground:"#efefef"};
+ fill: ${i.altBackground ? i.altBackground : '#efefef'};
}
.statediagram-cluster .inner {
@@ -1414,7 +64790,7 @@ g.stateGroup line {
}
.statediagram-state rect.divider {
stroke-dasharray: 10,10;
- fill: ${i.altBackground?i.altBackground:"#efefef"};
+ fill: ${i.altBackground ? i.altBackground : '#efefef'};
}
.note-edge {
@@ -1458,12 +64834,1412 @@ g.stateGroup line {
font-size: 18px;
fill: ${i.textColor};
}
-`,zve={},Asn=(i,s)=>{zve[i]=s},Lsn=i=>zve[i],CKe=()=>Object.keys(zve),Msn={get:Lsn,set:Asn,keys:CKe,size:()=>CKe().length},Dsn=i=>i.append("circle").attr("class","start-state").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit).attr("cy",qt().state.padding+qt().state.sizeUnit),Isn=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",qt().state.textHeight).attr("class","divider").attr("x2",qt().state.textHeight*2).attr("y1",0).attr("y2",0),Osn=(i,s)=>{const u=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+2*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),d=u.node().getBBox();return i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",d.width+2*qt().state.padding).attr("height",d.height+2*qt().state.padding).attr("rx",qt().state.radius),u},Nsn=(i,s)=>{const u=function(R,F,j){const W=R.append("tspan").attr("x",2*qt().state.padding).text(F);j||W.attr("dy",qt().state.textHeight)},p=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+1.3*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.descriptions[0]).node().getBBox(),v=p.height,b=i.append("text").attr("x",qt().state.padding).attr("y",v+qt().state.padding*.4+qt().state.dividerMargin+qt().state.textHeight).attr("class","state-description");let y=!0,T=!0;s.descriptions.forEach(function(R){y||(u(b,R,T),T=!1),y=!1});const _=i.append("line").attr("x1",qt().state.padding).attr("y1",qt().state.padding+v+qt().state.dividerMargin/2).attr("y2",qt().state.padding+v+qt().state.dividerMargin/2).attr("class","descr-divider"),A=b.node().getBBox(),P=Math.max(A.width,p.width);return _.attr("x2",P+3*qt().state.padding),i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",P+2*qt().state.padding).attr("height",A.height+v+2*qt().state.padding).attr("rx",qt().state.radius),i},Psn=(i,s,u)=>{const d=qt().state.padding,p=2*qt().state.padding,v=i.node().getBBox(),b=v.width,y=v.x,T=i.append("text").attr("x",0).attr("y",qt().state.titleShift).attr("font-size",qt().state.fontSize).attr("class","state-title").text(s.id),A=T.node().getBBox().width+p;let P=Math.max(A,b);P===b&&(P=P+p);let R;const F=i.node().getBBox();s.doc,R=y-d,A>b&&(R=(b-P)/2+d),Math.abs(y-F.x)b&&(R=y-(A-b)/2);const j=1-qt().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",j).attr("class",u?"alt-composit":"composit").attr("width",P).attr("height",F.height+qt().state.textHeight+qt().state.titleShift+1).attr("rx","0"),T.attr("x",R+d),A<=b&&T.attr("x",y+(P-p)/2-A/2+d),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",qt().state.textHeight*3).attr("rx",qt().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",F.height+3+2*qt().state.textHeight).attr("rx",qt().state.radius),i},Bsn=i=>(i.append("circle").attr("class","end-state-outer").attr("r",qt().state.sizeUnit+qt().state.miniPadding).attr("cx",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding).attr("cy",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit+2).attr("cy",qt().state.padding+qt().state.sizeUnit+2)),Fsn=(i,s)=>{let u=qt().state.forkWidth,d=qt().state.forkHeight;if(s.parentId){let p=u;u=d,d=p}return i.append("rect").style("stroke","black").style("fill","black").attr("width",u).attr("height",d).attr("x",qt().state.padding).attr("y",qt().state.padding)},Rsn=(i,s,u,d)=>{let p=0;const v=d.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"
");b=b.replace(/\n/g,"
");const y=b.split(ci.lineBreakRegex);let T=1.25*qt().state.noteMargin;for(const _ of y){const A=_.trim();if(A.length>0){const P=v.append("tspan");if(P.text(A),T===0){const R=P.node().getBBox();T+=R.height}p+=T,P.attr("x",s+qt().state.noteMargin),P.attr("y",u+p+1.25*qt().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:p}},jsn=(i,s)=>{s.attr("class","state-note");const u=s.append("rect").attr("x",0).attr("y",qt().state.padding),d=s.append("g"),{textWidth:p,textHeight:v}=Rsn(i,0,0,d);return u.attr("height",v+2*qt().state.noteMargin),u.attr("width",p+qt().state.noteMargin*2),u},SKe=function(i,s){const u=s.id,d={id:u,label:s.id,width:0,height:0},p=i.append("g").attr("id",u).attr("class","stateGroup");s.type==="start"&&Dsn(p),s.type==="end"&&Bsn(p),(s.type==="fork"||s.type==="join")&&Fsn(p,s),s.type==="note"&&jsn(s.note.text,p),s.type==="divider"&&Isn(p),s.type==="default"&&s.descriptions.length===0&&Osn(p,s),s.type==="default"&&s.descriptions.length>0&&Nsn(p,s);const v=p.node().getBBox();return d.width=v.width+2*qt().state.padding,d.height=v.height+2*qt().state.padding,Msn.set(u,d),d};let _Ke=0;const $sn=function(i,s,u){const d=function(T){switch(T){case U7.relationType.AGGREGATION:return"aggregation";case U7.relationType.EXTENSION:return"extension";case U7.relationType.COMPOSITION:return"composition";case U7.relationType.DEPENDENCY:return"dependency"}};s.points=s.points.filter(T=>!Number.isNaN(T.y));const p=s.points,v=x7().x(function(T){return T.x}).y(function(T){return T.y}).curve(BF),b=i.append("path").attr("d",v(p)).attr("id","edge"+_Ke).attr("class","transition");let y="";if(qt().state.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),b.attr("marker-end","url("+y+"#"+d(U7.relationType.DEPENDENCY)+"End)"),u.title!==void 0){const T=i.append("g").attr("class","stateLabel"),{x:_,y:A}=So.calcLabelPosition(s.points),P=ci.getRows(u.title);let R=0;const F=[];let j=0,W=0;for(let oe=0;oe<=P.length;oe++){const be=T.append("text").attr("text-anchor","middle").text(P[oe]).attr("x",_).attr("y",A+R),ge=be.node().getBBox();j=Math.max(j,ge.width),W=Math.min(W,ge.x),Xe.info(ge.x,_,A+R),R===0&&(R=be.node().getBBox().height,Xe.info("Title height",R,A)),F.push(be)}let ee=R*P.length;if(P.length>1){const oe=(P.length-1)*R*.5;F.forEach((be,ge)=>be.attr("y",A+ge*R-oe)),ee=R*P.length}const ie=T.node().getBBox();T.insert("rect",":first-child").attr("class","box").attr("x",_-j/2-qt().state.padding/2).attr("y",A-ee/2-qt().state.padding/2-3.5).attr("width",j+qt().state.padding).attr("height",ee+qt().state.padding),Xe.info(ie)}_Ke++};let dm;const qve={},zsn=function(){},qsn=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Hsn=function(i,s,u,d){dm=qt().state;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Ir("#i"+s));const b=Ir(p==="sandbox"?v.nodes()[0].contentDocument.body:"body"),y=p==="sandbox"?v.nodes()[0].contentDocument:document;Xe.debug("Rendering diagram "+i);const T=b.select(`[id='${s}']`);qsn(T);const _=d.db.getRootDoc();AKe(_,T,void 0,!1,b,y,d);const A=dm.padding,P=T.node().getBBox(),R=P.width+A*2,F=P.height+A*2,j=R*1.75;Og(T,F,j,dm.useMaxWidth),T.attr("viewBox",`${P.x-dm.padding} ${P.y-dm.padding} `+R+" "+F)},Vsn=i=>i?i.length*dm.fontSizeFactor:1,AKe=(i,s,u,d,p,v,b)=>{const y=new N0({compound:!0,multigraph:!0});let T,_=!0;for(T=0;T{const ge=be.parentElement;let ae=0,ne=0;ge&&(ge.parentElement&&(ae=ge.parentElement.getBBox().width),ne=parseInt(ge.getAttribute("data-x-shift"),10),Number.isNaN(ne)&&(ne=0)),be.setAttribute("x1",0-ne+8),be.setAttribute("x2",ae-ne-8)})):Xe.debug("No Node "+ie+": "+JSON.stringify(y.node(ie)))});let W=j.getBBox();y.edges().forEach(function(ie){ie!==void 0&&y.edge(ie)!==void 0&&(Xe.debug("Edge "+ie.v+" -> "+ie.w+": "+JSON.stringify(y.edge(ie))),$sn(s,y.edge(ie),y.edge(ie).relation))}),W=j.getBBox();const ee={id:u||"root",label:u||"root",width:0,height:0};return ee.width=W.width+2*dm.padding,ee.height=W.height+2*dm.padding,Xe.debug("Doc rendered",ee,y),ee},Usn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lKe,db:U7,renderer:{setConf:zsn,draw:Hsn},styles:TKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,U7.clear()}}},Symbol.toStringTag,{value:"Module"})),AJ="rect",Hve="rectWithTitle",Gsn="start",Ksn="end",Wsn="divider",Ysn="roundedWithTitle",Xsn="note",Qsn="noteGroup",XD="statediagram",Jsn=`${XD}-state`,LKe="transition",Zsn="note",ean=`${LKe} note-edge`,tan=`${XD}-${Zsn}`,nan=`${XD}-cluster`,ran=`${XD}-cluster-alt`,MKe="parent",DKe="note",ian="state",Vve="----",san=`${Vve}${DKe}`,IKe=`${Vve}${MKe}`,OKe="fill:none",NKe="fill: #333",PKe="c",BKe="text",FKe="normal";let LJ={},R9=0;const aan=function(i){const s=Object.keys(i);for(const u of s)i[u]},oan=function(i,s){return s.db.extract(s.db.getRootDocV2()),s.db.getClasses()};function can(i){return i==null?"":i.classes?i.classes.join(" "):""}function Uve(i="",s=0,u="",d=Vve){const p=u!==null&&u.length>0?`${d}${u}`:"";return`${ian}-${i}${p}-${s}`}const ej=(i,s,u,d,p,v)=>{const b=u.id,y=can(d[b]);if(b!=="root"){let T=AJ;u.start===!0&&(T=Gsn),u.start===!1&&(T=Ksn),u.type!==XR&&(T=u.type),LJ[b]||(LJ[b]={id:b,shape:T,description:ci.sanitizeText(b,qt()),classes:`${y} ${Jsn}`});const _=LJ[b];u.description&&(Array.isArray(_.description)?(_.shape=Hve,_.description.push(u.description)):_.description.length>0?(_.shape=Hve,_.description===b?_.description=[u.description]:_.description=[_.description,u.description]):(_.shape=AJ,_.description=u.description),_.description=ci.sanitizeTextOrArray(_.description,qt())),_.description.length===1&&_.shape===Hve&&(_.shape=AJ),!_.type&&u.doc&&(Xe.info("Setting cluster for ",b,Gve(u)),_.type="group",_.dir=Gve(u),_.shape=u.type===hKe?Wsn:Ysn,_.classes=_.classes+" "+nan+" "+(v?ran:""));const A={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:Uve(b,R9),type:_.type,padding:15};if(A.centerLabel=!0,u.note){const P={labelStyle:"",shape:Xsn,labelText:u.note.text,classes:tan,style:"",id:b+san+"-"+R9,domId:Uve(b,R9,DKe),type:_.type,padding:15},R={labelStyle:"",shape:Qsn,labelText:u.note.text,classes:_.classes,style:"",id:b+IKe,domId:Uve(b,R9,MKe),type:"group",padding:0};R9++;const F=b+IKe;i.setNode(F,R),i.setNode(P.id,P),i.setNode(b,A),i.setParent(b,F),i.setParent(P.id,F);let j=b,W=P.id;u.note.position==="left of"&&(j=P.id,W=b),i.setEdge(j,W,{arrowhead:"none",arrowType:"",style:OKe,labelStyle:"",classes:ean,arrowheadStyle:NKe,labelpos:PKe,labelType:BKe,thickness:FKe})}else i.setNode(b,A)}s&&s.id!=="root"&&(Xe.trace("Setting node ",b," to be child of its parent ",s.id),i.setParent(b,s.id)),u.doc&&(Xe.trace("Adding nodes children "),uan(i,u,u.doc,d,p,!v))},uan=(i,s,u,d,p,v)=>{Xe.trace("items",u),u.forEach(b=>{switch(b.stmt){case EJ:ej(i,s,b,d,p,v);break;case XR:ej(i,s,b,d,p,v);break;case Pve:{ej(i,s,b.state1,d,p,v),ej(i,s,b.state2,d,p,v);const y={id:"edge"+R9,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:OKe,labelStyle:"",label:ci.sanitizeText(b.description,qt()),arrowheadStyle:NKe,labelpos:PKe,labelType:BKe,thickness:FKe,classes:LKe};i.setEdge(b.state1.id,b.state2.id,y,R9),R9++}break}})},Gve=(i,s=asn)=>{let u=s;if(i.doc)for(let d=0;d{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,U7.clear()}}},Symbol.toStringTag,{value:"Module"}));var Kve=function(){var i=function(P,R,F,j){for(F=F||{},j=P.length;j--;F[P[j]]=R);return F},s=[6,8,10,11,12,14,16,17,18],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,14],T={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(R,F,j,W,ee,ie,oe){var be=ie.length-1;switch(ee){case 1:return ie[be-1];case 2:this.$=[];break;case 3:ie[be-1].push(ie[be]),this.$=ie[be-1];break;case 4:case 5:this.$=ie[be];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(ie[be].substr(6)),this.$=ie[be].substr(6);break;case 9:this.$=ie[be].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=ie[be].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(ie[be].substr(8)),this.$=ie[be].substr(8);break;case 13:W.addTask(ie[be-1],ie[be]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(s,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,7],{1:[2,1]}),i(s,[2,3]),{9:15,11:u,12:d,14:p,16:v,17:b,18:y},i(s,[2,5]),i(s,[2,6]),i(s,[2,8]),{13:[1,16]},{15:[1,17]},i(s,[2,11]),i(s,[2,12]),{19:[1,18]},i(s,[2,4]),i(s,[2,9]),i(s,[2,10]),i(s,[2,13])],defaultActions:{},parseError:function(R,F){if(F.recoverable)this.trace(R);else{var j=new Error(R);throw j.hash=F,j}},parse:function(R){var F=this,j=[0],W=[],ee=[null],ie=[],oe=this.table,be="",ge=0,ae=0,ne=2,se=1,de=ie.slice.call(arguments,1),X=Object.create(this.lexer),pe={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(pe.yy[G]=this.yy[G]);X.setInput(R,pe.yy),pe.yy.lexer=X,pe.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var xe=X.yylloc;ie.push(xe);var U=X.options&&X.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var kt;return kt=W.pop()||X.lex()||se,typeof kt!="number"&&(kt instanceof Array&&(W=kt,kt=W.pop()),kt=F.symbols_[kt]||kt),kt}for(var Ne,je,Ie,Se,Ce={},ke,Ke,Ft,Pe;;){if(je=j[j.length-1],this.defaultActions[je]?Ie=this.defaultActions[je]:((Ne===null||typeof Ne>"u")&&(Ne=Be()),Ie=oe[je]&&oe[je][Ne]),typeof Ie>"u"||!Ie.length||!Ie[0]){var gn="";Pe=[];for(ke in oe[je])this.terminals_[ke]&&ke>ne&&Pe.push("'"+this.terminals_[ke]+"'");X.showPosition?gn="Parse error on line "+(ge+1)+`:
-`+X.showPosition()+`
-Expecting `+Pe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":gn="Parse error on line "+(ge+1)+": Unexpected "+(Ne==se?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(gn,{text:X.match,token:this.terminals_[Ne]||Ne,line:X.yylineno,loc:xe,expected:Pe})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+je+", token: "+Ne);switch(Ie[0]){case 1:j.push(Ne),ee.push(X.yytext),ie.push(X.yylloc),j.push(Ie[1]),Ne=null,ae=X.yyleng,be=X.yytext,ge=X.yylineno,xe=X.yylloc;break;case 2:if(Ke=this.productions_[Ie[1]][1],Ce.$=ee[ee.length-Ke],Ce._$={first_line:ie[ie.length-(Ke||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ke||1)].first_column,last_column:ie[ie.length-1].last_column},U&&(Ce._$.range=[ie[ie.length-(Ke||1)].range[0],ie[ie.length-1].range[1]]),Se=this.performAction.apply(Ce,[be,ae,ge,pe.yy,Ie[1],ee,ie].concat(de)),typeof Se<"u")return Se;Ke&&(j=j.slice(0,-1*Ke*2),ee=ee.slice(0,-1*Ke),ie=ie.slice(0,-1*Ke)),j.push(this.productions_[Ie[1]][0]),ee.push(Ce.$),ie.push(Ce._$),Ft=oe[j[j.length-2]][j[j.length-1]],j.push(Ft);break;case 3:return!0}}return!0}},_=function(){var P={EOF:1,parseError:function(F,j){if(this.yy.parser)this.yy.parser.parseError(F,j);else throw new Error(F)},setInput:function(R,F){return this.yy=F||this.yy||{},this._input=R,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var F=R.match(/(?:\r\n?|\n).*/g);return F?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var F=R.length,j=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;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),j.length-1&&(this.yylineno-=j.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:j?(j.length===W.length?this.yylloc.first_column:0)+W[W.length-j.length].length-j[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
-`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),F=new Array(R.length+1).join("-");return R+this.upcomingInput()+`
-`+F+"^"},test_match:function(R,F){var j,W,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))),W=R[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+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],j=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),j)return j;if(this._backtrack){for(var ie in ee)this[ie]=ee[ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,F,j,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),ie=0;ieF[0].length)){if(F=j,W=ie,this.options.backtrack_lexer){if(R=this.test_match(j,ee[ie]),R!==!1)return R;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(R=this.test_match(F,ee[W]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
-`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var F=this.next();return F||this.lex()},begin:function(F){this.conditionStack.push(F)},popState:function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},pushState:function(F){this.begin(F)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(F,j,W,ee){switch(W){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return P}();T.lexer=_;function A(){this.yy={}}return A.prototype=T,T.Parser=A,new A}();Kve.parser=Kve;const han=Kve;let QD="";const Wve=[],tj=[],nj=[],fan=function(){Wve.length=0,tj.length=0,QD="",nj.length=0,Ng()},dan=function(i){QD=i,Wve.push(i)},gan=function(){return Wve},pan=function(){let i=RKe();const s=100;let u=0;for(;!i&&u{u.people&&i.push(...u.people)}),[...new Set(i)].sort()},man=function(i,s){const u=s.substr(1).split(":");let d=0,p=[];u.length===1?(d=Number(u[0]),p=[]):(d=Number(u[0]),p=u[1].split(","));const v=p.map(y=>y.trim()),b={section:QD,type:QD,people:v,task:i,score:d};nj.push(b)},van=function(i){const s={section:QD,type:QD,description:i,task:i,classes:[]};tj.push(s)},RKe=function(){const i=function(u){return nj[u].processed};let s=!0;for(const[u,d]of nj.entries())i(u),s=s&&d.processed;return s},jKe={getConfig:()=>qt().journey,clear:fan,setDiagramTitle:om,getDiagramTitle:Lp,setAccTitle:Pg,getAccTitle:Sp,setAccDescription:_p,getAccDescription:Ap,addSection:dan,getSections:gan,getTasks:pan,addTask:man,addTaskOrg:van,getActors:function(){return ban()}},wan=i=>`.label {
+`,
+ zve = {},
+ Asn = (i, s) => {
+ zve[i] = s;
+ },
+ Lsn = (i) => zve[i],
+ CKe = () => Object.keys(zve),
+ Msn = { get: Lsn, set: Asn, keys: CKe, size: () => CKe().length },
+ Dsn = (i) =>
+ i
+ .append('circle')
+ .attr('class', 'start-state')
+ .attr('r', qt().state.sizeUnit)
+ .attr('cx', qt().state.padding + qt().state.sizeUnit)
+ .attr('cy', qt().state.padding + qt().state.sizeUnit),
+ Isn = (i) =>
+ i
+ .append('line')
+ .style('stroke', 'grey')
+ .style('stroke-dasharray', '3')
+ .attr('x1', qt().state.textHeight)
+ .attr('class', 'divider')
+ .attr('x2', qt().state.textHeight * 2)
+ .attr('y1', 0)
+ .attr('y2', 0),
+ Osn = (i, s) => {
+ const u = i
+ .append('text')
+ .attr('x', 2 * qt().state.padding)
+ .attr('y', qt().state.textHeight + 2 * qt().state.padding)
+ .attr('font-size', qt().state.fontSize)
+ .attr('class', 'state-title')
+ .text(s.id),
+ d = u.node().getBBox();
+ return (
+ i
+ .insert('rect', ':first-child')
+ .attr('x', qt().state.padding)
+ .attr('y', qt().state.padding)
+ .attr('width', d.width + 2 * qt().state.padding)
+ .attr('height', d.height + 2 * qt().state.padding)
+ .attr('rx', qt().state.radius),
+ u
+ );
+ },
+ Nsn = (i, s) => {
+ const u = function (R, F, j) {
+ const W = R.append('tspan')
+ .attr('x', 2 * qt().state.padding)
+ .text(F);
+ j || W.attr('dy', qt().state.textHeight);
+ },
+ p = i
+ .append('text')
+ .attr('x', 2 * qt().state.padding)
+ .attr('y', qt().state.textHeight + 1.3 * qt().state.padding)
+ .attr('font-size', qt().state.fontSize)
+ .attr('class', 'state-title')
+ .text(s.descriptions[0])
+ .node()
+ .getBBox(),
+ v = p.height,
+ b = i
+ .append('text')
+ .attr('x', qt().state.padding)
+ .attr(
+ 'y',
+ v + qt().state.padding * 0.4 + qt().state.dividerMargin + qt().state.textHeight,
+ )
+ .attr('class', 'state-description');
+ let y = !0,
+ T = !0;
+ s.descriptions.forEach(function (R) {
+ (y || (u(b, R, T), (T = !1)), (y = !1));
+ });
+ const _ = i
+ .append('line')
+ .attr('x1', qt().state.padding)
+ .attr('y1', qt().state.padding + v + qt().state.dividerMargin / 2)
+ .attr('y2', qt().state.padding + v + qt().state.dividerMargin / 2)
+ .attr('class', 'descr-divider'),
+ A = b.node().getBBox(),
+ P = Math.max(A.width, p.width);
+ return (
+ _.attr('x2', P + 3 * qt().state.padding),
+ i
+ .insert('rect', ':first-child')
+ .attr('x', qt().state.padding)
+ .attr('y', qt().state.padding)
+ .attr('width', P + 2 * qt().state.padding)
+ .attr('height', A.height + v + 2 * qt().state.padding)
+ .attr('rx', qt().state.radius),
+ i
+ );
+ },
+ Psn = (i, s, u) => {
+ const d = qt().state.padding,
+ p = 2 * qt().state.padding,
+ v = i.node().getBBox(),
+ b = v.width,
+ y = v.x,
+ T = i
+ .append('text')
+ .attr('x', 0)
+ .attr('y', qt().state.titleShift)
+ .attr('font-size', qt().state.fontSize)
+ .attr('class', 'state-title')
+ .text(s.id),
+ A = T.node().getBBox().width + p;
+ let P = Math.max(A, b);
+ P === b && (P = P + p);
+ let R;
+ const F = i.node().getBBox();
+ (s.doc,
+ (R = y - d),
+ A > b && (R = (b - P) / 2 + d),
+ Math.abs(y - F.x) < d && A > b && (R = y - (A - b) / 2));
+ const j = 1 - qt().state.textHeight;
+ return (
+ i
+ .insert('rect', ':first-child')
+ .attr('x', R)
+ .attr('y', j)
+ .attr('class', u ? 'alt-composit' : 'composit')
+ .attr('width', P)
+ .attr('height', F.height + qt().state.textHeight + qt().state.titleShift + 1)
+ .attr('rx', '0'),
+ T.attr('x', R + d),
+ A <= b && T.attr('x', y + (P - p) / 2 - A / 2 + d),
+ i
+ .insert('rect', ':first-child')
+ .attr('x', R)
+ .attr('y', qt().state.titleShift - qt().state.textHeight - qt().state.padding)
+ .attr('width', P)
+ .attr('height', qt().state.textHeight * 3)
+ .attr('rx', qt().state.radius),
+ i
+ .insert('rect', ':first-child')
+ .attr('x', R)
+ .attr('y', qt().state.titleShift - qt().state.textHeight - qt().state.padding)
+ .attr('width', P)
+ .attr('height', F.height + 3 + 2 * qt().state.textHeight)
+ .attr('rx', qt().state.radius),
+ i
+ );
+ },
+ Bsn = (i) => (
+ i
+ .append('circle')
+ .attr('class', 'end-state-outer')
+ .attr('r', qt().state.sizeUnit + qt().state.miniPadding)
+ .attr('cx', qt().state.padding + qt().state.sizeUnit + qt().state.miniPadding)
+ .attr('cy', qt().state.padding + qt().state.sizeUnit + qt().state.miniPadding),
+ i
+ .append('circle')
+ .attr('class', 'end-state-inner')
+ .attr('r', qt().state.sizeUnit)
+ .attr('cx', qt().state.padding + qt().state.sizeUnit + 2)
+ .attr('cy', qt().state.padding + qt().state.sizeUnit + 2)
+ ),
+ Fsn = (i, s) => {
+ let u = qt().state.forkWidth,
+ d = qt().state.forkHeight;
+ if (s.parentId) {
+ let p = u;
+ ((u = d), (d = p));
+ }
+ return i
+ .append('rect')
+ .style('stroke', 'black')
+ .style('fill', 'black')
+ .attr('width', u)
+ .attr('height', d)
+ .attr('x', qt().state.padding)
+ .attr('y', qt().state.padding);
+ },
+ Rsn = (i, s, u, d) => {
+ let p = 0;
+ const v = d.append('text');
+ (v.style('text-anchor', 'start'), v.attr('class', 'noteText'));
+ let b = i.replace(/\r\n/g, '
');
+ b = b.replace(/\n/g, '
');
+ const y = b.split(ci.lineBreakRegex);
+ let T = 1.25 * qt().state.noteMargin;
+ for (const _ of y) {
+ const A = _.trim();
+ if (A.length > 0) {
+ const P = v.append('tspan');
+ if ((P.text(A), T === 0)) {
+ const R = P.node().getBBox();
+ T += R.height;
+ }
+ ((p += T),
+ P.attr('x', s + qt().state.noteMargin),
+ P.attr('y', u + p + 1.25 * qt().state.noteMargin));
+ }
+ }
+ return { textWidth: v.node().getBBox().width, textHeight: p };
+ },
+ jsn = (i, s) => {
+ s.attr('class', 'state-note');
+ const u = s.append('rect').attr('x', 0).attr('y', qt().state.padding),
+ d = s.append('g'),
+ { textWidth: p, textHeight: v } = Rsn(i, 0, 0, d);
+ return (
+ u.attr('height', v + 2 * qt().state.noteMargin),
+ u.attr('width', p + qt().state.noteMargin * 2),
+ u
+ );
+ },
+ SKe = function (i, s) {
+ const u = s.id,
+ d = { id: u, label: s.id, width: 0, height: 0 },
+ p = i.append('g').attr('id', u).attr('class', 'stateGroup');
+ (s.type === 'start' && Dsn(p),
+ s.type === 'end' && Bsn(p),
+ (s.type === 'fork' || s.type === 'join') && Fsn(p, s),
+ s.type === 'note' && jsn(s.note.text, p),
+ s.type === 'divider' && Isn(p),
+ s.type === 'default' && s.descriptions.length === 0 && Osn(p, s),
+ s.type === 'default' && s.descriptions.length > 0 && Nsn(p, s));
+ const v = p.node().getBBox();
+ return (
+ (d.width = v.width + 2 * qt().state.padding),
+ (d.height = v.height + 2 * qt().state.padding),
+ Msn.set(u, d),
+ d
+ );
+ };
+ let _Ke = 0;
+ const $sn = function (i, s, u) {
+ const d = function (T) {
+ switch (T) {
+ case U7.relationType.AGGREGATION:
+ return 'aggregation';
+ case U7.relationType.EXTENSION:
+ return 'extension';
+ case U7.relationType.COMPOSITION:
+ return 'composition';
+ case U7.relationType.DEPENDENCY:
+ return 'dependency';
+ }
+ };
+ s.points = s.points.filter((T) => !Number.isNaN(T.y));
+ const p = s.points,
+ v = x7()
+ .x(function (T) {
+ return T.x;
+ })
+ .y(function (T) {
+ return T.y;
+ })
+ .curve(BF),
+ b = i
+ .append('path')
+ .attr('d', v(p))
+ .attr('id', 'edge' + _Ke)
+ .attr('class', 'transition');
+ let y = '';
+ if (
+ (qt().state.arrowMarkerAbsolute &&
+ ((y =
+ window.location.protocol +
+ '//' +
+ window.location.host +
+ window.location.pathname +
+ window.location.search),
+ (y = y.replace(/\(/g, '\\(')),
+ (y = y.replace(/\)/g, '\\)'))),
+ b.attr('marker-end', 'url(' + y + '#' + d(U7.relationType.DEPENDENCY) + 'End)'),
+ u.title !== void 0)
+ ) {
+ const T = i.append('g').attr('class', 'stateLabel'),
+ { x: _, y: A } = So.calcLabelPosition(s.points),
+ P = ci.getRows(u.title);
+ let R = 0;
+ const F = [];
+ let j = 0,
+ W = 0;
+ for (let oe = 0; oe <= P.length; oe++) {
+ const be = T.append('text')
+ .attr('text-anchor', 'middle')
+ .text(P[oe])
+ .attr('x', _)
+ .attr('y', A + R),
+ ge = be.node().getBBox();
+ ((j = Math.max(j, ge.width)),
+ (W = Math.min(W, ge.x)),
+ Xe.info(ge.x, _, A + R),
+ R === 0 && ((R = be.node().getBBox().height), Xe.info('Title height', R, A)),
+ F.push(be));
+ }
+ let ee = R * P.length;
+ if (P.length > 1) {
+ const oe = (P.length - 1) * R * 0.5;
+ (F.forEach((be, ge) => be.attr('y', A + ge * R - oe)), (ee = R * P.length));
+ }
+ const ie = T.node().getBBox();
+ (T.insert('rect', ':first-child')
+ .attr('class', 'box')
+ .attr('x', _ - j / 2 - qt().state.padding / 2)
+ .attr('y', A - ee / 2 - qt().state.padding / 2 - 3.5)
+ .attr('width', j + qt().state.padding)
+ .attr('height', ee + qt().state.padding),
+ Xe.info(ie));
+ }
+ _Ke++;
+ };
+ let dm;
+ const qve = {},
+ zsn = function () {},
+ qsn = function (i) {
+ i.append('defs')
+ .append('marker')
+ .attr('id', 'dependencyEnd')
+ .attr('refX', 19)
+ .attr('refY', 7)
+ .attr('markerWidth', 20)
+ .attr('markerHeight', 28)
+ .attr('orient', 'auto')
+ .append('path')
+ .attr('d', 'M 19,7 L9,13 L14,7 L9,1 Z');
+ },
+ Hsn = function (i, s, u, d) {
+ dm = qt().state;
+ const p = qt().securityLevel;
+ let v;
+ p === 'sandbox' && (v = Ir('#i' + s));
+ const b = Ir(p === 'sandbox' ? v.nodes()[0].contentDocument.body : 'body'),
+ y = p === 'sandbox' ? v.nodes()[0].contentDocument : document;
+ Xe.debug('Rendering diagram ' + i);
+ const T = b.select(`[id='${s}']`);
+ qsn(T);
+ const _ = d.db.getRootDoc();
+ AKe(_, T, void 0, !1, b, y, d);
+ const A = dm.padding,
+ P = T.node().getBBox(),
+ R = P.width + A * 2,
+ F = P.height + A * 2,
+ j = R * 1.75;
+ (Og(T, F, j, dm.useMaxWidth),
+ T.attr('viewBox', `${P.x - dm.padding} ${P.y - dm.padding} ` + R + ' ' + F));
+ },
+ Vsn = (i) => (i ? i.length * dm.fontSizeFactor : 1),
+ AKe = (i, s, u, d, p, v, b) => {
+ const y = new N0({ compound: !0, multigraph: !0 });
+ let T,
+ _ = !0;
+ for (T = 0; T < i.length; T++)
+ if (i[T].stmt === 'relation') {
+ _ = !1;
+ break;
+ }
+ (u
+ ? y.setGraph({
+ rankdir: 'LR',
+ multigraph: !0,
+ compound: !0,
+ ranker: 'tight-tree',
+ ranksep: _ ? 1 : dm.edgeLengthFactor,
+ nodeSep: _ ? 1 : 50,
+ isMultiGraph: !0,
+ })
+ : y.setGraph({
+ rankdir: 'TB',
+ multigraph: !0,
+ compound: !0,
+ ranksep: _ ? 1 : dm.edgeLengthFactor,
+ nodeSep: _ ? 1 : 50,
+ ranker: 'tight-tree',
+ isMultiGraph: !0,
+ }),
+ y.setDefaultEdgeLabel(function () {
+ return {};
+ }),
+ b.db.extract(i));
+ const A = b.db.getStates(),
+ P = b.db.getRelations(),
+ R = Object.keys(A);
+ for (const ie of R) {
+ const oe = A[ie];
+ u && (oe.parentId = u);
+ let be;
+ if (oe.doc) {
+ let ge = s.append('g').attr('id', oe.id).attr('class', 'stateGroup');
+ be = AKe(oe.doc, ge, oe.id, !d, p, v, b);
+ {
+ ge = Psn(ge, oe, d);
+ let ae = ge.node().getBBox();
+ ((be.width = ae.width),
+ (be.height = ae.height + dm.padding / 2),
+ (qve[oe.id] = { y: dm.compositTitleSize }));
+ }
+ } else be = SKe(s, oe);
+ if (oe.note) {
+ const ge = { descriptions: [], id: oe.id + '-note', note: oe.note, type: 'note' },
+ ae = SKe(s, ge);
+ (oe.note.position === 'left of'
+ ? (y.setNode(be.id + '-note', ae), y.setNode(be.id, be))
+ : (y.setNode(be.id, be), y.setNode(be.id + '-note', ae)),
+ y.setParent(be.id, be.id + '-group'),
+ y.setParent(be.id + '-note', be.id + '-group'));
+ } else y.setNode(be.id, be);
+ }
+ Xe.debug('Count=', y.nodeCount(), y);
+ let F = 0;
+ (P.forEach(function (ie) {
+ (F++,
+ Xe.debug('Setting edge', ie),
+ y.setEdge(
+ ie.id1,
+ ie.id2,
+ {
+ relation: ie,
+ width: Vsn(ie.title),
+ height: dm.labelHeight * ci.getRows(ie.title).length,
+ labelpos: 'c',
+ },
+ 'id' + F,
+ ));
+ }),
+ zD(y),
+ Xe.debug('Graph after layout', y.nodes()));
+ const j = s.node();
+ y.nodes().forEach(function (ie) {
+ ie !== void 0 && y.node(ie) !== void 0
+ ? (Xe.warn('Node ' + ie + ': ' + JSON.stringify(y.node(ie))),
+ p
+ .select('#' + j.id + ' #' + ie)
+ .attr(
+ 'transform',
+ 'translate(' +
+ (y.node(ie).x - y.node(ie).width / 2) +
+ ',' +
+ (y.node(ie).y + (qve[ie] ? qve[ie].y : 0) - y.node(ie).height / 2) +
+ ' )',
+ ),
+ p
+ .select('#' + j.id + ' #' + ie)
+ .attr('data-x-shift', y.node(ie).x - y.node(ie).width / 2),
+ v.querySelectorAll('#' + j.id + ' #' + ie + ' .divider').forEach((be) => {
+ const ge = be.parentElement;
+ let ae = 0,
+ ne = 0;
+ (ge &&
+ (ge.parentElement && (ae = ge.parentElement.getBBox().width),
+ (ne = parseInt(ge.getAttribute('data-x-shift'), 10)),
+ Number.isNaN(ne) && (ne = 0)),
+ be.setAttribute('x1', 0 - ne + 8),
+ be.setAttribute('x2', ae - ne - 8));
+ }))
+ : Xe.debug('No Node ' + ie + ': ' + JSON.stringify(y.node(ie)));
+ });
+ let W = j.getBBox();
+ (y.edges().forEach(function (ie) {
+ ie !== void 0 &&
+ y.edge(ie) !== void 0 &&
+ (Xe.debug('Edge ' + ie.v + ' -> ' + ie.w + ': ' + JSON.stringify(y.edge(ie))),
+ $sn(s, y.edge(ie), y.edge(ie).relation));
+ }),
+ (W = j.getBBox()));
+ const ee = { id: u || 'root', label: u || 'root', width: 0, height: 0 };
+ return (
+ (ee.width = W.width + 2 * dm.padding),
+ (ee.height = W.height + 2 * dm.padding),
+ Xe.debug('Doc rendered', ee, y),
+ ee
+ );
+ },
+ Usn = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: lKe,
+ db: U7,
+ renderer: { setConf: zsn, draw: Hsn },
+ styles: TKe,
+ init: (i) => {
+ (i.state || (i.state = {}),
+ (i.state.arrowMarkerAbsolute = i.arrowMarkerAbsolute),
+ U7.clear());
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ ),
+ AJ = 'rect',
+ Hve = 'rectWithTitle',
+ Gsn = 'start',
+ Ksn = 'end',
+ Wsn = 'divider',
+ Ysn = 'roundedWithTitle',
+ Xsn = 'note',
+ Qsn = 'noteGroup',
+ XD = 'statediagram',
+ Jsn = `${XD}-state`,
+ LKe = 'transition',
+ Zsn = 'note',
+ ean = `${LKe} note-edge`,
+ tan = `${XD}-${Zsn}`,
+ nan = `${XD}-cluster`,
+ ran = `${XD}-cluster-alt`,
+ MKe = 'parent',
+ DKe = 'note',
+ ian = 'state',
+ Vve = '----',
+ san = `${Vve}${DKe}`,
+ IKe = `${Vve}${MKe}`,
+ OKe = 'fill:none',
+ NKe = 'fill: #333',
+ PKe = 'c',
+ BKe = 'text',
+ FKe = 'normal';
+ let LJ = {},
+ R9 = 0;
+ const aan = function (i) {
+ const s = Object.keys(i);
+ for (const u of s) i[u];
+ },
+ oan = function (i, s) {
+ return (s.db.extract(s.db.getRootDocV2()), s.db.getClasses());
+ };
+ function can(i) {
+ return i == null ? '' : i.classes ? i.classes.join(' ') : '';
+ }
+ function Uve(i = '', s = 0, u = '', d = Vve) {
+ const p = u !== null && u.length > 0 ? `${d}${u}` : '';
+ return `${ian}-${i}${p}-${s}`;
+ }
+ const ej = (i, s, u, d, p, v) => {
+ const b = u.id,
+ y = can(d[b]);
+ if (b !== 'root') {
+ let T = AJ;
+ (u.start === !0 && (T = Gsn),
+ u.start === !1 && (T = Ksn),
+ u.type !== XR && (T = u.type),
+ LJ[b] ||
+ (LJ[b] = {
+ id: b,
+ shape: T,
+ description: ci.sanitizeText(b, qt()),
+ classes: `${y} ${Jsn}`,
+ }));
+ const _ = LJ[b];
+ (u.description &&
+ (Array.isArray(_.description)
+ ? ((_.shape = Hve), _.description.push(u.description))
+ : _.description.length > 0
+ ? ((_.shape = Hve),
+ _.description === b
+ ? (_.description = [u.description])
+ : (_.description = [_.description, u.description]))
+ : ((_.shape = AJ), (_.description = u.description)),
+ (_.description = ci.sanitizeTextOrArray(_.description, qt()))),
+ _.description.length === 1 && _.shape === Hve && (_.shape = AJ),
+ !_.type &&
+ u.doc &&
+ (Xe.info('Setting cluster for ', b, Gve(u)),
+ (_.type = 'group'),
+ (_.dir = Gve(u)),
+ (_.shape = u.type === hKe ? Wsn : Ysn),
+ (_.classes = _.classes + ' ' + nan + ' ' + (v ? ran : ''))));
+ const A = {
+ labelStyle: '',
+ shape: _.shape,
+ labelText: _.description,
+ classes: _.classes,
+ style: '',
+ id: b,
+ dir: _.dir,
+ domId: Uve(b, R9),
+ type: _.type,
+ padding: 15,
+ };
+ if (((A.centerLabel = !0), u.note)) {
+ const P = {
+ labelStyle: '',
+ shape: Xsn,
+ labelText: u.note.text,
+ classes: tan,
+ style: '',
+ id: b + san + '-' + R9,
+ domId: Uve(b, R9, DKe),
+ type: _.type,
+ padding: 15,
+ },
+ R = {
+ labelStyle: '',
+ shape: Qsn,
+ labelText: u.note.text,
+ classes: _.classes,
+ style: '',
+ id: b + IKe,
+ domId: Uve(b, R9, MKe),
+ type: 'group',
+ padding: 0,
+ };
+ R9++;
+ const F = b + IKe;
+ (i.setNode(F, R),
+ i.setNode(P.id, P),
+ i.setNode(b, A),
+ i.setParent(b, F),
+ i.setParent(P.id, F));
+ let j = b,
+ W = P.id;
+ (u.note.position === 'left of' && ((j = P.id), (W = b)),
+ i.setEdge(j, W, {
+ arrowhead: 'none',
+ arrowType: '',
+ style: OKe,
+ labelStyle: '',
+ classes: ean,
+ arrowheadStyle: NKe,
+ labelpos: PKe,
+ labelType: BKe,
+ thickness: FKe,
+ }));
+ } else i.setNode(b, A);
+ }
+ (s &&
+ s.id !== 'root' &&
+ (Xe.trace('Setting node ', b, ' to be child of its parent ', s.id), i.setParent(b, s.id)),
+ u.doc && (Xe.trace('Adding nodes children '), uan(i, u, u.doc, d, p, !v)));
+ },
+ uan = (i, s, u, d, p, v) => {
+ (Xe.trace('items', u),
+ u.forEach((b) => {
+ switch (b.stmt) {
+ case EJ:
+ ej(i, s, b, d, p, v);
+ break;
+ case XR:
+ ej(i, s, b, d, p, v);
+ break;
+ case Pve:
+ {
+ (ej(i, s, b.state1, d, p, v), ej(i, s, b.state2, d, p, v));
+ const y = {
+ id: 'edge' + R9,
+ arrowhead: 'normal',
+ arrowTypeEnd: 'arrow_barb',
+ style: OKe,
+ labelStyle: '',
+ label: ci.sanitizeText(b.description, qt()),
+ arrowheadStyle: NKe,
+ labelpos: PKe,
+ labelType: BKe,
+ thickness: FKe,
+ classes: LKe,
+ };
+ (i.setEdge(b.state1.id, b.state2.id, y, R9), R9++);
+ }
+ break;
+ }
+ }));
+ },
+ Gve = (i, s = asn) => {
+ let u = s;
+ if (i.doc)
+ for (let d = 0; d < i.doc.length; d++) {
+ const p = i.doc[d];
+ p.stmt === 'dir' && (u = p.value);
+ }
+ return u;
+ },
+ lan = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ diagram: {
+ parser: lKe,
+ db: U7,
+ renderer: {
+ setConf: aan,
+ getClasses: oan,
+ draw: async function (i, s, u, d) {
+ (Xe.info('Drawing state diagram (v2)', s), (LJ = {}), d.db.getDirection());
+ const { securityLevel: p, state: v } = qt(),
+ b = v.nodeSpacing || 50,
+ y = v.rankSpacing || 50;
+ (Xe.info(d.db.getRootDocV2()),
+ d.db.extract(d.db.getRootDocV2()),
+ Xe.info(d.db.getRootDocV2()));
+ const T = d.db.getStates(),
+ _ = new N0({ multigraph: !0, compound: !0 })
+ .setGraph({
+ rankdir: Gve(d.db.getRootDocV2()),
+ nodesep: b,
+ ranksep: y,
+ marginx: 8,
+ marginy: 8,
+ })
+ .setDefaultEdgeLabel(function () {
+ return {};
+ });
+ ej(_, void 0, d.db.getRootDocV2(), T, d.db, !0);
+ let A;
+ p === 'sandbox' && (A = Ir('#i' + s));
+ const P = Ir(p === 'sandbox' ? A.nodes()[0].contentDocument.body : 'body'),
+ R = P.select(`[id="${s}"]`),
+ F = P.select('#' + s + ' g');
+ await qme(F, _, ['barb'], XD, s);
+ const j = 8;
+ So.insertTitle(
+ R,
+ 'statediagramTitleText',
+ v.titleTopMargin,
+ d.db.getDiagramTitle(),
+ );
+ const W = R.node().getBBox(),
+ ee = W.width + j * 2,
+ ie = W.height + j * 2;
+ R.attr('class', XD);
+ const oe = R.node().getBBox();
+ Og(R, ie, ee, v.useMaxWidth);
+ const be = `${oe.x - j} ${oe.y - j} ${ee} ${ie}`;
+ (Xe.debug(`viewBox ${be}`), R.attr('viewBox', be));
+ const ge = document.querySelectorAll('[id="' + s + '"] .edgeLabel .label');
+ for (const ae of ge) {
+ const ne = ae.getBBox(),
+ se = document.createElementNS('http://www.w3.org/2000/svg', AJ);
+ (se.setAttribute('rx', 0),
+ se.setAttribute('ry', 0),
+ se.setAttribute('width', ne.width),
+ se.setAttribute('height', ne.height),
+ ae.insertBefore(se, ae.firstChild));
+ }
+ },
+ },
+ styles: TKe,
+ init: (i) => {
+ (i.state || (i.state = {}),
+ (i.state.arrowMarkerAbsolute = i.arrowMarkerAbsolute),
+ U7.clear());
+ },
+ },
+ },
+ Symbol.toStringTag,
+ { value: 'Module' },
+ ),
+ );
+ var Kve = (function () {
+ var i = function (P, R, F, j) {
+ for (F = F || {}, j = P.length; j--; F[P[j]] = R);
+ return F;
+ },
+ s = [6, 8, 10, 11, 12, 14, 16, 17, 18],
+ u = [1, 9],
+ d = [1, 10],
+ p = [1, 11],
+ v = [1, 12],
+ b = [1, 13],
+ y = [1, 14],
+ T = {
+ trace: function () {},
+ yy: {},
+ symbols_: {
+ error: 2,
+ start: 3,
+ journey: 4,
+ document: 5,
+ EOF: 6,
+ line: 7,
+ SPACE: 8,
+ statement: 9,
+ NEWLINE: 10,
+ title: 11,
+ acc_title: 12,
+ acc_title_value: 13,
+ acc_descr: 14,
+ acc_descr_value: 15,
+ acc_descr_multiline_value: 16,
+ section: 17,
+ taskName: 18,
+ taskData: 19,
+ $accept: 0,
+ $end: 1,
+ },
+ terminals_: {
+ 2: 'error',
+ 4: 'journey',
+ 6: 'EOF',
+ 8: 'SPACE',
+ 10: 'NEWLINE',
+ 11: 'title',
+ 12: 'acc_title',
+ 13: 'acc_title_value',
+ 14: 'acc_descr',
+ 15: 'acc_descr_value',
+ 16: 'acc_descr_multiline_value',
+ 17: 'section',
+ 18: 'taskName',
+ 19: 'taskData',
+ },
+ productions_: [
+ 0,
+ [3, 3],
+ [5, 0],
+ [5, 2],
+ [7, 2],
+ [7, 1],
+ [7, 1],
+ [7, 1],
+ [9, 1],
+ [9, 2],
+ [9, 2],
+ [9, 1],
+ [9, 1],
+ [9, 2],
+ ],
+ performAction: function (R, F, j, W, ee, ie, oe) {
+ var be = ie.length - 1;
+ switch (ee) {
+ case 1:
+ return ie[be - 1];
+ case 2:
+ this.$ = [];
+ break;
+ case 3:
+ (ie[be - 1].push(ie[be]), (this.$ = ie[be - 1]));
+ break;
+ case 4:
+ case 5:
+ this.$ = ie[be];
+ break;
+ case 6:
+ case 7:
+ this.$ = [];
+ break;
+ case 8:
+ (W.setDiagramTitle(ie[be].substr(6)), (this.$ = ie[be].substr(6)));
+ break;
+ case 9:
+ ((this.$ = ie[be].trim()), W.setAccTitle(this.$));
+ break;
+ case 10:
+ case 11:
+ ((this.$ = ie[be].trim()), W.setAccDescription(this.$));
+ break;
+ case 12:
+ (W.addSection(ie[be].substr(8)), (this.$ = ie[be].substr(8)));
+ break;
+ case 13:
+ (W.addTask(ie[be - 1], ie[be]), (this.$ = 'task'));
+ break;
+ }
+ },
+ table: [
+ { 3: 1, 4: [1, 2] },
+ { 1: [3] },
+ i(s, [2, 2], { 5: 3 }),
+ {
+ 6: [1, 4],
+ 7: 5,
+ 8: [1, 6],
+ 9: 7,
+ 10: [1, 8],
+ 11: u,
+ 12: d,
+ 14: p,
+ 16: v,
+ 17: b,
+ 18: y,
+ },
+ i(s, [2, 7], { 1: [2, 1] }),
+ i(s, [2, 3]),
+ { 9: 15, 11: u, 12: d, 14: p, 16: v, 17: b, 18: y },
+ i(s, [2, 5]),
+ i(s, [2, 6]),
+ i(s, [2, 8]),
+ { 13: [1, 16] },
+ { 15: [1, 17] },
+ i(s, [2, 11]),
+ i(s, [2, 12]),
+ { 19: [1, 18] },
+ i(s, [2, 4]),
+ i(s, [2, 9]),
+ i(s, [2, 10]),
+ i(s, [2, 13]),
+ ],
+ defaultActions: {},
+ parseError: function (R, F) {
+ if (F.recoverable) this.trace(R);
+ else {
+ var j = new Error(R);
+ throw ((j.hash = F), j);
+ }
+ },
+ parse: function (R) {
+ var F = this,
+ j = [0],
+ W = [],
+ ee = [null],
+ ie = [],
+ oe = this.table,
+ be = '',
+ ge = 0,
+ ae = 0,
+ ne = 2,
+ se = 1,
+ de = ie.slice.call(arguments, 1),
+ X = Object.create(this.lexer),
+ pe = { yy: {} };
+ for (var G in this.yy)
+ Object.prototype.hasOwnProperty.call(this.yy, G) && (pe.yy[G] = this.yy[G]);
+ (X.setInput(R, pe.yy),
+ (pe.yy.lexer = X),
+ (pe.yy.parser = this),
+ typeof X.yylloc > 'u' && (X.yylloc = {}));
+ var xe = X.yylloc;
+ ie.push(xe);
+ var U = X.options && X.options.ranges;
+ typeof pe.yy.parseError == 'function'
+ ? (this.parseError = pe.yy.parseError)
+ : (this.parseError = Object.getPrototypeOf(this).parseError);
+ function Be() {
+ var kt;
+ return (
+ (kt = W.pop() || X.lex() || se),
+ typeof kt != 'number' &&
+ (kt instanceof Array && ((W = kt), (kt = W.pop())), (kt = F.symbols_[kt] || kt)),
+ kt
+ );
+ }
+ for (var Ne, je, Ie, Se, Ce = {}, ke, Ke, Ft, Pe; ; ) {
+ if (
+ ((je = j[j.length - 1]),
+ this.defaultActions[je]
+ ? (Ie = this.defaultActions[je])
+ : ((Ne === null || typeof Ne > 'u') && (Ne = Be()), (Ie = oe[je] && oe[je][Ne])),
+ typeof Ie > 'u' || !Ie.length || !Ie[0])
+ ) {
+ var gn = '';
+ Pe = [];
+ for (ke in oe[je])
+ this.terminals_[ke] && ke > ne && Pe.push("'" + this.terminals_[ke] + "'");
+ (X.showPosition
+ ? (gn =
+ 'Parse error on line ' +
+ (ge + 1) +
+ `:
+` +
+ X.showPosition() +
+ `
+Expecting ` +
+ Pe.join(', ') +
+ ", got '" +
+ (this.terminals_[Ne] || Ne) +
+ "'")
+ : (gn =
+ 'Parse error on line ' +
+ (ge + 1) +
+ ': Unexpected ' +
+ (Ne == se ? 'end of input' : "'" + (this.terminals_[Ne] || Ne) + "'")),
+ this.parseError(gn, {
+ text: X.match,
+ token: this.terminals_[Ne] || Ne,
+ line: X.yylineno,
+ loc: xe,
+ expected: Pe,
+ }));
+ }
+ if (Ie[0] instanceof Array && Ie.length > 1)
+ throw new Error(
+ 'Parse Error: multiple actions possible at state: ' + je + ', token: ' + Ne,
+ );
+ switch (Ie[0]) {
+ case 1:
+ (j.push(Ne),
+ ee.push(X.yytext),
+ ie.push(X.yylloc),
+ j.push(Ie[1]),
+ (Ne = null),
+ (ae = X.yyleng),
+ (be = X.yytext),
+ (ge = X.yylineno),
+ (xe = X.yylloc));
+ break;
+ case 2:
+ if (
+ ((Ke = this.productions_[Ie[1]][1]),
+ (Ce.$ = ee[ee.length - Ke]),
+ (Ce._$ = {
+ first_line: ie[ie.length - (Ke || 1)].first_line,
+ last_line: ie[ie.length - 1].last_line,
+ first_column: ie[ie.length - (Ke || 1)].first_column,
+ last_column: ie[ie.length - 1].last_column,
+ }),
+ U &&
+ (Ce._$.range = [
+ ie[ie.length - (Ke || 1)].range[0],
+ ie[ie.length - 1].range[1],
+ ]),
+ (Se = this.performAction.apply(
+ Ce,
+ [be, ae, ge, pe.yy, Ie[1], ee, ie].concat(de),
+ )),
+ typeof Se < 'u')
+ )
+ return Se;
+ (Ke &&
+ ((j = j.slice(0, -1 * Ke * 2)),
+ (ee = ee.slice(0, -1 * Ke)),
+ (ie = ie.slice(0, -1 * Ke))),
+ j.push(this.productions_[Ie[1]][0]),
+ ee.push(Ce.$),
+ ie.push(Ce._$),
+ (Ft = oe[j[j.length - 2]][j[j.length - 1]]),
+ j.push(Ft));
+ break;
+ case 3:
+ return !0;
+ }
+ }
+ return !0;
+ },
+ },
+ _ = (function () {
+ var P = {
+ EOF: 1,
+ parseError: function (F, j) {
+ if (this.yy.parser) this.yy.parser.parseError(F, j);
+ else throw new Error(F);
+ },
+ setInput: function (R, F) {
+ return (
+ (this.yy = F || this.yy || {}),
+ (this._input = R),
+ (this._more = this._backtrack = this.done = !1),
+ (this.yylineno = this.yyleng = 0),
+ (this.yytext = this.matched = this.match = ''),
+ (this.conditionStack = ['INITIAL']),
+ (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }),
+ this.options.ranges && (this.yylloc.range = [0, 0]),
+ (this.offset = 0),
+ this
+ );
+ },
+ input: function () {
+ var R = this._input[0];
+ ((this.yytext += R),
+ this.yyleng++,
+ this.offset++,
+ (this.match += R),
+ (this.matched += R));
+ var F = R.match(/(?:\r\n?|\n).*/g);
+ return (
+ F ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++,
+ this.options.ranges && this.yylloc.range[1]++,
+ (this._input = this._input.slice(1)),
+ R
+ );
+ },
+ unput: function (R) {
+ var F = R.length,
+ j = R.split(/(?:\r\n?|\n)/g);
+ ((this._input = R + this._input),
+ (this.yytext = this.yytext.substr(0, this.yytext.length - F)),
+ (this.offset -= F));
+ 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)),
+ j.length - 1 && (this.yylineno -= j.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: j
+ ? (j.length === W.length ? this.yylloc.first_column : 0) +
+ W[W.length - j.length].length -
+ j[0].length
+ : this.yylloc.first_column - F,
+ }),
+ this.options.ranges && (this.yylloc.range = [ee[0], ee[0] + this.yyleng - F]),
+ (this.yyleng = this.yytext.length),
+ this
+ );
+ },
+ more: function () {
+ return ((this._more = !0), this);
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) this._backtrack = !0;
+ else
+ return this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ return this;
+ },
+ less: function (R) {
+ this.unput(this.match.slice(R));
+ },
+ pastInput: function () {
+ var R = this.matched.substr(0, this.matched.length - this.match.length);
+ return (R.length > 20 ? '...' : '') + R.substr(-20).replace(/\n/g, '');
+ },
+ upcomingInput: function () {
+ var R = this.match;
+ return (
+ R.length < 20 && (R += this._input.substr(0, 20 - R.length)),
+ (R.substr(0, 20) + (R.length > 20 ? '...' : '')).replace(/\n/g, '')
+ );
+ },
+ showPosition: function () {
+ var R = this.pastInput(),
+ F = new Array(R.length + 1).join('-');
+ return (
+ R +
+ this.upcomingInput() +
+ `
+` +
+ F +
+ '^'
+ );
+ },
+ test_match: function (R, F) {
+ var j, W, 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))),
+ (W = R[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 + 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]),
+ (j = this.performAction.call(
+ this,
+ this.yy,
+ this,
+ F,
+ this.conditionStack[this.conditionStack.length - 1],
+ )),
+ this.done && this._input && (this.done = !1),
+ j)
+ )
+ return j;
+ if (this._backtrack) {
+ for (var ie in ee) this[ie] = ee[ie];
+ return !1;
+ }
+ return !1;
+ },
+ next: function () {
+ if (this.done) return this.EOF;
+ this._input || (this.done = !0);
+ var R, F, j, W;
+ this._more || ((this.yytext = ''), (this.match = ''));
+ for (var ee = this._currentRules(), ie = 0; ie < ee.length; ie++)
+ if (
+ ((j = this._input.match(this.rules[ee[ie]])),
+ j && (!F || j[0].length > F[0].length))
+ ) {
+ if (((F = j), (W = ie), this.options.backtrack_lexer)) {
+ if (((R = this.test_match(j, ee[ie])), R !== !1)) return R;
+ if (this._backtrack) {
+ F = !1;
+ continue;
+ } else return !1;
+ } else if (!this.options.flex) break;
+ }
+ return F
+ ? ((R = this.test_match(F, ee[W])), R !== !1 ? R : !1)
+ : this._input === ''
+ ? this.EOF
+ : this.parseError(
+ 'Lexical error on line ' +
+ (this.yylineno + 1) +
+ `. Unrecognized text.
+` +
+ this.showPosition(),
+ { text: '', token: null, line: this.yylineno },
+ );
+ },
+ lex: function () {
+ var F = this.next();
+ return F || this.lex();
+ },
+ begin: function (F) {
+ this.conditionStack.push(F);
+ },
+ popState: function () {
+ var F = this.conditionStack.length - 1;
+ return F > 0 ? this.conditionStack.pop() : this.conditionStack[0];
+ },
+ _currentRules: function () {
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]
+ ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules
+ : this.conditions.INITIAL.rules;
+ },
+ topState: function (F) {
+ return (
+ (F = this.conditionStack.length - 1 - Math.abs(F || 0)),
+ F >= 0 ? this.conditionStack[F] : 'INITIAL'
+ );
+ },
+ pushState: function (F) {
+ this.begin(F);
+ },
+ stateStackSize: function () {
+ return this.conditionStack.length;
+ },
+ options: { 'case-insensitive': !0 },
+ performAction: function (F, j, W, ee) {
+ switch (W) {
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ return 10;
+ case 3:
+ break;
+ case 4:
+ break;
+ case 5:
+ return 4;
+ case 6:
+ return 11;
+ case 7:
+ return (this.begin('acc_title'), 12);
+ case 8:
+ return (this.popState(), 'acc_title_value');
+ case 9:
+ return (this.begin('acc_descr'), 14);
+ case 10:
+ return (this.popState(), 'acc_descr_value');
+ case 11:
+ this.begin('acc_descr_multiline');
+ break;
+ case 12:
+ this.popState();
+ break;
+ case 13:
+ return 'acc_descr_multiline_value';
+ case 14:
+ return 17;
+ case 15:
+ return 18;
+ case 16:
+ return 19;
+ case 17:
+ return ':';
+ case 18:
+ return 6;
+ case 19:
+ return 'INVALID';
+ }
+ },
+ rules: [
+ /^(?:%(?!\{)[^\n]*)/i,
+ /^(?:[^\}]%%[^\n]*)/i,
+ /^(?:[\n]+)/i,
+ /^(?:\s+)/i,
+ /^(?:#[^\n]*)/i,
+ /^(?:journey\b)/i,
+ /^(?:title\s[^#\n;]+)/i,
+ /^(?:accTitle\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*:\s*)/i,
+ /^(?:(?!\n||)*[^\n]*)/i,
+ /^(?:accDescr\s*\{\s*)/i,
+ /^(?:[\}])/i,
+ /^(?:[^\}]*)/i,
+ /^(?:section\s[^#:\n;]+)/i,
+ /^(?:[^#:\n;]+)/i,
+ /^(?::[^#\n;]+)/i,
+ /^(?::)/i,
+ /^(?:$)/i,
+ /^(?:.)/i,
+ ],
+ conditions: {
+ acc_descr_multiline: { rules: [12, 13], inclusive: !1 },
+ acc_descr: { rules: [10], inclusive: !1 },
+ acc_title: { rules: [8], inclusive: !1 },
+ INITIAL: {
+ rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19],
+ inclusive: !0,
+ },
+ },
+ };
+ return P;
+ })();
+ T.lexer = _;
+ function A() {
+ this.yy = {};
+ }
+ return ((A.prototype = T), (T.Parser = A), new A());
+ })();
+ Kve.parser = Kve;
+ const han = Kve;
+ let QD = '';
+ const Wve = [],
+ tj = [],
+ nj = [],
+ fan = function () {
+ ((Wve.length = 0), (tj.length = 0), (QD = ''), (nj.length = 0), Ng());
+ },
+ dan = function (i) {
+ ((QD = i), Wve.push(i));
+ },
+ gan = function () {
+ return Wve;
+ },
+ pan = function () {
+ let i = RKe();
+ const s = 100;
+ let u = 0;
+ for (; !i && u < s; ) ((i = RKe()), u++);
+ return (tj.push(...nj), tj);
+ },
+ ban = function () {
+ const i = [];
+ return (
+ tj.forEach((u) => {
+ u.people && i.push(...u.people);
+ }),
+ [...new Set(i)].sort()
+ );
+ },
+ man = function (i, s) {
+ const u = s.substr(1).split(':');
+ let d = 0,
+ p = [];
+ u.length === 1 ? ((d = Number(u[0])), (p = [])) : ((d = Number(u[0])), (p = u[1].split(',')));
+ const v = p.map((y) => y.trim()),
+ b = { section: QD, type: QD, people: v, task: i, score: d };
+ nj.push(b);
+ },
+ van = function (i) {
+ const s = { section: QD, type: QD, description: i, task: i, classes: [] };
+ tj.push(s);
+ },
+ RKe = function () {
+ const i = function (u) {
+ return nj[u].processed;
+ };
+ let s = !0;
+ for (const [u, d] of nj.entries()) (i(u), (s = s && d.processed));
+ return s;
+ },
+ jKe = {
+ getConfig: () => qt().journey,
+ clear: fan,
+ setDiagramTitle: om,
+ getDiagramTitle: Lp,
+ setAccTitle: Pg,
+ getAccTitle: Sp,
+ setAccDescription: _p,
+ getAccDescription: Ap,
+ addSection: dan,
+ getSections: gan,
+ getTasks: pan,
+ addTask: man,
+ addTaskOrg: van,
+ getActors: function () {
+ return ban();
+ },
+ },
+ wan = (i) => `.label {
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
color: ${i.textColor};
@@ -1488,7 +66264,7 @@ Expecting `+Pe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":gn="Parse erro
}
.face {
- ${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"};
+ ${i.faceColor ? `fill: ${i.faceColor}` : 'fill: #FFF8DC'};
stroke: #999;
}
@@ -1554,82 +66330,95616 @@ Expecting `+Pe.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":gn="Parse erro
}
.task-type-0, .section-type-0 {
- ${i.fillType0?`fill: ${i.fillType0}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType0}` : ''};
}
.task-type-1, .section-type-1 {
- ${i.fillType0?`fill: ${i.fillType1}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType1}` : ''};
}
.task-type-2, .section-type-2 {
- ${i.fillType0?`fill: ${i.fillType2}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType2}` : ''};
}
.task-type-3, .section-type-3 {
- ${i.fillType0?`fill: ${i.fillType3}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType3}` : ''};
}
.task-type-4, .section-type-4 {
- ${i.fillType0?`fill: ${i.fillType4}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType4}` : ''};
}
.task-type-5, .section-type-5 {
- ${i.fillType0?`fill: ${i.fillType5}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType5}` : ''};
}
.task-type-6, .section-type-6 {
- ${i.fillType0?`fill: ${i.fillType6}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType6}` : ''};
}
.task-type-7, .section-type-7 {
- ${i.fillType0?`fill: ${i.fillType7}`:""};
+ ${i.fillType0 ? `fill: ${i.fillType7}` : ''};
}
.actor-0 {
- ${i.actor0?`fill: ${i.actor0}`:""};
+ ${i.actor0 ? `fill: ${i.actor0}` : ''};
}
.actor-1 {
- ${i.actor1?`fill: ${i.actor1}`:""};
+ ${i.actor1 ? `fill: ${i.actor1}` : ''};
}
.actor-2 {
- ${i.actor2?`fill: ${i.actor2}`:""};
+ ${i.actor2 ? `fill: ${i.actor2}` : ''};
}
.actor-3 {
- ${i.actor3?`fill: ${i.actor3}`:""};
+ ${i.actor3 ? `fill: ${i.actor3}` : ''};
}
.actor-4 {
- ${i.actor4?`fill: ${i.actor4}`:""};
+ ${i.actor4 ? `fill: ${i.actor4}` : ''};
}
.actor-5 {
- ${i.actor5?`fill: ${i.actor5}`:""};
+ ${i.actor5 ? `fill: ${i.actor5}` : ''};
}
-`,Yve=function(i,s){return AQ(i,s)},yan=function(i,s){const d=i.append("circle").attr("cx",s.cx).attr("cy",s.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",s.cx-15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",s.cx+15/3).attr("cy",s.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(T){const _=uD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+2)+")")}function b(T){const _=uD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);T.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+s.cx+","+(s.cy+7)+")")}function y(T){T.append("line").attr("class","mouth").attr("stroke",2).attr("x1",s.cx-5).attr("y1",s.cy+7).attr("x2",s.cx+5).attr("y2",s.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s.score>3?v(p):s.score<3?b(p):y(p),d},$Ke=function(i,s){const u=i.append("circle");return u.attr("cx",s.cx),u.attr("cy",s.cy),u.attr("class","actor-"+s.pos),u.attr("fill",s.fill),u.attr("stroke",s.stroke),u.attr("r",s.r),u.class!==void 0&&u.attr("class",u.class),s.title!==void 0&&u.append("title").text(s.title),u},zKe=function(i,s){return oUt(i,s)},xan=function(i,s){function u(p,v,b,y,T){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-T)+" "+(p+b-T*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(s.x,s.y,50,20,7)),d.attr("class","labelBox"),s.y=s.y+s.labelMargin,s.x=s.x+.5*s.labelMargin,zKe(i,s)},kan=function(i,s,u){const d=i.append("g"),p=zC();p.x=s.x,p.y=s.y,p.fill=s.fill,p.width=u.width*s.taskCount+u.diagramMarginX*(s.taskCount-1),p.height=u.height,p.class="journey-section section-type-"+s.num,p.rx=3,p.ry=3,Yve(d,p),HKe(u)(s.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+s.num},u,s.colour)};let qKe=-1;const Ean=function(i,s,u){const d=s.x+u.width/2,p=i.append("g");qKe++;const v=300+5*30;p.append("line").attr("id","task"+qKe).attr("x1",d).attr("y1",s.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),yan(p,{cx:d,cy:300+(5-s.score)*30,score:s.score});const b=zC();b.x=s.x,b.y=s.y,b.fill=s.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+s.num,b.rx=3,b.ry=3,Yve(p,b);let y=s.x+14;s.people.forEach(T=>{const _=s.actors[T].color,A={cx:y,cy:s.y,r:7,fill:_,stroke:"#000",title:T,pos:s.actors[T].position};$Ke(p,A),y+=10}),HKe(u)(s.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,s.colour)},Tan=function(i,s){Sqe(i,s)},HKe=function(){function i(p,v,b,y,T,_,A,P){const R=v.append("text").attr("x",b+T/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function s(p,v,b,y,T,_,A,P,R){const{taskFontSize:F,taskFontFamily:j}=P,W=p.split(/
/gi);for(let ee=0;ee{const p=G7[d].color,v={cx:20,cy:u,r:7,fill:p,stroke:"#000",pos:G7[d].position};rj.drawCircle(i,v);const b={x:40,y:u+7,fill:"#666",text:d,textMargin:s.boxTextMargin|5};rj.drawText(i,b),u+=20})}const MJ=qt().journey,rS=MJ.leftMargin,_an=function(i,s,u,d){const p=qt().journey,v=qt().securityLevel;let b;v==="sandbox"&&(b=Ir("#i"+s));const y=Ir(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");Hv.init();const T=y.select("#"+s);rj.initGraphics(T);const _=d.db.getTasks(),A=d.db.getDiagramTitle(),P=d.db.getActors();for(const ie in G7)delete G7[ie];let R=0;P.forEach(ie=>{G7[ie]={color:p.actorColours[R%p.actorColours.length],position:R},R++}),San(T),Hv.insert(0,0,rS,Object.keys(G7).length*50),Aan(T,_,0);const F=Hv.getBounds();A&&T.append("text").text(A).attr("x",rS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const j=F.stopy-F.starty+2*p.diagramMarginY,W=rS+F.stopx+2*p.diagramMarginX;Og(T,j,W,p.useMaxWidth),T.append("line").attr("x1",rS).attr("y1",p.height*4).attr("x2",W-rS-4).attr("y2",p.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const ee=A?70:0;T.attr("viewBox",`${F.startx} -25 ${W} ${j+ee}`),T.attr("preserveAspectRatio","xMinYMin meet"),T.attr("height",j+ee+25)},Hv={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(i,s,u,d){i[s]===void 0?i[s]=u:i[s]=d(u,i[s])},updateBounds:function(i,s,u,d){const p=qt().journey,v=this;let b=0;function y(T){return function(A){b++;const P=v.sequenceItems.length-b+1;v.updateVal(A,"starty",s-P*p.boxMargin,Math.min),v.updateVal(A,"stopy",d+P*p.boxMargin,Math.max),v.updateVal(Hv.data,"startx",i-P*p.boxMargin,Math.min),v.updateVal(Hv.data,"stopx",u+P*p.boxMargin,Math.max),T!=="activation"&&(v.updateVal(A,"startx",i-P*p.boxMargin,Math.min),v.updateVal(A,"stopx",u+P*p.boxMargin,Math.max),v.updateVal(Hv.data,"starty",s-P*p.boxMargin,Math.min),v.updateVal(Hv.data,"stopy",d+P*p.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(i,s,u,d){const p=Math.min(i,u),v=Math.max(i,u),b=Math.min(s,d),y=Math.max(s,d);this.updateVal(Hv.data,"startx",p,Math.min),this.updateVal(Hv.data,"starty",b,Math.min),this.updateVal(Hv.data,"stopx",v,Math.max),this.updateVal(Hv.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Xve=MJ.sectionFills,VKe=MJ.sectionColours,Aan=function(i,s,u){const d=qt().journey;let p="";const v=d.height*2+d.diagramMarginY,b=u+v;let y=0,T="#CCC",_="black",A=0;for(const[P,R]of s.entries()){if(p!==R.section){T=Xve[y%Xve.length],A=y%Xve.length,_=VKe[y%VKe.length];let j=0;const W=R.section;for(let ie=P;ie(G7[W]&&(j[W]=G7[W]),j),{});R.x=P*d.taskMargin+P*d.width+rS,R.y=b,R.width=d.diagramMarginX,R.height=d.diagramMarginY,R.colour=_,R.fill=T,R.num=A,R.actors=F,rj.drawTask(i,R,d),Hv.insert(R.x,R.y,R.x+R.width+d.taskMargin,300+5*30)}},UKe={setConf:Can,draw:_an},Lan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:han,db:jKe,renderer:UKe,styles:wan,init:i=>{UKe.setConf(i.journey),jKe.clear()}}},Symbol.toStringTag,{value:"Module"})),Man=(i,s,u)=>{const{parentById:d}=u,p=new Set;let v=i;for(;v;){if(p.add(v),v===s)return v;v=d[v]}for(v=s;v;){if(p.has(v))return v;v=d[v]}return"root"};function DJ(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var GKe={exports:{}};(function(i,s){(function(u){i.exports=u()})(function(){return function(){function u(d,p,v){function b(_,A){if(!p[_]){if(!d[_]){var P=typeof DJ=="function"&&DJ;if(!A&&P)return P(_,!0);if(y)return y(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var F=p[_]={exports:{}};d[_][0].call(F.exports,function(j){var W=d[_][1][j];return b(W||j)},F,F.exports,u,d,p,v)}return p[_].exports}for(var y=typeof DJ=="function"&&DJ,T=0;T0&&arguments[0]!==void 0?arguments[0]:{},R=P.defaultLayoutOptions,F=R===void 0?{}:R,j=P.algorithms,W=j===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:j,ee=P.workerFactory,ie=P.workerUrl;if(b(this,_),this.defaultLayoutOptions=F,this.initialized=!1,typeof ie>"u"&&typeof ee>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var oe=ee;typeof ie<"u"&&typeof ee>"u"&&(oe=function(ae){return new Worker(ae)});var be=oe(ie);if(typeof be.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new T(be),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(ge){return A.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(P){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},F=R.layoutOptions,j=F===void 0?this.defaultLayoutOptions:F,W=R.logging,ee=W===void 0?!1:W,ie=R.measureExecutionTime,oe=ie===void 0?!1:ie;return P?this.worker.postMessage({cmd:"layout",graph:P,layoutOptions:j,options:{logging:ee,measureExecutionTime:oe}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),_}();p.default=y;var T=function(){function _(A){var P=this;if(b(this,_),A===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=A,this.worker.onmessage=function(R){setTimeout(function(){P.receive(P,R)},0)}}return v(_,[{key:"postMessage",value:function(P){var R=this.id||0;this.id=R+1,P.id=R;var F=this;return new Promise(function(j,W){F.resolvers[R]=function(ee,ie){ee?(F.convertGwtStyleError(ee),W(ee)):j(ie)},F.worker.postMessage(P)})}},{key:"receive",value:function(P,R){var F=R.data,j=P.resolvers[F.id];j&&(delete P.resolvers[F.id],F.error?j(F.error):j(null,F.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(P){if(P){var R=P.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(P.cause=R.cause.backingJsObject,this.convertGwtStyleError(P.cause)),delete P.__java$exception)}}}]),_}()},{}],2:[function(u,d,p){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var y;function T(){}function _(){}function A(){}function P(){}function R(){}function F(){}function j(){}function W(){}function ee(){}function ie(){}function oe(){}function be(){}function ge(){}function ae(){}function ne(){}function se(){}function de(){}function X(){}function pe(){}function G(){}function xe(){}function U(){}function Be(){}function Ne(){}function je(){}function Ie(){}function Se(){}function Ce(){}function ke(){}function Ke(){}function Ft(){}function Pe(){}function gn(){}function kt(){}function Et(){}function Gt(){}function ln(){}function xt(){}function Pt(){}function Ze(){}function At(){}function Tt(){}function On(){}function ht(){}function zr(){}function yt(){}function Fi(){}function yi(){}function Ba(){}function na(){}function Ro(){}function _r(){}function Nn(){}function $n(){}function qn(){}function Lt(){}function wt(){}function cn(){}function fn(){}function Mn(){}function mo(){}function Io(){}function Xa(){}function ua(){}function Oo(){}function Ts(){}function nl(){}function Zo(){}function id(){}function gm(){}function qu(){}function lu(){}function Xc(){}function Cs(){}function Bc(){}function Ma(){}function No(){}function vc(){}function Qa(){}function ja(){}function ka(){}function wu(){}function Fc(){}function a5(){}function jg(){}function b1(){}function Hd(){}function ch(){}function Vd(){}function Ud(){}function Gd(){}function sd(){}function F0(){}function bs(){}function pn(){}function Zr(){}function ss(){}function hu(){}function pl(){}function yu(){}function Wi(){}function ls(){}function Da(){}function ui(){}function nu(){}function Ot(){}function W3(){}function Kt(){}function R0(){}function Fp(){}function Y3(){}function j9(){}function o5(){}function Ch(){}function $g(){}function pm(){}function $9(){}function bm(){}function c5(){}function m1(){}function ad(){}function od(){}function z9(){}function Uv(){}function W7(){}function K2(){}function Y7(){}function u5(){}function X3(){}function Rp(){}function tI(){}function uh(){}function aS(){}function fu(){}function $J(){}function mm(){}function zJ(){}function oj(){}function qJ(){}function cj(){}function j0(){}function Q3(){}function oS(){}function uj(){}function W2(){}function J3(){}function HJ(){}function vm(){}function VJ(){}function UJ(){}function X7(){}function cS(){}function lj(){}function q9(){}function GJ(){}function H9(){}function KJ(){}function WJ(){}function YJ(){}function XJ(){}function QJ(){}function JJ(){}function ZJ(){}function eZ(){}function tZ(){}function nZ(){}function rZ(){}function nI(){}function iZ(){}function sZ(){}function uS(){}function hj(){}function Q7(){}function aZ(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function lS(){}function rI(){}function fj(){}function l5(){}function h5(){}function hZ(){}function Zf(){}function J7(){}function fZ(){}function V9(){}function Kd(){}function dZ(){}function gZ(){}function pZ(){}function dj(){}function bZ(){}function hS(){}function fS(){}function gj(){}function iI(){}function Z7(){}function mZ(){}function pj(){}function bj(){}function vZ(){}function wZ(){}function yZ(){}function xZ(){}function kZ(){}function EZ(){}function Wd(){}function Gv(){}function TZ(){}function dS(){}function gS(){}function CZ(){}function f5(){}function U9(){}function sI(){}function Z3(){}function G9(){}function SZ(){}function pS(){}function cd(){}function mj(){}function aI(){}function K9(){}function oI(){}function vj(){}function _Z(){}function cI(){}function AZ(){}function LZ(){}function wj(){}function e8(){}function yj(){}function t8(){}function MZ(){}function uI(){}function DZ(){}function IZ(){}function OZ(){}function NZ(){}function xj(){}function PZ(){}function BZ(){}function kj(){}function FZ(){}function RZ(){}function jZ(){}function $Z(){}function Ej(){}function zZ(){}function qZ(){}function Tj(){}function Cj(){}function Sj(){}function HZ(){}function VZ(){}function W9(){}function n8(){}function bS(){}function UZ(){}function lI(){}function mS(){}function hI(){}function _j(){}function Aj(){}function GZ(){}function KZ(){}function WZ(){}function Lj(){}function Mj(){}function YZ(){}function XZ(){}function QZ(){}function JZ(){}function ZZ(){}function Dj(){}function eee(){}function tee(){}function nee(){}function ree(){}function Ij(){}function vS(){}function iee(){}function see(){}function Oj(){}function aee(){}function oee(){}function cee(){}function uee(){}function lee(){}function hee(){}function Nj(){}function fee(){}function Pj(){}function dee(){}function gee(){}function pee(){}function wS(){}function bee(){}function yS(){}function mee(){}function Bj(){}function Fj(){}function Rj(){}function jj(){}function Kv(){}function $j(){}function zj(){}function qj(){}function Hj(){}function vee(){}function r8(){}function fI(){}function d5(){}function wee(){}function yee(){}function xS(){}function Vj(){}function xee(){}function kee(){}function Eee(){}function Tee(){}function Cee(){}function See(){}function _ee(){}function Aee(){}function Lee(){}function Mee(){}function kS(){}function Uj(){}function Dee(){}function Iee(){}function Oee(){}function Nee(){}function Pee(){}function Gj(){}function Kj(){}function Bee(){}function Wj(){}function Yj(){}function Fee(){}function Ree(){}function jee(){}function $ee(){}function zee(){}function qee(){}function Hee(){}function Vee(){}function dI(){}function Uee(){}function Y9(){}function Xj(){}function Gee(){}function Kee(){}function Wee(){}function Yee(){}function Xee(){}function Qee(){}function Jee(){}function Zee(){}function ete(){}function tte(){}function nte(){}function rte(){}function ite(){}function ste(){}function ate(){}function i8(){}function Qj(){}function ote(){}function cte(){}function ute(){}function Jj(){}function lte(){}function ES(){}function hte(){}function fte(){}function dte(){}function gte(){}function pte(){}function bte(){}function mte(){}function vte(){}function wte(){}function yte(){}function s8(){}function xte(){}function kte(){}function Ete(){}function Tte(){}function Cte(){}function Ste(){}function _te(){}function Ate(){}function TS(){}function Lte(){}function Mte(){}function Dte(){}function Ite(){}function Ote(){}function Nte(){}function Pte(){}function Bte(){}function a8(){}function Zj(){}function Fte(){}function gI(){}function Rte(){}function jte(){}function $te(){}function zte(){}function qte(){}function Hte(){}function Vte(){}function e$(){}function Ute(){}function t$(){}function Gte(){}function n$(){}function r$(){}function i$(){}function Kte(){}function Wte(){}function s$(){}function Yte(){}function a$(){}function Xte(){}function Qte(){}function pI(){}function Jte(){}function Zte(){}function ene(){}function tne(){}function nne(){}function o$(){}function rne(){}function ine(){}function sne(){}function pwe(){}function ane(){}function one(){}function cne(){}function une(){}function lne(){}function hne(){}function fne(){}function dne(){}function gne(){}function pne(){}function bne(){}function mne(){}function vne(){}function wne(){}function yne(){}function xne(){}function du(){}function kne(){}function CS(){}function Rc(){}function Pu(){}function hs(){}function bI(){}function Ene(){}function Tne(){}function Cne(){}function o8(){}function wm(){}function X9(){}function Sne(){}function mI(){}function _ne(){}function Ane(){}function Lne(){}function c$(){}function Mne(){}function Dne(){}function vI(){}function Ine(){}function lh(){}function bl(){}function u$(){}function One(){}function Nne(){}function ey(){}function g5(){}function ty(){}function jp(){}function c8(){}function wI(){}function l$(){}function h$(){}function Pne(){}function v1(){}function f$(){}function ny(){}function Q9(){}function yI(){}function u8(){}function Y2(){}function d$(){}function g$(){}function p$(){}function Bne(){}function l8(){}function ry(){}function $p(){}function X2(){}function p5(){}function J9(){}function SS(){}function xI(){}function Fne(){}function Rne(){}function b$(){}function m$(){}function Ut(){}function Z9(){}function v$(){}function w$(){}function jne(){}function ek(){}function tk(){}function y$(){}function $ne(){}function zne(){}function qne(){}function Hne(){}function Vne(){}function Une(){}function kI(){}function Gne(){}function Kne(){}function x$(){}function _S(){}function Wne(){}function EI(){}function nk(){}function rk(){}function ik(){}function k$(){}function Yne(){}function E$(){}function T$(){}function Xne(){}function AS(){}function Q2(){}function C$(){}function S$(){}function LS(){}function Qne(){}function b5(){}function _$(){}function TI(){}function Qc(){}function CI(){}function SI(){}function MS(){}function Jne(){}function Zne(){}function DS(){}function ere(){}function IS(){}function OS(){}function $0(){}function _I(){}function AI(){}function h8(){}function tre(){}function nre(){}function rre(){}function ire(){}function Yd(){}function NS(){}function f8(){}function w1(){}function A$(){}function L$(){}function M$(){}function D$(){}function I$(){}function O$(){}function z0(){}function rl(){}function sre(){}function are(){}function ore(){}function il(){}function PS(){}function N$(){}function P$(){}function d8(){}function cre(){}function sk(){}function ure(){}function B$(){}function lre(){}function hre(){}function BS(){}function F$(){}function LI(){}function FS(){}function fre(){}function dre(){}function MI(){}function RS(){}function y1(){}function ak(){}function gre(){}function ok(){}function DI(){}function ym(){}function jS(){}function II(){}function q0(){}function $S(){}function x1(){}function k1(){}function pre(){}function bre(){}function m5(){}function ck(){}function uk(){}function zS(){}function mre(){}function vre(){}function g8(){}function R$(){}function j$(){}function wre(){}function $$(){}function yre(){}function z$(){}function OI(){}function xre(){}function qS(){}function kre(){}function Ere(){}function Tre(){}function Cre(){}function Sre(){}function q$(){}function _re(){}function Are(){}function Lre(){}function H$(){}function Mre(){}function Dre(){}function HS(){}function Ire(){}function Ore(){}function Nre(){}function Pre(){}function Bre(){}function Fre(){}function V$(){}function Rre(){}function U$(){}function jre(){}function NI(){}function $re(){}function G$(){}function zre(){}function K$(){}function qre(){}function W$(){}function Y$(){}function X$(){}function PI(){}function v5(){}function VS(){}function E1(){}function Q$(){}function lk(){}function BI(){}function J$(){}function xm(){}function Z$(){}function US(){a_()}function Hre(){rO()}function ez(){dU()}function tz(){Lce()}function nz(){DA()}function GS(){Xxe()}function KS(){g0()}function rz(){axe()}function iz(){HN()}function p8(){iO()}function Wv(){IO()}function hk(){get()}function sz(){ux()}function Vre(){Hut()}function az(){s7e()}function b8(){Dot()}function FI(){a7e()}function oz(){ylt()}function Ure(){Mot()}function cz(){EE()}function WS(){rft()}function YS(){nft()}function RI(){Sct()}function Gre(){ift()}function Kre(){Sb()}function Wre(){eq()}function Yre(){Yke()}function Xre(){Nt()}function Qre(){sft()}function Jre(){Ift()}function Zre(){Iot()}function eie(){rgt()}function tie(){Oot()}function nie(){mmt()}function rie(){_9e()}function iie(){ep()}function sie(){v1t()}function m8(){Hc()}function aie(){qot()}function fk(){cx()}function Tf(){uke()}function oie(){_b()}function dk(){lke()}function XS(){R1()}function cie(){WN()}function uie(){tle()}function lie(){lue()}function Cf(){vit()}function hie(){ZH()}function fie(){wU()}function uz(){bi()}function die(){PV()}function lz(){B8e()}function hz(){lce()}function fz(){zU()}function dz(){xke()}function e0(e){nr(e)}function gz(e){this.a=e}function QS(e){this.a=e}function pz(e){this.a=e}function bz(e){this.a=e}function gie(e){this.a=e}function pie(e){this.a=e}function mz(e){this.a=e}function bie(e){this.a=e}function vz(e){this.a=e}function J2(e){this.a=e}function mie(e){this.a=e}function vie(e){this.a=e}function jI(e){this.a=e}function wie(e){this.a=e}function yie(e){this.a=e}function gk(e){this.a=e}function Z2(e){this.a=e}function wz(e){this.a=e}function pk(e){this.a=e}function w5(e){this.a=e}function $I(e){this.a=e}function v8(e){this.a=e}function zI(e){this.b=e}function zg(e){this.c=e}function xie(e){this.a=e}function iy(e){this.a=e}function yz(e){this.a=e}function xz(e){this.a=e}function qI(e){this.a=e}function HI(e){this.a=e}function kz(e){this.a=e}function w8(e){this.a=e}function bk(e){this.a=e}function kie(e){this.a=e}function Ez(e){this.a=e}function Tz(e){this.a=e}function Cz(e){this.a=e}function Sz(e){this.a=e}function jc(e){this.a=e}function mk(e){this.a=e}function vk(e){this.a=e}function zp(){this.a=[]}function Eie(e,t){e.a=t}function Tie(e,t){e.a=t}function Cie(e,t){e.b=t}function Sie(e,t){e.b=t}function _ie(e,t){e.b=t}function _z(e,t){e.j=t}function bwe(e,t){e.g=t}function Az(e,t){e.i=t}function Aie(e,t){e.c=t}function y8(e,t){e.c=t}function mwe(e,t){e.d=t}function x8(e,t){e.d=t}function x(e,t){e.k=t}function m(e,t){e.c=t}function k(e,t){e.c=t}function S(e,t){e.a=t}function M(e,t){e.a=t}function O(e,t){e.f=t}function N(e,t){e.a=t}function $(e,t){e.b=t}function H(e,t){e.d=t}function q(e,t){e.i=t}function Y(e,t){e.o=t}function Z(e,t){e.r=t}function ce(e,t){e.a=t}function ve(e,t){e.b=t}function me(e,t){e.e=t}function Le(e,t){e.f=t}function _e(e,t){e.g=t}function Ee(e,t){e.e=t}function Fe(e,t){e.f=t}function Re(e,t){e.f=t}function Ve(e,t){e.a=t}function ct(e,t){e.b=t}function st(e,t){e.n=t}function Ye(e,t){e.a=t}function mt(e,t){e.c=t}function Qe(e,t){e.c=t}function Mt(e,t){e.c=t}function Dt(e,t){e.a=t}function ut(e,t){e.a=t}function Wt(e,t){e.d=t}function Ct(e,t){e.d=t}function _n(e,t){e.e=t}function hn(e,t){e.e=t}function Yt(e,t){e.g=t}function Dn(e,t){e.f=t}function ir(e,t){e.j=t}function vr(e,t){e.a=t}function Pn(e,t){e.a=t}function pr(e,t){e.b=t}function Er(e){e.b=e.a}function Mr(e){e.c=e.d.d}function Tr(e){this.a=e}function Or(e){this.a=e}function Wn(e){this.a=e}function br(e){this.a=e}function Cr(e){this.a=e}function Nr(e){this.a=e}function _i(e){this.a=e}function xs(e){this.a=e}function ba(e){this.a=e}function Di(e){this.a=e}function pi(e){this.a=e}function fs(e){this.a=e}function Rs(e){this.a=e}function ks(e){this.a=e}function js(e){this.b=e}function vo(e){this.b=e}function $a(e){this.b=e}function Ia(e){this.a=e}function Po(e){this.a=e}function tr(e){this.c=e}function K(e){this.c=e}function Jn(e){this.c=e}function kr(e){this.d=e}function lr(e){this.a=e}function Vt(e){this.a=e}function Hs(e){this.a=e}function wr(e){this.a=e}function Ss(e){this.a=e}function ho(e){this.a=e}function $c(e){this.a=e}function za(e){this.a=e}function Sc(e){this.a=e}function ma(e){this.a=e}function wo(e){this.a=e}function hh(e){this.a=e}function Wl(e){this.a=e}function eb(e){this.a=e}function tb(e){this.a=e}function H0(e){this.a=e}function qp(e){this.a=e}function ud(e){this.a=e}function Yv(e){this.a=e}function sy(e){this.a=e}function k8(e){this.a=e}function y5(e){this.a=e}function E8(e){this.a=e}function JS(e){this.a=e}function x5(e){this.a=e}function Xd(e){this.a=e}function T1(e){this.a=e}function Qd(e){this.a=e}function Xv(e){this.a=e}function km(e){this.a=e}function Lz(e){this.a=e}function Lie(e){this.a=e}function Mie(e){this.a=e}function ZS(e){this.a=e}function Die(e){this.a=e}function Iie(e){this.a=e}function k5(e){this.a=e}function Mz(e){this.a=e}function wk(e){this.a=e}function VI(e){this.a=e}function e_(e){this.a=e}function Dz(e){this.a=e}function Iz(e){this.a=e}function Oie(e){this.a=e}function Hp(e){this.a=e}function t_(e){this.a=e}function UI(e){this.a=e}function Em(e){this.a=e}function Jd(e){this.e=e}function E5(e){this.a=e}function qWe(e){this.a=e}function T8(e){this.a=e}function vwe(e){this.a=e}function HWe(e){this.a=e}function VWe(e){this.a=e}function UWe(e){this.a=e}function GWe(e){this.a=e}function KWe(e){this.a=e}function WWe(e){this.a=e}function YWe(e){this.a=e}function XWe(e){this.a=e}function QWe(e){this.a=e}function JWe(e){this.a=e}function ZWe(e){this.a=e}function wwe(e){this.a=e}function eYe(e){this.a=e}function tYe(e){this.a=e}function nYe(e){this.a=e}function rYe(e){this.a=e}function iYe(e){this.a=e}function sYe(e){this.a=e}function aYe(e){this.a=e}function oYe(e){this.a=e}function cYe(e){this.a=e}function uYe(e){this.a=e}function lYe(e){this.a=e}function hYe(e){this.a=e}function fYe(e){this.a=e}function dYe(e){this.a=e}function gYe(e){this.a=e}function pYe(e){this.a=e}function bYe(e){this.a=e}function mYe(e){this.a=e}function vYe(e){this.a=e}function wYe(e){this.a=e}function yYe(e){this.a=e}function xYe(e){this.a=e}function kYe(e){this.a=e}function EYe(e){this.a=e}function TYe(e){this.a=e}function CYe(e){this.a=e}function SYe(e){this.a=e}function _Ye(e){this.a=e}function AYe(e){this.a=e}function LYe(e){this.a=e}function MYe(e){this.a=e}function DYe(e){this.a=e}function IYe(e){this.a=e}function OYe(e){this.a=e}function NYe(e){this.a=e}function PYe(e){this.a=e}function BYe(e){this.a=e}function FYe(e){this.a=e}function RYe(e){this.c=e}function jYe(e){this.b=e}function $Ye(e){this.a=e}function zYe(e){this.a=e}function qYe(e){this.a=e}function HYe(e){this.a=e}function VYe(e){this.a=e}function UYe(e){this.a=e}function GYe(e){this.a=e}function KYe(e){this.a=e}function WYe(e){this.a=e}function YYe(e){this.a=e}function XYe(e){this.a=e}function QYe(e){this.a=e}function JYe(e){this.a=e}function ZYe(e){this.a=e}function eXe(e){this.a=e}function tXe(e){this.a=e}function nXe(e){this.a=e}function rXe(e){this.a=e}function iXe(e){this.a=e}function sXe(e){this.a=e}function aXe(e){this.a=e}function oXe(e){this.a=e}function cXe(e){this.a=e}function uXe(e){this.a=e}function lXe(e){this.a=e}function hXe(e){this.a=e}function fXe(e){this.a=e}function qg(e){this.a=e}function T5(e){this.a=e}function dXe(e){this.a=e}function gXe(e){this.a=e}function pXe(e){this.a=e}function bXe(e){this.a=e}function mXe(e){this.a=e}function vXe(e){this.a=e}function wXe(e){this.a=e}function yXe(e){this.a=e}function xXe(e){this.a=e}function kXe(e){this.a=e}function EXe(e){this.a=e}function TXe(e){this.a=e}function CXe(e){this.a=e}function SXe(e){this.a=e}function _Xe(e){this.a=e}function AXe(e){this.a=e}function LXe(e){this.a=e}function MXe(e){this.a=e}function DXe(e){this.a=e}function IXe(e){this.a=e}function OXe(e){this.a=e}function NXe(e){this.a=e}function PXe(e){this.a=e}function BXe(e){this.a=e}function FXe(e){this.a=e}function RXe(e){this.a=e}function Oz(e){this.a=e}function jXe(e){this.f=e}function $Xe(e){this.a=e}function zXe(e){this.a=e}function qXe(e){this.a=e}function HXe(e){this.a=e}function VXe(e){this.a=e}function UXe(e){this.a=e}function GXe(e){this.a=e}function KXe(e){this.a=e}function WXe(e){this.a=e}function YXe(e){this.a=e}function XXe(e){this.a=e}function QXe(e){this.a=e}function JXe(e){this.a=e}function ZXe(e){this.a=e}function eQe(e){this.a=e}function tQe(e){this.a=e}function nQe(e){this.a=e}function rQe(e){this.a=e}function iQe(e){this.a=e}function sQe(e){this.a=e}function aQe(e){this.a=e}function oQe(e){this.a=e}function cQe(e){this.a=e}function uQe(e){this.a=e}function lQe(e){this.a=e}function hQe(e){this.a=e}function fQe(e){this.a=e}function dQe(e){this.a=e}function Nie(e){this.a=e}function ywe(e){this.a=e}function Ui(e){this.b=e}function gQe(e){this.a=e}function pQe(e){this.a=e}function bQe(e){this.a=e}function mQe(e){this.a=e}function vQe(e){this.a=e}function wQe(e){this.a=e}function yQe(e){this.a=e}function xQe(e){this.b=e}function kQe(e){this.a=e}function GI(e){this.a=e}function EQe(e){this.a=e}function TQe(e){this.a=e}function xwe(e){this.c=e}function Nz(e){this.e=e}function Pz(e){this.a=e}function Bz(e){this.a=e}function Pie(e){this.a=e}function CQe(e){this.d=e}function SQe(e){this.a=e}function kwe(e){this.a=e}function Ewe(e){this.a=e}function Qv(e){this.e=e}function Fcn(){this.a=0}function Pr(){Nl(this)}function bt(){Yse(this)}function Bie(){hat(this)}function _Qe(){}function Jv(){this.c=LPe}function AQe(e,t){e.b+=t}function Rcn(e,t){t.Wb(e)}function jcn(e){return e.a}function $cn(e){return e.a}function zcn(e){return e.a}function qcn(e){return e.a}function Hcn(e){return e.a}function ue(e){return e.e}function Vcn(){return null}function Ucn(){return null}function Gcn(){c3e(),CIn()}function Kcn(e){e.b.Of(e.e)}function LQe(e){e.b=new nse}function n_(e,t){e.b=t-e.b}function r_(e,t){e.a=t-e.a}function zn(e,t){e.push(t)}function MQe(e,t){e.sort(t)}function DQe(e,t){t.jd(e.a)}function Wcn(e,t){fa(t,e)}function Ycn(e,t,n){e.Yd(n,t)}function KI(e,t){e.e=t,t.b=e}function Twe(e){bd(),this.a=e}function IQe(e){bd(),this.a=e}function OQe(e){bd(),this.a=e}function Fie(e){yw(),this.a=e}function NQe(e){Yk(),S0e.le(e)}function Cwe(){Cwe=U,new Pr}function Tm(){trt.call(this)}function Swe(){trt.call(this)}function _we(){Tm.call(this)}function Rie(){Tm.call(this)}function PQe(){Tm.call(this)}function WI(){Tm.call(this)}function ml(){Tm.call(this)}function C8(){Tm.call(this)}function Qr(){Tm.call(this)}function Yh(){Tm.call(this)}function BQe(){Tm.call(this)}function _c(){Tm.call(this)}function FQe(){Tm.call(this)}function RQe(){this.a=this}function Fz(){this.Bb|=256}function jQe(){this.b=new Wtt}function ay(e,t){e.length=t}function Rz(e,t){vt(e.a,t)}function Xcn(e,t){Jxe(e.c,t)}function Qcn(e,t){ra(e.b,t)}function Jcn(e,t){oU(e.a,t)}function Zcn(e,t){Fce(e.a,t)}function yk(e,t){Pi(e.e,t)}function S8(e){EU(e.c,e.b)}function eun(e,t){e.kc().Nb(t)}function Awe(e){this.a=G4n(e)}function Ks(){this.a=new Pr}function $Qe(){this.a=new Pr}function Lwe(){this.a=new set}function jz(){this.a=new bt}function jie(){this.a=new bt}function Mwe(){this.a=new bt}function Sf(){this.a=new gm}function Cm(){this.a=new Fut}function Dwe(){this.a=new pm}function Iwe(){this.a=new Lot}function Owe(){this.a=new zrt}function zQe(){this.a=new bt}function qQe(){this.a=new bt}function HQe(){this.a=new bt}function Nwe(){this.a=new bt}function VQe(){this.d=new bt}function UQe(){this.a=new Yot}function GQe(){this.a=new Ks}function KQe(){this.a=new Pr}function WQe(){this.b=new Pr}function YQe(){this.b=new bt}function Pwe(){this.e=new bt}function XQe(){this.a=new Kre}function QQe(){this.d=new bt}function JQe(){eot.call(this)}function ZQe(){eot.call(this)}function eJe(){bt.call(this)}function Bwe(){_we.call(this)}function Fwe(){jz.call(this)}function tJe(){Vq.call(this)}function nJe(){Nwe.call(this)}function i_(){_Qe.call(this)}function $ie(){i_.call(this)}function _8(){_Qe.call(this)}function Rwe(){_8.call(this)}function rJe(){qwe.call(this)}function iJe(){qwe.call(this)}function sJe(){qwe.call(this)}function aJe(){Hwe.call(this)}function s_(){Wne.call(this)}function jwe(){Wne.call(this)}function vl(){as.call(this)}function oJe(){kJe.call(this)}function cJe(){kJe.call(this)}function uJe(){Pr.call(this)}function lJe(){Pr.call(this)}function hJe(){Pr.call(this)}function zie(){cft.call(this)}function fJe(){Ks.call(this)}function dJe(){Fz.call(this)}function qie(){kye.call(this)}function $we(){Pr.call(this)}function Hie(){kye.call(this)}function Vie(){Pr.call(this)}function gJe(){Pr.call(this)}function zwe(){b5.call(this)}function pJe(){zwe.call(this)}function bJe(){b5.call(this)}function mJe(){J$.call(this)}function qwe(){this.a=new Ks}function vJe(){this.a=new Pr}function wJe(){this.a=new bt}function Hwe(){this.a=new Pr}function A8(){this.a=new as}function yJe(){this.j=new bt}function xJe(){this.a=new wZe}function kJe(){this.a=new Qne}function Vwe(){this.a=new hs}function a_(){a_=U,v0e=new _}function Uie(){Uie=U,w0e=new TJe}function Gie(){Gie=U,y0e=new EJe}function EJe(){gk.call(this,"")}function TJe(){gk.call(this,"")}function CJe(e){Dht.call(this,e)}function SJe(e){Dht.call(this,e)}function Uwe(e){vz.call(this,e)}function Gwe(e){WZe.call(this,e)}function tun(e){WZe.call(this,e)}function nun(e){Gwe.call(this,e)}function run(e){Gwe.call(this,e)}function iun(e){Gwe.call(this,e)}function _Je(e){Toe.call(this,e)}function AJe(e){Toe.call(this,e)}function LJe(e){uit.call(this,e)}function MJe(e){p3e.call(this,e)}function o_(e){Xz.call(this,e)}function Kwe(e){Xz.call(this,e)}function DJe(e){Xz.call(this,e)}function Wwe(e){S9n.call(this,e)}function Ywe(e){Wwe.call(this,e)}function Ac(e){Mst.call(this,e)}function IJe(e){Ac.call(this,e)}function L8(){vk.call(this,{})}function OJe(){OJe=U,b6t=new G}function $z(){$z=U,E0e=new Dnt}function NJe(){NJe=U,USe=new T}function Xwe(){Xwe=U,GSe=new ae}function zz(){zz=U,OL=new de}function Kie(e){Ik(),this.a=e}function Wie(e){E7e(),this.a=e}function Zv(e){Iae(),this.f=e}function Yie(e){Iae(),this.f=e}function PJe(e){mit(),this.a=e}function BJe(e){e.b=null,e.c=0}function sun(e,t){e.e=t,mbt(e,t)}function aun(e,t){e.a=t,dkn(e)}function Xie(e,t,n){e.a[t.g]=n}function oun(e,t,n){A8n(n,e,t)}function cun(e,t){r0n(t.i,e.n)}function FJe(e,t){_yn(e).Cd(t)}function uun(e,t){e.a.ec().Mc(t)}function RJe(e,t){return e.g-t.g}function lun(e,t){return e*e/t}function Rt(e){return nr(e),e}function ze(e){return nr(e),e}function YI(e){return nr(e),e}function hun(e){return new mk(e)}function fun(e){return new yy(e)}function Qwe(e){return nr(e),e}function dun(e){return nr(e),e}function qz(e){Ac.call(this,e)}function ec(e){Ac.call(this,e)}function jJe(e){Ac.call(this,e)}function Qie(e){Mst.call(this,e)}function xk(e){Ac.call(this,e)}function Yn(e){Ac.call(this,e)}function tc(e){Ac.call(this,e)}function $Je(e){Ac.call(this,e)}function M8(e){Ac.call(this,e)}function Vp(e){Ac.call(this,e)}function Up(e){Ac.call(this,e)}function D8(e){Ac.call(this,e)}function ld(e){Ac.call(this,e)}function Jie(e){Ac.call(this,e)}function ri(e){Ac.call(this,e)}function Il(e){nr(e),this.a=e}function Jwe(e){return Vm(e),e}function c_(e){l5e(e,e.length)}function u_(e){return e.b==e.c}function oy(e){return!!e&&e.b}function gun(e){return!!e&&e.k}function pun(e){return!!e&&e.j}function bun(e,t,n){e.c.Ef(t,n)}function zJe(e,t){e.be(t),t.ae(e)}function I8(e){bd(),this.a=Xr(e)}function Zie(){this.a=ei(Xr(Eo))}function qJe(){throw ue(new Qr)}function mun(){throw ue(new Qr)}function Zwe(){throw ue(new Qr)}function HJe(){throw ue(new Qr)}function vun(){throw ue(new Qr)}function wun(){throw ue(new Qr)}function Hz(){Hz=U,Yk()}function Gp(){Nr.call(this,"")}function l_(){Nr.call(this,"")}function nb(){Nr.call(this,"")}function C5(){Nr.call(this,"")}function e3e(e){ec.call(this,e)}function t3e(e){ec.call(this,e)}function hd(e){Yn.call(this,e)}function kk(e){$a.call(this,e)}function VJe(e){kk.call(this,e)}function ese(e){jq.call(this,e)}function tse(e){Nye.call(this,e,0)}function nse(){G5e.call(this,12,3)}function le(e,t){return Eot(e,t)}function Vz(e,t){return joe(e,t)}function yun(e,t){return e.a-t.a}function xun(e,t){return e.a-t.a}function kun(e,t){return e.a-t.a}function Eun(e,t){return t in e.a}function UJe(e){return e.a?e.b:0}function Tun(e){return e.a?e.b:0}function Cun(e,t,n){t.Cd(e.a[n])}function Sun(e,t,n){t.Pe(e.a[n])}function _un(e,t){e.b=new xo(t)}function Aun(e,t){return e.b=t,e}function GJe(e,t){return e.c=t,e}function KJe(e,t){return e.f=t,e}function Lun(e,t){return e.g=t,e}function n3e(e,t){return e.a=t,e}function r3e(e,t){return e.f=t,e}function Mun(e,t){return e.k=t,e}function i3e(e,t){return e.a=t,e}function Dun(e,t){return e.e=t,e}function s3e(e,t){return e.e=t,e}function Iun(e,t){return e.f=t,e}function Oun(e,t){e.b=!0,e.d=t}function Nun(e,t){return e.b-t.b}function Pun(e,t){return e.g-t.g}function Bun(e,t){return e?0:t-1}function WJe(e,t){return e?0:t-1}function Fun(e,t){return e?t-1:0}function Run(e,t){return e.s-t.s}function jun(e,t){return t.rg(e)}function ew(e,t){return e.b=t,e}function Uz(e,t){return e.a=t,e}function tw(e,t){return e.c=t,e}function nw(e,t){return e.d=t,e}function rw(e,t){return e.e=t,e}function a3e(e,t){return e.f=t,e}function h_(e,t){return e.a=t,e}function Ek(e,t){return e.b=t,e}function Tk(e,t){return e.c=t,e}function Qt(e,t){return e.c=t,e}function yn(e,t){return e.b=t,e}function Jt(e,t){return e.d=t,e}function Zt(e,t){return e.e=t,e}function $un(e,t){return e.f=t,e}function en(e,t){return e.g=t,e}function tn(e,t){return e.a=t,e}function nn(e,t){return e.i=t,e}function rn(e,t){return e.j=t,e}function zun(e,t){Sb(),Mc(t,e)}function qun(e,t,n){ign(e.a,t,n)}function Gz(e){dae.call(this,e)}function YJe(e){o5n.call(this,e)}function XJe(e){Dat.call(this,e)}function o3e(e){Dat.call(this,e)}function rb(e){Mw.call(this,e)}function QJe(e){noe.call(this,e)}function JJe(e){noe.call(this,e)}function ZJe(){bye.call(this,"")}function qa(){this.a=0,this.b=0}function eZe(){this.b=0,this.a=0}function tZe(e,t){e.b=0,My(e,t)}function nZe(e,t){return e.k=t,e}function Hun(e,t){return e.j=t,e}function Vun(e,t){e.c=t,e.b=!0}function rZe(){rZe=U,L6t=txn()}function ib(){ib=U,k_t=f8n()}function iZe(){iZe=U,La=Txn()}function c3e(){c3e=U,Jb=lE()}function Ck(){Ck=U,APe=d8n()}function sZe(){sZe=U,aAt=g8n()}function u3e(){u3e=U,tu=lkn()}function V0(e){return e.e&&e.e()}function aZe(e){return e.l|e.m<<22}function oZe(e,t){return e.c._b(t)}function cZe(e,t){return o1t(e.b,t)}function rse(e){return e?e.d:null}function Uun(e){return e?e.g:null}function Gun(e){return e?e.i:null}function Sm(e){return Ug(e),e.o}function S5(e,t){return e.a+=t,e}function ise(e,t){return e.a+=t,e}function Kp(e,t){return e.a+=t,e}function iw(e,t){return e.a+=t,e}function l3e(e,t){for(;e.Bd(t););}function Kz(e){this.a=new O8(e)}function uZe(){throw ue(new Qr)}function lZe(){throw ue(new Qr)}function hZe(){throw ue(new Qr)}function fZe(){throw ue(new Qr)}function dZe(){throw ue(new Qr)}function gZe(){throw ue(new Qr)}function Wp(e){this.a=new Pae(e)}function pZe(){this.a=new VA(EIe)}function bZe(){this.b=new VA(qDe)}function mZe(){this.a=new VA(KIe)}function vZe(){this.b=new VA(pge)}function wZe(){this.b=new VA(pge)}function Wz(e){this.a=0,this.b=e}function h3e(e){Yvt(),RIn(this,e)}function Sk(e){return db(e),e.a}function XI(e){return e.b!=e.d.c}function f3e(e,t){return e.d[t.p]}function yZe(e,t){return tSn(e,t)}function d3e(e,t,n){e.splice(t,n)}function _5(e,t){for(;e.Re(t););}function xZe(e){e.c?Pbt(e):Bbt(e)}function kZe(){throw ue(new Qr)}function EZe(){throw ue(new Qr)}function TZe(){throw ue(new Qr)}function CZe(){throw ue(new Qr)}function SZe(){throw ue(new Qr)}function _Ze(){throw ue(new Qr)}function AZe(){throw ue(new Qr)}function LZe(){throw ue(new Qr)}function MZe(){throw ue(new Qr)}function DZe(){throw ue(new Qr)}function Kun(){throw ue(new _c)}function Wun(){throw ue(new _c)}function QI(e){this.a=new IZe(e)}function IZe(e){Jwn(this,e,M9n())}function JI(e){return!e||lat(e)}function ZI(e){return Z1[e]!=-1}function Yun(){aK!=0&&(aK=0),oK=-1}function OZe(){m0e==null&&(m0e=[])}function eO(e,t){z5.call(this,e,t)}function _k(e,t){eO.call(this,e,t)}function NZe(e,t){this.a=e,this.b=t}function PZe(e,t){this.a=e,this.b=t}function BZe(e,t){this.a=e,this.b=t}function FZe(e,t){this.a=e,this.b=t}function RZe(e,t){this.a=e,this.b=t}function jZe(e,t){this.a=e,this.b=t}function $Ze(e,t){this.a=e,this.b=t}function Ak(e,t){this.e=e,this.d=t}function g3e(e,t){this.b=e,this.c=t}function zZe(e,t){this.b=e,this.a=t}function qZe(e,t){this.b=e,this.a=t}function HZe(e,t){this.b=e,this.a=t}function VZe(e,t){this.b=e,this.a=t}function UZe(e,t){this.a=e,this.b=t}function sse(e,t){this.a=e,this.b=t}function GZe(e,t){this.a=e,this.f=t}function sw(e,t){this.g=e,this.i=t}function Ur(e,t){this.f=e,this.g=t}function KZe(e,t){this.b=e,this.c=t}function WZe(e){Tye(e.dc()),this.c=e}function Xun(e,t){this.a=e,this.b=t}function YZe(e,t){this.a=e,this.b=t}function XZe(e){this.a=l(Xr(e),15)}function p3e(e){this.a=l(Xr(e),15)}function QZe(e){this.a=l(Xr(e),85)}function Yz(e){this.b=l(Xr(e),85)}function Xz(e){this.b=l(Xr(e),51)}function Qz(){this.q=new b.Date}function ase(e,t){this.a=e,this.b=t}function JZe(e,t){return Vu(e.b,t)}function tO(e,t){return e.b.Hc(t)}function ZZe(e,t){return e.b.Ic(t)}function eet(e,t){return e.b.Qc(t)}function tet(e,t){return e.b.Hc(t)}function net(e,t){return e.c.uc(t)}function ret(e,t){return Bi(e.c,t)}function U0(e,t){return e.a._b(t)}function iet(e,t){return e>t&&t0}function fse(e,t){return iu(e,t)<0}function xet(e,t){return Aae(e.a,t)}function pln(e,t){Tot.call(this,e,t)}function k3e(e){Kae(),uit.call(this,e)}function E3e(e,t){mst(e,e.length,t)}function sO(e,t){Ust(e,e.length,t)}function w_(e,t){return e.a.get(t)}function ket(e,t){return Vu(e.e,t)}function T3e(e){return nr(e),!1}function C3e(e){this.a=l(Xr(e),229)}function aq(e){kn.call(this,e,21)}function oq(e,t){Ur.call(this,e,t)}function dse(e,t){Ur.call(this,e,t)}function Eet(e,t){this.b=e,this.a=t}function cq(e,t){this.d=e,this.e=t}function Tet(e,t){this.a=e,this.b=t}function Cet(e,t){this.a=e,this.b=t}function _et(e,t){this.a=e,this.b=t}function Aet(e,t){this.a=e,this.b=t}function P8(e,t){this.a=e,this.b=t}function Let(e,t){this.b=e,this.a=t}function S3e(e,t){this.b=e,this.a=t}function _3e(e,t){Ur.call(this,e,t)}function A3e(e,t){Ur.call(this,e,t)}function A5(e,t){Ur.call(this,e,t)}function gse(e,t){Ur.call(this,e,t)}function pse(e,t){Ur.call(this,e,t)}function bse(e,t){Ur.call(this,e,t)}function uq(e,t){Ur.call(this,e,t)}function L3e(e,t){this.b=e,this.a=t}function lq(e,t){Ur.call(this,e,t)}function M3e(e,t){this.b=e,this.a=t}function hq(e,t){Ur.call(this,e,t)}function Met(e,t){this.b=e,this.a=t}function D3e(e,t){Ur.call(this,e,t)}function mse(e,t){Ur.call(this,e,t)}function aO(e,t){Ur.call(this,e,t)}function y_(e,t,n){e.splice(t,0,n)}function bln(e,t,n){e.Mb(n)&&t.Cd(n)}function mln(e,t,n){t.Pe(e.a.Ye(n))}function vln(e,t,n){t.Dd(e.a.Ze(n))}function wln(e,t,n){t.Cd(e.a.Kb(n))}function yln(e,t){return yl(e.c,t)}function xln(e,t){return yl(e.e,t)}function fq(e,t){Ur.call(this,e,t)}function dq(e,t){Ur.call(this,e,t)}function x_(e,t){Ur.call(this,e,t)}function I3e(e,t){Ur.call(this,e,t)}function Ws(e,t){Ur.call(this,e,t)}function gq(e,t){Ur.call(this,e,t)}function Det(e,t){this.a=e,this.b=t}function Iet(e,t){this.a=e,this.b=t}function Oet(e,t){this.a=e,this.b=t}function Net(e,t){this.a=e,this.b=t}function Pet(e,t){this.a=e,this.b=t}function Bet(e,t){this.a=e,this.b=t}function Fet(e,t){this.b=e,this.a=t}function Ret(e,t){this.b=e,this.a=t}function O3e(e,t){this.b=e,this.a=t}function Dk(e,t){this.c=e,this.d=t}function jet(e,t){this.e=e,this.d=t}function $et(e,t){this.a=e,this.b=t}function zet(e,t){this.a=e,this.b=t}function qet(e,t){this.a=e,this.b=t}function Het(e,t){this.b=e,this.a=t}function Vet(e,t){this.b=t,this.c=e}function pq(e,t){Ur.call(this,e,t)}function oO(e,t){Ur.call(this,e,t)}function vse(e,t){Ur.call(this,e,t)}function N3e(e,t){Ur.call(this,e,t)}function k_(e,t){Ur.call(this,e,t)}function wse(e,t){Ur.call(this,e,t)}function yse(e,t){Ur.call(this,e,t)}function cO(e,t){Ur.call(this,e,t)}function P3e(e,t){Ur.call(this,e,t)}function xse(e,t){Ur.call(this,e,t)}function E_(e,t){Ur.call(this,e,t)}function B3e(e,t){Ur.call(this,e,t)}function T_(e,t){Ur.call(this,e,t)}function C_(e,t){Ur.call(this,e,t)}function uy(e,t){Ur.call(this,e,t)}function kse(e,t){Ur.call(this,e,t)}function Ese(e,t){Ur.call(this,e,t)}function F3e(e,t){Ur.call(this,e,t)}function uO(e,t){Ur.call(this,e,t)}function L5(e,t){Ur.call(this,e,t)}function Tse(e,t){Ur.call(this,e,t)}function bq(e,t){Ur.call(this,e,t)}function lO(e,t){Ur.call(this,e,t)}function ly(e,t){Ur.call(this,e,t)}function mq(e,t){Ur.call(this,e,t)}function R3e(e,t){Ur.call(this,e,t)}function Cse(e,t){Ur.call(this,e,t)}function Sse(e,t){Ur.call(this,e,t)}function _se(e,t){Ur.call(this,e,t)}function Ase(e,t){Ur.call(this,e,t)}function Lse(e,t){Ur.call(this,e,t)}function Mse(e,t){Ur.call(this,e,t)}function Dse(e,t){Ur.call(this,e,t)}function Uet(e,t){this.b=e,this.a=t}function j3e(e,t){Ur.call(this,e,t)}function Get(e,t){this.a=e,this.b=t}function Ket(e,t){this.a=e,this.b=t}function Wet(e,t){this.a=e,this.b=t}function $3e(e,t){Ur.call(this,e,t)}function z3e(e,t){Ur.call(this,e,t)}function Yet(e,t){this.a=e,this.b=t}function kln(e,t){return Rk(),t!=e}function hO(e){return mr(e.a),e.b}function Ise(e){return LEn(e,e.c),e}function Xet(){return rZe(),new L6t}function Qet(){Yq(),this.a=new i4e}function Jet(){IU(),this.a=new Ks}function Zet(){foe(),this.b=new Ks}function ett(e,t){this.b=e,this.d=t}function ttt(e,t){this.a=e,this.b=t}function ntt(e,t){this.a=e,this.b=t}function rtt(e,t){this.a=e,this.b=t}function itt(e,t){this.b=e,this.a=t}function q3e(e,t){Ur.call(this,e,t)}function H3e(e,t){Ur.call(this,e,t)}function vq(e,t){Ur.call(this,e,t)}function cw(e,t){Ur.call(this,e,t)}function Ose(e,t){Ur.call(this,e,t)}function wq(e,t){Ur.call(this,e,t)}function V3e(e,t){Ur.call(this,e,t)}function U3e(e,t){Ur.call(this,e,t)}function fO(e,t){Ur.call(this,e,t)}function G3e(e,t){Ur.call(this,e,t)}function Nse(e,t){Ur.call(this,e,t)}function yq(e,t){Ur.call(this,e,t)}function Pse(e,t){Ur.call(this,e,t)}function Bse(e,t){Ur.call(this,e,t)}function Fse(e,t){Ur.call(this,e,t)}function Rse(e,t){Ur.call(this,e,t)}function K3e(e,t){Ur.call(this,e,t)}function jse(e,t){Ur.call(this,e,t)}function W3e(e,t){Ur.call(this,e,t)}function dO(e,t){Ur.call(this,e,t)}function $se(e,t){Ur.call(this,e,t)}function Y3e(e,t){Ur.call(this,e,t)}function gO(e,t){Ur.call(this,e,t)}function X3e(e,t){Ur.call(this,e,t)}function stt(e,t){this.b=e,this.a=t}function att(e,t){this.b=e,this.a=t}function ott(e,t){this.b=e,this.a=t}function ctt(e,t){this.b=e,this.a=t}function Q3e(e,t){this.a=e,this.b=t}function utt(e,t){this.a=e,this.b=t}function ltt(e,t){this.a=e,this.b=t}function lt(e,t){this.a=e,this.b=t}function S_(e,t){Ur.call(this,e,t)}function pO(e,t){Ur.call(this,e,t)}function B8(e,t){Ur.call(this,e,t)}function __(e,t){Ur.call(this,e,t)}function bO(e,t){Ur.call(this,e,t)}function zse(e,t){Ur.call(this,e,t)}function xq(e,t){Ur.call(this,e,t)}function A_(e,t){Ur.call(this,e,t)}function qse(e,t){Ur.call(this,e,t)}function kq(e,t){Ur.call(this,e,t)}function M5(e,t){Ur.call(this,e,t)}function mO(e,t){Ur.call(this,e,t)}function L_(e,t){Ur.call(this,e,t)}function M_(e,t){Ur.call(this,e,t)}function vO(e,t){Ur.call(this,e,t)}function Eq(e,t){Ur.call(this,e,t)}function D5(e,t){Ur.call(this,e,t)}function Hse(e,t){Ur.call(this,e,t)}function htt(e,t){Ur.call(this,e,t)}function Tq(e,t){Ur.call(this,e,t)}function ftt(e,t){this.a=e,this.b=t}function dtt(e,t){this.a=e,this.b=t}function gtt(e,t){this.a=e,this.b=t}function ptt(e,t){this.a=e,this.b=t}function btt(e,t){this.a=e,this.b=t}function mtt(e,t){this.a=e,this.b=t}function la(e,t){this.a=e,this.b=t}function vtt(e,t){this.a=e,this.b=t}function wtt(e,t){this.a=e,this.b=t}function ytt(e,t){this.a=e,this.b=t}function xtt(e,t){this.a=e,this.b=t}function ktt(e,t){this.a=e,this.b=t}function Ett(e,t){this.a=e,this.b=t}function Ttt(e,t){this.b=e,this.a=t}function Ctt(e,t){this.b=e,this.a=t}function Stt(e,t){this.b=e,this.a=t}function _tt(e,t){this.b=e,this.a=t}function Att(e,t){this.a=e,this.b=t}function Ltt(e,t){this.a=e,this.b=t}function Cq(e,t){Ur.call(this,e,t)}function Mtt(e,t){this.a=e,this.b=t}function Dtt(e,t){this.a=e,this.b=t}function F8(e,t){Ur.call(this,e,t)}function Itt(e,t){this.f=e,this.c=t}function J3e(e,t){return yl(e.g,t)}function Eln(e,t){return yl(t.b,e)}function Ott(e,t){return Kce(e.a,t)}function Tln(e,t){return-e.b.af(t)}function Cln(e,t){e&&Ei(uF,e,t)}function Z3e(e,t){e.i=null,xV(e,t)}function Sln(e,t,n){Tgt(t,jue(e,n))}function _ln(e,t,n){Tgt(t,jue(e,n))}function Aln(e,t){nCn(e.a,l(t,58))}function Ntt(e,t){Jvn(e.a,l(t,12))}function Sq(e,t){this.a=e,this.b=t}function Ptt(e,t){this.a=e,this.b=t}function Btt(e,t){this.a=e,this.b=t}function Ftt(e,t){this.a=e,this.b=t}function Rtt(e,t){this.a=e,this.b=t}function jtt(e,t){this.d=e,this.b=t}function $tt(e,t){this.e=e,this.a=t}function wO(e,t){this.b=e,this.c=t}function eye(e,t){this.i=e,this.g=t}function tye(e,t){this.d=e,this.e=t}function Lln(e,t){dwn(new or(e),t)}function _q(e){return BN(e.c,e.b)}function lc(e){return e?e.md():null}function qe(e){return e??null}function Oa(e){return typeof e===Ile}function hy(e){return typeof e===Tx}function fy(e){return typeof e===Qke}function uw(e,t){return iu(e,t)==0}function Aq(e,t){return iu(e,t)>=0}function D_(e,t){return iu(e,t)!=0}function Lq(e,t){return M3n(e.Kc(),t)}function ob(e,t){return e.Rd().Xb(t)}function ztt(e){return Ql(e),e.d.gc()}function Mq(e){return H_(e==null),e}function I_(e,t){return e.a+=""+t,e}function Wo(e,t){return e.a+=""+t,e}function O_(e,t){return e.a+=""+t,e}function xu(e,t){return e.a+=""+t,e}function fi(e,t){return e.a+=""+t,e}function nye(e,t){return e.a+=""+t,e}function Mln(e){return""+(nr(e),e)}function qtt(e){Nl(this),pA(this,e)}function Htt(){U5e(),Q4e.call(this)}function Vtt(e,t){n5e.call(this,e,t)}function Utt(e,t){n5e.call(this,e,t)}function Dq(e,t){n5e.call(this,e,t)}function yo(e,t){As(e,t,e.c.b,e.c)}function I5(e,t){As(e,t,e.a,e.a.a)}function rye(e){return Sn(e,0),null}function Gtt(){this.b=0,this.a=!1}function Ktt(){this.b=0,this.a=!1}function Wtt(){this.b=new O8(Ay(12))}function Ytt(){Ytt=U,E7t=Kr(eue())}function Xtt(){Xtt=U,U8t=Kr(abt())}function Qtt(){Qtt=U,gTt=Kr(jft())}function iye(){iye=U,Cwe(),KSe=new Pr}function G0(e){return e.a=0,e.b=0,e}function Jtt(e,t){return e.a=t.g+1,e}function Vse(e,t){my.call(this,e,t)}function bn(e,t){ws.call(this,e,t)}function O5(e,t){eye.call(this,e,t)}function Ztt(e,t){EO.call(this,e,t)}function Use(e,t){bE.call(this,e,t)}function xi(e,t){iq(),Ei(kY,e,t)}function ent(e,t){e.q.setTime(Bm(t))}function Dln(e){b.clearTimeout(e)}function Iln(e){return Xr(e),new N_(e)}function tnt(e,t){return qe(e)===qe(t)}function nnt(e,t){return e.a.a.a.cc(t)}function Gse(e,t){return ef(e.a,0,t)}function sye(e){return Pgn(l(e,74))}function R8(e){return ha((nr(e),e))}function Oln(e){return ha((nr(e),e))}function rnt(e){return Hu(e.l,e.m,e.h)}function aye(e,t){return ru(e.a,t.a)}function Nln(e,t){return Hst(e.a,t.a)}function Pln(e,t){return Yi(e.a,t.a)}function fd(e,t){return e.indexOf(t)}function Bln(e,t){return e.j[t.p]==2}function lw(e,t){return e==t?0:e?1:-1}function Iq(e){return e<10?"0"+e:""+e}function wc(e){return typeof e===Qke}function Fln(e){return e==a3||e==o4}function Rln(e){return e==a3||e==a4}function int(e,t){return ru(e.g,t.g)}function oye(e){return dc(e.b.b,e,0)}function snt(){sH.call(this,0,0,0,0)}function dd(){wr.call(this,new t2)}function cye(e,t){tE(e,0,e.length,t)}function jln(e,t){return vt(e.a,t),t}function $ln(e,t){return o0(),t.a+=e}function zln(e,t){return o0(),t.a+=e}function qln(e,t){return o0(),t.c+=e}function Hln(e,t){return vt(e.c,t),e}function uye(e,t){return Oh(e.a,t),e}function ant(e){this.a=Xet(),this.b=e}function ont(e){this.a=Xet(),this.b=e}function xo(e){this.a=e.a,this.b=e.b}function N_(e){this.a=e,US.call(this)}function cnt(e){this.a=e,US.call(this)}function j8(){Zh.call(this,0,0,0,0)}function Oq(e){return Oh(new Xs,e)}function unt(e){return EH(l(e,123))}function fh(e){return e.vh()&&e.wh()}function N5(e){return e!=X1&&e!=Yb}function Vg(e){return e==cc||e==mc}function P5(e){return e==vf||e==W1}function lnt(e){return e==U6||e==V6}function Vln(e,t){return ru(e.g,t.g)}function hnt(e,t){return new bE(t,e)}function Uln(e,t){return new bE(t,e)}function lye(e){return fdn(e.b.Kc(),e.a)}function Kse(e,t){TE(e,t),uE(e,e.D)}function Wse(e,t,n){dV(e,t),fV(e,n)}function B5(e,t,n){Iw(e,t),Dw(e,n)}function Xh(e,t,n){Gu(e,t),Ku(e,n)}function yO(e,t,n){sE(e,t),oE(e,n)}function xO(e,t,n){aE(e,t),cE(e,n)}function fnt(e,t,n){Gye.call(this,e,t,n)}function hye(e){Itt.call(this,e,!0)}function dnt(){oq.call(this,"Tail",3)}function gnt(){oq.call(this,"Head",1)}function cb(e){kd(),S3n.call(this,e)}function hw(e){sH.call(this,e,e,e,e)}function Yse(e){e.c=We(ya,Rn,1,0,5,1)}function fye(e){return e.b&&gle(e),e.a}function dye(e){return e.b&&gle(e),e.c}function Gln(e,t){H1||(e.b=t)}function Kln(e,t){return e[e.length]=t}function Wln(e,t){return e[e.length]=t}function Yln(e,t){return Ly(t,_1(e))}function Xln(e,t){return Ly(t,_1(e))}function Qln(e,t){return vV(Uae(e.d),t)}function Jln(e,t){return vV(Uae(e.g),t)}function Zln(e,t){return vV(Uae(e.j),t)}function Ha(e,t){ws.call(this,e.b,t)}function ehn(e,t){qr(gu(e.a),Pot(t))}function thn(e,t){qr(Xl(e.a),Bot(t))}function nhn(e,t,n){Xh(n,n.i+e,n.j+t)}function pnt(e,t,n){_s(e.c[t.g],t.g,n)}function rhn(e,t,n){l(e.c,71).Gi(t,n)}function Xse(e,t,n){return _s(e,t,n),n}function bnt(e){Uu(e.Sf(),new Mie(e))}function F5(e){return e!=null?Zi(e):0}function ihn(e){return e==null?0:Zi(e)}function P_(e){Ii(),Qv.call(this,e)}function mnt(e){this.a=e,_4e.call(this,e)}function C1(){C1=U,b.Math.log(2)}function Qh(){Qh=U,Cg=(wet(),A_t)}function vnt(){vnt=U,Mde=new AA(Vge)}function Jr(){Jr=U,new wnt,new bt}function wnt(){new Pr,new Pr,new Pr}function shn(){throw ue(new Vp(e6t))}function ahn(){throw ue(new Vp(e6t))}function ohn(){throw ue(new Vp(t6t))}function chn(){throw ue(new Vp(t6t))}function Qse(e){this.a=e,Yz.call(this,e)}function Jse(e){this.a=e,Yz.call(this,e)}function ynt(e,t){yw(),this.a=e,this.b=t}function uhn(e,t){Xr(t),H5(e).Jc(new ie)}function Vs(e,t){Lae(e.c,e.c.length,t)}function Lc(e){return e.at?1:0}function pye(e,t){return iu(e,t)>0?e:t}function Hu(e,t,n){return{l:e,m:t,h:n}}function lhn(e,t){e.a!=null&&Ntt(t,e.a)}function hhn(e){fo(e,null),Fa(e,null)}function fhn(e,t,n){return Ei(e.g,n,t)}function R5(e,t,n){return R8e(t,n,e.c)}function dhn(e,t,n){return Ei(e.k,n,t)}function ghn(e,t,n){return ZMn(e,t,n),n}function phn(e,t){return Ah(),t.n.b+=e}function knt(e){R5e.call(this),this.b=e}function bye(e){r4e.call(this),this.a=e}function Ent(){oq.call(this,"Range",2)}function Nq(e){this.b=e,this.a=new bt}function Tnt(e){this.b=new nu,this.a=e}function Cnt(e){e.a=new kt,e.c=new kt}function Snt(e){e.a=new Pr,e.d=new Pr}function _nt(e){doe(e,null),goe(e,null)}function Ant(e,t){return tDn(e.a,t,null)}function bhn(e,t){return Ei(e.a,t.a,t)}function Ja(e){return new lt(e.a,e.b)}function mye(e){return new lt(e.c,e.d)}function mhn(e){return new lt(e.c,e.d)}function B_(e,t){return dMn(e.c,e.b,t)}function De(e,t){return e!=null&&iue(e,t)}function Zse(e,t){return ayn(e.Kc(),t)!=-1}function Pq(e){return e.Ob()?e.Pb():null}function vhn(e){this.b=(Cn(),new tr(e))}function vye(e){this.a=e,Pr.call(this)}function Lnt(){EO.call(this,null,null)}function Mnt(){qq.call(this,null,null)}function Dnt(){Ur.call(this,"INSTANCE",0)}function Int(){mxe(),this.a=new VA(gAe)}function Ont(e){return Df(e,0,e.length)}function whn(e,t){return new Qnt(e.Kc(),t)}function wye(e,t){return e.a.Bc(t)!=null}function Nnt(e,t){$r(e),e.Gc(l(t,15))}function yhn(e,t,n){e.c.bd(t,l(n,136))}function xhn(e,t,n){e.c.Ui(t,l(n,136))}function Pnt(e,t){e.c&&($4e(t),oot(t))}function khn(e,t){e.q.setHours(t),YA(e,t)}function Ehn(e,t){gw(t,e.a.a.a,e.a.a.b)}function Thn(e,t,n,r){_s(e.a[t.g],n.g,r)}function eae(e,t,n){return e.a[t.g][n.g]}function Chn(e,t){return e.e[t.c.p][t.p]}function Shn(e,t){return e.c[t.c.p][t.p]}function S1(e,t){return e.a[t.c.p][t.p]}function _hn(e,t){return e.j[t.p]=RTn(t)}function tae(e,t){return e.a.Bc(t)!=null}function Ahn(e,t){return ze(Ge(t.a))<=e}function Lhn(e,t){return ze(Ge(t.a))>=e}function Mhn(e,t){return E6e(e.f,t.Pg())}function $8(e,t){return e.a*t.a+e.b*t.b}function Dhn(e,t){return e.a0?t/(e*e):t*100}function nfn(e,t){return e>0?t*t/e:t*t*100}function dy(e,t){return l(O1(e.a,t),34)}function rfn(e,t){return Sb(),xn(e,t.e,t)}function ifn(e,t,n){return tq(),n.Mg(e,t)}function sfn(e){return ep(),e.e.a+e.f.a/2}function afn(e,t,n){return ep(),n.e.a-e*t}function ofn(e){return ep(),e.e.b+e.f.b/2}function cfn(e,t,n){return ep(),n.e.b-e*t}function hrt(e){e.d=new crt(e),e.e=new Pr}function frt(){this.a=new Sw,this.b=new Sw}function drt(e){this.c=e,this.a=1,this.b=1}function grt(e){Mle(),LQe(this),this.Ff(e)}function ufn(e,t,n){ZH(),e.pf(t)&&n.Cd(e)}function lfn(e,t,n){return vt(t,C1t(e,n))}function gw(e,t,n){return e.a+=t,e.b+=n,e}function hfn(e,t,n){return e.a*=t,e.b*=n,e}function Fye(e,t){return e.a=t.a,e.b=t.b,e}function Hq(e){return e.a=-e.a,e.b=-e.b,e}function $_(e,t,n){return e.a-=t,e.b-=n,e}function prt(e){as.call(this),hA(this,e)}function brt(){Ur.call(this,"GROW_TREE",0)}function mrt(){Ur.call(this,"POLYOMINO",0)}function gh(e,t,n){El.call(this,e,t,n,2)}function ffn(e,t,n){SA(gu(e.a),t,Pot(n))}function vrt(e,t){v_(),EO.call(this,e,t)}function Rye(e,t){Yp(),qq.call(this,e,t)}function wrt(e,t){Yp(),Rye.call(this,e,t)}function yrt(e,t){Yp(),qq.call(this,e,t)}function dfn(e,t){return e.c.Fc(l(t,136))}function gfn(e,t,n){SA(Xl(e.a),t,Bot(n))}function xrt(e){this.c=e,Gu(e,0),Ku(e,0)}function oae(e,t){Qh(),cH.call(this,e,t)}function krt(e,t){Qh(),oae.call(this,e,t)}function jye(e,t){Qh(),oae.call(this,e,t)}function $ye(e,t){Qh(),cH.call(this,e,t)}function Ert(e,t){Qh(),jye.call(this,e,t)}function Trt(e,t){Qh(),$ye.call(this,e,t)}function Crt(e,t){Qh(),cH.call(this,e,t)}function pfn(e,t,n){return t.zl(e.e,e.c,n)}function bfn(e,t,n){return t.Al(e.e,e.c,n)}function zye(e,t,n){return VU(uN(e,t),n)}function cae(e,t){return xb(e.e,l(t,54))}function mfn(e){return e==null?null:qDn(e)}function vfn(e){return e==null?null:P9n(e)}function wfn(e){return e==null?null:xc(e)}function yfn(e){return e==null?null:xc(e)}function Bt(e){return H_(e==null||hy(e)),e}function Ge(e){return H_(e==null||fy(e)),e}function ei(e){return H_(e==null||Oa(e)),e}function Ug(e){e.o==null&&dTn(e)}function qye(e){if(!e)throw ue(new WI)}function xfn(e){if(!e)throw ue(new Rie)}function mr(e){if(!e)throw ue(new _c)}function gy(e){if(!e)throw ue(new ml)}function Srt(e){if(!e)throw ue(new Yh)}function Bk(){Bk=U,hF=new oJe,new cJe}function q5(){q5=U,W6=new Ui("root")}function Hye(){cft.call(this),this.Bb|=Lo}function kfn(e,t){this.d=e,Mr(this),this.b=t}function Vye(e,t){Poe.call(this,e),this.a=t}function Uye(e,t){Poe.call(this,e),this.a=t}function Gye(e,t,n){YH.call(this,e,t,n,null)}function _rt(e,t,n){YH.call(this,e,t,n,null)}function SO(e,t){this.c=e,Ak.call(this,e,t)}function z_(e,t){this.a=e,SO.call(this,e,t)}function Kye(e){this.q=new b.Date(Bm(e))}function Art(e){return e>8?0:e+1}function Lrt(e,t){H1||vt(e.a,t)}function Efn(e,t){return iO(),pE(t.d.i,e)}function Tfn(e,t){return ux(),new smt(t,e)}function Cfn(e,t,n){return e.Ne(t,n)<=0?n:t}function Sfn(e,t,n){return e.Ne(t,n)<=0?t:n}function _fn(e,t){return l(O1(e.b,t),143)}function Afn(e,t){return l(O1(e.c,t),233)}function uae(e){return l(jt(e.a,e.b),294)}function Mrt(e){return new lt(e.c,e.d+e.a)}function Drt(e){return nr(e),e?1231:1237}function Irt(e){return Ah(),lnt(l(e,203))}function py(){py=U,q_e=un((vh(),Tv))}function Lfn(e,t){t.a?OEn(e,t):tae(e.a,t.b)}function _O(e,t,n){++e.j,e.tj(),Noe(e,t,n)}function Ort(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function Nrt(e,t,n){var r;r=e.fd(t),r.Rb(n)}function Wye(e,t,n){return n=Bh(e,t,6,n),n}function Yye(e,t,n){return n=Bh(e,t,3,n),n}function Xye(e,t,n){return n=Bh(e,t,9,n),n}function pd(e,t){return VO(t,yEe),e.f=t,e}function Qye(e,t){return(t&Oi)%e.d.length}function Prt(e,t,n){return Mke(e.c,e.b,t,n)}function Brt(e,t){this.c=e,Mw.call(this,t)}function Frt(e,t){this.a=e,xQe.call(this,t)}function AO(e,t){this.a=e,xQe.call(this,t)}function ws(e,t){Ui.call(this,e),this.a=t}function Jye(e,t){xwe.call(this,e),this.a=t}function lae(e,t){xwe.call(this,e),this.a=t}function Mfn(e){I8e.call(this,0,0),this.f=e}function Rrt(e,t,n){return e.a+=Df(t,0,n),e}function LO(e){return!e.a&&(e.a=new pe),e.a}function Zye(e,t){var n;return n=e.e,e.e=t,n}function e4e(e,t){var n;return n=t,!!e.Fe(n)}function Dfn(e,t){return Vn(),e==t?0:e?1:-1}function by(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function MO(e){e.b?MO(e.b):e.f.c.zc(e.e,e.d)}function jrt(e){Nl(e.e),e.d.b=e.d,e.d.a=e.d}function Ifn(e,t,n){_m(),Eie(e,t.Ve(e.a,n))}function t4e(e,t,n){return X8(e,l(t,22),n)}function a0(e,t){return Vz(new Array(t),e)}function Ofn(e){return Yr(lb(e,32))^Yr(e)}function hae(e){return String.fromCharCode(e)}function Nfn(e){return e==null?null:e.message}function Pfn(e,t,n){return e.apply(t,n)}function Bfn(e,t){var n;n=e[lhe],n.call(e,t)}function Ffn(e,t){var n;n=e[lhe],n.call(e,t)}function Rfn(e,t){return iO(),!pE(t.d.i,e)}function n4e(e,t,n,r){sH.call(this,e,t,n,r)}function $rt(){Vq.call(this),this.a=new qa}function r4e(){this.n=new qa,this.o=new qa}function zrt(){this.b=new qa,this.c=new bt}function qrt(){this.a=new bt,this.b=new bt}function Hrt(){this.a=new pm,this.b=new jQe}function i4e(){this.b=new t2,this.a=new t2}function Vrt(){this.b=new Ks,this.a=new Ks}function Urt(){this.b=new Pr,this.a=new Pr}function Grt(){this.b=new bZe,this.a=new TS}function Krt(){this.a=new Wre,this.b=new Aee}function Wrt(){this.a=new bt,this.d=new bt}function Vq(){this.n=new _8,this.i=new j8}function Yrt(e){this.a=(Ih(e,Yy),new Bu(e))}function Xrt(e){this.a=(Ih(e,Yy),new Bu(e))}function jfn(e){return e<100?null:new rb(e)}function $fn(e,t){return e.n.a=(nr(t),t+10)}function zfn(e,t){return e.n.a=(nr(t),t+10)}function qfn(e,t){return t==e||RE(_U(t),e)}function Qrt(e,t){return Ei(e.a,t,"")==null}function Hfn(e,t){var n;return n=t.qi(e.a),n}function Ni(e,t){return e.a+=t.a,e.b+=t.b,e}function va(e,t){return e.a-=t.a,e.b-=t.b,e}function Vfn(e){return ay(e.j.c,0),e.a=-1,e}function s4e(e,t,n){return n=Bh(e,t,11,n),n}function Ufn(e,t,n){n!=null&&wV(t,pue(e,n))}function Gfn(e,t,n){n!=null&&yV(t,pue(e,n))}function H8(e,t,n,r){nt.call(this,e,t,n,r)}function a4e(e,t,n,r){nt.call(this,e,t,n,r)}function Jrt(e,t,n,r){a4e.call(this,e,t,n,r)}function Zrt(e,t,n,r){pH.call(this,e,t,n,r)}function fae(e,t,n,r){pH.call(this,e,t,n,r)}function o4e(e,t,n,r){pH.call(this,e,t,n,r)}function eit(e,t,n,r){fae.call(this,e,t,n,r)}function c4e(e,t,n,r){fae.call(this,e,t,n,r)}function An(e,t,n,r){o4e.call(this,e,t,n,r)}function tit(e,t,n,r){c4e.call(this,e,t,n,r)}function nit(e,t,n,r){a5e.call(this,e,t,n,r)}function my(e,t){ec.call(this,TL+e+sv+t)}function u4e(e,t){return e.jk().wi().ri(e,t)}function l4e(e,t){return e.jk().wi().ti(e,t)}function rit(e,t){return nr(e),qe(e)===qe(t)}function wn(e,t){return nr(e),qe(e)===qe(t)}function Kfn(e,t){return e.b.Bd(new Cet(e,t))}function Wfn(e,t){return e.b.Bd(new _et(e,t))}function iit(e,t){return e.b.Bd(new Aet(e,t))}function Yfn(e,t){return e.e=l(e.d.Kb(t),159)}function h4e(e,t,n){return e.lastIndexOf(t,n)}function Xfn(e,t,n){return Yi(e[t.a],e[n.a])}function Qfn(e,t){return rt(t,(Nt(),EB),e)}function Jfn(e,t){return ru(t.a.d.p,e.a.d.p)}function Zfn(e,t){return ru(e.a.d.p,t.a.d.p)}function e0n(e,t){return Yi(e.c-e.s,t.c-t.s)}function t0n(e,t){return Yi(e.b.e.a,t.b.e.a)}function n0n(e,t){return Yi(e.c.e.a,t.c.e.a)}function sit(e){return e.c?dc(e.c.a,e,0):-1}function V8(e){return e==Ev||e==Eg||e==Iu}function f4e(e,t){this.c=e,jae.call(this,e,t)}function ait(e,t,n){this.a=e,Nye.call(this,t,n)}function oit(e){this.c=e,Dq.call(this,kP,0)}function cit(e,t,n){this.c=t,this.b=n,this.a=e}function DO(e){Rk(),this.d=e,this.a=new $5}function uit(e){bd(),this.a=(Cn(),new kk(e))}function r0n(e,t){Vg(e.f)?sTn(e,t):Bxn(e,t)}function lit(e,t){bdn.call(this,e,e.length,t)}function i0n(e,t){H1||t&&(e.d=t)}function hit(e,t){return De(t,15)&&jbt(e.c,t)}function s0n(e,t,n){return l(e.c,71).Wk(t,n)}function Uq(e,t,n){return l(e.c,71).Xk(t,n)}function a0n(e,t,n){return pfn(e,l(t,343),n)}function d4e(e,t,n){return bfn(e,l(t,343),n)}function o0n(e,t,n){return Igt(e,l(t,343),n)}function fit(e,t,n){return Yxn(e,l(t,343),n)}function q_(e,t){return t==null?null:Oy(e.b,t)}function g4e(e){return fy(e)?(nr(e),e):e.ue()}function Gq(e){return!isNaN(e)&&!isFinite(e)}function dae(e){Cnt(this),_h(this),Ka(this,e)}function Ol(e){Yse(this),M4e(this.c,0,e.Pc())}function Jh(e,t,n){this.a=e,this.b=t,this.c=n}function dit(e,t,n){this.a=e,this.b=t,this.c=n}function git(e,t,n){this.d=e,this.b=n,this.a=t}function pit(e){this.a=e,Hg(),Zc(Date.now())}function bit(e){bh(e.a),L6e(e.c,e.b),e.b=null}function gae(){gae=U,p_e=new Et,M6t=new Gt}function mit(){mit=U,O_t=We(ya,Rn,1,0,5,1)}function vit(){vit=U,Q_t=We(ya,Rn,1,0,5,1)}function p4e(){p4e=U,J_t=We(ya,Rn,1,0,5,1)}function bd(){bd=U,new Twe((Cn(),Cn(),Co))}function c0n(e){return nE(),Gr((Tlt(),O6t),e)}function u0n(e){return Fl(),Gr((glt(),j6t),e)}function l0n(e){return ZV(),Gr((Zct(),U6t),e)}function h0n(e){return aV(),Gr((eut(),G6t),e)}function f0n(e){return PU(),Gr((Zft(),K6t),e)}function d0n(e){return J0(),Gr((flt(),X6t),e)}function g0n(e){return Bl(),Gr((hlt(),J6t),e)}function p0n(e){return cl(),Gr((dlt(),e7t),e)}function b0n(e){return YU(),Gr((Ytt(),E7t),e)}function m0n(e){return Bw(),Gr((Slt(),C7t),e)}function v0n(e){return px(),Gr((Alt(),_7t),e)}function w0n(e){return OA(),Gr((_lt(),M7t),e)}function y0n(e){return Zz(),Gr((Cct(),D7t),e)}function x0n(e){return oV(),Gr((tut(),W7t),e)}function k0n(e){return uA(),Gr((plt(),y8t),e)}function E0n(e){return oo(),Gr((uht(),T8t),e)}function T0n(e){return vE(),Gr((Mlt(),L8t),e)}function C0n(e){return Gm(),Gr((Llt(),P8t),e)}function b4e(e,t){if(!e)throw ue(new Yn(t))}function Fk(e){if(!e)throw ue(new tc(Jke))}function pae(e,t){if(e!=t)throw ue(new Yh)}function wit(e,t,n){this.a=e,this.b=t,this.c=n}function m4e(e,t,n){this.a=e,this.b=t,this.c=n}function yit(e,t,n){this.a=e,this.b=t,this.c=n}function Kq(e,t,n){this.b=e,this.a=t,this.c=n}function v4e(e,t,n){this.b=e,this.c=t,this.a=n}function w4e(e,t,n){this.a=e,this.b=t,this.c=n}function Wq(e,t,n){this.e=t,this.b=e,this.d=n}function xit(e,t,n){this.b=e,this.a=t,this.c=n}function S0n(e,t,n){return _m(),e.a.Yd(t,n),t}function bae(e){var t;return t=new qu,t.e=e,t}function y4e(e){var t;return t=new VQe,t.b=e,t}function IO(){IO=U,CK=new pZ,SK=new dj}function Yq(){Yq=U,X8t=new SZ,Y8t=new pS}function o0(){o0=U,txt=new iee,nxt=new see}function _0n(e){return Nw(),Gr((Gut(),fxt),e)}function A0n(e){return bo(),Gr((Xtt(),U8t),e)}function L0n(e){return IV(),Gr((Ilt(),W8t),e)}function M0n(e){return P1(),Gr((Dlt(),sxt),e)}function D0n(e){return Ry(),Gr((lht(),oxt),e)}function I0n(e){return OU(),Gr((Rft(),dxt),e)}function O0n(e){return wx(),Gr((Pht(),gxt),e)}function N0n(e){return JH(),Gr((cut(),pxt),e)}function P0n(e){return fA(),Gr((Vut(),bxt),e)}function B0n(e){return pV(),Gr((Uut(),mxt),e)}function F0n(e){return h2(),Gr((hht(),vxt),e)}function R0n(e){return gN(),Gr((iut(),wxt),e)}function j0n(e){return $E(),Gr((Rht(),Cxt),e)}function $0n(e){return zo(),Gr((p0t(),Sxt),e)}function z0n(e){return mE(),Gr((Wut(),_xt),e)}function q0n(e){return Zg(),Gr((Yut(),Lxt),e)}function H0n(e){return zH(),Gr((rut(),Mxt),e)}function V0n(e){return KN(),Gr((Fht(),Txt),e)}function U0n(e){return Hm(),Gr((Kut(),xxt),e)}function G0n(e){return yU(),Gr((Bht(),kxt),e)}function K0n(e){return oN(),Gr((sut(),Ext),e)}function W0n(e){return lf(),Gr((dht(),Dxt),e)}function Y0n(e){return b2(),Gr((Xft(),tEt),e)}function X0n(e){return kA(),Gr((Xut(),nEt),e)}function Q0n(e){return By(),Gr((Olt(),rEt),e)}function J0n(e){return IA(),Gr((fht(),iEt),e)}function Z0n(e){return Of(),Gr((b0t(),sEt),e)}function e1n(e){return yd(),Gr((Nlt(),aEt),e)}function t1n(e){return fN(),Gr((aut(),oEt),e)}function n1n(e){return $o(),Gr((Zut(),uEt),e)}function r1n(e){return LV(),Gr((Qut(),lEt),e)}function i1n(e){return wA(),Gr((Jut(),hEt),e)}function s1n(e){return CE(),Gr((elt(),fEt),e)}function a1n(e){return gV(),Gr((tlt(),dEt),e)}function o1n(e){return OV(),Gr((nlt(),gEt),e)}function c1n(e){return Ow(),Gr((llt(),MEt),e)}function u1n(e){return aA(),Gr((out(),PEt),e)}function l1n(e){return vd(),Gr((hut(),qEt),e)}function h1n(e){return A1(),Gr((fut(),VEt),e)}function f1n(e){return Y0(),Gr((dut(),sTt),e)}function d1n(e){return _w(),Gr((gut(),fTt),e)}function g1n(e){return vx(),Gr((zlt(),dTt),e)}function p1n(e){return KA(),Gr((Qtt(),gTt),e)}function b1n(e){return yA(),Gr((rlt(),pTt),e)}function m1n(e){return xA(),Gr(($lt(),RTt),e)}function v1n(e){return RH(),Gr((uut(),jTt),e)}function w1n(e){return kV(),Gr((lut(),VTt),e)}function y1n(e){return bU(),Gr((ght(),GTt),e)}function x1n(e){return AN(),Gr((ilt(),WTt),e)}function k1n(e){return eV(),Gr((put(),KTt),e)}function E1n(e){return uU(),Gr((jlt(),gCt),e)}function T1n(e){return AV(),Gr((slt(),pCt),e)}function C1n(e){return WV(),Gr((alt(),bCt),e)}function S1n(e){return sU(),Gr((olt(),vCt),e)}function _1n(e){return qV(),Gr((clt(),xCt),e)}function A1n(e){return GH(),Gr((but(),qCt),e)}function L1n(e){return fE(),Gr((nut(),V8t),e)}function M1n(e){return Zn(),Gr((jht(),j8t),e)}function D1n(e){return tV(),Gr((ult(),HCt),e)}function I1n(e){return fce(),Gr((mut(),VCt),e)}function O1n(e){return HA(),Gr((pht(),GCt),e)}function N1n(e){return nq(),Gr((Oct(),WCt),e)}function P1n(e){return NN(),Gr((mlt(),KCt),e)}function B1n(e){return rq(),Gr((Nct(),XCt),e)}function F1n(e){return nN(),Gr((vut(),QCt),e)}function R1n(e){return YN(),Gr((bht(),JCt),e)}function j1n(e){return p_(),Gr((Pct(),gSt),e)}function $1n(e){return TN(),Gr((wut(),pSt),e)}function z1n(e){return e1(),Gr((vht(),xSt),e)}function q1n(e){return p2(),Gr((Bft(),ESt),e)}function H1n(e){return ag(),Gr(($ht(),TSt),e)}function V1n(e){return Wm(),Gr((zht(),MSt),e)}function U1n(e){return Js(),Gr((mht(),YSt),e)}function G1n(e){return N1(),Gr((vlt(),XSt),e)}function K1n(e){return rp(),Gr((qlt(),QSt),e)}function W1n(e){return vU(),Gr((qht(),JSt),e)}function Y1n(e){return np(),Gr((blt(),e_t),e)}function X1n(e){return Nh(),Gr((Hlt(),n_t),e)}function Q1n(e){return qy(),Gr((Jft(),r_t),e)}function J1n(e){return e6(),Gr((wht(),i_t),e)}function Z1n(e){return Ra(),Gr((Hht(),s_t),e)}function edn(e){return Rl(),Gr((Vht(),a_t),e)}function tdn(e){return St(),Gr((yht(),o_t),e)}function ndn(e){return vh(),Gr((Vlt(),f_t),e)}function rdn(e){return Zl(),Gr((Qft(),d_t),e)}function idn(e){return fx(),Gr((wlt(),g_t),e)}function sdn(e,t){return nr(e),e+(nr(t),t)}function adn(e){return mae(),Gr((yut(),p_t),e)}function odn(e){return VV(),Gr((Ult(),b_t),e)}function cdn(e){return NV(),Gr((Glt(),w_t),e)}function Rk(){Rk=U,$De=(St(),er),DW=ar}function mae(){mae=U,rPe=new Qit,iPe=new Bst}function udn(e){return!e.e&&(e.e=new bt),e.e}function vae(e,t){this.c=e,this.a=t,this.b=t-e}function kit(e,t,n){this.a=e,this.b=t,this.c=n}function wae(e,t,n){this.a=e,this.b=t,this.c=n}function x4e(e,t,n){this.a=e,this.b=t,this.c=n}function k4e(e,t,n){this.a=e,this.b=t,this.c=n}function Eit(e,t,n){this.a=e,this.b=t,this.c=n}function Tit(e,t,n){this.a=e,this.b=t,this.c=n}function Qp(e,t,n){this.e=e,this.a=t,this.c=n}function Cit(e,t,n){Qh(),$5e.call(this,e,t,n)}function yae(e,t,n){Qh(),E5e.call(this,e,t,n)}function E4e(e,t,n){Qh(),E5e.call(this,e,t,n)}function T4e(e,t,n){Qh(),E5e.call(this,e,t,n)}function Sit(e,t,n){Qh(),yae.call(this,e,t,n)}function C4e(e,t,n){Qh(),yae.call(this,e,t,n)}function _it(e,t,n){Qh(),C4e.call(this,e,t,n)}function Ait(e,t,n){Qh(),E4e.call(this,e,t,n)}function Lit(e,t,n){Qh(),T4e.call(this,e,t,n)}function xae(e){sH.call(this,e.d,e.c,e.a,e.b)}function S4e(e){sH.call(this,e.d,e.c,e.a,e.b)}function _4e(e){this.d=e,Mr(this),this.b=cgn(e.d)}function ldn(e){return qE(),Gr((Fft(),I_t),e)}function OO(e,t){return Xr(e),Xr(t),new PZe(e,t)}function U8(e,t){return Xr(e),Xr(t),new qit(e,t)}function hdn(e,t){return Xr(e),Xr(t),new Hit(e,t)}function fdn(e,t){return Xr(e),Xr(t),new VZe(e,t)}function kae(e){return mr(e.b!=0),sf(e,e.a.a)}function ddn(e){return mr(e.b!=0),sf(e,e.c.b)}function gdn(e){return!e.c&&(e.c=new Yd),e.c}function jk(e){var t;return t=new bt,Goe(t,e),t}function pdn(e){var t;return t=new Ks,Goe(t,e),t}function Mit(e){var t;return t=new Lwe,sce(t,e),t}function NO(e){var t;return t=new as,sce(t,e),t}function l(e,t){return H_(e==null||iue(e,t)),e}function bdn(e,t,n){Lst.call(this,t,n),this.a=e}function Dit(e,t){this.c=e,this.b=t,this.a=!1}function Iit(){this.a=";,;",this.b="",this.c=""}function Oit(e,t,n){this.b=e,Vtt.call(this,t,n)}function A4e(e,t,n){this.c=e,cq.call(this,t,n)}function L4e(e,t,n){Dk.call(this,e,t),this.b=n}function M4e(e,t,n){k9e(n,0,e,t,n.length,!1)}function eg(e,t,n,r,a){e.b=t,e.c=n,e.d=r,e.a=a}function D4e(e,t,n,r,a){e.d=t,e.c=n,e.a=r,e.b=a}function mdn(e,t){t&&(e.b=t,e.a=(db(t),t.a))}function PO(e,t){if(!e)throw ue(new Yn(t))}function G8(e,t){if(!e)throw ue(new tc(t))}function I4e(e,t){if(!e)throw ue(new jJe(t))}function vdn(e,t){return eq(),ru(e.d.p,t.d.p)}function wdn(e,t){return ep(),Yi(e.e.b,t.e.b)}function ydn(e,t){return ep(),Yi(e.e.a,t.e.a)}function xdn(e,t){return ru(Wit(e.d),Wit(t.d))}function Xq(e,t){return t&&yH(e,t.d)?t:null}function kdn(e,t){return t==(St(),er)?e.c:e.d}function O4e(e){return vb(xgn(wc(e)?Lf(e):e))}function Edn(e){return new lt(e.c+e.b,e.d+e.a)}function Nit(e){return e!=null&&!Hce(e,jM,$M)}function Tdn(e,t){return(f1t(e)<<4|f1t(t))&Zs}function Pit(e,t,n,r,a){e.c=t,e.d=n,e.b=r,e.a=a}function N4e(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function P4e(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function Cdn(e,t){var n;return n=e.c,d7e(e,t),n}function B4e(e,t){return t<0?e.g=-1:e.g=t,e}function Qq(e,t){return Own(e),e.a*=t,e.b*=t,e}function Bit(e,t,n){Mht.call(this,t,n),this.d=e}function BO(e,t,n){tye.call(this,e,t),this.c=n}function Jq(e,t,n){tye.call(this,e,t),this.c=n}function F4e(e){p4e(),b5.call(this),this.ci(e)}function Fit(){Zk(),Ggn.call(this,(sb(),Uf))}function Rit(e){return Ii(),new tg(0,e)}function jit(){jit=U,spe=(Cn(),new Ia(c0e))}function Zq(){Zq=U,new W8e((Gie(),y0e),(Uie(),w0e))}function $it(){$it=U,t_e=We(ro,dt,17,256,0,1)}function zit(){this.b=ze(Ge(It((g0(),Z0e))))}function Eae(e){this.b=e,this.a=Lm(this.b.a).Od()}function qit(e,t){this.b=e,this.a=t,US.call(this)}function Hit(e,t){this.a=e,this.b=t,US.call(this)}function Vit(e,t,n){this.a=e,O5.call(this,t,n)}function Uit(e,t,n){this.a=e,O5.call(this,t,n)}function $k(e,t,n){var r;r=new yy(n),Q0(e,t,r)}function R4e(e,t,n){var r;return r=e[t],e[t]=n,r}function eH(e){var t;return t=e.slice(),joe(t,e)}function tH(e){var t;return t=e.n,e.a.b+t.d+t.a}function Git(e){var t;return t=e.n,e.e.b+t.d+t.a}function j4e(e){var t;return t=e.n,e.e.a+t.b+t.c}function $4e(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function li(e,t){return As(e,t,e.c.b,e.c),!0}function Sdn(e){return e.a?e.a:Qae(e)}function _dn(e){return ex(),og(e)==ds(Tb(e))}function Adn(e){return ex(),Tb(e)==ds(og(e))}function pw(e,t){return FA(e,new Dk(t.a,t.b))}function Ldn(e,t){return kH(),fue(e,t),new gat(e,t)}function Mdn(e,t){return e.c=t)throw ue(new Bwe)}function vy(e,t){return IN(e,(nr(t),new wo(t)))}function W8(e,t){return IN(e,(nr(t),new hh(t)))}function Dst(e,t,n){return nOn(e,l(t,12),l(n,12))}function Ist(e){return Tl(),l(e,12).g.c.length!=0}function Ost(e){return Tl(),l(e,12).e.c.length!=0}function ggn(e,t){return ux(),Yi(t.a.o.a,e.a.o.a)}function pgn(e,t){t.Bb&eu&&!e.a.o&&(e.a.o=t)}function bgn(e,t){t.Ug("General 'Rotator",1),MDn(e)}function mgn(e,t,n){t.qf(n,ze(Ge(cr(e.b,n)))*e.a)}function Nst(e,t,n){return l6(),dE(e,t)&&dE(e,n)}function K_(e){return Rl(),!e.Hc(mp)&&!e.Hc(Xb)}function vgn(e){return e.e?_6e(e.e):null}function W_(e){return wc(e)?""+e:Rbt(e)}function s5e(e){var t;for(t=e;t.f;)t=t.f;return t}function wgn(e,t,n){return _s(t,0,U4e(t[0],n[0])),t}function Jp(e,t,n,r){var a;a=e.i,a.i=t,a.a=n,a.b=r}function nt(e,t,n,r){Ys.call(this,e,t,n),this.b=r}function _a(e,t,n,r,a){Foe.call(this,e,t,n,r,a,-1)}function Y_(e,t,n,r,a){iN.call(this,e,t,n,r,a,-1)}function pH(e,t,n,r){BO.call(this,e,t,n),this.b=r}function Pst(e){Itt.call(this,e,!1),this.a=!1}function Bst(){htt.call(this,"LOOKAHEAD_LAYOUT",1)}function Fst(e){this.b=e,z8.call(this,e),qnt(this)}function Rst(e){this.b=e,TO.call(this,e),Hnt(this)}function wy(e,t,n){this.a=e,H8.call(this,t,n,5,6)}function a5e(e,t,n,r){this.b=e,Ys.call(this,t,n,r)}function jst(e,t){this.b=e,zg.call(this,e.b),this.a=t}function $st(e){this.a=Edt(e.a),this.b=new Ol(e.b)}function o5e(e,t){yw(),Xun.call(this,e,RV(new Il(t)))}function bH(e,t){return Ii(),new k5e(e,t,0)}function Bae(e,t){return Ii(),new k5e(6,e,t)}function Za(e,t){for(nr(t);e.Ob();)t.Cd(e.Pb())}function Vu(e,t){return Oa(t)?soe(e,t):!!jo(e.f,t)}function Fae(e,t){return t.Vh()?xb(e.b,l(t,54)):t}function ygn(e,t){return wn(e.substr(0,t.length),t)}function ng(e){return new hr(new Aye(e.a.length,e.a))}function mH(e){return new lt(e.c+e.b/2,e.d+e.a/2)}function xgn(e){return Hu(~e.l&eh,~e.m&eh,~e.h&lp)}function Rae(e){return typeof e===vP||typeof e===Ole}function Nl(e){e.f=new ant(e),e.i=new ont(e),++e.g}function zst(e){if(!e)throw ue(new _c);return e.d}function Y8(e){var t;return t=vA(e),mr(t!=null),t}function kgn(e){var t;return t=R4n(e),mr(t!=null),t}function qk(e,t){var n;return n=e.a.gc(),k6e(t,n),n-t}function ra(e,t){var n;return n=e.a.zc(t,e),n==null}function RO(e,t){return e.a.zc(t,(Vn(),Bb))==null}function c5e(e){return new mn(null,_gn(e,e.length))}function u5e(e,t,n){return cvt(e,l(t,42),l(n,176))}function X8(e,t,n){return h0(e.a,t),R4e(e.b,t.g,n)}function Egn(e,t,n){zk(n,e.a.c.length),nf(e.a,n,t)}function He(e,t,n,r){j0t(t,n,e.length),Tgn(e,t,n,r)}function Tgn(e,t,n,r){var a;for(a=t;a0?b.Math.log(e/t):-100}function Hst(e,t){return iu(e,t)<0?-1:iu(e,t)>0?1:0}function jO(e,t){Nnt(e,De(t,160)?t:l(t,2036).Rl())}function d5e(e,t){if(e==null)throw ue(new M8(t))}function _gn(e,t){return Lwn(t,e.length),new Xit(e,t)}function g5e(e,t){return t?Ka(e,t):!1}function Agn(){return $z(),he(le(u6t,1),it,549,0,[E0e])}function Q_(e){return e.e==0?e:new Dm(-e.e,e.d,e.a)}function Lgn(e,t){return Yi(e.c.c+e.c.b,t.c.c+t.c.b)}function $O(e,t){As(e.d,t,e.b.b,e.b),++e.a,e.c=null}function Vst(e,t){return e.c?Vst(e.c,t):vt(e.b,t),e}function Mgn(e,t,n){var r;return r=_y(e,t),xoe(e,t,n),r}function Ust(e,t,n){var r;for(r=0;r=e.g}function _s(e,t,n){return xfn(n==null||bAn(e,n)),e[t]=n}function w5e(e,t){return Xn(t,e.length+1),e.substr(t)}function Wae(e,t){for(nr(t);e.c=e?new b3e:Zwn(e-1)}function eo(e){return!e.a&&e.c?e.c.b:e.a}function T5e(e){return De(e,616)?e:new lot(e)}function db(e){e.c?db(e.c):(kb(e),e.d=!0)}function eA(e){e.c?e.c.$e():(e.d=!0,mCn(e))}function hat(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function fat(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function Ygn(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):d9e(e,t)}function dat(e,t){e.c<0||e.b.b0;)e=e<<1|(e<0?1:0);return e}function xat(e,t){var n;return n=new ku(e),zn(t.c,n),n}function kat(e,t){e.u.Hc((Rl(),mp))&&eEn(e,t),vvn(e,t)}function Jc(e,t){return qe(e)===qe(t)||e!=null&&Bi(e,t)}function Yo(e,t){return Aae(e.a,t)?e.b[l(t,22).g]:null}function cpn(){return Zz(),he(le(U_e,1),it,489,0,[G0e])}function upn(){return nq(),he(le(wOe,1),it,490,0,[bge])}function lpn(){return rq(),he(le(YCt,1),it,558,0,[mge])}function hpn(){return p_(),he(le($Oe,1),it,539,0,[zB])}function EH(e){return!e.n&&(e.n=new nt(Jo,e,1,7)),e.n}function Xae(e){return!e.c&&(e.c=new nt(Hl,e,9,9)),e.c}function A5e(e){return!e.c&&(e.c=new An(Sr,e,5,8)),e.c}function fpn(e){return!e.b&&(e.b=new An(Sr,e,4,7)),e.b}function zO(e){return e.j.c.length=0,M5e(e.c),Vfn(e.a),e}function Kk(e){return e.e==kT&&hn(e,a6n(e.g,e.b)),e.e}function qO(e){return e.f==kT&&Dn(e,Q7n(e.g,e.b)),e.f}function Ti(e,t,n,r){return Uft(e,t,n,!1),jV(e,r),e}function Eat(e,t){this.b=e,jae.call(this,e,t),qnt(this)}function Tat(e,t){this.b=e,f4e.call(this,e,t),Hnt(this)}function tA(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function L5e(e,t){this.b=e,this.c=t,this.a=new N8(this.b)}function ao(e,t){return Xn(t,e.length),e.charCodeAt(t)}function dpn(e,t){b8e(e,ze(tp(t,"x")),ze(tp(t,"y")))}function gpn(e,t){b8e(e,ze(tp(t,"x")),ze(tp(t,"y")))}function Ri(e,t){return kb(e),new mn(e,new $6e(t,e.a))}function hc(e,t){return kb(e),new mn(e,new C6e(t,e.a))}function xy(e,t){return kb(e),new Vye(e,new Out(t,e.a))}function TH(e,t){return kb(e),new Uye(e,new Nut(t,e.a))}function ppn(e,t){return new Wat(l(Xr(e),50),l(Xr(t),50))}function bpn(e,t){return Yi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function Cat(e,t,n){n.a?Ku(e,t.b-e.f/2):Gu(e,t.a-e.g/2)}function mpn(e,t){return Yi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function vpn(e,t){return w3e(),Yi((nr(e),e),(nr(t),t))}function wpn(e){return e!=null&&tO(EY,e.toLowerCase())}function M5e(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function H5(e){var t;return t=e.b,!t&&(e.b=t=new mie(e)),t}function Qae(e){var t;return t=r3n(e),t||null}function Sat(e,t){var n,r;return n=e/t,r=ha(n),n>r&&++r,r}function ypn(e,t,n){var r;r=l(e.d.Kb(n),159),r&&r.Nb(t)}function xpn(e,t,n){ELn(e.a,n),eyn(n),VEn(e.b,n),VLn(t,n)}function CH(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function D5e(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function _at(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function Zh(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function Aat(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function Jae(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function Lat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Zae(e,t,n){this.a=iEe,this.d=e,this.b=t,this.c=n}function J8(e,t,n,r){Ur.call(this,e,t),this.a=n,this.b=r}function Mat(e,t){this.d=(nr(e),e),this.a=16449,this.c=t}function Dat(e){this.a=new bt,this.e=We(Vr,dt,53,e,0,2)}function kpn(e){e.Ug("No crossing minimization",1),e.Vg()}function Iat(){Ac.call(this,"There is no more element.")}function Oat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Nat(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function Im(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function Pat(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function Bat(e,t,n,r){Qh(),Put.call(this,t,n,r),this.a=e}function Fat(e,t,n,r){Qh(),Put.call(this,t,n,r),this.a=e}function eoe(e,t,n){var r,a;return r=Vke(e),a=t.ti(n,r),a}function Gg(e){var t,n;return n=(t=new Jv,t),iE(n,e),n}function toe(e){var t,n;return n=(t=new Jv,t),Kxe(n,e),n}function Epn(e,t){var n;return n=cr(e.f,t),S7e(t,n),null}function Rat(e){return!e.b&&(e.b=new nt($s,e,12,3)),e.b}function jat(e){return H_(e==null||Rae(e)&&e.Tm!==xe),e}function SH(e){return e.n&&(e.e!==$wt&&e.je(),e.j=null),e}function Wk(e){if(Ql(e.d),e.d.d!=e.c)throw ue(new Yh)}function I5e(e){return mr(e.b0&&mgt(this)}function $at(e,t){this.a=e,kfn.call(this,e,l(e.d,15).fd(t))}function Tpn(e,t){return Yi(xl(e)*ph(e),xl(t)*ph(t))}function Cpn(e,t){return Yi(xl(e)*ph(e),xl(t)*ph(t))}function Spn(e){return Hw(e)&&Rt(Bt(at(e,(Nt(),dv))))}function _pn(e,t){return xn(e,l(Q(t,(Nt(),qT)),17),t)}function Apn(e,t){return l(Q(e,(ft(),Kx)),15).Fc(t),t}function O5e(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function zat(e,t,n,r){this.b=e,this.c=r,Dq.call(this,t,n)}function Lpn(e,t,n){e.i=0,e.e=0,t!=n&&T0t(e,t,n)}function Mpn(e,t,n){e.i=0,e.e=0,t!=n&&C0t(e,t,n)}function Dpn(e,t,n){return g_(),i5n(l(cr(e.e,t),529),n)}function Z8(e){var t;return t=e.f,t||(e.f=new Ak(e,e.c))}function qat(e,t){return Z5(e.j,t.s,t.c)+Z5(t.e,e.s,e.c)}function Hat(e,t){e.e&&!e.e.a&&(AQe(e.e,t),Hat(e.e,t))}function Vat(e,t){e.d&&!e.d.a&&(AQe(e.d,t),Vat(e.d,t))}function Ipn(e,t){return-Yi(xl(e)*ph(e),xl(t)*ph(t))}function Opn(e){return l(e.ld(),149).Pg()+":"+xc(e.md())}function Uat(){Nue(this,new fz),this.wb=(hb(),Un),Ck()}function Gat(e){this.b=new bt,ia(this.b,this.b),this.a=e}function N5e(e,t){new as,this.a=new vl,this.b=e,this.c=t}function Tw(){Tw=U,d_e=new Ke,D0e=new Ke,g_e=new Ft}function Cn(){Cn=U,Co=new je,bg=new Se,hK=new Ce}function P5e(){P5e=U,q6t=new Oo,V6t=new X4e,H6t=new Ts}function ex(){ex=U,wK=new bt,X0e=new Pr,Y0e=new bt}function _H(e,t){if(e==null)throw ue(new M8(t));return e}function AH(e){return!e.a&&(e.a=new nt(Li,e,10,11)),e.a}function qi(e){return!e.q&&(e.q=new nt(Vf,e,11,10)),e.q}function tt(e){return!e.s&&(e.s=new nt(gl,e,21,17)),e.s}function Npn(e){return Xr(e),Odt(new hr(dr(e.a.Kc(),new j)))}function Ppn(e,t){return mh(e),mh(t),RJe(l(e,22),l(t,22))}function Om(e,t,n){var r,a;r=g4e(n),a=new mk(r),Q0(e,t,a)}function roe(e,t,n,r,a,o){iN.call(this,e,t,n,r,a,o?-2:-1)}function Kat(e,t,n,r){tye.call(this,t,n),this.b=e,this.a=r}function Wat(e,t){nun.call(this,new Pae(e)),this.a=e,this.b=t}function B5e(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function Bpn(e){o0();var t;t=l(e.g,10),t.n.a=e.d.c+t.d.b}function Yk(){Yk=U;var e,t;t=!H5n(),e=new se,S0e=t?new ne:e}function ioe(e){return Cn(),De(e,59)?new ese(e):new jq(e)}function LH(e){return De(e,16)?new V_(l(e,16)):pdn(e.Kc())}function Fpn(e){return new Unt(e,e.e.Rd().gc()*e.c.Rd().gc())}function Rpn(e){return new Gnt(e,e.e.Rd().gc()*e.c.Rd().gc())}function F5e(e){return e&&e.hashCode?e.hashCode():dw(e)}function soe(e,t){return t==null?!!jo(e.f,null):egn(e.i,t)}function jpn(e,t){var n;return n=wye(e.a,t),n&&(t.d=null),n}function Yat(e,t,n){return e.f?e.f.ef(t,n):!1}function HO(e,t,n,r){_s(e.c[t.g],n.g,r),_s(e.c[n.g],t.g,r)}function aoe(e,t,n,r){_s(e.c[t.g],t.g,n),_s(e.b[t.g],t.g,r)}function $pn(e,t,n){return ze(Ge(n.a))<=e&&ze(Ge(n.b))>=t}function Xat(e,t){this.g=e,this.d=he(le(vg,1),v2,10,0,[t])}function Qat(e){this.c=e,this.b=new Wp(l(Xr(new nl),50))}function Jat(e){this.c=e,this.b=new Wp(l(Xr(new u5),50))}function Zat(e){this.b=e,this.a=new Wp(l(Xr(new ui),50))}function eot(){this.b=new Ks,this.d=new as,this.e=new Fwe}function R5e(){this.c=new qa,this.d=new qa,this.e=new qa}function Cw(){this.a=new vl,this.b=(Ih(3,Yy),new Bu(3))}function Zp(e,t){this.e=e,this.a=ya,this.b=emt(t),this.c=t}function MH(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function tot(e,t,n,r,a,o){this.a=e,Joe.call(this,t,n,r,a,o)}function not(e,t,n,r,a,o){this.a=e,Joe.call(this,t,n,r,a,o)}function gb(e,t,n,r,a,o,f){return new Eoe(e.e,t,n,r,a,o,f)}function zpn(e,t,n){return n>=0&&wn(e.substr(n,t.length),t)}function rot(e,t){return De(t,149)&&wn(e.b,l(t,149).Pg())}function qpn(e,t){return e.a?t.Gh().Kc():l(t.Gh(),71).Ii()}function iot(e,t){var n;return n=e.b.Qc(t),Jct(n,e.b.gc()),n}function VO(e,t){if(e==null)throw ue(new M8(t));return e}function fc(e){return e.u||(Yl(e),e.u=new Frt(e,e)),e.u}function ooe(e){this.a=(Cn(),De(e,59)?new ese(e):new jq(e))}function al(e){var t;return t=l(Kn(e,16),29),t||e.ii()}function DH(e,t){var n;return n=Sm(e.Rm),t==null?n:n+": "+t}function ef(e,t,n){return Ga(t,n,e.length),e.substr(t,n-t)}function sot(e,t){Vq.call(this),Y6e(this),this.a=e,this.c=t}function Hpn(e){e&&DH(e,e.ie())}function Vpn(e){Hz(),b.setTimeout(function(){throw e},0)}function Upn(){return ZV(),he(le(k_e,1),it,436,0,[j0e,x_e])}function Gpn(){return aV(),he(le(T_e,1),it,435,0,[E_e,$0e])}function Kpn(){return oV(),he(le(J_e,1),it,432,0,[Q0e,yK])}function Wpn(){return fE(),he(le(H8t,1),it,517,0,[fB,h1e])}function Ypn(){return zH(),he(le(PLe,1),it,429,0,[z1e,NLe])}function Xpn(){return gN(),he(le(wLe,1),it,428,0,[XK,vLe])}function Qpn(){return JH(),he(le(hLe,1),it,431,0,[lLe,S1e])}function Jpn(){return fN(),he(le(_De,1),it,430,0,[kde,Ede])}function Zpn(){return aA(),he(le(NEt,1),it,531,0,[cM,oM])}function e2n(){return kV(),he(le(EIe,1),it,501,0,[$W,Y6])}function t2n(){return vd(),he(le(zEt,1),it,523,0,[y3,C2])}function n2n(){return A1(),he(le(HEt,1),it,522,0,[vv,G1])}function r2n(){return Y0(),he(le(iTt,1),it,528,0,[E4,Hb])}function i2n(){return oN(),he(le(kLe,1),it,488,0,[xLe,JK])}function s2n(){return GH(),he(le(fOe,1),it,491,0,[dge,hOe])}function a2n(){return fce(),he(le(vOe,1),it,492,0,[bOe,mOe])}function o2n(){return RH(),he(le(kIe,1),it,433,0,[Ude,xIe])}function c2n(){return eV(),he(le(CIe,1),it,434,0,[TIe,Qde])}function u2n(){return _w(),he(le(hTt,1),it,465,0,[Vb,G6])}function l2n(){return nN(),he(le(yOe,1),it,438,0,[vge,QW])}function h2n(){return TN(),he(le(qOe,1),it,437,0,[ZW,zOe])}function f2n(){return mae(),he(le(gY,1),it,347,0,[rPe,iPe])}function IH(e,t,n,r){return n>=0?e.Uh(t,n,r):e.Ch(null,n,r)}function UO(e){return e.b.b==0?e.a.sf():kae(e.b)}function d2n(e){if(e.p!=5)throw ue(new ml);return Yr(e.f)}function g2n(e){if(e.p!=5)throw ue(new ml);return Yr(e.k)}function j5e(e){return qe(e.a)===qe((lce(),npe))&&fMn(e),e.a}function p2n(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=aH(e.c,e.b,e.a))}function b2n(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=aH(e.c,e.b,e.a))}function aot(e,t){ce(this,new lt(e.a,e.b)),ve(this,NO(t))}function Sw(){run.call(this,new O8(Ay(12))),Tye(!0),this.a=2}function coe(e,t,n){Ii(),Qv.call(this,e),this.b=t,this.a=n}function $5e(e,t,n){Qh(),Nz.call(this,t),this.a=e,this.b=n}function oot(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function m2n(e){return e.b==0?null:(mr(e.b!=0),sf(e,e.a.a))}function Eu(e,t){return t==null?lc(jo(e.f,null)):w_(e.i,t)}function cot(e,t,n,r,a){return new Bue(e,(nE(),P0e),t,n,r,a)}function OH(e,t){return Yct(t),zwn(e,We(Vr,gi,28,t,15,1),t)}function NH(e,t){return _H(e,"set1"),_H(t,"set2"),new YZe(e,t)}function v2n(e,t){var n=C0e[e.charCodeAt(0)];return n??e}function uot(e,t){var n,r;return n=t,r=new xt,Bvt(e,n,r),r.d}function uoe(e,t,n,r){var a;a=new $rt,t.a[n.g]=a,X8(e.b,r,a)}function w2n(e,t){var n;return n=Rwn(e.f,t),Ni(Hq(n),e.f.d)}function GO(e){var t;Ywn(e.a),bnt(e.a),t=new ZS(e.a),S8e(t)}function y2n(e,t){Vbt(e,!0),Uu(e.e.Rf(),new v4e(e,!0,t))}function x2n(e,t){return ex(),e==ds(og(t))||e==ds(Tb(t))}function k2n(e,t){return ep(),l(Q(t,(Hc(),Fd)),17).a==e}function ha(e){return Math.max(Math.min(e,Oi),-2147483648)|0}function lot(e){this.a=l(Xr(e),277),this.b=(Cn(),new Dye(e))}function hot(e,t,n){this.i=new bt,this.b=e,this.g=t,this.a=n}function z5e(e,t,n){this.a=new bt,this.e=e,this.f=t,this.c=n}function PH(e,t,n){this.c=new bt,this.e=e,this.f=t,this.b=n}function fot(e){Vq.call(this),Y6e(this),this.a=e,this.c=!0}function E2n(e){function t(){}return t.prototype=e||{},new t}function T2n(e){if(e.Ae())return null;var t=e.n;return sK[t]}function KO(e){return e.Db>>16!=3?null:l(e.Cb,27)}function _1(e){return e.Db>>16!=9?null:l(e.Cb,27)}function dot(e){return e.Db>>16!=6?null:l(e.Cb,74)}function _w(){_w=U,Vb=new H3e(Lx,0),G6=new H3e(Mx,1)}function vd(){vd=U,y3=new $3e(Mx,0),C2=new $3e(Lx,1)}function A1(){A1=U,vv=new z3e(whe,0),G1=new z3e("UP",1)}function got(){got=U,l6t=Kr(($z(),he(le(u6t,1),it,549,0,[E0e])))}function pot(e){var t;return t=new Kz(Ay(e.length)),j7e(t,e),t}function bot(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function C2n(e,t){return n0t(e,t)?(Jht(e),!0):!1}function Kg(e,t){if(t==null)throw ue(new C8);return U5n(e,t)}function WO(e,t){var n;n=e.q.getHours(),e.q.setDate(t),YA(e,n)}function q5e(e,t,n){var r;r=e.Ih(t),r>=0?e.bi(r,n):$9e(e,t,n)}function mot(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):que(e,t)}function vot(e,t){var n;for(Xr(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function loe(e,t,n){var r;r=k0t(e,t,n),e.b=new TV(r.c.length)}function V5(e,t,n){BH(),e&&Ei(Zge,e,t),e&&Ei(uF,e,n)}function S2n(e,t){return Yq(),Vn(),l(t.a,17).a0}function H5e(e){var t;return t=e.d,t=e.bj(e.f),qr(e,t),t.Ob()}function wot(e,t){var n;return n=new K4e(t),Vgt(n,e),new Ol(n)}function L2n(e){if(e.p!=0)throw ue(new ml);return D_(e.f,0)}function M2n(e){if(e.p!=0)throw ue(new ml);return D_(e.k,0)}function yot(e){return e.Db>>16!=7?null:l(e.Cb,241)}function Xk(e){return e.Db>>16!=6?null:l(e.Cb,241)}function xot(e){return e.Db>>16!=7?null:l(e.Cb,167)}function ds(e){return e.Db>>16!=11?null:l(e.Cb,27)}function ky(e){return e.Db>>16!=17?null:l(e.Cb,29)}function kot(e){return e.Db>>16!=3?null:l(e.Cb,155)}function V5e(e){var t;return kb(e),t=new Ks,Ri(e,new x5(t))}function Eot(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function D2n(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),YA(e,n)}function Tot(e,t){Fq(this),this.f=t,this.g=e,SH(this),this.je()}function Cot(e,t){this.a=e,this.c=Ja(this.a),this.b=new MH(t)}function Sot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ol(n))}function _ot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ol(n))}function Aot(e){this.a=e,this.b=We(DEt,dt,2043,e.e.length,0,2)}function Lot(){this.a=new dd,this.e=new Ks,this.g=0,this.i=0}function BH(){BH=U,Zge=new Pr,uF=new Pr,Cln(A6t,new AS)}function Mot(){Mot=U,pEt=kl(new Xs,(oo(),bc),(bo(),dB))}function U5e(){U5e=U,bEt=kl(new Xs,(oo(),bc),(bo(),dB))}function Dot(){Dot=U,vEt=kl(new Xs,(oo(),bc),(bo(),dB))}function Iot(){Iot=U,BEt=di(new Xs,(oo(),bc),(bo(),$L))}function Ah(){Ah=U,jEt=di(new Xs,(oo(),bc),(bo(),$L))}function Oot(){Oot=U,$Et=di(new Xs,(oo(),bc),(bo(),$L))}function foe(){foe=U,UEt=di(new Xs,(oo(),bc),(bo(),$L))}function nA(e,t,n,r,a,o){return new Jg(e.e,t,e.Lj(),n,r,a,o)}function nc(e,t,n){return t==null?ju(e.f,null,n):Fw(e.i,t,n)}function fo(e,t){e.c&&ol(e.c.g,e),e.c=t,e.c&&vt(e.c.g,e)}function Va(e,t){e.c&&ol(e.c.a,e),e.c=t,e.c&&vt(e.c.a,e)}function Mc(e,t){e.i&&ol(e.i.j,e),e.i=t,e.i&&vt(e.i.j,e)}function Fa(e,t){e.d&&ol(e.d.e,e),e.d=t,e.d&&vt(e.d.e,e)}function doe(e,t){e.a&&ol(e.a.k,e),e.a=t,e.a&&vt(e.a.k,e)}function goe(e,t){e.b&&ol(e.b.f,e),e.b=t,e.b&&vt(e.b.f,e)}function Not(e,t){Hgn(e,e.b,e.c),l(e.b.b,68),t&&l(t.b,68).b}function I2n(e,t){return Yi(l(e.c,65).c.e.b,l(t.c,65).c.e.b)}function O2n(e,t){return Yi(l(e.c,65).c.e.a,l(t.c,65).c.e.a)}function N2n(e){return Mce(),Vn(),l(e.a,86).d.e!=0}function FH(e,t){De(e.Cb,184)&&(l(e.Cb,184).tb=null),Fu(e,t)}function poe(e,t){De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),4),Fu(e,t)}function P2n(e,t){m8e(e,t),De(e.Cb,90)&&zy(Yl(l(e.Cb,90)),2)}function B2n(e,t){var n,r;n=t.c,r=n!=null,r&&Q8(e,new yy(t.c))}function Pot(e){var t,n;return n=(Ck(),t=new Jv,t),iE(n,e),n}function Bot(e){var t,n;return n=(Ck(),t=new Jv,t),iE(n,e),n}function Fot(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function F2n(e,t,n){return vt(e.a,(kH(),fue(t,n),new sw(t,n))),e}function Tu(e,t){return Bo(),Voe(t)?new nH(t,e):new wO(t,e)}function YO(e){return kd(),iu(e,0)>=0?Eb(e):Q_(Eb(i2(e)))}function R2n(e){var t;return t=l(eH(e.b),9),new Jh(e.a,t,e.c)}function Rot(e,t){var n;return n=l(Oy(Z8(e.a),t),16),n?n.gc():0}function jot(e,t,n){var r;l1t(t,n,e.c.length),r=n-t,d3e(e.c,t,r)}function e2(e,t,n){l1t(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function tx(e){this.c=new as,this.b=e.b,this.d=e.c,this.a=e.a}function boe(e){this.a=b.Math.cos(e),this.b=b.Math.sin(e)}function Nm(e,t,n,r){this.c=e,this.d=r,doe(this,t),goe(this,n)}function G5e(e,t){tun.call(this,new O8(Ay(e))),Ih(t,Nwt),this.a=t}function $ot(e,t,n){return new Bue(e,(nE(),N0e),null,!1,t,n)}function zot(e,t,n){return new Bue(e,(nE(),B0e),t,n,null,!1)}function j2n(){return Fl(),he(le(ac,1),it,108,0,[y_e,Ec,i4])}function $2n(){return cl(),he(le(Z6t,1),it,472,0,[r1,Rb,m0])}function z2n(){return Bl(),he(le(Q6t,1),it,471,0,[Nd,Fb,b0])}function q2n(){return J0(),he(le(s4,1),it,237,0,[Gc,$u,Kc])}function H2n(){return uA(),he(le(dAe,1),it,391,0,[t1e,e1e,n1e])}function V2n(){return Nw(),he(le(m1e,1),it,372,0,[c3,jb,o3])}function U2n(){return fA(),he(le(dLe,1),it,322,0,[qL,bB,fLe])}function G2n(){return pV(),he(le(pLe,1),it,351,0,[gLe,YK,_1e])}function K2n(){return Hm(),he(le(yxt,1),it,460,0,[M1e,BT,N6])}function W2n(){return mE(),he(le($1e,1),it,299,0,[R1e,j1e,mB])}function Y2n(){return Zg(),he(le(Axt,1),it,311,0,[vB,B6,Vx])}function X2n(){return kA(),he(le(mDe,1),it,390,0,[pde,bDe,SW])}function Q2n(){return $o(),he(le(cEt,1),it,463,0,[iM,$l,zu])}function J2n(){return LV(),he(le(MDe,1),it,387,0,[ADe,Tde,LDe])}function Z2n(){return wA(),he(le(DDe,1),it,349,0,[Sde,Cde,LB])}function ebn(){return CE(),he(le(ODe,1),it,350,0,[_de,IDe,sM])}function tbn(){return gV(),he(le(BDe,1),it,352,0,[PDe,Ade,NDe])}function nbn(){return OV(),he(le(FDe,1),it,388,0,[Lde,YT,k4])}function rbn(){return Ow(),he(le(LEt,1),it,464,0,[MB,aM,MW])}function L1(e){return Ic(he(le(Ta,1),dt,8,0,[e.i.n,e.n,e.a]))}function ibn(){return yA(),he(le(eIe,1),it,392,0,[ZDe,Ide,IB])}function qot(){qot=U,$Tt=kl(new Xs,(vx(),lM),(KA(),VDe))}function RH(){RH=U,Ude=new V3e("DFS",0),xIe=new V3e("BFS",1)}function Hot(e,t,n){var r;r=new hte,r.b=t,r.a=n,++t.b,vt(e.d,r)}function sbn(e,t,n){var r;r=new xo(n.d),Ni(r,e),b8e(t,r.a,r.b)}function abn(e,t){Bnt(e,Yr(wa(mw(t,24),ZU)),Yr(wa(t,ZU)))}function Ey(e,t){if(e<0||e>t)throw ue(new ec(dEe+e+gEe+t))}function Sn(e,t){if(e<0||e>=t)throw ue(new ec(dEe+e+gEe+t))}function Xn(e,t){if(e<0||e>=t)throw ue(new e3e(dEe+e+gEe+t))}function kn(e,t){this.b=(nr(e),e),this.a=t&Xy?t:t|64|Td}function K5e(e){var t;return kb(e),t=(Tw(),Tw(),D0e),lV(e,t)}function obn(e,t,n){var r;return r=JA(e,t,!1),r.b<=t&&r.a<=n}function cbn(){return tV(),he(le(pOe,1),it,439,0,[gge,gOe,dOe])}function ubn(){return qV(),he(le(XIe,1),it,394,0,[YIe,uge,WIe])}function lbn(){return WV(),he(le(KIe,1),it,445,0,[FB,VW,rge])}function hbn(){return sU(),he(le(mCt,1),it,456,0,[ige,age,sge])}function fbn(){return AN(),he(le(AIe,1),it,393,0,[zW,SIe,_Ie])}function dbn(){return AV(),he(le(GIe,1),it,300,0,[nge,UIe,VIe])}function gbn(){return np(),he(le(YNe,1),it,346,0,[oY,L2,MM])}function pbn(){return NN(),he(le(pge,1),it,444,0,[WW,YW,XW])}function bbn(){return N1(),he(le(FNe,1),it,278,0,[tC,_4,nC])}function mbn(){return fx(),he(le(nPe,1),it,280,0,[tPe,L4,dY])}function Aw(e){return Xr(e),De(e,16)?new Ol(l(e,16)):jk(e.Kc())}function W5e(e,t){return e&&e.equals?e.equals(t):qe(e)===qe(t)}function wa(e,t){return vb(ugn(wc(e)?Lf(e):e,wc(t)?Lf(t):t))}function W0(e,t){return vb(lgn(wc(e)?Lf(e):e,wc(t)?Lf(t):t))}function moe(e,t){return vb(hgn(wc(e)?Lf(e):e,wc(t)?Lf(t):t))}function vbn(e,t){var n;return n=(nr(e),e).g,qye(!!n),nr(t),n(t)}function Vot(e,t){var n,r;return r=qk(e,t),n=e.a.fd(r),new KZe(e,n)}function wbn(e){return e.Db>>16!=6?null:l(Uue(e),241)}function ybn(e){if(e.p!=2)throw ue(new ml);return Yr(e.f)&Zs}function xbn(e){if(e.p!=2)throw ue(new ml);return Yr(e.k)&Zs}function re(e){return mr(e.ar?1:0}function Wot(e,t){var n,r;return n=$oe(t),r=n,l(cr(e.c,r),17).a}function voe(e,t,n){var r;r=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=r}function Ibn(e,t,n){var r;e.n&&t&&n&&(r=new Kne,vt(e.e,r))}function woe(e,t){if(ra(e.a,t),t.d)throw ue(new Ac(r3t));t.d=e}function Q5e(e,t){this.a=new bt,this.d=new bt,this.f=e,this.c=t}function Yot(){this.c=new Int,this.a=new Rut,this.b=new WQe,det()}function Xot(){lx(),this.b=new Pr,this.a=new Pr,this.c=new bt}function Qot(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function Jot(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function Zot(e,t,n,r,a,o){Q6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ect(e,t,n,r,a,o){J6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function tct(e,t,n,r,a,o){p6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function nct(e,t,n,r,a,o){t7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function rct(e,t,n,r,a,o){b6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function ict(e,t,n,r,a,o){Z6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function sct(e,t,n,r,a,o){e7e.call(this,e,t,n,r,a),o&&(this.o=-2)}function act(e,t,n,r,a,o){m6e.call(this,e,t,n,r,a),o&&(this.o=-2)}function oct(e,t,n,r){Nz.call(this,n),this.b=e,this.c=t,this.d=r}function cct(e,t){this.f=e,this.a=(Zk(),SY),this.c=SY,this.b=t}function uct(e,t){this.g=e,this.d=(Zk(),_Y),this.a=_Y,this.b=t}function J5e(e,t){!e.c&&(e.c=new Ds(e,0)),HU(e.c,(Gi(),qM),t)}function Obn(e,t){return pTn(e,t,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Nbn(e,t){return Hst(Zc(e.q.getTime()),Zc(t.q.getTime()))}function lct(e){return Cae(e.e.Rd().gc()*e.c.Rd().gc(),16,new pie(e))}function Pbn(e){return!!e.u&&gu(e.u.a).i!=0&&!(e.n&&cue(e.n))}function Bbn(e){return!!e.a&&Xl(e.a.a).i!=0&&!(e.b&&uue(e.b))}function Z5e(e,t){return t==0?!!e.o&&e.o.f!=0:nue(e,t)}function Fbn(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Hc(n)}function hct(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Mc(n)}function fct(e,t){var n;return n=1-t,e.a[n]=EV(e.a[n],n),EV(e,t)}function dct(e,t){var n,r;return r=wa(e,qo),n=c0(t,32),W0(n,r)}function gct(e,t,n){var r;r=(Xr(e),new Ol(e)),j7n(new Sot(r,t,n))}function XO(e,t,n){var r;r=(Xr(e),new Ol(e)),$7n(new _ot(r,t,n))}function zc(e,t,n,r,a,o){return Uft(e,t,n,o),c8e(e,r),u8e(e,a),e}function pct(e,t,n,r){return e.a+=""+ef(t==null?ll:xc(t),n,r),e}function Ua(e,t){this.a=e,kr.call(this,e),Ey(t,e.gc()),this.b=t}function bct(e){this.a=We(ya,Rn,1,P7e(b.Math.max(8,e))<<1,5,1)}function QO(e){return l(B1(e,We(vg,v2,10,e.c.length,0,1)),199)}function wd(e){return l(B1(e,We(u1e,Bhe,18,e.c.length,0,1)),483)}function mct(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function rA(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function vct(e){return mr(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function Rbn(e,t,n){e.a=t,e.c=n,e.b.a.$b(),_h(e.d),ay(e.e.a.c,0)}function wct(e,t){var n;e.e=new Vwe,n=Hy(t),Vs(n,e.c),Obt(e,n,0)}function Qs(e,t,n,r){var a;a=new Q9,a.a=t,a.b=n,a.c=r,li(e.a,a)}function gt(e,t,n,r){var a;a=new Q9,a.a=t,a.b=n,a.c=r,li(e.b,a)}function yct(e,t,n){if(e<0||tn)throw ue(new ec(Q9n(e,t,n)))}function JO(e,t){if(e<0||e>=t)throw ue(new ec(Akn(e,t)));return e}function jbn(e){if(!("stack"in e))try{throw e}catch{}return e}function U5(e){return g_(),De(e.g,10)?l(e.g,10):null}function $bn(e){return H5(e).dc()?!1:(uhn(e,new oe),!0)}function Bm(e){var t;return wc(e)?(t=e,t==-0?0:t):twn(e)}function xct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function kct(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function Ect(e,t){return De(t,44)?gue(e.a,l(t,44)):!1}function e6e(e){var t;return db(e),t=new Pe,_5(e.a,new y5(t)),t}function t6e(){var e,t,n;return t=(n=(e=new Jv,e),n),vt(RPe,t),t}function jH(e){var t;return db(e),t=new gn,_5(e.a,new E8(t)),t}function zbn(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function Tct(e){oce.call(this,e,(nE(),O0e),null,!1,null,!1)}function Cct(){Cct=U,D7t=Kr((Zz(),he(le(U_e,1),it,489,0,[G0e])))}function Sct(){Sct=U,jDe=vat(pt(1),pt(4)),RDe=vat(pt(1),pt(2))}function qbn(e,t){return new wae(t,$_(Ja(t.e),e,e),(Vn(),!0))}function $H(e){return new Bu((Ih(e,Fle),cV(go(go(5,e),e/10|0))))}function Hbn(e){return Cae(e.e.Rd().gc()*e.c.Rd().gc(),273,new gie(e))}function _ct(e){return l(B1(e,We($8t,P3t,12,e.c.length,0,1)),2042)}function Vbn(e){return Ah(),!Ao(e)&&!(!Ao(e)&&e.c.i.c==e.d.i.c)}function Ubn(e,t){return cx(),l(Q(t,(Hc(),K6)),17).a>=e.gc()}function iA(e,t){_In(t,e),N4e(e.d),N4e(l(Q(e,(Nt(),wW)),214))}function yoe(e,t){AIn(t,e),P4e(e.d),P4e(l(Q(e,(Nt(),wW)),214))}function Gbn(e,t,n){e.d&&ol(e.d.e,e),e.d=t,e.d&&bw(e.d.e,n,e)}function Kbn(e,t,n){return n.f.c.length>0?u5e(e.a,t,n):u5e(e.b,t,n)}function Wbn(e,t,n){var r;r=h6n();try{return Pfn(e,t,n)}finally{$mn(r)}}function Lw(e,t){var n,r;return n=Kg(e,t),r=null,n&&(r=n.pe()),r}function sA(e,t){var n,r;return n=Kg(e,t),r=null,n&&(r=n.se()),r}function Qk(e,t){var n,r;return n=_y(e,t),r=null,n&&(r=n.se()),r}function Wg(e,t){var n,r;return n=Kg(e,t),r=null,n&&(r=e9e(n)),r}function Ybn(e,t,n){var r;return r=OE(n),RU(e.g,r,t),RU(e.i,t,n),t}function n6e(e,t,n){this.d=new BYe(this),this.e=e,this.i=t,this.f=n}function Act(e,t,n,r){this.e=null,this.c=e,this.d=t,this.a=n,this.b=r}function Lct(e,t,n,r){Snt(this),this.c=e,this.e=t,this.f=n,this.b=r}function r6e(e,t,n,r){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1}function Mct(e,t,n,r){return De(n,59)?new art(e,t,n,r):new r5e(e,t,n,r)}function Jk(e){return De(e,16)?l(e,16).dc():!e.Kc().Ob()}function Dct(e){if(e.e.g!=e.b)throw ue(new Yh);return!!e.c&&e.d>0}function Br(e){return mr(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function i6e(e,t){nr(t),_s(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Zdt(e)}function pb(e,t){nr(t),e.b=e.b-1&e.a.length-1,_s(e.a,e.b,t),Zdt(e)}function Ict(e){var t;t=e.Gh(),this.a=De(t,71)?l(t,71).Ii():t.Kc()}function Xbn(e){return new kn(Pwn(l(e.a.md(),16).gc(),e.a.ld()),16)}function Oct(){Oct=U,WCt=Kr((nq(),he(le(wOe,1),it,490,0,[bge])))}function Nct(){Nct=U,XCt=Kr((rq(),he(le(YCt,1),it,558,0,[mge])))}function Pct(){Pct=U,gSt=Kr((p_(),he(le($Oe,1),it,539,0,[zB])))}function Qbn(){return Gm(),he(le(mAe,1),it,389,0,[c4,bAe,o1e,c1e])}function Jbn(){return nE(),he(le(fK,1),it,304,0,[O0e,N0e,P0e,B0e])}function Zbn(){return px(),he(le(S7t,1),it,332,0,[sB,iB,aB,oB])}function emn(){return OA(),he(le(L7t,1),it,406,0,[cB,bK,mK,uB])}function tmn(){return Bw(),he(le(T7t,1),it,417,0,[rB,nB,V0e,U0e])}function nmn(){return vE(),he(le(A8t,1),it,416,0,[a3,o4,a4,L6])}function rmn(){return P1(),he(le(ixt,1),it,421,0,[Hx,LT,MT,b1e])}function imn(){return IV(),he(le(K8t,1),it,371,0,[p1e,HK,VK,gB])}function smn(){return By(),he(le(mde,1),it,203,0,[_W,bde,U6,V6])}function amn(){return yd(),he(le(SDe,1),it,284,0,[T2,CDe,yde,xde])}function omn(e){var t;return e.j==(St(),Dr)&&(t=x2t(e),yl(t,ar))}function cmn(e,t){var n;n=t.a,fo(n,t.c.d),Fa(n,t.d.d),Dy(n.a,e.n)}function s6e(e,t){var n;return n=l(O1(e.b,t),67),!n&&(n=new as),n}function rx(e){return g_(),De(e.g,154)?l(e.g,154):null}function umn(e){e.a=null,e.e=null,ay(e.b.c,0),ay(e.f.c,0),e.c=null}function zH(){zH=U,z1e=new F3e(oT,0),NLe=new F3e("TOP_LEFT",1)}function aA(){aA=U,cM=new j3e("UPPER",0),oM=new j3e("LOWER",1)}function lmn(e,t){return $8(new lt(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function Bct(e,t){return l(dh(vy(l($i(e.k,t),15).Oc(),D6)),113)}function Fct(e,t){return l(dh(W8(l($i(e.k,t),15).Oc(),D6)),113)}function hmn(){return vx(),he(le(qDe,1),it,405,0,[NW,uM,lM,hM])}function fmn(){return xA(),he(le(yIe,1),it,353,0,[Vde,jW,Hde,qde])}function dmn(){return uU(),he(le(HIe,1),it,354,0,[tge,zIe,qIe,$Ie])}function gmn(){return vh(),he(le(PM,1),it,386,0,[rF,Tv,nF,A4])}function pmn(){return Nh(),he(le(t_t,1),it,291,0,[ZB,xg,Kb,JB])}function bmn(){return rp(),he(le(Vge,1),it,223,0,[Hge,QB,rC,i9])}function mmn(){return VV(),he(le(cPe,1),it,320,0,[Kge,sPe,oPe,aPe])}function vmn(){return NV(),he(le(v_t,1),it,415,0,[Wge,lPe,uPe,hPe])}function wmn(e){return BH(),Vu(Zge,e)?l(cr(Zge,e),341).Qg():null}function tf(e,t,n){return t<0?que(e,n):l(n,69).wk().Bk(e,e.hi(),t)}function ymn(e,t,n){var r;return r=OE(n),RU(e.j,r,t),Ei(e.k,t,n),t}function xmn(e,t,n){var r;return r=OE(n),RU(e.d,r,t),Ei(e.e,t,n),t}function Rct(e){var t,n;return t=(ib(),n=new EI,n),e&&AU(t,e),t}function a6e(e){var t;return t=e.aj(e.i),e.i>0&&bu(e.g,0,t,0,e.i),t}function jct(e,t){var n;for(n=e.j.c.length;n>24}function Emn(e){if(e.p!=1)throw ue(new ml);return Yr(e.k)<<24>>24}function Tmn(e){if(e.p!=7)throw ue(new ml);return Yr(e.k)<<16>>16}function Cmn(e){if(e.p!=7)throw ue(new ml);return Yr(e.f)<<16>>16}function G5(e,t){return t.e==0||e.e==0?PL:(UE(),Que(e,t))}function qct(e,t){return qe(t)===qe(e)?"(this Map)":t==null?ll:xc(t)}function Smn(e,t,n){return Nae(Ge(lc(jo(e.f,t))),Ge(lc(jo(e.f,n))))}function _mn(e,t,n){var r;r=l(cr(e.g,n),60),vt(e.a.c,new la(t,r))}function Hct(e,t,n){e.i=0,e.e=0,t!=n&&(C0t(e,t,n),T0t(e,t,n))}function Amn(e,t,n,r,a){var o;o=LTn(a,n,r),vt(t,xkn(a,o)),f9n(e,a,t)}function o6e(e,t,n,r,a){this.i=e,this.a=t,this.e=n,this.j=r,this.f=a}function Vct(e,t){R5e.call(this),this.a=e,this.b=t,vt(this.a.b,this)}function Uct(e){this.b=new Pr,this.c=new Pr,this.d=new Pr,this.a=e}function Gct(e,t){var n;return n=new C5,e.Gd(n),n.a+="..",t.Hd(n),n.a}function Kct(e,t){var n;for(n=t;n;)gw(e,n.i,n.j),n=ds(n);return e}function Wct(e,t,n){var r;return r=OE(n),Ei(e.b,r,t),Ei(e.c,t,n),t}function Yg(e){var t;for(t=0;e.Ob();)e.Pb(),t=go(t,1);return cV(t)}function ig(e,t){Bo();var n;return n=l(e,69).vk(),A9n(n,t),n.xl(t)}function Lmn(e,t,n){if(n){var r=n.oe();e.a[t]=r(n)}else delete e.a[t]}function c6e(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Mb),YA(e,n)}function Mmn(e,t){return l(t==null?lc(jo(e.f,null)):w_(e.i,t),288)}function u6e(e,t){return e==(Zn(),Fs)&&t==Fs?4:e==Fs||t==Fs?8:32}function qH(e,t,n){return $U(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Dmn(e,t,n){return YE(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Imn(e,t,n){return kTn(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function l6e(e){e.b!=e.c&&(e.a=We(ya,Rn,1,8,5,1),e.b=0,e.c=0)}function oA(e){return mr(e.a=0&&e.a[n]===t[n];n--);return n<0}function HH(e){var t;return e?new K4e(e):(t=new dd,sce(t,e),t)}function jmn(e,t){var n,r;r=!1;do n=g0t(e,t),r=r|n;while(n);return r}function $mn(e){e&&fwn((Xwe(),GSe)),--aK,e&&oK!=-1&&(Dln(oK),oK=-1)}function VH(e){Rxe(),Bnt(this,Yr(wa(mw(e,24),ZU)),Yr(wa(e,ZU)))}function Zct(){Zct=U,U6t=Kr((ZV(),he(le(k_e,1),it,436,0,[j0e,x_e])))}function eut(){eut=U,G6t=Kr((aV(),he(le(T_e,1),it,435,0,[E_e,$0e])))}function tut(){tut=U,W7t=Kr((oV(),he(le(J_e,1),it,432,0,[Q0e,yK])))}function nut(){nut=U,V8t=Kr((fE(),he(le(H8t,1),it,517,0,[fB,h1e])))}function rut(){rut=U,Mxt=Kr((zH(),he(le(PLe,1),it,429,0,[z1e,NLe])))}function iut(){iut=U,wxt=Kr((gN(),he(le(wLe,1),it,428,0,[XK,vLe])))}function sut(){sut=U,Ext=Kr((oN(),he(le(kLe,1),it,488,0,[xLe,JK])))}function aut(){aut=U,oEt=Kr((fN(),he(le(_De,1),it,430,0,[kde,Ede])))}function out(){out=U,PEt=Kr((aA(),he(le(NEt,1),it,531,0,[cM,oM])))}function cut(){cut=U,pxt=Kr((JH(),he(le(hLe,1),it,431,0,[lLe,S1e])))}function uut(){uut=U,jTt=Kr((RH(),he(le(kIe,1),it,433,0,[Ude,xIe])))}function lut(){lut=U,VTt=Kr((kV(),he(le(EIe,1),it,501,0,[$W,Y6])))}function hut(){hut=U,qEt=Kr((vd(),he(le(zEt,1),it,523,0,[y3,C2])))}function fut(){fut=U,VEt=Kr((A1(),he(le(HEt,1),it,522,0,[vv,G1])))}function dut(){dut=U,sTt=Kr((Y0(),he(le(iTt,1),it,528,0,[E4,Hb])))}function gut(){gut=U,fTt=Kr((_w(),he(le(hTt,1),it,465,0,[Vb,G6])))}function put(){put=U,KTt=Kr((eV(),he(le(CIe,1),it,434,0,[TIe,Qde])))}function but(){but=U,qCt=Kr((GH(),he(le(fOe,1),it,491,0,[dge,hOe])))}function mut(){mut=U,VCt=Kr((fce(),he(le(vOe,1),it,492,0,[bOe,mOe])))}function vut(){vut=U,QCt=Kr((nN(),he(le(yOe,1),it,438,0,[vge,QW])))}function wut(){wut=U,pSt=Kr((TN(),he(le(qOe,1),it,437,0,[ZW,zOe])))}function yut(){yut=U,p_t=Kr((mae(),he(le(gY,1),it,347,0,[rPe,iPe])))}function zmn(){return Js(),he(le(AM,1),it,88,0,[Y1,mc,cc,W1,vf])}function qmn(){return St(),he(le(Mo,1),au,64,0,[Pc,Qn,ar,Dr,er])}function Hmn(e,t,n){return l(t==null?ju(e.f,null,n):Fw(e.i,t,n),288)}function Vmn(e){return(e.k==(Zn(),Fs)||e.k==Us)&&ts(e,(ft(),GL))}function Coe(e){return e.c&&e.d?X5e(e.c)+"->"+X5e(e.d):"e_"+dw(e)}function to(e,t){var n,r;for(nr(t),r=e.Kc();r.Ob();)n=r.Pb(),t.Cd(n)}function Umn(e,t){var n;n=new L8,Om(n,"x",t.a),Om(n,"y",t.b),Q8(e,n)}function Gmn(e,t){var n;n=new L8,Om(n,"x",t.a),Om(n,"y",t.b),Q8(e,n)}function xut(e,t){var n;for(n=t;n;)gw(e,-n.i,-n.j),n=ds(n);return e}function f6e(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function nf(e,t,n){var r;return r=(Sn(t,e.c.length),e.c[t]),e.c[t]=n,r}function d6e(e,t,n){e.a.c.length=0,mMn(e,t,n),e.a.c.length==0||U_n(e,t)}function ZO(e){e.i=0,sO(e.b,null),sO(e.c,null),e.a=null,e.e=null,++e.g}function UH(){UH=U,H1=!0,P6t=!1,B6t=!1,R6t=!1,F6t=!1}function Soe(e){UH(),!H1&&(this.c=e,this.e=!0,this.a=new bt)}function kut(e,t){this.c=0,this.b=t,Utt.call(this,e,17493),this.a=this.c}function Eut(e){Cwt(),LQe(this),this.a=new as,G7e(this,e),li(this.a,e)}function Tut(){Yse(this),this.b=new lt(gs,gs),this.a=new lt(sa,sa)}function GH(){GH=U,dge=new K3e(HEe,0),hOe=new K3e("TARGET_WIDTH",1)}function K5(e,t){return(kb(e),Sk(new mn(e,new $6e(t,e.a)))).Bd($x)}function Kmn(){return oo(),he(le(gAe,1),it,367,0,[v0,mg,mu,Lu,bc])}function Wmn(){return Ry(),he(le(axt,1),it,375,0,[pB,KK,WK,GK,UK])}function Ymn(){return h2(),he(le(mLe,1),it,348,0,[A1e,bLe,L1e,PT,NT])}function Xmn(){return IA(),he(le(wDe,1),it,323,0,[vDe,vde,wde,nM,rM])}function Qmn(){return lf(),he(le(WLe,1),it,171,0,[kB,WL,zb,YL,d4])}function Jmn(){return bU(),he(le(UTt,1),it,368,0,[Yde,Gde,Xde,Kde,Wde])}function Zmn(){return HA(),he(le(UCt,1),it,373,0,[X6,Zx,yM,wM,$B])}function evn(){return YN(),he(le(TOe,1),it,324,0,[xOe,wge,EOe,yge,kOe])}function tvn(){return e1(),he(le(yg,1),it,170,0,[Bn,da,Rd,wv,_2])}function nvn(){return e6(),he(le(IM,1),it,256,0,[Wb,eF,XNe,DM,QNe])}function rvn(e){return Hz(),function(){return Wbn(e,this,arguments)}}function Ao(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function g6e(e,t){return De(t,143)?wn(e.c,l(t,143).c):!1}function Yl(e){return e.t||(e.t=new wQe(e),SA(new PJe(e),0,e.t)),e.t}function Cut(e){this.b=e,or.call(this,e),this.a=l(Kn(this.b.a,4),129)}function Sut(e){this.b=e,q8.call(this,e),this.a=l(Kn(this.b.a,4),129)}function u0(e,t,n,r,a){But.call(this,t,r,a),this.c=e,this.b=n}function p6e(e,t,n,r,a){Qot.call(this,t,r,a),this.c=e,this.a=n}function b6e(e,t,n,r,a){Jot.call(this,t,r,a),this.c=e,this.a=n}function m6e(e,t,n,r,a){But.call(this,t,r,a),this.c=e,this.a=n}function _oe(e,t){var n;return n=l(O1(e.d,t),23),n||l(O1(e.e,t),23)}function _ut(e,t){var n,r;return n=t.ld(),r=e.Fe(n),!!r&&Jc(r.e,t.md())}function Aut(e,t){var n;return n=t.ld(),new sw(n,e.e.pc(n,l(t.md(),16)))}function ivn(e,t){var n;return n=e.a.get(t),n??We(ya,Rn,1,0,5,1)}function Lut(e){var t;return t=e.length,wn(sr.substr(sr.length-t,t),e)}function xr(e){if(jr(e))return e.c=e.a,e.a.Pb();throw ue(new _c)}function v6e(e,t){return t==0||e.e==0?e:t>0?vbt(e,t):q1t(e,-t)}function ix(e,t){return t==0||e.e==0?e:t>0?q1t(e,t):vbt(e,-t)}function w6e(e){pln.call(this,e==null?ll:xc(e),De(e,82)?l(e,82):null)}function Mut(e){var t;return e.c||(t=e.r,De(t,90)&&(e.c=l(t,29))),e.c}function Aoe(e){var t;return t=new Cw,gc(t,e),rt(t,(Nt(),oc),null),t}function Dut(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Zn(),Us)&&n.k==Us}function Loe(e){var t,n,r;return t=e&eh,n=e>>22&eh,r=e<0?lp:0,Hu(t,n,r)}function svn(e){var t,n,r,a;for(n=e,r=0,a=n.length;r=0?e.Lh(r,n,!0):Vw(e,t,n)}function ovn(e,t,n){return Yi($8(PE(e),Ja(t.b)),$8(PE(e),Ja(n.b)))}function cvn(e,t,n){return Yi($8(PE(e),Ja(t.e)),$8(PE(e),Ja(n.e)))}function uvn(e,t){return b.Math.min(bb(t.a,e.d.d.c),bb(t.b,e.d.d.c))}function eN(e,t){e._i(e.i+1),F_(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function cA(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function Iut(e,t,n){var r;r=new vye(e.a),pA(r,e.a.a),ju(r.f,t,n),e.a.a=r}function y6e(e,t,n,r){var a;for(a=0;at)throw ue(new ec(u9e(e,t,"index")));return e}function n2(e,t){var n;return n=(Sn(t,e.c.length),e.c[t]),d3e(e.c,t,1),n}function E6e(e,t){var n,r;return n=(nr(e),e),r=(nr(t),t),n==r?0:nt.p?-1:0}function $ut(e){var t;return e.a||(t=e.r,De(t,156)&&(e.a=l(t,156))),e.a}function pvn(e,t,n){var r;return++e.e,--e.f,r=l(e.d[t].gd(n),136),r.md()}function bvn(e){var t,n;return t=e.ld(),n=l(e.md(),16),OO(n.Nc(),new bie(t))}function zut(e,t){return Vu(e.a,t)?(sx(e.a,t),!0):!1}function ax(e,t,n){return JO(t,e.e.Rd().gc()),JO(n,e.c.Rd().gc()),e.a[t][n]}function WH(e,t,n){this.a=e,this.b=t,this.c=n,vt(e.t,this),vt(t.i,this)}function YH(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function tN(){this.b=new as,this.a=new as,this.b=new as,this.a=new as}function Zk(){Zk=U;var e,t;SY=(Ck(),t=new Fz,t),_Y=(e=new zie,e)}function mvn(e){var t;return kb(e),t=new Oit(e,e.a.e,e.a.d|4),new Vye(e,t)}function qut(e){var t;for(db(e),t=0;e.a.Bd(new Mn);)t=go(t,1);return t}function XH(e,t){return nr(t),e.c