hugo-theme-fha/static/js/mermaid.min.js

2152 lines
2.2 MiB
JavaScript
Raw Normal View History

2024-09-01 14:27:23 +00:00
"use strict";var __esbuild_esm_mermaid=(()=>{var B1e=Object.create;var T1=Object.defineProperty;var F1e=Object.getOwnPropertyDescriptor;var z1e=Object.getOwnPropertyNames;var $1e=Object.getPrototypeOf,G1e=Object.prototype.hasOwnProperty;var s=(t,e)=>T1(t,"name",{value:e,configurable:!0});var _=(t,e)=>()=>(t&&(e=t(t=0)),e);var is=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ur=(t,e)=>{for(var r in e)T1(t,r,{get:e[r],enumerable:!0})},ob=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of z1e(e))!G1e.call(t,i)&&i!==r&&T1(t,i,{get:()=>e[i],enumerable:!(n=F1e(e,i))||n.enumerable});return t},lr=(t,e,r)=>(ob(t,e,"default"),r&&ob(r,e,"default")),ka=(t,e,r)=>(r=t!=null?B1e($1e(t)):{},ob(e||!t||!t.__esModule?T1(r,"default",{value:t,enumerable:!0}):r,t)),V1e=t=>ob(T1({},"__esModule",{value:!0}),t);function lb(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var n=Array.from(typeof t=="string"?[t]:t);n[n.length-1]=n[n.length-1].replace(/\r?\n([\t ]*)$/,"");var i=n.reduce(function(l,u){var h=u.match(/\n([\t ]+|(?!\s).)/g);return h?l.concat(h.map(function(f){var d,p;return(p=(d=f.match(/[\t ]/g))===null||d===void 0?void 0:d.length)!==null&&p!==void 0?p:0})):l},[]);if(i.length){var a=new RegExp(`
[ ]{`+Math.min.apply(Math,i)+"}","g");n=n.map(function(l){return l.replace(a,`
`)})}n[0]=n[0].replace(/^\r?\n/,"");var o=n[0];return e.forEach(function(l,u){var h=o.match(/(?:^|\n)( *)$/),f=h?h[1]:"",d=l;typeof l=="string"&&l.includes(`
`)&&(d=String(l).split(`
`).map(function(p,m){return m===0?p:""+f+p}).join(`
`)),o+=d+n[u+1]}),o}var Y7=_(()=>{"use strict";s(lb,"dedent")});var cb=is((X7,j7)=>{"use strict";(function(t,e){typeof X7=="object"&&typeof j7<"u"?j7.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(X7,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",o="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:s(function(L){var P=["th","st","nd","rd"],M=L%100;return"["+L+(P[(M-20)%10]||P[M]||P[0])+"]"},"ordinal")},x=s(function(L,P,M){var F=String(L);return!F||F.length>=P?L:""+Array(P+1-F.length).join(M)+L},"m"),b={s:x,z:s(function(L){var P=-L.utcOffset(),M=Math.abs(P),F=Math.floor(M/60),I=M%60;return(P<=0?"+":"-")+x(F,2,"0")+":"+x(I,2,"0")},"z"),m:s(function L(P,M){if(P.date()<M.date())return-L(M,P);var F=12*(M.year()-P.year())+(M.month()-P.month()),I=P.clone().add(F,h),O=M-I<0,z=P.clone().add(F+(O?-1:1),h);return+(-(F+(M-I)/(O?I-z:z-I))||0)},"t"),a:s(function(L){return L<0?Math.ceil(L)||0:Math.floor(L)},"a"),p:s(function(L){return{M:h,y:d,w:u,d:l,D:p,h:o,m:a,s:i,ms:n,Q:f}[L]||String(L||"").toLowerCase().replace(/s$/,"")},"p"),u:s(function(L){return L===void 0},"u")},k="en",A={};A[k]=v;var w="$isDayjsObject",T=s(function(L){return L instanceof R||!(!L||!L[w])},"S"),C=s(function L(P,M,F){var I;if(!P)return k;if(typeof P=="string"){var O=P.toLowerCase();A[O]&&(I=O),M&&(A[O]=M,I=O);var z=P.split("-");if(!I&&z.length>1)return L(z[0])}else{var N=P.name;A[N]=P,I=N}return!F&&I&&(k=I),I||!F&&k},"t"),E=s(function(L,P){if(T(L))return L.clone();var M=typeof P=="object"?P:{};return M.date=L,M.args=arguments,new R(M)},"O"),S=b;S.l=C,S.i=T,S.w=function(L,P){return E(L,{locale:P.$L,utc:P.$u,x:P.$x,$offset:P.$offset})};var R=function(){function L(M){this.$L=C(M.locale,null,!0),this.parse(M),this.$x=this.$x||M.x||{},this[w]=!0}s(L,"M");var P=L.prototype;return P.parse=function(M){this.$d=function(F){var I=F.date,O=F.utc;if(I===null)return new Date(NaN);if(S.u(I))return new Date;if(I instanceof Date)return new Date(I);if(typeof I=="string"&&!/Z$/i.test(I)){var z=I.match(g);if(z){var N=z[2]-1||0,U=(z[7]||"0").substring(0,3);return O?new Date(Date.UTC(z[1],N,z[3]||1,z[4]||0,z[5]||0,z[6]||0,U)):new Date(z[1],N,z[3]||1,z[4]||0,z[5]||0,z[6]||0,U)}}return new Date(I)}(M),this.init()},P.init=function(){var M=this.$d;this.$y=M.getFullYear(),this.$M=M.getMonth(),this.$D=M.getDate(),this.$W=M.getDay(),this.$H=M.getHours(),this.$m=M.getMinutes(),this.$s=M.getSeconds(),this.$ms=M.getMilliseconds()},P.$utils=function(){return S},P.isValid=function(){return this.$d.toString()!==m},P.isSame=function(M,F){var I=E(M);return this.startOf(F)<=I&&I<=this.endOf(F)},P.isAfter=function(M,F){return E(M)<this.startOf(F)},P.isBefore=function(M,F){return this.endOf(F)<E(M)},P.$g=function(M,F,I){return S.u(M)?this[F]:this.set(I,M)},P.unix=function(){return Math.floor(this.valueOf()/1e3)},P.valueOf=function(){return this.$d.getTime()},P.startOf=function(M,F){var I=this,O=!!S.u(F)||F,z=S.p(M),N=s(function(fe,ne){var H=S.w(I.$u?Date.UTC(I.$y,ne,fe):new Date(I.$y,ne,fe),I);return O?H:H.endOf(l)},"l"),U=s(function(fe,ne){return S.w(I.toDate()[fe].apply(I.toDate("s"),(O?[0,0,0,0]:[23,59,59,999]).slice(ne)),I)},"$"),$=this.$W,W=this.$M,ee=this.$D,te="set"+(this.$u?"UTC":"");switch(z){case d:return O?N(1,0):N(31,11);case h:return O?N(1,W):N(0,W+1);case u:var ce=this.$locale().weekStart||0,Z=($<ce?$+7:$)-ce;return N(O?ee-Z:ee+(6-Z),W);case l:case p:return U(te+"Hours",0);case o:return U(te+"Minutes",1);case a:return U(te+"Seconds",2);case i:return U(te+"Milliseconds",3);default:return this.clone()}},P.endOf=function(M){return this.startOf(M,!1)},P.$set=function(M,F){va
`);for(let[r,{detector:n}]of Object.entries(Rf))if(n(t,e))return r;throw new W0(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),fb=s((...t)=>{for(let{id:e,detector:r,loader:n}of t)Q7(e,r,n)},"registerLazyLoadedDiagrams"),Q7=s((t,e,r)=>{Rf[t]&&V.warn(`Detector with key ${t} already exists. Overwriting.`),Rf[t]={detector:e,loader:r},V.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),RB=s(t=>Rf[t].loader,"getDiagramLoader")});var C1,MB,Z7=_(()=>{"use strict";C1=function(){var t=s(function(_e,he,q,se){for(q=q||{},se=_e.length;se--;q[_e[se]]=he);return q},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],o=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],k=[1,35],A=[1,36],w=[1,37],T=[1,38],C=[1,39],E=[1,40],S=[1,41],R=[1,42],D=[1,43],L=[1,44],P=[1,45],M=[1,46],F=[1,47],I=[1,48],O=[1,50],z=[1,51],N=[1,52],U=[1,53],$=[1,54],W=[1,55],ee=[1,56],te=[1,57],ce=[1,58],Z=[1,59],fe=[1,60],ne=[14,42],H=[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],Q=[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],K=[1,82],re=[1,83],ie=[1,84],ye=[1,85],j=[12,14,42],De=[12,14,33,42],oe=[12,14,33,42,76,77,79,80],Re=[12,33],Pe=[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],Se={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],
`+we.showPosition()+`
Expecting `+fr.join(", ")+", got '"+(this.terminals_[ut]||ut)+"'":vt="Parse error on line "+(Ie+1)+": Unexpected "+(ut==qe?"end of input":"'"+(this.terminals_[ut]||ut)+"'"),this.parseError(vt,{text:we.match,token:this.terminals_[ut]||ut,line:we.yylineno,loc:or,expected:fr})}if(Dt[0]instanceof Array&&Dt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Qe+", token: "+ut);switch(Dt[0]){case 1:se.push(ut),X.push(we.yytext),ae.push(we.yylloc),se.push(Dt[1]),ut=null,Rt?(ut=Rt,Rt=null):(Ne=we.yyleng,de=we.yytext,Ie=we.yylineno,or=we.yylloc,Be>0&&Be--);break;case 2:if(Wt=this.productions_[Dt[1]][1],Et.$=X[X.length-Wt],Et._$={first_line:ae[ae.length-(Wt||1)].first_line,last_line:ae[ae.length-1].last_line,first_column:ae[ae.length-(Wt||1)].first_column,last_column:ae[ae.length-1].last_column},Cr&&(Et._$.range=[ae[ae.length-(Wt||1)].range[0],ae[ae.length-1].range[1]]),yt=this.performAction.apply(Et,[de,Ne,Ie,Je.yy,Dt[1],X,ae].concat(Fe)),typeof yt<"u")return yt;Wt&&(se=se.slice(0,-1*Wt*2),X=X.slice(0,-1*Wt),ae=ae.slice(0,-1*Wt)),se.push(this.productions_[Dt[1]][0]),X.push(Et.$),ae.push(Et._$),ot=pe[se[se.length-2]][se[se.length-1]],se.push(ot);break;case 3:return!0}}return!0},"parse")},Ue=function(){var _e={EOF:1,parseError:s(function(q,se){if(this.yy.parser)this.yy.parser.parseError(q,se);else throw new Error(q)},"parseError"),setInput:s(function(he,q){return this.yy=q||this.yy||{},this._input=he,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var he=this._input[0];this.yytext+=he,this.yyleng++,this.offset++,this.match+=he,this.matched+=he;var q=he.match(/(?:\r\n?|\n).*/g);return q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),he},"input"),unput:s(function(he){var q=he.length,se=he.split(/(?:\r\n?|\n)/g);this._input=he+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-q),this.offset-=q;var ue=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 X=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:se?(se.length===ue.length?this.yylloc.first_column:0)+ue[ue.length-se.length].length-se[0].length:this.yylloc.first_column-q},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-q]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(he){this.unput(this.match.slice(he))},"less"),pastInput:s(function(){var he=this.matched.substr(0,this.matched.length-this.match.length);return(he.length>20?"...":"")+he.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var he=this.match;return he.length<20&&(he+=this._input.substr(0,20-he.length)),(he.substr(0,20)+(he.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var he=this.pastInput(),q=new Array(he.length+1).join("-");return he+this.upcomingInput()+`
`+q+"^"},"showPosition"),test_match:s(function(he,q){var se,ue,X;if(this.options.backtrack_lexer&&(X={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(X.yylloc.range=this.yylloc.range.slice(0))),ue=he[0].match(/(?:\r\n?|\n).*/g),ue&&(this.yylineno+=ue.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ue?ue[ue.length-1].length-ue[ue.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+he[0].length},this.yytext+=he[0],this.match+=he[0],this.matches=he,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(he[0].length),this.matched+=he[0],se=this.performAction.call(this,this.yy,this,q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var ae in X)this[ae]=X[ae];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var he,q,se,ue;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),ae=0;ae<X.length;ae++)if(se=this._input.match(this.rules[X[ae]]),se&&(!q||se[0].length>q[0].length)){if(q=se,ue=ae,this.options.backtrack_lexer){if(he=this.test_match(se,X[ae]),he!==!1)return he;if(this._backtrack){q=!1;continue}else return!1}else if(!this.options.flex)break}return q?(he=this.test_match(q,X[ue]),he!==!1?he:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var q=this.next();return q||this.lex()},"lex"),begin:s(function(q){this.conditionStack.push(q)},"begin"),popState:s(function(){var q=this.conditionStack.length-1;return q>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(q){return q=this.conditionStack.length-1-Math.abs(q||0),q>=0?this.conditionStack[q]:"INITIAL"},"topState"),pushState:s(function(q){this.begin(q)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(q,se,ue,X){var ae=X;switch(ue){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),
`+ns),ti&&f([Qe,Dt,qt],Nl=>{ns=v(ns,Nl," ")}),Je&&Ft?Je.createHTML(ns):ns},Se.setConfig=function(){let St=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bs(St),Rl=!0},Se.clearConfig=function(){Ml=null,Rl=!1},Se.isValidAttribute=function(St,Te,Ze){Ml||Bs({});let bt=bi(St),fn=bi(Te);return EB(bt,fn,Ze)},Se.addHook=function(St,Te){typeof Te=="function"&&(Rt[St]=Rt[St]||[],p(Rt[St],Te))},Se.removeHook=function(St){if(Rt[St])return d(Rt[St])},Se.removeHooks=function(St){Rt[St]&&(Rt[St]=[])},Se.removeAllHooks=function(){Rt={}},Se}s(oe,"createDOMPurify");var Re=oe();return Re})});var Jz={};ur(Jz,{default:()=>r2e});function mye(t){return String(t).replace(pye,e=>dye[e])}function xye(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function Sye(t){for(var e=0;e<DE.length;e++)for(var r=DE[e],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(t>=i[0]&&t<=i[1])return r.name}return null}function az(t){for(var e=0;e<Nb.length;e+=2)if(t>=Nb[e]&&t<=Nb[e+1])return!0;return!1}function Bye(t,e){zl[t]=e}function UE(t,e,r){if(!zl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=zl[e][n];if(!i&&t[0]in AF&&(n=AF[t[0]].charCodeAt(0),i=zl[e][n]),!i&&r==="text"&&az(n)&&(i=zl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function Fye(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!vE[e]){var r=vE[e]={cssEmPerMu:wb.quad[e]/18};for(var n in wb)wb.hasOwnProperty(n)&&(r[n]=wb[n][e])}return vE[e]}function RF(t){if(t instanceof ls)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function Vye(t){if(t instanceof Bf)return t;throw new Error("Expected span<HtmlDomNode> but got "+String(t)+".")}function B(t,e,r,n,i,a){dn[t][i]={font:e,group:r,replace:n},a&&n&&(dn[t][n]=dn[t][i])}function st(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:o}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u<r.length;++u)mz[r[u]]=l;e&&(a&&(Fb[e]=a),o&&(zb[e]=o))}function Ff(t){var{type:e,htmlBuilder:r,mathmlBuilder:n}=t;st({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:r,mathmlBuilder:n})}function Lb(t,e){var r=Qc(["base"],t,e),n=Qc(["strut"]);return n.style.height=tt(r.height+r.depth),r.depth&&(n.style.verticalAlign=tt(-r.depth)),r.children.unshift(n),r}function OE(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=Ti(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],o=[],l=0;l<n.length;l++)if(o.push(n[l]),n[l].hasClass("mbin")||n[l].hasClass("mrel")||n[l].hasClass("allowbreak")){for(var u=!1;l<n.length-1&&n[l+1].hasClass("mspace")&&!n[l+1].hasClass("newline");)l++,o.push(n[l]),n[l].hasClass("nobreak")&&(u=!0);u||(a.push(Lb(o,e)),o=[])}else n[l].hasClass("newline")&&(o.pop(),o.length>0&&(a.push(Lb(o,e)),o=[]),a.push(n[l]));o.length>0&&a.push(Lb(o,e));var h;r?(h=Lb(Ti(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=Qc(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=tt(f.height+f.depth),f.depth&&(d.style.verticalAlign=tt(-f.depth))}return f}function yz(t){return new Pf(t)}function PF(t,e,r,n,i){var a=cs(t,r),o;a.length===1&&a[0]instanceof os&&Mt.contains(["mrow","mtable"],a[0].type)?o=a[0]:o=new Xe.MathNode("mrow",a);var l=new Xe.MathNode("annotation",[new Xe.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new Xe.MathNode("semantics",[o,l]),h=new Xe.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Ae.makeSpan([f],[h])}function Jt(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l`+e/2.075+" -"+e+`
c5.3,-9.3,12,-14,20,-14
H400000v`+(40+e)+`H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),Aye=s(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
c340,-704.7,510.7,-1060.3,512,-1067
l`+e/2.084+" -"+e+`
c4.7,-7.3,11,-11,19,-11
H40000v`+(40+e)+`H1012.3
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),Lye=s(function(e,r){return"M983 "+(10+e+r)+`
l`+e/3.13+" -"+e+`
c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),Dye=s(function(e,r){return"M424,"+(2398+e+r)+`
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000
v`+(40+e)+`H1014.6
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+`
h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),Rye=s(function(e,r){return"M473,"+(2713+e+r)+`
c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+`
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),Mye=s(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),Iye=s(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+`
H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),Nye=s(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=_ye(r,J0);break;case"sqrtSize1":i=Aye(r,J0);break;case"sqrtSize2":i=Lye(r,J0);break;case"sqrtSize3":i=Dye(r,J0);break;case"sqrtSize4":i=Rye(r,J0);break;case"sqrtTall":i=Iye(r,J0,n)}return i},"sqrtPath"),Oye=s(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),_F={doubleleftarrow:`M262 157
l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
435 0h399565z`,leftgroupunder:`M400000 262
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z
M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z
M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z
M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334
c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
-175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Pye=s(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84
H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z
M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z
M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z
MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z
MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z
M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z
M347 1759 V0 h-84 V1759 v`+r+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
-36,557 l0,`+(r+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
l0,-`+(r+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(r+9)+`
c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Pf=class{static{s(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return Mt.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e}toMarkup(){for(var e="",r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e}toText(){var e=s(r=>r.toText(),"toText");return this.children.map(e).join("")}},zl={"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,.
`+C+" children.");for(var D=0;D<C;D++){var L=new $l(k[D]),P=new Xo([L],{width:"400em",height:tt(T),viewBox:"0 0 "+l+" "+w,preserveAspectRatio:S[D]+" slice"}),M=Ae.makeSvgSpan([E[D]],[P],r);if(C===1)return{span:M,minWidth:A,height:T};M.style.height=tt(T),x.push(M)}return{span:Ae.makeSpan(["stretchy"],x,r),minWidth:A,height:T}}}s(n,"buildSvgSpan_");var{span:i,minWidth:a,height:o}=n();return i.height=o,i.style.height=tt(o),a>0&&(i.style.minWidth=tt(a)),i},"svgSpan"),vve=s(function(e,r,n,i,a){var o,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(o=Ae.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(o.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new G1({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new G1({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new Xo(h,{width:"100%",height:tt(l)});o=Ae.makeSvgSpan([],[f],a)}return o.height=l,o.style.height=tt(l),o},"encloseSpan"),Zc={encloseSpan:vve,mathMLnode:pve,svgSpan:yve};s(Jt,"assertNodeType");s(YE,"assertSymbolNodeType");s(Wb,"checkSymbolNodeType");XE=s((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=Jt(t.base,"accent"),r=n.base,t.base=r,i=Vye(vr(t,e)),t.base=n):(n=Jt(t,"accent"),r=n.base);var a=vr(r,e.havingCrampedStyle()),o=n.isShifty&&Mt.isCharacterBox(r),l=0;if(o){var u=Mt.getBaseElem(r),h=vr(u,e.havingCrampedStyle());l=RF(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=Zc.svgSpan(n,e),p=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+tt(2*l)+")",marginLeft:tt(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Ae.staticSvg("vec",e),g=Ae.svgData.vec[1]):(m=Ae.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=RF(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Ae.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=tt(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Ae.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Ae.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),bz=s((t,e)=>{var r=t.isStretchy?Zc.mathMLnode(t.label):new Xe.MathNode("mo",[yo(t.label,t.mode)]),n=new Xe.MathNode("mover",[nn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),xve=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));st({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:s((t,e)=>{var r=$b(e[0]),n=!xve.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:XE,mathmlBuilder:bz});st({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:s((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:XE,mathmlBuilder:bz});st({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:s((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];ret
]`,Hve="\\\\[a-zA-Z@]+",Yve="\\\\[^\uD800-\uDFFF]",Xve="("+Hve+")"+Yz+"*",jve=`\\\\(
|[ \r ]+
?)[ \r ]*`,zE="[\u0300-\u036F]",Kve=new RegExp(zE+"+$"),Qve="("+Yz+"+)|"+(jve+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(zE+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(zE+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Xve)+("|"+Yve+")"),Gb=class{static{s(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(Qve,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new go("EOF",new $s(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new je("Unexpected character: '"+e[r]+"'",new go(e[r],new $s(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(`
`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new go(i,new $s(this,r,this.tokenRegex.lastIndex))}},$E=class{static{s(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new je("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i<this.undefStack.length;i++)delete this.undefStack[i][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},Zve=Pz;J("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});J("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});J("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});J("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});J("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});J("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");J("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});ez={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};J("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new je("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=ez[e.text],n==null||n>=r)throw new je("Invalid base-"+r+" digit "+e.text);for(var i;(i=ez[t.future().text])!=null&&i<r;)n*=r,n+=i,t.popToken()}return"\\@char{"+n+"}"});rC=s((t,e,r)=>{var n=t.consumeArg().tokens;if(n.length!==1)throw new je("\\newcommand's first argument must be a macro name");var i=n[0].text,a=t.isDefined(i);if(a&&!e)throw new je("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!a&&!r)throw new je("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var o=0;if(n=t.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new je("Invalid number of arguments: "+l);o=parseInt(l),n=t.consumeArg().tokens}return t.macros.set(i,{tokens:n,numArgs:o}),""},"newcommand");J("\\newcommand",t=>rC(t,!1,!0));J("\\renewcommand",t=>rC(t,!0,!1));J("\\providecommand",t=>rC(t,!0,!0));J("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});J("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});J("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),sh[r],dn.math[r],dn.text[r]),""});J("\\bgroup","{");J("\\egroup","}");J("~","\\nobreakspace");J("\\lq","`");J("\\rq","'");J("\\aa","\\r a");J("\\AA","\\r A");J("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");J("\\copyri
please report what input caused this bug`);return n=n.slice(1,-1),{type:"verb",mode:"text",body:n,star:i}}nz.hasOwnProperty(r[0])&&!dn[this.mode][r[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+r[0]+'" used in math mode',e),r=nz[r[0]]+r.slice(1));var a=Kve.exec(r);a&&(r=r.substring(0,a.index),r==="i"?r="\u0131":r==="j"&&(r="\u0237"));var o;if(dn[this.mode][r]){this.settings.strict&&this.mode==="math"&&IE.indexOf(r)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=dn[this.mode][r].group,u=$s.range(e),h;if(Uye.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};o=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(az(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),o={type:"textord",mode:"text",loc:$s.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d<a[0].length;d++){var p=a[0][d];if(!LE[p])throw new je("Unknown accent ' "+p+"'",e);var m=LE[p][this.mode]||LE[p].text;if(!m)throw new je("Accent "+p+" unsupported in "+this.mode+" mode",e);o={type:"accent",mode:this.mode,loc:$s.range(e),label:m,isStretchy:!1,isShifty:!0,base:o}}return o}};Vb.endOfExpression=["}","\\endgroup","\\end","\\right","&"];iC=s(function(e,r){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var n=new Vb(e,r);delete n.gullet.macros.current["\\df@tag"];var i=n.parse();if(delete n.gullet.macros.current["\\current@color"],delete n.gullet.macros.current["\\color"],n.gullet.macros.get("\\df@tag")){if(!r.displayMode)throw new je("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:n.subparse([new go("\\df@tag")])}]}return i},"parseTree"),Qz=s(function(e,r,n){r.textContent="";var i=aC(e,n).toNode();r.appendChild(i)},"render");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."),Qz=s(function(){throw new je("KaTeX doesn't work in quirks mode.")},"render"));Jve=s(function(e,r){var n=aC(e,r).toMarkup();return n},"renderToString"),e2e=s(function(e,r){var n=new F1(r);return iC(e,n)},"generateParseTree"),Zz=s(function(e,r,n){if(n.throwOnError||!(e instanceof je))throw e;var i=Ae.makeSpan(["katex-error"],[new ls(r)]);return i.setAttribute("title",e.toString()),i.setAttribute("style","color:"+n.errorColor),i},"renderError"),aC=s(function(e,r){var n=new F1(r);try{var i=iC(e,n);return hve(i,e,n)}catch(a){return Zz(a,e,n)}},"renderToDomTree"),t2e=s(function(e,r){var n=new F1(r);try{var i=iC(e,n);return fve(i,e,n)}catch(a){return Zz(a,e,n)}},"renderToHTMLTree"),r2e={version:"0.16.11",render:Qz,renderToString:Jve,ParseError:je,SETTINGS_SCHEMA:Ib,__parse:e2e,__renderToDomTree:aC,__renderToHTMLTree:t2e,__setFontMetrics:Bye,__defineSymbol:B,__defineFunction:st,__defineMacro:J,__domTree:{Span:Bf,Anchor:$1,SymbolNode:ls,SvgNode:Xo,PathNode:$l,LineNode:G1}}});function a2e(){let t="data-temp-href-target";ip.default.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),ip.default.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var ip,zf,n2e,i2e,n$,t$,$r,s2e,o2e,l2e,c2e,i$,u2e,hr,h2e,f2e,uh,sC,d2e,p2e,r$,oC,Ei,$f,hh,$e,Qt=_(()=>{"use strict";ip=ka(yE(),1),zf=/<br\s*\/?>/gi,n2e=s(t=>t?i$(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),i2e=(()=>{let t=!1;return()=>{t||(a2e(),t=!0)}})();s(a2e,"setupDompurifyHooks");n$=s(t=>
font-family: ${r.fontFamily};
font-size: ${r.fontSize};
fill: ${r.textColor}
}
/* Classes common for multiple diagrams */
& .error-icon {
fill: ${r.errorBkgColor};
}
& .error-text {
fill: ${r.errorTextColor};
stroke: ${r.errorTextColor};
}
& .edge-thickness-normal {
stroke-width: 1px;
}
& .edge-thickness-thick {
stroke-width: 3.5px
}
& .edge-pattern-solid {
stroke-dasharray: 0;
}
& .edge-thickness-invisible {
stroke-width: 0;
fill: none;
}
& .edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
& .marker {
fill: ${r.lineColor};
stroke: ${r.lineColor};
}
& .marker.cross {
stroke: ${r.lineColor};
}
& svg {
font-family: ${r.fontFamily};
font-size: ${r.fontSize};
}
& p {
margin: 0
}
${n}
${e}
`},"getStyles"),a$=s((t,e)=>{e!==void 0&&(jb[t]=e)},"addStylesForDiagram"),s$=y2e});var q1={};ur(q1,{clear:()=>br,getAccDescription:()=>Ur,getAccTitle:()=>Gr,getDiagramTitle:()=>Qr,setAccDescription:()=>Vr,setAccTitle:()=>Ar,setDiagramTitle:()=>an});var cC,uC,hC,fC,br,Ar,Gr,Vr,Ur,an,Qr,Ci=_(()=>{"use strict";Qt();zs();cC="",uC="",hC="",fC=s(t=>$r(t,_r()),"sanitizeText"),br=s(()=>{cC="",hC="",uC=""},"clear"),Ar=s(t=>{cC=fC(t).replace(/^\s+/g,"")},"setAccTitle"),Gr=s(()=>cC,"getAccTitle"),Vr=s(t=>{hC=fC(t).replace(/\n\s+/g,`
`)},"setAccDescription"),Ur=s(()=>hC,"getAccDescription"),an=s(t=>{uC=fC(t)},"setDiagramTitle"),Qr=s(()=>uC,"getDiagramTitle")});var o$,v2e,le,pC,Qb,x2e,mC,b2e,Kb,Gf,W1,dC,gt=_(()=>{"use strict";Mf();it();zs();Qt();Un();lC();Ci();o$=V,v2e=E1,le=_r,pC=kb,Qb=ih,x2e=s(t=>$r(t,le()),"sanitizeText"),mC=ql,b2e=s(()=>q1,"getCommonDb"),Kb={},Gf=s((t,e,r)=>{Kb[t]&&o$.warn(`Diagram with id ${t} already registered. Overwriting.`),Kb[t]=e,r&&Q7(t,r),a$(t,e.styles),e.injectUtils?.(o$,v2e,le,x2e,mC,b2e(),()=>{})},"registerDiagram"),W1=s(t=>{if(t in Kb)return Kb[t];throw new dC(t)},"getDiagram"),dC=class extends Error{static{s(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var Ko,fh,Ga,jo,Wl,H1,gC,yC,Zb,Jb,l$,k2e,w2e,T2e,E2e,C2e,S2e,_2e,A2e,L2e,D2e,R2e,M2e,I2e,N2e,O2e,P2e,B2e,c$,F2e,z2e,u$,$2e,G2e,V2e,U2e,dh,q2e,W2e,H2e,Y2e,X2e,Y1,vC=_(()=>{"use strict";gt();Qt();Ci();Ko=[],fh=[""],Ga="global",jo="",Wl=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],H1=[],gC="",yC=!1,Zb=4,Jb=2,k2e=s(function(){return l$},"getC4Type"),w2e=s(function(t){l$=$r(t,le())},"setC4Type"),T2e=s(function(t,e,r,n,i,a,o,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=H1.find(d=>d.from===e&&d.to===r);if(f?h=f:H1.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof o=="object"){let[d,p]=Object.entries(o)[0];h[d]=p}else h.sprite=o;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=dh()},"addRel"),E2e=s(function(t,e,r,n,i,a,o){if(e===null||r===null)return;let l={},u=Ko.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Ko.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];l[h]=f}else l.link=o;l.typeC4Shape={text:t},l.parentBoundary=Ga,l.wrap=dh()},"addPersonOrSystem"),C2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Ko.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Ko.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Ga},"addContainer"),S2e=s(function(t,e,r,n,i,a,o,l){if(e===null||r===null)return;let u={},h=Ko.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,Ko.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof o=="object"){let[f,d]=Object.entries(o)[0];u[f]=d}else u.tags=o;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Ga},"addComponent"),_2e=s(function(t,e,r,n,i){if(t===null||e===null)return;let a={},o=Wl.find(l=>l.alias===t);if(o&&t===o.alias?a=o:(a.alias=t,Wl.push(a)),e==null?a.label={text:""}:a.label={text:e},r==n
`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),V.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=Df.exec(t))!==null;)if(n.index===Df.lastIndex&&Df.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],o=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:o})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return V.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),eY=s(function(t){return t.replace(Df,"")},"removeDirectives"),Awe=s(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");s(Wp,"interpolateToCurve");s(Lwe,"formatUrl");Dwe=s((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let o=0;o<n;o++)if(a=a[r[o]],!a){V.error(`Function name: ${t} not found in window`);return}a[i](...e)},"runFunc");s(tY,"distance");s(Rwe,"traverseEdge");s(Mwe,"calcLabelPosition");KH=s((t,e=2)=>{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),oA=s((t,e)=>{let r,n=e;for(let i of t){if(r){let a=tY(i,r);if(a<n)n-=a;else{let o=n/a;if(o<=0)return r;if(o>=1)return{x:i.x,y:i.y};if(o>0&&o<1)return{x:KH((1-o)*r.x+o*i.x,5),y:KH((1-o)*r.y+o*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),Iwe=s((t,e,r)=>{V.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=oA(e,25),a=t?10:5,o=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(o)*a+(e[0].x+i.x)/2,l.y=-Math.cos(o)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");s(Nwe,"calcTerminalLabelPosition");s(Hp,"getStylesFromArray");QH=0,lA=s(()=>(QH++,"id-"+Math.random().toString(36).substr(2,12)+"-"+QH),"generateId");s(Owe,"makeRandomHex");cA=s(t=>Owe(t.length),"random"),Pwe=s(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),Bwe=s(function(t,e){let r=e.text.replace($e.lineBreakRegex," "),[,n]=nc(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),uA=Rp((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},r),$e.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((o,l)=>{let u=hl(`${o} `,r),h=hl(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=Fwe(o,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=o):a=[a,o].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(o=>o!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),Fwe=Rp((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],o="";return i.forEach((l,u)=>{let h=`${o}${l}`;if(hl(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),o=""}else o=h}),{hyphenatedStrings:a,remainingWord:o}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);s(z3,"calculateTextHeight");s(hl,"calculateTextWidth");hA=Rp((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=nc(r),o=["sans-serif",n],l=t.split($e.lineBreakRegex),u=[],h=Me("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of o){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=Pwe();v.text=y||sA;let x=Bwe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeig
stroke: ${t.personBorder};
fill: ${t.personBkg};
}
`,"getStyles"),cY=Wwe});var hY={};ur(hY,{diagram:()=>Hwe});var Hwe,fY=_(()=>{"use strict";Z7();vC();lY();uY();Hwe={parser:MB,db:Y1,renderer:mA,styles:cY,init:s(({c4:t,wrap:e})=>{mA.setConf(t),Y1.setWrap(e)},"init")}});function yA(t){let e=[];for(let r of t){let n=jy.get(r);n?.styles&&(e=[...e,...n.styles??[]].map(i=>i.trim())),n?.textStyles&&(e=[...e,...n.textStyles??[]].map(i=>i.trim()))}return e}var Kwe,mY,Yp,Oh,ys,jy,gu,vA,xA,W3,gA,So,H3,Y3,X3,j3,Qwe,Zwe,Jwe,eTe,tTe,rTe,nTe,bA,iTe,aTe,sTe,gY,oTe,lTe,kA,yY,vY,cTe,xY,uTe,hTe,fTe,dTe,pTe,Xy,bY,kY,mTe,gTe,wY,yTe,vTe,xTe,bTe,kTe,TY,EY,wTe,TTe,ETe,CTe,STe,_Te,K3,wA=_(()=>{"use strict";Xt();pr();gt();Qt();it();Ci();Kwe="flowchart-",mY=0,Yp=le(),Oh=new Map,ys=[],jy=new Map,gu=[],vA=new Map,xA=new Map,W3=0,gA=!0,Y3=[],X3=s(t=>$e.sanitizeText(t,Yp),"sanitizeText"),j3=s(function(t){for(let e of Oh.values())if(e.id===t)return e.domId;return t},"lookUpDomId"),Qwe=s(function(t,e,r,n,i,a,o={}){if(!t||t.trim().length===0)return;let l,u=Oh.get(t);u===void 0&&(u={id:t,labelType:"text",domId:Kwe+t+"-"+mY,styles:[],classes:[]},Oh.set(t,u)),mY++,e!==void 0?(Yp=le(),l=X3(e.text.trim()),u.labelType=e.type,l.startsWith('"')&&l.endsWith('"')&&(l=l.substring(1,l.length-1)),u.text=l):u.text===void 0&&(u.text=t),r!==void 0&&(u.type=r),n?.forEach(function(h){u.styles.push(h)}),i?.forEach(function(h){u.classes.push(h)}),a!==void 0&&(u.dir=a),u.props===void 0?u.props=o:o!==void 0&&Object.assign(u.props,o)},"addVertex"),Zwe=s(function(t,e,r){let a={start:t,end:e,type:void 0,text:"",labelType:"text"};V.info("abc78 Got edge...",a);let o=r.text;if(o!==void 0&&(a.text=X3(o.text.trim()),a.text.startsWith('"')&&a.text.endsWith('"')&&(a.text=a.text.substring(1,a.text.length-1)),a.labelType=o.type),r!==void 0&&(a.type=r.type,a.stroke=r.stroke,a.length=r.length>10?10:r.length),ys.length<(Yp.maxEdges??500))V.info("Pushing edge..."),ys.push(a);else throw new Error(`Edge limit exceeded. ${ys.length} edges found, but the limit is ${Yp.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.`)},"addSingleLink"),Jwe=s(function(t,e,r){V.info("addLink",t,e,r);for(let n of t)for(let i of e)Zwe(n,i,r)},"addLink"),eTe=s(function(t,e){t.forEach(function(r){r==="default"?ys.defaultInterpolate=e:ys[r].interpolate=e})},"updateLinkInterpolate"),tTe=s(function(t,e){t.forEach(function(r){if(typeof r=="number"&&r>=ys.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${ys.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?ys.defaultStyle=e:(ys[r].style=e,(ys[r]?.style?.length??0)>0&&!ys[r]?.style?.some(n=>n?.startsWith("fill"))&&ys[r]?.style?.push("fill:none"))})},"updateLink"),rTe=s(function(t,e){t.split(",").forEach(function(r){let n=jy.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},jy.set(r,n)),e?.forEach(function(i){if(/color/.exec(i)){let a=i.replace("fill","bgFill");n.textStyles.push(a)}n.styles.push(i)})})},"addClass"),nTe=s(function(t){So=t,/.*</.exec(So)&&(So="RL"),/.*\^/.exec(So)&&(So="BT"),/.*>/.exec(So)&&(So="LR"),/.*v/.exec(So)&&(So="TB"),So==="TD"&&(So="TB")},"setDirection"),bA=s(function(t,e){for(let r of t.split(",")){let n=Oh.get(r);n&&n.classes.push(e);let i=vA.get(r);i&&i.classes.push(e)}},"setClass"),iTe=s(function(t,e){if(e!==void 0){e=X3(e);for(let r of t.split(","))xA.set(H3==="gen-1"?j3(r):r,e)}},"setTooltip"),aTe=s(function(t,e,r){let n=j3(t);if(le().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let o=0;o<i.length;o++){let l=i[o].trim();l.startsWith('"')&&l.endsWith('"')&&(l=l.substr(1,l.length-2)),i[o]=l}}i.length===0&&i.push(t);let a=Oh.get(t);a&&(a.haveCallback=!0,Y3.push(function(){let o=document.querySelector(`[id="${n}"]`);o!==null&&o.addEventListener("click",function(){dt.runFunc(e,...i)},!1)}))},"setClickFun"),sTe=s(function(t,e,r){t.split(",").forEach(function(n){let i=Oh.get(n);i!==void 0&&(i.link=dt.formatUrl(e,Yp),i.linkTarget=r)}),bA(t,"clickable")},"setLink"),gY=s(function(t){return xA.get(t)},"getTooltip"),oTe=s(function(t,e,r){t.split(",").forEach(function(n){aTe(n,e,r)}),bA(t,"clickable")},"setClickEvent"),lTe=s(function(t){Y3.forEach(function(e){e(t)})},"bindFunctions"),kA=s(function(){return So.trim()},"getDirection"),yY=s(function(){return Oh},"getVertices"),vY=s(function(){return ys},"getEdges"),cTe=s(function(){return jy},"getClasses"),xY=s(function(t){let e=Me(".mermaidTooltip");(e._groups||e)[0][0]===null&&(e=Me("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Me(t).select("svg").selectAll("g.node").on("mouseover",function(){let i=Me(this);if(i.attr("title")===null)return;let o=this?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(i.attr("title")).style("left",window.scrollX+o.left+(o.right-o.left)/2+"px").style("top",window.scrollY+o.bottom+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),Me(this).classed("hover",!1)})},"setupToolTips");Y3.push(xY);uTe=s(function(t="gen-1"){Oh=new Map,jy=new Map,ys=[],Y3=[xY],gu=[],vA=new Map,W3=0,xA=new Map,gA=!0,H3=t,Yp=le(),br()},"clear"),hTe=s(t=>{H3=t||"gen-2"},"setGen"),fTe=s(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),dTe=s(function(t,e,r){let n=t.text.trim(),i=r.text;t===r&&/\s/.exec(r.text)&&(n=void 0);function a(h){let f={boolean:{},number:{},string:{}},d=[],p;return{nodeList:h.filter(function(g){let y=typeof g;return g.stmt&&g.stmt==="dir"?(p=g.value,!1):g.trim()===""?!1:y in f?f[y].hasOwnProperty(g)?!1:f[y][g]=!0:d.includes(g)?!1:d.push(g)}),dir:p}}s(a,"uniq");let{nodeList:o,dir:l}=a(e.flat());if(H3==="gen-1")for(let h=0;h<o.length;h++)o[h]=j3(o[h]);n=n??"subGraph"+W3,i=i||"",i=X3(i),W3=W3+1;let u={id:n,nodes:o,title:i.trim(),classes:[],dir:l,labelType:r.type};return V.info("Adding",u.id,u.nodes,u.dir),u.nodes=EY(u,gu).nodes,gu.push(u),vA.set(n,u),n},"addSubGrap
`).map(i=>{let a=i.match(/^\s+/);if(a===null)return i;let[o]=a;return o.length>=n.length?i.slice(n.length):i}).join(`
`)}function qr(t,e){return dd.parse(t,e)}var pd,IY,LTe,NY,DTe,RTe,_Y,MTe,NTe,Zy,jp,BTe,FTe,zTe,ev,$Te,OY,PY,SA,GTe,_A,VTe,UTe,J3,AA,qTe,BY,WTe,LA,RY,HTe,YTe,FY,XTe,zY,jTe,tv,KTe,QTe,ZTe,JTe,e7e,t7e,r7e,n7e,i7e,Z3,a7e,$Y,GY,s7e,DA,o7e,TA,l7e,Q3,Qy,yu,Kp,Jy,vu,Xp,EA,dd,b3t,k3t,w3t,T3t,E3t,C3t,S3t,VY=_(()=>{"use strict";s(CA,"_getDefaults");pd=CA();s(MY,"changeDefaults");IY=/[&<>"']/,LTe=new RegExp(IY.source,"g"),NY=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,DTe=new RegExp(NY.source,"g"),RTe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},_Y=s(t=>RTe[t],"getEscapeReplacement");s(Xs,"escape$1");MTe=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;s(ITe,"unescape");NTe=/(^|[^\[])\^/g;s(en,"edit");s(AY,"cleanUrl");Zy={exec:s(()=>null,"exec")};s(LY,"splitCells");s(Ky,"rtrim");s(OTe,"findClosingBracket");s(DY,"outputLink");s(PTe,"indentCodeCompensation");jp=class{static{s(this,"_Tokenizer")}options;rules;lexer;constructor(e){this.options=e||pd}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Ky(n,`
`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=PTe(n,r[3]||"");return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(/#$/.test(n)){let i=Ky(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:Ky(r[0],`
`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=Ky(r[0],`
`).split(`
`),i="",a="",o=[];for(;n.length>0;){let l=!1,u=[],h;for(h=0;h<n.length;h++)if(/^ {0,3}>/.test(n[h]))u.push(n[h]),l=!0;else if(!l)u.push(n[h]);else break;n=n.slice(h);let f=u.join(`
`),d=f.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
$1`).replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i}
${f}`:f,a=a?`${a}
${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,o,!0),this.lexer.state.top=p,n.length===0)break;let m=o[o.length-1];if(m?.type==="code")break;if(m?.type==="blockquote"){let g=m,y=g.raw+`
`+n.join(`
`),v=this.blockquote(y);o[o.length-1]=v,i=i.substring(0,i.length-g.raw.length)+v.raw,a=a.substring(0,a.length-g.text.length)+v.text;break}else if(m?.type==="list"){let g=m,y=g.raw+`
`+n.join(`
`),v=this.list(y);o[o.length-1]=v,i=i.substring(0,i.length-m.raw.length)+v.raw,a=a.substring(0,a.length-g.raw.length)+v.raw,n=y.substring(o[o.length-1].raw.length).split(`
`);continue}}return{type:"blockquote",raw:i,tokens:o,text:a}}}list(e){let r=this.rules.block.list.exec(e);if(r){let n=r[1].trim(),i=n.length>1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let o=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),l=!1;for(;e;){let u=!1,h="",f="";if(!(r=o.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let d=r[2].split(`
`,1)[0].replace(/^\t+/,x=>" ".repeat(3*x.length)),p=e.split(`
`,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=r[1].length+1:(g=r[2].search(/[^ ]/),g=g>4?1:g,f=d.slice(g),g+=r[1].length),m&&/^ *$/.test(p)&&(h+=p+`
`,e=e.substring(p.length+1),u=!0),!u){let x=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),k=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),A=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;e;){let w=e.split(`
`,1)[0];if(p=w,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),k.test(p)||A.test(p)||x.test(p)||b.test(e))break;if(p.search(/[^ ]/)>=g||!p.trim())f+=`
`+p.slice(g);else{if(m||d.search(/[^ ]/)>=4||k.test(d)||A.test(d)||b.test(d))break;f+=`
`+p}!m&&!p.trim()&&(m=!0),h+=w+`
`,e=e.substring(w.length+1),d=p.slice(g)}}a.loose||(l?a.loose=!0:/\n *\n *$/.test(h)&&(l=!0));let y=null,v;this.options.gfm&&(y=/^\[[ xX]\] /.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),a.raw+=h}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let u=0;u<a.items.length;u++)if(this.lexer.state.top=!1,a.items[u].tokens=this.lexer.blockTokens(a.items[u].text,[]),!a.loose){let h=a.items[u].tokens.filter(d=>d.type==="space"),f=h.length>0&&h.some(d=>/\n.*\n/.test(d.raw));a.loose=f}if(a.loose)for(let u=0;u<a.items.length;u++)a.items[u].loose=!0;return a}}html(e){let r=this.rules.block.html.exec(e);if(r)return{type:"html",block:!0,raw:r[0],pre:r[1]==="pre"||r[1]==="script"||r[1]==="style",text:r[0]}}def(e){let r=this.rules.block.def.exec(e);if(r){let n=r[1].toLowerCase().replace(/\s+/g," "),i=r[2]?r[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){let r=this.rules.block.table.exec(e);if(!r||!/[:|]/.test(r[2]))return;let n=LY(r[1]),i=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(`
`):[],o={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)/^ *-+: *$/.test(l)?o.align.push("right"):/^ *:-+: *$/.test(l)?o.align.push("center"):/^ *:-+ *$/.test(l)?o.align.push("left"):o.align.push(null);for(let l=0;l<n.length;l++)o.header.push({text:n[l],tokens:this.lexer.inline(n[l]),header:!0,align:o.align[l]});for(let l of a)o.rows.push(LY(l,o.header.length).map((u,h)=>({text:u,tokens:this.lexer.inline(u),header:!1,align:o.align[h]})));return o}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===`
`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:Xs(r[1])}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&/^<a /i.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;let o=Ky(n.slice(0,-1),"\\");if((n.length-o.length)%2===0)return}else{let o=OTe(r[2],"()");if(o>-1){let u=(r[0].indexOf("!")===0?5:4)+r[1].length+o;r[2]=r[2].substring(0,o),r[0]=r[0].substring(0,u).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let o=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);o&&(i=o[1],a=o[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),/^</.test(i)&&(this.options.pedantic&&!/>$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),DY(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(/\s+/g," "),a=r[i.toLowerCase()];if(!a){let o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return DY(n,a,n[0],this.lexer)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let o=[...i[0]].length-1,l,u,h=o,f=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+o);(i=d.exec(r))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(u=[...l].length,i[3]||i[4]){h+=u;continue}else if((i[5]||i[6])&&o%3&&!((o+u)%3)){f+=u;continue}if(h-=u,h>0)continue;u=Math.min(u,u+h+f);let p=[...i[0]][0].length,m=e.slice(0,o+i.index+p+u);if(Math.min(o,u)%2){let y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}let g=m.slice(2,-2);return{type:"strong",raw:m,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(/\n/g," "),i=/[^ ]/.test(n),a=/^ /.test(n)&&/ $/.test(n);return i&&a&&(n=n.substring(1,n.length-1)),n=Xs(n,!0),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=Xs(r[1]),i="mailto:"+n):(n=Xs(r[1]),i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=Xs(r[0]),i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=Xs(r[0]),r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n;return this.lexer.state.inRawBlock?n=r[0]:n=Xs(r[0]),{type:"text",raw:r[0],text:n}}}},BTe=/^(?: *(?:\n|$))+/,FTe=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,zTe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ev=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$Te=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,OY=/(?:[*+-]|\d{1,9}[.)])/,PY=en(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|
]`).replace("lheading",PY).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},FY=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,XTe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,zY=/^( {2,}|\\)\n(?!\s*$)/,jTe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,tv="\\p{P}\\p{S}",KTe=en(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,tv).getRegex(),QTe=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,ZTe=en(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,tv).getRegex(),JTe=en("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,tv).getRegex(),e7e=en("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,tv).getRegex(),t7e=en(/\\([punct])/,"gu").replace(/punct/g,tv).getRegex(),r7e=en(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),n7e=en(AA).replace("(?:-->|$)","-->").getRegex(),i7e=en("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",n7e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Z3=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,a7e=en(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Z3).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$Y=en(/^!?\[(label)\]\[(ref)\]/).replace("label",Z3).replace("ref",_A).getRegex(),GY=en(/^!?\[(ref)\](?:\[\])?/).replace("ref",_A).getRegex(),s7e=en("reflink|nolink(?!\\()","g").replace("reflink",$Y).replace("nolink",GY).getRegex(),DA={_backpedal:Zy,anyPunctuation:t7e,autolink:r7e,blockSkip:QTe,br:zY,code:XTe,del:Zy,emStrongLDelim:ZTe,emStrongRDelimAst:JTe,emStrongRDelimUnd:e7e,escape:FY,link:a7e,nolink:GY,punctuation:KTe,reflink:$Y,reflinkSearch:s7e,tag:i7e,text:jTe,url:Zy},o7e={...DA,link:en(/^!?\[(label)\]\((.*?)\)/).replace("label",Z3).getRegex(),reflink:en(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Z3).getRegex()},TA={...DA,escape:en(FY).replace("])","~|])").getRegex(),url:en(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},l7e={...TA,br:en(zY).replace("{2,}","*").getRegex(),text:en(TA.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Q3={normal:LA,gfm:HTe,pedantic:YTe},Qy={normal:DA,gfm:TA,breaks:l7e,pedantic:o7e},yu=class t{static{s(this,"_Lexer")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||pd,this.options.tokenizer=this.options.tokenizer||new jp,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={block:Q3.normal,inline:Qy.normal};this.options.pedantic?(r.block=Q3.pedantic,r.inline=Qy.pedantic)
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let n=this.inlineQueue[r];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],n=!1){this.options.pedantic?e=e.replace(/\t/g," ").replace(/^ +$/gm,""):e=e.replace(/^( *)(\t+)/gm,(l,u,h)=>u+" ".repeat(h.length));let i,a,o;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(i=l.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&r.length>0?r[r.length-1].raw+=`
`:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=`
`+i.raw,a.text+=`
`+i.text,this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=`
`+i.raw,a.text+=`
`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let l=1/0,u=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},u),typeof h=="number"&&h>=0&&(l=Math.min(l,h))}),l<1/0&&l>=0&&(o=e.substring(0,l+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){a=r[r.length-1],n&&a?.type==="paragraph"?(a.raw+=`
`+i.raw,a.text+=`
`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i),n=o.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=`
`+i.raw,a.text+=`
`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n,i,a,o=e,l,u,h;if(this.tokens.links){let f=Object.keys(this.tokens.links);if(f.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(o))!=null;)f.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(o))!=null;)o=o.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(o))!=null;)o=o.slice(0,l.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(u||(h=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(f=>(n=f.call({lexer:this},e,r))?(e=e.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.emStrong(e,o,h)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),r.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),r.push(n);continue}if(a=e,this.options.extensions&&this.options.extensions.startInline){let f=1/0,d=e.slice(1),p;this.options.extensions.startInline.forEach(m=>{p=m.call({lexer:this},d),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(a=e.substring(0,f+1))}if(n=this.tokenizer.inlineText(a)){e=e.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(h=n.raw.slice(-1)),u=!0,i=r[r.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(e){let f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return r}},Kp=class{static{s(this,"_Renderer")}options;parser;constructor(e){this.options=e||pd}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(/^\S*/)?.[0],a=e.replace(/\n$/,"")+`
`;return i?'<pre><code class="language-'+Xs(i)+'">'+(n?a:Xs(a,!0))+`</code></pre>
`:"<pre><code>"+(n?a:Xs(a,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
${this.parser.parse(e)}</blockquote>
`}html({text:e}){return e}heading({tokens:e,depth:r}){return`<h${r}>${this.parser.parseInline(e)}</h${r}>
`}hr(e){return`<hr>
`}list(e){let r=e.ordered,n=e.start,i="";for(let l=0;l<e.items.length;l++){let u=e.items[l];i+=this.listitem(u)}let a=r?"ol":"ul",o=r&&n!==1?' start="'+n+'"':"";return"<"+a+o+`>
`+i+"</"+a+`>
`}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`<li>${r}</li>
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
`}table(e){let r="",n="";for(let a=0;a<e.header.length;a++)n+=this.tablecell(e.header[a]);r+=this.tablerow({text:n});let i="";for(let a=0;a<e.rows.length;a++){let o=e.rows[a];n="";for(let l=0;l<o.length;l++)n+=this.tablecell(o[l]);i+=this.tablerow({text:n})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
<thead>
`+r+`</thead>
`+i+`</table>
`}tablerow({text:e}){return`<tr>
${e}</tr>
`}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+`</${n}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=AY(e);if(a===null)return i;e=a;let o='<a href="'+e+'"';return r&&(o+=' title="'+r+'"'),o+=">"+i+"</a>",o}image({href:e,title:r,text:n}){let i=AY(e);if(i===null)return n;e=i;let a=`<img src="${e}" alt="${n}"`;return r&&(a+=` title="${r}"`),a+=">",a}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}},Jy=class{static{s(this,"_TextRenderer")}strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},vu=class t{static{s(this,"_Parser")}options;renderer;textRenderer;constructor(e){this.options=e||pd,this.options.renderer=this.options.renderer||new Kp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Jy}static parse(e,r){return new t(r).parse(e)}static parseInline(e,r){return new t(r).parseInline(e)}parse(e,r=!0){let n="";for(let i=0;i<e.length;i++){let a=e[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){let l=a,u=this.options.extensions.renderers[l.type].call({parser:this},l);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(l.type)){n+=u||"";continue}}let o=a;switch(o.type){case"space":{n+=this.renderer.space(o);continue}case"hr":{n+=this.renderer.hr(o);continue}case"heading":{n+=this.renderer.heading(o);continue}case"code":{n+=this.renderer.code(o);continue}case"table":{n+=this.renderer.table(o);continue}case"blockquote":{n+=this.renderer.blockquote(o);continue}case"list":{n+=this.renderer.list(o);continue}case"html":{n+=this.renderer.html(o);continue}case"paragraph":{n+=this.renderer.paragraph(o);continue}case"text":{let l=o,u=this.renderer.text(l);for(;i+1<e.length&&e[i+1].type==="text";)l=e[++i],u+=`
`+this.renderer.text(l);r?n+=this.renderer.paragraph({type:"paragraph",raw:u,text:u,tokens:[{type:"text",raw:u,text:u}]}):n+=u;continue}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return n}parseInline(e,r){r=r||this.renderer;let n="";for(let i=0;i<e.length;i++){let a=e[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[a.type]){let l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){n+=l||"";continue}}let o=a;switch(o.type){case"escape":{n+=r.text(o);break}case"html":{n+=r.html(o);break}case"link":{n+=r.link(o);break}case"image":{n+=r.image(o);break}case"strong":{n+=r.strong(o);break}case"em":{n+=r.em(o);break}case"codespan":{n+=r.codespan(o);break}case"br":{n+=r.br(o);break}case"del":{n+=r.del(o);break}case"text":{n+=r.text(o);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return n}},Xp=class{static{s(this,"_Hooks")}options;constructor(e){this.options=e||pd}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}},EA=class{static{s(this,"Marked")}defaults=CA();options=this.setOptions;parse=this.#e(yu.lex,vu.parse);parseInline=this.#e(yu.lexInline,vu.parseInline);Parser=vu;Renderer=Kp;TextRenderer=Jy;Lexer=yu;Tokenizer=jp;Hooks=Xp;constructor(...e){this.use(...e)}walkTokens(e,r){let n=[];for(let i of e)switch(n=n.concat(r.call(this,i)),i.type){case"table":{let a=i;for(let o of a.header)n=n.concat(this.walkTokens(o.tokens,r));for(let o of a.rows)for(let l of o)n=n.concat(this.walkTokens(l.tokens,r));break}case"list":{let a=i;n=n.concat(this.walkTokens(a.items,r));break}default:{let a=i;this.defaults.extensions?.childTokens?.[a.type]?this.defaults.extensions.childTokens[a.type].forEach(o=>{let l=a[o].flat(1/0);n=n.concat(this.walkTokens(l,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let o=r.renderers[a.name];o?r.renderers[a.name]=function(...l){let u=a.renderer.apply(this,l);return u===!1&&(u=o.apply(this,l)),u}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=r[a.level];o?o.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new Kp(this.defaults);for(let o in n.renderer){if(!(o in a))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let l=o,u=n.renderer[l];n.useNewRenderer||(u=this.#t(u,l,a));let h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new jp(this.defaults);for(let o in n.tokenizer){if(!(o in a))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let l=o,u=n.tokenizer[l],h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new Xp;for(let o in n.hooks){if(!(o in a))throw new Error(`hook '${o}' does not exist`);if(o==="options")continue;let l=o,u=n.hooks[l],h=a[l];Xp.passThroughHooks.has(o)?a[l]=f=>{if(this.defaults.async)return Promise.resolve(u.call(a,f)).then(p=>h.call(a,p));let d=u.call(a,f);return h.call(a,d)}:a[
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+Xs(n.message+"",!0)+"</pre>";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},dd=new EA;s(qr,"marked");qr.options=qr.setOptions=function(t){return dd.setOptions(t),qr.defaults=dd.defaults,MY(qr.defaults),qr};qr.getDefaults=CA;qr.defaults=pd;qr.use=function(...t){return dd.use(...t),qr.defaults=dd.defaults,MY(qr.defaults),qr};qr.walkTokens=function(t,e){return dd.walkTokens(t,e)};qr.parseInline=dd.parseInline;qr.Parser=vu;qr.parser=vu.parse;qr.Renderer=Kp;qr.TextRenderer=Jy;qr.Lexer=yu;qr.lexer=yu.lex;qr.Tokenizer=jp;qr.Hooks=Xp;qr.parse=qr;b3t=qr.options,k3t=qr.setOptions,w3t=qr.use,T3t=qr.walkTokens,E3t=qr.parseInline,C3t=vu.parse,S3t=yu.lex});function c7e(t,{markdownAutoWrap:e}){let n=t.replace(/<br\/>/g,`
`).replace(/\n{2,}/g,`
`),i=lb(n);return e===!1?i.replace(/ /g,"&nbsp;"):i}function UY(t,e={}){let r=c7e(t,e),n=qr.lexer(r),i=[[]],a=0;function o(l,u="normal"){l.type==="text"?l.text.split(`
`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{o(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return s(o,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{o(u)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}),i}function qY(t,{markdownAutoWrap:e}={}){let r=qr.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):i.text.replace(/\n */g,"<br/>"):i.type==="strong"?`<strong>${i.tokens?.map(n).join("")}</strong>`:i.type==="em"?`<em>${i.tokens?.map(n).join("")}</em>`:i.type==="paragraph"?`<p>${i.tokens?.map(n).join("")}</p>`:i.type==="space"?"":i.type==="html"?`${i.text}`:`Unsupported markdown: ${i.type}`}return s(n,"output"),r.map(n).join("")}var WY=_(()=>{"use strict";VY();Y7();s(c7e,"preprocessMarkdown");s(UY,"markdownToLines");s(qY,"markdownToHTML")});function u7e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function h7e(t,e){let r=u7e(e.content);return HY(t,[],r,e.type)}function HY(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,o=[...e,i];return t([{content:o.join(""),type:n}])?HY(t,o,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function YY(t,e){if(t.some(({content:r})=>r.includes(`
`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return RA(t,e)}function RA(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},o=[...n];if(i!==""&&o.push({content:i,type:"normal"}),o.push(a),e(o))return RA(t,e,r,o);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=h7e(e,a);r.push([l]),u.content&&t.unshift(u)}return RA(t,e,r)}var XY=_(()=>{"use strict";s(u7e,"splitTextToChars");s(h7e,"splitWordToFitWidth");s(HY,"splitWordToFitWidthRecursion");s(YY,"splitLineToFitWidth");s(RA,"splitLineToFitWidthRecursion")});function jY(t,e){e&&t.attr("style",e)}async function f7e(t,e,r,n,i=!1){let a=t.append("foreignObject"),o=a.append("xhtml:div"),l=e.label;e.label&&Ei(e.label)&&(l=await hh(e.label.replace($e.lineBreakRegex,`
`),le()));let u=e.isNode?"nodeLabel":"edgeLabel",h=o.append("span");h.html(l),jY(h,e.labelStyle),h.attr("class",`${u} ${n}`),jY(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),o.style("max-width",r+"px"),o.style("text-align","center"),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let f=o.node().getBoundingClientRect();return f.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),f=o.node().getBoundingClientRect()),a.node()}function MA(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function d7e(t,e,r){let n=t.append("text"),i=MA(n,1,e);IA(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function KY(t,e,r){let n=t.append("text"),i=MA(n,1,e);IA(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function p7e(t,e,r,n=!1){let a=e.append("g"),o=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=s(p=>d7e(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:YY(h,f);for(let p of d){let m=MA(l,u,1.1);IA(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return o.attr("x",-f).attr("y",-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function IA(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}function NA(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,e=>`<i class='${e.replace(":"," ")}'></i>`)}var vs,ic=_(()=>{"use strict";gt();Qt();Xt();it();WY();pr();XY();s(jY,"applyStyle");s(f7e,"addHtmlSpan");s(MA,"createTspan");s(d7e,"computeWidthOfText");s(KY,"computeDimensionOfText");s(p7e,"createFormattedText");s(IA,"updateTextContentAndStyles");s(NA,"replaceIconSubstring");vs=s(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(V.info("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){let f=qY(e,h),d=NA(Ys(f)),p=e.replace(/\\\\/g,"\\"),m={isNode:o,label:Ei(e)?p:d,labelStyle:r.replace("fill:","color:")};return await f7e(t,m,l,i,u)}else{let f=e.replace(/<br\s*\/?>/g,"<br/>"),d=UY(f.replace("<br>","<br/>"),h),p=p7e(l,t,d,e?u:!1);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Me(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Me(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Me(p).select("text").attr("style",g)}return p}},"createText")});function QY(t,e){e&&t.attr("style",e)}function m7e(t){let e=Me(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),QY(a,t.labelStyle),a.attr("class",i),QY(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var g7e,Hi,rv=_(()=>{"use strict";Xt();it();gt();Qt();pr();ic();s(QY,"applyStyle");s(m7e,"addHtmlLabel");g7e=s((t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),hr(le().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"<br />"),V.debug("vertexText"+i);let a={isNode:n,label:NA(Ys(i)),labelStyle:e.replace("fill:","color:")};return m7e(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let o=[];typeof i=="string"?o=i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?o=i:o=[];for(let l of o){let u=docume
`),le()));let i=t.isNode?"nodeLabel":"edgeLabel";return r.html('<span class="'+i+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+n+"</span>"),eEe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var rEe,ac,d5=_(()=>{"use strict";Xt();it();gt();Qt();pr();s(eEe,"applyStyle");s(tEe,"addHtmlLabel");rEe=s(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),hr(le().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"<br />"),V.info("vertexText"+i);let a={isNode:n,label:Ys(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>`<i class='${l.replace(":"," ")}'></i>`),labelStyle:e&&e.replace("fill:","color:")};return await tEe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let o=[];typeof i=="string"?o=i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?o=i:o=[];for(let l of o){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),ac=rEe});var xu,lv=_(()=>{"use strict";xu=s((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});var bu,LX,nEe,Dr,Rr,pi=_(()=>{"use strict";gt();bu=s(t=>{let{handDrawnSeed:e}=le();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),LX=s(t=>{let e=nEe([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),nEe=s(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),Dr=s(t=>{let{stylesArray:e}=LX(t),r=[],n=[],i=[],a=[];return e.forEach(o=>{let l=o[0];l==="color"||l==="font-size"||l==="font-family"||l==="font-weight"||l==="font-style"||l==="text-decoration"||l==="text-align"||l==="text-transform"||l==="line-height"||l==="letter-spacing"||l==="word-spacing"||l==="text-shadow"||l==="text-overflow"||l==="white-space"||l==="word-wrap"||l==="word-break"||l==="overflow-wrap"||l==="hyphens"?r.push(o.join(":")+" !important"):(n.push(o.join(":")+" !important"),l.includes("stroke")&&i.push(o.join(":")+" !important"),l==="fill"&&a.push(o.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Rr=s((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=le(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:o}=LX(t);return Object.assign({roughness:.7,fill:o.get("fill")||a,fillStyle:"hachure",fillWeight:4,stroke:o.get("stroke")||i,seed:n,strokeWidth:1.3},e)},"userNodeOverrides")});var DX,iEe,aEe,sEe,oEe,lEe,RX,p5,MX,i9=_(()=>{"use strict";gt();Qt();it();gd();Xt();Yn();ic();n9();d5();lv();pi();DX=s(async(t,e)=>{V.info("Creating subgraph rect for ",e.id,e);let r=le(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:o}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=Dr(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=hr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await vs(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(hr(r.flowchart.htmlLabels)){let C=g.children[0],E=Me(g);y=C.getBoundingClientRect(),E.attr("width",y.width),E.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,k=e.y-x/2;V.trace("Data ",e,JSON.stringify(e));let A;if(e.look==="handDrawn"){let C=Ht.svg(d),E=Rr(e,{roughness:.7,fill:a,stroke:o,fillWeight:3,seed:i}),S=C.path(xu(b,k,v,x,0),E);A=d.insert(()=>(V.debug("Rough node insert CXC",S),S),":first-child"),A.select("path:nth-c
outsidePoint: ${JSON.stringify(e)}
insidePoint : ${JSON.stringify(r)}
node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2,l=r.x<e.x?o-a:o+a,u=t.height/2,h=Math.abs(e.y-r.y),f=Math.abs(e.x-r.x);if(Math.abs(i-e.y)*o>Math.abs(n-e.x)*u){let d=r.y<e.y?e.y-u-i:i-u-e.y;l=f*d/h;let p={x:r.x<e.x?r.x+l:r.x-f+l,y:r.y<e.y?r.y+h-d:r.y-h+d};return l===0&&(p.x=e.x,p.y=e.y),f===0&&(p.x=e.x),h===0&&(p.y=e.y),V.debug(`abc89 top/bottom calc, Q ${h}, q ${d}, R ${f}, r ${l}`,p),p}else{r.x<e.x?l=e.x-o-n:l=n-o-e.x;let d=h*l/f,p=r.x<e.x?r.x+f-l:r.x-f+l,m=r.y<e.y?r.y+d:r.y-d;return V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`,{_x:p,_y:m}),l===0&&(p=e.x,m=e.y),f===0&&(p=e.x),h===0&&(m=e.y),{x:p,y:m}}},"intersection"),PX=s((t,e)=>{V.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(V.info("abc88 checking point",a,e),!uEe(e,a)&&!i){let o=hEe(e,n,a);V.debug("abc88 inside",a,n,o),V.debug("abc88 intersection",o,e);let l=!1;r.forEach(u=>{l=l||u.x===o.x&&u.y===o.y}),r.some(u=>u.x===o.x&&u.y===o.y)?V.warn("abc88 no intersect",o,r):r.push(o),i=!0}else V.warn("abc88 outside",a,n),n=a,i||r.push(a)}),V.debug("returning points",r),r},"cutPathAtIntersect");s(fEe,"extractCornerPoints");BX=s(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),o=r/a;return{x:e.x-o*n,y:e.y-o*i}},"findAdjacentPoint"),dEe=s(function(t){let{cornerPointPositions:e}=fEe(t),r=[];for(let n=0;n<t.length;n++)if(e.includes(n)){let i=t[n-1],a=t[n+1],o=t[n],l=BX(i,o,5),u=BX(a,o,5),h=u.x-l.x,f=u.y-l.y;r.push(l);let d=Math.sqrt(2)*2,p={x:o.x,y:o.y};if(Math.abs(a.x-i.x)>10&&Math.abs(a.y-i.y)>=10){V.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;o.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else V.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),w5=s(function(t,e,r,n,i,a,o){let{handDrawnSeed:l}=le(),u=e.points,h=!1,f=i;var d=a;d.intersect&&f.intersect&&(u=u.slice(1,e.points.length-1),u.unshift(f.intersect(u[0])),V.debug("Last point APA12",e.start,"-->",e.end,u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),e.toCluster&&(V.info("to cluster abc88",r.get(e.toCluster)),u=PX(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(V.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=PX(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let p=u.filter(E=>!Number.isNaN(E.y));p=dEe(p);let m=p[p.length-1];if(p.length>1){m=p[p.length-1];let E=p[p.length-2],S=(m.x-E.x)/2,R=(m.y-E.y)/2,D={x:E.x+S,y:E.y+R};p.splice(-1,0,D)}let g=hs;e.curve&&(g=e.curve);let{x:y,y:v}=y5(e),x=ra().x(y).y(v).curve(g),b;switch(e.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-invisible";break;default:b="edge-thickness-normal"}switch(e.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break;default:b+=" edge-pattern-solid"}let k,A=x(p),w=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let E=Ht.svg(t);Object.assign([],p);let S=E.path(A,{roughness:.3,seed:l});b+=" transition",k=Me(S).select("path").attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((D,L)=>D+";"+L,""):"");let R=k.attr("d");k.attr("d",R),t.node().appendChild(k.node())}else k=t.append("path").attr("d",A).attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((E,S)=>E+";"+S,""):"");let T="";(le().flowchart.arrowMarkerAbsolute||le().state.arrowMarkerAbsolute)&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),V.info("arrowTypeStart",e.arrowTypeStart),V.info("arrowTypeEnd",e.arrowTypeEnd),NX(k,e,T,o,n);let C={};return h&&(C.updatedPath=u),C.originalPath=e.points,C},"insertEdge")});var pEe,mEe,gEe,yEe,vEe,xEe,bEe,kEe,wEe,TEe,EEe,T5,o9=_(()=>{"use strict";it();pEe=s((
point:`,p,`
node:
`,e,`
res:`,tr.polygon(e,h,p)),tr.polygon(e,h,p)},i},"question")});var OEe,Cj,Sj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();OEe=s((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD"),Cj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=4,l=a.height+e.padding,u=l/o,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ht.svg(i),g=Rr(e,{}),y=OEe(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=Ea(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,er(e,d),e.intersect=function(m){return tr.polygon(e,f,m)},i},"hexagon")});var PEe,_j,Aj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();PEe=s((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createLeanRightPathD"),_j=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:o-l/6,y:0},{x:o+2*l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=PEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"lean_right")});var BEe,Lj,Dj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();BEe=s((t,e,r,n)=>[`M${t+2*n/6},${e}`,`L${t+r+n/6},${e}`,`L${t+r-2*n/6},${e-n}`,`L${t-n/6},${e-n}`,"Z"].join(" "),"createLeanLeftPathD"),Lj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:2*l/6,y:0},{x:o+l/6,y:0},{x:o-2*l/6,y:-l},{x:-l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=BEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"lean_left")});var FEe,Rj,Mj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();FEe=s((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r+2*n/6},${e}`,`L${t+r-n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" "),"createTrapezoidPathD"),Rj=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:-2*l/6,y:0},{x:o+2*l/6,y:0},{x:o-l/6,y:-l},{x:l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=FEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"trapezoid")});var zEe,Ij,Nj=_(()=>{"use strict";Xn();ii();pi();Yn();ku();zEe=s((t,e,r,n)=>[`M${t+n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t-2*n/6},${e-n}`,"Z"].join(" "),"createInvertedTrapezoidPathD"),Ij=s(async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Dr(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await Mr(t,e,gn(e)),o=a.width+e.padding,l=a.height+e.padding,u=[{x:l/6,y:0},{x:o-l/6,y:0},{x:o+2*l/6,y:-l},{x:-2*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ht.svg(i),p=Rr(e,{}),m=zEe(0,0,o,l),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-o/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ea(i,o,l,u);return n&&h.attr("style",n),e.width=o,e.height=l,er(e,h),e.intersect=function(d){return tr.polygon(e,u,d)},i},"inv_trapezoid")});var Oj,Pj=_(()=>{"use strict";uv();Xn();ii();Oj=s(async(t,e)=>{let{shapeSvg:r}=await Mr(t,e,"label"),n=r.insert("rect",":first-child");return n.attr("width",.1).attr("height",.1),r.
Node.id = `,y,`
data=`,x.height,`
Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(V.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(V.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){V.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let k=await yte(d,v.graph,r,n,e.node(y),a),A=k.elem;er(v,A),v.diff=k.diff||0,V.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),Fj(A,v)}else e.children(y).length>0?(V.info("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),V.info(km(v.id,e)),Yt.set(v.id,{id:km(v.id,e),node:v})):(V.trace("Node - the non recursive path XAX",y,v.id,v),await C5(d,e.node(y),o))})),await s(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);V.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),V.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),V.info("Fix",Yt,"ids:",v.v,v.w,"Translating: ",Yt.get(v.v),Yt.get(v.w)),await b5(f,x)});await Promise.all(y)},"processEdges")(),V.info("Graph before layout:",JSON.stringify(Mn(e))),V.info("############################################# XXX"),V.info("### Layout ### XXX"),V.info("############################################# XXX"),eo(e),V.info("Graph after layout:",JSON.stringify(Mn(e)));let m=0,{subGraphTitleTotalMargin:g}=Ks(a);return await Promise.all(mte(e).map(async function(y){let v=e.node(y);if(V.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,V.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Yt.get(v.id).node=v,u9(v);else if(e.children(y).length>0){V.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,k=b-x||0;V.debug("OffsetY",k,"labelHeight",b,"halfPadding",x),await p5(u,v),Yt.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,V.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),u9(v)}})),e.edges().forEach(function(y){let v=e.edge(y);V.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(A=>A.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let k=w5(h,v,Yt,r,x,b,n);k5(v,k)}),e.nodes().forEach(function(y){let v=e.node(y);V.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),V.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),jLe=s(async(t,e)=>{let r=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");T5(n,t.markers,t.type,t.diagramId),zj(),FX(),MX(),cte(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),V.debug("Edges:",t.edges),t.edges.forEach(a=>{r.setEdge(a.start,a.end,{...a},a.id)}),V.warn("Graph at first:",JSON.stringify(Mn(r))),fte(r),V.warn("Graph after:",JSON.stringify(Mn(r)));let i=le();await yte(n,r,t.type,t.diagramId,void 0,i)},"render")});var xv,SL,KLe,Dk,bte,Rk=_(()=>{"use strict";Gj();it();xv={},SL=s(t=>{for(let e of t)xv[e.name]=e},"registerLayoutLoaders"),KLe=s(()=>{SL([{name:"dagre",loader:s(async()=>await Promise.resolve().then(()=>(xte(),vte)),"loader")}])},"registerDefaultLayoutLoaders");KLe();Dk=s(async(t,e)=>{if(!(t.layoutAlgorithm in xv))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=xv[t.layoutAlgorithm];return(await r.loader()).render(t,e,$j,{algorithm:r.algorithm})},"render"),bte=s((t="",{fallback:e="dagre"}={})=>{if(t in xv)return t;if(e in xv)return V.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var Mk,QLe,ZLe,_L=_(()=>{"use strict"
`+ri.showPosition()+`
Expecting `+Lf.join(", ")+", got '"+(this.terminals_[Qi]||Qi)+"'":k1="Parse error on line "+(xi+1)+": Unexpected "+(Qi==y1?"end of input":"'"+(this.terminals_[Qi]||Qi)+"'"),this.parseError(k1,{text:ri.match,token:this.terminals_[Qi]||Qi,line:ri.yylineno,loc:Ps,expected:Lf})}if(rs[0]instanceof Array&&rs.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Gc+", token: "+Qi);switch(rs[0]){case 1:Ft.push(Qi),Zt.push(ri.yytext),me.push(ri.yylloc),Ft.push(rs[1]),Qi=null,$c?(Qi=$c,$c=null):(zc=ri.yyleng,xe=ri.yytext,xi=ri.yylineno,Ps=ri.yylloc,g1>0&&g1--);break;case 2:if(Bs=this.productions_[rs[1]][1],eh.$=Zt[Zt.length-Bs],eh._$={first_line:me[me.length-(Bs||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(Bs||1)].first_column,last_column:me[me.length-1].last_column},Ju&&(eh._$.range=[me[me.length-(Bs||1)].range[0],me[me.length-1].range[1]]),Ml=this.performAction.apply(eh,[xe,zc,xi,ho.yy,rs[1],Zt,me].concat(v1)),typeof Ml<"u")return Ml;Bs&&(Ft=Ft.slice(0,-1*Bs*2),Zt=Zt.slice(0,-1*Bs),me=me.slice(0,-1*Bs)),Ft.push(this.productions_[rs[1]][0]),Zt.push(eh.$),me.push(eh._$),b1=Fc[Ft[Ft.length-2]][Ft[Ft.length-1]],Ft.push(b1);break;case 3:return!0}}return!0},"parse")},uo=function(){var ts={EOF:1,parseError:s(function(xt,Ft){if(this.yy.parser)this.yy.parser.parseError(xt,Ft);else throw new Error(xt)},"parseError"),setInput:s(function(at,xt){return this.yy=xt||this.yy||{},this._input=at,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var at=this._input[0];this.yytext+=at,this.yyleng++,this.offset++,this.match+=at,this.matched+=at;var xt=at.match(/(?:\r\n?|\n).*/g);return xt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),at},"input"),unput:s(function(at){var xt=at.length,Ft=at.split(/(?:\r\n?|\n)/g);this._input=at+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-xt),this.offset-=xt;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),Ft.length-1&&(this.yylineno-=Ft.length-1);var Zt=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:Ft?(Ft.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-Ft.length].length-Ft[0].length:this.yylloc.first_column-xt},this.options.ranges&&(this.yylloc.range=[Zt[0],Zt[0]+this.yyleng-xt]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(at){this.unput(this.match.slice(at))},"less"),pastInput:s(function(){var at=this.matched.substr(0,this.matched.length-this.match.length);return(at.length>20?"...":"")+at.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var at=this.match;return at.length<20&&(at+=this._input.substr(0,20-at.length)),(at.substr(0,20)+(at.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var at=this.pastInput(),xt=new Array(at.length+1).join("-");return at+this.upcomingInput()+`
`+xt+"^"},"showPosition"),test_match:s(function(at,xt){var Ft,Ke,Zt;if(this.options.backtrack_lexer&&(Zt={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&&(Zt.yylloc.range=this.yylloc.range.slice(0))),Ke=at[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+at[0].length},this.yytext+=at[0],this.match+=at[0],this.matches=at,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(at[0].length),this.matched+=at[0],Ft=this.performAction.call(this,this.yy,this,xt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ft)return Ft;if(this._backtrack){for(var me in Zt)this[me]=Zt[me];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var at,xt,Ft,Ke;this._more||(this.yytext="",this.match="");for(var Zt=this._currentRules(),me=0;me<Zt.length;me++)if(Ft=this._input.match(this.rules[Zt[me]]),Ft&&(!xt||Ft[0].length>xt[0].length)){if(xt=Ft,Ke=me,this.options.backtrack_lexer){if(at=this.test_match(Ft,Zt[me]),at!==!1)return at;if(this._backtrack){xt=!1;continue}else return!1}else if(!this.options.flex)break}return xt?(at=this.test_match(xt,Zt[Ke]),at!==!1?at:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var xt=this.next();return xt||this.lex()},"lex"),begin:s(function(xt){this.conditionStack.push(xt)},"begin"),popState:s(function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},"topState"),pushState:s(function(xt){this.begin(xt)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(xt,Ft,Ke,Zt){var me=Zt;switch(Ke){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7: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 xt.lex.firstGraph()&&this.begin("dir"),12;break;case 30:return xt.lex.firstGraph()&&this.begin("dir"),12;break;case 31:return xt.lex.firstGraph()&&this.begin("dir"),12;break;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;break;case 39:return this.popState(),14;break;case 40:return this.popState(),14;break;case 41:return this.popState(),14;break;case 42:return this.popState(),14;break;case 43:return this.popState(),14;break;case 44:return this.popState(),14;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return 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;break;case 62:return this.pushState("edgeText"),73;break;case 63:return 116;case 64:return this.popState(),75;break;case 65:return this.pushState("thickEdgeText"),73;break;case 66:return 116;case 67:return this.popState(),75;break;case 68:return this.pushState("dottedEdgeText"),73;break;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;break;case 72:return"TEXT";case 73:return this.pushState("ellipseText"),50;break;case 74:return this.popState(),53;break;case 75:return this.pushState("text"),52;break;case 76:return this.popState(),55;break;case 77:return this.pushState("text"),54;break;case 78:return 56;case 79:return this.pushState("text"),65;break;case 80:return this.popState(),62;break;case 81:return this.pushState("text"),61;break;case 82:return this.popState(),47;break;case 83:return this.pushState("text"),46;break;case 84:return this.popState(),67;break;case 85:return this.popState(),69;break;case 86:return 114;case 87:return this.pushState("trapText"),66;break;case 88:return this.pushState("trapText"),68;break;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;break;c
font-family: ${t.fontFamily};
color: ${t.nodeTextColor||t.textColor};
}
.cluster-label text {
fill: ${t.titleColor};
}
.cluster-label span {
color: ${t.titleColor};
}
.cluster-label span p {
background-color: transparent;
}
.label text,span {
fill: ${t.nodeTextColor||t.textColor};
color: ${t.nodeTextColor||t.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: 1px;
}
.rough-node .label text , .node .label text {
text-anchor: middle;
}
// .flowchart-label .text-outer-tspan {
// text-anchor: middle;
// }
// .flowchart-label .text-inner-tspan {
// text-anchor: start;
// }
.node .katex path {
fill: #000;
stroke: #000;
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${t.arrowheadColor};
}
.edgePath .path {
stroke: ${t.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${t.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${tDe(t.edgeLabelBackground,.5)};
// background-color:
}
.cluster rect {
fill: ${t.clusterBkg};
stroke: ${t.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${t.titleColor};
}
.cluster span {
color: ${t.titleColor};
}
/* .cluster div {
color: ${t.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${t.fontFamily};
font-size: 12px;
background: ${t.tertiaryColor};
border: 1px solid ${t.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
`,"getStyles"),Cte=rDe});var Ik={};ur(Ik,{diagram:()=>nDe});var nDe,Nk=_(()=>{"use strict";gt();wA();wte();Ete();Ste();nDe={parser:Tte,db:K3,renderer:kte,styles:Cte,init:s(t=>{t.flowchart||(t.flowchart={}),t.layout&&pC({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,pC({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),K3.clear(),K3.setGen("gen-2")},"init")}});var LL,Rte,Mte=_(()=>{"use strict";LL=function(){var t=s(function(E,S,R,D){for(R=R||{},D=E.length;D--;R[E[D]]=S);return R},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],n=[1,11],i=[1,12],a=[1,13],o=[1,14],l=[1,15],u=[1,21],h=[1,22],f=[1,23],d=[1,24],p=[1,25],m=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],y=[27,28,46,47],v=[41,42,43,44,45],x=[17,34],b=[1,54],k=[1,53],A=[17,34,36,38],w={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":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:s(function(S,R,D,L,P,M,F){var I=M.length-1;switch(P){case 1:break;case 2:this.$=[];break;case 3:M[I-1].push(M[I]),this.$=M[I-1];break;case 4:case 5:this.$=M[I];break;case 6:case 7:this.$=[];break;case 8:L.addEntity(M[I-4]),L.addEntity(M[I-2]),L.addRelationship(M[I-4],M[I],M[I-2],M[I-3]);break;case 9:L.addEntity(M[I-3]),L.addAttributes(M[I-3],M[I-1]);break;case 10:L.addEntity(M[I-2]);break;case 11:L.addEntity(M[I]);break;case 12:L.addEntity(M[I-6],M[I-4]),L.addAttributes(M[I-6],M[I-1]);break;case 13:L.addEntity(M[I-5],M[I-3]);break;case 14:L.addEntity(M[I-3],M[I-1]);break;case 15:case 16:this.$=M[I].trim(),L.setAccTitle(this.$);break;case 17:case 18:this.$=M[I].trim(),L.setAccDescription(this.$);break;case 19:case 43:this.$=M[I];break;case 20:case 41:case 42:this.$=M[I].replace(/"/g,"");break;case 21:case 29:this.$=[M[I]];break;case 22:M[I].push(M[I-1]),this.$=M[I];break;case 23:this.$={attributeType:M[I-1],attributeName:M[I]};break;case 24:this.$={attributeType:M[I-2],attributeName:M[I-1],attributeKeyTypeList:M[I]};break;case 25:this.$={attributeType:M[I-2],attributeName:M[I-1],attributeComment:M[I]};break;case 26:this.$={attributeType:M[I-3],attributeName:M[I-2],attributeKeyTypeList:M[I-1],attributeComment:M[I]};break;case 27:case 28:case 31:this.$=M[I];break;case 30:M[I-2].push(M[I]),this.$=M[I-2];break;case 32:this.$=M[I].replace(/"/g,"");break;case 33:this.$={cardA:M[I],relType:M[I-1],cardB:M[I-2]};break;case 34:this.$=L.Cardinality.ZERO_OR_ONE;break;case 35:this.$=L.Cardinality.ZERO_OR_MORE;break;case 36:this.$=L.Cardinality.ONE_OR_MORE;break;case 37:this.$=L.Cardinality.ONLY_ONE;break;case 38:this.$=L.Cardinality.MD_PARENT;break;case 39:this.$=L.Identification.NON_IDENTIFYING;break;case 40:this.$=L.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]
`+ee.showPosition()+`
Expecting `+Se.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":Ue="Parse error on line "+(O+1)+": Unexpected "+(Q==$?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(Ue,{text:ee.match,token:this.terminals_[Q]||Q,line:ee.yylineno,loc:Z,expected:Se})}if(ie[0]instanceof Array&&ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+re+", token: "+Q);switch(ie[0]){case 1:D.push(Q),P.push(ee.yytext),M.push(ee.yylloc),D.push(ie[1]),Q=null,K?(Q=K,K=null):(z=ee.yyleng,I=ee.yytext,O=ee.yylineno,Z=ee.yylloc,N>0&&N--);break;case 2:if(Re=this.productions_[ie[1]][1],De.$=P[P.length-Re],De._$={first_line:M[M.length-(Re||1)].first_line,last_line:M[M.length-1].last_line,first_column:M[M.length-(Re||1)].first_column,last_column:M[M.length-1].last_column},fe&&(De._$.range=[M[M.length-(Re||1)].range[0],M[M.length-1].range[1]]),j=this.performAction.apply(De,[I,z,O,te.yy,ie[1],P,M].concat(W)),typeof j<"u")return j;Re&&(D=D.slice(0,-1*Re*2),P=P.slice(0,-1*Re),M=M.slice(0,-1*Re)),D.push(this.productions_[ie[1]][0]),P.push(De.$),M.push(De._$),Pe=F[D[D.length-2]][D[D.length-1]],D.push(Pe);break;case 3:return!0}}return!0},"parse")},T=function(){var E={EOF:1,parseError:s(function(R,D){if(this.yy.parser)this.yy.parser.parseError(R,D);else throw new Error(R)},"parseError"),setInput:s(function(S,R){return this.yy=R||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var R=S.match(/(?:\r\n?|\n).*/g);return R?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:s(function(S){var R=S.length,D=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-R),this.offset-=R;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),D.length-1&&(this.yylineno-=D.length-1);var P=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:D?(D.length===L.length?this.yylloc.first_column:0)+L[L.length-D.length].length-D[0].length:this.yylloc.first_column-R},this.options.ranges&&(this.yylloc.range=[P[0],P[0]+this.yyleng-R]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(S){this.unput(this.match.slice(S))},"less"),pastInput:s(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var S=this.pastInput(),R=new Array(S.length+1).join("-");return S+this.upcomingInput()+`
`+R+"^"},"showPosition"),test_match:s(function(S,R){var D,L,P;if(this.options.backtrack_lexer&&(P={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(P.yylloc.range=this.yylloc.range.slice(0))),L=S[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],D=this.performAction.call(this,this.yy,this,R,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),D)return D;if(this._backtrack){for(var M in P)this[M]=P[M];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,R,D,L;this._more||(this.yytext="",this.match="");for(var P=this._currentRules(),M=0;M<P.length;M++)if(D=this._input.match(this.rules[P[M]]),D&&(!R||D[0].length>R[0].length)){if(R=D,L=M,this.options.backtrack_lexer){if(S=this.test_match(D,P[M]),S!==!1)return S;if(this._backtrack){R=!1;continue}else return!1}else if(!this.options.flex)break}return R?(S=this.test_match(R,P[L]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var R=this.next();return R||this.lex()},"lex"),begin:s(function(R){this.conditionStack.push(R)},"begin"),popState:s(function(){var R=this.conditionStack.length-1;return R>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(R){return R=this.conditionStack.length-1-Math.abs(R||0),R>=0?this.conditionStack[R]:"INITIAL"},"topState"),pushState:s(function(R){this.begin(R)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(R,D,L,P){var M=P;switch(L){case 0:return this.begin("acc_title"),22;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),24;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 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;break;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;break;case 22:return D.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 D.yytext[0];case 55:return 6}},"anonymous"),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 E}();w.lexer=T;function C(){this.yy={}}return s(C,"Parser"),C.prototype=w,w.Parser=C,new C}();LL.parser=LL;Rte=LL});var Md,DL,uDe,hDe,Ite,fDe,dDe,pDe,mDe,gDe,Nte,Ote=_(()=>{"use strict";it();gt();Ci();Md=new Map,DL=[],uDe={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"},hDe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},Ite=s(function(t,e=void 0){return Md.has(t)?!Md.get(t).alias&&e&&(Md.get(t).alias=e,V.info(`Add alias '${e}' to entity '${t}'`)):(Md.set(t,{attributes:[],alias:e}),V.info("Added new entity :",t)),Md.get
.entityBox {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
}
.attributeBoxOdd {
fill: ${t.attributeBackgroundColorOdd};
stroke: ${t.nodeBorder};
}
.attributeBoxEven {
fill: ${t.attributeBackgroundColorEven};
stroke: ${t.nodeBorder};
}
.relationshipLabelBox {
fill: ${t.tertiaryColor};
opacity: 0.7;
background-color: ${t.tertiaryColor};
rect {
opacity: 0.5;
}
}
.relationshipLine {
stroke: ${t.lineColor};
}
.entityTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
#MD_PARENT_START {
fill: #f5f5f5 !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#MD_PARENT_END {
fill: #f5f5f5 !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
`,"getStyles"),tre=PDe});var nre={};ur(nre,{diagram:()=>BDe});var BDe,ire=_(()=>{"use strict";Mte();Ote();ere();rre();BDe={parser:Rte,db:Nte,renderer:Jte,styles:tre}});function $n(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ua(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function NL(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Nd(t){return typeof t=="object"&&t!==null&&$n(t.container)&&ua(t.reference)&&typeof t.message=="string"}function to(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Xh(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function kv(t){return to(t)&&typeof t.fullText=="string"}var Id,Do=_(()=>{"use strict";s($n,"isAstNode");s(ua,"isReference");s(NL,"isAstNodeDescription");s(Nd,"isLinkingError");Id=class{static{s(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return $n(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};s(to,"isCompositeCstNode");s(Xh,"isLeafCstNode");s(kv,"isRootCstNode")});function GDe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Ok(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Wr(...t){if(t.length===1){let e=t[0];if(e instanceof ro)return e;if(Ok(e))return new ro(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ro(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Wa)}return t.length>1?new ro(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];Ok(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Wa}):wv}var ro,wv,Wa,pc,wm,Es=_(()=>{"use strict";ro=class t{static{s(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Wa})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=GDe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Wa:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Wa})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,
`),zt("\r"),zt(" "),zt("\v"),zt(" "),zt("\xA0"),zt("\u1680"),zt("\u2000"),zt("\u2001"),zt("\u2002"),zt("\u2003"),zt("\u2004"),zt("\u2005"),zt("\u2006"),zt("\u2007"),zt("\u2008"),zt("\u2009"),zt("\u200A"),zt("\u2028"),zt("\u2029"),zt("\u202F"),zt("\u205F"),zt("\u3000"),zt("\uFEFF")]});var hRe,Qk,fRe,Gd,bre=_(()=>{"use strict";qD();xre();hRe=/[0-9a-fA-F]/,Qk=/[0-9]/,fRe=/[1-9]/,Gd=class{static{s(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Sm(n,"global");break;case"i":Sm(n,"ignoreCase");break;case"m":Sm(n,"multiLine");break;case"u":Sm(n,"unicode");break;case"y":Sm(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}$d(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Lv()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;$d(r);break}if(!(e===!0&&r===void 0)&&$d(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),$d(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Lv()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[zt(`
`),zt("\r"),zt("\u2028"),zt("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Dv;break;case"D":e=Dv,r=!0;break;case"s":e=WD;break;case"S":e=WD,r=!0;break;case"w":e=Rv;break;case"W":e=Rv,r=!0;break}return $d(e)?{type:"Set",value:e,complement:r}:Lv()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=zt("\f");break;case"n":e=zt(`
`);break;case"r":e=zt("\r");break;case"t":e=zt(" ");break;case"v":e=zt("\v");break}return $d(e)?{type:"Character",value:e}:Lv()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:zt("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:zt(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:zt(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(UD(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),o=a.type==="Character";if(UD(a)){if(a.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:a.value})}else Kk(n.value,e),e.push(zt("-")),Kk(a.value,e)}else Kk(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:zt("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(fRe.test(e)===!1)throw Error("Expecting a positive integer");for(;Qk.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Qk.test(e)===!1)throw Error("Expecting an integer");for(;Qk.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:zt(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Qk.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let a=this.popChar();if(hRe.test(a)===!1)throw Error("Expecting a HexDecimal digits");r+=a}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var yc,kre=_(()=>{"use strict";yc=class{static{s(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var Mv=_(()=>{"use strict";bre();kre()});var Jk={};ur(Jk,{NEWLINE_REGEXP:()=>YD,escapeRegExp:()=>Ud,getCaseInsensitivePattern:()=>jD,getTerminalParts:()=>dRe,isMultilineComment:()=>XD,isWhitespace:()=>Zk,partialMatches:()=>KD,partialRegExp:()=>Tre});function dRe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=wre.pattern(t),r=[];for(let n of e.value.value)Vd.reset(t),Vd.visit(n),r.push({start:Vd.startRegexp,end:Vd.endRegex});return r}catch{return[]}}function XD(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Vd.reset(t),Vd.visit(wre.pattern(t)),Vd.multiline}catch{return!1}}function Zk(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function Ud(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jD(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Ud(e)).join("")}function KD(t,e){let r=Tre(t),n=e.match(r);return!!n&&n[0].length>0}function Tre(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",o;function l(h){a+=r.substr(n,h),n+=h}s(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(s(u,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":u(3);break;case"x":u(4);break;case"u":e.unicode?r[n+2]==="{"?u(r.indexOf("}",n)-n+1):u(6):u(2);break;case"p":case"P":e.unicode?u(r.indexOf("}",n)-n+1):u(2);break;case"k":u(r.indexOf(">",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":o=n,n+=3,i(),a+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),a+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return s(i,"process"),new RegExp(i(),t.flags)}var YD,wre,HD,Vd,_m=_(()=>{"use strict";Mv();YD=/\r?\n/gm,wre=new Gd,HD=class extends yc{static{s(thi
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Ud(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Vd=new HD;s(dRe,"getTerminalParts");s(XD,"isMultilineComment");s(Zk,"isWhitespace");s(Ud,"escapeRegExp");s(jD,"getCaseInsensitivePattern");s(KD,"partialMatches");s(Tre,"partialRegExp")});var t6={};ur(t6,{findAssignment:()=>aR,findNameAssignment:()=>e6,findNodeForKeyword:()=>nR,findNodeForProperty:()=>Nv,findNodesForKeyword:()=>pRe,findNodesForKeywordInternal:()=>iR,findNodesForProperty:()=>tR,getActionAtElement:()=>Are,getActionType:()=>Dre,getAllReachableRules:()=>Iv,getCrossReferenceTerminal:()=>JD,getEntryRule:()=>Ere,getExplicitRuleType:()=>sR,getHiddenRules:()=>Cre,getRuleType:()=>oR,getTypeName:()=>qd,isArrayCardinality:()=>gRe,isArrayOperator:()=>yRe,isCommentTerminal:()=>eR,isDataType:()=>vRe,isDataTypeRule:()=>Ov,isOptionalCardinality:()=>mRe,terminalRegex:()=>Am});function Ere(t){return t.rules.find(e=>Sa(e)&&e.entry)}function Cre(t){return t.rules.filter(e=>Ro(e)&&e.hidden)}function Iv(t,e){let r=new Set,n=Ere(t);if(!n)return new Set(t.rules);let i=[n].concat(Cre(t));for(let o of i)Sre(o,r,e);let a=new Set;for(let o of t.rules)(r.has(o.name)||Ro(o)&&o.hidden)&&a.add(o);return a}function Sre(t,e,r){e.add(t.name),gc(t).forEach(n=>{if(vl(n)||r&&Hk(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Sre(i,e,r)}})}function JD(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=e6(t.type.ref);return e?.terminal}}function eR(t){return t.hidden&&!Am(t).test(" ")}function tR(t,e){return!t||!e?[]:rR(t,e,t.astNode,!0)}function Nv(t,e,r){if(!t||!e)return;let n=rR(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function rR(t,e,r,n){if(!n){let i=zd(t.grammarSource,yl);if(i&&i.feature===e)return[t]}return to(t)&&t.astNode===r?t.content.flatMap(i=>rR(i,e,r,!1)):[]}function pRe(t,e){return t?iR(t,e,t?.astNode):[]}function nR(t,e,r){if(!t)return;let n=iR(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function iR(t,e,r){if(t.astNode!==r)return[];if(Mo(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Od(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?Mo(o.grammarSource)&&o.grammarSource.value===e&&a.push(o):n.prune()}while(!i.done);return a}function aR(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=zd(t.grammarSource,yl);if(n)return n;t=t.container}}function e6(t){let e=t;return Vk(e)&&(Cu(e.$container)?e=e.$container.$container:Sa(e.$container)?e=e.$container:jh(e.$container)),_re(t,e,new Map)}function _re(t,e,r){var n;function i(a,o){let l;return zd(a,yl)||(l=_re(o,o,r)),r.set(t,l),l}if(s(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of gc(e)){if(yl(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(vl(a)&&Sa(a.rule.ref))return i(a,a.rule.ref);if(qk(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function Are(t){let e=t.$container;if(Kh(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Cu(a))return a;{let o=gc(r[i]).find(Cu);if(o)return o}}}if(Cv(e))return Are(e)}function mRe(t,e){return t==="?"||t==="*"||Kh(e)&&!!e.guardCondition}function gRe(t){return t==="*"||t==="+"}function yRe(t){return t==="+="}function Ov(t){return Lre(t,new Set)}function Lre(t,e){if(e.has(t))return!0;e.add(t);for(let r of gc(t))if(vl(r)){if(!r.rule.ref||Sa(r.rule.ref)&&!Lre(r.rule.ref,e))return!1}else{if(yl(r))return!1;if(Cu(r))return!1}return!!t.definition}function vRe(t){return ZD(t.type,new Set)}function ZD(t,e){if(e.has(t))return!0;if(e.add(t),qL(t))return!1;if(lD(t))return!1;if(pD(t))return t.types.every(r=>ZD(r,e));if(qk(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Sv(r)?ZD(r.type,e):!1}else return!1}else return!1}function sR(t){if(t.inferredType)return t.inf
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Dm(`${zv}
Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function yR(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)yR(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let a=n[i];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let o=a;switch(o.type){case"Character":l6(o.value,e,r);break;case"Set":if(o.complement===!0)throw Error(Gre);be(o.value,u=>{if(typeof u=="number")l6(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)l6(f,e,r);else{for(let f=h.from;f<=h.to&&f<Nm;f++)l6(f,e,r);if(h.to>=Nm){let f=h.from>=Nm?h.from:Nm,d=h.to,p=vc(f),m=vc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":yR(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&vR(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return nr(e)}function l6(t,e,r){let n=vc(t);e[n]=n,r===!0&&RRe(t,e)}function RRe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=vc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=vc(i.charCodeAt(0));e[a]=a}}}function $re(t,e){return qa(t.value,r=>{if(typeof r=="number")return Rn(e,r);{let n=r;return qa(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function vR(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?ct(t.value)?Ca(t.value,vR):vR(t.value):!1}function c6(t,e){if(e instanceof RegExp){let r=Im(e),n=new xR(t);return n.visit(r),n.found}else return qa(e,r=>Rn(t,r.charCodeAt(0)))!==void 0}var Gre,zv,xR,Ure=_(()=>{"use strict";Mv();Tt();Rm();o6();bR();Gre="Complement Sets are not supported for first char optimization",zv=`Unable to use "first char" lexer optimizations:
`;s(Vre,"getOptimizedStartCodesIndices");s(yR,"firstCharOptimizedIndices");s(l6,"addOptimizedIdxToResult");s(RRe,"handleIgnoreCase");s($re,"findCode");s(vR,"isWholeOptional");xR=class extends yc{static{s(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Rn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?$re(e,this.targetCharCodes)===void 0&&(this.found=!0):$re(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};s(c6,"canMatchCharCode")});function Hre(t,e){e=Vh(e,{useSticky:wR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:s((b,k)=>k(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{jRe()});let n;r("Reject Lexer.NA",()=>{n=qh(t,b=>b[Yd]===jn.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=Ge(n,b=>{let k=b[Yd];if(_o(k)){let A=k.source;return A.length===1&&A!=="^"&&A!=="$"&&A!=="."&&!k.ignoreCase?A:A.length===2&&A[0]==="\\"&&!Rn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],A[1])?A[1]:e.useSticky?Wre(k):qre(k)}else{if(fi(k))return i=!0,{exec:k};if(typeof k=="object")return i=!0,k;if(typeof k=="string"){if(k.length===1)return k;{let A=k.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(A);return e.useSticky?Wre(w):qre(w)}}else throw Error("non exhaustive match")}})});let o,l,u,h,f;r("misc mapping",()=>{o=Ge(n,b=>b.tokenTypeIdx),l=Ge(n,b=>{let k=b.GROUP;if(k!==jn.SKIPPED){if(si(k))return k;if(jt(k))return!1;throw Error("non exhaustive match")}}),u=Ge(n,b=>{let k=b.LONGER_ALT;if(k)return ct(k)?Ge(k,w=>pk(n,w)):[pk(n,k)]}),h=Ge(n,b=>b.PUSH_MODE),f=Ge(n,b=>Ve(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=ene(e.lineTerminatorCharacters);d=Ge(n,k=>!1),e.positionTracking!=="onlyOffset"&&(d=Ge(n,k=>Ve(k,"LINE_BREAKS")?!!k.LINE_BREAKS:Jre(k,b)===!1&&c6(b,k.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=Ge(n,Qre),m=Ge(a,YRe),g=Or(n,(b,k)=>{let A=k.GROUP;return si(A)&&A!==jn.SKIPPED&&(b[A]=[]),b},{}),y=Ge(a,(b,k)=>({pattern:a[k],longerAlt:u[k],canLineTerminator:d[k],isCustom:p[k],short:m[k],group:l[k],push:h[k],pop:f[k],tokenTypeIdx:o[k],tokenType:n[k]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=Or(n,(b,k,A)=>{if(typeof k.PATTERN=="string"){let w=k.PATTERN.charCodeAt(0),T=vc(w);kR(b,T,y[A])}else if(ct(k.START_CHARS_HINT)){let w;be(k.START_CHARS_HINT,T=>{let C=typeof T=="string"?T.charCodeAt(0):T,E=vc(C);w!==E&&(w=E,kR(b,E,y[A]))})}else if(_o(k.PATTERN))if(k.PATTERN.unicode)v=!1,e.ensureOptimizations&&Dm(`${zv} Unable to analyze < ${k.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=Vre(k.PATTERN,e.ensureOptimizations);Vt(w)&&(v=!1),be(w,T=>{kR(b,T,y[A])})}else e.ensureOptimizations&&Dm(`${zv} TokenType: <${k.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function Yre(t,e){let r=[],n=IRe(t);r=r.concat(n.errors);let i=NRe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(MRe(a)),r=r.concat(VRe(a)),r=r.concat(URe(a,e)),r=r.concat(qRe(a)),r}function MRe(t){let e=[],r=Nr(t,n=>_o(n[Yd]));return e=e.concat(PRe(r)),e=e.concat(zRe(r)),e=e.concat($Re(r)),e=e.concat(GRe(r)),e=e.concat(BRe(r)),e}function IRe(t){let e=Nr(t,i=>!Ve(i,Yd)),r=Ge(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:In.MISSING_PATTERN,tokenTypes:[i]})),n=Uh(t,e);return{errors:r,valid:n}}function NRe(t){let e=Nr(t,i=>{let a=i[Yd];return!_o(a)&&!fi(a)&&!Ve(a,"exec")&&!si(a)}),r=Ge(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:In.INVALID_PATTERN,tokenTypes:[i]})),n=Uh(t,e);return{errors:r,valid:n}}function PRe(t){class e extends yc{static{s(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=Nr(t,i=>{let a=i.PATTERN;try{let o=Im(a),l=new e;return l.visit(o),l.found}catch{return ORe.test(a.source)}});return Ge(r,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:In.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function BRe(t){let e=Nr(t,n=>n.PATTERN.test(""));return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:In.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function zRe(t){class e extends yc{static{s(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=Nr(t,i=>{let a=i.PATTERN;try{let o=Im(a),l=new e;return l.visit(o),l.found}catch{return FRe.test(a.source)}});return Ge(r,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:In.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function $Re(t){let e=Nr(t,n=>{let i=n[Yd];return i instanceof RegExp&&(i.multiline||i.global)});return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:In.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function GRe(t){let e=[],r=Ge(t,a=>Or(t,(o,l)=>(a.PATTERN.source===l.PATTERN.source&&!Rn(e,l)&&l.PATTERN!==jn.NA&&(e.push(l),o.push(l)),o),[]));r=uc(r);let n=Nr(r,a=>a.length>1);return Ge(n,a=>{let o=Ge(a,u=>u.name);return{message:`The same RegExp pattern ->${Yi(a).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:In.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function VRe(t){let e=Nr(t,n=>{if(!Ve(n,"GROUP"))return!1;let i=n.GROUP;return i!==jn.SKIPPED&&i!==jn.NA&&!si(i)});return Ge(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:In.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function URe(t,e){let r=Nr(t,i=>i.PUSH_MODE!==void 0&&!Rn(e,i.PUSH_MODE));return Ge(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:In.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function qRe(t){let e=[],r=Or(t,(n,i,a)=>{let o=i.PATTERN;return o===jn.NA||(si(o)?n.push({str:o,idx:a,tokenType:i}):_o(o)&&HRe(o)&&n.push({str:o.source,idx:a,tokenType:i})),n},[]);return be(t,(n,i)=>{be(r,({str:a,idx:o,tokenType:l})=>{if(i<o&&WRe(a,n.PATTERN)){let u=`Token: ->${l.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:In.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function WRe(t,e){if(_o(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(fi(e))return e(t,0,[],{});if(Ve(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function HRe(t){return qa([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function qre(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Wre(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Xre(t,e,r){let n=[];return Ve(t,Om)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Om+`> property in its definition
`,type:In.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Ve(t,u6)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+u6+`> property in its definition
`,type:In.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Ve(t,u6)&&Ve(t,Om)&&!Ve(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Om}: <${t.defaultMode}>which does not exist
`,type:In.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Ve(t,u6)&&be(t.modes,(i,a)=>{be(i,(o,l)=>{if(jt(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}>
`,type:In.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Ve(o,"LONGER_ALT")){let u=ct(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];be(u,h=>{!jt(h)&&!Rn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${o.name}> outside of mode <${a}>
`,type:In.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function jre(t,e,r){let n=[],i=!1,a=uc(Ir(nr(t.modes))),o=qh(a,u=>u[Yd]===jn.NA),l=ene(r);return e&&be(o,u=>{let h=Jre(u,l);if(h!==!1){let d={message:XRe(u,h),type:h.issue,tokenType:u};n.push(d)}else Ve(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):c6(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:In.NO_LINE_BREAKS_FLAGS}),n}function Kre(t){let e={},r=kr(t);return be(r,n=>{let i=t[n];if(ct(i))e[n]=[];else throw Error("non exhaustive match")}),e}function Qre(t){let e=t.PATTERN;if(_o(e))return!1;if(fi(e))return!0;if(Ve(e,"exec"))return!0;if(si(e))return!1;throw Error("non exhaustive match")}function YRe(t){return si(t)&&t.length===1?t.charCodeAt(0):!1}function Jre(t,e){if(Ve(t,"LINE_BREAKS"))return!1;if(_o(t.PATTERN)){try{c6(e,t.PATTERN)}catch(r){return{issue:In.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(si(t.PATTERN))return!1;if(Qre(t))return{issue:In.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function XRe(t,e){if(e.issue===In.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${t.name}> Token Type
Root cause: ${e.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===In.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${t.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function ene(t){return Ge(t,r=>si(r)?r.charCodeAt(0):r)}function kR(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function vc(t){return t<Nm?t:h6[t]}function jRe(){if(Vt(h6)){h6=new Array(65536);for(let t=0;t<65536;t++)h6[t]=t>255?255+~~(t/255):t}}var Yd,Om,u6,wR,ORe,FRe,Zre,Nm,h6,bR=_(()=>{"use strict";Mv();$v();Tt();Rm();Ure();o6();Yd="PATTERN",Om="defaultMode",u6="modes",wR=typeof new RegExp("(?:)").sticky=="boolean";s(Hre,"analyzeTokenTypes");s(Yre,"validatePatterns");s(MRe,"validateRegExpPattern");s(IRe,"findMissingPatterns");s(NRe,"findInvalidPatterns");ORe=/[^\\][$]/;s(PRe,"findEndOfInputAnchor");s(BRe,"findEmptyMatchRegExps");FRe=/[^\\[][\^]|^\^/;s(zRe,"findStartOfInputAnchor");s($Re,"findUnsupportedFlags");s(GRe,"findDuplicatePatterns");s(VRe,"findInvalidGroupType");s(URe,"findModesThatDoNotExist");s(qRe,"findUnreachablePatterns");s(WRe,"testTokenType");s(HRe,"noMetaChar");s(qre,"addStartOfInput");s(Wre,"addStickyFlag");s(Xre,"performRuntimeChecks");s(jre,"performWarningRuntimeChecks");s(Kre,"cloneEmptyGroups");s(Qre,"isCustomPattern");s(YRe,"isShortPattern");Zre={test:s(function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};s(Jre,"checkLineBreaksIssues");s(XRe,"buildLineBreakIssueMessage");s(ene,"getCharCodes");s(kR,"addToMapOfArrays");Nm=256,h6=[];s(vc,"charCodeToOptimizedIndex");s(jRe,"initCharCodeToOptimizedIndexMap")});function Au(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Pm(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}function Lu(t){let e=KRe(t);QRe(e),JRe(e),ZRe(e),be(e,r=>{r.isParent=r.categoryMatches.length>0})}function KRe(t){let e=Hr(t),r=t,n=!0;for(;n;){r=uc(Ir(Ge(r,a=>a.CATEGORIES)));let i=Uh(r,e);e=e.concat(i),Vt(i)?n=!1:r=i}return e}function QRe(t){be(t,e=>{TR(e)||(nne[tne]=e,e.tokenTypeIdx=tne++),rne(e)&&!ct(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),rne(e)||(e.CATEGORIES=[]),eMe(e)||(e.categoryMatches=[]),tMe(e)||(e.categoryMatchesMap={})})}function ZRe(t){be(t,e=>{e.categoryMatches=[],be(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(nne[n].tokenTypeIdx)})})}function JRe(t){be(t,e=>{ine([],e)})}function ine(t,e){be(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),be(e.CATEGORIES,r=>{let n=t.concat(e);Rn(n,r)||ine(n,r)})}function TR(t){return Ve(t,"tokenTypeIdx")}function rne(t){return Ve(t,"CATEGORIES")}function eMe(t){return Ve(t,"categoryMatches")}function tMe(t){return Ve(t,"categoryMatchesMap")}function ane(t){return Ve(t,"tokenTypeIdx")}var tne,nne,Xd=_(()=>{"use strict";Tt();s(Au,"tokenStructuredMatcher");s(Pm,"tokenStructuredMatcherNoCategories");tne=1,nne={};s(Lu,"augmentTokenTypes");s(KRe,"expandCategories");s(QRe,"assignTokenDefaultProps");s(ZRe,"assignCategoriesTokensProp");s(JRe,"assignCategoriesMapProp");s(ine,"singleAssignCategoriesToksMap");s(TR,"hasShortKeyProperty");s(rne,"hasCategoriesProperty");s(eMe,"hasExtendingTokensTypesProperty");s(tMe,"hasExtendingTokensTypesMapProperty");s(ane,"isTokenType")});var ER,CR=_(()=>{"use strict";ER={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var In,Gv,jn,$v=_(()=>{"use strict";bR();Tt();Rm();Xd();CR();o6();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOU
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:ER,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Gv);jn=class{static{s(this,"Lexer")}constructor(e,r=Gv){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);let{time:l,value:u}=Bv(a),h=l>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&h(`${o}<-- <${i}> time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=aa({},Gv,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Gv.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Zre;else if(this.config.lineTerminatorCharacters===Gv.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ct(e)?i={modes:{defaultMode:Hr(e)},defaultMode:Om}:(a=!1,i=Hr(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Xre(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(jre(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},be(i.modes,(l,u)=>{i.modes[u]=qh(l,h=>jt(h))});let o=kr(i.modes);if(be(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Yre(l,o))}),Vt(this.lexerDefinitionErrors)){Lu(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=Hre(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=aa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Vt(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=Ge(this.lexerDefinitionErrors,h=>h.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+u)}be(this.lexerDefinitionWarning,l=>{Pv(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(wR?(this.chopInput=Wi,this.match=this.matchWithTest):(this.updateLastIndex=zn,this.match=this.matchWithExec),a&&(this.handleModes=zn),this.trackStartLines===!1&&(this.computeNewColumn=Wi),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=zn),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=Or(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!Vt(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{zre()}),this.TRACE_INIT("toFastProperties",()=>{Fv(this)})})}tokenize(e,r=this.defaultMode){if(!Vt(this.lexerDefinitionErrors)){let i=Ge(this.lexerDefinitionErrors,a=>a.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,o,l,u,h,f,d,p,m,g,y,v,x,b,k=e,A=k.length,w=0,T=0,C=this.hasCustom?0:Math.floor(e.length/10),E=new Array(C),S=[],R=this.trackStartLines?1:void 0,D=this.trackStartLines?1:void 0,L=Kre(this.emptyGroups),P=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,I=[],O=[],z=[],N=[];Object.freeze(N);let U;function $(){return I}s($,"getPossiblePatternsSlow");function W(fe){let ne=vc(fe),H=O[ne];return H===void 0?N:H}s(W,"getPossiblePatternsOptimized");let ee=s(fe=>{if(z.length===1&&fe.tokenType.PUSH_MODE===void 0){let ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(fe);S.push({offset:fe.startOffset,line:fe.startLine,column:fe.startColumn,length:fe.image.length,message:ne})}else{z.pop();let ne=sa(z);I=this.patternIdxToConfig[ne],O=this.charCodeToPatternIdxToConfig[ne],F=I.length;let H=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;O&&H?U=W:U=$}},"pop_mode");function te(fe){z.push(fe),O=this.charCodeToPatternIdxToConfig[fe],I=this.patternIdxToConfig[fe],F=I.length,F=I.length;let ne=this.canModeBeOptimized[fe]&&this.config.safeMode===!1;O&&ne?U=W:U=$}s(te,"push_mode"),te.call(this,r);let ce,Z=this.config.recoveryEnabled;for(;w<A;){u=null;let fe=k.charCodeAt(w),ne=U(fe),H=ne.length;for(n=0;n<H;n++){ce=ne[n];let Q=ce.pattern;h=null;let K=ce.short;if(K!==!1?fe===K&&(u=Q):ce.isCustom===!0?(b=Q.exec(k,w,E,L),b!==null?(u=b[0],b.payload!==void 0&&(h=b.payload)):u=null):(this.updateLastIndex(Q,w),u=this.match(Q,e,w)),u!==null){if(l=ce.longerAlt,l!==void 0){let re=l.length;for(a=0;a<re;a++){let ie=I[l[a]],ye=ie.pattern;if(f=null,ie.isCustom===!0?(b=ye.exec(k,w,E,L),b!==null?(o=b[0],b.payload!==void 0&&(f=b.payload)):o=null):(this.updateLastIndex(ye,w),o=this.match(ye,e,w)),o&&o.length>u.length){u=o,h=f,ce=ie;break}}}break}}if(u!==null){if(d=u.length,p=ce.group,p!==void 0&&(m=ce.tokenTypeIdx,g=this.createTokenInstance(u,w,m,ce.tokenType,R,D,d),this.handlePayload(g,h),p===!1?T=this.addToken(E,T,g):L[p].push(g)),e=this.chopInput(e,d),w=w+d,D=this.computeNewColumn(D,d),P===!0&&ce.canLineTerminator===!0){let Q=0,K,re;M.lastIndex=0;do K=M.test(u),K===!0&&(re=M.lastIndex-1,Q++);while(K===!0);Q!==0&&(R=R+Q,D=d-re,this.updateTokenEndLineColumnLocation(g,p,re,Q,R,D,d))}this.handleModes(ce,ee,te,g)}else{let Q=w,K=R,re=D,ie=Z===!1;for(;ie===!1&&w<A;)for(e=this.chopInput(e,1),w++,i=0;i<F;i++){let ye=I[i],j=ye.pattern,De=ye.short;if(De!==!1?k.charCodeAt(w)===De&&(ie=!0):ye.isCustom===!0?ie=j.exec(k,w,E,L)!==null:(this.updateLastIndex(j,w),ie=j.exec(e)!==null),ie===!0)break}if(y=w-Q,D=this.computeNewColumn(D,y),x=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(k,Q,y,K,re),S.push({offset:Q,line:K,column:re,length:y,message:x}),Z===!1)break}}return this.hasCustom||(E.length=T),{tokens:E,groups:L,errors:S}}handleModes(e,r,n,i){if(e.pop===!0){let a=e.push;r(i),a!==void 0&&n.call(this,a)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,r){return e.substring(r)}updateLastIndex(e,r){e.lastIndex=r}updateTokenEndLineColumnLocation(e,r,n,i,a,o,l){let u,h;r!==void 0&&(u=n===l-1,h=u?-1:0,i===1&&u===!0||(e.endLine=a+h,e.endColumn=o-1+-h))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,a,o){return{image:e,startOffset:r,startLine:a,startColumn:o,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,a,o,l){return{image:e,startOffset:r,endOffset:r+l-1,startLine:a,endLine:a,startColumn:o,endColumn:o+l-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}matchWithTest(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchWithExec(e,r){let n=e.exec(r);return n!==null?n[0]:null}};jn.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";jn.NA=/N
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Ve(t,sne)&&(r.CATEGORIES=t[sne]),Lu([r]),Ve(t,one)&&(r.LABEL=t[one]),Ve(t,lne)&&(r.GROUP=t[lne]),Ve(t,une)&&(r.POP_MODE=t[une]),Ve(t,cne)&&(r.PUSH_MODE=t[cne]),Ve(t,hne)&&(r.LONGER_ALT=t[hne]),Ve(t,fne)&&(r.LINE_BREAKS=t[fne]),Ve(t,dne)&&(r.START_CHARS_HINT=t[dne]),r}function jd(t,e,r,n,i,a,o,l){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:o,endColumn:l,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Vv(t,e){return Au(t,e)}var rMe,sne,one,lne,cne,une,hne,fne,dne,io,Kd=_(()=>{"use strict";Tt();$v();Xd();s(Du,"tokenLabel");s(SR,"hasTokenLabel");rMe="parent",sne="categories",one="label",lne="group",cne="push_mode",une="pop_mode",hne="longer_alt",fne="line_breaks",dne="start_chars_hint";s(f6,"createToken");s(nMe,"createTokenInternal");io=f6({name:"EOF",pattern:jn.NA});Lu([io]);s(jd,"createTokenInstance");s(Vv,"tokenMatcher")});var Ru,pne,bl,Bm=_(()=>{"use strict";Kd();Tt();ja();Ru={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${SR(t)?`--> ${Du(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=`
but found: '`+Yi(e).image+"'";if(n)return a+n+l;{let u=Or(t,(p,m)=>p.concat(m),[]),h=Ge(u,p=>`[${Ge(p,m=>Du(m)).join(", ")}]`),d=`one of these possible Token sequences:
${Ge(h,(p,m)=>` ${m+1}. ${p}`).join(`
`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",o=`
but found: '`+Yi(e).image+"'";if(r)return i+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences::
<${Ge(t,h=>`[${Ge(h,f=>Du(f)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(Ru);pne={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+t.name+"<-"}},bl={buildDuplicateFoundError(t,e){function r(f){return f instanceof sr?f.terminalType.name:f instanceof Yr?f.nonTerminalName:""}s(r,"getExtraProductionArgument");let n=t.name,i=Yi(e),a=i.idx,o=Cs(i),l=r(i),u=a>0,h=`->${o}${u?a:""}<- ${l?`with argument: ->${l}<-`:""}
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,`
`),h},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=Ge(t.prefixPath,i=>Du(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
For Further details.`},buildAlternationAmbiguityError(t){let e=Ge(t.prefixPath,i=>Du(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n},buildEmptyRepetitionError(t){let e=Cs(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=Ge(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${e}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is:
${n}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ya?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function mne(t,e){let r=new _R(t,e);return r.resolveRefs(),r.errors}var _R,gne=_(()=>{"use strict";Ss();Tt();ja();s(mne,"resolveGrammar");_R=class extends Xa{static{s(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){be(nr(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:Li.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function g6(t,e,r=[]){r=Hr(r);let n=[],i=0;function a(l){return l.concat(ai(t,i+1))}s(a,"remainingPathWith");function o(l){let u=g6(a(l),e,r);return n.concat(u)}for(s(o,"getAlternativesForProd");r.length<e&&i<t.length;){let l=t[i];if(l instanceof vn)return o(l.definition);if(l instanceof Yr)return o(l.definition);if(l instanceof Xr)n=o(l.definition);else if(l instanceof xn){let u=l.definition.concat([new mr({definition:l.definition})]);return o(u)}else if(l instanceof bn){let u=[new vn({definition:l.definition}),new mr({definition:[new sr({terminalType:l.separator})].concat(l.definition)})];return o(u)}else if(l instanceof ln){let u=l.definition.concat([new mr({definition:[new sr({terminalType:l.separator})].concat(l.definition)})]);n=o(u)}else if(l instanceof mr){let u=l.definition.concat([new mr({definition:l.definition})]);n=o(u)}else{if(l instanceof cn)return be(l.definition,u=>{Vt(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof sr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:ai(t,i)}),n}function y6(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Vt(d);){let p=d.pop();if(p===o){l&&sa(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(Vt(m))continue;let x=m[0];if(x===i){let b={idx:g,def:ai(m),ruleStack:wu(y),occurrenceStack:wu(v)};d.push(b)}else if(x instanceof sr)if(g<u-1){let b=g+1,k=e[b];if(r(k,x.terminalType)){let A={idx:b,def:ai(m),ruleStack:y,occurrenceStack:v};d.push(A)}}else if(g===u-1)f.push({nextTokenType:x.terminalType,nextTokenOccurrence:x.idx,ruleStack:y,occurrenceStack:v}),l=!0;else throw Error("non exhaustive match");else if(x instanceof Yr){let b=Hr(y);b.push(x.nonTerminalName);let k=Hr(v);k.push(x.idx);let A={idx:g,def:x.definition.concat(a,ai(m)),ruleStack:b,occurrenceStack:k};d.push(A)}else if(x instanceof Xr){let b={idx:g,def:ai(m),ruleStack:y,occurrenceStack:v};d.push(b),d.push(o);let k={idx:g,def:x.definition.concat(ai(m)),ruleStack:y,occurrenceStack:v};d.push(k)}else if(x instanceof xn){let b=new mr({definition:x.definition,idx:x.idx}),k=x.definition.concat([b],ai(m)),A={idx:g,def:k,ruleStack:y,occurrenceStack:v};d.push(A)}else if(x instanceof bn){let b=new sr({terminalType:x.separator}),k=new mr({definition:[b].concat(x.definition),idx:x.idx}),A=x.definition.concat([k],ai(m)),w={idx:g,def:A,ruleStack:y,occurrenceStack:v};d.push(w)}else if(x instanceof ln){let b={idx:g,def:ai(m),ruleStack:y,occurrenceStack:v};d.push(b),d.push(o);let k=new sr({terminalType:x.separator}),A=new mr({definition:[k].concat(x.definition),idx:x.idx}),w=x.definition.concat([A],ai(m)),T={idx:g,def:w,ruleStack:y,occurrenceStack:v};d.push(T)}else if(x instanceof mr){let b={idx:g,def:ai(m),ruleStack:y,occurrenceStack:v};d.push(b),d.push(o);let k=new mr({definition:x.definition,idx:x.idx}),A=x.definition.concat([k],ai(m)),w={idx:g,def:A,ruleStack:y,occurrenceStack:v};d.push(w)}else if(x instanceof cn)for(let b=x.definition.length-1;b>=0;b--){let k=x
${a.join(`
`).replace(/\n/g,`
`)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Hne(t,e,r){let n=s(function(){},"derivedConstructor");qR(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return be(e,a=>{i[a]=gMe}),n.prototype=i,n.prototype.constructor=n,n}function yMe(t,e){return vMe(t,e)}function vMe(t,e){let r=Nr(e,i=>fi(t[i])===!1),n=Ge(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:WR.MISSING_METHOD,methodName:i}));return uc(n)}var WR,Yne=_(()=>{"use strict";Tt();qne();s(gMe,"defaultVisit");s(Wne,"createBaseSemanticVisitorConstructor");s(Hne,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(WR||(WR={}));s(yMe,"validateVisitor");s(vMe,"validateMissingCstMethods")});var D6,Xne=_(()=>{"use strict";Une();Tt();Yne();Ss();D6=class{static{s(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Ve(e,"nodeLocationTracking")?e.nodeLocationTracking:Ka.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=zn,this.cstFinallyStateUpdate=zn,this.cstPostTerminal=zn,this.cstPostNonTerminal=zn,this.cstPostRule=zn;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=UR,this.setNodeLocationFromNode=UR,this.cstPostRule=zn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=VR,this.setNodeLocationFromNode=VR,this.cstPostRule=zn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=zn,this.setNodeLocationFromNode=zn,this.cstPostRule=zn,this.setInitialNodeLocation=zn;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Gne(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Vne(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(jt(this.baseCstVisitorConstructor)){let e=Wne(this.className,kr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(jt(this.baseCstVisitorWithDefaultsConstructor)){let e=Hne(this.className,kr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getL
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(ct(e)){if(Vt(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(ct(e))this.tokensMap=Or(e,(a,o)=>(a[o.name]=o,a),{});else if(Ve(e,"modes")&&Ca(Ir(nr(e.modes)),ane)){let a=Ir(nr(e.modes)),o=bm(a);this.tokensMap=Or(o,(l,u)=>(l[u.name]=u,l),{})}else if(on(e))this.tokensMap=Hr(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=io;let n=Ve(e,"modes")?Ir(nr(e.modes)):nr(e),i=Ca(n,a=>Vt(a.categoryMatches));this.tokenMatcher=i?Pm:Au,Lu(nr(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Ve(n,"resyncEnabled")?n.resyncEnabled:Wm.resyncEnabled,a=Ve(n,"recoveryValueFunc")?n.recoveryValueFunc:Wm.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=s(function(...f){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=s(function(...f){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Qh(e)){let o=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let o=r.GATE;if(o!==void 0){let l=i;i=s(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let o=this.doSingleRepetition(a);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Nn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,m6)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,qv],l,1536,e,qv)}else throw this.raiseEarlyExitException(e,Nn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=s(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,p6,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=s(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,Uv],l,1280,e,Uv)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal
Idx value must be a none negative value smaller than ${tie+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var F6,eie,tie,nie,iie,bMe,P6,aie=_(()=>{"use strict";Tt();ja();$v();Xd();Kd();Ss();E6();F6={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(F6);eie=!0,tie=Math.pow(2,8)-1,nie=f6({name:"RECORDING_PHASE_TOKEN",pattern:jn.NA});Lu([nie]);iie=jd(nie,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(iie);bMe={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},P6=class{static{s(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return qm}topLevelRuleRecord(e,r){try{let n=new Ya({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Jv.call(this,Xr,e,r)}atLeastOneInternalRecord(e,r){Jv.call(this,xn,r,e)}atLeastOneSepFirstInternalRecord(e,r){Jv.call(this,bn,r,e,eie)}manyInternalRecord(e,r){Jv.call(this,mr,r,e)}manySepFirstInternalRecord(e,r){Jv.call(this,ln,r,e,eie)}orInternalRecord(e,r){return kMe.call(this,e,r)}subruleInternalRecord(e,r,n){if(B6(r),!e||Ve(e,"ruleName")===!1){let l=new Error(`<SUBRULE${rie(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=sa(this.recordingProdStack),a=e.ruleName,o=new Yr({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?bMe:F6}consumeInternalRecord(e,r,n){if(B6(r),!TR(e)){let o=new Error(`<CONSUME${rie(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=sa(this.recordingProdStack),a=new sr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),iie}};s(Jv,"recordProd");s(kMe,"recordOrProd");s(rie,"getIdxSuffix");s(B6,"assertMethodIdxIsValid")});var z6,sie=_(()=>{"use strict";Tt();Rm();Ss();z6=class{static{s(this,"PerformanceTracer")}initPerformanceTracer(e){if(Ve(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Ka.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:a}=Bv(r),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function oie(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var lie=_(()=>{"use strict";s(oie,"applyMixins")});function $6(t=void 0){return function(){return t}}var qm,Ka,Wm,Li,e2,t2,Ss=_(()=>{"use strict";Tt();Rm();Fre();Kd();Bm();Nne();BR();$ne();Xne();jne();Kne();Qne();Zne();Jne();aie();sie();lie();Xv();qm=jd(io,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(qm);Ka=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Ru,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Wm=Object.freeze({recoveryValueFunc:s(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Li||(Li={}));s($6,"EMPTY_ALT");e2=class t{static{s(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{Fv(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),be(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Mne({rules:nr(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Vt(n)&&this.skipValidations===!1){let i=Ine({rules:nr(this.gastProductionsCache),tokenTypes:nr(this.tokensMap),errMsgProvider:bl,grammarName:r}),a=Cne({lookaheadStrategy:this.lookaheadStrategy,rules:nr(this.gastProductionsCache),tokenTypes:nr(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Vt(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=Bre(nr(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:nr(this.gastProductionsCac
${e.join(`
-------------------------------
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Ve(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=Ve(r,"skipValidations")?r.skipValidations:Ka.skipValidations}};e2.DEFER_DEFINITION_ERRORS_HANDLING=!1;oie(e2,[w6,S6,D6,R6,I6,M6,N6,O6,P6,z6]);t2=class extends e2{static{s(this,"EmbeddedActionsParser")}constructor(e,r=Ka){let n=Hr(r);n.outputCst=!1,super(e,n)}}});var cie=_(()=>{"use strict";ja()});var uie=_(()=>{"use strict"});var hie=_(()=>{"use strict";cie();uie()});var fie=_(()=>{"use strict";hR()});var Zd=_(()=>{"use strict";hR();Ss();$v();Kd();Gm();FR();Bm();Um();CR();ja();ja();hie();fie()});function Jd(t,e,r){return`${t.name}_${e}_${r}`}function gie(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};AMe(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],a=e0(e,i,i);a!==void 0&&zMe(e,i,a)}return e}function AMe(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],a=Xi(t,i,void 0,{type:TMe}),o=Xi(t,i,void 0,{type:Xm});a.stop=o,t.ruleToStartState.set(i,a),t.ruleToStopState.set(i,o)}}function yie(t,e,r){return r instanceof sr?YR(t,e,r.terminalType,r):r instanceof Yr?FMe(t,e,r):r instanceof cn?IMe(t,e,r):r instanceof Xr?NMe(t,e,r):r instanceof mr?LMe(t,e,r):r instanceof ln?DMe(t,e,r):r instanceof xn?RMe(t,e,r):r instanceof bn?MMe(t,e,r):e0(t,e,r)}function LMe(t,e,r){let n=Xi(t,e,r,{type:pie});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r));return xie(t,e,r,i)}function DMe(t,e,r){let n=Xi(t,e,r,{type:pie});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r)),a=YR(t,e,r.separator,r);return xie(t,e,r,i,a)}function RMe(t,e,r){let n=Xi(t,e,r,{type:die});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r));return vie(t,e,r,i)}function MMe(t,e,r){let n=Xi(t,e,r,{type:die});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r)),a=YR(t,e,r.separator,r);return vie(t,e,r,i,a)}function IMe(t,e,r){let n=Xi(t,e,r,{type:Zh});Jh(t,n);let i=Ge(r.definition,o=>yie(t,e,o));return jm(t,e,n,r,...i)}function NMe(t,e,r){let n=Xi(t,e,r,{type:Zh});Jh(t,n);let i=jm(t,e,n,r,e0(t,e,r));return OMe(t,e,r,i)}function e0(t,e,r){let n=Nr(Ge(r.definition,i=>yie(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:BMe(t,n)}function vie(t,e,r,n,i){let a=n.left,o=n.right,l=Xi(t,e,r,{type:_Me});Jh(t,l);let u=Xi(t,e,r,{type:mie});return a.loopback=l,u.loopback=l,t.decisionMap[Jd(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,mi(o,l),i===void 0?(mi(l,a),mi(l,u)):(mi(l,u),mi(l,i.left),mi(i.right,a)),{left:a,right:u}}function xie(t,e,r,n,i){let a=n.left,o=n.right,l=Xi(t,e,r,{type:SMe});Jh(t,l);let u=Xi(t,e,r,{type:mie}),h=Xi(t,e,r,{type:CMe});return l.loopback=h,u.loopback=h,mi(l,a),mi(l,u),mi(o,h),i!==void 0?(mi(h,u),mi(h,i.left),mi(i.right,a)):mi(h,l),t.decisionMap[Jd(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function OMe(t,e,r,n){let i=n.left,a=n.right;return mi(i,a),t.decisionMap[Jd(e,"Option",r.idx)]=i,n}function Jh(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function jm(t,e,r,n,...i){let a=Xi(t,e,n,{type:EMe,start:r});r.end=a;for(let l of i)l!==void 0?(mi(r,l.left),mi(l.right,a)):mi(r,a);let o={left:r,right:a};return t.decisionMap[Jd(e,PMe(n),n.idx)]=r,o}function PMe(t){if(t instanceof cn)return"Alternation";if(t instanceof Xr)return"Option";if(t instanceof mr)return"Repetition";if(t instanceof ln)return"RepetitionWithSeparator";if(t instanceof xn)return"RepetitionMandatory";if(t instanceof bn)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function BMe(t,e){let r=e.length;for(let a=0;a<r-1;a++){let o=e[a],l;o.left.transitions.length===1&&(l=o.left.transitions[0]);let u=l instanceof Ym,h=l,f=e[a+1].left;o.left.type===Zh&&o.right.type===Zh&&l!==void 0&&(u&&h.followState===o.right||l.target===o.right)?(u?h.followState=f:l.target=f,$Me(t,o.right)):mi(o.right,f)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function YR(t,e,r,n){let i=Xi(t,e,n,{type:Zh}),a=Xi(t,e,n,{type:Zh});return XR(i,new Hm(a,r)),{left:i,right:a}}function FMe(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),a=Xi(t,e,r,{type:Zh}),o=Xi(t,e,r,{type:Zh}),l=new Ym(i,n,o);return XR(a,l),{left:a,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n}function YMe(t){if(t instanceof Yr)return"SUBRULE";if(t instanceof Xr)return"OPTION";if(t instanceof cn)return"OR";if(t instanceof xn)return"AT_LEAST_ONE";if(t instanceof bn)return"AT_LEAST_ONE_SEP";if(t instanceof ln)return"MANY_SEP";if(t instanceof mr)return"MANY";if(t instanceof sr)return"CONSUME";throw Error("non exhaustive match")}function XMe(t,e,r){let n=oa(e.configs.elements,a=>a.state.transitions),i=IJ(n.filter(a=>a instanceof Hm).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function jMe(t,e){return t.edges[e.tokenTypeIdx]}function KMe(t,e,r){let n=new Km,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Xm){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u<l;u++){let h=o.state.transitions[u],f=QMe(h,e);f!==void 0&&n.add({state:f,alt:o.alt,stack:o.stack})}}let a;if(i.length===0&&n.size===1&&(a=n),a===void 0){a=new Km;for(let o of n.elements)V6(o,a)}if(i.length>0&&!tIe(a))for(let o of i)a.add(o);return a}function QMe(t,e){if(t instanceof Hm&&Vv(e,t.tokenType))return t.target}function ZMe(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Cie(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Eie(t,e,r,n){return n=Sie(t,n),e.edges[r.tokenTypeIdx]=n,n}function Sie(t,e){if(e===i2)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function JMe(t){let e=new Km,r=t.transitions.length;for(let n=0;n<r;n++){let a={state:t.transitions[n].target,alt:n,stack:[]};V6(a,e)}return e}function V6(t,e){let r=t.state;if(r.type===Xm){if(t.stack.length>0){let i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};V6(o,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let a=r.transitions[i],o=eIe(t,a);o!==void 0&&V6(o,e)}}function eIe(t,e){if(e instanceof n2)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Ym){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function tIe(t){for(let e of t.elements)if(e.state.type===Xm)return!0;return!1}function rIe(t){for(let e of t.elements)if(e.state.type!==Xm)return!1;return!0}function nIe(t){if(rIe(t))return!0;let e=iIe(t.elements);return aIe(e)&&!sIe(e)}function iIe(t){let e=new Map;for(let r of t){let n=jR(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function aIe(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function sIe(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var G6,wie,a2,_ie=_(()=>{"use strict";Zd();bie();kie();Y9();G9();NJ();ym();O5();uk();mk();Q9();s(GMe,"createDFACache");G6=class{static{s(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},wie=new G6,a2=class extends Mu{static{s(this,"LLStarLookaheadStrategy")}constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:n=>console.log(n)}initialize(e){this.atn=gie(e.rules),this.dfas=VMe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,o=this.dfas,l=this.logging,u=Jd(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=Ge(x6({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>Ge(p,m=>m[0]));if(Tie(d,!1)&&!a){let p=Or(d,(m,g,y)=>(be(g,v=>{v&&(m[v.tokenTypeIdx]=y,be(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new G6,g=p===void 0?0:p.length;for(let
`,a==="\r"&&i+1<r.length&&r.charAt(i+1)===`
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Pr.create(0,e);for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let a=n-1;return Pr.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(m){return typeof m<"u"}s(r,"defined"),t.defined=r;function n(m){return typeof m>"u"}s(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}s(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}s(a,"string"),t.string=a;function o(m){return e.call(m)==="[object Number]"}s(o,"number"),t.number=o;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}s(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}s(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}s(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}s(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}s(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}s(p,"typedArray"),t.typedArray=p})(Le||(Le={}))});var o2,l2,t0,r0,fM,eg,X6=_(()=>{"use strict";hM();Do();gl();o2=class{static{s(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new eg(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new r0;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new t0(e.startOffset,e.image.length,Tm(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new t0(r.startOffset,r.image.length,Tm(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let a=0;a<e.content.length;a++){let o=e.content[a],{offset:l,end:u}=o;if(to(o)&&n>l&&i<u){this.addHiddenToken(o,r);return}else if(i<=l){e.content.splice(a,0,r);return}}e.content.push(r)}},l2=class{static{s(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;let n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},t0=class extends l2{static{s(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},r0=class extends l2{static{s(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new fM(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?v
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return h}}s(r,"convertEscapeCharacter");function n(h){return h.charAt(0)==="^"?h.substring(1):h}s(n,"convertID"),t.convertID=n;function i(h){return parseInt(h)}s(i,"convertInt"),t.convertInt=i;function a(h){return BigInt(h)}s(a,"convertBigint"),t.convertBigint=a;function o(h){return new Date(h)}s(o,"convertDate"),t.convertDate=o;function l(h){return Number(h)}s(l,"convertNumber"),t.convertNumber=l;function u(h){return h.toLowerCase()==="true"}s(u,"convertBoolean"),t.convertBoolean=u})(xc||(xc={}))});var SM=is(CM=>{"use strict";Object.defineProperty(CM,"__esModule",{value:!0});var TM;function EM(){if(TM===void 0)throw new Error("No runtime abstraction layer installed");return TM}s(EM,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");TM=r}s(e,"install"),t.install=e})(EM||(EM={}));CM.default=EM});var Fae=is(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.stringArray=_a.array=_a.func=_a.error=_a.number=_a.string=_a.boolean=void 0;function yIe(t){return t===!0||t===!1}s(yIe,"boolean");_a.boolean=yIe;function Pae(t){return typeof t=="string"||t instanceof String}s(Pae,"string");_a.string=Pae;function vIe(t){return typeof t=="number"||t instanceof Number}s(vIe,"number");_a.number=vIe;function xIe(t){return t instanceof Error}s(xIe,"error");_a.error=xIe;function bIe(t){return typeof t=="function"}s(bIe,"func");_a.func=bIe;function Bae(t){return Array.isArray(t)}s(Bae,"array");_a.array=Bae;function kIe(t){return Bae(t)&&t.every(e=>Pae(e))}s(kIe,"stringArray");_a.stringArray=kIe});var AM=is(rg=>{"use strict";Object.defineProperty(rg,"__esModule",{value:!0});rg.Emitter=rg.Event=void 0;var wIe=SM(),zae;(function(t){let e={dispose(){}};t.None=function(){return e}})(zae||(rg.Event=zae={}));var _M=class{static{s(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:s(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i<a;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let a=0,o=n.length;a<o;a++)try{r.push(n[a].apply(i[a],e))}catch(l){(0,wIe.default)().console.error(l)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},J6=class t{static{s(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new _M),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};rg.Emitter=J6;J6._noop=function(){}});var $ae=is(ng=>{"use strict";Object.defineProperty(ng,"__esModule",{value:!0});ng.CancellationTokenSource=ng.CancellationToken=void 0;var TIe=SM(),EIe=Fae(),LM=AM(),ew;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:LM.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:LM.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||EIe.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}s(e,"is"),t.is=e})(ew||(ng.CancellationToken=ew={}));var CIe=Object.fre
`)?`
`:`
`}var Jae,AIe,RIe,MIe,lw,O2,P2,cw,aI=_(()=>{"use strict";hM();_m();kc();s(rI,"parseJSDoc");s(nI,"isJSDoc");s(tse,"getLines");Jae=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,AIe=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;s(LIe,"tokenize");s(DIe,"buildInlineTokens");RIe=/\S/,MIe=/\s*$/;s(tI,"skipWhitespace");s(IIe,"lastCharacter");s(NIe,"parseJSDocComment");s(OIe,"parseJSDocElement");s(PIe,"appendEmptyLine");s(rse,"parseJSDocText");s(BIe,"parseJSDocInline");s(nse,"parseJSDocTag");s(ise,"parseJSDocLine");s(iI,"normalizeOptions");s(eI,"normalizeOption");lw=class{static{s(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=ese(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=ese(r)+i}return r.trim()}},O2=class{static{s(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=FIe(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
${r}`),this.inline?`{${i}}`:i}};s(FIe,"renderInlineTag");s(zIe,"renderLinkDefault");P2=class{static{s(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],a=this.inlines[n+1];r+=i.toMarkdown(e),a&&a.range.start.line>i.range.start.line&&(r+=`
`)}return r}},cw=class{static{s(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};s(ese,"fillNewlines")});var B2,sI=_(()=>{"use strict";Ha();aI();B2=class{static{s(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&nI(r))return rI(r).toMarkdown({renderLink:s((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:s(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let o=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${o},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Ai(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var F2,oI=_(()=>{"use strict";aw();gl();F2=class{static{s(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return GM(e)?e.$comment:(r=FL(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var Kn={};var lI=_(()=>{"use strict";lr(Kn,ka(AM(),1))});var z2,cI,uI,hI=_(()=>{"use strict";Oo();lI();z2=class{static{s(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}},cI=class{static{s(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Qa,a,o=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Qa;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(bc)}),this.queue.push(r),r.promise}},uI=class{static{s(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new Kn.Emitter,this.deferred=new Qa,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let o=a;this.deferred.resolve(o),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(bc),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Qa,this.sendMessage(e),this.deferred.promise}}});var $2,fI=_(()=>{"use strict";No();Oo();$2=class{static{s(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new cr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=new cr.CancellationTokenSource;return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n){let i=new Qa,a={action:r,deferred:i,cancellationToken:n??cr.CancellationToken.None};return e.push(a),this.performNextOperation(),i.promise}async perf
`)}}},u0=class extends fw{static{s(this,"CommonValueConverter")}static{_t(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Ec=class extends i0{static{s(this,"AbstractMermaidTokenBuilder")}static{_t(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},sNe=class extends Ec{static{s(this,"CommonTokenBuilder")}static{_t(this,"CommonTokenBuilder")}}});function pw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),SI,dw);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var oNe,dw,_I=_(()=>{"use strict";Cc();Ou();oNe=class extends Ec{static{s(this,"GitGraphTokenBuilder")}static{_t(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},dw={parser:{TokenBuilder:_t(()=>new oNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(pw,"createGitGraphServices");_t(pw,"createGitGraphServices")});function gw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),TI,mw);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var lNe,mw,AI=_(()=>{"use strict";Cc();Ou();lNe=class extends Ec{static{s(this,"InfoTokenBuilder")}static{_t(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},mw={parser:{TokenBuilder:_t(()=>new lNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(gw,"createInfoServices");_t(gw,"createInfoServices")});function vw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),EI,yw);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var cNe,yw,LI=_(()=>{"use strict";Cc();Ou();cNe=class extends Ec{static{s(this,"PacketTokenBuilder")}static{_t(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},yw={parser:{TokenBuilder:_t(()=>new cNe,"TokenBuilder"),ValueConverter:_t(()=>new u0,"ValueConverter")}};s(vw,"createPacketServices");_t(vw,"createPacketServices")});function bw(t=Tl){let e=Aa(wl(t),Pu),r=Aa(kl({shared:e}),CI,xw);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var uNe,hNe,xw,DI=_(()=>{"use strict";Cc();Ou();uNe=class extends Ec{static{s(this,"PieTokenBuilder")}static{_t(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},hNe=class extends fw{static{s(this,"PieValueConverter")}static{_t(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},xw={parser:{TokenBuilder:_t(()=>new uNe,"TokenBuilder"),ValueConverter:_t(()=>new hNe,"ValueConverter")}};s(bw,"createPieServices");_t(bw,"createPieServices")});var Vse={};ur(Vse,{InfoModule:()=>mw,createInfoServices:()=>gw});var Use=_(()=>{"use strict";AI();Cc()});var qse={};ur(qse,{PacketModule:()=>yw,createPacketServices:()=>vw});var Wse=_(()=>{"use strict";LI();Cc()});var Hse={};ur(Hse,{PieModule:()=>xw,createPieServices:()=>bw});var Yse=_(()=>{"use strict";DI();Cc()});var Xse={};ur(Xse,{GitGraphModule:()=>dw,createGitGraphServices:()=>pw});var jse=_(()=>{"use strict";_I();Cc()});async function Bu(t,e){let r=fNe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);fg[t]||await r();let i=fg[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new dNe(i);return i.value}var fg,fNe,dNe,V2=_(()=>{"use strict";_I();AI();LI();DI();Cc();fg={},fNe={info:_t(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(Use(),Vse)),e=t().Info.parser.LangiumParser;fg.info=e},"info"),packet:_t(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(Wse(),qse)),e=t().Packet.parser.LangiumParser;fg.packet=e},"packet"),pie:_t(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(Yse(),Hse)),e=t().Pie.parser.LangiumParser;fg.pie=e},"pie"),gitGraph:_t(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(jse(),Xse)),e=t().GitGraph.parser.LangiumParser;fg.gitGraph=e},"gitGraph")};s(Bu,"parse");_t(Bu,"parse");dNe=class extends Error{static{s(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(`
`),r=t.parserErrors.map(n=>n.message).join(`
`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{_t(this,"MermaidParseError")}}});function dg(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var kw=_(()=>{"use strict";s(dg,"populateCommonDb")});var Br,ww=_(()=>{"use strict";Br={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var pg,RI=_(()=>{"use strict";pg=class{constructor(e){this.init=e;this.records=this.init()}static{s(this,"ImperativeState")}reset(){this.records=this.init()}}});function MI(){return cA({length:7})}function mNe(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function Kse(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function Zse(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in nt.records.branches)nt.records.branches.get(i)===e.id&&n.push(i);if(V.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=nt.records.commits.get(e.parents[0]);Kse(t,e,i),e.parents[1]&&t.push(nt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=nt.records.commits.get(e.parents[0]);Kse(t,e,i)}}t=mNe(t,i=>i.id),Zse(t)}var pNe,h0,nt,gNe,yNe,vNe,xNe,bNe,kNe,wNe,Qse,TNe,ENe,CNe,SNe,_Ne,Jse,ANe,LNe,DNe,Tw,II=_(()=>{"use strict";it();pr();zs();Qt();Ci();ww();RI();Pl();pNe=dr.gitGraph,h0=s(()=>ms({...pNe,..._r().gitGraph}),"getConfig"),nt=new pg(()=>{let t=h0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});s(MI,"getID");s(mNe,"uniqBy");gNe=s(function(t){nt.records.direction=t},"setDirection"),yNe=s(function(t){V.debug("options str",t),t=t?.trim(),t=t||"{}";try{nt.records.options=JSON.parse(t)}catch(e){V.error("error while parsing gitGraph options",e.message)}},"setOptions"),vNe=s(function(){return nt.records.options},"getOptions"),xNe=s(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;V.info("commit",e,r,n,i),V.debug("Entering commit:",e,r,n,i);let a=h0();r=$e.sanitizeText(r,a),e=$e.sanitizeText(e,a),i=i?.map(l=>$e.sanitizeText(l,a));let o={id:r||nt.records.seq+"-"+MI(),message:e,seq:nt.records.seq++,type:n??Br.NORMAL,tags:i??[],parents:nt.records.head==null?[]:[nt.records.head.id],branch:nt.records.currBranch};nt.records.head=o,V.info("main branch",a.mainBranchName),nt.records.commits.set(o.id,o),nt.records.branches.set(nt.records.currBranch,o.id),V.debug("in pushCommit "+o.id)},"commit"),bNe=s(function(t){let e=t.name,r=t.order;if(e=$e.sanitizeText(e,h0()),nt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);nt.records.branches.set(e,nt.records.head!=null?nt.records.head.id:null),nt.records.branchConfig.set(e,{name:e,order:r}),Qse(e),V.debug("in createBranch")},"branch"),kNe=s(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=h0();e=$e.sanitizeText(e,a),r&&(r=$e.sanitizeText(r,a));let o=nt.records.branches.get(nt.records.currBranch),l=nt.records.branches.get(e),u=o?nt.records.commits.get(o):void 0,h=l?nt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(nt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${nt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!nt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no
${n-a/2-Sc/2},${m+Fu}
${n-a/2-Sc/2},${m-Fu}
${r.posWithOffset-a/2-Sc},${m-p-Fu}
${r.posWithOffset+a/2+Sc},${m-p-Fu}
${r.posWithOffset+a/2+Sc},${m+p+Fu}
${r.posWithOffset-a/2-Sc},${m+p+Fu}`),h.attr("cy",m).attr("cx",n-a/2+Sc/2).attr("r",1.5).attr("class","tag-hole"),yr==="TB"||yr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",`
${r.x},${g+2}
${r.x},${g-2}
${r.x+rf},${g-p-2}
${r.x+rf+a+4},${g-p-2}
${r.x+rf+a+4},${g+p+2}
${r.x+rf},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Sc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),jNe=s(t=>{switch(t.customType??t.type){case Br.NORMAL:return"commit-normal";case Br.REVERSE:return"commit-reverse";case Br.HIGHLIGHT:return"commit-highlight";case Br.MERGE:return"commit-merge";case Br.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),KNe=s((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=ioe(t.parents);if(a){let o=n.get(a)??i;return e==="TB"?o.y+nf:e==="BT"?(n.get(t.id)??i).y-nf:o.x+nf}}else return e==="TB"?Ew:e==="BT"?(n.get(t.id)??i).y-nf:0;return 0},"calculatePosition"),QNe=s((t,e,r)=>{let n=yr==="BT"&&r?e:e+rf,i=yr==="TB"||yr==="BT"?n:As.get(t.branch)?.pos,a=yr==="TB"||yr==="BT"?As.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),roe=s((t,e,r)=>{if(!Po)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=yr==="TB"||yr==="BT"?Ew:0,o=[...e.keys()],l=Po?.parallelCommits??!1,u=s((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=o.sort(u);yr==="BT"&&(l&&GNe(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=KNe(d,yr,a,Ls));let p=QNe(d,a,l);if(r){let m=jNe(d),g=d.customType??d.type,y=As.get(d.branch)?.index??0;HNe(n,d,p,m,y,g),YNe(i,d,p,a),XNe(i,d,p,a)}yr==="TB"||yr==="BT"?Ls.set(d.id,{x:p.x,y:p.posWithOffset}):Ls.set(d.id,{x:p.posWithOffset,y:p.y}),a=yr==="BT"&&l?a+nf:a+nf+rf,a>tf&&(tf=a)})},"drawCommits"),ZNe=s((t,e,r,n,i)=>{let o=(yr==="TB"||yr==="BT"?r.x<n.x:r.y<n.y)?e.branch:t.branch,l=s(h=>h.branch===o,"isOnBranchToGetCurve"),u=s(h=>h.seq>t.seq&&h.seq<e.seq,"isBetweenCommits");return[...i.values()].some(h=>u(h)&&l(h))},"shouldRerouteArrow"),q2=s((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(Cw.every(o=>Math.abs(o-n)>=10))return Cw.push(n),n;let a=Math.abs(t-e);return q2(t,e-a/5,r+1)},"findLane"),JNe=s((t,e,r,n)=>{let i=Ls.get(e.id),a=Ls.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let o=ZNe(e,r,i,a,n),l="",u="",h=0,f=0,d=As.get(r.branch)?.index;r.type===Br.MERGE&&e.id!==r.parents[0]&&(d=As.get(e.branch)?.index);let p;if(o){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.y<a.y?q2(i.y,a.y):q2(a.y,i.y),g=i.x<a.x?q2(i.x,a.x):q2(a.x,i.x);yr==="TB"?i.x<a.x?p=`M ${i.x} ${i.y} L ${g-h} ${i.y} ${u} ${g} ${i.y+f} L ${g} ${a.y-h} ${l} ${g+f} ${a.y} L ${a.x} ${a.y}`:(d=As.get(e.branch)?.index,p=`M ${i.x} ${i.y} L ${g+h} ${i.y} ${l} ${g} ${i.y+f} L ${g} ${a.y-h} ${u} ${g-f} ${a.y} L ${a.x} ${a.y}`):yr==="BT"?i.x<a.x?p=`M ${i.x} ${i.y} L ${g-h} ${i.y} ${l} ${g} ${i.y-f} L ${g} ${a.y+h} ${u} ${g+f} ${a.y} L ${a.x} ${a.y}`:(d=As.get(e.branch)?.index,p=`M ${i.x} ${i.y} L ${g+h} ${i.y} ${u} ${g} ${i.y-f} L ${g} ${a.y+h} ${l} ${g-f} ${a.y} L ${a.x} ${a.y}`):i.y<a.y?p=`M ${i.x} ${i.y} L ${i.x} ${m-h} ${l} ${i.x+f} ${m} L ${a.x-h} ${m} ${u} ${a.x} ${m+f} L ${a.x} ${a.y}`:(d=As.get(e.branch)?.index,p=`M ${i.x} ${i.y} L ${i.x} ${m+h} ${u} ${i.x+f} ${m} L ${a.x-h} ${m} ${l} ${a.x} ${m-f} L ${a.x} ${a.y}`)}else l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,yr==="TB"?(i.x<a.x&&(r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${l} ${i.x+f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${u} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x>a.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Br.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):yr==="BT
`,"id:",e,r),!Po)throw new Error("GitGraph config not found");let i=Po.rotateCommitLabel??!1,a=n.db;U2=a.getCommits();let o=a.getBranchesAsObjArray();yr=a.getDirection();let l=Me(`[id="${e}"]`),u=0;o.forEach((h,f)=>{let d=noe(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=rOe(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),roe(l,U2,!1),Po.showBranches&&tOe(l,o),eOe(l,U2),roe(l,U2,!0),dt.insertTitle(l,"gitTitleText",Po.titleTopMargin??0,a.getDiagramTitle()),mC(void 0,l,Po.diagramPadding,Po.useMaxWidth)},"draw"),aoe={draw:nOe}});var iOe,ooe,loe=_(()=>{"use strict";iOe=s(t=>`
.commit-id,
.commit-msg,
.branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
${[0,1,2,3,4,5,6,7].map(e=>`
.branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }
.commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }
.commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }
.label${e} { fill: ${t["git"+e]}; }
.arrow${e} { stroke: ${t["git"+e]}; }
`).join(`
`)}
.branch {
stroke-width: 1;
stroke: ${t.lineColor};
stroke-dasharray: 2;
}
.commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
.commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
.tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
.tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
.tag-hole { fill: ${t.textColor}; }
.commit-merge {
stroke: ${t.primaryColor};
fill: ${t.primaryColor};
}
.commit-reverse {
stroke: ${t.primaryColor};
fill: ${t.primaryColor};
stroke-width: 3;
}
.commit-highlight-outer {
}
.commit-highlight-inner {
stroke: ${t.primaryColor};
fill: ${t.primaryColor};
}
.arrow { stroke-width: 8; stroke-linecap: round; fill: none}
.gitTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
`,"getStyles"),ooe=iOe});var coe={};ur(coe,{diagram:()=>aOe});var aOe,uoe=_(()=>{"use strict";toe();II();soe();loe();aOe={parser:eoe,db:Tw,renderer:aoe,styles:ooe}});var NI,doe,poe=_(()=>{"use strict";NI=function(){var t=s(function(P,M,F,I){for(F=F||{},I=P.length;I--;F[P[I]]=M);return F},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],o=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],k=[1,19],A=[1,20],w=[1,21],T=[1,22],C=[1,23],E=[1,25],S=[1,35],R={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:s(function(M,F,I,O,z,N,U){var $=N.length-1;switch(z){case 1:return N[$-1];case 2:this.$=[];break;case 3:N[$-1].push(N[$]),this.$=N[$-1];break;case 4:case 5:this.$=N[$];break;case 6:case 7:this.$=[];break;case 8:O.setWeekday("monday");break;case 9:O.setWeekday("tuesday");break;case 10:O.setWeekday("wednesday");break;case 11:O.setWeekday("thursday");break;case 12:O.setWeekday("friday");break;case 13:O.setWeekday("saturday");break;case 14:O.setWeekday("sunday");break;case 15:O.setWeekend("friday");break;case 16:O.setWeekend("saturday");break;case 17:O.setDateFormat(N[$].substr(11)),this.$=N[$].substr(11);break;case 18:O.enableInclusiveEndDates(),this.$=N[$].substr(18);break;case 19:O.TopAxis(),this.$=N[$].substr(8);break;case 20:O.setAxisFormat(N[$].substr(11)),this.$=N[$].substr(11);break;case 21:O.setTickInterval(N[$].substr(13)),this.$=N[$].substr(13);break;case 22:O.setExcludes(N[$].substr(9)),this.$=N[$].substr(9);break;case 23:O.setIncludes(N[$].substr(9)),this.$=N[$].substr(9);break;case 24:O.setTodayMarker(N[$].substr(12)),this.$=N[$].substr(12);break;case 27:O.setDiagramTitle(N[$].substr(6)),this.$=N[$].substr(6);break;case 28:this.$=N[$].trim(),O.setAccTitle(this.$);break;case 29:case 30:this.$=N[$].trim(),O.setAccDescription(this.$);break;case 31:O.addSection(N[$].substr(8)),this.$=N[$].substr(8);break;case 33:O.addTask(N[$-1],N[$]),this.$="task";break;case 34:this.$=N[$-1],O.setClickEvent(N[$-1],N[$],null);break;case 35:this.$=N[$-2],O.setClickEvent(N[$-2],N[$-1],N[$]);break;case 36:this.$=N[$-2],O.setClickEvent(N[$-2],N[$-1],null),O.setLink(N[$-2],N[$]);break;case 37:this.$=N[$-3],O.setClickEvent(N[$-3],N[$-2],N[$-1]),O.setLink(N[$-3],N[$]);break;case 38:this.$=N[$-2],O.setClickEvent(N[$-2],N[$],null),O.setLink(N[$-2],N[$-1]);break;case 39:this.$=N[$-3],O.setClickEvent(N[$-3],N[$-1],N[$]),O.setLink(N[$-3],N[$-2]);break;case 40:this.$=N[$-1],O.setLink(N[$-1],
`+ne.showPosition()+`
Expecting `+q.join(", ")+", got '"+(this.terminals_[j]||j)+"'":se="Parse error on line "+(W+1)+": Unexpected "+(j==Z?"end of input":"'"+(this.terminals_[j]||j)+"'"),this.parseError(se,{text:ne.match,token:this.terminals_[j]||j,line:ne.yylineno,loc:K,expected:q})}if(Re[0]instanceof Array&&Re.length>1)throw new Error("Parse Error: multiple actions possible at state: "+oe+", token: "+j);switch(Re[0]){case 1:I.push(j),z.push(ne.yytext),N.push(ne.yylloc),I.push(Re[1]),j=null,De?(j=De,De=null):(ee=ne.yyleng,$=ne.yytext,W=ne.yylineno,K=ne.yylloc,te>0&&te--);break;case 2:if(_e=this.productions_[Re[1]][1],Ue.$=z[z.length-_e],Ue._$={first_line:N[N.length-(_e||1)].first_line,last_line:N[N.length-1].last_line,first_column:N[N.length-(_e||1)].first_column,last_column:N[N.length-1].last_column},re&&(Ue._$.range=[N[N.length-(_e||1)].range[0],N[N.length-1].range[1]]),Se=this.performAction.apply(Ue,[$,ee,W,H.yy,Re[1],z,N].concat(fe)),typeof Se<"u")return Se;_e&&(I=I.slice(0,-1*_e*2),z=z.slice(0,-1*_e),N=N.slice(0,-1*_e)),I.push(this.productions_[Re[1]][0]),z.push(Ue.$),N.push(Ue._$),he=U[I[I.length-2]][I[I.length-1]],I.push(he);break;case 3:return!0}}return!0},"parse")},D=function(){var P={EOF:1,parseError:s(function(F,I){if(this.yy.parser)this.yy.parser.parseError(F,I);else throw new Error(F)},"parseError"),setInput:s(function(M,F){return this.yy=F||this.yy||{},this._input=M,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var M=this._input[0];this.yytext+=M,this.yyleng++,this.offset++,this.match+=M,this.matched+=M;var F=M.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),M},"input"),unput:s(function(M){var F=M.length,I=M.split(/(?:\r\n?|\n)/g);this._input=M+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-F),this.offset-=F;var O=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===O.length?this.yylloc.first_column:0)+O[O.length-I.length].length-I[0].length:this.yylloc.first_column-F},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-F]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(M){this.unput(this.match.slice(M))},"less"),pastInput:s(function(){var M=this.matched.substr(0,this.matched.length-this.match.length);return(M.length>20?"...":"")+M.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var M=this.match;return M.length<20&&(M+=this._input.substr(0,20-M.length)),(M.substr(0,20)+(M.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var M=this.pastInput(),F=new Array(M.length+1).join("-");return M+this.upcomingInput()+`
`+F+"^"},"showPosition"),test_match:s(function(M,F){var I,O,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),O=M[0].match(/(?:\r\n?|\n).*/g),O&&(this.yylineno+=O.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:O?O[O.length-1].length-O[O.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+M[0].length},this.yytext+=M[0],this.match+=M[0],this.matches=M,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(M[0].length),this.matched+=M[0],I=this.performAction.call(this,this.yy,this,F,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var N in z)this[N]=z[N];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var M,F,I,O;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),N=0;N<z.length;N++)if(I=this._input.match(this.rules[z[N]]),I&&(!F||I[0].length>F[0].length)){if(F=I,O=N,this.options.backtrack_lexer){if(M=this.test_match(I,z[N]),M!==!1)return M;if(this._backtrack){F=!1;continue}else return!1}else if(!this.options.flex)break}return F?(M=this.test_match(F,z[O]),M!==!1?M:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var F=this.next();return F||this.lex()},"lex"),begin:s(function(F){this.conditionStack.push(F)},"begin"),popState:s(function(){var F=this.conditionStack.length-1;return F>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(F){return F=this.conditionStack.length-1-Math.abs(F||0),F>=0?this.conditionStack[F]:"INITIAL"},"topState"),pushState:s(function(F){this.begin(F)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(F,I,O,z){var N=z;switch(O){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return P}();R.lexer=D;function L(){this.yy={}}return s(L,"Parser"),L.prototype=R,R.Parser=L,new L}();NI.parser=NI;doe=NI});var moe=is((OI,PI)=>{"use strict";(function(t,e){typeof OI=="object"&&typeof PI<"u"?PI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalTh
.mermaid-main-font {
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
.exclude-range {
fill: ${t.excludeBkgColor};
}
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: ${t.sectionBkgColor};
}
.section2 {
fill: ${t.sectionBkgColor2};
}
.section1,
.section3 {
fill: ${t.altSectionBkgColor};
opacity: 0.2;
}
.sectionTitle0 {
fill: ${t.titleColor};
}
.sectionTitle1 {
fill: ${t.titleColor};
}
.sectionTitle2 {
fill: ${t.titleColor};
}
.sectionTitle3 {
fill: ${t.titleColor};
}
.sectionTitle {
text-anchor: start;
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
/* Grid and axis */
.grid .tick {
stroke: ${t.gridColor};
opacity: 0.8;
shape-rendering: crispEdges;
}
.grid .tick text {
font-family: ${t.fontFamily};
fill: ${t.textColor};
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: ${t.todayLineColor};
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
.taskTextOutsideRight {
fill: ${t.taskTextDarkColor};
text-anchor: start;
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
.taskTextOutsideLeft {
fill: ${t.taskTextDarkColor};
text-anchor: end;
}
/* Special case clickable */
.task.clickable {
cursor: pointer;
}
.taskText.clickable {
cursor: pointer;
fill: ${t.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideLeft.clickable {
cursor: pointer;
fill: ${t.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideRight.clickable {
cursor: pointer;
fill: ${t.taskTextClickableColor} !important;
font-weight: bold;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: ${t.taskTextColor};
}
.task0,
.task1,
.task2,
.task3 {
fill: ${t.taskBkgColor};
stroke: ${t.taskBorderColor};
}
.taskTextOutside0,
.taskTextOutside2
{
fill: ${t.taskTextOutsideColor};
}
.taskTextOutside1,
.taskTextOutside3 {
fill: ${t.taskTextOutsideColor};
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: ${t.activeTaskBkgColor};
stroke: ${t.activeTaskBorderColor};
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: ${t.taskTextDarkColor} !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: ${t.doneTaskBorderColor};
fill: ${t.doneTaskBkgColor};
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: ${t.taskTextDarkColor} !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: ${t.critBorderColor};
fill: ${t.critBkgColor};
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: ${t.critBorderColor};
fill: ${t.activeTaskBkgColor};
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: ${t.critBorderColor};
fill: ${t.doneTaskBkgColor};
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.milestone {
transform: rotate(45deg) scale(0.8,0.8);
}
.milestoneText {
font-style: italic;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: ${t.taskTextDarkColor} !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: ${t.taskTextDarkColor} !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.titleColor||t.textColor};
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
`,"getStyles"),Foe=YOe});var $oe={};ur($oe,{diagram:()=>XOe});var XOe,Goe=_(()=>{"use strict";poe();Noe();Boe();zoe();XOe={parser:doe,db:Moe,renderer:Poe,styles:Foe}});var qoe,Woe=_(()=>{"use strict";V2();it();qoe={parse:s(async t=>{let e=await Bu("info",t);V.debug(e)},"parse")}});var X2,JI=_(()=>{X2="11.0.2"});var JOe,ePe,Hoe,Yoe=_(()=>{"use strict";JI();JOe={version:X2},ePe=s(()=>JOe.version,"getVersion"),Hoe={getVersion:ePe}});var Bo,p0=_(()=>{"use strict";Xt();gt();Bo=s(t=>{let{securityLevel:e}=le(),r=Me("body");if(e==="sandbox"){let a=Me(`#i${t}`).node()?.contentDocument??document;r=Me(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var tPe,Xoe,joe=_(()=>{"use strict";it();p0();Un();tPe=s((t,e,r)=>{V.debug(`rendering info diagram
`+t);let n=Bo(e);xr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),Xoe={draw:tPe}});var Koe={};ur(Koe,{diagram:()=>rPe});var rPe,Qoe=_(()=>{"use strict";Woe();Yoe();joe();rPe={parser:qoe,db:Hoe,renderer:Xoe}});var ele,eN,Rw,tN,aPe,sPe,oPe,lPe,cPe,uPe,hPe,Mw,rN=_(()=>{"use strict";it();Ci();Pl();ele=dr.pie,eN={sections:new Map,showData:!1,config:ele},Rw=eN.sections,tN=eN.showData,aPe=structuredClone(ele),sPe=s(()=>structuredClone(aPe),"getConfig"),oPe=s(()=>{Rw=new Map,tN=eN.showData,br()},"clear"),lPe=s(({label:t,value:e})=>{Rw.has(t)||(Rw.set(t,e),V.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),cPe=s(()=>Rw,"getSections"),uPe=s(t=>{tN=t},"setShowData"),hPe=s(()=>tN,"getShowData"),Mw={getConfig:sPe,clear:oPe,setDiagramTitle:an,getDiagramTitle:Qr,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addSection:lPe,getSections:cPe,setShowData:uPe,getShowData:hPe}});var fPe,tle,rle=_(()=>{"use strict";V2();it();kw();rN();fPe=s((t,e)=>{dg(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),tle={parse:s(async t=>{let e=await Bu("pie",t);V.debug(e),fPe(e,Mw)},"parse")}});var dPe,nle,ile=_(()=>{"use strict";dPe=s(t=>`
.pieCircle{
stroke: ${t.pieStrokeColor};
stroke-width : ${t.pieStrokeWidth};
opacity : ${t.pieOpacity};
}
.pieOuterCircle{
stroke: ${t.pieOuterStrokeColor};
stroke-width: ${t.pieOuterStrokeWidth};
fill: none;
}
.pieTitleText {
text-anchor: middle;
font-size: ${t.pieTitleTextSize};
fill: ${t.pieTitleTextColor};
font-family: ${t.fontFamily};
}
.slice {
font-family: ${t.fontFamily};
fill: ${t.pieSectionTextColor};
font-size:${t.pieSectionTextSize};
// fill: white;
}
.legend text {
fill: ${t.pieLegendTextColor};
font-family: ${t.fontFamily};
font-size: ${t.pieLegendTextSize};
}
`,"getStyles"),nle=dPe});var pPe,mPe,ale,sle=_(()=>{"use strict";Xt();gt();it();p0();Un();pr();pPe=s(t=>{let e=[...t.entries()].map(n=>({label:n[0],value:n[1]})).sort((n,i)=>i.value-n.value);return i3().value(n=>n.value)(e)},"createPieArcs"),mPe=s((t,e,r,n)=>{V.debug(`rendering pie chart
`+t);let i=n.db,a=le(),o=ms(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Bo(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=nc(g.pieOuterStrokeWidth);y??=2;let v=o.textPosition,x=Math.min(d,f)/2-l,b=sl().innerRadius(0).outerRadius(x),k=sl().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let A=i.getSections(),w=pPe(A),T=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],C=au(T);m.selectAll("mySlices").data(w).enter().append("path").attr("d",b).attr("fill",L=>C(L.data.label)).attr("class","pieCircle");let E=0;A.forEach(L=>{E+=L}),m.selectAll("mySlices").data(w).enter().append("text").text(L=>(L.data.value/E*100).toFixed(0)+"%").attr("transform",L=>"translate("+k.centroid(L)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let S=m.selectAll(".legend").data(C.domain()).enter().append("g").attr("class","legend").attr("transform",(L,P)=>{let M=u+h,F=M*C.domain().length/2,I=12*u,O=P*M-F;return"translate("+I+","+O+")"});S.append("rect").attr("width",u).attr("height",u).style("fill",C).style("stroke",C),S.data(w).append("text").attr("x",u+h).attr("y",u-h).text(L=>{let{label:P,value:M}=L.data;return i.getShowData()?`${P} [${M}]`:P});let R=Math.max(...S.selectAll("text").nodes().map(L=>L?.getBoundingClientRect().width??0)),D=d+l+u+h+R;p.attr("viewBox",`0 0 ${D} ${f}`),xr(p,f,D,o.useMaxWidth)},"draw"),ale={draw:mPe}});var ole={};ur(ole,{diagram:()=>gPe});var gPe,lle=_(()=>{"use strict";rle();rN();ile();sle();gPe={parser:tle,db:Mw,renderer:ale,styles:nle}});var nN,hle,fle=_(()=>{"use strict";nN=function(){var t=s(function(Ie,Ne,Be,ze){for(Be=Be||{},ze=Ie.length;ze--;Be[Ie[ze]]=Ne);return Be},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],o=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],k=[1,19],A=[1,20],w=[1,21],T=[1,22],C=[1,24],E=[1,25],S=[1,26],R=[1,27],D=[1,28],L=[1,29],P=[1,32],M=[1,33],F=[1,34],I=[1,39],O=[1,40],z=[1,42],N=[1,44],U=[1,62],$=[1,61],W=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],ee=[1,65],te=[1,66],ce=[1,67],Z=[1,68],fe=[1,69],ne=[1,70],H=[1,71],Q=[1,72],K=[1,73],re=[1,74],ie=[1,75],ye=[1,76],j=[4,5,6,7,8,9,10,11,12,13,14,15,18],De=[1,90],oe=[1,91],Re=[1,92],Pe=[1,99],Se=[1,93],Ue=[1,96],Oe=[1,94],_e=[1,95],he=[1,97],q=[1,98],se=[1,102],ue=[10,55,56,57],X=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ae={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER"
`+Qe.showPosition()+`
Expecting `+ci.join(", ")+", got '"+(this.terminals_[ot]||ot)+"'":Pa="Parse error on line "+(or+1)+": Unexpected "+(ot==ut?"end of input":"'"+(this.terminals_[ot]||ot)+"'"),this.parseError(Pa,{text:Qe.match,token:this.terminals_[ot]||ot,line:Qe.yylineno,loc:yt,expected:ci})}if(Bt[0]instanceof Array&&Bt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+vt+", token: "+ot);switch(Bt[0]){case 1:ze.push(ot),Fe.push(Qe.yytext),we.push(Qe.yylloc),ze.push(Bt[1]),ot=null,fr?(ot=fr,fr=null):(Cr=Qe.yyleng,We=Qe.yytext,or=Qe.yylineno,yt=Qe.yylloc,Ut>0&&Ut--);break;case 2:if(Tn=this.productions_[Bt[1]][1],rr.$=Fe[Fe.length-Tn],rr._$={first_line:we[we.length-(Tn||1)].first_line,last_line:we[we.length-1].last_line,first_column:we[we.length-(Tn||1)].first_column,last_column:we[we.length-1].last_column},Et&&(rr._$.range=[we[we.length-(Tn||1)].range[0],we[we.length-1].range[1]]),zi=this.performAction.apply(rr,[We,Cr,or,Dt.yy,Bt[1],Fe,we].concat(Rt)),typeof zi<"u")return zi;Tn&&(ze=ze.slice(0,-1*Tn*2),Fe=Fe.slice(0,-1*Tn),we=we.slice(0,-1*Tn)),ze.push(this.productions_[Bt[1]][0]),Fe.push(rr.$),we.push(rr._$),Ki=Je[ze[ze.length-2]][ze[ze.length-1]],ze.push(Ki);break;case 3:return!0}}return!0},"parse")},pe=function(){var Ie={EOF:1,parseError:s(function(Be,ze){if(this.yy.parser)this.yy.parser.parseError(Be,ze);else throw new Error(Be)},"parseError"),setInput:s(function(Ne,Be){return this.yy=Be||this.yy||{},this._input=Ne,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Ne=this._input[0];this.yytext+=Ne,this.yyleng++,this.offset++,this.match+=Ne,this.matched+=Ne;var Be=Ne.match(/(?:\r\n?|\n).*/g);return Be?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ne},"input"),unput:s(function(Ne){var Be=Ne.length,ze=Ne.split(/(?:\r\n?|\n)/g);this._input=Ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Be),this.offset-=Be;var qe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ze.length-1&&(this.yylineno-=ze.length-1);var Fe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ze?(ze.length===qe.length?this.yylloc.first_column:0)+qe[qe.length-ze.length].length-ze[0].length:this.yylloc.first_column-Be},this.options.ranges&&(this.yylloc.range=[Fe[0],Fe[0]+this.yyleng-Be]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Ne){this.unput(this.match.slice(Ne))},"less"),pastInput:s(function(){var Ne=this.matched.substr(0,this.matched.length-this.match.length);return(Ne.length>20?"...":"")+Ne.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Ne=this.match;return Ne.length<20&&(Ne+=this._input.substr(0,20-Ne.length)),(Ne.substr(0,20)+(Ne.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Ne=this.pastInput(),Be=new Array(Ne.length+1).join("-");return Ne+this.upcomingInput()+`
`+Be+"^"},"showPosition"),test_match:s(function(Ne,Be){var ze,qe,Fe;if(this.options.backtrack_lexer&&(Fe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Fe.yylloc.range=this.yylloc.range.slice(0))),qe=Ne[0].match(/(?:\r\n?|\n).*/g),qe&&(this.yylineno+=qe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:qe?qe[qe.length-1].length-qe[qe.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],ze=this.performAction.call(this,this.yy,this,Be,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ze)return ze;if(this._backtrack){for(var we in Fe)this[we]=Fe[we];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ne,Be,ze,qe;this._more||(this.yytext="",this.match="");for(var Fe=this._currentRules(),we=0;we<Fe.length;we++)if(ze=this._input.match(this.rules[Fe[we]]),ze&&(!Be||ze[0].length>Be[0].length)){if(Be=ze,qe=we,this.options.backtrack_lexer){if(Ne=this.test_match(ze,Fe[we]),Ne!==!1)return Ne;if(this._backtrack){Be=!1;continue}else return!1}else if(!this.options.flex)break}return Be?(Ne=this.test_match(Be,Fe[qe]),Ne!==!1?Ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var Be=this.next();return Be||this.lex()},"lex"),begin:s(function(Be){this.conditionStack.push(Be)},"begin"),popState:s(function(){var Be=this.conditionStack.length-1;return Be>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(Be){return Be=this.conditionStack.length-1-Math.abs(Be||0),Be>=0?this.conditionStack[Be]:"INITIAL"},"topState"),pushState:s(function(Be){this.begin(Be)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(Be,ze,qe,Fe){var we=Fe;switch(qe){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return Ie}();ae.lexer=pe;function de(){this.yy={}}return s(de,"Parser"),de.prototype=ae,ae.Parser=de,new de}();nN.parser=nN;hle=nN});var Ja,Iw,dle=_(()=>{"use strict";Xt();Pl();it();vb();Ja=j0(),Iw=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefau
`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=Me("#i"+e));let d=(u==="sandbox"?Me(h.nodes()[0].contentDocument.body):Me("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;xr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),k=p.append("g").attr("class","labels"),A=p.append("g").attr("class","title");y.title&&A.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",o(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",E=>E.x1).attr("y1",E=>E.y1).attr("x2",E=>E.x2).attr("y2",E=>E.y2).style("stroke",E=>E.strokeFill).style("stroke-width",E=>E.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",E=>E.x).attr("y",E=>E.y).attr("width",E=>E.width).attr("height",E=>E.height).attr("fill",E=>E.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",E=>E.text.fill).attr("font-size",E=>E.text.fontSize).attr("dominant-baseline",E=>i(E.text.horizontalPos)).attr("text-anchor",E=>a(E.text.verticalPos)).attr("transform",E=>o(E.text)).text(E=>E.text.text),k.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(E=>E.text).attr("fill",E=>E.fill).attr("font-size",E=>E.fontSize).attr("dominant-baseline",E=>i(E.horizontalPos)).attr("text-anchor",E=>a(E.verticalPos)).attr("transform",E=>o(E));let C=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",E=>E.x).attr("cy",E=>E.y).attr("r",E=>E.radius).attr("fill",E=>E.fill).attr("stroke",E=>E.strokeColor).attr("stroke-width",E=>E.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(E=>E.text.text).attr("fill",E=>E.text.fill).attr("font-size",E=>E.text.fontSize).attr("dominant-baseline",E=>i(E.text.horizontalPos)).attr("text-anchor",E=>a(E.text.verticalPos)).attr("transform",E=>o(E.text))},"draw"),xle={draw:NPe}});var kle={};ur(kle,{diagram:()=>OPe});var OPe,wle=_(()=>{"use strict";fle();vle();ble();OPe={parser:hle,db:yle,renderer:xle,styles:s(()=>"","styles")}});var sN,Cle,Sle=_(()=>{"use strict";sN=function(){var t=s(function(F,I,O,z){for(O=O||{},z=F.length;z--;O[F[z]]=I);return O},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],o=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],k=[1,37],A=[1,43],w=[1,42],T=[1,47],C=[1,50],E=[1,10,12,14,16,18,19,21,23,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],R=[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],D=[1,64],L={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",
`+Q.showPosition()+`
Expecting `+ue.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":X="Parse error on line "+(te+1)+": Unexpected "+(oe==ne?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(X,{text:Q.match,token:this.terminals_[oe]||oe,line:Q.yylineno,loc:ie,expected:ue})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+oe);switch(Se[0]){case 1:z.push(oe),U.push(Q.yytext),$.push(Q.yylloc),z.push(Se[1]),oe=null,Re?(oe=Re,Re=null):(ce=Q.yyleng,ee=Q.yytext,te=Q.yylineno,ie=Q.yylloc,Z>0&&Z--);break;case 2:if(q=this.productions_[Se[1]][1],_e.$=U[U.length-q],_e._$={first_line:$[$.length-(q||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(q||1)].first_column,last_column:$[$.length-1].last_column},ye&&(_e._$.range=[$[$.length-(q||1)].range[0],$[$.length-1].range[1]]),Oe=this.performAction.apply(_e,[ee,ce,te,K.yy,Se[1],U,$].concat(H)),typeof Oe<"u")return Oe;q&&(z=z.slice(0,-1*q*2),U=U.slice(0,-1*q),$=$.slice(0,-1*q)),z.push(this.productions_[Se[1]][0]),U.push(_e.$),$.push(_e._$),se=W[z[z.length-2]][z[z.length-1]],z.push(se);break;case 3:return!0}}return!0},"parse")},P=function(){var F={EOF:1,parseError:s(function(O,z){if(this.yy.parser)this.yy.parser.parseError(O,z);else throw new Error(O)},"parseError"),setInput:s(function(I,O){return this.yy=O||this.yy||{},this._input=I,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var O=I.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},"input"),unput:s(function(I){var O=I.length,z=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var N=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.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:z?(z.length===N.length?this.yylloc.first_column:0)+N[N.length-z.length].length-z[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(I){this.unput(this.match.slice(I))},"less"),pastInput:s(function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var I=this.pastInput(),O=new Array(I.length+1).join("-");return I+this.upcomingInput()+`
`+O+"^"},"showPosition"),test_match:s(function(I,O){var z,N,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))),N=I[0].match(/(?:\r\n?|\n).*/g),N&&(this.yylineno+=N.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:N?N[N.length-1].length-N[N.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+I[0].length},this.yytext+=I[0],this.match+=I[0],this.matches=I,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(I[0].length),this.matched+=I[0],z=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var $ in U)this[$]=U[$];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,O,z,N;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),$=0;$<U.length;$++)if(z=this._input.match(this.rules[U[$]]),z&&(!O||z[0].length>O[0].length)){if(O=z,N=$,this.options.backtrack_lexer){if(I=this.test_match(z,U[$]),I!==!1)return I;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(I=this.test_match(O,U[N]),I!==!1?I:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var O=this.next();return O||this.lex()},"lex"),begin:s(function(O){this.conditionStack.push(O)},"begin"),popState:s(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:s(function(O){this.begin(O)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(O,z,N,U){var $=U;switch(N){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";break;case 17:return this.pushState("axis_data"),"Y_AXIS";break;case 18:return this.pushState("axis_band_data"),24;break;case 19:return 31;case 20:return this.pushState("data"),16;break;case 21:return this.pushState("data"),18;break;case 22:return this.pushState("data_inner"),24;break;case 23:return 27;case 24:return this.popState(),26;break;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}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,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 F}();L.lexer=P;function M(){this.yy={}}return s(M,"Parser")
`+t);let f=Bo(e),d=f.append("g").attr("class","main"),p=d.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");xr(f,o.height,o.width,!0),f.attr("viewBox",`0 0 ${o.width} ${o.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(f.append("g").attr("class","mermaid-tmp-group"));let m=i.getDrawableElem(),g={};function y(v){let x=d,b="";for(let[k]of v.entries()){let A=d;k>0&&g[b]&&(A=g[b]),b+=v[k],x=g[b],x||(x=g[b]=A.append("g").attr("class",v[k]))}return x}s(y,"getGroup");for(let v of m){if(v.data.length===0)continue;let x=y(v.groupTexts);switch(v.type){case"rect":x.selectAll("rect").data(v.data).enter().append("rect").attr("x",b=>b.x).attr("y",b=>b.y).attr("width",b=>b.width).attr("height",b=>b.height).attr("fill",b=>b.fill).attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break;case"text":x.selectAll("text").data(v.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",b=>b.fill).attr("font-size",b=>b.fontSize).attr("dominant-baseline",b=>l(b.verticalPos)).attr("text-anchor",b=>u(b.horizontalPos)).attr("transform",b=>h(b)).text(b=>b.text);break;case"path":x.selectAll("path").data(v.data).enter().append("path").attr("d",b=>b.path).attr("fill",b=>b.fill?b.fill:"none").attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break}}},"draw"),Yle={draw:ZPe}});var jle={};ur(jle,{diagram:()=>JPe});var JPe,Kle=_(()=>{"use strict";Sle();Hle();Xle();JPe={parser:Cle,db:Wle,renderer:Yle}});var gN,Jle,ece=_(()=>{"use strict";gN=function(){var t=s(function(ce,Z,fe,ne){for(fe=fe||{},ne=ce.length;ne--;fe[ce[ne]]=Z);return fe},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],o=[1,18],l=[2,7],u=[1,22],h=[1,23],f=[1,24],d=[1,25],p=[1,26],m=[1,27],g=[1,20],y=[1,28],v=[1,29],x=[62,63],b=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],k=[1,47],A=[1,48],w=[1,49],T=[1,50],C=[1,51],E=[1,52],S=[1,53],R=[53,54],D=[1,64],L=[1,60],P=[1,61],M=[1,62],F=[1,63],I=[1,65],O=[1,69],z=[1,70],N=[1,67],U=[1,68],$=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],W={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,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,
`+Se.showPosition()+`
Expecting `+Fe.join(", ")+", got '"+(this.terminals_[ue]||ue)+"'":we="Parse error on line "+(ye+1)+": Unexpected "+(ue==Re?"end of input":"'"+(this.terminals_[ue]||ue)+"'"),this.parseError(we,{text:Se.match,token:this.terminals_[ue]||ue,line:Se.yylineno,loc:_e,expected:Fe})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ae+", token: "+ue);switch(pe[0]){case 1:ne.push(ue),Q.push(Se.yytext),K.push(Se.yylloc),ne.push(pe[1]),ue=null,X?(ue=X,X=null):(j=Se.yyleng,ie=Se.yytext,ye=Se.yylineno,_e=Se.yylloc,De>0&&De--);break;case 2:if(ze=this.productions_[pe[1]][1],Ne.$=Q[Q.length-ze],Ne._$={first_line:K[K.length-(ze||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(ze||1)].first_column,last_column:K[K.length-1].last_column},he&&(Ne._$.range=[K[K.length-(ze||1)].range[0],K[K.length-1].range[1]]),Ie=this.performAction.apply(Ne,[ie,j,ye,Ue.yy,pe[1],Q,K].concat(Pe)),typeof Ie<"u")return Ie;ze&&(ne=ne.slice(0,-1*ze*2),Q=Q.slice(0,-1*ze),K=K.slice(0,-1*ze)),ne.push(this.productions_[pe[1]][0]),Q.push(Ne.$),K.push(Ne._$),qe=re[ne[ne.length-2]][ne[ne.length-1]],ne.push(qe);break;case 3:return!0}}return!0},"parse")},ee=function(){var ce={EOF:1,parseError:s(function(fe,ne){if(this.yy.parser)this.yy.parser.parseError(fe,ne);else throw new Error(fe)},"parseError"),setInput:s(function(Z,fe){return this.yy=fe||this.yy||{},this._input=Z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Z=this._input[0];this.yytext+=Z,this.yyleng++,this.offset++,this.match+=Z,this.matched+=Z;var fe=Z.match(/(?:\r\n?|\n).*/g);return fe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Z},"input"),unput:s(function(Z){var fe=Z.length,ne=Z.split(/(?:\r\n?|\n)/g);this._input=Z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-fe),this.offset-=fe;var H=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ne.length-1&&(this.yylineno-=ne.length-1);var Q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ne?(ne.length===H.length?this.yylloc.first_column:0)+H[H.length-ne.length].length-ne[0].length:this.yylloc.first_column-fe},this.options.ranges&&(this.yylloc.range=[Q[0],Q[0]+this.yyleng-fe]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Z){this.unput(this.match.slice(Z))},"less"),pastInput:s(function(){var Z=this.matched.substr(0,this.matched.length-this.match.length);return(Z.length>20?"...":"")+Z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Z=this.match;return Z.length<20&&(Z+=this._input.substr(0,20-Z.length)),(Z.substr(0,20)+(Z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Z=this.pastInput(),fe=new Array(Z.length+1).join("-");return Z+this.upcomingInput()+`
`+fe+"^"},"showPosition"),test_match:s(function(Z,fe){var ne,H,Q;if(this.options.backtrack_lexer&&(Q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Q.yylloc.range=this.yylloc.range.slice(0))),H=Z[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Z[0].length},this.yytext+=Z[0],this.match+=Z[0],this.matches=Z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Z[0].length),this.matched+=Z[0],ne=this.performAction.call(this,this.yy,this,fe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var K in Q)this[K]=Q[K];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Z,fe,ne,H;this._more||(this.yytext="",this.match="");for(var Q=this._currentRules(),K=0;K<Q.length;K++)if(ne=this._input.match(this.rules[Q[K]]),ne&&(!fe||ne[0].length>fe[0].length)){if(fe=ne,H=K,this.options.backtrack_lexer){if(Z=this.test_match(ne,Q[K]),Z!==!1)return Z;if(this._backtrack){fe=!1;continue}else return!1}else if(!this.options.flex)break}return fe?(Z=this.test_match(fe,Q[H]),Z!==!1?Z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var fe=this.next();return fe||this.lex()},"lex"),begin:s(function(fe){this.conditionStack.push(fe)},"begin"),popState:s(function(){var fe=this.conditionStack.length-1;return fe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(fe){return fe=this.conditionStack.length-1-Math.abs(fe||0),fe>=0?this.conditionStack[fe]:"INITIAL"},"topState"),pushState:s(function(fe){this.begin(fe)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(fe,ne,H,Q){var K=Q;switch(H){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 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 ne.yytext=ne.yytext.trim(),62;break}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\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 ce}();W.lexer=ee;function te(){this.yy={}}return s(te,"Parser"),te.prototype=W,W.Parser=te,new te}();gN.parser=gN;Jle=gN});var yN,Ds,Z2,af,J2,nBe,iBe,aBe,sBe,oBe,lBe,cBe,uBe,hBe,fBe,dBe,pBe,mBe,gBe,yBe,vBe,xBe,tce,rce=_(()=>{"use strict";gt();it();Ci();yN=[],Ds={},Z2=new Map,af={},J2=new Map,nBe={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},iBe={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},aBe={VERIFY_ANALYSIS:"Analysis",VERIF
marker {
fill: ${t.relationColor};
stroke: ${t.relationColor};
}
marker.cross {
stroke: ${t.lineColor};
}
svg {
font-family: ${t.fontFamily};
font-size: ${t.fontSize};
}
.reqBox {
fill: ${t.requirementBackground};
fill-opacity: 1.0;
stroke: ${t.requirementBorderColor};
stroke-width: ${t.requirementBorderSize};
}
.reqTitle, .reqLabel{
fill: ${t.requirementTextColor};
}
.reqLabelBox {
fill: ${t.relationLabelBackground};
fill-opacity: 1.0;
}
.req-title-line {
stroke: ${t.requirementBorderColor};
stroke-width: ${t.requirementBorderSize};
}
.relationshipLine {
stroke: ${t.relationColor};
stroke-width: 1;
}
.relationshipLabel {
fill: ${t.relationLabelColor};
}
`,"getStyles"),nce=bBe});var vN,kBe,xN,ace=_(()=>{"use strict";vN={CONTAINS:"contains",ARROW:"arrow"},kBe=s((t,e)=>{let r=t.append("defs").append("marker").attr("id",vN.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");r.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),r.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),r.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",vN.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0
L${e.line_height},${e.line_height/2}
M${e.line_height},${e.line_height/2}
L0,${e.line_height}`).attr("stroke-width",1)},"insertLineEndings"),xN={ReqMarkers:vN,insertLineEndings:kBe}});var Qn,sce,oce,lce,cce,wBe,TBe,EBe,CBe,SBe,_Be,bg,ABe,uce,hce=_(()=>{"use strict";Xt();Dd();la();gt();it();Un();Qt();ace();Qn={},sce=0,oce=s((t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Qn.rect_min_width+"px").attr("height",Qn.rect_min_height+"px"),"newRectNode"),lce=s((t,e,r)=>{let n=Qn.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",n).attr("y",Qn.rect_padding).attr("dominant-baseline","hanging"),a=0;r.forEach(h=>{a==0?i.append("tspan").attr("text-anchor","middle").attr("x",Qn.rect_min_width/2).attr("dy",0).text(h):i.append("tspan").attr("text-anchor","middle").attr("x",Qn.rect_min_width/2).attr("dy",Qn.line_height*.75).text(h),a++});let o=1.5*Qn.rect_padding,l=a*Qn.line_height*.75,u=o+l;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Qn.rect_min_width).attr("y1",u).attr("y2",u),{titleNode:i,y:u}},"newTitleNode"),cce=s((t,e,r,n)=>{let i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",Qn.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),a=0,o=30,l=[];return r.forEach(u=>{let h=u.length;for(;h>o&&a<3;){let f=u.substring(0,o);u=u.substring(o,u.length),h=u.length,l[l.length]=f,a++}if(a==3){let f=l[l.length-1];l[l.length-1]=f.substring(0,f.length-4)+"..."}else l[l.length]=u;a=0}),l.forEach(u=>{i.append("tspan").attr("x",Qn.rect_padding).attr("dy",Qn.line_height).text(u)}),i},"newBodyNode"),wBe=s((t,e,r,n)=>{let i=e.node().getTotalLength(),a=e.node().getPointAtLength(i*.5),o="rel"+sce;sce++;let u=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-u.width/2).attr("y",a.y-u.height/2).attr("width",u.width).attr("height",u.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),TBe=s(function(t,e,r,n,i){let a=r.edge(bg(e.src),bg(e.dst)),o=ra().x(function(u){return u.x}).y(function(u){return u.y}),l=t.insert("path","#"+n).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==i.db.Relationships.CONTAINS?l.attr("marker-start","url("+$e.getUrl(Qn.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(l.attr("stroke-dasharray","10,7"),l.attr("marker-end","url("+$e.getUrl(Qn.arrowMarkerAbsolute)+"#"+xN.ReqMarkers.ARROW+"_line_ending)")),wBe(t,l,Qn,`<<${e.type}>>`)},"drawRelationshipFromLayout"),EBe=s((t,e,r)=>{t.forEach((n,i)=>{i=bg(i),V.info("Added new requirement: ",i);let a=r.append("g").attr("id",i),o="req-"+i,l=oce(a,o),u=[],h=lce(a,i+"_title",[`<<${n.type}>>`,`${n.name}`]);u.push(h.titleNode);let f=cce(a,i+"_body",[`Id: ${n.id}`,`Text: ${n.text}`,`Risk: ${n.risk}`,`Verification: ${n.verifyMethod}`],h.y);u.push(f);let d=l.node().getBBox();e.setNode(i,{width:d.width,height:d.height,shape:"rect",id:i})})},"drawReqs"),CBe=s((t,e,r)=>{t.forEach((n,i)=>{let a=bg(i),o=r.append("g").attr("id",a),l="element-"+a,u=oce(o,l),h=[],f=lce(o,l+"_title",["<<Element>>",`${i}`]);h.push(f.titleNode);let d=cce(o,l+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],f.y);h.push(d);let p=u.node().getBBox();e.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})})},"drawElements"),SBe=s((t,e)=>(t.forEach(function(r){let n=bg(r.src),i=bg(r.dst);e.setEdge(n,i,{relationship:r})}),t),"addRelationships"),_Be=s(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&(t.select("#"+r),t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )"))})},"adjustEntities"),bg=s(t=>t.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),ABe=s((t,e,r,n)=>{Qn=le().requirement;let i=Qn.securityLevel,a;i==="sandbox"&&(a=Me("#i"+e));let l=(i==="sandbox"?Me(a.nodes()[0].contentDocument.body):Me("body")).select(`[id='${e}']`);xN.insertLineEndings(l,Qn)
`+he.showPosition()+`
Expecting `+or.join(", ")+", got '"+(this.terminals_[de]||de)+"'":Cr="Parse error on line "+(Re+1)+": Unexpected "+(de==Oe?"end of input":"'"+(this.terminals_[de]||de)+"'"),this.parseError(Cr,{text:he.match,token:this.terminals_[de]||de,line:he.yylineno,loc:ue,expected:or})}if(Be[0]instanceof Array&&Be.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ne+", token: "+de);switch(Be[0]){case 1:re.push(de),ye.push(he.yytext),j.push(he.yylloc),re.push(Be[1]),de=null,Ie?(de=Ie,Ie=null):(Pe=he.yyleng,oe=he.yytext,Re=he.yylineno,ue=he.yylloc,Se>0&&Se--);break;case 2:if(Je=this.productions_[Be[1]][1],Fe.$=ye[ye.length-Je],Fe._$={first_line:j[j.length-(Je||1)].first_line,last_line:j[j.length-1].last_line,first_column:j[j.length-(Je||1)].first_column,last_column:j[j.length-1].last_column},X&&(Fe._$.range=[j[j.length-(Je||1)].range[0],j[j.length-1].range[1]]),qe=this.performAction.apply(Fe,[oe,Pe,Re,q.yy,Be[1],ye,j].concat(_e)),typeof qe<"u")return qe;Je&&(re=re.slice(0,-1*Je*2),ye=ye.slice(0,-1*Je),j=j.slice(0,-1*Je)),re.push(this.productions_[Be[1]][0]),ye.push(Fe.$),j.push(Fe._$),We=De[re[re.length-2]][re[re.length-1]],re.push(We);break;case 3:return!0}}return!0},"parse")},fe=function(){var H={EOF:1,parseError:s(function(K,re){if(this.yy.parser)this.yy.parser.parseError(K,re);else throw new Error(K)},"parseError"),setInput:s(function(Q,K){return this.yy=K||this.yy||{},this._input=Q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var Q=this._input[0];this.yytext+=Q,this.yyleng++,this.offset++,this.match+=Q,this.matched+=Q;var K=Q.match(/(?:\r\n?|\n).*/g);return K?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Q},"input"),unput:s(function(Q){var K=Q.length,re=Q.split(/(?:\r\n?|\n)/g);this._input=Q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-K),this.offset-=K;var ie=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),re.length-1&&(this.yylineno-=re.length-1);var ye=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:re?(re.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-re.length].length-re[0].length:this.yylloc.first_column-K},this.options.ranges&&(this.yylloc.range=[ye[0],ye[0]+this.yyleng-K]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(Q){this.unput(this.match.slice(Q))},"less"),pastInput:s(function(){var Q=this.matched.substr(0,this.matched.length-this.match.length);return(Q.length>20?"...":"")+Q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var Q=this.match;return Q.length<20&&(Q+=this._input.substr(0,20-Q.length)),(Q.substr(0,20)+(Q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var Q=this.pastInput(),K=new Array(Q.length+1).join("-");return Q+this.upcomingInput()+`
`+K+"^"},"showPosition"),test_match:s(function(Q,K){var re,ie,ye;if(this.options.backtrack_lexer&&(ye={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&&(ye.yylloc.range=this.yylloc.range.slice(0))),ie=Q[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Q[0].length},this.yytext+=Q[0],this.match+=Q[0],this.matches=Q,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(Q[0].length),this.matched+=Q[0],re=this.performAction.call(this,this.yy,this,K,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),re)return re;if(this._backtrack){for(var j in ye)this[j]=ye[j];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Q,K,re,ie;this._more||(this.yytext="",this.match="");for(var ye=this._currentRules(),j=0;j<ye.length;j++)if(re=this._input.match(this.rules[ye[j]]),re&&(!K||re[0].length>K[0].length)){if(K=re,ie=j,this.options.backtrack_lexer){if(Q=this.test_match(re,ye[j]),Q!==!1)return Q;if(this._backtrack){K=!1;continue}else return!1}else if(!this.options.flex)break}return K?(Q=this.test_match(K,ye[ie]),Q!==!1?Q:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var K=this.next();return K||this.lex()},"lex"),begin:s(function(K){this.conditionStack.push(K)},"begin"),popState:s(function(){var K=this.conditionStack.length-1;return K>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(K){return K=this.conditionStack.length-1-Math.abs(K||0),K>=0?this.conditionStack[K]:"INITIAL"},"topState"),pushState:s(function(K){this.begin(K)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(K,re,ie,ye){var j=ye;switch(ie){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;break;case 8:return this.begin("ID"),50;break;case 9:return this.begin("ID"),52;break;case 10:return 13;case 11:return this.begin("ID"),53;break;case 12:return re.yytext=re.yytext.trim(),this.begin("ALIAS"),70;break;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 14:return this.popState(),this.popState(),5;break;case 15:return this.begin("LINE"),36;break;case 16:return this.begin("LINE"),37;break;case 17:return this.begin("LINE"),38;break;case 18:return this.begin("LINE"),39;break;case 19:return this.begin("LINE"),49;break;case 20:return this.begin("LINE"),41;break;case 21:return this.begin("LINE"),43;break;case 22:return this.begin("LINE"),48;break;case 23:return this.begin("LINE"),44;break;case 24:return this.begin("LINE"),47;break;case 25:return this.begin("LINE"),46;break;case 26:return this.popState(),15;break;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;break;case 37:return this.begin("ID"),23;break;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;break;case 41:return this.popState(),"acc_title_value";break;case 42:return this.begin("acc_descr"),33;break;case 43:return this.popState(),"acc_descr_value";break;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 re.yytext=re.yytext.trim(),70;break;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 66:return 5;case 67:return"INVALID"}},"anonymous"),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,/^(?:->)/i,/^(?:-
stroke: ${t.actorBorder};
fill: ${t.actorBkg};
}
text.actor > tspan {
fill: ${t.actorTextColor};
stroke: none;
}
.actor-line {
stroke: ${t.actorLineColor};
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: none;
stroke: ${t.signalColor};
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: 2, 2;
stroke: ${t.signalColor};
}
#arrowhead path {
fill: ${t.signalColor};
stroke: ${t.signalColor};
}
.sequenceNumber {
fill: ${t.sequenceNumberColor};
}
#sequencenumber {
fill: ${t.signalColor};
}
#crosshead path {
fill: ${t.signalColor};
stroke: ${t.signalColor};
}
.messageText {
fill: ${t.signalTextColor};
stroke: none;
}
.labelBox {
stroke: ${t.labelBoxBorderColor};
fill: ${t.labelBoxBkgColor};
}
.labelText, .labelText > tspan {
fill: ${t.labelTextColor};
stroke: none;
}
.loopText, .loopText > tspan {
fill: ${t.loopTextColor};
stroke: none;
}
.loopLine {
stroke-width: 2px;
stroke-dasharray: 2, 2;
stroke: ${t.labelBoxBorderColor};
fill: ${t.labelBoxBorderColor};
}
.note {
//stroke: #decc93;
stroke: ${t.noteBorderColor};
fill: ${t.noteBkgColor};
}
.noteText, .noteText > tspan {
fill: ${t.noteTextColor};
stroke: none;
}
.activation0 {
fill: ${t.activationBkgColor};
stroke: ${t.activationBorderColor};
}
.activation1 {
fill: ${t.activationBkgColor};
stroke: ${t.activationBorderColor};
}
.activation2 {
fill: ${t.activationBkgColor};
stroke: ${t.activationBorderColor};
}
.actorPopupMenu {
position: absolute;
}
.actorPopupMenuPanel {
position: absolute;
fill: ${t.actorBkg};
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
}
.actor-man line {
stroke: ${t.actorBorder};
fill: ${t.actorBkg};
}
.actor-man circle, line {
stroke: ${t.actorBorder};
fill: ${t.actorBkg};
stroke-width: 2px;
}
`,"getStyles"),Sce=rFe});var EN,sf,Lce,Dce,nFe,Ace,CN,iFe,aFe,rx,y0,Rce,Ac,SN,sFe,oFe,lFe,cFe,uFe,hFe,fFe,Mce,dFe,pFe,mFe,gFe,yFe,vFe,xFe,Ice,bFe,_N,kFe,Zn,Nce=_(()=>{"use strict";Qt();Iy();pr();EN=ka(_p(),1);zs();sf=18*2,Lce="actor-top",Dce="actor-bottom",nFe="actor-box",Ace="actor-man",CN=s(function(t,e){return ad(t,e)},"drawRect"),iFe=s(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,o=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+o+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,EN.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),kFe(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),aFe=s(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),rx=s(async function(t,e,r=null){let n=t.append("foreignObject"),i=await hh(e.text,_r()),o=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(o.height)).attr("width",Math.round(o.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",o.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-o.width/2)).attr("y",Math.round(u.y+u.height/2-o.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-o.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-o.height))}return[n]},"drawKatex"),y0=s(function(t,e){let r=0,n=0,i=e.text.split($e.lineBreakRegex),[a,o]=nc(e.fontSize),l=[],u=0,h=s(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=s(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=s(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=s(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),o!==void 0&&p.style("font-size",o),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||sA;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Rce=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");return n.attr("point
`+Fe.showPosition()+`
Expecting `+ot.join(", ")+", got '"+(this.terminals_[ar]||ar)+"'":fr="Parse error on line "+(de+1)+": Unexpected "+(ar==ze?"end of input":"'"+(this.terminals_[ar]||ar)+"'"),this.parseError(fr,{text:Fe.match,token:this.terminals_[ar]||ar,line:Fe.yylineno,loc:We,expected:ot})}if(Qe[0]instanceof Array&&Qe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Rt+", token: "+ar);switch(Qe[0]){case 1:q.push(ar),ue.push(Fe.yytext),X.push(Fe.yylloc),q.push(Qe[1]),ar=null,ut?(ar=ut,ut=null):(Ie=Fe.yyleng,pe=Fe.yytext,de=Fe.yylineno,We=Fe.yylloc,Ne>0&&Ne--);break;case 2:if(pt=this.productions_[Qe[1]][1],yt.$=ue[ue.length-pt],yt._$={first_line:X[X.length-(pt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(pt||1)].first_column,last_column:X[X.length-1].last_column},or&&(yt._$.range=[X[X.length-(pt||1)].range[0],X[X.length-1].range[1]]),qt=this.performAction.apply(yt,[pe,Ie,de,we.yy,Qe[1],ue,X].concat(qe)),typeof qt<"u")return qt;pt&&(q=q.slice(0,-1*pt*2),ue=ue.slice(0,-1*pt),X=X.slice(0,-1*pt)),q.push(this.productions_[Qe[1]][0]),ue.push(yt.$),X.push(yt._$),Wt=ae[q[q.length-2]][q[q.length-1]],q.push(Wt);break;case 3:return!0}}return!0},"parse")},Se=function(){var Oe={EOF:1,parseError:s(function(he,q){if(this.yy.parser)this.yy.parser.parseError(he,q);else throw new Error(he)},"parseError"),setInput:s(function(_e,he){return this.yy=he||this.yy||{},this._input=_e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var he=_e.match(/(?:\r\n?|\n).*/g);return he?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:s(function(_e){var he=_e.length,q=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-he),this.offset-=he;var 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),q.length-1&&(this.yylineno-=q.length-1);var ue=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:q?(q.length===se.length?this.yylloc.first_column:0)+se[se.length-q.length].length-q[0].length:this.yylloc.first_column-he},this.options.ranges&&(this.yylloc.range=[ue[0],ue[0]+this.yyleng-he]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:s(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var _e=this.pastInput(),he=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+`
`+he+"^"},"showPosition"),test_match:s(function(_e,he){var q,se,ue;if(this.options.backtrack_lexer&&(ue={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ue.yylloc.range=this.yylloc.range.slice(0))),se=_e[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+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_e[0].length),this.matched+=_e[0],q=this.performAction.call(this,this.yy,this,he,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),q)return q;if(this._backtrack){for(var X in ue)this[X]=ue[X];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,he,q,se;this._more||(this.yytext="",this.match="");for(var ue=this._currentRules(),X=0;X<ue.length;X++)if(q=this._input.match(this.rules[ue[X]]),q&&(!he||q[0].length>he[0].length)){if(he=q,se=X,this.options.backtrack_lexer){if(_e=this.test_match(q,ue[X]),_e!==!1)return _e;if(this._backtrack){he=!1;continue}else return!1}else if(!this.options.flex)break}return he?(_e=this.test_match(he,ue[se]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var he=this.next();return he||this.lex()},"lex"),begin:s(function(he){this.conditionStack.push(he)},"begin"),popState:s(function(){var he=this.conditionStack.length-1;return he>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(he){return he=this.conditionStack.length-1-Math.abs(he||0),he>=0?this.conditionStack[he]:"INITIAL"},"topState"),pushState:s(function(he){this.begin(he)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(he,q,se,ue){var X=ue;switch(se){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;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),33;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 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;break;case 29:return this.popState(),8;break;case 30:break;case 31:return this.begin("namespace-body"),37;break;case 32:return this.popState(),39;break;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;break;case 38:return this.popState(),8;break;case 39:break;case 40:return this.popState(),this.popState(),39;break;case 41:return this.begin("class-body"),37;break;case 42:return this.popState(),39;break;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}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(
fill: ${t.nodeBorder||t.classText};
stroke: none;
font-family: ${t.fontFamily};
font-size: 10px;
.title {
font-weight: bolder;
}
}
.nodeLabel, .edgeLabel {
color: ${t.classText};
}
.edgeLabel .label rect {
fill: ${t.mainBkg};
}
.label text {
fill: ${t.classText};
}
.edgeLabel .label span {
background: ${t.mainBkg};
}
.classTitle {
font-weight: bolder;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: 1px;
}
.divider {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
}
g.classGroup line {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: ${t.mainBkg};
opacity: 0.5;
}
.classLabel .label {
fill: ${t.nodeBorder};
font-size: 10px;
}
.relation {
stroke: ${t.lineColor};
stroke-width: 1;
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
.dotted-line{
stroke-dasharray: 1 2;
}
#compositionStart, .composition {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#compositionEnd, .composition {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#dependencyStart, .dependency {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#dependencyStart, .dependency {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#extensionStart, .extension {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#extensionEnd, .extension {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#aggregationStart, .aggregation {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#aggregationEnd, .aggregation {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#lollipopStart, .lollipop {
fill: ${t.mainBkg} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
#lollipopEnd, .lollipop {
fill: ${t.mainBkg} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
.edgeTerminals {
font-size: 11px;
line-height: initial;
}
.classTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
`,"getStyles"),Xw=uze});var Kce,hze,fze,Zce,dze,Qce,jw,Jce=_(()=>{"use strict";Xt();pr();it();Qt();Kce=0,hze=s(function(t,e,r,n,i){let a=s(function(b){switch(b){case i.db.relationType.AGGREGATION:return"aggregation";case i.db.relationType.EXTENSION:return"extension";case i.db.relationType.COMPOSITION:return"composition";case i.db.relationType.DEPENDENCY:return"dependency";case i.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");e.points=e.points.filter(b=>!Number.isNaN(b.y));let o=e.points,l=ra().x(function(b){return b.x}).y(function(b){return b.y}).curve(hs),u=t.append("path").attr("d",l(o)).attr("id","edge"+Kce).attr("class","relation"),h="";n.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),r.relation.lineType==1&&u.attr("class","relation dashed-line"),r.relation.lineType==10&&u.attr("class","relation dotted-line"),r.relation.type1!=="none"&&u.attr("marker-start","url("+h+"#"+a(r.relation.type1)+"Start)"),r.relation.type2!=="none"&&u.attr("marker-end","url("+h+"#"+a(r.relation.type2)+"End)");let f,d,p=e.points.length,m=dt.calcLabelPosition(e.points);f=m.x,d=m.y;let g,y,v,x;if(p%2!==0&&p>1){let b=dt.calcCardinalityPosition(r.relation.type1!=="none",e.points,e.points[0]),k=dt.calcCardinalityPosition(r.relation.type2!=="none",e.points,e.points[p-1]);V.debug("cardinality_1_point "+JSON.stringify(b)),V.debug("cardinality_2_point "+JSON.stringify(k)),g=b.x,y=b.y,v=k.x,x=k.y}if(r.title!==void 0){let b=t.append("g").attr("class","classLabel"),k=b.append("text").attr("class","label").attr("x",f).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=k;let A=k.node().getBBox();b.insert("rect",":first-child").attr("class","box").attr("x",A.x-n.padding/2).attr("y",A.y-n.padding/2).attr("width",A.width+n.padding).attr("height",A.height+n.padding)}V.info("Rendering relation "+JSON.stringify(r)),r.relationTitle1!==void 0&&r.relationTitle1!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",y).attr("fill","black").attr("font-size","6").text(r.relationTitle1),r.relationTitle2!==void 0&&r.relationTitle2!=="none"&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",v).attr("y",x).attr("fill","black").attr("font-size","6").text(r.relationTitle2),Kce++},"drawEdge"),fze=s(function(t,e,r,n){V.debug("Rendering class ",e,r);let i=e.id,a={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",n.db.lookUpDomId(i)).attr("class","classGroup"),l;e.link?l=o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",r.textHeight+r.padding).attr("x",0):l=o.append("text").attr("y",r.textHeight+r.padding).attr("x",0);let u=!0;e.annotations.forEach(function(k){let A=l.append("tspan").text("\xAB"+k+"\xBB");u||A.attr("dy",r.textHeight),u=!1});let h=Zce(e),f=l.append("tspan").text(h).attr("class","title");u||f.attr("dy",r.textHeight);let d=l.node().getBBox().height,p,m,g;if(e.members.length>0){p=o.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin/2).attr("y2",r.padding+d+r.dividerMargin/2);let k=o.append("text").attr("x",r.padding).attr("y",d+r.dividerMargin+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.members.forEach(function(A){Qce(k,A,u,r),u=!1}),m=k.node().getBBox()}if(e.methods.length>0){g=o.append("line").attr("x1",0).attr("y1",r.padding+d+r.dividerMargin+m.height).attr("y2",r.padding+d+r.dividerMargin+m.height);let k=o.append("text").attr("x",r.padding).attr("y",d+2*r.dividerMargin+m.height+r.textHeight).attr("fill","white").attr("class","classText");u=!0,e.methods.forEach(function(A){Qce(k,A,u,r),u=!1})}let y=o.node().getBBox();var v=" ";e.cssClasses.length>0&&(v=v+e.cssClasses.join(" "));let b=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*r.padding).attr("height",y.height+r.padding+.5*r.dividerMargin).attr("class",v).node().getBBox().width;return l.node().childNodes.forEach(fun
`);u.forEach(function(p){V.debug(`Adding line: ${p}`),l.append("tspan").text(p).attr("class","title").attr("dy",r.textHeight)});let h=o.node().getBBox(),d=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*r.padding).attr("height",h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach(function(p){p.setAttribute("x",(d-p.getBBox().width)/2)}),a.width=d,a.height=h.height+u.length*r.textHeight+r.padding+.5*r.dividerMargin,a},"drawNote"),Qce=s(function(t,e,r,n){let{displayText:i,cssStyle:a}=e.getDisplayDetails(),o=t.append("tspan").attr("x",n.padding).text(i);a!==""&&o.attr("style",e.cssStyle),r||o.attr("dy",n.textHeight)},"addTspan"),jw={getClassTitleString:Zce,drawClass:fze,drawEdge:hze,drawNote:dze}});var Qw,Kw,ax,pze,mze,eue,tue=_(()=>{"use strict";Xt();Dd();la();it();Jce();Un();gt();Qw={},Kw=20,ax=s(function(t){let e=Object.entries(Qw).find(r=>r[1].label===t);if(e)return e[0]},"getGraphId"),pze=s(function(t){t.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"),t.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"),t.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"),t.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"),t.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"),t.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"),t.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"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),mze=s(function(t,e,r,n){let i=le().class;Qw={},V.info("Rendering diagram "+t);let a=le().securityLevel,o;a==="sandbox"&&(o=Me("#i"+e));let l=a==="sandbox"?Me(o.nodes()[0].contentDocument.body):Me("body"),u=l.select(`[id='${e}']`);pze(u);let h=new ir({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});let f=n.db.getClasses(),d=[...f.keys()];for(let b of d){let k=f.get(b),A=jw.drawClass(u,k,i,n);Qw[A.id]=A,h.setNode(A.id,A),V.info("Org height: "+A.height)}n.db.getRelations().forEach(function(b){V.info("tjoho"+ax(b.id1)+ax(b.id2)+JSON.stringify(b)),h.setEdge(ax(b.id1),ax(b.id2),{relation:b},b.title||"DEFAULT")}),n.db.getNotes().forEach(function(b){V.debug(`Adding note: ${JSON.stringify(b)}`);let k=jw.drawNote(u,b,i,n);Qw[k.id]=k,h.setNode(k.id,k),b.class&&f.has(b.class)&&h.setEdge(b.id,ax(b.class),{relation:{id1:b.id,id2:b.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),eo(h),h.nodes().forEach(function(b){b!==void 0&&h.node(b)!==void 0&&(V.debug("Node "+b+": "+JSON.stringify(h.node(b))),l.select("#"+(n.db.lookUpDomId(b)||b)).attr("transform","translate("+(h.node(b).x-h.node(b).width/2)+","+(h.node(b).y-h.node(b).height/2)+" )"))}),h.edges().forEach(function(b){b!==void 0&&h.e
outsidePoint: ${JSON.stringify(e)}
insidePoint : ${JSON.stringify(r)}
node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),o=t.width/2,l=r.x<e.x?o-a:o+a,u=t.height/2,h=Math.abs(e.y-r.y),f=Math.abs(e.x-r.x);if(Math.abs(i-e.y)*o>Math.abs(n-e.x)*u){let d=r.y<e.y?e.y-u-i:i-u-e.y;l=f*d/h;let p={x:r.x<e.x?r.x+l:r.x-f+l,y:r.y<e.y?r.y+h-d:r.y-h+d};return l===0&&(p.x=e.x,p.y=e.y),f===0&&(p.x=e.x),h===0&&(p.y=e.y),V.debug(`abc89 topp/bott calc, Q ${h}, q ${d}, R ${f}, r ${l}`,p),p}else{r.x<e.x?l=e.x-o-n:l=n-o-e.x;let d=h*l/f,p=r.x<e.x?r.x+f-l:r.x-f+l,m=r.y<e.y?r.y+d:r.y-d;return V.debug(`sides calc abc89, Q ${h}, q ${d}, R ${f}, r ${l}`,{_x:p,_y:m}),l===0&&(p=e.x,m=e.y),f===0&&(p=e.x),h===0&&(m=e.y),{x:p,y:m}}},"intersection"),wue=s((t,e)=>{V.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Fze(e,a)&&!i){let o=zze(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===o.x&&u.y===o.y}),r.some(u=>u.x===o.x&&u.y===o.y)||r.push(o),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),aT=s(function(t,e,r,n,i,a,o){let l=r.points;V.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(V.debug("to cluster abc88",n[r.toCluster]),l=wue(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(V.debug("from cluster abc88",n[r.fromCluster]),l=wue(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(A=>!Number.isNaN(A.y)),p=hs;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=y5(r),y=ra().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(le().flowchart.arrowMarkerAbsolute||le().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),bue(x,r,b,o,i);let k={};return u&&(k.updatedPath=l),k.originalPath=r.points,k},"insertEdge")});var Eue,Cue,Sue=_(()=>{"use strict";Dd();vv();FN();t5();pue();r5();vue();zN();it();gd();gt();Eue=s(async(t,e,r,n,i,a)=>{V.info("Graph in recursive render: XXX",Mn(e),i);let o=e.graph().rankdir;V.trace("Dir in recursive render - dir:",o);let l=t.insert("g").attr("class","root");e.nodes()?V.info("Recursive render XXX",e.nodes()):V.info("No nodes found for",e),e.edges().length>0&&V.trace("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(g){let y=e.node(g);if(i!==void 0){let v=JSON.parse(JSON.stringify(i.clusterData));V.info("Setting data for cluster XXX (",g,") ",v,i),e.setNode(i.id,v),e.parent(g)||(V.trace("Setting parent",g,i.id),e.setParent(g,i.id,v))}if(V.info("(Insert) Node XXX"+g+": "+JSON.stringify(e.node(g))),y?.clusterNode){V.info("Cluster identified",g,y.width,e.node(g));let{ranksep:v,nodesep:x}=e.graph();y.graph.setGraph({...y.graph.graph(),ranksep:v,nodesep:x});let b=await Eue(d,y.graph,r,n,e.node(g),a),k=b.elem;mn(y,k),y.diff=b.diff||0,V.info("Node bounds (abc123)",g,y,y.width,y.x,y.y),dX(k,y),V.warn("Recursive render complete ",k,y)}else e.children(g).length>0?(V.info("Cluster - the non recursive path XXX",g,y.id,y,e),V.info(Tg(y.id,e)),Kt[y.id]={id:Tg(y.id,e),node:y}):(V.info("Node - the non recursive path",g,y.id,y),await Zp(d,e.node(g),o))})),e.edges().forEach(async function(g){let y=e.edge(g.v,g.w,g.name);V.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g)),V.info("Edge "+g.v+" -> "+g.w+": ",g," ",JSON.stringify(e.edge(g))),V.info("Fix",Kt,"ids:",g.v,g.w,"Translating: ",Kt[g.v],Kt[g.w]),awa
`),i.style===void 0&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(i.id1,i.id2,a,n)})},"addRelations"),Uze=s(function(t){$N={...$N,...t}},"setConf"),qze=s(async function(t,e,r,n){V.info("Drawing class - ",e);let i=le().flowchart??le().class,a=le().securityLevel;V.info("config:",i);let o=i?.nodeSpacing??50,l=i?.rankSpacing??50,u=new ir({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:o,ranksep:l,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getNamespaces(),f=n.db.getClasses(),d=n.db.getRelations(),p=n.db.getNotes();V.info(d),$ze(h,u,e,n),Aue(f,u,e,n),Vze(d,u),Gze(p,u,d.length+1,f);let m;a==="sandbox"&&(m=Me("#i"+e));let g=a==="sandbox"?Me(m.nodes()[0].contentDocument.body):Me("body"),y=g.select(`[id="${e}"]`),v=g.select("#"+e+" g");if(await Cue(v,u,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),dt.insertTitle(y,"classTitleText",i?.titleTopMargin??5,n.db.getDiagramTitle()),ql(u,y,i?.diagramPadding,i?.useMaxWidth),!i?.htmlLabels){let x=a==="sandbox"?m.nodes()[0].contentDocument:document,b=x.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let k of b){let A=k.getBBox(),w=x.createElementNS("http://www.w3.org/2000/svg","rect");w.setAttribute("rx",0),w.setAttribute("ry",0),w.setAttribute("width",A.width),w.setAttribute("height",A.height),k.insertBefore(w,k.firstChild)}}},"draw");s(_ue,"getArrowMarker");Lue={setConf:Uze,draw:qze}});var Rue={};ur(Rue,{diagram:()=>Wze});var Wze,Mue=_(()=>{"use strict";RN();PN();BN();Due();Wze={parser:qw,db:wg,renderer:Lue,styles:Xw,init:s(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,wg.clear()},"init")}});var VN,sT,UN=_(()=>{"use strict";VN=function(){var t=s(function(z,N,U,$){for(U=U||{},$=z.length;$--;U[z[$]]=N);return U},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,32],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],k=[1,28],A=[1,29],w=[1,30],T=[1,31],C=[1,34],E=[1,35],S=[1,36],R=[1,37],D=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],P=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],M=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],F={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1
`+ie.showPosition()+`
Expecting `+pe.join(", ")+", got '"+(this.terminals_[Se]||Se)+"'":de="Parse error on line "+(fe+1)+": Unexpected "+(Se==K?"end of input":"'"+(this.terminals_[Se]||Se)+"'"),this.parseError(de,{text:ie.match,token:this.terminals_[Se]||Se,line:ie.yylineno,loc:De,expected:pe})}if(_e[0]instanceof Array&&_e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Oe+", token: "+Se);switch(_e[0]){case 1:$.push(Se),ee.push(ie.yytext),te.push(ie.yylloc),$.push(_e[1]),Se=null,Ue?(Se=Ue,Ue=null):(ne=ie.yyleng,Z=ie.yytext,fe=ie.yylineno,De=ie.yylloc,H>0&&H--);break;case 2:if(X=this.productions_[_e[1]][1],se.$=ee[ee.length-X],se._$={first_line:te[te.length-(X||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(X||1)].first_column,last_column:te[te.length-1].last_column},oe&&(se._$.range=[te[te.length-(X||1)].range[0],te[te.length-1].range[1]]),q=this.performAction.apply(se,[Z,ne,fe,ye.yy,_e[1],ee,te].concat(re)),typeof q<"u")return q;X&&($=$.slice(0,-1*X*2),ee=ee.slice(0,-1*X),te=te.slice(0,-1*X)),$.push(this.productions_[_e[1]][0]),ee.push(se.$),te.push(se._$),ae=ce[$[$.length-2]][$[$.length-1]],$.push(ae);break;case 3:return!0}}return!0},"parse")},I=function(){var z={EOF:1,parseError:s(function(U,$){if(this.yy.parser)this.yy.parser.parseError(U,$);else throw new Error(U)},"parseError"),setInput:s(function(N,U){return this.yy=U||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var U=N.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),N},"input"),unput:s(function(N){var U=N.length,$=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;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),$.length-1&&(this.yylineno-=$.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:$?($.length===W.length?this.yylloc.first_column:0)+W[W.length-$.length].length-$[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(N){this.unput(this.match.slice(N))},"less"),pastInput:s(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var N=this.pastInput(),U=new Array(N.length+1).join("-");return N+this.upcomingInput()+`
`+U+"^"},"showPosition"),test_match:s(function(N,U){var $,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=N[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+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],$=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),$)return $;if(this._backtrack){for(var te in ee)this[te]=ee[te];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,U,$,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),te=0;te<ee.length;te++)if($=this._input.match(this.rules[ee[te]]),$&&(!U||$[0].length>U[0].length)){if(U=$,W=te,this.options.backtrack_lexer){if(N=this.test_match($,ee[te]),N!==!1)return N;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(N=this.test_match(U,ee[W]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var U=this.next();return U||this.lex()},"lex"),begin:s(function(U){this.conditionStack.push(U)},"begin"),popState:s(function(){var U=this.conditionStack.length-1;return U>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},"topState"),pushState:s(function(U){this.begin(U)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(U,$,W,ee){var te=ee;switch(W){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;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"),17;break;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;break;case 16:return this.popState(),"acc_title_value";break;case 17:return this.begin("acc_descr"),35;break;case 18:return this.popState(),"acc_descr_value";break;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"),38;break;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 24:return this.popState(),this.pushState("CLASSDEFID"),39;break;case 25:return this.popState(),40;break;case 26:return this.pushState("CLASS"),45;break;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;break;case 28:return this.popState(),47;break;case 29:return this.pushState("STYLE"),42;break;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;break;case 31:return this.popState(),44;break;case 32:return this.pushState("SCALE"),17;break;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;break;case 37:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;break;case 38:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;break;case 39:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;break;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";break;case 48:return this.popState(),"ID";break;case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;break;case 54:break;case 55:return this.popState(),21;break;case 56:break;case 57:return this.begin("NOTE"),29;break;case 58:return this.popState(),this.pushState("NOTE_ID"),56;break;case 59:return this.popState(),this.pushState("NOTE_ID"),57;break;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";break;case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 66:return this.popState(),$.yytext=$.yytext.substr(2).trim(),31;break;case 67:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),31;break;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return $.yytext=$.yytext.trim(),14;break;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL
defs #statediagram-barbEnd {
fill: ${t.transitionColor};
stroke: ${t.transitionColor};
}
g.stateGroup text {
fill: ${t.nodeBorder};
stroke: none;
font-size: 10px;
}
g.stateGroup text {
fill: ${t.textColor};
stroke: none;
font-size: 10px;
}
g.stateGroup .state-title {
font-weight: bolder;
fill: ${t.stateLabelColor};
}
g.stateGroup rect {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
}
g.stateGroup line {
stroke: ${t.lineColor};
stroke-width: 1;
}
.transition {
stroke: ${t.transitionColor};
stroke-width: 1;
fill: none;
}
.stateGroup .composit {
fill: ${t.background};
border-bottom: 1px
}
.stateGroup .alt-composit {
fill: #e0e0e0;
border-bottom: 1px
}
.state-note {
stroke: ${t.noteBorderColor};
fill: ${t.noteBkgColor};
text {
fill: ${t.noteTextColor};
stroke: none;
font-size: 10px;
}
}
.stateLabel .box {
stroke: none;
stroke-width: 0;
fill: ${t.mainBkg};
opacity: 0.5;
}
.edgeLabel .label rect {
fill: ${t.labelBackgroundColor};
opacity: 0.5;
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
.edgeLabel .label text {
fill: ${t.transitionLabelColor||t.tertiaryTextColor};
}
.label div .edgeLabel {
color: ${t.transitionLabelColor||t.tertiaryTextColor};
}
.stateLabel text {
fill: ${t.stateLabelColor};
font-size: 10px;
font-weight: bold;
}
.node circle.state-start {
fill: ${t.specialStateColor};
stroke: ${t.specialStateColor};
}
.node .fork-join {
fill: ${t.specialStateColor};
stroke: ${t.specialStateColor};
}
.node circle.state-end {
fill: ${t.innerEndBackground};
stroke: ${t.background};
stroke-width: 1.5
}
.end-state-inner {
fill: ${t.compositeBackground||t.background};
// stroke: ${t.background};
stroke-width: 1.5
}
.node rect {
fill: ${t.stateBkg||t.mainBkg};
stroke: ${t.stateBorder||t.nodeBorder};
stroke-width: 1px;
}
.node polygon {
fill: ${t.mainBkg};
stroke: ${t.stateBorder||t.nodeBorder};;
stroke-width: 1px;
}
#statediagram-barbEnd {
fill: ${t.lineColor};
}
.statediagram-cluster rect {
fill: ${t.compositeTitleBackground};
stroke: ${t.stateBorder||t.nodeBorder};
stroke-width: 1px;
}
.cluster-label, .nodeLabel {
color: ${t.stateLabelColor};
// line-height: 1;
}
.statediagram-cluster rect.outer {
rx: 5px;
ry: 5px;
}
.statediagram-state .divider {
stroke: ${t.stateBorder||t.nodeBorder};
}
.statediagram-state .title-state {
rx: 5px;
ry: 5px;
}
.statediagram-cluster.statediagram-cluster .inner {
fill: ${t.compositeBackground||t.background};
}
.statediagram-cluster.statediagram-cluster-alt .inner {
fill: ${t.altBackground?t.altBackground:"#efefef"};
}
.statediagram-cluster .inner {
rx:0;
ry:0;
}
.statediagram-state rect.basic {
rx: 5px;
ry: 5px;
}
.statediagram-state rect.divider {
stroke-dasharray: 10,10;
fill: ${t.altBackground?t.altBackground:"#efefef"};
}
.note-edge {
stroke-dasharray: 5;
}
.statediagram-note rect {
fill: ${t.noteBkgColor};
stroke: ${t.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note rect {
fill: ${t.noteBkgColor};
stroke: ${t.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note text {
fill: ${t.noteTextColor};
}
.statediagram-note .nodeLabel {
color: ${t.noteTextColor};
}
.statediagram .edgeLabel {
color: red; // ${t.noteTextColor};
}
#dependencyStart, #dependencyEnd {
fill: ${t.lineColor};
stroke: ${t.lineColor};
stroke-width: 1;
}
.statediagramTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
`,"getStyles"),kT=S$e});var fO,_$e,A$e,dhe,L$e,phe,mhe=_(()=>{"use strict";fO={},_$e=s((t,e)=>{fO[t]=e},"set"),A$e=s(t=>fO[t],"get"),dhe=s(()=>Object.keys(fO),"keys"),L$e=s(()=>dhe().length,"size"),phe={get:A$e,set:_$e,keys:dhe,size:L$e}});var D$e,R$e,M$e,I$e,yhe,N$e,O$e,P$e,B$e,dO,ghe,vhe,xhe=_(()=>{"use strict";Xt();mhe();bT();pr();Qt();gt();it();D$e=s(t=>t.append("circle").attr("class","start-state").attr("r",le().state.sizeUnit).attr("cx",le().state.padding+le().state.sizeUnit).attr("cy",le().state.padding+le().state.sizeUnit),"drawStartState"),R$e=s(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",le().state.textHeight).attr("class","divider").attr("x2",le().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),M$e=s((t,e)=>{let r=t.append("text").attr("x",2*le().state.padding).attr("y",le().state.textHeight+2*le().state.padding).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",le().state.padding).attr("y",le().state.padding).attr("width",n.width+2*le().state.padding).attr("height",n.height+2*le().state.padding).attr("rx",le().state.radius),r},"drawSimpleState"),I$e=s((t,e)=>{let r=s(function(p,m,g){let y=p.append("tspan").attr("x",2*le().state.padding).text(m);g||y.attr("dy",le().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*le().state.padding).attr("y",le().state.textHeight+1.3*le().state.padding).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,o=t.append("text").attr("x",le().state.padding).attr("y",a+le().state.padding*.4+le().state.dividerMargin+le().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(o,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",le().state.padding).attr("y1",le().state.padding+a+le().state.dividerMargin/2).attr("y2",le().state.padding+a+le().state.dividerMargin/2).attr("class","descr-divider"),f=o.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*le().state.padding),t.insert("rect",":first-child").attr("x",le().state.padding).attr("y",le().state.padding).attr("width",d+2*le().state.padding).attr("height",f.height+a+2*le().state.padding).attr("rx",le().state.radius),t},"drawDescrState"),yhe=s((t,e,r)=>{let n=le().state.padding,i=2*le().state.padding,a=t.node().getBBox(),o=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",le().state.titleShift).attr("font-size",le().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,o);d===o&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>o&&(p=(o-d)/2+n),Math.abs(l-m.x)<n&&f>o&&(p=l-(f-o)/2);let g=1-le().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+le().state.textHeight+le().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=o&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",le().state.titleShift-le().state.textHeight-le().state.padding).attr("width",d).attr("height",le().state.textHeight*3).attr("rx",le().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",le().state.titleShift-le().state.textHeight-le().state.padding).attr("width",d).attr("height",m.height+3+2*le().state.textHeight).attr("rx",le().state.radius),t},"addTitleAndBox"),N$e=s(t=>(t.append("circle").attr("class","end-state-outer").attr("r",le().state.sizeUnit+le().state.miniPadding).attr("cx",le().state.padding+le().state.sizeUnit+le().state.miniPadding).attr("cy",le().state.padding+le().state.sizeUnit+le().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",le().state.sizeUnit).attr("cx",le().state.padding+le().state.sizeUnit+2).attr("cy",le().state.padding+le().state.sizeUnit+2)),"drawEndState"),O$e=s((t,e)=>{let r=le().state.forkWidth,n=le().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").at
`+R.showPosition()+`
Expecting `+fe.join(", ")+", got '"+(this.terminals_[O]||O)+"'":ne="Parse error on line "+(A+1)+": Unexpected "+(O==E?"end of input":"'"+(this.terminals_[O]||O)+"'"),this.parseError(ne,{text:R.match,token:this.terminals_[O]||O,line:R.yylineno,loc:P,expected:fe})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+O);switch(U[0]){case 1:g.push(O),v.push(R.yytext),x.push(R.yylloc),g.push(U[1]),O=null,z?(O=z,z=null):(w=R.yyleng,k=R.yytext,A=R.yylineno,P=R.yylloc,T>0&&T--);break;case 2:if(ce=this.productions_[U[1]][1],ee.$=v[v.length-ce],ee._$={first_line:x[x.length-(ce||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ce||1)].first_column,last_column:x[x.length-1].last_column},M&&(ee._$.range=[x[x.length-(ce||1)].range[0],x[x.length-1].range[1]]),W=this.performAction.apply(ee,[k,w,A,D.yy,U[1],v,x].concat(S)),typeof W<"u")return W;ce&&(g=g.slice(0,-1*ce*2),v=v.slice(0,-1*ce),x=x.slice(0,-1*ce)),g.push(this.productions_[U[1]][0]),v.push(ee.$),x.push(ee._$),Z=b[g[g.length-2]][g[g.length-1]],g.push(Z);break;case 3:return!0}}return!0},"parse")},h=function(){var d={EOF:1,parseError:s(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:s(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:s(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(p){this.unput(this.match.slice(p))},"less"),pastInput:s(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+`
`+m+"^"},"showPosition"),test_match:s(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;x<v.length;x++)if(g=this._input.match(this.rules[v[x]]),g&&(!m||g[0].length>m[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var m=this.next();return m||this.lex()},"lex"),begin:s(function(m){this.conditionStack.push(m)},"begin"),popState:s(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:s(function(m){this.begin(m)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d}();u.lexer=h;function f(){this.yy={}}return s(f,"Parser"),f.prototype=u,u.Parser=f,new f}();mO.parser=mO;Rhe=mO});var Ag,gO,lx,cx,K$e,Q$e,Z$e,J$e,eGe,tGe,rGe,Ihe,nGe,yO,Nhe=_(()=>{"use strict";gt();Ci();Ag="",gO=[],lx=[],cx=[],K$e=s(function(){gO.length=0,lx.length=0,Ag="",cx.length=0,br()},"clear"),Q$e=s(function(t){Ag=t,gO.push(t)},"addSection"),Z$e=s(function(){return gO},"getSections"),J$e=s(function(){let t=Ihe(),e=100,r=0;for(;!t&&r<e;)t=Ihe(),r++;return lx.push(...cx),lx},"getTasks"),eGe=s(function(){let t=[];return lx.forEach(r=>{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),tGe=s(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),o={section:Ag,type:Ag,people:a,task:t,score:n};cx.push(o)},"addTask"),rGe=s(function(t){let e={section:Ag,type:Ag,description:t,task:t,classes:[]};lx.push(e)},"addTaskOrg"),Ihe=s(function(){let t=s(function(r){return cx[r].processed},"compileTask"),e=!0;for(let[r,n]of cx.entries())t(r),e=e&&n.processed;return e},"compileTasks"),nGe=s(function(){return eGe()},"getActors"),yO={getConfig:s(()=>le().journey,"getConfig"),clear:K$e,setDiagramTitle:an,getDiagramTitle:Qr,setAccTitle:Ar,getAccTitle:Gr,setAccDescription:Vr,getAccDescription:Ur,addSection:Q$e,getSections:Z$e,getTasks:J$e,addTask:tGe,addTaskOrg:rGe,getActors:nGe}});var iGe,Ohe,Phe=_(()=>{"use strict";iGe=s(t=>`.label {
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
color: ${t.textColor};
}
.mouth {
stroke: #666;
}
line {
stroke: ${t.textColor}
}
.legend {
fill: ${t.textColor};
}
.label text {
fill: #333;
}
.label {
color: ${t.textColor}
}
.face {
${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};
stroke: #999;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${t.arrowheadColor};
}
.edgePath .path {
stroke: ${t.lineColor};
stroke-width: 1.5px;
}
.flowchart-link {
stroke: ${t.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
rect {
opacity: 0.5;
}
text-align: center;
}
.cluster rect {
}
.cluster text {
fill: ${t.titleColor};
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
font-size: 12px;
background: ${t.tertiaryColor};
border: 1px solid ${t.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.task-type-0, .section-type-0 {
${t.fillType0?`fill: ${t.fillType0}`:""};
}
.task-type-1, .section-type-1 {
${t.fillType0?`fill: ${t.fillType1}`:""};
}
.task-type-2, .section-type-2 {
${t.fillType0?`fill: ${t.fillType2}`:""};
}
.task-type-3, .section-type-3 {
${t.fillType0?`fill: ${t.fillType3}`:""};
}
.task-type-4, .section-type-4 {
${t.fillType0?`fill: ${t.fillType4}`:""};
}
.task-type-5, .section-type-5 {
${t.fillType0?`fill: ${t.fillType5}`:""};
}
.task-type-6, .section-type-6 {
${t.fillType0?`fill: ${t.fillType6}`:""};
}
.task-type-7, .section-type-7 {
${t.fillType0?`fill: ${t.fillType7}`:""};
}
.actor-0 {
${t.actor0?`fill: ${t.actor0}`:""};
}
.actor-1 {
${t.actor1?`fill: ${t.actor1}`:""};
}
.actor-2 {
${t.actor2?`fill: ${t.actor2}`:""};
}
.actor-3 {
${t.actor3?`fill: ${t.actor3}`:""};
}
.actor-4 {
${t.actor4?`fill: ${t.actor4}`:""};
}
.actor-5 {
${t.actor5?`fill: ${t.actor5}`:""};
}
`,"getStyles"),Ohe=iGe});var vO,aGe,Fhe,zhe,sGe,oGe,Bhe,lGe,cGe,$he,uGe,Lg,Ghe=_(()=>{"use strict";Xt();Iy();vO=s(function(t,e){return ad(t,e)},"drawRect"),aGe=s(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=sl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}s(a,"smile");function o(u){let h=sl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}s(o,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return s(l,"ambivalent"),e.score>3?a(i):e.score<3?o(i):l(i),n},"drawFace"),Fhe=s(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),zhe=s(function(t,e){return Zq(t,e)},"drawText"),sGe=s(function(t,e){function r(i,a,o,l,u){return i+","+a+" "+(i+o)+","+a+" "+(i+o)+","+(a+l-u)+" "+(i+o-u*1.2)+","+(a+l)+" "+i+","+(a+l)}s(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,zhe(t,e)},"drawLabel"),oGe=s(function(t,e,r){let n=t.append("g"),i=ol();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,vO(n,i),$he(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Bhe=-1,lGe=s(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Bhe++;let a=300+5*30;i.append("line").attr("id","task"+Bhe).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),aGe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let o=ol();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,vO(i,o);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Fhe(i,f),l+=10}),$he(r)(e.task,i,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),cGe=s(function(t,e){v3(t,e)},"drawBackgroundRect"),$he=function(){function t(i,a,o,l,u,h,f,d){let p=a.append("text").attr("x",o+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}s(t,"byText");function e(i,a,o,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(/<br\s*\/?>/gi);for(let v=0;v<y.length;v++){let x=v*m-m*(y.length-1)/2,b=a.append("text").attr("x",o+u/2).attr("y",l).attr("fill",p).style("text-anchor","middle").style("font-size",m).style("font-family",g);b.append("tspan").attr("x",o+u/2).attr("dy",x).text(y[v]),b.attr("y",l+h/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(b,f)}}s(e,"byTspan");function r(i,a,o,l,u,h,f,d){let p=a.append("switch"),g=p.append("foreignObject").attr("x",o).attr("y",l).attr("width",u).attr("height",h).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").attr("class","label").style("display","table-cell").style("text-align","c
`+D.showPosition()+`
Expecting `+ne.join(", ")+", got '"+(this.terminals_[z]||z)+"'":H="Parse error on line "+(w+1)+": Unexpected "+(z==S?"end of input":"'"+(this.terminals_[z]||z)+"'"),this.parseError(H,{text:D.match,token:this.terminals_[z]||z,line:D.yylineno,loc:M,expected:ne})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+z);switch($[0]){case 1:y.push(z),x.push(D.yytext),b.push(D.yylloc),y.push($[1]),z=null,N?(z=N,N=null):(T=D.yyleng,A=D.yytext,w=D.yylineno,M=D.yylloc,C>0&&C--);break;case 2:if(Z=this.productions_[$[1]][1],te.$=x[x.length-Z],te._$={first_line:b[b.length-(Z||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(Z||1)].first_column,last_column:b[b.length-1].last_column},F&&(te._$.range=[b[b.length-(Z||1)].range[0],b[b.length-1].range[1]]),ee=this.performAction.apply(te,[A,T,w,L.yy,$[1],x,b].concat(R)),typeof ee<"u")return ee;Z&&(y=y.slice(0,-1*Z*2),x=x.slice(0,-1*Z),b=b.slice(0,-1*Z)),y.push(this.productions_[$[1]][0]),x.push(te.$),b.push(te._$),fe=k[y[y.length-2]][y[y.length-1]],y.push(fe);break;case 3:return!0}}return!0},"parse")},f=function(){var p={EOF:1,parseError:s(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:s(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:s(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(m){this.unput(this.match.slice(m))},"less"),pastInput:s(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+`
`+g+"^"},"showPosition"),test_match:s(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;b<x.length;b++)if(y=this._input.match(this.rules[x[b]]),y&&(!g||y[0].length>g[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var g=this.next();return g||this.lex()},"lex"),begin:s(function(g){this.conditionStack.push(g)},"begin"),popState:s(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:s(function(g){this.begin(g)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p}();h.lexer=f;function d(){this.yy={}}return s(d,"Parser"),d.prototype=h,h.Parser=d,new d}();wO.parser=wO;Zhe=wO});var EO={};ur(EO,{addEvent:()=>lfe,addSection:()=>ife,addTask:()=>ofe,addTaskOrg:()=>cfe,clear:()=>nfe,default:()=>EGe,getCommonDb:()=>rfe,getSections:()=>afe,getTasks:()=>sfe});var Dg,tfe,TO,TT,Rg,rfe,nfe,ife,afe,sfe,ofe,lfe,cfe,efe,EGe,ufe=_(()=>{"use strict";Ci();Dg="",tfe=0,TO=[],TT=[],Rg=[],rfe=s(()=>q1,"getCommonDb"),nfe=s(function(){TO.length=0,TT.length=0,Dg="",Rg.length=0,br()},"clear"),ife=s(function(t){Dg=t,TO.push(t)},"addSection"),afe=s(function(){return TO},"getSections"),sfe=s(function(){let t=efe(),e=100,r=0;for(;!t&&r<e;)t=efe(),r++;return TT.push(...Rg),TT},"getTasks"),ofe=s(function(t,e,r){let n={id:tfe++,section:Dg,type:Dg,task:t,score:e||0,events:r?[r]:[]};Rg.push(n)},"addTask"),lfe=s(function(t){Rg.find(r=>r.id===tfe-1).events.push(t)},"addEvent"),cfe=s(function(t){let e={section:Dg,type:Dg,description:t,task:t,classes:[]};TT.push(e)},"addTaskOrg"),efe=s(function(){let t=s(function(r){return Rg[r].processed},"compileTask"),e=!0;for(let[r,n]of Rg.entries())t(r),e=e&&n.processed;return e},"compileTasks"),EGe={clear:nfe,getCommonDb:rfe,addSection:ife,getSections:afe,getTasks:sfe,addTask:ofe,addTaskOrg:cfe,addEvent:lfe}});function pfe(t,e){t.each(function(){var r=Me(this),n=r.text().split(/(\s+|<br>)/).reverse(),i,a=[],o=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;f<n.length;f++)i=n[n.length-1-f],a.push(i),h.text(a.join(" ").trim()),(h.node().getComputedTextLength()>e||i==="<br>")&&(a.pop(),h.text(a.join(" ").trim()),i==="<br>"?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",o+"em").text(i))})}var CGe,ET,SGe,_Ge,ffe,AGe,LGe,hfe,DGe,RGe,MGe,CO,dfe,IGe,NGe,OGe,PGe,cf,mfe=_(()=>{"use strict";Xt();CGe=12,ET=s(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.cla
.section-${r-1} rect, .section-${r-1} path, .section-${r-1} circle, .section-${r-1} path {
fill: ${t["cScale"+r]};
}
.section-${r-1} text {
fill: ${t["cScaleLabel"+r]};
}
.node-icon-${r-1} {
font-size: 40px;
color: ${t["cScaleLabel"+r]};
}
.section-edge-${r-1}{
stroke: ${t["cScale"+r]};
}
.edge-depth-${r-1}{
stroke-width: ${n};
}
.section-${r-1} line {
stroke: ${t["cScaleInv"+r]} ;
stroke-width: 3;
}
.lineWrapper line{
stroke: ${t["cScaleLabel"+r]} ;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
`}return e},"genSections"),$Ge=s(t=>`
.edge {
stroke-width: 3;
}
${zGe(t)}
.section-root rect, .section-root path, .section-root circle {
fill: ${t.git0};
}
.section-root text {
fill: ${t.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.eventWrapper {
filter: brightness(120%);
}
`,"getStyles"),xfe=$Ge});var kfe={};ur(kfe,{diagram:()=>GGe});var GGe,wfe=_(()=>{"use strict";Jhe();ufe();vfe();bfe();GGe={db:EO,renderer:yfe,parser:Zhe,styles:xfe}});var SO,Cfe,Sfe=_(()=>{"use strict";SO=function(){var t=s(function(A,w,T,C){for(T=T||{},C=A.length;C--;T[A[C]]=w);return T},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],o=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:s(function(w,T,C,E,S,R,D){var L=R.length-1;switch(S){case 6:case 7:return E;case 8:E.getLogger().trace("Stop NL ");break;case 9:E.getLogger().trace("Stop EOF ");break;case 11:E.getLogger().trace("Stop NL2 ");break;case 12:E.getLogger().trace("Stop EOF2 ");break;case 15:E.getLogger().info("Node: ",R[L].id),E.addNode(R[L-1].length,R[L].id,R[L].descr,R[L].type);break;case 16:E.getLogger().trace("Icon: ",R[L]),E.decorateNode({icon:R[L]});break;case 17:case 21:E.decorateNode({class:R[L]});break;case 18:E.getLogger().trace("SPACELIST");break;case 19:E.getLogger().trace("Node: ",R[L].id),E.addNode(0,R[L].id,R[L].descr,R[L].type);break;case 20:E.decorateNode({icon:R[L]});break;case 25:E.getLogger().trace("node found ..",R[L-2]),this.$={id:R[L-1],descr:R[L-1],type:E.getType(R[L-2],R[L])};break;case 26:this.$={id:R[L],descr:R[L],type:E.nodeType.DEFAULT};break;case 27:E.getLogger().trace("node found ..",R[L-3]),this.$={id:R[L-3],descr:R[L-1],type:E.getType(R[L-2],R[L])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:s(function(w,T){if(T.recoverable)this.trace(w);else{var C=new Error(w);throw C.hash=T,C}},"parseError"),parse:s(function(w){var T=this,C=[0],E=[],S=[null],R=[],D=this.table,L="",P=0,M=0,F=0,I=2,O=1,z=R.slice.call(arguments,1),N=Object.create(this.lexer),U={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(U.yy[$]=this.yy[$]);N.setInput(w,U.yy),U.yy.lexer=N,U.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var W=N.yylloc;R.push(W);var ee=N.options&&N.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(Re){C.length=C.length-2*Re,S.length=S.length-Re,R.length=R.length-Re}s(te,"popStack");function ce(){var Re;return Re=E.pop()||N.lex()||O,typeof Re!="number"&&(Re instanceof Array&&(E=Re,Re=E.pop()),Re=T.symbols_[Re]||Re),Re}s(ce,"lex");for(var Z,fe,ne,H,Q,K,re={},ie,ye,j,De;;){if(ne=C[C.length-1],this.defaultActions[ne]?H=this.defaultActions[ne]:((Z===null||typeof Z>"u")&&(Z=ce()),H=D[ne]&&D[ne][Z]),typeof H>"u"||!H.length||!H[0]){var oe="";De=[];for(ie in D[ne])this.terminals_[ie]&&ie>I&&D
`+N.showPosition()+`
Expecting `+De.join(", ")+", got '"+(this.terminals_[Z]||Z)+"'":oe="Parse error on line "+(P+1)+": Unexpected "+(Z==O?"end of input":"'"+(this.terminals_[Z]||Z)+"'"),this.parseError(oe,{text:N.match,token:this.terminals_[Z]||Z,line:N.yylineno,loc:W,expected:De})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ne+", token: "+Z);switch(H[0]){case 1:C.push(Z),S.push(N.yytext),R.push(N.yylloc),C.push(H[1]),Z=null,fe?(Z=fe,fe=null):(M=N.yyleng,L=N.yytext,P=N.yylineno,W=N.yylloc,F>0&&F--);break;case 2:if(ye=this.productions_[H[1]][1],re.$=S[S.length-ye],re._$={first_line:R[R.length-(ye||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(ye||1)].first_column,last_column:R[R.length-1].last_column},ee&&(re._$.range=[R[R.length-(ye||1)].range[0],R[R.length-1].range[1]]),K=this.performAction.apply(re,[L,M,P,U.yy,H[1],S,R].concat(z)),typeof K<"u")return K;ye&&(C=C.slice(0,-1*ye*2),S=S.slice(0,-1*ye),R=R.slice(0,-1*ye)),C.push(this.productions_[H[1]][0]),S.push(re.$),R.push(re._$),j=D[C[C.length-2]][C[C.length-1]],C.push(j);break;case 3:return!0}}return!0},"parse")},b=function(){var A={EOF:1,parseError:s(function(T,C){if(this.yy.parser)this.yy.parser.parseError(T,C);else throw new Error(T)},"parseError"),setInput:s(function(w,T){return this.yy=T||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var T=w.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:s(function(w){var T=w.length,C=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var E=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),C.length-1&&(this.yylineno-=C.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:C?(C.length===E.length?this.yylloc.first_column:0)+E[E.length-C.length].length-C[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(w){this.unput(this.match.slice(w))},"less"),pastInput:s(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var w=this.pastInput(),T=new Array(w.length+1).join("-");return w+this.upcomingInput()+`
`+T+"^"},"showPosition"),test_match:s(function(w,T){var C,E,S;if(this.options.backtrack_lexer&&(S={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(S.yylloc.range=this.yylloc.range.slice(0))),E=w[0].match(/(?:\r\n?|\n).*/g),E&&(this.yylineno+=E.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:E?E[E.length-1].length-E[E.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],C=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var R in S)this[R]=S[R];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,T,C,E;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),R=0;R<S.length;R++)if(C=this._input.match(this.rules[S[R]]),C&&(!T||C[0].length>T[0].length)){if(T=C,E=R,this.options.backtrack_lexer){if(w=this.test_match(C,S[R]),w!==!1)return w;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(w=this.test_match(T,S[E]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var T=this.next();return T||this.lex()},"lex"),begin:s(function(T){this.conditionStack.push(T)},"begin"),popState:s(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:s(function(T){this.begin(T)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(T,C,E,S){var R=S;switch(E){case 0:return T.getLogger().trace("Found comment",C.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:T.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return T.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:T.getLogger().trace("end icon"),this.popState();break;case 10:return T.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return T.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return T.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return T.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:T.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return T.getLogger().trace("description:",C.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),T.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),T.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),T.getLogger().trace("node end ...",C.yytext),"NODE_DEND";break;case 30:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),T.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),T.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),T.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return T.getLogger().trace("Long description:",C.yytext),20;break;case 36:return T.getLogger().trace("Long description:",C.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return A}();x.lexer=b;function k(){this.yy={}}return s(k,"Parser"),k.prototype=x,x.Parser=k,new k}();SO.parser=SO;Cfe=SO});var Cl,_fe,_O,WGe,HGe,YGe,XGe,Ii,jGe,KGe,QGe,ZGe,JGe,eVe,tVe,Afe,Lfe=_(()=>{"use strict";gt();Qt();it();Pl();Cl=[],_fe=0,_O={},WGe=s(()=>{Cl=[],_fe=0,_O={}},"clear"),HGe=s(function(t){for(let e=Cl.length-1;e>=0;
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hde(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Wde(t))||e&&t&&typeof t.length=="number"){r&&(t=r);var n=0,i=s(function(){},"F");return{s:i,n:s(function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:s(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,l;return{s:s(function(){r=r.call(t)},"s"),n:s(function(){var u=r.next();return a=u.done,u},"n"),e:s(function(u){o=!0,l=u},"e"),f:s(function(){try{!a&&r.return!=null&&r.return()}finally{if(o)throw l}},"f")}}function AVe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function LVe(t,e){return e={exports:{}},t(e,e.exports),e.exports}function PVe(t){for(var e=t.length;e--&&OVe.test(t.charAt(e)););return e}function zVe(t){return t&&t.slice(0,BVe(t)+1).replace(FVe,"")}function qVe(t){var e=VVe.call(t,ux),r=t[ux];try{t[ux]=void 0;var n=!0}catch{}var i=UVe.call(t);return n&&(e?t[ux]=r:delete t[ux]),i}function XVe(t){return YVe.call(t)}function ZVe(t){return t==null?t===void 0?QVe:KVe:Nfe&&Nfe in Object(t)?WVe(t):jVe(t)}function JVe(t){return t!=null&&typeof t=="object"}function rUe(t){return typeof t=="symbol"||eUe(t)&&t0e(t)==tUe}function oUe(t){if(typeof t=="number")return t;if(Ox(t))return Ofe;if(R0(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=R0(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=$Ve(t);var r=iUe.test(t);return r||aUe.test(t)?sUe(t.slice(2),r?2:8):nUe.test(t)?Ofe:+t}function hUe(t,e,r){var n,i,a,o,l,u,h=0,f=!1,d=!1,p=!0;if(typeof t!="function")throw new TypeError(lUe);e=Pfe(e)||0,R0(r)&&(f=!!r.leading,d="maxWait"in r,a=d?cUe(Pfe(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p);function m(T){var C=n,E=i;return n=i=void 0,h=T,o=t.apply(E,C),o}s(m,"invokeFunc");function g(T){return h=T,l=setTimeout(x,e),f?m(T):o}s(g,"leadingEdge");function y(T){var C=T-u,E=T-h,S=e-C;return d?uUe(S,a-E):S}s(y,"remainingWait");function v(T){var C=T-u,E=T-h;return u===void 0||C>=e||C<0||d&&E>=a}s(v,"shouldInvoke");function x(){var T=AO();if(v(T))return b(T);l=setTimeout(x,y(T))}s(x,"timerExpired");function b(T){return l=void 0,p&&n?m(T):(n=i=void 0,o)}s(b,"trailingEdge");function k(){l!==void 0&&clearTimeout(l),h=0,n=u=i=l=void 0}s(k,"cancel");function A(){return l===void 0?o:b(AO())}s(A,"flush");function w(){var T=AO(),C=v(T);if(n=arguments,i=this,u=T,C){if(l===void 0)return g(u);if(d)return clearTimeout(l),l=setTimeout(x,e),m(u)}return l===void 0&&(l=setTimeout(x,e)),o}return s(w,"debounced"),w.cancel=k,w.flush=A,w}function l7(t,e,r,n,i,a){var o;return Gn(t)?o=t:o=Hg[t]||Hg.euclidean,e===0&&Gn(t)?o(i,a):o(e,r,n,i,a)}function nWe(t,e){if(c7(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ox(t)?!0:rWe.test(t)||!tWe.test(t)||e!=null&&t in Object(e)}function cWe(t){if(!R0(t))return!1;var e=t0e(t);return e==sWe||e==oWe||e==aWe||e==lWe}function fWe(t){return!!rde&&rde in t}function gWe(t){if(t!=null){try{return mWe.call(t)}catch{}try{return t+""}catch{}}return""}function CWe(t){if(!R0(t)||dWe(t))return!1;var e=uWe(t)?EWe:xWe;return e.test(yWe(t))}function _We(t,e){return t?.[e]}function LWe(t,e){var r=AWe(t,e);return SWe(r)?r:void 0}function RWe(){this.__data__=Ax?Ax(null):{},this.size=0}function IWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function FWe(t){var e=this.__data__;if(Ax){var r=e[t];return r===OWe?void 0:r}return BWe.call(e,t)?e[t]:void 0}function VWe(t){var e=this.__data__;return Ax?e[t]!==void 0:GWe.call(e,t)}function WWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ax&&e===void 0?qWe:e,this}function Kg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function YWe(){this.__data__=[],this.size=0}function jWe(t,e){return t===e||t!==t&&e!==e}function KWe(t,e){for(var r=t.length;r--;)if(S0e(t[r][0],e))return r;return-1}function JWe(t){var e=this.__data__,r=u7(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():ZWe.call(e,r,1),--this.size,!0}function tHe(t){var e=this.__data__,r=u7(e,t);return r<0?void 0:e[r][1]}function nHe(t){return u7(this.__data__,t)>-1}function aHe(t,e){var r=this.__data__,n=u7(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Qg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function uHe()
`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;v<f.length;v++){var x=f[v],b=this.calculateLabelDimensions(t,x),k=b.width;if(m){var A=x.split("").join(h);x=A}if(k>d){var w=x.matchAll(y),T="",C=0,E=Hde(w),S;try{for(E.s();!(S=E.n()).done;){var R=S.value,D=R[0],L=x.substring(C,R.index);C=R.index+D.length;var P=T.length===0?L:T+L+D,M=this.calculateLabelDimensions(t,P),F=M.width;F<=d?T+=L+D:(T&&g.push(T),T=L+D)}}catch(W){E.e(W)}finally{E.f()}T.match(/^[\s\u200b]+$/)||g.push(T)}else g.push(x)}o("labelWrapCachedLines",g),i=o("labelWrapCachedText",g.join(`
`)),o("labelWrapKey",u)}else if(l==="ellipsis"){var I=t.pstyle("text-max-width").pfValue,O="",z="\u2026",N=!1;if(this.calculateLabelDimensions(t,i).width<I)return i;for(var U=0;U<i.length;U++){var $=this.calculateLabelDimensions(t,O+i[U]+z).width;if($>I)break;O+=i[U],U===i.length-1&&(N=!0)}return N||(O+=z),O}return i};Oc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Oc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=M0(e,t._private.labelDimsKey),o=r.labelDimCache||(r.labelDimCache=[]),l=o[a];if(l!=null)return l;var u=0,h=t.pstyle("font-style").strValue,f=t.pstyle("font-size").pfValue,d=t.pstyle("font-family").strValue,p=t.pstyle("font-weight").strValue,m=this.labelCalcCanvas,g=this.labelCalcCanvasContext;if(!m){m=this.labelCalcCanvas=i.createElement("canvas"),g=this.labelCalcCanvasContext=m.getContext("2d");var y=m.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}g.font="".concat(h," ").concat(p," ").concat(f,"px ").concat(d);for(var v=0,x=0,b=e.split(`
`),k=0;k<b.length;k++){var A=b[k],w=g.measureText(A),T=Math.ceil(w.width),C=f;v=Math.max(T,v),x+=C}return v+=u,x+=u,o[a]={width:v,height:x}};Oc.calculateLabelAngle=function(t,e){var r=t._private,n=r.rscratch,i=t.isEdge(),a=e?e+"-":"",o=t.pstyle(a+"text-rotation"),l=o.strValue;return l==="none"?0:i&&l==="autorotate"?n.labelAutoAngle:l==="autorotate"?0:o.pfValue};Oc.calculateLabelAngles=function(t){var e=this,r=t.isEdge(),n=t._private,i=n.rscratch;i.labelAngle=e.calculateLabelAngle(t),r&&(i.sourceLabelAngle=e.calculateLabelAngle(t,"source"),i.targetLabelAngle=e.calculateLabelAngle(t,"target"))};hpe={},Ide=28,Nde=!1;hpe.getNodeShape=function(t){var e=this,r=t.pstyle("shape").value;if(r==="cutrectangle"&&(t.width()<Ide||t.height()<Ide))return Nde||(Kr("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Nde=!0),"rectangle";if(t.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=t.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(n).name}return r};x7={};x7.registerCalculationListeners=function(){var t=this.cy,e=t.collection(),r=this,n=s(function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var u=0;u<o.length;u++){var h=o[u],f=h._private,d=f.rstyle;d.clean=!1,d.cleanConnected=!1}},"enqueue");r.binder(t).on("bounds.* dirty.*",s(function(o){var l=o.target;n(l)},"onDirtyBounds")).on("style.* background.*",s(function(o){var l=o.target;n(l,!1)},"onDirtyStyle"));var i=s(function(o){if(o){var l=r.onUpdateEleCalcsFns;e.cleanStyle();for(var u=0;u<e.length;u++){var h=e[u],f=h._private.rstyle;h.isNode()&&!f.cleanConnected&&(n(h.connectedEdges()),f.cleanConnected=!0)}if(l)for(var d=0;d<l.length;d++){var p=l[d];p(o,e)}r.recalculateRenderedStyle(e),e=t.collection()}},"updateEleCalcs");r.flushRenderedStyleQueue=function(){i(!0)},r.beforeRender(i,r.beforeRenderPriorities.eleCalcs)};x7.onUpdateEleCalcs=function(t){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(t)};x7.recalculateRenderedStyle=function(t,e){var r=s(function(A){return A._private.rstyle.cleanConnected},"isCleanConnected"),n=[],i=[];if(!this.destroyed){e===void 0&&(e=!0);for(var a=0;a<t.length;a++){var o=t[a],l=o._private,u=l.rstyle;o.isEdge()&&(!r(o.source())||!r(o.target()))&&(u.clean=!1),!(e&&u.clean||o.removed())&&o.pstyle("display").value!=="none"&&(l.group==="nodes"?i.push(o):n.push(o),u.clean=!0)}for(var h=0;h<i.length;h++){var f=i[h],d=f._private,p=d.rstyle,m=f.position();this.recalculateNodeLabelProjection(f),p.nodeX=m.x,p.nodeY=m.y,p.nodeW=f.pstyle("width").pfValue,p.nodeH=f.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var g=0;g<n.length;g++){var y=n[g],v=y._private,x=v.rstyle,b=v.rscratch;x.srcX=b.arrowStartX,x.srcY=b.arrowStartY,x.tgtX=b.arrowEndX,x.tgtY=b.arrowEndY,x.midX=b.midX,x.midY=b.midY,x.labelAngle=b.labelAngle,x.sourceLabelAngle=b.sourceLabelAngle,x.targetLabelAngle=b.targetLabelAngle}}};b7={};b7.updateCachedGrabbedEles=function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],r=0;r<t.length;r++){var n=t[r],i=n._private.rscratch;n.grabbed()&&!n.isParent()?e.push(n):i.inDragLayer?t.drag.push(n):t.nondrag.push(n)}for(var r=0;r<e.length;r++){var n=e[r];t.drag.push(n)}}};b7.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null};b7.getCachedZSortedEles=function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(X0e),e.interactive=e.filter(function(r){return r.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};fpe={};[F0,t7,Ia,zx,CP,Oc,hpe,x7,b7].forEach(function(t){Pt(fpe,t)});dpe={};dpe.getCachedImage=function(t,e,r){var n=this,i=n.imageCache=n.imageCache||{},a=i[t];if(a)return a.image.complete||a.image.addEventListener("load",r),a.image;a=i[t]=i[t]||{};var o=a.image=new Image;o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0});var l="data:",u=t.subst
a${l},${l} 1 0,1 ${n*.4},${-1*n*.1}
a${o},${o} 1 0,1 ${n*.35},${1*n*.2}
a${a},${a} 1 0,1 ${n*.15},${1*i*.35}
a${u},${u} 1 0,1 ${-1*n*.15},${1*i*.65}
a${o},${a} 1 0,1 ${-1*n*.25},${n*.15}
a${l},${l} 1 0,1 ${-1*n*.5},0
a${a},${a} 1 0,1 ${-1*n*.25},${-1*n*.15}
a${a},${a} 1 0,1 ${-1*n*.1},${-1*i*.35}
a${u},${u} 1 0,1 ${n*.1},${-1*i*.65}
H0 V0 Z`)},"cloudBkg"),Fje=s(function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${n*.25},${-1*i*.1}
a${a},${a} 1 0,0 ${n*.25},0
a${a},${a} 1 0,0 ${n*.25},0
a${a},${a} 1 0,0 ${n*.25},${1*i*.1}
a${a},${a} 1 0,0 ${n*.15},${1*i*.33}
a${a*.8},${a*.8} 1 0,0 0,${1*i*.34}
a${a},${a} 1 0,0 ${-1*n*.15},${1*i*.33}
a${a},${a} 1 0,0 ${-1*n*.25},${i*.15}
a${a},${a} 1 0,0 ${-1*n*.25},0
a${a},${a} 1 0,0 ${-1*n*.25},0
a${a},${a} 1 0,0 ${-1*n*.25},${-1*i*.15}
a${a},${a} 1 0,0 ${-1*n*.1},${-1*i*.33}
a${a*.8},${a*.8} 1 0,0 0,${-1*i*.34}
a${a},${a} 1 0,0 ${n*.1},${-1*i*.33}
H0 V0 Z`)},"bangBkg"),zje=s(function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)},"circleBkg");s($je,"insertPolygonShape");Gje=s(function(t,e,r){let n=r.height,a=n/4,o=r.width-r.padding+2*a,l=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-n/2},{x:o-a,y:-n},{x:a,y:-n},{x:0,y:-n/2}];$je(e,o,n,l,r)},"hexagonBkg"),Vje=s(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)},"roundedRectBkg"),Rpe=s(async function(t,e,r,n,i){let a=i.htmlLabels,o=n%(Nje-1),l=e.append("g");r.section=o;let u="section-"+o;o<0&&(u+=" section-root"),l.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+u);let h=l.append("g"),f=l.append("g"),d=r.descr.replace(/(<br\/*>)/g,`
`);await vs(f,d,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=f.node().getBBox(),[m]=nc(i.fontSize);if(r.height=p.height+m*1.1*.5+r.padding,r.width=p.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,l.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let g=r.height;r.height=Math.max(g,60);let y=Math.abs(r.height-g);l.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(y/2+r.padding/2)+")")}else if(a){let g=(r.width-p.width)/2,y=(r.height-p.height)/2;f.attr("transform","translate("+g+", "+y+")")}else{let g=r.width/2,y=r.padding/2;f.attr("transform","translate("+g+", "+y+")")}switch(r.type){case t.nodeType.DEFAULT:Oje(t,h,r,o);break;case t.nodeType.ROUNDED_RECT:Vje(t,h,r,o);break;case t.nodeType.RECT:Pje(t,h,r,o);break;case t.nodeType.CIRCLE:h.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),zje(t,h,r,o);break;case t.nodeType.CLOUD:Bje(t,h,r,o);break;case t.nodeType.BANG:Fje(t,h,r,o);break;case t.nodeType.HEXAGON:Gje(t,h,r,o);break}return t.setElementForId(r.id,l),r.height},"drawNode"),Mpe=s(function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")},"positionNode")});async function Ope(t,e,r,n,i){await Rpe(t,e,r,n,i),r.children&&await Promise.all(r.children.map((a,o)=>Ope(t,e,a,n<0?o:n,i)))}function Uje(t,e){e.edges().map((r,n)=>{let i=r.data();if(r[0]._private.bodyBounds){let a=r[0]._private.rscratch;V.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}})}function Ppe(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(i=>{Ppe(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})})}function qje(t,e){return new Promise(r=>{let n=Me("body").append("div").attr("id","cy").attr("style","display:none"),i=Yu({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),Ppe(t,i,e,0),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let o=a.data();return{w:o.width,h:o.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(a=>{V.info("Ready",a),r(i)})})}function Wje(t,e){e.nodes().map((r,n)=>{let i=r.data();i.x=r.position().x,i.y=r.position().y,Mpe(t,i);let a=t.getElementById(i.nodeId);V.info("Id:",n,"Position: (",r.position().x,", ",r.position().y,")",i),a.attr("transform",`translate(${r.position().x-i.width/2}, ${r.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)})}var Npe,Hje,Bpe,Fpe=_(()=>{"use strict";Lpe();Npe=ka(Dpe(),1);Xt();gt();it();p0();Un();Ipe();Pl();Yu.use(Npe.default);s(Ope,"drawNodes");s(Uje,"drawEdges");s(Ppe,"addNodes");s(qje,"layoutMindmap");s(Wje,"positionNodes");Hje=s(async(t,e,r,n)=>{V.debug(`Rendering mindmap diagram
`+t);let i=n.db,a=i.getMindmap();if(!a)return;let o=le();o.htmlLabels=!1;let l=Bo(e),u=l.append("g");u.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await Ope(i,h,a,-1,o);let f=await qje(a,o);Uje(u,f),Wje(i,f),ql(void 0,l,o.mindmap?.padding??dr.mindmap.padding,o.mindmap?.useMaxWidth??dr.mindmap.useMaxWidth)},"draw"),Bpe={draw:Hje}});var Yje,Xje,zpe,$pe=_(()=>{"use strict";Ho();Yje=s(t=>{let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)t["lineColor"+r]=t["lineColor"+r]||t["cScaleInv"+r],Fa(t["lineColor"+r])?t["lineColor"+r]=ht(t["lineColor"+r],20):t["lineColor"+r]=mt(t["lineColor"+r],20);for(let r=0;r<t.THEME_COLOR_LIMIT;r++){let n=""+(17-3*r);e+=`
.section-${r-1} rect, .section-${r-1} path, .section-${r-1} circle, .section-${r-1} polygon, .section-${r-1} path {
fill: ${t["cScale"+r]};
}
.section-${r-1} text {
fill: ${t["cScaleLabel"+r]};
}
.node-icon-${r-1} {
font-size: 40px;
color: ${t["cScaleLabel"+r]};
}
.section-edge-${r-1}{
stroke: ${t["cScale"+r]};
}
.edge-depth-${r-1}{
stroke-width: ${n};
}
.section-${r-1} line {
stroke: ${t["cScaleInv"+r]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
`}return e},"genSections"),Xje=s(t=>`
.edge {
stroke-width: 3;
}
${Yje(t)}
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
fill: ${t.git0};
}
.section-root text {
fill: ${t.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.mindmap-node-label {
dy: 1em;
alignment-baseline: middle;
text-anchor: middle;
dominant-baseline: middle;
text-align: center;
}
`,"getStyles"),zpe=Xje});var Gpe={};ur(Gpe,{diagram:()=>jje});var jje,Vpe=_(()=>{"use strict";Sfe();Lfe();Fpe();$pe();jje={db:Afe,renderer:Bpe,parser:Cfe,styles:zpe}});var MP,Wx,Wpe=_(()=>{"use strict";MP=function(){var t=s(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:s(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:s(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:s(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,k=2,A=1,w=m.slice.call(arguments,1),T=Object.create(this.lexer),C={yy:{}};for(var E in this.yy)Object.prototype.hasOwnProperty.call(this.yy,E)&&(C.yy[E]=this.yy[E]);T.setInput(u,C.yy),C.yy.lexer=T,C.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var S=T.yylloc;m.push(S);var R=T.options&&T.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ce){f.length=f.length-2*ce,p.length=p.length-ce,m.length=m.length-ce}s(D,"popStack");function L(){var ce;return ce=d.pop()||T.lex()||A,typeof ce!="number"&&(ce instanceof Array&&(d=ce,ce=d.pop()),ce=h.symbols_[ce]||ce),ce}s(L,"lex");for(var P,M,F,I,O,z,N={},U,$,W,ee;;){if(F=f[f.length-1],this.defaultActions[F]?I=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=L()),I=g[F]&&g[F][P]),typeof I>"u"||!I.length||!I[0]){var te="";ee=[];for(U in g[F])this.terminals_[U]&&U>k&&ee.push("'"+this.terminals_[U]+"'");T.showPosition?te="Parse error on line "+(v+1)+`:
`+T.showPosition()+`
Expecting `+ee.join(", ")+", got '"+(this.terminals_[P]||P)+"'":te="Parse error on line "+(v+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(te,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:S,expected:ee})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(I[0]){case 1:f.push(P),p.push(T.yytext),m.push(T.yylloc),f.push(I[1]),P=null,M?(P=M,M=null):(x=T.yyleng,y=T.yytext,v=T.yylineno,S=T.yylloc,b>0&&b--);break;case 2:if($=this.productions_[I[1]][1],N.$=p[p.length-$],N._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},R&&(N._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),z=this.performAction.apply(N,[y,x,v,C.yy,I[1],p,m].concat(w)),typeof z<"u")return z;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[I[1]][0]),p.push(N.$),m.push(N._$),W=g[f[f.length-2]][f[f.length-1]],f.push(W);break;case 3:return!0}}return!0},"parse")},a=function(){var l={EOF:1,parseError:s(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:s(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:s(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(u){this.unput(this.match.slice(u))},"less"),pastInput:s(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+`
`+h+"^"},"showPosition"),test_match:s(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;m<p.length;m++)if(f=this._input.match(this.rules[p[m]]),f&&(!h||f[0].length>h[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var h=this.next();return h||this.lex()},"lex"),begin:s(function(h){this.conditionStack.push(h)},"begin"),popState:s(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:s(function(h){this.begin(h)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:s(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;break;case 5:return 20;case 6:return this.popState("escaped_text"),18;break;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return l}();i.lexer=a;function o(){this.yy={}}return s(o,"Parser"),o.prototype=i,i.Parser=o,new o}();MP.parser=MP;Wx=MP});var w7,T7,k7,Jje,IP,eKe,NP,tKe,rKe,nKe,iKe,Hpe,Ype=_(()=>{"use strict";gt();Qt();Ci();w7=[],T7=[],k7=new Map,Jje=s(()=>{w7=[],T7=[],k7=new Map,br()},"clear"),IP=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{s(this,"SankeyLink")}},eKe=s((t,e,r)=>{w7.push(new IP(t,e,r))},"addLink"),NP=class{constructor(e){this.ID=e}static{s(this,"SankeyNode")}},tKe=s(t=>{t=$e.sanitizeText(t,le());let e=k7.get(t);return e===void 0&&(e=new NP(t),k7.set(t,e),T7.push(e)),e},"findOrCreateNode"),rKe=s(()=>T7,"getNodes"),nKe=s(()=>w7,"getLinks"),iKe=s(()=>({nodes:T7.map(t=>({id:t.ID})),links:w7.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Hpe={nodesMap:k7,getConfig:s(()=>le().sankey,"getConfig"),getNodes:rKe,getLinks:nKe,getGraph:iKe,addLink:eKe,findOrCreateNode:tKe,getAccTitle:Gr,setAccTitle:Ar,getAccDescription:Ur,setAccDescription:Vr,getDiagramTitle:Qr,setDiagramTitle:an,clear:Jje}});function Hx(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r<i||r===void 0&&i>=i)&&(r=i)}return r}var Xpe=_(()=>{"use strict";s(Hx,"max")});function i1(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var jpe=_(()=>{"use strict";s(i1,"min")});function a1(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Kpe=_(()=>{"use strict";s(a1,"sum")});var OP=_(()=>{"use strict";Xpe();jpe();Kpe()});function aKe(t){return t.target.depth}function PP(t){return t.depth}function BP(t,e){return e-1-t.height}function Yx(t,e){return t.sourceLinks.length?t.depth:e-1}function FP(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?i1(t.sourceLinks,aKe)-1:0}var zP=_(()=>{"use strict";OP();s(aKe,"targetDepth");s(PP,"left");s(BP,"right");s(Yx,"justify");s(FP,"center")});function s1(t){return function(){return t}}var Qpe=_(()=>{"use strict";s(s1,"constant")});function Zpe(t,e){return E7(t.source,e.source)||t.index-e.index}function Jpe(t,e){return E7(t.target,e.target)||t.index-e.index}function E7(t,e){return t.y0-e.y0}function $P(t){return t.value}function sKe(t){return t.index}function oKe(t){return t.nodes}function lKe(t){return t.links}function eme(t,e){let r=t.get(e);if(!
${g}${Math.round(D*100)/100}${y}`:R,"getText");h.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",R=>R.x0<f/2?R.x1+6:R.x0-6).attr("y",R=>(R.y1+R.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",R=>R.x0<f/2?"start":"end").text(T);let C=h.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(x.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),E=a?.linkColor??"gradient";if(E==="gradient"){let R=C.append("linearGradient").attr("id",D=>(D.uid=Xx.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",D=>D.source.x1).attr("x2",D=>D.target.x0);R.append("stop").attr("offset","0%").attr("stop-color",D=>w(D.source.id)),R.append("stop").attr("offset","100%").attr("stop-color",D=>w(D.target.id))}let S;switch(E){case"gradient":S=s(R=>R.uid,"coloring");break;case"source":S=s(R=>w(R.source.id),"coloring");break;case"target":S=s(R=>w(R.target.id),"coloring");break;default:S=E}C.append("path").attr("d",_7()).attr("stroke",S).attr("stroke-width",R=>Math.max(1,R.width)),ql(void 0,h,0,p)},"draw"),yme={draw:yKe}});var xme,bme=_(()=>{"use strict";xme=s(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim(),"prepareTextForParsing")});var kme={};ur(kme,{diagram:()=>xKe});var vKe,xKe,wme=_(()=>{"use strict";Wpe();Ype();vme();bme();vKe=Wx.parse.bind(Wx);Wx.parse=t=>vKe(xme(t));xKe={parser:Wx,db:Hpe,renderer:yme}});var Cme,HP,TKe,EKe,CKe,SKe,_Ke,Tf,YP=_(()=>{"use strict";zs();Pl();pr();Ci();Cme={packet:[]},HP=structuredClone(Cme),TKe=dr.packet,EKe=s(()=>{let t=ms({...TKe,..._r().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),CKe=s(()=>HP.packet,"getPacket"),SKe=s(t=>{t.length>0&&HP.packet.push(t)},"pushWord"),_Ke=s(()=>{br(),HP=structuredClone(Cme)},"clear"),Tf={pushWord:SKe,getPacket:CKe,getConfig:EKe,clear:_Ke,setAccTitle:Ar,getAccTitle:Gr,setDiagramTitle:an,getDiagramTitle:Qr,getAccDescription:Ur,setAccDescription:Vr}});var AKe,LKe,DKe,Sme,_me=_(()=>{"use strict";V2();it();kw();YP();AKe=1e4,LKe=s(t=>{dg(t,Tf);let e=-1,r=[],n=1,{bitsPerRow:i}=Tf.getConfig();for(let{start:a,end:o,label:l}of t.blocks){if(o&&o<a)throw new Error(`Packet block ${a} - ${o} is invalid. End must be greater than start.`);if(a!==e+1)throw new Error(`Packet block ${a} - ${o??a} is not contiguous. It should start from ${e+1}.`);for(e=o??a,V.debug(`Packet block ${a} - ${e} with label ${l}`);r.length<=i+1&&Tf.getPacket().length<AKe;){let[u,h]=DKe({start:a,end:o,label:l},n,i);if(r.push(u),u.end+1===n*i&&(Tf.pushWord(r),r=[],n++),!h)break;({start:a,end:o,label:l}=h)}}Tf.pushWord(r)},"populate"),DKe=s((t,e,r)=>{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*r?[t,void 0]:[{start:t.start,end:e*r-1,label:t.label},{start:e*r,end:t.end,label:t.label}]},"getNextFittingBlock"),Sme={parse:s(async t=>{let e=await Bu("packet",t);V.debug(e),LKe(e)},"parse")}});var RKe,MKe,Ame,Lme=_(()=>{"use strict";p0();Un();RKe=s((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:o,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=o+l,m=p*(f.length+1)-(d?0:o),g=u*h+2,y=Bo(e);y.attr("viewbox",`0 0 ${g} ${m}`),xr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())MKe(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),MKe=s((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*o+1,m=(d.end-d.start+1)*o-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),Ame={draw:RKe}});var IKe,Dme,Rme=_(()=>{"use strict";pr();IKe={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},Dme=s(({packet:t}={})=>{let e=ms(IKe,t);return`
.packetByte {
font-size: ${e.byteFontSize};
}
.packetByte.start {
fill: ${e.startByteColor};
}
.packetByte.end {
fill: ${e.endByteColor};
}
.packetLabel {
fill: ${e.labelColor};
font-size: ${e.labelFontSize};
}
.packetTitle {
fill: ${e.titleColor};
font-size: ${e.titleFontSize};
}
.packetBlock {
stroke: ${e.blockStrokeColor};
stroke-width: ${e.blockStrokeWidth};
fill: ${e.blockFillColor};
}
`},"styles")});var Mme={};ur(Mme,{diagram:()=>NKe});var NKe,Ime=_(()=>{"use strict";YP();_me();Lme();Rme();NKe={parser:Sme,db:Tf,renderer:Ame,styles:Dme}});var XP,Pme,Bme=_(()=>{"use strict";XP=function(){var t=s(function(k,A,w,T){for(w=w||{},T=k.length;T--;w[k[T]]=A);return w},"o"),e=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],o=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,21,28,29,30,31,32,40,44,47],d=[1,23],p=[1,24],m=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],y=[1,49],v={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:s(function(A,w,T,C,E,S,R){var D=S.length-1;switch(E){case 4:C.getLogger().debug("Rule: separator (NL) ");break;case 5:C.getLogger().debug("Rule: separator (Space) ");break;case 6:C.getLogger().debug("Rule: separator (EOF) ");break;case 7:C.getLogger().debug("Rule: hierarchy: ",S[D-1]),C.setHierarchy(S[D-1]);break;case 8:C.getLogger().debug("Stop NL ");break;case 9:C.getLogger().debug("Stop EOF ");break;case 10:C.getLogger().debug("Stop NL2 ");break;case 11:C.getLogger().debug("Stop EOF2 ");break;case 12:C.getLogger().debug("Rule: statement: ",S[D]),typeof S[D].length=="number"?this.$=S[D]:this.$=[S[D]];break;case 13:C.getLogger().debug("Rule: statement #2: ",S[D-1]),this.$=[S[D-1]].concat(S[D]);break;case 14:C.getLogger().debug("Rule: link: ",S[D],A),this.$={edgeTypeStr:S[D],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",S[D-3],S[D-1],S[D]),this.$={edgeTypeStr:S[D],label:S[D-1]};break;case 18:let L=parseInt(S[D]),P=C.generateId();this.$={id:P,type:"space",label:"",width:L,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",S[D-2],S[D-1],S[D]," typestr: ",S[D-1].edgeTypeStr);let M=C.edgeStrToEdgeData(S[D-1].edgeTypeStr);this.$=[{id:S[D-2].id,label:S[D-2].label,type:S[D-2].type,directions:S[D-2].directions},{id:S[D-2].id+"-"+S[D].id,start:S[D-2].id,end:S[D].id,label:S[D-1].label,type:"edge",directions:S[D].directions,arrowTypeEnd:M,arrowTypeStart:"arrow_open"},{id:S[D].id,label:S[D].label,type:C.typeStr2Type(S[D].typeStr),directions:S[D].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",S[D-1],S[D]),this.$={id:S[D-1].id,label:S[D-1].label,type:C.typeStr2Type(S[D-1].typeStr),directions:S[D-1].directions,widthInColumns:parseInt(S[D],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",S[D]),this.$={id:S[D].id,label:S[D].label,type:C.typeStr2Type(S[D].typeStr),directions:S[D].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",S[D]),this.$={type:"column-setting",columns:S[D]==="auto"?-1:parseInt(S[D])};break;case
`+z.showPosition()+`
Expecting `+j.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":De="Parse error on line "+(L+1)+": Unexpected "+(ce==I?"end of input":"'"+(this.terminals_[ce]||ce)+"'"),this.parseError(De,{text:z.match,token:this.terminals_[ce]||ce,line:z.yylineno,loc:$,expected:j})}if(ne[0]instanceof Array&&ne.length>1)throw new Error("Parse Error: multiple actions possible at state: "+fe+", token: "+ce);switch(ne[0]){case 1:T.push(ce),E.push(z.yytext),S.push(z.yylloc),T.push(ne[1]),ce=null,Z?(ce=Z,Z=null):(P=z.yyleng,D=z.yytext,L=z.yylineno,$=z.yylloc,M>0&&M--);break;case 2:if(ie=this.productions_[ne[1]][1],K.$=E[E.length-ie],K._$={first_line:S[S.length-(ie||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(ie||1)].first_column,last_column:S[S.length-1].last_column},W&&(K._$.range=[S[S.length-(ie||1)].range[0],S[S.length-1].range[1]]),Q=this.performAction.apply(K,[D,P,L,N.yy,ne[1],E,S].concat(O)),typeof Q<"u")return Q;ie&&(T=T.slice(0,-1*ie*2),E=E.slice(0,-1*ie),S=S.slice(0,-1*ie)),T.push(this.productions_[ne[1]][0]),E.push(K.$),S.push(K._$),ye=R[T[T.length-2]][T[T.length-1]],T.push(ye);break;case 3:return!0}}return!0},"parse")},x=function(){var k={EOF:1,parseError:s(function(w,T){if(this.yy.parser)this.yy.parser.parseError(w,T);else throw new Error(w)},"parseError"),setInput:s(function(A,w){return this.yy=w||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var w=A.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:s(function(A){var w=A.length,T=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var C=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===C.length?this.yylloc.first_column:0)+C[C.length-T.length].length-T[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(A){this.unput(this.match.slice(A))},"less"),pastInput:s(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var A=this.pastInput(),w=new Array(A.length+1).join("-");return A+this.upcomingInput()+`
`+w+"^"},"showPosition"),test_match:s(function(A,w){var T,C,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),C=A[0].match(/(?:\r\n?|\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],T=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var S in E)this[S]=E[S];return!1}return!1},"test_match"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,w,T,C;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),S=0;S<E.length;S++)if(T=this._input.match(this.rules[E[S]]),T&&(!w||T[0].length>w[0].length)){if(w=T,C=S,this.options.backtrack_lexer){if(A=this.test_match(T,E[S]),A!==!1)return A;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(A=this.test_match(w,E[C]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var w=this.next();return w||this.lex()},"lex"),begin:s(function(w){this.conditionStack.push(w)},"begin"),popState:s(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:s(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:s(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:s(function(w){this.begin(w)},"pushState"),stateStackSize:s(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:s(function(w,T,C,E){var S=E;switch(C){case 0:return 10;case 1:return w.getLogger().debug("Found space-block"),31;break;case 2:return w.getLogger().debug("Found nl-block"),31;break;case 3:return w.getLogger().debug("Found space-block"),29;break;case 4:w.getLogger().debug(".",T.yytext);break;case 5:w.getLogger().debug("_",T.yytext);break;case 6:return 5;case 7:return T.yytext=-1,28;break;case 8:return T.yytext=T.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",T.yytext),28;break;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:w.getLogger().debug("LEX: POPPING STR:",T.yytext),this.popState();break;case 14:return w.getLogger().debug("LEX: STR end:",T.yytext),"STR";break;case 15:return T.yytext=T.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",T.yytext),21;break;case 16:return T.yytext="1",w.getLogger().debug("COLUMNS (LEX)",T.yytext),21;break;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;break;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 22:return this.popState(),this.pushState("CLASSDEFID"),41;break;case 23:return this.popState(),42;break;case 24:return this.pushState("CLASS"),44;break;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;break;case 26:return this.popState(),46;break;case 27:return this.pushState("STYLE_STMNT"),47;break;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;break;case 29:return this.popState(),49;break;case 30:return this.pushState("acc_title"),"acc_title";break;case 31:return this.popState(),"acc_title_value";break;case 32:return this.pushState("acc_descr"),"acc_descr";break;case 33:return this.popState(),"acc_descr_value";break;case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("
font-family: ${t.fontFamily};
color: ${t.nodeTextColor||t.textColor};
}
.cluster-label text {
fill: ${t.titleColor};
}
.cluster-label span,p {
color: ${t.titleColor};
}
.label text,span,p {
fill: ${t.nodeTextColor||t.textColor};
color: ${t.nodeTextColor||t.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: 1px;
}
.flowchart-label text {
text-anchor: middle;
}
// .flowchart-label .text-outer-tspan {
// text-anchor: middle;
// }
// .flowchart-label .text-inner-tspan {
// text-anchor: start;
// }
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${t.arrowheadColor};
}
.edgePath .path {
stroke: ${t.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${t.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${L7(t.edgeLabelBackground,.5)};
// background-color:
}
.node .cluster {
// fill: ${L7(t.mainBkg,.5)};
fill: ${L7(t.clusterBkg,.5)};
stroke: ${L7(t.clusterBorder,.2)};
box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
stroke-width: 1px;
}
.cluster text {
fill: ${t.titleColor};
}
.cluster span,p {
color: ${t.titleColor};
}
/* .cluster div {
color: ${t.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${t.fontFamily};
font-size: 12px;
background: ${t.tertiaryColor};
border: 1px solid ${t.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
`,"getStyles"),Wme=iQe});function aQe(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function ZP(t,e,r=0,n=0){V.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)ZP(m,e);let o=sQe(t);i=o.width,a=o.height,V.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(V.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+li*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,V.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)ZP(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l<u&&(h=l);let f=Math.ceil(u/h),d=h*(i+li)+li,p=f*(a+li)+li;if(d<r){V.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${r} sieblingHeight ${n} width ${d}`),d=r,p=n;let m=(r-h*li-li)/h,g=(n-f*li-li)/f;V.debug("Size indata abc88",t.id,"childWidth",m,"maxWidth",i),V.debug("Size indata abc88",t.id,"childHeight",g,"maxHeight",a),V.debug("Size indata abc88 xSize",h,"padding",li);for(let y of t.children)y.size&&(y.size.width=m,y.size.height=g,y.size.x=0,y.size.y=0)}if(V.debug(`abc95 (finale calc) ${t.id} xSize ${h} ySize ${f} columns ${l}${t.children.length} width=${Math.max(d,t.size?.width||0)}`),d<(t?.size?.width||0)){d=t?.size?.width||0;let m=l>0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*li-li)/m;V.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}V.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function Yme(t,e){V.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(V.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*li;V.debug("widthOfChildren 88",i,"posX");let a=0;V.debug("abc91 block?.size?.x",t.id,t?.size?.x);let o=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-li,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=aQe(r,a);if(m!=l&&(l=m,o=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-li,V.debug("New row in layout for block",t.id," and child ",u.id,l)),V.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${li}`),h.size){let g=f/2;u.size.x=o+li+g,V.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${o} new startingPosX${u.size.x} ${g} padding=${li} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),o=u.size.x+g,u.size.y=h.size.y-h.size.height/2+m*(d+li)+d/2+li,V.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${o}${li}${g}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&Yme(u,e),a+=u?.widthInColumns??1,V.debug("abc88 columnsPos",u,a)}}V.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function Xme(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:o,width:l,height:u}=t.size;a-l/2<e&&(e=a-l/2),o-u/2<r&&(r=o-u/2),a+l/2>n&&(n=a+l/2),o+u/2>i&&(i=o+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=Xme(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function jme(t){let e=t.getBlock("root
`);let n=Bo(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),xr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),kO={draw:xGe},Xhe=kO;var bGe={db:{},renderer:kO,parser:{parse:s(()=>{},"parse")}},jhe=bGe;var Khe="flowchart-elk",kGe=s((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),wGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Nk(),Ik));return{id:Khe,diagram:t}},"loader"),TGe={id:Khe,detector:kGe,loader:wGe},Qhe=TGe;var Tfe="timeline",VGe=s(t=>/^\s*timeline/.test(t),"detector"),UGe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wfe(),kfe));return{id:Tfe,diagram:t}},"loader"),qGe={id:Tfe,detector:VGe,loader:UGe},Efe=qGe;var Upe="mindmap",Kje=s(t=>/^\s*mindmap/.test(t),"detector"),Qje=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Vpe(),Gpe));return{id:Upe,diagram:t}},"loader"),Zje={id:Upe,detector:Kje,loader:Qje},qpe=Zje;var Tme="sankey",bKe=s(t=>/^\s*sankey-beta/.test(t),"detector"),kKe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(wme(),kme));return{id:Tme,diagram:t}},"loader"),wKe={id:Tme,detector:bKe,loader:kKe},Eme=wKe;var Nme="packet",OKe=s(t=>/^\s*packet-beta/.test(t),"detector"),PKe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ime(),Mme));return{id:Nme,diagram:t}},"loader"),Ome={id:Nme,detector:OKe,loader:PKe};var sge="block",fQe=s(t=>/^\s*block-beta/.test(t),"detector"),dQe=s(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(age(),ige));return{id:sge,diagram:t}},"loader"),pQe={id:sge,detector:fQe,loader:dQe},oge=pQe;Mf();gt();var lge=!1,o1=s(()=>{lge||(lge=!0,Gf("error",jhe,t=>t.toLowerCase().trim()==="error"),Gf("---",{db:{clear:s(()=>{},"clear")},styles:{},renderer:{draw:s(()=>{},"draw")},parser:{parse:s(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:s(()=>null,"init")},t=>t.toLowerC
`;try{W1(i)}catch{let h=RB(i);if(!h)throw new W0(`Diagram ${i} not found.`);let{id:f,diagram:d}=await h();Gf(f,d)}let{db:a,parser:o,renderer:l,init:u}=W1(i);return o.parser&&(o.parser.yy=a),a.clear?.(),u?.(n),r.title&&a.setDiagramTitle?.(r.title),await o.parse(e),new t(i,e,a,o,l)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}};var Age=[];var Lge=s(()=>{Age.forEach(t=>{t()}),Age=[]},"attachFunctions");it();lC();xb();var _1e=ka(yE(),1);Qt();mk();var gQe="graphics-document document";function Dge(t,e){t.attr("role",gQe),e!==""&&t.attr("aria-roledescription",e)}s(Dge,"setA11yDiagramInfo");function Rge(t,e,r,n){if(t.insert!==void 0){if(r){let i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){let i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}s(Rge,"addSVGa11yTitleDescription");var Mge=s(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");hb();function Xge(t){return typeof t>"u"||t===null}s(Xge,"isNothing");function yQe(t){return typeof t=="object"&&t!==null}s(yQe,"isObject");function vQe(t){return Array.isArray(t)?t:Xge(t)?[]:[t]}s(vQe,"toArray");function xQe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;r<n;r+=1)i=a[r],t[i]=e[i];return t}s(xQe,"extend");function bQe(t,e){var r="",n;for(n=0;n<e;n+=1)r+=t;return r}s(bQe,"repeat");function kQe(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}s(kQe,"isNegativeZero");var wQe=Xge,TQe=yQe,EQe=vQe,CQe=bQe,SQe=kQe,_Qe=xQe,Fi={isNothing:wQe,isObject:TQe,toArray:EQe,repeat:CQe,isNegativeZero:SQe,extend:_Qe};function jge(t,e){var r="",n=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+=`
`+t.mark.snippet),n+" "+r):n}s(jge,"formatError");function eb(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=jge(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}s(eb,"YAMLException$1");eb.prototype=Object.create(Error.prototype);eb.prototype.constructor=eb;eb.prototype.toString=s(function(e){return this.name+": "+jge(this,e)},"toString");var Ns=eb;function nB(t,e,r,n,i){var a="",o="",l=Math.floor(i/2)-1;return n-e>l&&(a=" ... ",e=n-l+a.length),r-n>l&&(o=" ...",r=n+l-o.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+o,pos:n-e+a.length}}s(nB,"getLine");function iB(t,e){return Fi.repeat(" ",e-t.length)+t}s(iB,"padStart");function AQe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,o=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(o-u<0);u++)h=nB(t.buffer,n[o-u],i[o-u],t.position-(n[o]-n[o-u]),d),l=Fi.repeat(" ",e.indent)+iB((t.line-u+1).toString(),f)+" | "+h.str+`
`+l;for(h=nB(t.buffer,n[o],i[o],t.position,d),l+=Fi.repeat(" ",e.indent)+iB((t.line+1).toString(),f)+" | "+h.str+`
`,l+=Fi.repeat("-",e.indent+f+3+h.pos)+`^
`,u=1;u<=e.linesAfter&&!(o+u>=i.length);u++)h=nB(t.buffer,n[o+u],i[o+u],t.position-(n[o]-n[o+u]),d),l+=Fi.repeat(" ",e.indent)+iB((t.line+u+1).toString(),f)+" | "+h.str+`
`;return l.replace(/\n$/,"")}s(AQe,"makeSnippet");var LQe=AQe,DQe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],RQe=["scalar","sequence","mapping"];function MQe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}s(MQe,"compileStyleAliases");function IQe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(DQe.indexOf(r)===-1)throw new Ns('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=MQe(e.styleAliases||null),RQe.indexOf(this.kind)===-1)throw new Ns('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}s(IQe,"Type$1");var Na=IQe;function Ige(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,o){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=o)}),r[i]=n}),r}s(Ige,"compileList");function NQe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(s(n,"collectType"),e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(n);return t}s(NQe,"compileMap");function sB(t){return this.extend(t)}s(sB,"Schema$1");sB.prototype.extend=s(function(e){var r=[],n=[];if(e instanceof Na)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new Ns("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Na))throw new Ns("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new Ns("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new Ns("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof Na))throw new Ns("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(sB.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=Ige(i,"implicit"),i.compiledExplicit=Ige(i,"explicit"),i.compiledTypeMap=NQe(i.compiledImplicit,i.compiledExplicit),i},"extend");var OQe=sB,PQe=new Na("tag:yaml.org,2002:str",{kind:"scalar",construct:s(function(t){return t!==null?t:""},"construct")}),BQe=new Na("tag:yaml.org,2002:seq",{kind:"sequence",construct:s(function(t){return t!==null?t:[]},"construct")}),FQe=new Na("tag:yaml.org,2002:map",{kind:"mapping",construct:s(function(t){return t!==null?t:{}},"construct")}),zQe=new OQe({explicit:[PQe,BQe,FQe]});function $Qe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}s($Qe,"resolveYamlNull");function GQe(){return null}s(GQe,"constructYamlNull");function VQe(t){return t===null}s(VQe,"isNull");var UQe=new Na("tag:yaml.org,2002:null",{kind:"scalar",resolve:$Qe,construct:GQe,predicate:VQe,represent:{canonical:s(function(){return"~"},"canonical"),lowercase:s(function(){return"null"},"lowercase"),uppercase:s(function(){return"NULL"},"uppercase"),camelcase:s(function(){return"Null"},"camelcase"),empty:s(function(){return""},"empty")},defaultStyle:"lowercase"});function qQe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}s(qQe,"resolveYamlBoolean");function WQe(
\r`;function mZe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=hB;for(r=0;r<i;r++)if(e=a.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;n+=6}return n%8===0}s(mZe,"resolveYamlBinary");function gZe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=hB,o=0,l=[];for(e=0;e<i;e++)e%4===0&&e&&(l.push(o>>16&255),l.push(o>>8&255),l.push(o&255)),o=o<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(o>>16&255),l.push(o>>8&255),l.push(o&255)):r===18?(l.push(o>>10&255),l.push(o>>2&255)):r===12&&l.push(o>>4&255),new Uint8Array(l)}s(gZe,"constructYamlBinary");function yZe(t){var e="",r=0,n,i,a=t.length,o=hB;for(n=0;n<a;n++)n%3===0&&n&&(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):i===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):i===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}s(yZe,"representYamlBinary");function vZe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}s(vZe,"isBinary");var xZe=new Na("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mZe,construct:gZe,predicate:vZe,represent:yZe}),bZe=Object.prototype.hasOwnProperty,kZe=Object.prototype.toString;function wZe(t){if(t===null)return!0;var e=[],r,n,i,a,o,l=t;for(r=0,n=l.length;r<n;r+=1){if(i=l[r],o=!1,kZe.call(i)!=="[object Object]")return!1;for(a in i)if(bZe.call(i,a))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(a)===-1)e.push(a);else return!1}return!0}s(wZe,"resolveYamlOmap");function TZe(t){return t!==null?t:[]}s(TZe,"constructYamlOmap");var EZe=new Na("tag:yaml.org,2002:omap",{kind:"sequence",resolve:wZe,construct:TZe}),CZe=Object.prototype.toString;function SZe(t){if(t===null)return!0;var e,r,n,i,a,o=t;for(a=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(n=o[e],CZe.call(n)!=="[object Object]"||(i=Object.keys(n),i.length!==1))return!1;a[e]=[i[0],n[i[0]]]}return!0}s(SZe,"resolveYamlPairs");function _Ze(t){if(t===null)return[];var e,r,n,i,a,o=t;for(a=new Array(o.length),e=0,r=o.length;e<r;e+=1)n=o[e],i=Object.keys(n),a[e]=[i[0],n[i[0]]];return a}s(_Ze,"constructYamlPairs");var AZe=new Na("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:SZe,construct:_Ze}),LZe=Object.prototype.hasOwnProperty;function DZe(t){if(t===null)return!0;var e,r=t;for(e in r)if(LZe.call(r,e)&&r[e]!==null)return!1;return!0}s(DZe,"resolveYamlSet");function RZe(t){return t!==null?t:{}}s(RZe,"constructYamlSet");var MZe=new Na("tag:yaml.org,2002:set",{kind:"mapping",resolve:DZe,construct:RZe}),Jge=lZe.extend({implicit:[fZe,pZe],explicit:[xZe,EZe,AZe,MZe]}),Sf=Object.prototype.hasOwnProperty,$7=1,e1e=2,t1e=3,G7=4,aB=1,IZe=2,Nge=3,NZe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,OZe=/[\x85\u2028\u2029]/,PZe=/[,\[\]\{\}]/,r1e=/^(?:!|!!|![a-z\-]+!)$/i,n1e=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Oge(t){return Object.prototype.toString.call(t)}s(Oge,"_class");function Bc(t){return t===10||t===13}s(Bc,"is_EOL");function q0(t){return t===9||t===32}s(q0,"is_WHITE_SPACE");function Os(t){return t===9||t===32||t===10||t===13}s(Os,"is_WS_OR_EOL");function d1(t){return t===44||t===91||t===93||t===123||t===125}s(d1,"is_FLOW_INDICATOR");function BZe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}s(BZe,"fromHexCode");function FZe(t){return t===120?2:t===117?4:t===85?8:0}s(FZe,"escapedHexLen");function zZe(t){return 48<=t&&t<=57?t-48:-1}s(zZe,"fromDecimalCode");function Pge(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}s(Pge,"simpleEscapeSequence");function $Ze(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}s($Ze,"charFromCodepoint");var i1e=new Array(256),a1e=new Array(256);for(U0=0;U0<256;U0++)i1e[U0]=Pge(U0)?1:0,a1e[U0]=Pge(U0);var U0;function GZe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Jge,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}s(GZe,"State$1");function s1e(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=LQe(r),new Ns(e,r)}s(s1e,"generateError");function Lt(t,e){throw s1e(t,e)}s(Lt,"throwError");function V7(t,e){t.onWarning&&t.onWarning.call(null,s1e(t,e))}s(V7,"throwWarning");var Bge={YAML:s(function(e,r,n){var i,a,o;e.version!==null&&Lt(e,"duplication of %YAML directive"),n.length!==1&&Lt(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Lt(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),o=parseInt(i[2],10),a!==1&&Lt(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&V7(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:s(function(e,r,n){var i,a;n.length!==2&&Lt(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],r1e.test(i)||Lt(e,"ill-formed tag handle (first argument) of the TAG directive"),Sf.call(e.tagMap,i)&&Lt(e,'there is a previously declared suffix for "'+i+'" tag handle'),n1e.test(a)||Lt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Lt(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function Cf(t,e,r,n){var i,a,o,l;if(e<r){if(l=t.input.slice(e,r),n)for(i=0,a=l.length;i<a;i+=1)o=l.charCodeAt(i),o===9||32<=o&&o<=1114111||Lt(t,"expected valid JSON character");else NZe.test(l)&&Lt(t,"the stream contains non-printable characters");t.result+=l}}s(Cf,"captureSegment");function Fge(t,e,r,n){var i,a,o,l;for(Fi.isObject(r)||Lt(t,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(r),o=0,l=i.length;o<l;o+=1)a=i[o],Sf.call(e,a)||(e[a]=r[a],n[a]=!0)}s(Fge,"mergeMappings");function p1(t,e,r,n,i,a,o,l,u){var h,f;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),h=0,f=i.length;h<f;h+=1)Array.isArray(i[h])&&Lt(t,"nested arrays are not supported inside keys"),typeof i=="object"&&Oge(i[h])==="[object Object]"&&(i[h]="[object Object]");if(typeof i=="object"&&Oge(i)==="[object Object]"&&(i="[object Object]"),i=String(i),e===null&&(e={}),n==="tag:yaml.org,2002:merge")if(Array.isArray(a))for(h=0,f=a.length;h<f;h+=1)Fge(t,e,a[h],r);else Fge(t,e,a,r);else!t.json&&!Sf.call(r,i)&&Sf.call(e,i)&&(t.line=o||t.line,t.lineStart=l||t.lineStart,t.position=u||t.position,Lt(t,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(e,i,{configurable:!0,enumerable:!0,writable:!0,value:a}):e[i]=a,delete r[i];return e}s(p1,"storeMappingPair");function fB(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Lt(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}s(fB,"readLineBreak");function yi(t,e,r){for(var n=0,i=t.input.charCodeAt(t.position);i!==0;){for(;q0(i);)i===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&i===35)do i=t.input.charCodeAt(++t.position);while(i!==10&&i!==13&&i!==0);if(Bc(i))for(fB(t),i=t.input.charCodeAt(t.position),n++,t.lineIndent=0;i===32;)t.lineIndent++,i=t.input.charCodeAt(++t.position);else break}r
`,e-1))}s(dB,"writeFoldedLines");function VZe(t,e,r){var n,i,a,o,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Os(m)||d1(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Os(i)||r&&d1(i)))return!1;for(t.kind="scalar",t.result="",a=o=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Os(i)||r&&d1(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Os(n))break}else{if(t.position===t.lineStart&&W7(t)||r&&d1(m))break;if(Bc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,yi(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Cf(t,a,o,!1),dB(t,t.line-u),a=o=t.position,l=!1),q0(m)||(o=t.position+1),m=t.input.charCodeAt(++t.position)}return Cf(t,a,o,!1),t.result?!0:(t.kind=d,t.result=p,!1)}s(VZe,"readPlainScalar");function UZe(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Cf(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else Bc(r)?(Cf(t,n,i,!0),dB(t,yi(t,!1,e)),n=i=t.position):t.position===t.lineStart&&W7(t)?Lt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Lt(t,"unexpected end of the stream within a single quoted scalar")}s(UZe,"readSingleQuotedScalar");function qZe(t,e){var r,n,i,a,o,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Cf(t,r,t.position,!0),t.position++,!0;if(l===92){if(Cf(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),Bc(l))yi(t,!1,e);else if(l<256&&i1e[l])t.result+=a1e[l],t.position++;else if((o=FZe(l))>0){for(i=o,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(o=BZe(l))>=0?a=(a<<4)+o:Lt(t,"expected hexadecimal character");t.result+=$Ze(a),t.position++}else Lt(t,"unknown escape sequence");r=n=t.position}else Bc(l)?(Cf(t,r,n,!0),dB(t,yi(t,!1,e)),r=n=t.position):t.position===t.lineStart&&W7(t)?Lt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Lt(t,"unexpected end of the stream within a double quoted scalar")}s(qZe,"readDoubleQuotedScalar");function WZe(t,e){var r=!0,n,i,a,o=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(yi(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=o,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&Lt(t,"expected the node content, but found ','"):Lt(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Os(h)&&(d=p=!0,t.position++,yi(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,m1(t,e,$7,!1,!0),v=t.tag,y=t.result,yi(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),yi(t,!0,e),m1(t,e,$7,!1,!0),x=t.result),m?p1(t,l,g,v,y,x,n,i,a):d?l.push(p1(t,null,g,v,y,x,n,i,a)):l.push(y),yi(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Lt(t,"unexpected end of the stream within a flow collection")}s(WZe,"readFlowCollection");function HZe(t,e){var r,n,i=aB,a=!1,o=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)aB===i?i=d===43?Nge:IZe:Lt(t,"repeat of a chomping mode identifier");else if((f=zZe(d))>=0)f===0?Lt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Lt(t,"repeat of an indentation width identifier"):(l=e+f-1,o=!0);else break;if(q0(d)){do d=t.input.charCodeAt(++t.position)
`,a?1+u:u):i===aB&&a&&(t.result+=`
`);break}for(n?q0(d)?(h=!0,t.result+=Fi.repeat(`
`,a?1+u:u)):h?(h=!1,t.result+=Fi.repeat(`
`,u+1)):u===0?a&&(t.result+=" "):t.result+=Fi.repeat(`
`,u):t.result+=Fi.repeat(`
`,a?1+u:u),a=!0,o=!0,u=0,r=t.position;!Bc(d)&&d!==0;)d=t.input.charCodeAt(++t.position);Cf(t,r,t.position,!1)}return!0}s(HZe,"readBlockScalar");function zge(t,e){var r,n=t.tag,i=t.anchor,a=[],o,l=!1,u;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),u=t.input.charCodeAt(t.position);u!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Lt(t,"tab characters must not be used in indentation")),!(u!==45||(o=t.input.charCodeAt(t.position+1),!Os(o))));){if(l=!0,t.position++,yi(t,!0,-1)&&t.lineIndent<=e){a.push(null),u=t.input.charCodeAt(t.position);continue}if(r=t.line,m1(t,e,t1e,!1,!0),a.push(t.result),yi(t,!0,-1),u=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&u!==0)Lt(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return l?(t.tag=n,t.anchor=i,t.kind="sequence",t.result=a,!0):!1}s(zge,"readBlockSequence");function YZe(t,e,r){var n,i,a,o,l,u,h=t.tag,f=t.anchor,d={},p=Object.create(null),m=null,g=null,y=null,v=!1,x=!1,b;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=d),b=t.input.charCodeAt(t.position);b!==0;){if(!v&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Lt(t,"tab characters must not be used in indentation")),n=t.input.charCodeAt(t.position+1),a=t.line,(b===63||b===58)&&Os(n))b===63?(v&&(p1(t,d,p,m,g,null,o,l,u),m=g=y=null),x=!0,v=!0,i=!0):v?(v=!1,i=!0):Lt(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,b=n;else{if(o=t.line,l=t.lineStart,u=t.position,!m1(t,r,e1e,!1,!0))break;if(t.line===a){for(b=t.input.charCodeAt(t.position);q0(b);)b=t.input.charCodeAt(++t.position);if(b===58)b=t.input.charCodeAt(++t.position),Os(b)||Lt(t,"a whitespace character is expected after the key-value separator within a block mapping"),v&&(p1(t,d,p,m,g,null,o,l,u),m=g=y=null),x=!0,v=!1,i=!1,m=t.tag,g=t.result;else if(x)Lt(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=h,t.anchor=f,!0}else if(x)Lt(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=h,t.anchor=f,!0}if((t.line===a||t.lineIndent>e)&&(v&&(o=t.line,l=t.lineStart,u=t.position),m1(t,e,G7,!0,i)&&(v?g=t.result:y=t.result),v||(p1(t,d,p,m,g,y,o,l,u),m=g=y=null),yi(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Lt(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return v&&p1(t,d,p,m,g,null,o,l,u),x&&(t.tag=h,t.anchor=f,t.kind="mapping",t.result=d),x}s(YZe,"readBlockMapping");function XZe(t){var e,r=!1,n=!1,i,a,o;if(o=t.input.charCodeAt(t.position),o!==33)return!1;if(t.tag!==null&&Lt(t,"duplication of a tag property"),o=t.input.charCodeAt(++t.position),o===60?(r=!0,o=t.input.charCodeAt(++t.position)):o===33?(n=!0,i="!!",o=t.input.charCodeAt(++t.position)):i="!",e=t.position,r){do o=t.input.charCodeAt(++t.position);while(o!==0&&o!==62);t.position<t.length?(a=t.input.slice(e,t.position),o=t.input.charCodeAt(++t.position)):Lt(t,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!Os(o);)o===33&&(n?Lt(t,"tag suffix cannot contain exclamation marks"):(i=t.input.slice(e-1,t.position+1),r1e.test(i)||Lt(t,"named tag handle cannot contain such characters"),n=!0,e=t.position+1)),o=t.input.charCodeAt(++t.position);a=t.input.slice(e,t.position),PZe.test(a)&&Lt(t,"tag suffix cannot contain flow indicator characters")}a&&!n1e.test(a)&&Lt(t,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{Lt(t,"tag name is malformed: "+a)}return r?t.tag=a:Sf.call(t.tagMap,i)?t.tag=t.tagMap[i]+a:i==="!"?t.tag="!"+a:i==="!!"?t.tag="tag:yaml.org,2002:"+a:Lt(t,'undeclared tag handle "'+i+'"'),!0}s(XZe,"readTagProperty");function jZe(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&Lt(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Os(r)&&!d1(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Lt(t,"name of an anchor node must contain at least one character"),t.anchor=t.input
`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new GZe(t,e),n=t.indexOf("\0");for(n!==-1&&(r.position=n,Lt(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)QZe(r);return r.documents}s(o1e,"loadDocuments");function ZZe(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var n=o1e(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i<a;i+=1)e(n[i])}s(ZZe,"loadAll$1");function JZe(t,e){var r=o1e(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new Ns("expected a single document in the stream, but found more")}}s(JZe,"load$1");var eJe=ZZe,tJe=JZe,l1e={loadAll:eJe,load:tJe},c1e=Object.prototype.toString,u1e=Object.prototype.hasOwnProperty,pB=65279,rJe=9,tb=10,nJe=13,iJe=32,aJe=33,sJe=34,oB=35,oJe=37,lJe=38,cJe=39,uJe=42,h1e=44,hJe=45,U7=58,fJe=61,dJe=62,pJe=63,mJe=64,f1e=91,d1e=93,gJe=96,p1e=123,yJe=124,m1e=125,Oa={};Oa[0]="\\0";Oa[7]="\\a";Oa[8]="\\b";Oa[9]="\\t";Oa[10]="\\n";Oa[11]="\\v";Oa[12]="\\f";Oa[13]="\\r";Oa[27]="\\e";Oa[34]='\\"';Oa[92]="\\\\";Oa[133]="\\N";Oa[160]="\\_";Oa[8232]="\\L";Oa[8233]="\\P";var vJe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],xJe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function bJe(t,e){var r,n,i,a,o,l,u;if(e===null)return{};for(r={},n=Object.keys(e),i=0,a=n.length;i<a;i+=1)o=n[i],l=String(e[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),u=t.compiledTypeMap.fallback[o],u&&u1e.call(u.styleAliases,l)&&(l=u.styleAliases[l]),r[o]=l;return r}s(bJe,"compileStyleMap");function kJe(t){var e,r,n;if(e=t.toString(16).toUpperCase(),t<=255)r="x",n=2;else if(t<=65535)r="u",n=4;else if(t<=4294967295)r="U",n=8;else throw new Ns("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+Fi.repeat("0",n-e.length)+e}s(kJe,"encodeHex");var wJe=1,rb=2;function TJe(t){this.schema=t.schema||Jge,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=Fi.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=bJe(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType=t.quotingType==='"'?rb:wJe,this.forceQuotes=t.forceQuotes||!1,this.replacer=typeof t.replacer=="function"?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}s(TJe,"State");function $ge(t,e){for(var r=Fi.repeat(" ",e),n=0,i=-1,a="",o,l=t.length;n<l;)i=t.indexOf(`
`,n),i===-1?(o=t.slice(n),n=l):(o=t.slice(n,i+1),n=i+1),o.length&&o!==`
`&&(a+=r),a+=o;return a}s($ge,"indentString");function lB(t,e){return`
`+Fi.repeat(" ",t.indent*e)}s(lB,"generateNextLine");function EJe(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r<n;r+=1)if(i=t.implicitTypes[r],i.resolve(e))return!0;return!1}s(EJe,"testImplicitResolving");function q7(t){return t===iJe||t===rJe}s(q7,"isWhitespace");function nb(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==pB||65536<=t&&t<=1114111}s(nb,"isPrintable");function Gge(t){return nb(t)&&t!==pB&&t!==nJe&&t!==tb}s(Gge,"isNsCharOrWhitespace");function Vge(t,e,r){var n=Gge(t),i=n&&!q7(t);return(r?n:n&&t!==h1e&&t!==f1e&&t!==d1e&&t!==p1e&&t!==m1e)&&t!==oB&&!(e===U7&&!i)||Gge(e)&&!q7(e)&&t===oB||e===U7&&i}s(Vge,"isPlainSafe");function CJe(t){return nb(t)&&t!==pB&&!q7(t)&&t!==hJe&&t!==pJe&&t!==U7&&t!==h1e&&t!==f1e&&t!==d1e&&t!==p1e&&t!==m1e&&t!==oB&&t!==lJe&&t!==uJe&&t!==aJe&&t!==yJe&&t!==fJe&&t!==dJe&&t!==cJe&&t!==sJe&&t!==oJe&&t!==mJe&&t!==gJe}s(CJe,"isPlainSafeFirst");function SJe(t){return!q7(t)&&t!==U7}s(SJe,"isPlainSafeLast");function Jx(t,e){var r=t.charCodeAt(e),n;return r>=55296&&r<=56319&&e+1<t.length&&(n=t.charCodeAt(e+1),n>=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}s(Jx,"codePointAt");function g1e(t){var e=/^\n* /;return e.test(t)}s(g1e,"needIndentIndicator");var y1e=1,cB=2,v1e=3,x1e=4,f1=5;function _Je(t,e,r,n,i,a,o,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=CJe(Jx(t,0))&&SJe(Jx(t,t.length-1));if(e||o)for(u=0;u<t.length;h>=65536?u+=2:u++){if(h=Jx(t,u),!nb(h))return f1;y=y&&Vge(h,f,l),f=h}else{for(u=0;u<t.length;h>=65536?u+=2:u++){if(h=Jx(t,u),h===tb)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!nb(h))return f1;y=y&&Vge(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!o&&!i(t)?y1e:a===rb?f1:cB:r>9&&g1e(t)?f1:o?a===rb?f1:cB:p?x1e:v1e}s(_Je,"chooseScalarStyle");function AJe(t,e,r,n,i){t.dump=function(){if(e.length===0)return t.quotingType===rb?'""':"''";if(!t.noCompatMode&&(vJe.indexOf(e)!==-1||xJe.test(e)))return t.quotingType===rb?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),o=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return EJe(t,h)}switch(s(u,"testAmbiguity"),_Je(e,l,t.indent,o,u,t.quotingType,t.forceQuotes&&!n,i)){case y1e:return e;case cB:return"'"+e.replace(/'/g,"''")+"'";case v1e:return"|"+Uge(e,t.indent)+qge($ge(e,a));case x1e:return">"+Uge(e,t.indent)+qge($ge(LJe(e,o),a));case f1:return'"'+DJe(e)+'"';default:throw new Ns("impossible error: invalid scalar style")}}()}s(AJe,"writeScalar");function Uge(t,e){var r=g1e(t)?String(e):"",n=t[t.length-1]===`
`,i=n&&(t[t.length-2]===`
`||t===`
`),a=i?"+":n?"":"-";return r+a+`
`}s(Uge,"blockHeader");function qge(t){return t[t.length-1]===`
`?t.slice(0,-1):t}s(qge,"dropEndingNewline");function LJe(t,e){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=t.indexOf(`
`);return h=h!==-1?h:t.length,r.lastIndex=h,Wge(t.slice(0,h),e)}(),i=t[0]===`
`||t[0]===" ",a,o;o=r.exec(t);){var l=o[1],u=o[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?`
`:"")+Wge(u,e),i=a}return n}s(LJe,"foldString");function Wge(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,o=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=o>i?o:l,u+=`
`+t.slice(i,a),i=a+1),o=l;return u+=`
`,t.length-i>e&&o>i?u+=t.slice(i,o)+`
`+t.slice(o+1):u+=t.slice(i),u.slice(1)}s(Wge,"foldLine");function DJe(t){for(var e="",r=0,n,i=0;i<t.length;r>=65536?i+=2:i++)r=Jx(t,i),n=Oa[r],!n&&nb(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||kJe(r);return e}s(DJe,"escapeString");function RJe(t,e,r){var n="",i=t.tag,a,o,l;for(a=0,o=r.length;a<o;a+=1)l=r[a],t.replacer&&(l=t.replacer.call(r,String(a),l)),(Ku(t,e,l,!1,!1)||typeof l>"u"&&Ku(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}s(RJe,"writeFlowSequence");function Hge(t,e,r,n){var i="",a=t.tag,o,l,u;for(o=0,l=r.length;o<l;o+=1)u=r[o],t.replacer&&(u=t.replacer.call(r,String(o),u)),(Ku(t,e+1,u,!0,!0,!1,!0)||typeof u>"u"&&Ku(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=lB(t,e)),t.dump&&tb===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}s(Hge,"writeBlockSequence");function MJe(t,e,r){var n="",i=t.tag,a=Object.keys(r),o,l,u,h,f;for(o=0,l=a.length;o<l;o+=1)f="",n!==""&&(f+=", "),t.condenseFlow&&(f+='"'),u=a[o],h=r[u],t.replacer&&(h=t.replacer.call(r,u,h)),Ku(t,e,u,!1,!1)&&(t.dump.length>1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Ku(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}s(MJe,"writeFlowMapping");function IJe(t,e,r,n){var i="",a=t.tag,o=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Ns("sortKeys must be a boolean or a function");for(l=0,u=o.length;l<u;l+=1)p="",(!n||i!=="")&&(p+=lB(t,e)),h=o[l],f=r[h],t.replacer&&(f=t.replacer.call(r,h,f)),Ku(t,e+1,h,!0,!0,!0)&&(d=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,d&&(t.dump&&tb===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=lB(t,e)),Ku(t,e+1,f,!0,d)&&(t.dump&&tb===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}s(IJe,"writeBlockMapping");function Yge(t,e,r){var n,i,a,o,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,o=i.length;a<o;a+=1)if(l=i[a],(l.instanceOf||l.predicate)&&(!l.instanceOf||typeof e=="object"&&e instanceof l.instanceOf)&&(!l.predicate||l.predicate(e))){if(r?l.multi&&l.representName?t.tag=l.representName(e):t.tag=l.tag:t.tag="?",l.represent){if(u=t.styleMap[l.tag]||l.defaultStyle,c1e.call(l.represent)==="[object Function]")n=l.represent(e,u);else if(u1e.call(l.represent,u))n=l.represent[u](e,u);else throw new Ns("!<"+l.tag+'> tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}s(Yge,"detectType");function Ku(t,e,r,n,i,a,o){t.tag=null,t.dump=r,Yge(t,r,!1)||Yge(t,r,!0);var l=c1e.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(IJe(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(MJe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!o&&e>0?Hge(t,e-1,t.dump,i):Hge(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(RJe(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&AJe(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Ns("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}s(Ku,"writeNode");function NJe(t,e){var r=[],n=[],i,a;for(uB(t,r,n),i=0,a=n.length;i<a;i+=1)e.duplicates.push(r[n[i]]);e.usedDuplicates=new Array(a)}s(NJe,"getDuplicateReferences");function uB(t,e,r){var n,i,a;if(t!==null&&typeof t=="object")if(i=e.indexOf(t),i!==-1)r.indexOf(i)===-1&&r.push(i);else if(e.push(t),Array.isArray(t))for(i=0,a=t.length;i<a;i+=1)uB(t[i],e,r);else for(n=Object.keys(t),i=0,a=n.length;i<a;i+=1)uB(t[n[i]],e,r)}s(uB,"inspectNode");function OJ
`:""}s(OJe,"dump$1");var PJe=OJe,BJe={dump:PJe};function mB(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}s(mB,"renamed");var b1e=Kge;var k1e=l1e.load,ghr=l1e.loadAll,yhr=BJe.dump;var vhr=mB("safeLoad","load"),xhr=mB("safeLoadAll","loadAll"),bhr=mB("safeDump","dump");function w1e(t){let e=t.match(ub);if(!e)return{text:t,metadata:{}};let r=k1e(e[1],{schema:b1e})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}s(w1e,"extractFrontMatter");pr();var zJe=s(t=>t.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),$Je=s(t=>{let{text:e,metadata:r}=w1e(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),GJe=s(t=>{let e=dt.detectInit(t)??{},r=dt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:eY(t),directive:e}},"processDirectives");function gB(t){let e=zJe(t),r=$Je(e),n=GJe(r.text),i=ms(r.config,n.directive);return t=Mge(n.text),{code:t,title:r.title,config:i}}s(gB,"preprocessDiagram");pr();function T1e(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}s(T1e,"toBase64");Y0();var VJe=5e4,UJe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",qJe="sandbox",WJe="loose",HJe="http://www.w3.org/2000/svg",YJe="http://www.w3.org/1999/xlink",XJe="http://www.w3.org/1999/xhtml",jJe="100%",KJe="100%",QJe="border:0;margin:0;",ZJe="margin:0",JJe="allow-top-navigation-by-user-activation allow-popups",eet='The "iframe" tag is not supported by your browser.',tet=["foreignobject"],ret=["dominant-baseline"];function A1e(t){let e=gB(t);return I1(),CF(e.config??{}),e}s(A1e,"processAndSetConfigs");async function net(t,e){o1();try{let{code:r}=A1e(t);return{diagramType:(await L1e(r)).type}}catch(r){if(e?.suppressErrors)return!1;throw r}}s(net,"parse");var E1e=s((t,e,r=[])=>`
.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),iet=s((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=`
${t.themeCSS}`),t.fontFamily!==void 0&&(r+=`
:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=`
:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let o=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Vt(l.styles)||o.forEach(u=>{r+=E1e(l.id,u,l.styles)}),Vt(l.textStyles)||(r+=E1e(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),aet=s((t,e,r,n)=>{let i=iet(t,r),a=s$(e,i,t.themeVariables);return z7(Sge(`${n}{${a}}`),_ge)},"createUserStyles"),set=s((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Ys(n),n=n.replace(/<br>/g,"<br/>"),n},"cleanUpSvgCode"),oet=s((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":KJe,n=T1e(`<body style="${ZJe}">${t}</body>`);return`<iframe style="width:${jJe};height:${r};${QJe}" src="data:text/html;charset=UTF-8;base64,${n}" sandbox="${JJe}">
${eet}
</iframe>`},"putIntoIFrame"),C1e=s((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",HJe);return i&&o.attr("xmlns:xlink",i),o.append("g"),t},"appendDivSvgG");function S1e(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}s(S1e,"sandboxedIframe");var cet=s((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),uet=s(async function(t,e,r){o1();let n=A1e(e);e=n.code;let i=_r();V.debug(i),e.length>(i?.maxTextSize??VJe)&&(e=UJe);let a="#"+t,o="i"+t,l="#"+o,u="d"+t,h="#"+u,f=s(()=>{let P=Me(p?l:h).node();P&&"remove"in P&&P.remove()},"removeTempElements"),d=Me("body"),p=i.securityLevel===qJe,m=i.securityLevel===WJe,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let L=S1e(Me(r),o);d=Me(L.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Me(r);C1e(d,t,u,`font-family: ${g}`,YJe)}else{if(cet(document,t,u,o),p){let L=S1e(Me("body"),o);d=Me(L.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Me("body");C1e(d,t,u)}let y,v;try{y=await h1.fromText(e,{title:n.title})}catch(L){if(i.suppressErrorRendering)throw f(),L;y=await h1.fromText("error"),v=L}let x=d.select(h).node(),b=y.type,k=x.firstChild,A=k.firstChild,w=y.renderer.getClasses?.(e,y),T=aet(i,b,w,a),C=document.createElement("style");C.innerHTML=T,k.insertBefore(C,A);try{await y.renderer.draw(e,t,X2,y)}catch(L){throw i.suppressErrorRendering?f():Xhe.draw(e,t,X2),L}let E=d.select(`${h} svg`),S=y.db.getAccTitle?.(),R=y.db.getAccDescription?.();fet(b,E,S,R),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",XJe);let D=d.select(h).node().innerHTML;if(V.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),D=set(D,p,hr(i.arrowMarkerAbsolute)),p){let L=d.select(h+" svg").node();D=oet(D,L)}else m||(D=_1e.default.sanitize(D,{ADD_TAGS:tet,ADD_ATTR:ret}));if(Lge(),v)throw v;return f(),{diagramType:b,svg:D,bindFunctions:y.db.bindFunctions}},"render");function het(t={}){let e=An({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),wF(e),e?.theme&&e.theme in po?e.themeVariables=po[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=po.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?dE(e):pE();E1(r.logLevel),o1()}s(het,"initialize");var L1e=s((t,e={})=>{let{code:r}=gB(t);return h1.fromText(r,e)},"getDiagramFromText");function fet(t,e,r,n){Dge(e,t),Rge(e,r,n,e.attr("id"))}s(fet,"addA11yInfo");var _f=Object.freeze({render:uet,parse:net,getDiagramFromText:L1e,initialize:het,getConfig:_r,setConfig:kb,getSiteConfig:pE,updateSiteConfig:TF,reset:s(()=>{I1()},"reset"),globalReset:s(()=>{I1(ih)},"globalReset"),defaultConfig:ih});E1(_r().logLevel);I1(_r());Rk();pr();var det=s((t,e,r)=>{V.warn(t),fA(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),D1e=s(async function(t={querySelector:".mermaid"}){try{await pet(t)}catch(e){if(fA(e)&&V.error(e.str),Qu.parseError&&Qu.parseError(e),!t.suppressErrors)throw V.error("Use the suppressErrors option to suppress these errors"),e}},"run"),pet=s(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=_f.getConfig();V.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");V.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(V.debug("Start On Load: "+n?.startOnLoad),_f.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new dt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),o,l=[];for(let u of Array.from(i)){V.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;o=u.innerHTML,o=lb(dt.entityDecode(o
/*! Check if previously processed */
/*!
* Wait for document loaded before starting the execution
*/
/*! Bundled license information:
dompurify/dist/purify.js:
(*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE *)
lodash-es/lodash.js:
(**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="es" -o ./`
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*)
cytoscape/dist/cytoscape.esm.mjs:
(*!
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
Licensed under The MIT License (http://opensource.org/licenses/MIT)
*)
(*!
Event object based on jQuery events, MIT license
https://jquery.org/license/
https://tldrlegal.com/license/mit-license
https://github.com/jquery/jquery/blob/master/src/event.js
*)
(*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
(*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *)
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
*/
globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default;