Lines Matching refs:Jg

59 `)},Jg=()=>Pgt,S2=i=>{Ngt=Fgt(i)},Zg=()=>Ngt,uBt=Object.freeze(Object.defineProperty({__proto__:null,clear:ag,getAccDescription:Jg,getAccTitle:Xg,getDiagramTitle:Zg,setAccDescription:Qg,setAccTitle:og,setDiagramTitle:S2},Symbol.toStringTag,{value:"Module"})),gPe=Kt,pPe=d0t,Re=o1,bPe=qFt,lBt=cD,wPe=i=>Ef(i,Re()),hBt=w8,mPe=()=>uBt,vY={},yY=(i,a,f)=>{var g;if(vY[i])throw new Error(`Diagram ${i} already registered.`);vY[i]=a,f&&GPt(i,f),fPe(i,a.styles),(g=a.injectUtils)==null||g.call(a,gPe,pPe,Re,wPe,hBt,mPe(),()=>{})},Bgt=i=>{if(i in vY)return vY[i];throw new vPe(i)};class vPe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const FF=i=>{var w;const{securityLevel:a}=Re();let f=Tr("body");if(a==="sandbox"){const b=((w=Tr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=Tr(b.body)}return f.select(`#${i}`)},fBt={draw:(i,a,f)=>{Kt.debug(`rendering svg for syntax error

92 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Nn=this.next();return Nn||this.lex()},begin:function(Nn){this.conditionStack.push(Nn)},popState:function(){var Nn=this.conditionStack.length-1;return Nn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Nn){return Nn=this.conditionStack.length-1-Math.abs(Nn||0),Nn>=0?this.conditionStack[Nn]:"INITIAL"},pushState:function(Nn){this.begin(Nn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Nn,Bn,ke,pe){switch(ke){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:return this.begin("node"),39;case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return br}();ga.lexer=Ss;function za(){this.yy={}}return za.prototype=ga,ga.Parser=za,new za}();SY.parser=SY;const xRe=SY;let Wv=[],y8=[""],ep="global",Yv="",i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],jF=[],Qgt="",Jgt=!1,_Y=4,AY=2;var rRt;const kRe=function(){return rRt},ERe=function(i){rRt=Ef(i,Re())},TRe=function(i,a,f,g,w,v,b,E,S){if(i==null||a===void 0||a===null||f===void 0||f===null||g===void 0||g===null)return;let _={};const M=jF.find(F=>F.from===a&&F.to===f);if(M?_=M:jF.push(_),_.type=i,_.from=a,_.to=f,_.label={text:g},w==null)_.techn={text:""};else if(typeof w=="object"){let[F,R]=Object.entries(w)[0];_[F]={text:R}}else _.techn={text:w};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[F,R]=Object.entries(v)[0];_[F]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[F,R]=Object.entries(b)[0];_[F]=R}else _.sprite=b;if(typeof E=="object"){let[F,R]=Object.entries(E)[0];_[F]=R}else _.tags=E;if(typeof S=="object"){let[F,R]=Object.entries(S)[0];_[F]=R}else _.link=S;_.wrap=x8()},CRe=function(i,a,f,g,w,v,b){if(a===null||f===null)return;let E={};const S=Wv.find(_=>_.alias===a);if(S&&a===S.alias?E=S:(E.alias=a,Wv.push(E)),f==null?E.label={text:""}:E.label={text:f},g==null)E.descr={text:""};else if(typeof g=="object"){let[_,M]=Object.entries(g)[0];E[_]={text:M}}else E.descr={text:g};if(typeof w=="object"){let[_,M]=Object.entries(w)[0];E[_]=M}else E.sprite=w;if(typeof v=="object"){let[_,M]=Object.entries(v)[0];E[_]=M}else E.tags=v;if(typeof b=="object"){let[_,M]=Object.entries(b)[0];E[_]=M}else E.link=b;E.typeC4Shape={text:i},E.parentBoundary=ep,E.wrap=x8()},SRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},_Re=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=Wv.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,Wv.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.techn={text:""};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.techn={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof v=="object"){let[M,F]=Object.entries(v)[0];S[M]=F}else S.sprite=v;if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.wrap=x8(),S.typeC4Shape={text:i},S.parentBoundary=ep},ARe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"system"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},LRe=function(i,a,f,g,w){if(i===null||a===null)return;let v={};const b=i4.find(E=>E.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,i4.push(v)),a==null?v.label={text:""}:v.label={text:a},f==null)v.type={text:"container"};else if(typeof f=="object"){let[E,S]=Object.entries(f)[0];v[E]={text:S}}else v.type={text:f};if(typeof g=="object"){let[E,S]=Object.entries(g)[0];v[E]=S}else v.tags=g;if(typeof w=="object"){let[E,S]=Object.entries(w)[0];v[E]=S}else v.link=w;v.parentBoundary=ep,v.wrap=x8(),Yv=ep,ep=i,y8.push(Yv)},DRe=function(i,a,f,g,w,v,b,E){if(a===null||f===null)return;let S={};const _=i4.find(M=>M.alias===a);if(_&&a===_.alias?S=_:(S.alias=a,i4.push(S)),f==null?S.label={text:""}:S.label={text:f},g==null)S.type={text:"node"};else if(typeof g=="object"){let[M,F]=Object.entries(g)[0];S[M]={text:F}}else S.type={text:g};if(w==null)S.descr={text:""};else if(typeof w=="object"){let[M,F]=Object.entries(w)[0];S[M]={text:F}}else S.descr={text:w};if(typeof b=="object"){let[M,F]=Object.entries(b)[0];S[M]=F}else S.tags=b;if(typeof E=="object"){let[M,F]=Object.entries(E)[0];S[M]=F}else S.link=E;S.nodeType=i,S.parentBoundary=ep,S.wrap=x8(),Yv=ep,ep=a,y8.push(Yv)},MRe=function(){ep=Yv,y8.pop(),Yv=y8.pop(),y8.push(Yv)},IRe=function(i,a,f,g,w,v,b,E,S,_,M){let F=Wv.find(R=>R.alias===a);if(!(F===void 0&&(F=i4.find(R=>R.alias===a),F===void 0))){if(f!=null)if(typeof f=="object"){let[R,B]=Object.entries(f)[0];F[R]=B}else F.bgColor=f;if(g!=null)if(typeof g=="object"){let[R,B]=Object.entries(g)[0];F[R]=B}else F.fontColor=g;if(w!=null)if(typeof w=="object"){let[R,B]=Object.entries(w)[0];F[R]=B}else F.borderColor=w;if(v!=null)if(typeof v=="object"){let[R,B]=Object.entries(v)[0];F[R]=B}else F.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,B]=Object.entries(b)[0];F[R]=B}else F.shape=b;if(E!=null)if(typeof E=="object"){let[R,B]=Object.entries(E)[0];F[R]=B}else F.sprite=E;if(S!=null)if(typeof S=="object"){let[R,B]=Object.entries(S)[0];F[R]=B}else F.techn=S;if(_!=null)if(typeof _=="object"){let[R,B]=Object.entries(_)[0];F[R]=B}else F.legendText=_;if(M!=null)if(typeof M=="object"){let[R,B]=Object.entries(M)[0];F[R]=B}else F.legendSprite=M}},ORe=function(i,a,f,g,w,v,b){const E=jF.find(S=>S.from===a&&S.to===f);if(E!==void 0){if(g!=null)if(typeof g=="object"){let[S,_]=Object.entries(g)[0];E[S]=_}else E.textColor=g;if(w!=null)if(typeof w=="object"){let[S,_]=Object.entries(w)[0];E[S]=_}else E.lineColor=w;if(v!=null)if(typeof v=="object"){let[S,_]=Object.entries(v)[0];E[S]=parseInt(_)}else E.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[S,_]=Object.entries(b)[0];E[S]=parseInt(_)}else E.offsetY=parseInt(b)}},NRe=function(i,a,f){let g=_Y,w=AY;if(typeof a=="object"){const v=Object.values(a)[0];g=parseInt(v)}else g=parseInt(a);if(typeof f=="object"){const v=Object.values(f)[0];w=parseInt(v)}else w=parseInt(f);g>=1&&(_Y=g),w>=1&&(AY=w)},PRe=function(){return _Y},FRe=function(){return AY},BRe=function(){return ep},RRe=function(){return Yv},iRt=function(i){return i==null?Wv:Wv.filter(a=>a.parentBoundary===i)},jRe=function(i){return Wv.find(a=>a.alias===i)},$Re=function(i){return Object.keys(iRt(i))},zRe=function(i){return i==null?i4:i4.filter(a=>a.parentBoundary===i)},qRe=function(){return jF},HRe=function(){return Qgt},VRe=function(i){Jgt=i},x8=function(){return Jgt},Zgt={addPersonOrSystem:CRe,addPersonOrSystemBoundary:ARe,addContainer:SRe,addContainerBoundary:LRe,addComponent:_Re,addDeploymentNode:DRe,popBoundaryParseStack:MRe,addRel:TRe,updateElStyle:IRe,updateRelStyle:ORe,updateLayoutConfig:NRe,autoWrap:x8,setWrap:VRe,getC4ShapeArray:iRt,getC4Shape:jRe,getC4ShapeKeys:$Re,getBoundarys:zRe,getCurrentBoundaryParse:BRe,getParentBoundaryParse:RRe,getRels:qRe,getTitle:HRe,getC4Type:kRe,getC4ShapeInRow:PRe,getC4BoundaryInRow:FRe,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,getConfig:()=>Re().c4,clear:function(){Wv=[],i4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Yv="",ep="global",y8=[""],jF=[],y8=[""],Qgt="",Jgt=!1,_Y=4,AY=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(i){Qgt=Ef(i,Re())},setC4Type:ERe},LY=(i,a)=>{const f=i.append("rect");if(f.attr("x",a.x),f.attr("y",a.y),f.attr("fill",a.fill),f.attr("stroke",a.stroke),f.attr("width",a.width),f.attr("height",a.height),a.rx!==void 0&&f.attr("rx",a.rx),a.ry!==void 0&&f.attr("ry",a.ry),a.attrs!==void 0)for(const g in a.attrs)f.attr(g,a.attrs[g]);return a.class!==void 0&&f.attr("class",a.class),f},sRt=(i,a)=>{const f={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};LY(i,f).lower()},URe=(i,a)=>{const f=a.text.replace(xF," "),g=i.append("text");g.attr("x",a.x),g.attr("y",a.y),g.attr("class","legend"),g.style("text-anchor",a.anchor),a.class!==void 0&&g.attr("class",a.class);const w=g.append("tspan");return w.attr("x",a.x+a.textMargin*2),w.text(f),g},GRe=(i,a,f,g)=>{const w=i.append("image");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",v)},KRe=(i,a,f,g)=>{const w=i.append("use");w.attr("x",a),w.attr("y",f);const v=h8(g);w.attr("xlink:href",`#${v}`)},_9=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),tpt=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),ept=function(i,a){return LY(i,a)},aRt=function(i,a,f,g,w,v){const b=i.append("image");b.attr("width",a),b.attr("height",f),b.attr("x",g),b.attr("y",w);let E=v.startsWith("data:image/png;base64")?v:h8(v);b.attr("xlink:href",E)},WRe=(i,a,f)=>{const g=i.append("g");let w=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",E=v.lineColor?v.lineColor:"#444444",S=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,M="";if(w===0){let R=g.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",E),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)"),w=-1}else{let R=g.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",E).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+M+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+M+"#arrowend)")}let F=f.messageFont();Nx(f)(v.label.text,g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},F),v.techn&&v.techn.text!==""&&(F=f.messageFont(),Nx(f)("["+v.techn.text+"]",g,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+S,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+f.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},F))}},YRe=function(i,a,f){const g=i.append("g");let w=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",E={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(E={"stroke-width":1});let S={x:a.x,y:a.y,fill:w,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:E};ept(g,S);let _=f.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,Nx(f)(a.label.text,g,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},_),a.type&&a.type.text!==""&&(_=f.boundaryFont(),_.fontColor=b,Nx(f)(a.type.text,g,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},_)),a.descr&&a.descr.text!==""&&(_=f.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,Nx(f)(a.descr.text,g,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},_))},XRe=function(i,a,f){var F;let g=a.bgColor?a.bgColor:f[a.typeC4Shape.text+"_bg_color"],w=a.borderColor?a.borderColor:f[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const E=i.append("g");E.attr("class","person-man");const S=_9();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":S.x=a.x,S.y=a.y,S.fill=g,S.width=a.width,S.height=a.height,S.stroke=w,S.rx=2.5,S.ry=2.5,S.attrs={"stroke-width":.5},ept(E,S);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":E.append("path").attr("fill",g).attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),E.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",w).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let _=sje(f,a.typeC4Shape.text);switch(E.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":aRt(E,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let M=f[a.typeC4Shape.text+"Font"]();return M.fontWeight="bold",M.fontSize=M.fontSize+2,M.fontColor=v,Nx(f)(a.label.text,E,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},M),M=f[a.typeC4Shape.text+"Font"](),M.fontColor=v,a.techn&&((F=a.techn)==null?void 0:F.text)!==""?Nx(f)(a.techn.text,E,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},M):a.type&&a.type.text!==""&&Nx(f)(a.type.text,E,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},M),a.descr&&a.descr.text!==""&&(M=f.personFont(),M.fontColor=v,Nx(f)(a.descr.text,E,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},M)),a.height},QRe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},JRe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},ZRe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},tje=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},eje=function(i){i.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},nje=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},rje=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},ije=function(i){const f=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);f.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),f.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},sje=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),Nx=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{fontSize:R,fontFamily:B,fontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("dy",ot).text(Y[nt]).attr("alignment-baseline","mathematical"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),s4={drawRect:ept,drawBoundary:YRe,drawC4Shape:XRe,drawRels:WRe,drawImage:aRt,insertArrowHead:tje,insertArrowEnd:eje,insertArrowFilledHead:nje,insertDynamicNumber:rje,insertArrowCrossHead:ije,insertDatabaseIcon:QRe,insertComputerIcon:JRe,insertClockIcon:ZRe};let DY=0,MY=0,oRt=4,npt=2;SY.yy=Zgt;let Cs={};class cRt{constructor(a){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,rpt(a.db.getConfig())}setData(a,f,g,w){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=f,this.nextData.starty=this.data.starty=g,this.nextData.stopy=this.data.stopy=w}updateVal(a,f,g,w){a[f]===void 0?a[f]=g:a[f]=w(g,a[f])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let f=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+a.margin*2,g=f+a.width,w=this.nextData.starty+a.margin*2,v=w+a.height;(f>=this.data.widthLimit||g>=this.data.widthLimit||this.nextData.cnt>oRt)&&(f=this.nextData.startx+a.margin+Cs.nextLinePaddingX,w=this.nextData.stopy+a.margin*2,this.nextData.stopx=g=f+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=w+a.height,this.nextData.cnt=1),a.x=f,a.y=w,this.updateVal(this.data,"startx",f,Math.min),this.updateVal(this.data,"starty",w,Math.min),this.updateVal(this.data,"stopx",g,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",f,Math.min),this.updateVal(this.nextData,"starty",w,Math.min),this.updateVal(this.nextData,"stopx",g,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},rpt(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const rpt=function(i){Ld(Cs,i),i.fontFamily&&(Cs.personFontFamily=Cs.systemFontFamily=Cs.messageFontFamily=i.fontFamily),i.fontSize&&(Cs.personFontSize=Cs.systemFontSize=Cs.messageFontSize=i.fontSize),i.fontWeight&&(Cs.personFontWeight=Cs.systemFontWeight=Cs.messageFontWeight=i.fontWeight)},$F=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),IY=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),aje=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function Xv(i,a,f,g,w){if(!a[i].width)if(f)a[i].text=LFt(a[i].text,w,g),a[i].textLines=a[i].text.split(ei.lineBreakRegex).length,a[i].width=w,a[i].height=Tgt(a[i].text,g);else{let v=a[i].text.split(ei.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const E of v)a[i].width=Math.max(n4(E,g),a[i].width),b=Tgt(E,g),a[i].height=a[i].height+b}}const uRt=function(i,a,f){a.x=f.data.startx,a.y=f.data.starty,a.width=f.data.stopx-f.data.startx,a.height=f.data.stopy-f.data.starty,a.label.y=Cs.c4ShapeMargin-35;let g=a.wrap&&Cs.wrap,w=IY(Cs);w.fontSize=w.fontSize+2,w.fontWeight="bold";let v=n4(a.label.text,w);Xv("label",a,g,w,v),s4.drawBoundary(i,a,Cs)},lRt=function(i,a,f,g){let w=0;for(const v of g){w=0;const b=f[v];let E=$F(Cs,b.typeC4Shape.text);switch(E.fontSize=E.fontSize-2,b.typeC4Shape.width=n4("«"+b.typeC4Shape.text+"»",E),b.typeC4Shape.height=E.fontSize+2,b.typeC4Shape.Y=Cs.c4ShapePadding,w=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=w,w=b.image.Y+b.image.height);let S=b.wrap&&Cs.wrap,_=Cs.width-Cs.c4ShapePadding*2,M=$F(Cs,b.typeC4Shape.text);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",b,S,M,_),b.label.Y=w+8,w=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let B=$F(Cs,b.typeC4Shape.text);Xv("type",b,S,B,_),b.type.Y=w+5,w=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let B=$F(Cs,b.techn.text);Xv("techn",b,S,B,_),b.techn.Y=w+5,w=b.techn.Y+b.techn.height}let F=w,R=b.label.width;if(b.descr&&b.descr.text!==""){let B=$F(Cs,b.typeC4Shape.text);Xv("descr",b,S,B,_),b.descr.Y=w+20,w=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),F=w-b.descr.textLines*5}R=R+Cs.c4ShapePadding,b.width=Math.max(b.width||Cs.width,R,Cs.width),b.height=Math.max(b.height||Cs.height,F,Cs.height),b.margin=b.margin||Cs.c4ShapeMargin,i.insert(b),s4.drawC4Shape(a,b,Cs)}i.bumpLastMargin(Cs.c4ShapeMargin)};let Jw=class{constructor(a,f){this.x=a,this.y=f}},hRt=function(i,a){let f=i.x,g=i.y,w=a.x,v=a.y,b=f+i.width/2,E=g+i.height/2,S=Math.abs(f-w),_=Math.abs(g-v),M=_/S,F=i.height/i.width,R=null;return g==v&&f<w?R=new Jw(f+i.width,E):g==v&&f>w?R=new Jw(f,E):f==w&&g<v?R=new Jw(b,g+i.height):f==w&&g>v&&(R=new Jw(b,g)),f>w&&g<v?F>=M?R=new Jw(f,E+M*i.width/2):R=new Jw(b-S/_*i.height/2,g+i.height):f<w&&g<v?F>=M?R=new Jw(f+i.width,E+M*i.width/2):R=new Jw(b+S/_*i.height/2,g+i.height):f<w&&g>v?F>=M?R=new Jw(f+i.width,E-M*i.width/2):R=new Jw(b+i.height/2*S/_,g):f>w&&g>v&&(F>=M?R=new Jw(f,E-i.width/2*M):R=new Jw(b-i.height/2*S/_,g)),R},oje=function(i,a){let f={x:0,y:0};f.x=a.x+a.width/2,f.y=a.y+a.height/2;let g=hRt(i,f);f.x=i.x+i.width/2,f.y=i.y+i.height/2;let w=hRt(a,f);return{startPoint:g,endPoint:w}};const cje=function(i,a,f,g){let w=0;for(let v of a){w=w+1;let b=v.wrap&&Cs.wrap,E=aje(Cs);g.db.getC4Type()==="C4Dynamic"&&(v.label.text=w+": "+v.label.text);let _=n4(v.label.text,E);Xv("label",v,b,E,_),v.techn&&v.techn.text!==""&&(_=n4(v.techn.text,E),Xv("techn",v,b,E,_)),v.descr&&v.descr.text!==""&&(_=n4(v.descr.text,E),Xv("descr",v,b,E,_));let M=f(v.from),F=f(v.to),R=oje(M,F);v.startPoint=R.startPoint,v.endPoint=R.endPoint}s4.drawRels(i,a,Cs)};function fRt(i,a,f,g,w){let v=new cRt(w);v.data.widthLimit=f.data.widthLimit/Math.min(npt,g.length);for(let[b,E]of g.entries()){let S=0;E.image={width:0,height:0,Y:0},E.sprite&&(E.image.width=48,E.image.height=48,E.image.Y=S,S=E.image.Y+E.image.height);let _=E.wrap&&Cs.wrap,M=IY(Cs);if(M.fontSize=M.fontSize+2,M.fontWeight="bold",Xv("label",E,_,M,v.data.widthLimit),E.label.Y=S+8,S=E.label.Y+E.label.height,E.type&&E.type.text!==""){E.type.text="["+E.type.text+"]";let z=IY(Cs);Xv("type",E,_,z,v.data.widthLimit),E.type.Y=S+5,S=E.type.Y+E.type.height}if(E.descr&&E.descr.text!==""){let z=IY(Cs);z.fontSize=z.fontSize-2,Xv("descr",E,_,z,v.data.widthLimit),E.descr.Y=S+20,S=E.descr.Y+E.descr.height}if(b==0||b%npt===0){let z=f.data.startx+Cs.diagramMarginX,Y=f.data.stopy+Cs.diagramMarginY+S;v.setData(z,z,Y,Y)}else{let z=v.data.stopx!==v.data.startx?v.data.stopx+Cs.diagramMarginX:v.data.startx,Y=v.data.starty;v.setData(z,z,Y,Y)}v.name=E.alias;let F=w.db.getC4ShapeArray(E.alias),R=w.db.getC4ShapeKeys(E.alias);R.length>0&&lRt(v,i,F,R),a=E.alias;let B=w.db.getBoundarys(a);B.length>0&&fRt(i,a,v,B,w),E.alias!=="global"&&uRt(i,E,v),f.data.stopy=Math.max(v.data.stopy+Cs.c4ShapeMargin,f.data.stopy),f.data.stopx=Math.max(v.data.stopx+Cs.c4ShapeMargin,f.data.stopx),DY=Math.max(DY,f.data.stopx),MY=Math.max(MY,f.data.stopy)}}const dRt={drawPersonOrSystemArray:lRt,drawBoundary:uRt,setConf:rpt,draw:function(i,a,f,g){Cs=Re().c4;const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const b=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body");let E=g.db;g.db.setWrap(Cs.wrap),oRt=E.getC4ShapeInRow(),npt=E.getC4BoundaryInRow(),Kt.debug(`C:${JSON.stringify(Cs,null,2)}`);const S=w==="sandbox"?b.select(`[id="${a}"]`):Tr(`[id="${a}"]`);s4.insertComputerIcon(S),s4.insertDatabaseIcon(S),s4.insertClockIcon(S);let _=new cRt(g);_.setData(Cs.diagramMarginX,Cs.diagramMarginX,Cs.diagramMarginY,Cs.diagramMarginY),_.data.widthLimit=screen.availWidth,DY=Cs.diagramMarginX,MY=Cs.diagramMarginY;const M=g.db.getTitle();let F=g.db.getBoundarys("");fRt(S,"",_,F,g),s4.insertArrowHead(S),s4.insertArrowEnd(S),s4.insertArrowCrossHead(S),s4.insertArrowFilledHead(S),cje(S,g.db.getRels(),g.db.getC4Shape,g),_.data.stopx=DY,_.data.stopy=MY;const R=_.data;let z=R.stopy-R.starty+2*Cs.diagramMarginY;const nt=R.stopx-R.startx+2*Cs.diagramMarginX;M&&S.append("text").text(M).attr("x",(R.stopx-R.startx)/2-4*Cs.diagramMarginX).attr("y",R.starty+Cs.diagramMarginY),sg(S,z,nt,Cs.useMaxWidth);const ot=M?60:0;S.attr("viewBox",R.startx-Cs.diagramMarginX+" -"+(Cs.diagramMarginY+ot)+" "+nt+" "+(z+ot)),Kt.debug("models:",R)}},uje=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:xRe,db:Zgt,renderer:dRt,styles:i=>`.person {
105 You have to call mermaid.initialize.`)},wRt=function(i,a,f){Kt.info("addLink (abc78)",i,a,f);let g,w;for(g=0;g<i.length;g++)for(w=0;w<a.length;w++)bRt(i[g],a[w],f)},mRt=function(i,a){i.forEach(function(f){f==="default"?Qv.defaultInterpolate=a:Qv[f].interpolate=a})},vRt=function(i,a){i.forEach(function(f){if(f>=Qv.length)throw new Error(`The index ${f} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${Qv.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);f==="default"?Qv.defaultStyle=a:(uo.isSubstringInArray("fill",a)===-1&&a.push("fill:none"),Qv[f].style=a)})},yRt=function(i,a){i.split(",").forEach(function(f){wD[f]===void 0&&(wD[f]={id:f,styles:[],textStyles:[]}),a!=null&&a.forEach(function(g){if(g.match("color")){const w=g.replace("fill","bgFill").replace("color","fill");wD[f].textStyles.push(w)}wD[f].styles.push(g)})})},xRt=function(i){Zw=i,Zw.match(/.*</)&&(Zw="RL"),Zw.match(/.*\^/)&&(Zw="BT"),Zw.match(/.*>/)&&(Zw="LR"),Zw.match(/.*v/)&&(Zw="TB"),Zw==="TD"&&(Zw="TB")},jY=function(i,a){i.split(",").forEach(function(f){let g=f;jl[g]!==void 0&&jl[g].classes.push(a),OY[g]!==void 0&&OY[g].classes.push(a)})},hje=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(NY[FY==="gen-1"?zF(f):f]=RY(a))})},fje=function(i,a,f){let g=zF(i);if(Re().securityLevel!=="loose"||a===void 0)return;let w=[];if(typeof f=="string"){w=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<w.length;v++){let b=w[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),w[v]=b}}w.length===0&&w.push(i),jl[i]!==void 0&&(jl[i].haveCallback=!0,BY.push(function(){const v=document.querySelector(`[id="${g}"]`);v!==null&&v.addEventListener("click",function(){uo.runFunc(a,...w)},!1)}))},kRt=function(i,a,f){i.split(",").forEach(function(g){jl[g]!==void 0&&(jl[g].link=uo.formatUrl(a,bD),jl[g].linkTarget=f)}),jY(i,"clickable")},ERt=function(i){if(NY.hasOwnProperty(i))return NY[i]},TRt=function(i,a,f){i.split(",").forEach(function(g){fje(g,a,f)}),jY(i,"clickable")},CRt=function(i){BY.forEach(function(a){a(i)})},SRt=function(){return Zw.trim()},_Rt=function(){return jl},ARt=function(){return Qv},LRt=function(){return wD},DRt=function(i){let a=Tr(".mermaidTooltip");(a._groups||a)[0][0]===null&&(a=Tr("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Tr(i).select("svg").selectAll("g.node").on("mouseover",function(){const w=Tr(this);if(w.attr("title")===null)return;const b=this.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.text(w.attr("title")).style("left",window.scrollX+b.left+(b.right-b.left)/2+"px").style("top",window.scrollY+b.bottom+"px"),a.html(a.html().replace(/&lt;br\/&gt;/g,"<br/>")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Tr(this).classed("hover",!1)})};BY.push(DRt);const MRt=function(i="gen-1"){jl={},wD={},Qv=[],BY=[DRt],Px=[],OY={},PY=0,NY={},apt=!0,FY=i,bD=Re(),ag()},IRt=i=>{FY=i||"gen-2"},ORt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},NRt=function(i,a,f){let g=i.text.trim(),w=f.text;i===f&&f.text.match(/\s/)&&(g=void 0);function v(M){const F={boolean:{},number:{},string:{}},R=[];let B;return{nodeList:M.filter(function(Y){const nt=typeof Y;return Y.stmt&&Y.stmt==="dir"?(B=Y.value,!1):Y.trim()===""?!1:nt in F?F[nt].hasOwnProperty(Y)?!1:F[nt][Y]=!0:R.includes(Y)?!1:R.push(Y)}),dir:B}}let b=[];const{nodeList:E,dir:S}=v(b.concat.apply(b,a));if(b=E,FY==="gen-1")for(let M=0;M<b.length;M++)b[M]=zF(b[M]);g=g||"subGraph"+PY,w=w||"",w=RY(w),PY=PY+1;const _={id:g,nodes:b,title:w.trim(),classes:[],dir:S,labelType:f.type};return Kt.info("Adding",_.id,_.nodes,_.dir),_.nodes=HRt(_,Px).nodes,Px.push(_),OY[g]=_,g},dje=function(i){for(const[a,f]of Px.entries())if(f.id===i)return a;return-1};let qF=-1;const PRt=[],FRt=function(i,a){const f=Px[a].nodes;if(qF=qF+1,qF>2e3)return;if(PRt[qF]=a,Px[a].id===i)return{result:!0,count:0};let g=0,w=1;for(;g<f.length;){const v=dje(f[g]);if(v>=0){const b=FRt(i,v);if(b.result)return{result:!0,count:w+b.count};w=w+b.count}g=g+1}return{result:!1,count:w}},BRt=function(i){return PRt[i]},RRt=function(){qF=-1,Px.length>0&&FRt("none",Px.length-1)},jRt=function(){return Px},$Rt=()=>apt?(apt=!1,!0):!1,gje=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let g="normal";return a.includes("=")&&(g="thick"),a.includes(".")&&(g="dotted"),{type:f,stroke:g}},pje=(i,a)=>{const f=a.length;let g=0;for(let w=0;w<f;++w)a[w]===i&&++g;return g},bje=i=>{const a=i.trim();let f=a.slice(0,-1),g="arrow_open";switch(a.slice(-1)){case"x":g="arrow_cross",a[0]==="x"&&(g="double_"+g,f=f.slice(1));break;case">":g="arrow_point",a[0]==="<"&&(g="double_"+g,f=f.slice(1));break;case"o":g="arrow_circle",a[0]==="o"&&(g="double_"+g,f=f.slice(1));break}let w="normal",v=f.length-1;f[0]==="="&&(w="thick"),f[0]==="~"&&(w="invisible");let b=pje(".",f);return b&&(w="dotted",v=b),{type:g,stroke:w,length:v}},zRt=(i,a)=>{const f=bje(i);let g;if(a){if(g=gje(a),g.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(g.type==="arrow_open")g.type=f.type;else{if(g.type!==f.type)return{type:"INVALID",stroke:"INVALID"};g.type="double_"+g.type}return g.type==="double_arrow"&&(g.type="double_arrow_point"),g.length=f.length,g}return f},qRt=(i,a)=>{let f=!1;return i.forEach(g=>{g.nodes.indexOf(a)>=0&&(f=!0)}),f},HRt=(i,a)=>{const f=[];return i.nodes.forEach((g,w)=>{qRt(a,g)||f.push(i.nodes[w])}),{nodes:f}},VRt={firstGraph:$Rt},A9={defaultConfig:()=>lBt.flowchart,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,addVertex:pRt,lookUpDomId:zF,addLink:wRt,updateLinkInterpolate:mRt,updateLink:vRt,addClass:yRt,setDirection:xRt,setClass:jY,setTooltip:hje,getTooltip:ERt,setClickEvent:TRt,setLink:kRt,bindFunctions:CRt,getDirection:SRt,getVertices:_Rt,getEdges:ARt,getClasses:LRt,clear:MRt,setGen:IRt,defaultStyle:ORt,addSubGraph:NRt,getDepthFirstPos:BRt,indexNodes:RRt,getSubGraphs:jRt,destructLink:zRt,lex:VRt,exists:qRt,makeUniq:HRt,setDiagramTitle:S2,getDiagramTitle:Zg},wje=Object.freeze(Object.defineProperty({__proto__:null,addClass:yRt,addLink:wRt,addSingleLink:bRt,addSubGraph:NRt,addVertex:pRt,bindFunctions:CRt,clear:MRt,default:A9,defaultStyle:ORt,destructLink:zRt,firstGraph:$Rt,getClasses:LRt,getDepthFirstPos:BRt,getDirection:SRt,getEdges:ARt,getSubGraphs:jRt,getTooltip:ERt,getVertices:_Rt,indexNodes:RRt,lex:VRt,lookUpDomId:zF,setClass:jY,setClickEvent:TRt,setDirection:xRt,setGen:IRt,setLink:kRt,updateLink:vRt,updateLinkInterpolate:mRt},Symbol.toStringTag,{value:"Module"}));var mje="[object Symbol]";function L9(i){return typeof i=="symbol"||e4(i)&&b9(i)==mje}function mD(i,a){for(var f=-1,g=i==null?0:i.length,w=Array(g);++f<g;)w[f]=a(i[f],f,i);return w}var vje=1/0,URt=Yw?Yw.prototype:void 0,GRt=URt?URt.toString:void 0;function KRt(i){if(typeof i=="string")return i;if(s1(i))return mD(i,KRt)+"";if(L9(i))return GRt?GRt.call(i):"";var a=i+"";return a=="0"&&1/i==-vje?"-0":a}var yje=/\s/;function xje(i){for(var a=i.length;a--&&yje.test(i.charAt(a)););return a}var kje=/^\s+/;function Eje(i){return i&&i.slice(0,xje(i)+1).replace(kje,"")}var WRt=0/0,Tje=/^[-+]0x[0-9a-f]+$/i,Cje=/^0b[01]+$/i,Sje=/^0o[0-7]+$/i,_je=parseInt;function Aje(i){if(typeof i=="number")return i;if(L9(i))return WRt;if(T2(i)){var a=typeof i.valueOf=="function"?i.valueOf():i;i=T2(a)?a+"":a}if(typeof i!="string")return i===0?i:+i;i=Eje(i);var f=Cje.test(i);return f||Sje.test(i)?_je(i.slice(2),f?2:8):Tje.test(i)?WRt:+i}var YRt=1/0,Lje=17976931348623157e292;function $Y(i){if(!i)return i===0?i:0;if(i=Aje(i),i===YRt||i===-YRt){var a=i<0?-1:1;return a*Lje}return i===i?i:0}function Dje(i){var a=$Y(i),f=a%1;return a===a?f?a-f:a:0}function Mje(){}function XRt(i,a){for(var f=-1,g=i==null?0:i.length;++f<g&&a(i[f],f,i)!==!1;);return i}function QRt(i,a,f,g){for(var w=i.length,v=f+(g?1:-1);g?v--:++v<w;)if(a(i[v],v,i))return v;return-1}function Ije(i){return i!==i}function Oje(i,a,f){for(var g=f-1,w=i.length;++g<w;)if(i[g]===a)return g;return-1}function Nje(i,a,f){return a===a?Oje(i,a,f):QRt(i,Ije,f)}function Pje(i,a){var f=i==null?0:i.length;return!!f&&Nje(i,a,0)>-1}function A2(i){return p8(i)?wFt(i):xBt(i)}var Fje=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Bje=/^\w*$/;function opt(i,a){if(s1(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||L9(i)?!0:Bje.test(i)||!Fje.test(i)||a!=null&&i in Object(a)}var Rje=500;function jje(i){var a=eD(i,function(g){return f.size===Rje&&f.clear(),g}),f=a.cache;return a}var $je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zje=/\\(\\)?/g,qje=jje(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace($je,function(f,g,w,v){a.push(w?v.replace(zje,"$1"):g||f)}),a});const Hje=qje;function JRt(i){return i==null?"":KRt(i)}function zY(i,a){return s1(i)?i:opt(i,a)?[i]:Hje(JRt(i))}var Vje=1/0;function HF(i){if(typeof i=="string"||L9(i))return i;var a=i+"";return a=="0"&&1/i==-Vje?"-0":a}function qY(i,a){a=zY(a,i);for(var f=0,g=a.length;i!=null&&f<g;)i=i[HF(a[f++])];return f&&f==g?i:void 0}function Uje(i,a,f){var g=i==null?void 0:qY(i,a);return g===void 0?f:g}function cpt(i,a){for(var f=-1,g=a.length,w=i.length;++f<g;)i[w+f]=a[f];return i}var ZRt=Yw?Yw.isConcatSpreadable:void 0;function Gje(i){return s1(i)||nD(i)||!!(ZRt&&i&&i[ZRt])}function HY(i,a,f,g,w){var v=-1,b=i.length;for(f||(f=Gje),w||(w=[]);++v<b;){var E=i[v];a>0&&f(E)?a>1?HY(E,a-1,f,g,w):cpt(w,E):g||(w[w.length]=E)}return w}function vD(i){var a=i==null?0:i.length;return a?HY(i,1):[]}function Kje(i){return xFt(yFt(i,void 0,vD),i+"")}function Wje(i,a,f,g){var w=-1,v=i==null?0:i.length;for(g&&v&&(f=i[++w]);++w<v;)f=a(f,i[w],w,i);return f}function Yje(i,a){return i&&LF(a,A2(a),i)}function Xje(i,a){return i&&LF(a,y9(a),i)}function tjt(i,a){for(var f=-1,g=i==null?0:i.length,w=0,v=[];++f<g;){var b=i[f];a(b,f,i)&&(v[w++]=b)}return v}function ejt(){return[]}var Qje=Object.prototype,Jje=Qje.propertyIsEnumerable,njt=Object.getOwnPropertySymbols,Zje=njt?function(i){return i==null?[]:(i=Object(i),tjt(njt(i),function(a){return Jje.call(i,a)}))}:ejt;const upt=Zje;function t$e(i,a){return LF(i,upt(i),a)}var e$e=Object.getOwnPropertySymbols,n$e=e$e?function(i){for(var a=[];i;)cpt(a,upt(i)),i=vgt(i);return a}:ejt;const rjt=n$e;function r$e(i,a){return LF(i,rjt(i),a)}function ijt(i,a,f){var g=a(i);return s1(i)?g:cpt(g,f(i))}function lpt(i){return ijt(i,A2,upt)}function i$e(i){return ijt(i,y9,rjt)}var s$e=Object.prototype,a$e=s$e.hasOwnProperty;function o$e(i){var a=i.length,f=new i.constructor(a);return a&&typeof i[0]=="string"&&a$e.call(i,"index")&&(f.index=i.index,f.input=i.input),f}function c$e(i,a){var f=a?mgt(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.byteLength)}var u$e=/\w*$/;function l$e(i){var a=new i.constructor(i.source,u$e.exec(i));return a.lastIndex=i.lastIndex,a}var sjt=Yw?Yw.prototype:void 0,ajt=sjt?sjt.valueOf:void 0;function h$e(i){return ajt?Object(ajt.call(i)):{}}var f$e="[object Boolean]",d$e="[object Date]",g$e="[object Map]",p$e="[object Number]",b$e="[object RegExp]",w$e="[object Set]",m$e="[object String]",v$e="[object Symbol]",y$e="[object ArrayBuffer]",x$e="[object DataView]",k$e="[object Float32Array]",E$e="[object Float64Array]",T$e="[object Int8Array]",C$e="[object Int16Array]",S$e="[object Int32Array]",_$e="[object Uint8Array]",A$e="[object Uint8ClampedArray]",L$e="[object Uint16Array]",D$e="[object Uint32Array]";function M$e(i,a,f){var g=i.constructor;switch(a){case y$e:return mgt(i);case f$e:case d$e:return new g(+i);case x$e:return c$e(i,f);case k$e:case E$e:case T$e:case C$e:case S$e:case _$e:case A$e:case L$e:case D$e:return nFt(i,f);case g$e:return new g;case p$e:case m$e:return new g(i);case b$e:return l$e(i);case w$e:return new g;case v$e:return h$e(i)}}var I$e="[object Map]";function O$e(i){return e4(i)&&hD(i)==I$e}var ojt=iD&&iD.isMap,N$e=ojt?iY(ojt):O$e;const P$e=N$e;var F$e="[object Set]";function B$e(i){return e4(i)&&hD(i)==F$e}var cjt=iD&&iD.isSet,R$e=cjt?iY(cjt):B$e;const j$e=R$e;var $$e=1,z$e=2,q$e=4,ujt="[object Arguments]",H$e="[object Array]",V$e="[object Boolean]",U$e="[object Date]",G$e="[object Error]",ljt="[object Function]",K$e="[object GeneratorFunction]",W$e="[object Map]",Y$e="[object Number]",hjt="[object Object]",X$e="[object RegExp]",Q$e="[object Set]",J$e="[object String]",Z$e="[object Symbol]",tze="[object WeakMap]",eze="[object ArrayBuffer]",nze="[object DataView]",rze="[object Float32Array]",ize="[object Float64Array]",sze="[object Int8Array]",aze="[object Int16Array]",oze="[object Int32Array]",cze="[object Uint8Array]",uze="[object Uint8ClampedArray]",lze="[object Uint16Array]",hze="[object Uint32Array]",Tl={};Tl[ujt]=Tl[H$e]=Tl[eze]=Tl[nze]=Tl[V$e]=Tl[U$e]=Tl[rze]=Tl[ize]=Tl[sze]=Tl[aze]=Tl[oze]=Tl[W$e]=Tl[Y$e]=Tl[hjt]=Tl[X$e]=Tl[Q$e]=Tl[J$e]=Tl[Z$e]=Tl[cze]=Tl[uze]=Tl[lze]=Tl[hze]=!0,Tl[G$e]=Tl[ljt]=Tl[tze]=!1;function VF(i,a,f,g,w,v){var b,E=a&$$e,S=a&z$e,_=a&q$e;if(f&&(b=w?f(i,g,w,v):f(i)),b!==void 0)return b;if(!T2(i))return i;var M=s1(i);if(M){if(b=o$e(i),!E)return rFt(i,b)}else{var F=hD(i),R=F==ljt||F==K$e;if(rD(i))return eFt(i,E);if(F==hjt||F==ujt||R&&!w){if(b=S||R?{}:aFt(i),!E)return S?r$e(i,Xje(b,i)):t$e(i,Yje(b,i))}else{if(!Tl[F])return w?i:{};b=M$e(i,F,E)}}v||(v=new Gv);var B=v.get(i);if(B)return B;v.set(i,b),j$e(i)?i.forEach(function(nt){b.add(VF(nt,a,f,nt,i,v))}):P$e(i)&&i.forEach(function(nt,ot){b.set(ot,VF(nt,a,f,ot,i,v))});var z=_?S?i$e:lpt:S?y9:A2,Y=M?void 0:z(i);return XRt(Y||i,function(nt,ot){Y&&(ot=nt,nt=i[ot]),aY(b,ot,VF(nt,a,f,ot,i,v))}),b}var fze=4;function fjt(i){return VF(i,fze)}var dze=1,gze=4;function pze(i){return VF(i,dze|gze)}var bze="__lodash_hash_undefined__";function wze(i){return this.__data__.set(i,bze),this}function mze(i){return this.__data__.has(i)}function UF(i){var a=-1,f=i==null?0:i.length;for(this.__data__=new Ix;++a<f;)this.add(i[a])}UF.prototype.add=UF.prototype.push=wze,UF.prototype.has=mze;function vze(i,a){for(var f=-1,g=i==null?0:i.length;++f<g;)if(a(i[f],f,i))return!0;return!1}function djt(i,a){return i.has(a)}var yze=1,xze=2;function gjt(i,a,f,g,w,v){var b=f&yze,E=i.length,S=a.length;if(E!=S&&!(b&&S>E))return!1;var _=v.get(i),M=v.get(a);if(_&&M)return _==a&&M==i;var F=-1,R=!0,B=f&xze?new UF:void 0;for(v.set(i,a),v.set(a,i);++F<E;){var z=i[F],Y=a[F];if(g)var nt=b?g(Y,z,F,a,i,v):g(z,Y,F,i,a,v);if(nt!==void 0){if(nt)continue;R=!1;break}if(B){if(!vze(a,function(ot,ft){if(!djt(B,ft)&&(z===ot||w(z,ot,f,g,v)))return B.push(ft)})){R=!1;break}}else if(!(z===Y||w(z,Y,f,g,v))){R=!1;break}}return v.delete(i),v.delete(a),R}function kze(i){var a=-1,f=Array(i.size);return i.forEach(function(g,w){f[++a]=[w,g]}),f}function hpt(i){var a=-1,f=Array(i.size);return i.forEach(function(g){f[++a]=g}),f}var Eze=1,Tze=2,Cze="[object Boolean]",Sze="[object Date]",_ze="[object Error]",Aze="[object Map]",Lze="[object Number]",Dze="[object RegExp]",Mze="[object Set]",Ize="[object String]",Oze="[object Symbol]",Nze="[object ArrayBuffer]",Pze="[object DataView]",pjt=Yw?Yw.prototype:void 0,fpt=pjt?pjt.valueOf:void 0;function Fze(i,a,f,g,w,v,b){switch(f){case Pze:if(i.byteLength!=a.byteLength||i.byteOffset!=a.byteOffset)return!1;i=i.buffer,a=a.buffer;case Nze:return!(i.byteLength!=a.byteLength||!v(new nY(i),new nY(a)));case Cze:case Sze:case Lze:return tD(+i,+a);case _ze:return i.name==a.name&&i.message==a.message;case Dze:case Ize:return i==a+"";case Aze:var E=kze;case Mze:var S=g&Eze;if(E||(E=hpt),i.size!=a.size&&!S)return!1;var _=b.get(i);if(_)return _==a;g|=Tze,b.set(i,a);var M=gjt(E(i),E(a),g,w,v,b);return b.delete(i),M;case Oze:if(fpt)return fpt.call(i)==fpt.call(a)}return!1}var Bze=1,Rze=Object.prototype,jze=Rze.hasOwnProperty;function $ze(i,a,f,g,w,v){var b=f&Bze,E=lpt(i),S=E.length,_=lpt(a),M=_.length;if(S!=M&&!b)return!1;for(var F=S;F--;){var R=E[F];if(!(b?R in a:jze.call(a,R)))return!1}var B=v.get(i),z=v.get(a);if(B&&z)return B==a&&z==i;var Y=!0;v.set(i,a),v.set(a,i);for(var nt=b;++F<S;){R=E[F];var ot=i[R],ft=a[R];if(g)var wt=b?g(ft,ot,R,a,i,v):g(ot,ft,R,i,a,v);if(!(wt===void 0?ot===ft||w(ot,ft,f,g,v):wt)){Y=!1;break}nt||(nt=R=="constructor")}if(Y&&!nt){var mt=i.constructor,ct=a.constructor;mt!=ct&&"constructor"in i&&"constructor"in a&&!(typeof mt=="function"&&mt instanceof mt&&typeof ct=="function"&&ct instanceof ct)&&(Y=!1)}return v.delete(i),v.delete(a),Y}var zze=1,bjt="[object Arguments]",wjt="[object Array]",VY="[object Object]",qze=Object.prototype,mjt=qze.hasOwnProperty;function Hze(i,a,f,g,w,v){var b=s1(i),E=s1(a),S=b?wjt:hD(i),_=E?wjt:hD(a);S=S==bjt?VY:S,_=_==bjt?VY:_;var M=S==VY,F=_==VY,R=S==_;if(R&&rD(i)){if(!rD(a))return!1;b=!0,M=!1}if(R&&!M)return v||(v=new Gv),b||sY(i)?gjt(i,a,f,g,w,v):Fze(i,a,S,f,g,w,v);if(!(f&zze)){var B=M&&mjt.call(i,"__wrapped__"),z=F&&mjt.call(a,"__wrapped__");if(B||z){var Y=B?i.value():i,nt=z?a.value():a;return v||(v=new Gv),w(Y,nt,f,g,v)}}return R?(v||(v=new Gv),$ze(i,a,f,g,w,v)):!1}function dpt(i,a,f,g,w){return i===a?!0:i==null||a==null||!e4(i)&&!e4(a)?i!==i&&a!==a:Hze(i,a,f,g,dpt,w)}var Vze=1,Uze=2;function Gze(i,a,f,g){var w=f.length,v=w,b=!g;if(i==null)return!v;for(i=Object(i);w--;){var E=f[w];if(b&&E[2]?E[1]!==i[E[0]]:!(E[0]in i))return!1}for(;++w<v;){E=f[w];var S=E[0],_=i[S],M=E[1];if(b&&E[2]){if(_===void 0&&!(S in i))return!1}else{var F=new Gv;if(g)var R=g(_,M,S,i,a,F);if(!(R===void 0?dpt(M,_,Vze|Uze,g,F):R))return!1}}return!0}function vjt(i){return i===i&&!T2(i)}function Kze(i){for(var a=A2(i),f=a.length;f--;){var g=a[f],w=i[g];a[f]=[g,w,vjt(w)]}return a}function yjt(i,a){return function(f){return f==null?!1:f[i]===a&&(a!==void 0||i in Object(f))}}function Wze(i){var a=Kze(i);return a.length==1&&a[0][2]?yjt(a[0][0],a[0][1]):function(f){return f===i||Gze(f,i,a)}}function Yze(i,a){return i!=null&&a in Object(i)}function xjt(i,a,f){a=zY(a,i);for(var g=-1,w=a.length,v=!1;++g<w;){var b=HF(a[g]);if(!(v=i!=null&&f(i,b)))break;i=i[b]}return v||++g!=w?v:(w=i==null?0:i.length,!!w&&ygt(w)&&oY(b,w)&&(s1(i)||nD(i)))}function kjt(i,a){return i!=null&&xjt(i,a,Yze)}var Xze=1,Qze=2;function Jze(i,a){return opt(i)&&vjt(a)?yjt(HF(i),a):function(f){var g=Uje(f,i);return g===void 0&&g===a?kjt(f,i):dpt(a,g,Xze|Qze)}}function Zze(i){return function(a){return a==null?void 0:a[i]}}function tqe(i){return function(a){return qY(a,i)}}function eqe(i){return opt(i)?Zze(HF(i)):tqe(i)}function k8(i){return typeof i=="function"?i:i==null?x9:typeof i=="object"?s1(i)?Jze(i[0],i[1]):Wze(i):eqe(i)}function gpt(i,a){return i&&wgt(i,a,A2)}function nqe(i,a){return function(f,g){if(f==null)return f;if(!p8(f))return i(f,g);for(var w=f.length,v=a?w:-1,b=Object(f);(a?v--:++v<w)&&g(b[v],v,b)!==!1;);return f}}var rqe=nqe(gpt);const UY=rqe;var iqe=function(){return Uv.Date.now()};const Ejt=iqe;var Tjt=Object.prototype,sqe=Tjt.hasOwnProperty,aqe=cY(function(i,a){i=Object(i);var f=-1,g=a.length,w=g>2?a[2]:void 0;for(w&&DF(a[0],a[1],w)&&(g=1);++f<g;)for(var v=a[f],b=y9(v),E=-1,S=b.length;++E<S;){var _=b[E],M=i[_];(M===void 0||tD(M,Tjt[_])&&!sqe.call(i,_))&&(i[_]=v[_])}return i});const yD=aqe;function oqe(i,a,f){for(var g=-1,w=i==null?0:i.length;++g<w;)if(f(a,i[g]))return!0;return!1}function GY(i){var a=i==null?0:i.length;return a?i[a-1]:void 0}function ppt(i){return typeof i=="function"?i:x9}function yr(i,a){var f=s1(i)?XRt:UY;return f(i,ppt(a))}function cqe(i,a){var f=[];return UY(i,function(g,w,v){a(g,w,v)&&f.push(g)}),f}function Fx(i,a){var f=s1(i)?tjt:cqe;return f(i,k8(a))}function uqe(i){return function(a,f,g){var w=Object(a);if(!p8(a)){var v=k8(f);a=A2(a),f=function(E){return v(w[E],E,w)}}var b=i(a,f,g);return b>-1?w[v?a[b]:b]:void 0}}var lqe=Math.max;function hqe(i,a,f){var g=i==null?0:i.length;if(!g)return-1;var w=f==null?0:Dje(f);return w<0&&(w=lqe(g+w,0)),QRt(i,k8(a),w)}var fqe=uqe(hqe);const bpt=fqe;function Cjt(i,a){var f=-1,g=p8(i)?Array(i.length):[];return UY(i,function(w,v,b){g[++f]=a(w,v,b)}),g}function u1(i,a){var f=s1(i)?mD:Cjt;return f(i,k8(a))}function dqe(i,a){return i==null?i:wgt(i,ppt(a),y9)}function gqe(i,a){return i&&gpt(i,ppt(a))}function pqe(i,a){return i>a}var bqe=Object.prototype,wqe=bqe.hasOwnProperty;function mqe(i,a){return i!=null&&wqe.call(i,a)}function lo(i,a){return i!=null&&xjt(i,a,mqe)}function vqe(i,a){return mD(a,function(f){return i[f]})}function Bx(i){return i==null?[]:vqe(i,A2(i))}function Tf(i){return i===void 0}function Sjt(i,a){return i<a}function KY(i,a){var f={};return a=k8(a),gpt(i,function(g,w,v){eY(f,w,a(g,w,v))}),f}function wpt(i,a,f){for(var g=-1,w=i.length;++g<w;){var v=i[g],b=a(v);if(b!=null&&(E===void 0?b===b&&!L9(b):f(b,E)))var E=b,S=v}return S}function D9(i){return i&&i.length?wpt(i,x9,pqe):void 0}function GF(i){return i&&i.length?wpt(i,x9,Sjt):void 0}function mpt(i,a){return i&&i.length?wpt(i,k8(a),Sjt):void 0}function yqe(i,a,f,g){if(!T2(i))return i;a=zY(a,i);for(var w=-1,v=a.length,b=v-1,E=i;E!=null&&++w<v;){var S=HF(a[w]),_=f;if(S==="__proto__"||S==="constructor"||S==="prototype")return i;if(w!=b){var M=E[S];_=g?g(M,S,E):void 0,_===void 0&&(_=T2(M)?M:oY(a[w+1])?[]:{})}aY(E,S,_),E=E[S]}return i}function xqe(i,a,f){for(var g=-1,w=a.length,v={};++g<w;){var b=a[g],E=qY(i,b);f(E,b)&&yqe(v,zY(b,i),E)}return v}function kqe(i,a){var f=i.length;for(i.sort(a);f--;)i[f]=i[f].value;return i}function Eqe(i,a){if(i!==a){var f=i!==void 0,g=i===null,w=i===i,v=L9(i),b=a!==void 0,E=a===null,S=a===a,_=L9(a);if(!E&&!_&&!v&&i>a||v&&b&&S&&!E&&!_||g&&b&&S||!f&&S||!w)return 1;if(!g&&!v&&!_&&i<a||_&&f&&w&&!g&&!v||E&&f&&w||!b&&w||!S)return-1}return 0}function Tqe(i,a,f){for(var g=-1,w=i.criteria,v=a.criteria,b=w.length,E=f.length;++g<b;){var S=Eqe(w[g],v[g]);if(S){if(g>=E)return S;var _=f[g];return S*(_=="desc"?-1:1)}}return i.index-a.index}function Cqe(i,a,f){a.length?a=mD(a,function(v){return s1(v)?function(b){return qY(b,v.length===1?v[0]:v)}:v}):a=[x9];var g=-1;a=mD(a,iY(k8));var w=Cjt(i,function(v,b,E){var S=mD(a,function(_){return _(v)});return{criteria:S,index:++g,value:v}});return kqe(w,function(v,b){return Tqe(v,b,f)})}function Sqe(i,a){return xqe(i,a,function(f,g){return kjt(i,g)})}var _qe=Kje(function(i,a){return i==null?{}:Sqe(i,a)});const KF=_qe;var Aqe=Math.ceil,Lqe=Math.max;function Dqe(i,a,f,g){for(var w=-1,v=Lqe(Aqe((a-i)/(f||1)),0),b=Array(v);v--;)b[g?v:++w]=i,i+=f;return b}function Mqe(i){return function(a,f,g){return g&&typeof g!="number"&&DF(a,f,g)&&(f=g=void 0),a=$Y(a),f===void 0?(f=a,a=0):f=$Y(f),g=g===void 0?a<f?1:-1:$Y(g),Dqe(a,f,g,i)}}var Iqe=Mqe();const M9=Iqe;function Oqe(i,a,f,g,w){return w(i,function(v,b,E){f=g?(g=!1,v):a(f,v,b,E)}),f}function WF(i,a,f){var g=s1(i)?Wje:Oqe,w=arguments.length<3;return g(i,k8(a),f,w,UY)}var Nqe=cY(function(i,a){if(i==null)return[];var f=a.length;return f>1&&DF(i,a[0],a[1])?a=[]:f>2&&DF(a[0],a[1],a[2])&&(a=[a[0]]),Cqe(i,HY(a,1),[])});const YF=Nqe;var Pqe=1/0,Fqe=lD&&1/hpt(new lD([,-0]))[1]==Pqe?function(i){return new lD(i)}:Mje;const Bqe=Fqe;var Rqe=200;function jqe(i,a,f){var g=-1,w=Pje,v=i.length,b=!0,E=[],S=E;if(f)b=!1,w=oqe;else if(v>=Rqe){var _=a?null:Bqe(i);if(_)return hpt(_);b=!1,w=djt,S=new UF}else S=a?[]:E;t:for(;++g<v;){var M=i[g],F=a?a(M):M;if(M=f||M!==0?M:0,b&&F===F){for(var R=S.length;R--;)if(S[R]===F)continue t;a&&S.push(F),E.push(M)}else w(S,F,f)||(S!==E&&S.push(F),E.push(M))}return E}var $qe=cY(function(i){return jqe(HY(i,1,uFt,!0))});const zqe=$qe;var qqe=0;function WY(i){var a=++qqe;return JRt(i)+a}function Hqe(i,a,f){for(var g=-1,w=i.length,v=a.length,b={};++g<w;){var E=g<v?a[g]:void 0;f(b,i[g],E)}return b}function Vqe(i,a){return Hqe(i||[],a||[],aY)}var Uqe="\0",I9="\0",_jt="";class l1{constructor(a={}){this._isDirected=lo(a,"directed")?a.directed:!0,this._isMultigraph=lo(a,"multigraph")?a.multigraph:!1,this._isCompound=lo(a,"compound")?a.compound:!1,this._label=void 0,this._defaultNodeLabelFn=sD(void 0),this._defaultEdgeLabelFn=sD(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[I9]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return ZL(a)||(a=sD(a)),this._defaultNodeLabelFn=a,this}nodeCount(){return this._nodeCount}nodes(){return A2(this._nodes)}sources(){var a=this;return Fx(this.nodes(),function(f){return BF(a._in[f])})}sinks(){var a=this;return Fx(this.nodes(),function(f){return BF(a._out[f])})}setNodes(a,f){var g=arguments,w=this;return yr(a,function(v){g.length>1?w.setNode(v,f):w.setNode(v)}),this}setNode(a,f){return lo(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=I9,this._children[a]={},this._children[I9][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return lo(this._nodes,a)}removeNode(a){var f=this;if(lo(this._nodes,a)){var g=function(w){f.removeEdge(f._edgeObjs[w])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],yr(this.children(a),function(w){f.setParent(w)}),delete this._children[a]),yr(A2(this._in[a]),g),delete this._in[a],delete this._preds[a],yr(A2(this._out[a]),g),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Tf(f))f=I9;else{f+="";for(var g=f;!Tf(g);g=this.parent(g))if(g===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==I9)return f}}children(a){if(Tf(a)&&(a=I9),this._isCompound){var f=this._children[a];if(f)return A2(f)}else{if(a===I9)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return A2(f)}successors(a){var f=this._sucs[a];if(f)return A2(f)}neighbors(a){var f=this.predecessors(a);if(f)return zqe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var g=this;yr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),yr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,g.edge(b))});var w={};function v(b){var E=g.parent(b);return E===void 0||f.hasNode(E)?(w[b]=E,E):E in w?w[E]:v(E)}return this._isCompound&&yr(f.nodes(),function(b){f.setParent(b,v(b))}),f}setDefaultEdgeLabel(a){return ZL(a)||(a=sD(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return Bx(this._edgeObjs)}setPath(a,f){var g=this,w=arguments;return WF(a,function(v,b){return w.length>1?g.setEdge(v,b,f):g.setEdge(v,b),b}),this}setEdge(){var a,f,g,w,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,g=b.name,arguments.length===2&&(w=arguments[1],v=!0)):(a=b,f=arguments[1],g=arguments[3],arguments.length>2&&(w=arguments[2],v=!0)),a=""+a,f=""+f,Tf(g)||(g=""+g);var E=XF(this._isDirected,a,f,g);if(lo(this._edgeLabels,E))return v&&(this._edgeLabels[E]=w),this;if(!Tf(g)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=v?w:this._defaultEdgeLabelFn(a,f,g);var S=Gqe(this._isDirected,a,f,g);return a=S.v,f=S.w,Object.freeze(S),this._edgeObjs[E]=S,Ajt(this._preds[f],a),Ajt(this._sucs[a],f),this._in[f][E]=S,this._out[a][E]=S,this._edgeCount++,this}edge(a,f,g){var w=arguments.length===1?vpt(this._isDirected,arguments[0]):XF(this._isDirected,a,f,g);return this._edgeLabels[w]}hasEdge(a,f,g){var w=arguments.length===1?vpt(this._isDirected,arguments[0]):XF(this._isDirected,a,f,g);return lo(this._edgeLabels,w)}removeEdge(a,f,g){var w=arguments.length===1?vpt(this._isDirected,arguments[0]):XF(this._isDirected,a,f,g),v=this._edgeObjs[w];return v&&(a=v.v,f=v.w,delete this._edgeLabels[w],delete this._edgeObjs[w],Ljt(this._preds[f],a),Ljt(this._sucs[a],f),delete this._in[f][w],delete this._out[a][w],this._edgeCount--),this}inEdges(a,f){var g=this._in[a];if(g){var w=Bx(g);return f?Fx(w,function(v){return v.v===f}):w}}outEdges(a,f){var g=this._out[a];if(g){var w=Bx(g);return f?Fx(w,function(v){return v.w===f}):w}}nodeEdges(a,f){var g=this.inEdges(a,f);if(g)return g.concat(this.outEdges(a,f))}}l1.prototype._nodeCount=0,l1.prototype._edgeCount=0;function Ajt(i,a){i[a]?i[a]++:i[a]=1}function Ljt(i,a){--i[a]||delete i[a]}function XF(i,a,f,g){var w=""+a,v=""+f;if(!i&&w>v){var b=w;w=v,v=b}return w+_jt+v+_jt+(Tf(g)?Uqe:g)}function Gqe(i,a,f,g){var w=""+a,v=""+f;if(!i&&w>v){var b=w;w=v,v=b}var E={v:w,w:v};return g&&(E.name=g),E}function vpt(i,a){return XF(i,a.v,a.w,a.name)}class Kqe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return Djt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&Djt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,g=f._prev;g!==f;)a.push(JSON.stringify(g,Wqe)),g=g._prev;return"["+a.join(", ")+"]"}}function Djt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function Wqe(i,a){if(i!=="_next"&&i!=="_prev")return a}var Yqe=sD(1);function Xqe(i,a){if(i.nodeCount()<=1)return[];var f=Jqe(i,a||Yqe),g=Qqe(f.graph,f.buckets,f.zeroIdx);return vD(u1(g,function(w){return i.outEdges(w.v,w.w)}))}function Qqe(i,a,f){for(var g=[],w=a[a.length-1],v=a[0],b;i.nodeCount();){for(;b=v.dequeue();)ypt(i,a,f,b);for(;b=w.dequeue();)ypt(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){g=g.concat(ypt(i,a,f,b,!0));break}}}return g}function ypt(i,a,f,g,w){var v=w?[]:void 0;return yr(i.inEdges(g.v),function(b){var E=i.edge(b),S=i.node(b.v);w&&v.push({v:b.v,w:b.w}),S.out-=E,xpt(a,f,S)}),yr(i.outEdges(g.v),function(b){var E=i.edge(b),S=b.w,_=i.node(S);_.in-=E,xpt(a,f,_)}),i.removeNode(g.v),v}function Jqe(i,a){var f=new l1,g=0,w=0;yr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),yr(i.edges(),function(E){var S=f.edge(E.v,E.w)||0,_=a(E),M=S+_;f.setEdge(E.v,E.w,M),w=Math.max(w,f.node(E.v).out+=_),g=Math.max(g,f.node(E.w).in+=_)});var v=M9(w+g+3).map(function(){return new Kqe}),b=g+1;return yr(f.nodes(),function(E){xpt(v,b,f.node(E))}),{graph:f,buckets:v,zeroIdx:b}}function xpt(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function Zqe(i){var a=i.graph().acyclicer==="greedy"?Xqe(i,f(i)):tHe(i);yr(a,function(g){var w=i.edge(g);i.removeEdge(g),w.forwardName=g.name,w.reversed=!0,i.setEdge(g.w,g.v,w,WY("rev"))});function f(g){return function(w){return g.edge(w).weight}}}function tHe(i){var a=[],f={},g={};function w(v){lo(g,v)||(g[v]=!0,f[v]=!0,yr(i.outEdges(v),function(b){lo(f,b.w)?a.push(b):w(b.w)}),delete f[v])}return yr(i.nodes(),w),a}function eHe(i){yr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var g=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,g)}})}function xD(i,a,f,g){var w;do w=WY(g);while(i.hasNode(w));return f.dummy=a,i.setNode(w,f),w}function nHe(i){var a=new l1().setGraph(i.graph());return yr(i.nodes(),function(f){a.setNode(f,i.node(f))}),yr(i.edges(),function(f){var g=a.edge(f.v,f.w)||{weight:0,minlen:1},w=i.edge(f);a.setEdge(f.v,f.w,{weight:g.weight+w.weight,minlen:Math.max(g.minlen,w.minlen)})}),a}function Mjt(i){var a=new l1({multigraph:i.isMultigraph()}).setGraph(i.graph());return yr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),yr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function Ijt(i,a){var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2;if(!w&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var S,_;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),S=E*w/v,_=E):(w<0&&(b=-b),S=b,_=b*v/w),{x:f+S,y:g+_}}function YY(i){var a=u1(M9(Njt(i)+1),function(){return[]});return yr(i.nodes(),function(f){var g=i.node(f),w=g.rank;Tf(w)||(a[w][g.order]=f)}),a}function rHe(i){var a=GF(u1(i.nodes(),function(f){return i.node(f).rank}));yr(i.nodes(),function(f){var g=i.node(f);lo(g,"rank")&&(g.rank-=a)})}function iHe(i){var a=GF(u1(i.nodes(),function(v){return i.node(v).rank})),f=[];yr(i.nodes(),function(v){var b=i.node(v).rank-a;f[b]||(f[b]=[]),f[b].push(v)});var g=0,w=i.graph().nodeRankFactor;yr(f,function(v,b){Tf(v)&&b%w!==0?--g:g&&yr(v,function(E){i.node(E).rank+=g})})}function Ojt(i,a,f,g){var w={width:0,height:0};return arguments.length>=4&&(w.rank=f,w.order=g),xD(i,"border",w,a)}function Njt(i){return D9(u1(i.nodes(),function(a){var f=i.node(a).rank;if(!Tf(f))return f}))}function sHe(i,a){var f={lhs:[],rhs:[]};return yr(i,function(g){a(g)?f.lhs.push(g):f.rhs.push(g)}),f}function aHe(i,a){var f=Ejt();try{return a()}finally{console.log(i+" time: "+(Ejt()-f)+"ms")}}function oHe(i,a){return a()}function cHe(i){function a(f){var g=i.children(f),w=i.node(f);if(g.length&&yr(g,a),lo(w,"minRank")){w.borderLeft=[],w.borderRight=[];for(var v=w.minRank,b=w.maxRank+1;v<b;++v)Pjt(i,"borderLeft","_bl",f,w,v),Pjt(i,"borderRight","_br",f,w,v)}}yr(i.children(),a)}function Pjt(i,a,f,g,w,v){var b={width:0,height:0,rank:v,borderType:a},E=w[a][v-1],S=xD(i,"border",b,f);w[a][v]=S,i.setParent(S,g),E&&i.setEdge(E,S,{weight:1})}function uHe(i){var a=i.graph().rankdir.toLowerCase();(a==="lr"||a==="rl")&&Fjt(i)}function lHe(i){var a=i.graph().rankdir.toLowerCase();(a==="bt"||a==="rl")&&hHe(i),(a==="lr"||a==="rl")&&(fHe(i),Fjt(i))}function Fjt(i){yr(i.nodes(),function(a){Bjt(i.node(a))}),yr(i.edges(),function(a){Bjt(i.edge(a))})}function Bjt(i){var a=i.width;i.width=i.height,i.height=a}function hHe(i){yr(i.nodes(),function(a){kpt(i.node(a))}),yr(i.edges(),function(a){var f=i.edge(a);yr(f.points,kpt),lo(f,"y")&&kpt(f)})}function kpt(i){i.y=-i.y}function fHe(i){yr(i.nodes(),function(a){Ept(i.node(a))}),yr(i.edges(),function(a){var f=i.edge(a);yr(f.points,Ept),lo(f,"x")&&Ept(f)})}function Ept(i){var a=i.x;i.x=i.y,i.y=a}function dHe(i){i.graph().dummyChains=[],yr(i.edges(),function(a){gHe(i,a)})}function gHe(i,a){var f=a.v,g=i.node(f).rank,w=a.w,v=i.node(w).rank,b=a.name,E=i.edge(a),S=E.labelRank;if(v!==g+1){i.removeEdge(a);var _,M,F;for(F=0,++g;g<v;++F,++g)E.points=[],M={width:0,height:0,edgeLabel:E,edgeObj:a,rank:g},_=xD(i,"edge",M,"_d"),g===S&&(M.width=E.width,M.height=E.height,M.dummy="edge-label",M.labelpos=E.labelpos),i.setEdge(f,_,{weight:E.weight},b),F===0&&i.graph().dummyChains.push(_),f=_;i.setEdge(f,w,{weight:E.weight},b)}}function pHe(i){yr(i.graph().dummyChains,function(a){var f=i.node(a),g=f.edgeLabel,w;for(i.setEdge(f.edgeObj,g);f.dummy;)w=i.successors(a)[0],i.removeNode(a),g.points.push({x:f.x,y:f.y}),f.dummy==="edge-label"&&(g.x=f.x,g.y=f.y,g.width=f.width,g.height=f.height),a=w,f=i.node(a)})}function Tpt(i){var a={};function f(g){var w=i.node(g);if(lo(a,g))return w.rank;a[g]=!0;var v=GF(u1(i.outEdges(g),function(b){return f(b.w)-i.edge(b).minlen}));return(v===Number.POSITIVE_INFINITY||v===void 0||v===null)&&(v=0),w.rank=v}yr(i.sources(),f)}function QF(i,a){return i.node(a.w).rank-i.node(a.v).rank-i.edge(a).minlen}function Rjt(i){var a=new l1({directed:!1}),f=i.nodes()[0],g=i.nodeCount();a.setNode(f,{});for(var w,v;bHe(a,i)<g;)w=wHe(a,i),v=a.hasNode(w.v)?QF(i,w):-QF(i,w),mHe(a,i,v);return a}function bHe(i,a){function f(g){yr(a.nodeEdges(g),function(w){var v=w.v,b=g===v?w.w:v;!i.hasNode(b)&&!QF(a,w)&&(i.setNode(b,{}),i.setEdge(g,b,{}),f(b))})}return yr(i.nodes(),f),i.nodeCount()}function wHe(i,a){return mpt(a.edges(),function(f){if(i.hasNode(f.v)!==i.hasNode(f.w))return QF(a,f)})}function mHe(i,a,f){yr(i.nodes(),function(g){a.node(g).rank+=f})}function vHe(){}vHe.prototype=new Error;function jjt(i,a,f){s1(a)||(a=[a]);var g=(i.isDirected()?i.successors:i.neighbors).bind(i),w=[],v={};return yr(a,function(b){if(!i.hasNode(b))throw new Error("Graph does not have node: "+b);$jt(i,b,f==="post",v,g,w)}),w}function $jt(i,a,f,g,w,v){lo(g,a)||(g[a]=!0,f||v.push(a),yr(w(a),function(b){$jt(i,b,f,g,w,v)}),f&&v.push(a))}function yHe(i,a){return jjt(i,a,"post")}function xHe(i,a){return jjt(i,a,"pre")}O9.initLowLimValues=Spt,O9.initCutValues=Cpt,O9.calcCutValue=zjt,O9.leaveEdge=Hjt,O9.enterEdge=Vjt,O9.exchangeEdges=Ujt;function O9(i){i=nHe(i),Tpt(i);var a=Rjt(i);Spt(a),Cpt(a,i);for(var f,g;f=Hjt(a);)g=Vjt(a,i,f),Ujt(a,i,f,g)}function Cpt(i,a){var f=yHe(i,i.nodes());f=f.slice(0,f.length-1),yr(f,function(g){kHe(i,a,g)})}function kHe(i,a,f){var g=i.node(f),w=g.parent;i.edge(f,w).cutvalue=zjt(i,a,f)}function zjt(i,a,f){var g=i.node(f),w=g.parent,v=!0,b=a.edge(f,w),E=0;return b||(v=!1,b=a.edge(w,f)),E=b.weight,yr(a.nodeEdges(f),function(S){var _=S.v===f,M=_?S.w:S.v;if(M!==w){var F=_===v,R=a.edge(S).weight;if(E+=F?R:-R,THe(i,f,M)){var B=i.edge(f,M).cutvalue;E+=F?-B:B}}}),E}function Spt(i,a){arguments.length<2&&(a=i.nodes()[0]),qjt(i,{},1,a)}function qjt(i,a,f,g,w){var v=f,b=i.node(g);return a[g]=!0,yr(i.neighbors(g),function(E){lo(a,E)||(f=qjt(i,a,f,E,g))}),b.low=v,b.lim=f++,w?b.parent=w:delete b.parent,f}function Hjt(i){return bpt(i.edges(),function(a){return i.edge(a).cutvalue<0})}function Vjt(i,a,f){var g=f.v,w=f.w;a.hasEdge(g,w)||(g=f.w,w=f.v);var v=i.node(g),b=i.node(w),E=v,S=!1;v.lim>b.lim&&(E=b,S=!0);var _=Fx(a.edges(),function(M){return S===Gjt(i,i.node(M.v),E)&&S!==Gjt(i,i.node(M.w),E)});return mpt(_,function(M){return QF(a,M)})}function Ujt(i,a,f,g){var w=f.v,v=f.w;i.removeEdge(w,v),i.setEdge(g.v,g.w,{}),Spt(i),Cpt(i,a),EHe(i,a)}function EHe(i,a){var f=bpt(i.nodes(),function(w){return!a.node(w).parent}),g=xHe(i,f);g=g.slice(1),yr(g,function(w){var v=i.node(w).parent,b=a.edge(w,v),E=!1;b||(b=a.edge(v,w),E=!0),a.node(w).rank=a.node(v).rank+(E?b.minlen:-b.minlen)})}function THe(i,a,f){return i.hasEdge(a,f)}function Gjt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function CHe(i){switch(i.graph().ranker){case"network-simplex":Kjt(i);break;case"tight-tree":_He(i);break;case"longest-path":SHe(i);break;default:Kjt(i)}}var SHe=Tpt;function _He(i){Tpt(i),Rjt(i)}function Kjt(i){O9(i)}function AHe(i){var a=xD(i,"root",{},"_root"),f=LHe(i),g=D9(Bx(f))-1,w=2*g+1;i.graph().nestingRoot=a,yr(i.edges(),function(b){i.edge(b).minlen*=w});var v=DHe(i)+1;yr(i.children(),function(b){Wjt(i,a,w,v,g,f,b)}),i.graph().nodeRankFactor=w}function Wjt(i,a,f,g,w,v,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var S=Ojt(i,"_bt"),_=Ojt(i,"_bb"),M=i.node(b);i.setParent(S,b),M.borderTop=S,i.setParent(_,b),M.borderBottom=_,yr(E,function(F){Wjt(i,a,f,g,w,v,F);var R=i.node(F),B=R.borderTop?R.borderTop:F,z=R.borderBottom?R.borderBottom:F,Y=R.borderTop?g:2*g,nt=B!==z?1:w-v[b]+1;i.setEdge(S,B,{weight:Y,minlen:nt,nestingEdge:!0}),i.setEdge(z,_,{weight:Y,minlen:nt,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,S,{weight:0,minlen:w+v[b]})}function LHe(i){var a={};function f(g,w){var v=i.children(g);v&&v.length&&yr(v,function(b){f(b,w+1)}),a[g]=w}return yr(i.children(),function(g){f(g,1)}),a}function DHe(i){return WF(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function MHe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,yr(i.edges(),function(f){var g=i.edge(f);g.nestingEdge&&i.removeEdge(f)})}function IHe(i,a,f){var g={},w;yr(f,function(v){for(var b=i.parent(v),E,S;b;){if(E=i.parent(b),E?(S=g[E],g[E]=b):(S=w,w=b),S&&S!==b){a.setEdge(S,b);return}b=E}})}function OHe(i,a,f){var g=NHe(i),w=new l1({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(function(v){return i.node(v)});return yr(i.nodes(),function(v){var b=i.node(v),E=i.parent(v);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(w.setNode(v),w.setParent(v,E||g),yr(i[f](v),function(S){var _=S.v===v?S.w:S.v,M=w.edge(_,v),F=Tf(M)?0:M.weight;w.setEdge(_,v,{weight:i.edge(S).weight+F})}),lo(b,"minRank")&&w.setNode(v,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),w}function NHe(i){for(var a;i.hasNode(a=WY("_root")););return a}function PHe(i,a){for(var f=0,g=1;g<a.length;++g)f+=FHe(i,a[g-1],a[g]);return f}function FHe(i,a,f){for(var g=Vqe(f,u1(f,function(_,M){return M})),w=vD(u1(a,function(_){return YF(u1(i.outEdges(_),function(M){return{pos:g[M.w],weight:i.edge(M).weight}}),"pos")})),v=1;v<f.length;)v<<=1;var b=2*v-1;v-=1;var E=u1(new Array(b),function(){return 0}),S=0;return yr(w.forEach(function(_){var M=_.pos+v;E[M]+=_.weight;for(var F=0;M>0;)M%2&&(F+=E[M+1]),M=M-1>>1,E[M]+=_.weight;S+=_.weight*F})),S}function BHe(i){var a={},f=Fx(i.nodes(),function(E){return!i.children(E).length}),g=D9(u1(f,function(E){return i.node(E).rank})),w=u1(M9(g+1),function(){return[]});function v(E){if(!lo(a,E)){a[E]=!0;var S=i.node(E);w[S.rank].push(E),yr(i.successors(E),v)}}var b=YF(f,function(E){return i.node(E).rank});return yr(b,v),w}function RHe(i,a){return u1(a,function(f){var g=i.inEdges(f);if(g.length){var w=WF(g,function(v,b){var E=i.edge(b),S=i.node(b.v);return{sum:v.sum+E.weight*S.order,weight:v.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:w.sum/w.weight,weight:w.weight}}else return{v:f}})}function jHe(i,a){var f={};yr(i,function(w,v){var b=f[w.v]={indegree:0,in:[],out:[],vs:[w.v],i:v};Tf(w.barycenter)||(b.barycenter=w.barycenter,b.weight=w.weight)}),yr(a.edges(),function(w){var v=f[w.v],b=f[w.w];!Tf(v)&&!Tf(b)&&(b.indegree++,v.out.push(f[w.w]))});var g=Fx(f,function(w){return!w.indegree});return $He(g)}function $He(i){var a=[];function f(v){return function(b){b.merged||(Tf(b.barycenter)||Tf(v.barycenter)||b.barycenter>=v.barycenter)&&zHe(v,b)}}function g(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var w=i.pop();a.push(w),yr(w.in.reverse(),f(w)),yr(w.out,g(w))}return u1(Fx(a,function(v){return!v.merged}),function(v){return KF(v,["vs","i","barycenter","weight"])})}function zHe(i,a){var f=0,g=0;i.weight&&(f+=i.barycenter*i.weight,g+=i.weight),a.weight&&(f+=a.barycenter*a.weight,g+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/g,i.weight=g,i.i=Math.min(a.i,i.i),a.merged=!0}function qHe(i,a){var f=sHe(i,function(M){return lo(M,"barycenter")}),g=f.lhs,w=YF(f.rhs,function(M){return-M.i}),v=[],b=0,E=0,S=0;g.sort(HHe(!!a)),S=Yjt(v,w,S),yr(g,function(M){S+=M.vs.length,v.push(M.vs),b+=M.barycenter*M.weight,E+=M.weight,S=Yjt(v,w,S)});var _={vs:vD(v)};return E&&(_.barycenter=b/E,_.weight=E),_}function Yjt(i,a,f){for(var g;a.length&&(g=GY(a)).i<=f;)a.pop(),i.push(g.vs),f++;return f}function HHe(i){return function(a,f){return a.barycenter<f.barycenter?-1:a.barycenter>f.barycenter?1:i?f.i-a.i:a.i-f.i}}function Xjt(i,a,f,g){var w=i.children(a),v=i.node(a),b=v?v.borderLeft:void 0,E=v?v.borderRight:void 0,S={};b&&(w=Fx(w,function(z){return z!==b&&z!==E}));var _=RHe(i,w);yr(_,function(z){if(i.children(z.v).length){var Y=Xjt(i,z.v,f,g);S[z.v]=Y,lo(Y,"barycenter")&&UHe(z,Y)}});var M=jHe(_,f);VHe(M,S);var F=qHe(M,g);if(b&&(F.vs=vD([b,F.vs,E]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),B=i.node(i.predecessors(E)[0]);lo(F,"barycenter")||(F.barycenter=0,F.weight=0),F.barycenter=(F.barycenter*F.weight+R.order+B.order)/(F.weight+2),F.weight+=2}return F}function VHe(i,a){yr(i,function(f){f.vs=vD(f.vs.map(function(g){return a[g]?a[g].vs:g}))})}function UHe(i,a){Tf(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function GHe(i){var a=Njt(i),f=Qjt(i,M9(1,a+1),"inEdges"),g=Qjt(i,M9(a-1,-1,-1),"outEdges"),w=BHe(i);Jjt(i,w);for(var v=Number.POSITIVE_INFINITY,b,E=0,S=0;S<4;++E,++S){KHe(E%2?f:g,E%4>=2),w=YY(i);var _=PHe(i,w);_<v&&(S=0,b=pze(w),v=_)}Jjt(i,b)}function Qjt(i,a,f){return u1(a,function(g){return OHe(i,g,f)})}function KHe(i,a){var f=new l1;yr(i,function(g){var w=g.graph().root,v=Xjt(g,w,f,a);yr(v.vs,function(b,E){g.node(b).order=E}),IHe(g,f,v.vs)})}function Jjt(i,a){yr(a,function(f){yr(f,function(g,w){i.node(g).order=w})})}function WHe(i){var a=XHe(i);yr(i.graph().dummyChains,function(f){for(var g=i.node(f),w=g.edgeObj,v=YHe(i,a,w.v,w.w),b=v.path,E=v.lca,S=0,_=b[S],M=!0;f!==w.w;){if(g=i.node(f),M){for(;(_=b[S])!==E&&i.node(_).maxRank<g.rank;)S++;_===E&&(M=!1)}if(!M){for(;S<b.length-1&&i.node(_=b[S+1]).minRank<=g.rank;)S++;_=b[S]}i.setParent(f,_),f=i.successors(f)[0]}})}function YHe(i,a,f,g){var w=[],v=[],b=Math.min(a[f].low,a[g].low),E=Math.max(a[f].lim,a[g].lim),S,_;S=f;do S=i.parent(S),w.push(S);while(S&&(a[S].low>b||E>a[S].lim));for(_=S,S=g;(S=i.parent(S))!==_;)v.push(S);return{path:w.concat(v.reverse()),lca:_}}function XHe(i){var a={},f=0;function g(w){var v=f;yr(i.children(w),g),a[w]={low:v,lim:f++}}return yr(i.children(),g),a}function QHe(i,a){var f={};function g(w,v){var b=0,E=0,S=w.length,_=GY(v);return yr(v,function(M,F){var R=ZHe(i,M),B=R?i.node(R).order:S;(R||M===_)&&(yr(v.slice(E,F+1),function(z){yr(i.predecessors(z),function(Y){var nt=i.node(Y),ot=nt.order;(ot<b||B<ot)&&!(nt.dummy&&i.node(z).dummy)&&Zjt(f,Y,z)})}),E=F+1,b=B)}),v}return WF(a,g),f}function JHe(i,a){var f={};function g(v,b,E,S,_){var M;yr(M9(b,E),function(F){M=v[F],i.node(M).dummy&&yr(i.predecessors(M),function(R){var B=i.node(R);B.dummy&&(B.order<S||B.order>_)&&Zjt(f,R,M)})})}function w(v,b){var E=-1,S,_=0;return yr(b,function(M,F){if(i.node(M).dummy==="border"){var R=i.predecessors(M);R.length&&(S=i.node(R[0]).order,g(b,_,F,E,S),_=F,E=S)}g(b,_,b.length,S,v.length)}),b}return WF(a,w),f}function ZHe(i,a){if(i.node(a).dummy)return bpt(i.predecessors(a),function(f){return i.node(f).dummy})}function Zjt(i,a,f){if(a>f){var g=a;a=f,f=g}var w=i[a];w||(i[a]=w={}),w[f]=!0}function tVe(i,a,f){if(a>f){var g=a;a=f,f=g}return lo(i[a],f)}function eVe(i,a,f,g){var w={},v={},b={};return yr(a,function(E){yr(E,function(S,_){w[S]=S,v[S]=S,b[S]=_})}),yr(a,function(E){var S=-1;yr(E,function(_){var M=g(_);if(M.length){M=YF(M,function(Y){return b[Y]});for(var F=(M.length-1)/2,R=Math.floor(F),B=Math.ceil(F);R<=B;++R){var z=M[R];v[_]===_&&S<b[z]&&!tVe(f,_,z)&&(v[z]=_,v[_]=w[_]=w[z],S=b[z])}}})}),{root:w,align:v}}function nVe(i,a,f,g,w){var v={},b=rVe(i,a,f,w),E=w?"borderLeft":"borderRight";function S(F,R){for(var B=b.nodes(),z=B.pop(),Y={};z;)Y[z]?F(z):(Y[z]=!0,B.push(z),B=B.concat(R(z))),z=B.pop()}function _(F){v[F]=b.inEdges(F).reduce(function(R,B){return Math.max(R,v[B.v]+b.edge(B))},0)}function M(F){var R=b.outEdges(F).reduce(function(z,Y){return Math.min(z,v[Y.w]-b.edge(Y))},Number.POSITIVE_INFINITY),B=i.node(F);R!==Number.POSITIVE_INFINITY&&B.borderType!==E&&(v[F]=Math.max(v[F],R))}return S(_,b.predecessors.bind(b)),S(M,b.successors.bind(b)),yr(g,function(F){v[F]=v[f[F]]}),v}function rVe(i,a,f,g){var w=new l1,v=i.graph(),b=cVe(v.nodesep,v.edgesep,g);return yr(a,function(E){var S;yr(E,function(_){var M=f[_];if(w.setNode(M),S){var F=f[S],R=w.edge(F,M);w.setEdge(F,M,Math.max(b(i,_,S),R||0))}S=_})}),w}function iVe(i,a){return mpt(Bx(a),function(f){var g=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY;return dqe(f,function(v,b){var E=uVe(i,b)/2;g=Math.max(v+E,g),w=Math.min(v-E,w)}),g-w})}function sVe(i,a){var f=Bx(a),g=GF(f),w=D9(f);yr(["u","d"],function(v){yr(["l","r"],function(b){var E=v+b,S=i[E],_;if(S!==a){var M=Bx(S);_=b==="l"?g-GF(M):w-D9(M),_&&(i[E]=KY(S,function(F){return F+_}))}})})}function aVe(i,a){return KY(i.ul,function(f,g){if(a)return i[a.toLowerCase()][g];var w=YF(u1(i,g));return(w[1]+w[2])/2})}function oVe(i){var a=YY(i),f=uY(QHe(i,a),JHe(i,a)),g={},w;yr(["u","d"],function(b){w=b==="u"?a:Bx(a).reverse(),yr(["l","r"],function(E){E==="r"&&(w=u1(w,function(F){return Bx(F).reverse()}));var S=(b==="u"?i.predecessors:i.successors).bind(i),_=eVe(i,w,f,S),M=nVe(i,w,_.root,_.align,E==="r");E==="r"&&(M=KY(M,function(F){return-F})),g[b+E]=M})});var v=iVe(i,g);return sVe(g,v),aVe(g,i.graph().align)}function cVe(i,a,f){return function(g,w,v){var b=g.node(w),E=g.node(v),S=0,_;if(S+=b.width/2,lo(b,"labelpos"))switch(b.labelpos.toLowerCase()){case"l":_=-b.width/2;break;case"r":_=b.width/2;break}if(_&&(S+=f?_:-_),_=0,S+=(b.dummy?a:i)/2,S+=(E.dummy?a:i)/2,S+=E.width/2,lo(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":_=E.width/2;break;case"r":_=-E.width/2;break}return _&&(S+=f?_:-_),_=0,S}}function uVe(i,a){return i.node(a).width}function lVe(i){i=Mjt(i),hVe(i),gqe(oVe(i),function(a,f){i.node(f).x=a})}function hVe(i){var a=YY(i),f=i.graph().ranksep,g=0;yr(a,function(w){var v=D9(u1(w,function(b){return i.node(b).height}));yr(w,function(b){i.node(b).y=g+v/2}),g+=v+f})}function kD(i,a){var f=a&&a.debugTiming?aHe:oHe;f("layout",function(){var g=f(" buildLayoutGraph",function(){return kVe(i)});f(" runLayout",function(){fVe(g,f)}),f(" updateInputGraph",function(){dVe(i,g)})})}function fVe(i,a){a(" makeSpaceForEdgeLabels",function(){EVe(i)}),a(" removeSelfEdges",function(){IVe(i)}),a(" acyclic",function(){Zqe(i)}),a(" nestingGraph.run",function(){AHe(i)}),a(" rank",function(){CHe(Mjt(i))}),a(" injectEdgeLabelProxies",function(){TVe(i)}),a(" removeEmptyRanks",function(){iHe(i)}),a(" nestingGraph.cleanup",function(){MHe(i)}),a(" normalizeRanks",function(){rHe(i)}),a(" assignRankMinMax",function(){CVe(i)}),a(" removeEdgeLabelProxies",function(){SVe(i)}),a(" normalize.run",function(){dHe(i)}),a(" parentDummyChains",function(){WHe(i)}),a(" addBorderSegments",function(){cHe(i)}),a(" order",function(){GHe(i)}),a(" insertSelfEdges",function(){OVe(i)}),a(" adjustCoordinateSystem",function(){uHe(i)}),a(" position",function(){lVe(i)}),a(" positionSelfEdges",function(){NVe(i)}),a(" removeBorderNodes",function(){MVe(i)}),a(" normalize.undo",function(){pHe(i)}),a(" fixupEdgeLabelCoords",function(){LVe(i)}),a(" undoCoordinateSystem",function(){lHe(i)}),a(" translateGraph",function(){_Ve(i)}),a(" assignNodeIntersects",function(){AVe(i)}),a(" reversePoints",function(){DVe(i)}),a(" acyclic.undo",function(){eHe(i)})}function dVe(i,a){yr(i.nodes(),function(f){var g=i.node(f),w=a.node(f);g&&(g.x=w.x,g.y=w.y,a.children(f).length&&(g.width=w.width,g.height=w.height))}),yr(i.edges(),function(f){var g=i.edge(f),w=a.edge(f);g.points=w.points,lo(w,"x")&&(g.x=w.x,g.y=w.y)}),i.graph().width=a.graph().width,i.graph().height=a.graph().height}var gVe=["nodesep","edgesep","ranksep","marginx","marginy"],pVe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},bVe=["acyclicer","ranker","rankdir","align"],wVe=["width","height"],mVe={width:0,height:0},vVe=["minlen","weight","width","height","labeloffset"],yVe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},xVe=["labelpos"];function kVe(i){var a=new l1({multigraph:!0,compound:!0}),f=Apt(i.graph());return a.setGraph(uY({},pVe,_pt(f,gVe),KF(f,bVe))),yr(i.nodes(),function(g){var w=Apt(i.node(g));a.setNode(g,yD(_pt(w,wVe),mVe)),a.setParent(g,i.parent(g))}),yr(i.edges(),function(g){var w=Apt(i.edge(g));a.setEdge(g,uY({},yVe,_pt(w,vVe),KF(w,xVe)))}),a}function EVe(i){var a=i.graph();a.ranksep/=2,yr(i.edges(),function(f){var g=i.edge(f);g.minlen*=2,g.labelpos.toLowerCase()!=="c"&&(a.rankdir==="TB"||a.rankdir==="BT"?g.width+=g.labeloffset:g.height+=g.labeloffset)})}function TVe(i){yr(i.edges(),function(a){var f=i.edge(a);if(f.width&&f.height){var g=i.node(a.v),w=i.node(a.w),v={rank:(w.rank-g.rank)/2+g.rank,e:a};xD(i,"edge-proxy",v,"_ep")}})}function CVe(i){var a=0;yr(i.nodes(),function(f){var g=i.node(f);g.borderTop&&(g.minRank=i.node(g.borderTop).rank,g.maxRank=i.node(g.borderBottom).rank,a=D9(a,g.maxRank))}),i.graph().maxRank=a}function SVe(i){yr(i.nodes(),function(a){var f=i.node(a);f.dummy==="edge-proxy"&&(i.edge(f.e).labelRank=f.rank,i.removeNode(a))})}function _Ve(i){var a=Number.POSITIVE_INFINITY,f=0,g=Number.POSITIVE_INFINITY,w=0,v=i.graph(),b=v.marginx||0,E=v.marginy||0;function S(_){var M=_.x,F=_.y,R=_.width,B=_.height;a=Math.min(a,M-R/2),f=Math.max(f,M+R/2),g=Math.min(g,F-B/2),w=Math.max(w,F+B/2)}yr(i.nodes(),function(_){S(i.node(_))}),yr(i.edges(),function(_){var M=i.edge(_);lo(M,"x")&&S(M)}),a-=b,g-=E,yr(i.nodes(),function(_){var M=i.node(_);M.x-=a,M.y-=g}),yr(i.edges(),function(_){var M=i.edge(_);yr(M.points,function(F){F.x-=a,F.y-=g}),lo(M,"x")&&(M.x-=a),lo(M,"y")&&(M.y-=g)}),v.width=f-a+b,v.height=w-g+E}function AVe(i){yr(i.edges(),function(a){var f=i.edge(a),g=i.node(a.v),w=i.node(a.w),v,b;f.points?(v=f.points[0],b=f.points[f.points.length-1]):(f.points=[],v=w,b=g),f.points.unshift(Ijt(g,v)),f.points.push(Ijt(w,b))})}function LVe(i){yr(i.edges(),function(a){var f=i.edge(a);if(lo(f,"x"))switch((f.labelpos==="l"||f.labelpos==="r")&&(f.width-=f.labeloffset),f.labelpos){case"l":f.x-=f.width/2+f.labeloffset;break;case"r":f.x+=f.width/2+f.labeloffset;break}})}function DVe(i){yr(i.edges(),function(a){var f=i.edge(a);f.reversed&&f.points.reverse()})}function MVe(i){yr(i.nodes(),function(a){if(i.children(a).length){var f=i.node(a),g=i.node(f.borderTop),w=i.node(f.borderBottom),v=i.node(GY(f.borderLeft)),b=i.node(GY(f.borderRight));f.width=Math.abs(b.x-v.x),f.height=Math.abs(w.y-g.y),f.x=v.x+f.width/2,f.y=g.y+f.height/2}}),yr(i.nodes(),function(a){i.node(a).dummy==="border"&&i.removeNode(a)})}function IVe(i){yr(i.edges(),function(a){if(a.v===a.w){var f=i.node(a.v);f.selfEdges||(f.selfEdges=[]),f.selfEdges.push({e:a,label:i.edge(a)}),i.removeEdge(a)}})}function OVe(i){var a=YY(i);yr(a,function(f){var g=0;yr(f,function(w,v){var b=i.node(w);b.order=v+g,yr(b.selfEdges,function(E){xD(i,"selfedge",{width:E.label.width,height:E.label.height,rank:b.rank,order:v+ ++g,e:E.e,label:E.label},"_se")}),delete b.selfEdges})})}function NVe(i){yr(i.nodes(),function(a){var f=i.node(a);if(f.dummy==="selfedge"){var g=i.node(f.e.v),w=g.x+g.width/2,v=g.y,b=f.x-w,E=g.height/2;i.setEdge(f.e,f.label),i.removeNode(a),f.label.points=[{x:w+2*b/3,y:v-E},{x:w+5*b/6,y:v-E},{x:w+b,y:v},{x:w+5*b/6,y:v+E},{x:w+2*b/3,y:v+E}],f.label.x=f.x,f.label.y=f.y}})}function _pt(i,a){return KY(KF(i,a),Number)}function Apt(i){var a={};return yr(i,function(f,g){a[g.toLowerCase()]=f}),a}function t$t(i,a){return!!i.children(a).length}function e$t(i){return Lpt(i.v)+":"+Lpt(i.w)+":"+Lpt(i.name)}var PVe=/:/g;function Lpt(i){return i?String(i).replace(PVe,"\\:"):""}function a4(i,a){a&&i.attr("style",a)}function n$t(i,a,f){a&&i.attr("class",a).attr("class",f+" "+i.attr("class"))}function Jv(i,a){var f=a.graph();if(gFt(f)){var g=f.transition;if(ZL(g))return g(i)}return i}var Dpt={normal:BVe,vee:RVe,undirected:jVe};function FVe(i){Dpt=i}function BVe(i,a,f,g){var w=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=w.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a4(v,f[g+"Style"]),f[g+"Class"]&&v.attr("class",f[g+"Class"])}function RVe(i,a,f,g){var w=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=w.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");a4(v,f[g+"Style"]),f[g+"Class"]&&v.attr("class",f[g+"Class"])}function jVe(i,a,f,g){var w=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=w.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a4(v,f[g+"Style"]),f[g+"Class"]&&v.attr("class",f[g+"Class"])}function Mpt(i,a){var f=i.append("foreignObject").attr("width","100000"),g=f.append("xhtml:div");g.attr("xmlns","http://www.w3.org/1999/xhtml");var w=a.label;switch(typeof w){case"function":g.insert(w);break;case"object":g.insert(function(){return w});break;default:g.html(w)}a4(g,a.labelStyle),g.style("display","inline-block"),g.style("white-space","nowrap");var v=g.node().getBoundingClientRect();return f.attr("width",v.width).attr("height",v.height),f}function $Ve(i,a){var f=i;return f.node().appendChild(a.label),a4(f,a.labelStyle),f}function zVe(i,a){for(var f=i.append("text"),g=qVe(a.label).split(`
231 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var dt=this.next();return dt||this.lex()},begin:function(dt){this.conditionStack.push(dt)},popState:function(){var dt=this.conditionStack.length-1;return dt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(dt){return dt=this.conditionStack.length-1-Math.abs(dt||0),dt>=0?this.conditionStack[dt]:"INITIAL"},pushState:function(dt){this.begin(dt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(dt,K,yt,V){switch(yt){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return K.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 K.yytext[0];case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return gt}();ct.lexer=rt;function it(){this.yy={}}return it.prototype=ct,ct.Parser=it,new it}();rbt.parser=rbt;const vWe=rbt;let S8={},ibt=[];const yWe={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"},xWe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},vzt=function(i,a=void 0){return S8[i]===void 0?(S8[i]={attributes:[],alias:a},Kt.info("Added new entity :",i)):S8[i]&&!S8[i].alias&&a&&(S8[i].alias=a,Kt.info(`Add alias '${a}' to entity '${i}'`)),S8[i]},kWe={Cardinality:yWe,Identification:xWe,getConfig:()=>Re().er,addEntity:vzt,addAttributes:function(i,a){let f=vzt(i),g;for(g=a.length-1;g>=0;g--)f.attributes.push(a[g]),Kt.debug("Added attribute ",a[g].attributeName)},getEntities:()=>S8,addRelationship:function(i,a,f,g){let w={entityA:i,roleA:a,entityB:f,relSpec:g};ibt.push(w),Kt.debug("Added new relationship :",w)},getRelationships:()=>ibt,clear:function(){S8={},ibt=[],ag()},setAccTitle:og,getAccTitle:Xg,setAccDescription:Qg,getAccDescription:Jg,setDiagramTitle:S2,getDiagramTitle:Zg},ey={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},ny={ERMarkers:ey,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",ey.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",ey.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",ey.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",ey.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",ey.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",ey.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},EWe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function TWe(i){return typeof i=="string"&&EWe.test(i)}const b0=[];for(let i=0;i<256;++i)b0.push((i+256).toString(16).slice(1));function CWe(i,a=0){return(b0[i[a+0]]+b0[i[a+1]]+b0[i[a+2]]+b0[i[a+3]]+"-"+b0[i[a+4]]+b0[i[a+5]]+"-"+b0[i[a+6]]+b0[i[a+7]]+"-"+b0[i[a+8]]+b0[i[a+9]]+"-"+b0[i[a+10]]+b0[i[a+11]]+b0[i[a+12]]+b0[i[a+13]]+b0[i[a+14]]+b0[i[a+15]]).toLowerCase()}function SWe(i){if(!TWe(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function _We(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f<i.length;++f)a.push(i.charCodeAt(f));return a}const AWe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",LWe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function DWe(i,a,f){function g(w,v,b,E){var S;if(typeof w=="string"&&(w=_We(w)),typeof v=="string"&&(v=SWe(v)),((S=v)===null||S===void 0?void 0:S.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let _=new Uint8Array(16+w.length);if(_.set(v),_.set(w,v.length),_=f(_),_[6]=_[6]&15|a,_[8]=_[8]&63|128,b){E=E||0;for(let M=0;M<16;++M)b[E+M]=_[M];return b}return CWe(_)}try{g.name=i}catch{}return g.DNS=AWe,g.URL=LWe,g}function MWe(i,a,f,g){switch(i){case 0:return a&f^~a&g;case 1:return a^f^g;case 2:return a&f^a&g^f&g;case 3:return a^f^g}}function sbt(i,a){return i<<a|i>>>32-a}function IWe(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E<b.length;++E)i.push(b.charCodeAt(E))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const g=i.length/4+2,w=Math.ceil(g/16),v=new Array(w);for(let b=0;b<w;++b){const E=new Uint32Array(16);for(let S=0;S<16;++S)E[S]=i[b*64+S*4]<<24|i[b*64+S*4+1]<<16|i[b*64+S*4+2]<<8|i[b*64+S*4+3];v[b]=E}v[w-1][14]=(i.length-1)*8/Math.pow(2,32),v[w-1][14]=Math.floor(v[w-1][14]),v[w-1][15]=(i.length-1)*8&4294967295;for(let b=0;b<w;++b){const E=new Uint32Array(80);for(let B=0;B<16;++B)E[B]=v[b][B];for(let B=16;B<80;++B)E[B]=sbt(E[B-3]^E[B-8]^E[B-14]^E[B-16],1);let S=f[0],_=f[1],M=f[2],F=f[3],R=f[4];for(let B=0;B<80;++B){const z=Math.floor(B/20),Y=sbt(S,5)+MWe(z,_,M,F)+R+a[z]+E[B]>>>0;R=F,F=M,M=sbt(_,30)>>>0,_=S,S=Y}f[0]=f[0]+S>>>0,f[1]=f[1]+_>>>0,f[2]=f[2]+M>>>0,f[3]=f[3]+F>>>0,f[4]=f[4]+R>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const OWe=DWe("v5",80,IWe),NWe=/[^\dA-Za-z](\W)*/g;let z1={},nB=new Map;const PWe=function(i){const a=Object.keys(i);for(const f of a)z1[f]=i[f]},FWe=(i,a,f)=>{const g=z1.entityPadding/3,w=z1.entityPadding/3,v=z1.fontSize*.85,b=a.node().getBBox(),E=[];let S=!1,_=!1,M=0,F=0,R=0,B=0,z=b.height+g*2,Y=1;f.forEach(wt=>{wt.attributeKeyTypeList!==void 0&&wt.attributeKeyTypeList.length>0&&(S=!0),wt.attributeComment!==void 0&&(_=!0)}),f.forEach(wt=>{const mt=`${a.node().id}-attr-${Y}`;let ct=0;const rt=kF(wt.attributeType),it=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(rt),gt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(wt.attributeName),Q={};Q.tn=it,Q.nn=gt;const dt=it.node().getBBox(),K=gt.node().getBBox();if(M=Math.max(M,dt.width),F=Math.max(F,K.width),ct=Math.max(dt.height,K.height),S){const yt=wt.attributeKeyTypeList!==void 0?wt.attributeKeyTypeList.join(","):"",V=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(yt);Q.kn=V;const Ot=V.node().getBBox();R=Math.max(R,Ot.width),ct=Math.max(ct,Ot.height)}if(_){const yt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(wt.attributeComment||"");Q.cn=yt;const V=yt.node().getBBox();B=Math.max(B,V.width),ct=Math.max(ct,V.height)}Q.height=ct,E.push(Q),z+=ct+g*2,Y+=1});let nt=4;S&&(nt+=2),_&&(nt+=2);const ot=M+F+R+B,ft={width:Math.max(z1.minEntityWidth,Math.max(b.width+z1.entityPadding*2,ot+w*nt)),height:f.length>0?z:Math.max(z1.minEntityHeight,b.height+z1.entityPadding*2)};if(f.length>0){const wt=Math.max(0,(ft.width-ot-w*nt)/(nt/2));a.attr("transform","translate("+ft.width/2+","+(g+b.height/2)+")");let mt=b.height+g*2,ct="attributeBoxOdd";E.forEach(rt=>{const it=mt+g+rt.height/2;rt.tn.attr("transform","translate("+w+","+it+")");const gt=i.insert("rect","#"+rt.tn.node().id).classed(`er ${ct}`,!0).attr("x",0).attr("y",mt).attr("width",M+w*2+wt).attr("height",rt.height+g*2),Q=parseFloat(gt.attr("x"))+parseFloat(gt.attr("width"));rt.nn.attr("transform","translate("+(Q+w)+","+it+")");const dt=i.insert("rect","#"+rt.nn.node().id).classed(`er ${ct}`,!0).attr("x",Q).attr("y",mt).attr("width",F+w*2+wt).attr("height",rt.height+g*2);let K=parseFloat(dt.attr("x"))+parseFloat(dt.attr("width"));if(S){rt.kn.attr("transform","translate("+(K+w)+","+it+")");const yt=i.insert("rect","#"+rt.kn.node().id).classed(`er ${ct}`,!0).attr("x",K).attr("y",mt).attr("width",R+w*2+wt).attr("height",rt.height+g*2);K=parseFloat(yt.attr("x"))+parseFloat(yt.attr("width"))}_&&(rt.cn.attr("transform","translate("+(K+w)+","+it+")"),i.insert("rect","#"+rt.cn.node().id).classed(`er ${ct}`,"true").attr("x",K).attr("y",mt).attr("width",B+w*2+wt).attr("height",rt.height+g*2)),mt+=rt.height+g*2,ct=ct==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else ft.height=Math.max(z1.minEntityHeight,z),a.attr("transform","translate("+ft.width/2+","+ft.height/2+")");return ft},BWe=function(i,a,f){const g=Object.keys(a);let w;return g.forEach(function(v){const b=HWe(v,"entity");nB.set(v,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const S="text-"+b,_=E.append("text").classed("er entityLabel",!0).attr("id",S).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Re().fontFamily).style("font-size",z1.fontSize+"px").text(a[v].alias??v),{width:M,height:F}=FWe(E,_,a[v].attributes),B=E.insert("rect","#"+S).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",M).attr("height",F).node().getBBox();f.setNode(b,{width:B.width,height:B.height,shape:"rect",id:b})}),w},RWe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},yzt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},jWe=function(i,a){return i.forEach(function(f){a.setEdge(nB.get(f.entityA),nB.get(f.entityB),{relationship:f},yzt(f))}),i};let xzt=0;const $We=function(i,a,f,g,w){xzt++;const v=f.edge(nB.get(a.entityA),nB.get(a.entityB),yzt(a)),b=Ax().x(function(z){return z.x}).y(function(z){return z.y}).curve(wF),E=i.insert("path","#"+g).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",z1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let S="";switch(z1.arrowMarkerAbsolute&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.MD_PARENT_START+")");break}const _=E.node().getTotalLength(),M=E.node().getPointAtLength(_*.5),F="rel"+xzt,B=i.append("text").classed("er relationshipLabel",!0).attr("id",F).attr("x",M.x).attr("y",M.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Re().fontFamily).style("font-size",z1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+F).classed("er relationshipLabelBox",!0).attr("x",M.x-B.width/2).attr("y",M.y-B.height/2).attr("width",B.width).attr("height",B.height)},zWe=function(i,a,f,g){z1=Re().er,Kt.info("Drawing ER diagram");const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const E=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);ny.insertMarkers(E,z1);let S;S=new l1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:z1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=BWe(E,g.db.getEntities(),S),M=jWe(g.db.getRelationships(),S);kD(S),RWe(E,S),M.forEach(function(Y){$We(E,Y,S,_,g)});const F=z1.diagramPadding;uo.insertTitle(E,"entityTitleText",z1.titleTopMargin,g.db.getDiagramTitle());const R=E.node().getBBox(),B=R.width+F*2,z=R.height+F*2;sg(E,z,B,z1.useMaxWidth),E.attr("viewBox",`${R.x-F} ${R.y-F} ${B} ${z}`)},qWe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function HWe(i="",a=""){const f=i.replace(NWe,"");return`${kzt(a)}${kzt(f)}${OWe(i,qWe)}`}function kzt(i=""){return i.length>0?`${i}-`:""}const VWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:vWe,db:kWe,renderer:{setConf:PWe,draw:zWe},styles:i=>`
281 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var it=this.next();return it||this.lex()},begin:function(it){this.conditionStack.push(it)},popState:function(){var it=this.conditionStack.length-1;return it>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(it){return it=this.conditionStack.length-1-Math.abs(it||0),it>=0?this.conditionStack[it]:"INITIAL"},pushState:function(it){this.begin(it)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(it,gt,Q,dt){switch(Q){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};return ct}();ft.lexer=wt;function mt(){this.yy={}}return mt.prototype=ft,ft.Parser=mt,new mt}();abt.parser=abt;const UWe=abt;let cX=Re().gitGraph.mainBranchName,GWe=Re().gitGraph.mainBranchOrder,q1={},np=null,rB={};rB[cX]={name:cX,order:GWe};let h1={};h1[cX]=np;let Dd=cX,Ezt="LR",N9=0;function obt(){return AFt({length:7})}function KWe(i,a){const f=Object.create(null);return i.reduce((g,w)=>{const v=a(w);return f[v]||(f[v]=!0,g.push(w)),g},[])}const WWe=function(i){Ezt=i};let Tzt={};const YWe=function(i){Kt.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{Tzt=JSON.parse(i)}catch(a){Kt.error("error while parsing gitGraph options",a.message)}},XWe=function(){return Tzt},QWe=function(i,a,f,g){Kt.debug("Entering commit:",i,a,f,g),a=ei.sanitizeText(a,Re()),i=ei.sanitizeText(i,Re()),g=ei.sanitizeText(g,Re());const w={id:a||N9+"-"+obt(),message:i,seq:N9++,type:f||CD.NORMAL,tag:g||"",parents:np==null?[]:[np.id],branch:Dd};np=w,q1[w.id]=w,h1[Dd]=w.id,Kt.debug("in pushCommit "+w.id)},JWe=function(i,a){if(i=ei.sanitizeText(i,Re()),h1[i]===void 0)h1[i]=np!=null?np.id:null,rB[i]={name:i,order:a?parseInt(a,10):null},Czt(i),Kt.debug("in createBranch");else{let f=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+i+'")');throw f.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},f}},ZWe=function(i,a,f,g){i=ei.sanitizeText(i,Re()),a=ei.sanitizeText(a,Re());const w=q1[h1[Dd]],v=q1[h1[i]];if(Dd===i){let E=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(w===void 0||!w){let E=new Error('Incorrect usage of "merge". Current branch ('+Dd+")has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},E}else if(h1[i]===void 0){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},E}else if(v===void 0||!v){let E=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},E}else if(w===v){let E=new Error('Incorrect usage of "merge". Both branches have same head');throw E.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},E}else if(a&&q1[a]!==void 0){let E=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw E.hash={text:"merge "+i+a+f+g,token:"merge "+i+a+f+g,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+f+" "+g]},E}const b={id:a||N9+"-"+obt(),message:"merged branch "+i+" into "+Dd,seq:N9++,parents:[np==null?null:np.id,h1[i]],branch:Dd,type:CD.MERGE,customType:f,customId:!!a,tag:g||""};np=b,q1[b.id]=b,h1[Dd]=b.id,Kt.debug(h1),Kt.debug("in mergeBranch")},tYe=function(i,a,f,g){if(Kt.debug("Entering cherryPick:",i,a,f),i=ei.sanitizeText(i,Re()),a=ei.sanitizeText(a,Re()),f=ei.sanitizeText(f,Re()),g=ei.sanitizeText(g,Re()),!i||q1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let w=q1[i],v=w.branch;if(g&&!(Array.isArray(w.parents)&&w.parents.includes(g)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(w.type===CD.MERGE&&!g)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||q1[a]===void 0){if(v===Dd){let S=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw S.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},S}const b=q1[h1[Dd]];if(b===void 0||!b){let S=new Error('Incorrect usage of "cherry-pick". Current branch ('+Dd+")has no commits");throw S.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},S}const E={id:N9+"-"+obt(),message:"cherry-picked "+w+" into "+Dd,seq:N9++,parents:[np==null?null:np.id,w.id],branch:Dd,type:CD.CHERRY_PICK,tag:f??`cherry-pick:${w.id}${w.type===CD.MERGE?`|parent:${g}`:""}`};np=E,q1[E.id]=E,h1[Dd]=E.id,Kt.debug(h1),Kt.debug("in cherryPick")}},Czt=function(i){if(i=ei.sanitizeText(i,Re()),h1[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{Dd=i;const a=h1[Dd];np=q1[a]}};function Szt(i,a,f){const g=i.indexOf(a);g===-1?i.push(f):i.splice(g,1,f)}function _zt(i){const a=i.reduce((w,v)=>w.seq>v.seq?w:v,i[0]);let f="";i.forEach(function(w){w===a?f+=" *":f+=" |"});const g=[f,a.id,a.seq];for(let w in h1)h1[w]===a.id&&g.push(w);if(Kt.debug(g.join(" ")),a.parents&&a.parents.length==2){const w=q1[a.parents[0]];Szt(i,a,w),i.push(q1[a.parents[1]])}else{if(a.parents.length==0)return;{const w=q1[a.parents];Szt(i,a,w)}}i=KWe(i,w=>w.id),_zt(i)}const eYe=function(){Kt.debug(q1);const i=Azt()[0];_zt([i])},nYe=function(){q1={},np=null;let i=Re().gitGraph.mainBranchName,a=Re().gitGraph.mainBranchOrder;h1={},h1[i]=null,rB={},rB[i]={name:i,order:a},Dd=i,N9=0,ag()},rYe=function(){return Object.values(rB).map((a,f)=>a.order!==null?a:{...a,order:parseFloat(`0.${f}`,10)}).sort((a,f)=>a.order-f.order).map(({name:a})=>({name:a}))},iYe=function(){return h1},sYe=function(){return q1},Azt=function(){const i=Object.keys(q1).map(function(a){return q1[a]});return i.forEach(function(a){Kt.debug(a.id)}),i.sort((a,f)=>a.seq-f.seq),i},aYe=function(){return Dd},oYe=function(){return Ezt},cYe=function(){return np},CD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},uYe={getConfig:()=>Re().gitGraph,setDirection:WWe,setOptions:YWe,getOptions:XWe,commit:QWe,branch:JWe,merge:ZWe,cherryPick:tYe,checkout:Czt,prettyPrint:eYe,clear:nYe,getBranchesAsObjArray:rYe,getBranches:iYe,getCommits:sYe,getCommitsArray:Azt,getCurrentBranch:aYe,getDirection:oYe,getHead:cYe,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,setDiagramTitle:S2,getDiagramTitle:Zg,commitType:CD};let iB={};const D2={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},P9=8;let Cf={},$x={},uX=[],sB=0,f1="LR";const lYe=()=>{Cf={},$x={},iB={},sB=0,uX=[],f1="LR"},Lzt=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let f=[];typeof i=="string"?f=i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?f=i:f=[];for(const g of f){const w=document.createElementNS("http://www.w3.org/2000/svg","tspan");w.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),w.setAttribute("dy","1em"),w.setAttribute("x","0"),w.setAttribute("class","row"),w.textContent=g.trim(),a.appendChild(w)}return a},hYe=i=>{let a="",f=0;return i.forEach(g=>{const w=f1==="TB"?$x[g].y:$x[g].x;w>=f&&(a=g,f=w)}),a||void 0},Dzt=(i,a,f)=>{const g=Re().gitGraph,w=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;f1==="TB"&&(b=30);const S=Object.keys(a).sort((R,B)=>a[R].seq-a[B].seq),_=g.parallelCommits,M=10,F=40;S.forEach(R=>{const B=a[R];if(_)if(B.parents.length){const ot=hYe(B.parents);b=f1==="TB"?$x[ot].y+F:$x[ot].x+F}else b=0,f1==="TB"&&(b=30);const z=b+M,Y=f1==="TB"?z:Cf[B.branch].pos,nt=f1==="TB"?Cf[B.branch].pos:z;if(f){let ot,ft=B.customType!==void 0&&B.customType!==""?B.customType:B.type;switch(ft){case D2.NORMAL:ot="commit-normal";break;case D2.REVERSE:ot="commit-reverse";break;case D2.HIGHLIGHT:ot="commit-highlight";break;case D2.MERGE:ot="commit-merge";break;case D2.CHERRY_PICK:ot="commit-cherry-pick";break;default:ot="commit-normal"}if(ft===D2.HIGHLIGHT){const wt=w.append("rect");wt.attr("x",nt-10),wt.attr("y",Y-10),wt.attr("height",20),wt.attr("width",20),wt.attr("class",`commit ${B.id} commit-highlight${Cf[B.branch].index%P9} ${ot}-outer`),w.append("rect").attr("x",nt-6).attr("y",Y-6).attr("height",12).attr("width",12).attr("class",`commit ${B.id} commit${Cf[B.branch].index%P9} ${ot}-inner`)}else if(ft===D2.CHERRY_PICK)w.append("circle").attr("cx",nt).attr("cy",Y).attr("r",10).attr("class",`commit ${B.id} ${ot}`),w.append("circle").attr("cx",nt-3).attr("cy",Y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ot}`),w.append("circle").attr("cx",nt+3).attr("cy",Y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ot}`),w.append("line").attr("x1",nt+3).attr("y1",Y+1).attr("x2",nt).attr("y2",Y-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ot}`),w.append("line").attr("x1",nt-3).attr("y1",Y+1).attr("x2",nt).attr("y2",Y-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ot}`);else{const wt=w.append("circle");if(wt.attr("cx",nt),wt.attr("cy",Y),wt.attr("r",B.type===D2.MERGE?9:10),wt.attr("class",`commit ${B.id} commit${Cf[B.branch].index%P9}`),ft===D2.MERGE){const mt=w.append("circle");mt.attr("cx",nt),mt.attr("cy",Y),mt.attr("r",6),mt.attr("class",`commit ${ot} ${B.id} commit${Cf[B.branch].index%P9}`)}ft===D2.REVERSE&&w.append("path").attr("d",`M ${nt-5},${Y-5}L${nt+5},${Y+5}M${nt-5},${Y+5}L${nt+5},${Y-5}`).attr("class",`commit ${ot} ${B.id} commit${Cf[B.branch].index%P9}`)}}if(f1==="TB"?$x[B.id]={x:nt,y:z}:$x[B.id]={x:z,y:Y},f){if(B.type!==D2.CHERRY_PICK&&(B.customId&&B.type===D2.MERGE||B.type!==D2.MERGE)&&g.showCommitLabel){const wt=v.append("g"),mt=wt.insert("rect").attr("class","commit-label-bkg"),ct=wt.append("text").attr("x",b).attr("y",Y+25).attr("class","commit-label").text(B.id);let rt=ct.node().getBBox();if(mt.attr("x",z-rt.width/2-2).attr("y",Y+13.5).attr("width",rt.width+2*2).attr("height",rt.height+2*2),f1==="TB"&&(mt.attr("x",nt-(rt.width+4*4+5)).attr("y",Y-12),ct.attr("x",nt-(rt.width+4*4)).attr("y",Y+rt.height-12)),f1!=="TB"&&ct.attr("x",z-rt.width/2),g.rotateCommitLabel)if(f1==="TB")ct.attr("transform","rotate(-45, "+nt+", "+Y+")"),mt.attr("transform","rotate(-45, "+nt+", "+Y+")");else{let it=-7.5-(rt.width+10)/25*9.5,gt=10+rt.width/25*8.5;wt.attr("transform","translate("+it+", "+gt+") rotate(-45, "+b+", "+Y+")")}}if(B.tag){const wt=v.insert("polygon"),mt=v.append("circle"),ct=v.append("text").attr("y",Y-16).attr("class","tag-label").text(B.tag);let rt=ct.node().getBBox();ct.attr("x",z-rt.width/2);const it=rt.height/2,gt=Y-19.2;wt.attr("class","tag-label-bkg").attr("points",`
350 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var V=this.next();return V||this.lex()},begin:function(V){this.conditionStack.push(V)},popState:function(){var V=this.conditionStack.length-1;return V>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(V){return V=this.conditionStack.length-1-Math.abs(V||0),V>=0?this.conditionStack[V]:"INITIAL"},pushState:function(V){this.begin(V)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(V,Ot,It,jt){switch(It){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};return K}();gt.lexer=Q;function dt(){this.yy={}}return dt.prototype=gt,gt.Parser=dt,new dt}();cbt.parser=cbt;const wYe=cbt;var Mzt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f="day";return function(g,w,v){var b=function(_){return _.add(4-_.isoWeekday(),f)},E=w.prototype;E.isoWeekYear=function(){return b(this).year()},E.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),f);var M,F,R,B,z=b(this),Y=(M=this.isoWeekYear(),F=this.$u,R=(F?v.utc:v)().year(M).startOf("year"),B=4-R.isoWeekday(),R.isoWeekday()>4&&(B+=7),R.add(B,f));return z.diff(Y,"week")+1},E.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var S=E.startOf;E.startOf=function(_,M){var F=this.$utils(),R=!!F.u(M)||M;return F.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):S.bind(this)(_,M)}}})})(Mzt);var mYe=Mzt.exports;const vYe=e9(mYe);var Izt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},g=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,w=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,E={},S=function(Y){return(Y=+Y)+(Y>68?1900:2e3)},_=function(Y){return function(nt){this[Y]=+nt}},M=[/[+-]\d\d:?(\d\d)?|Z/,function(Y){(this.zone||(this.zone={})).offset=function(nt){if(!nt||nt==="Z")return 0;var ot=nt.match(/([+-]|\d\d)/g),ft=60*ot[1]+(+ot[2]||0);return ft===0?0:ot[0]==="+"?-ft:ft}(Y)}],F=function(Y){var nt=E[Y];return nt&&(nt.indexOf?nt:nt.s.concat(nt.f))},R=function(Y,nt){var ot,ft=E.meridiem;if(ft){for(var wt=1;wt<=24;wt+=1)if(Y.indexOf(ft(wt,0,nt))>-1){ot=wt>12;break}}else ot=Y===(nt?"pm":"PM");return ot},B={A:[b,function(Y){this.afternoon=R(Y,!1)}],a:[b,function(Y){this.afternoon=R(Y,!0)}],S:[/\d/,function(Y){this.milliseconds=100*+Y}],SS:[w,function(Y){this.milliseconds=10*+Y}],SSS:[/\d{3}/,function(Y){this.milliseconds=+Y}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[w,_("day")],Do:[b,function(Y){var nt=E.ordinal,ot=Y.match(/\d+/);if(this.day=ot[0],nt)for(var ft=1;ft<=31;ft+=1)nt(ft).replace(/\[|\]/g,"")===Y&&(this.day=ft)}],M:[v,_("month")],MM:[w,_("month")],MMM:[b,function(Y){var nt=F("months"),ot=(F("monthsShort")||nt.map(function(ft){return ft.slice(0,3)})).indexOf(Y)+1;if(ot<1)throw new Error;this.month=ot%12||ot}],MMMM:[b,function(Y){var nt=F("months").indexOf(Y)+1;if(nt<1)throw new Error;this.month=nt%12||nt}],Y:[/[+-]?\d+/,_("year")],YY:[w,function(Y){this.year=S(Y)}],YYYY:[/\d{4}/,_("year")],Z:M,ZZ:M};function z(Y){var nt,ot;nt=Y,ot=E&&E.formats;for(var ft=(Y=nt.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Q,dt,K){var yt=K&&K.toUpperCase();return dt||ot[K]||f[K]||ot[yt].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(V,Ot,It){return Ot||It.slice(1)})})).match(g),wt=ft.length,mt=0;mt<wt;mt+=1){var ct=ft[mt],rt=B[ct],it=rt&&rt[0],gt=rt&&rt[1];ft[mt]=gt?{regex:it,parser:gt}:ct.replace(/^\[|\]$/g,"")}return function(Q){for(var dt={},K=0,yt=0;K<wt;K+=1){var V=ft[K];if(typeof V=="string")yt+=V.length;else{var Ot=V.regex,It=V.parser,jt=Q.slice(yt),xt=Ot.exec(jt)[0];It.call(dt,xt),Q=Q.replace(xt,"")}}return function(Ft){var Ct=Ft.afternoon;if(Ct!==void 0){var kt=Ft.hours;Ct?kt<12&&(Ft.hours+=12):kt===12&&(Ft.hours=0),delete Ft.afternoon}}(dt),dt}}return function(Y,nt,ot){ot.p.customParseFormat=!0,Y&&Y.parseTwoDigitYear&&(S=Y.parseTwoDigitYear);var ft=nt.prototype,wt=ft.parse;ft.parse=function(mt){var ct=mt.date,rt=mt.utc,it=mt.args;this.$u=rt;var gt=it[1];if(typeof gt=="string"){var Q=it[2]===!0,dt=it[3]===!0,K=Q||dt,yt=it[2];dt&&(yt=it[2]),E=this.$locale(),!Q&&yt&&(E=ot.Ls[yt]),this.$d=function(jt,xt,Ft){try{if(["x","X"].indexOf(xt)>-1)return new Date((xt==="X"?1e3:1)*jt);var Ct=z(xt)(jt),kt=Ct.year,Gt=Ct.month,Fe=Ct.day,Mt=Ct.hours,pn=Ct.minutes,Ae=Ct.seconds,ye=Ct.milliseconds,tn=Ct.zone,sn=new Date,be=Fe||(kt||Gt?1:sn.getDate()),Ne=kt||sn.getFullYear(),Xt=0;kt&&!Gt||(Xt=Gt>0?Gt-1:sn.getMonth());var _e=Mt||0,xe=pn||0,Mn=Ae||0,ce=ye||0;return tn?new Date(Date.UTC(Ne,Xt,be,_e,xe,Mn,ce+60*tn.offset*1e3)):Ft?new Date(Date.UTC(Ne,Xt,be,_e,xe,Mn,ce)):new Date(Ne,Xt,be,_e,xe,Mn,ce)}catch{return new Date("")}}(ct,gt,rt),this.init(),yt&&yt!==!0&&(this.$L=this.locale(yt).$L),K&&ct!=this.format(gt)&&(this.$d=new Date("")),E={}}else if(gt instanceof Array)for(var V=gt.length,Ot=1;Ot<=V;Ot+=1){it[1]=gt[Ot-1];var It=ot.apply(this,it);if(It.isValid()){this.$d=It.$d,this.$L=It.$L,this.init();break}Ot===V&&(this.$d=new Date(""))}else wt.call(this,mt)}}})})(Izt);var yYe=Izt.exports;const xYe=e9(yYe);var Ozt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){return function(f,g){var w=g.prototype,v=w.format;w.format=function(b){var E=this,S=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),M=(b||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(F){switch(F){case"Q":return Math.ceil((E.$M+1)/3);case"Do":return S.ordinal(E.$D);case"gggg":return E.weekYear();case"GGGG":return E.isoWeekYear();case"wo":return S.ordinal(E.week(),"W");case"w":case"ww":return _.s(E.week(),F==="w"?1:2,"0");case"W":case"WW":return _.s(E.isoWeek(),F==="W"?1:2,"0");case"k":case"kk":return _.s(String(E.$H===0?24:E.$H),F==="k"?1:2,"0");case"X":return Math.floor(E.$d.getTime()/1e3);case"x":return E.$d.getTime();case"z":return"["+E.offsetName()+"]";case"zzz":return"["+E.offsetName("long")+"]";default:return F}});return v.bind(this)(M)}}})})(Ozt);var kYe=Ozt.exports;const EYe=e9(kYe);tg.extend(vYe),tg.extend(xYe),tg.extend(EYe);let h4="",ubt="",lbt,hbt="",oB=[],cB=[],fbt={},dbt=[],lX=[],SD="",gbt="";const Nzt=["active","done","crit","milestone"];let pbt=[],uB=!1,bbt=!1,wbt="sunday",mbt=0;const TYe=function(){dbt=[],lX=[],SD="",pbt=[],hX=0,ybt=void 0,fX=void 0,H1=[],h4="",ubt="",gbt="",lbt=void 0,hbt="",oB=[],cB=[],uB=!1,bbt=!1,mbt=0,fbt={},ag(),wbt="sunday"},CYe=function(i){ubt=i},SYe=function(){return ubt},_Ye=function(i){lbt=i},AYe=function(){return lbt},LYe=function(i){hbt=i},DYe=function(){return hbt},MYe=function(i){h4=i},IYe=function(){uB=!0},OYe=function(){return uB},NYe=function(){bbt=!0},PYe=function(){return bbt},FYe=function(i){gbt=i},BYe=function(){return gbt},RYe=function(){return h4},jYe=function(i){oB=i.toLowerCase().split(/[\s,]+/)},$Ye=function(){return oB},zYe=function(i){cB=i.toLowerCase().split(/[\s,]+/)},qYe=function(){return cB},HYe=function(){return fbt},VYe=function(i){SD=i,dbt.push(i)},UYe=function(){return dbt},GYe=function(){let i=$zt();const a=10;let f=0;for(;!i&&f<a;)i=$zt(),f++;return lX=H1,lX},Pzt=function(i,a,f,g){return g.includes(i.format(a.trim()))?!1:i.isoWeekday()>=6&&f.includes("weekends")||f.includes(i.format("dddd").toLowerCase())?!0:f.includes(i.format(a.trim()))},KYe=function(i){wbt=i},WYe=function(){return wbt},Fzt=function(i,a,f,g){if(!f.length||i.manualEndTime)return;let w;i.startTime instanceof Date?w=tg(i.startTime):w=tg(i.startTime,a,!0),w=w.add(1,"d");let v;i.endTime instanceof Date?v=tg(i.endTime):v=tg(i.endTime,a,!0);const[b,E]=YYe(w,v,a,f,g);i.endTime=b.toDate(),i.renderEndTime=E},YYe=function(i,a,f,g,w){let v=!1,b=null;for(;i<=a;)v||(b=a.toDate()),v=Pzt(i,f,g,w),v&&(a=a.add(1,"d")),i=i.add(1,"d");return[a,b]},vbt=function(i,a,f){f=f.trim();const w=/^after\s+([\d\w- ]+)/.exec(f.trim());if(w!==null){let b=null;if(w[1].split(" ").forEach(function(E){let S=AD(E);S!==void 0&&(b?S.endTime>b.endTime&&(b=S):b=S)}),b)return b.endTime;{const E=new Date;return E.setHours(0,0,0,0),E}}let v=tg(f,a.trim(),!0);if(v.isValid())return v.toDate();{Kt.debug("Invalid date:"+f),Kt.debug("With date format:"+a.trim());const b=new Date(f);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+f);return b}},Bzt=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},Rzt=function(i,a,f,g=!1){f=f.trim();let w=tg(f,a.trim(),!0);if(w.isValid())return g&&(w=w.add(1,"d")),w.toDate();let v=tg(i);const[b,E]=Bzt(f);if(!Number.isNaN(b)){const S=v.add(b,E);S.isValid()&&(v=S)}return v.toDate()};let hX=0;const _D=function(i){return i===void 0?(hX=hX+1,"task"+hX):i},XYe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Hzt(g,w,Nzt);for(let b=0;b<g.length;b++)g[b]=g[b].trim();let v="";switch(g.length){case 1:w.id=_D(),w.startTime=i.endTime,v=g[0];break;case 2:w.id=_D(),w.startTime=vbt(void 0,h4,g[0]),v=g[1];break;case 3:w.id=_D(g[0]),w.startTime=vbt(void 0,h4,g[1]),v=g[2];break}return v&&(w.endTime=Rzt(w.startTime,h4,v,uB),w.manualEndTime=tg(v,"YYYY-MM-DD",!0).isValid(),Fzt(w,h4,cB,oB)),w},QYe=function(i,a){let f;a.substr(0,1)===":"?f=a.substr(1,a.length):f=a;const g=f.split(","),w={};Hzt(g,w,Nzt);for(let v=0;v<g.length;v++)g[v]=g[v].trim();switch(g.length){case 1:w.id=_D(),w.startTime={type:"prevTaskEnd",id:i},w.endTime={data:g[0]};break;case 2:w.id=_D(),w.startTime={type:"getStartDate",startData:g[0]},w.endTime={data:g[1]};break;case 3:w.id=_D(g[0]),w.startTime={type:"getStartDate",startData:g[1]},w.endTime={data:g[2]};break}return w};let ybt,fX,H1=[];const jzt={},JYe=function(i,a){const f={section:SD,type:SD,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:a},task:i,classes:[]},g=QYe(fX,a);f.raw.startTime=g.startTime,f.raw.endTime=g.endTime,f.id=g.id,f.prevTaskId=fX,f.active=g.active,f.done=g.done,f.crit=g.crit,f.milestone=g.milestone,f.order=mbt,mbt++;const w=H1.push(f);fX=f.id,jzt[f.id]=w-1},AD=function(i){const a=jzt[i];return H1[a]},ZYe=function(i,a){const f={section:SD,type:SD,description:i,task:i,classes:[]},g=XYe(ybt,a);f.startTime=g.startTime,f.endTime=g.endTime,f.id=g.id,f.active=g.active,f.done=g.done,f.crit=g.crit,f.milestone=g.milestone,ybt=f,lX.push(f)},$zt=function(){const i=function(f){const g=H1[f];let w="";switch(H1[f].raw.startTime.type){case"prevTaskEnd":{const v=AD(g.prevTaskId);g.startTime=v.endTime;break}case"getStartDate":w=vbt(void 0,h4,H1[f].raw.startTime.startData),w&&(H1[f].startTime=w);break}return H1[f].startTime&&(H1[f].endTime=Rzt(H1[f].startTime,h4,H1[f].raw.endTime.data,uB),H1[f].endTime&&(H1[f].processed=!0,H1[f].manualEndTime=tg(H1[f].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Fzt(H1[f],h4,cB,oB))),H1[f].processed};let a=!0;for(const[f,g]of H1.entries())i(f),a=a&&g.processed;return a},tXe=function(i,a){let f=a;Re().securityLevel!=="loose"&&(f=h8(a)),i.split(",").forEach(function(g){AD(g)!==void 0&&(qzt(g,()=>{window.open(f,"_self")}),fbt[g]=f)}),zzt(i,"clickable")},zzt=function(i,a){i.split(",").forEach(function(f){let g=AD(f);g!==void 0&&g.classes.push(a)})},eXe=function(i,a,f){if(Re().securityLevel!=="loose"||a===void 0)return;let g=[];if(typeof f=="string"){g=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<g.length;v++){let b=g[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),g[v]=b}}g.length===0&&g.push(i),AD(i)!==void 0&&qzt(i,()=>{uo.runFunc(a,...g)})},qzt=function(i,a){pbt.push(function(){const f=document.querySelector(`[id="${i}"]`);f!==null&&f.addEventListener("click",function(){a()})},function(){const f=document.querySelector(`[id="${i}-text"]`);f!==null&&f.addEventListener("click",function(){a()})})},nXe={getConfig:()=>Re().gantt,clear:TYe,setDateFormat:MYe,getDateFormat:RYe,enableInclusiveEndDates:IYe,endDatesAreInclusive:OYe,enableTopAxis:NYe,topAxisEnabled:PYe,setAxisFormat:CYe,getAxisFormat:SYe,setTickInterval:_Ye,getTickInterval:AYe,setTodayMarker:LYe,getTodayMarker:DYe,setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,setDisplayMode:FYe,getDisplayMode:BYe,setAccDescription:Qg,getAccDescription:Jg,addSection:VYe,getSections:UYe,getTasks:GYe,addTask:JYe,findTaskById:AD,addTaskOrg:ZYe,setIncludes:jYe,getIncludes:$Ye,setExcludes:zYe,getExcludes:qYe,setClickEvent:function(i,a,f){i.split(",").forEach(function(g){eXe(g,a,f)}),zzt(i,"clickable")},setLink:tXe,getLinks:HYe,bindFunctions:function(i){pbt.forEach(function(a){a(i)})},parseDuration:Bzt,isInvalidDate:Pzt,setWeekday:KYe,getWeekday:WYe};function Hzt(i,a,f){let g=!0;for(;g;)g=!1,f.forEach(function(w){const v="^\\s*"+w+"\\s*$",b=new RegExp(v);i[0].match(b)&&(a[w]=!0,i.shift(1),g=!0)})}const rXe=function(){Kt.debug("Something is calling, setConf, remove the call")},Vzt={monday:hF,tuesday:NNt,wednesday:PNt,thursday:l9,friday:FNt,saturday:BNt,sunday:lF},iXe=(i,a)=>{let f=[...i].map(()=>-1/0),g=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),w=0;for(const v of g)for(let b=0;b<f.length;b++)if(v.startTime>=f[b]){f[b]=v.endTime,v.order=b+a,b>w&&(w=b);break}return w};let zx;const sXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:wYe,db:nXe,renderer:{setConf:rXe,draw:function(i,a,f,g){const w=Re().gantt,v=Re().securityLevel;let b;v==="sandbox"&&(b=Tr("#i"+a));const E=Tr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=v==="sandbox"?b.nodes()[0].contentDocument:document,_=S.getElementById(a);zx=_.parentElement.offsetWidth,zx===void 0&&(zx=1200),w.useWidth!==void 0&&(zx=w.useWidth);const M=g.db.getTasks();let F=[];for(const gt of M)F.push(gt.type);F=it(F);const R={};let B=2*w.topPadding;if(g.db.getDisplayMode()==="compact"||w.displayMode==="compact"){const gt={};for(const dt of M)gt[dt.section]===void 0?gt[dt.section]=[dt]:gt[dt.section].push(dt);let Q=0;for(const dt of Object.keys(gt)){const K=iXe(gt[dt],Q)+1;Q+=K,B+=K*(w.barHeight+w.barGap),R[dt]=K}}else{B+=M.length*(w.barHeight+w.barGap);for(const gt of F)R[gt]=M.filter(Q=>Q.type===gt).length}_.setAttribute("viewBox","0 0 "+zx+" "+B);const z=E.select(`[id="${a}"]`),Y=eDe().domain([B9e(M,function(gt){return gt.startTime}),F9e(M,function(gt){return gt.endTime})]).rangeRound([0,zx-w.leftPadding-w.rightPadding]);function nt(gt,Q){const dt=gt.startTime,K=Q.startTime;let yt=0;return dt>K?yt=1:dt<K&&(yt=-1),yt}M.sort(nt),ot(M,zx,B),sg(z,B,zx,w.useMaxWidth),z.append("text").text(g.db.getDiagramTitle()).attr("x",zx/2).attr("y",w.titleTopMargin).attr("class","titleText");function ot(gt,Q,dt){const K=w.barHeight,yt=K+w.barGap,V=w.topPadding,Ot=w.leftPadding,It=VL().domain([0,F.length]).range(["#00B9FA","#F95002"]).interpolate(s_e);wt(yt,V,Ot,Q,dt,gt,g.db.getExcludes(),g.db.getIncludes()),mt(Ot,V,Q,dt),ft(gt,yt,V,Ot,K,It,Q),ct(yt,V),rt(Ot,V,Q,dt)}function ft(gt,Q,dt,K,yt,V,Ot){const jt=[...new Set(gt.map(kt=>kt.order))].map(kt=>gt.find(Gt=>Gt.order===kt));z.append("g").selectAll("rect").data(jt).enter().append("rect").attr("x",0).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+dt-2}).attr("width",function(){return Ot-w.rightPadding/2}).attr("height",Q).attr("class",function(kt){for(const[Gt,Fe]of F.entries())if(kt.type===Fe)return"section section"+Gt%w.numberSectionStyles;return"section section0"});const xt=z.append("g").selectAll("rect").data(gt).enter(),Ft=g.db.getLinks();if(xt.append("rect").attr("id",function(kt){return kt.id}).attr("rx",3).attr("ry",3).attr("x",function(kt){return kt.milestone?Y(kt.startTime)+K+.5*(Y(kt.endTime)-Y(kt.startTime))-.5*yt:Y(kt.startTime)+K}).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+dt}).attr("width",function(kt){return kt.milestone?yt:Y(kt.renderEndTime||kt.endTime)-Y(kt.startTime)}).attr("height",yt).attr("transform-origin",function(kt,Gt){return Gt=kt.order,(Y(kt.startTime)+K+.5*(Y(kt.endTime)-Y(kt.startTime))).toString()+"px "+(Gt*Q+dt+.5*yt).toString()+"px"}).attr("class",function(kt){const Gt="task";let Fe="";kt.classes.length>0&&(Fe=kt.classes.join(" "));let Mt=0;for(const[Ae,ye]of F.entries())kt.type===ye&&(Mt=Ae%w.numberSectionStyles);let pn="";return kt.active?kt.crit?pn+=" activeCrit":pn=" active":kt.done?kt.crit?pn=" doneCrit":pn=" done":kt.crit&&(pn+=" crit"),pn.length===0&&(pn=" task"),kt.milestone&&(pn=" milestone "+pn),pn+=Mt,pn+=" "+Fe,Gt+pn}),xt.append("text").attr("id",function(kt){return kt.id+"-text"}).text(function(kt){return kt.task}).attr("font-size",w.fontSize).attr("x",function(kt){let Gt=Y(kt.startTime),Fe=Y(kt.renderEndTime||kt.endTime);kt.milestone&&(Gt+=.5*(Y(kt.endTime)-Y(kt.startTime))-.5*yt),kt.milestone&&(Fe=Gt+yt);const Mt=this.getBBox().width;return Mt>Fe-Gt?Fe+Mt+1.5*w.leftPadding>Ot?Gt+K-5:Fe+K+5:(Fe-Gt)/2+Gt+K}).attr("y",function(kt,Gt){return Gt=kt.order,Gt*Q+w.barHeight/2+(w.fontSize/2-2)+dt}).attr("text-height",yt).attr("class",function(kt){const Gt=Y(kt.startTime);let Fe=Y(kt.endTime);kt.milestone&&(Fe=Gt+yt);const Mt=this.getBBox().width;let pn="";kt.classes.length>0&&(pn=kt.classes.join(" "));let Ae=0;for(const[tn,sn]of F.entries())kt.type===sn&&(Ae=tn%w.numberSectionStyles);let ye="";return kt.active&&(kt.crit?ye="activeCritText"+Ae:ye="activeText"+Ae),kt.done?kt.crit?ye=ye+" doneCritText"+Ae:ye=ye+" doneText"+Ae:kt.crit&&(ye=ye+" critText"+Ae),kt.milestone&&(ye+=" milestoneText"),Mt>Fe-Gt?Fe+Mt+1.5*w.leftPadding>Ot?pn+" taskTextOutsideLeft taskTextOutside"+Ae+" "+ye:pn+" taskTextOutsideRight taskTextOutside"+Ae+" "+ye+" width-"+Mt:pn+" taskText taskText"+Ae+" "+ye+" width-"+Mt}),Re().securityLevel==="sandbox"){let kt;kt=Tr("#i"+a);const Gt=kt.nodes()[0].contentDocument;xt.filter(function(Fe){return Ft[Fe.id]!==void 0}).each(function(Fe){var Mt=Gt.querySelector("#"+Fe.id),pn=Gt.querySelector("#"+Fe.id+"-text");const Ae=Mt.parentNode;var ye=Gt.createElement("a");ye.setAttribute("xlink:href",Ft[Fe.id]),ye.setAttribute("target","_top"),Ae.appendChild(ye),ye.appendChild(Mt),ye.appendChild(pn)})}}function wt(gt,Q,dt,K,yt,V,Ot,It){if(Ot.length===0&&It.length===0)return;let jt,xt;for(const{startTime:Mt,endTime:pn}of V)(jt===void 0||Mt<jt)&&(jt=Mt),(xt===void 0||pn>xt)&&(xt=pn);if(!jt||!xt)return;if(tg(xt).diff(tg(jt),"year")>5){Kt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Ft=g.db.getDateFormat(),Ct=[];let kt=null,Gt=tg(jt);for(;Gt.valueOf()<=xt;)g.db.isInvalidDate(Gt,Ft,Ot,It)?kt?kt.end=Gt:kt={start:Gt,end:Gt}:kt&&(Ct.push(kt),kt=null),Gt=Gt.add(1,"d");z.append("g").selectAll("rect").data(Ct).enter().append("rect").attr("id",function(Mt){return"exclude-"+Mt.start.format("YYYY-MM-DD")}).attr("x",function(Mt){return Y(Mt.start)+dt}).attr("y",w.gridLineStartPadding).attr("width",function(Mt){const pn=Mt.end.add(1,"day");return Y(pn)-Y(Mt.start)}).attr("height",yt-Q-w.gridLineStartPadding).attr("transform-origin",function(Mt,pn){return(Y(Mt.start)+dt+.5*(Y(Mt.end)-Y(Mt.start))).toString()+"px "+(pn*gt+.5*yt).toString()+"px"}).attr("class","exclude-range")}function mt(gt,Q,dt,K){let yt=G9e(Y).tickSize(-K+Q+w.gridLineStartPadding).tickFormat(DW(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));const Ot=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(g.db.getTickInterval()||w.tickInterval);if(Ot!==null){const It=Ot[1],jt=Ot[2],xt=g.db.getWeekday()||w.weekday;switch(jt){case"millisecond":yt.ticks(UL.every(It));break;case"second":yt.ticks(f8.every(It));break;case"minute":yt.ticks(cF.every(It));break;case"hour":yt.ticks(uF.every(It));break;case"day":yt.ticks(c9.every(It));break;case"week":yt.ticks(Vzt[xt].every(It));break;case"month":yt.ticks(fF.every(It));break}}if(z.append("g").attr("class","grid").attr("transform","translate("+gt+", "+(K-50)+")").call(yt).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),g.db.topAxisEnabled()||w.topAxis){let It=U9e(Y).tickSize(-K+Q+w.gridLineStartPadding).tickFormat(DW(g.db.getAxisFormat()||w.axisFormat||"%Y-%m-%d"));if(Ot!==null){const jt=Ot[1],xt=Ot[2],Ft=g.db.getWeekday()||w.weekday;switch(xt){case"millisecond":It.ticks(UL.every(jt));break;case"second":It.ticks(f8.every(jt));break;case"minute":It.ticks(cF.every(jt));break;case"hour":It.ticks(uF.every(jt));break;case"day":It.ticks(c9.every(jt));break;case"week":It.ticks(Vzt[Ft].every(jt));break;case"month":It.ticks(fF.every(jt));break}}z.append("g").attr("class","grid").attr("transform","translate("+gt+", "+Q+")").call(It).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ct(gt,Q){let dt=0;const K=Object.keys(R).map(yt=>[yt,R[yt]]);z.append("g").selectAll("text").data(K).enter().append(function(yt){const V=yt[0].split(ei.lineBreakRegex),Ot=-(V.length-1)/2,It=S.createElementNS("http://www.w3.org/2000/svg","text");It.setAttribute("dy",Ot+"em");for(const[jt,xt]of V.entries()){const Ft=S.createElementNS("http://www.w3.org/2000/svg","tspan");Ft.setAttribute("alignment-baseline","central"),Ft.setAttribute("x","10"),jt>0&&Ft.setAttribute("dy","1em"),Ft.textContent=xt,It.appendChild(Ft)}return It}).attr("x",10).attr("y",function(yt,V){if(V>0)for(let Ot=0;Ot<V;Ot++)return dt+=K[V-1][1],yt[1]*gt/2+dt*gt+Q;else return yt[1]*gt/2+Q}).attr("font-size",w.sectionFontSize).attr("class",function(yt){for(const[V,Ot]of F.entries())if(yt[0]===Ot)return"sectionTitle sectionTitle"+V%w.numberSectionStyles;return"sectionTitle"})}function rt(gt,Q,dt,K){const yt=g.db.getTodayMarker();if(yt==="off")return;const V=z.append("g").attr("class","today"),Ot=new Date,It=V.append("line");It.attr("x1",Y(Ot)+gt).attr("x2",Y(Ot)+gt).attr("y1",w.titleTopMargin).attr("y2",K-w.titleTopMargin).attr("class","today"),yt!==""&&It.attr("style",yt.replace(/,/g,";"))}function it(gt){const Q={},dt=[];for(let K=0,yt=gt.length;K<yt;++K)Object.prototype.hasOwnProperty.call(Q,gt[K])||(Q[gt[K]]=!0,dt.push(gt[K]));return dt}}},styles:i=>`
612 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ct=this.next();return ct||this.lex()},begin:function(ct){this.conditionStack.push(ct)},popState:function(){var ct=this.conditionStack.length-1;return ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(ct){return ct=this.conditionStack.length-1-Math.abs(ct||0),ct>=0?this.conditionStack[ct]:"INITIAL"},pushState:function(ct){this.begin(ct)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ct,rt,it,gt){switch(it){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};return wt}();nt.lexer=ot;function ft(){this.yy={}}return ft.prototype=nt,nt.Parser=ft,new ft}();Ebt.parser=Ebt;const cXe=Ebt,Gzt=Bl.pie,dX={sections:{},showData:!1,config:Gzt};let gX=dX.sections,Tbt=dX.showData;const uXe=structuredClone(Gzt),lXe={getConfig:()=>structuredClone(uXe),clear:()=>{gX=structuredClone(dX.sections),Tbt=dX.showData,ag()},setDiagramTitle:S2,getDiagramTitle:Zg,setAccTitle:og,getAccTitle:Xg,setAccDescription:Qg,getAccDescription:Jg,addSection:(i,a)=>{i=Ef(i,Re()),gX[i]===void 0&&(gX[i]=a,Kt.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>gX,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{Tbt=i},getShowData:()=>Tbt},hXe=i=>`
646 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var tn=this.next();return tn||this.lex()},begin:function(tn){this.conditionStack.push(tn)},popState:function(){var tn=this.conditionStack.length-1;return tn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(tn){return tn=this.conditionStack.length-1-Math.abs(tn||0),tn>=0?this.conditionStack[tn]:"INITIAL"},pushState:function(tn){this.begin(tn)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(tn,sn,be,Ne){switch(be){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Ae}();Fe.lexer=Mt;function pn(){this.yy={}}return pn.prototype=Fe,Fe.Parser=pn,new pn}();Cbt.parser=Cbt;const gXe=Cbt,rp=dgt();class pXe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,g,w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=Bl.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=Bl.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((g=Bl.quadrantChart)==null?void 0:g.titlePadding)||10,titleFontSize:((w=Bl.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((v=Bl.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=Bl.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=Bl.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((S=Bl.quadrantChart)==null?void 0:S.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=Bl.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((M=Bl.quadrantChart)==null?void 0:M.quadrantLabelFontSize)||16,quadrantTextTopPadding:((F=Bl.quadrantChart)==null?void 0:F.quadrantTextTopPadding)||5,pointTextPadding:((R=Bl.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((B=Bl.quadrantChart)==null?void 0:B.pointLabelFontSize)||12,pointRadius:((z=Bl.quadrantChart)==null?void 0:z.pointRadius)||5,xAxisPosition:((Y=Bl.quadrantChart)==null?void 0:Y.xAxisPosition)||"top",yAxisPosition:((nt=Bl.quadrantChart)==null?void 0:nt.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ot=Bl.quadrantChart)==null?void 0:ot.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((ft=Bl.quadrantChart)==null?void 0:ft.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:rp.quadrant1Fill,quadrant2Fill:rp.quadrant2Fill,quadrant3Fill:rp.quadrant3Fill,quadrant4Fill:rp.quadrant4Fill,quadrant1TextFill:rp.quadrant1TextFill,quadrant2TextFill:rp.quadrant2TextFill,quadrant3TextFill:rp.quadrant3TextFill,quadrant4TextFill:rp.quadrant4TextFill,quadrantPointFill:rp.quadrantPointFill,quadrantPointTextFill:rp.quadrantPointTextFill,quadrantXAxisTextFill:rp.quadrantXAxisTextFill,quadrantYAxisTextFill:rp.quadrantYAxisTextFill,quadrantTitleFill:rp.quadrantTitleFill,quadrantInternalBorderStrokeFill:rp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:rp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Kt.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Kt.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Kt.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,g,w){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?v:0,bottom:a==="bottom"&&f?v:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,S={left:this.config.yAxisPosition==="left"&&g?E:0,right:this.config.yAxisPosition==="right"&&g?E:0},_=this.config.titleFontSize+this.config.titlePadding*2,M={top:w?_:0},F=this.config.quadrantPadding+S.left,R=this.config.quadrantPadding+b.top+M.top,B=this.config.chartWidth-this.config.quadrantPadding*2-S.left-S.right,z=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-M.top,Y=B/2,nt=z/2;return{xAxisSpace:b,yAxisSpace:S,titleSpace:M,quadrantSpace:{quadrantLeft:F,quadrantTop:R,quadrantWidth:B,quadrantHalfWidth:Y,quadrantHeight:z,quadrantHalfHeight:nt}}}getAxisLabels(a,f,g,w){const{quadrantSpace:v,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:S,quadrantLeft:_,quadrantHalfWidth:M,quadrantTop:F,quadrantWidth:R}=v,B=!!this.data.xAxisRightText,z=!!this.data.yAxisTopText,Y=[];return this.data.xAxisLeftText&&f&&Y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(B?M/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+F+S+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&Y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+M+(B?M/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+F+S+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&g&&Y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:F+S-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&g&&Y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:F+E-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),Y}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:g,quadrantLeft:w,quadrantHalfWidth:v,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b,width:v,height:g,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:v,height:g,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant4Fill}];for(const S of E)S.text.x=S.x+S.width/2,this.data.points.length===0?(S.text.y=S.y+S.height/2,S.text.horizontalPos="middle"):(S.text.y=S.y+this.config.quadrantTextTopPadding,S.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:g,quadrantLeft:w,quadrantTop:v,quadrantWidth:b}=f,E=VL().domain([0,1]).range([w,b+w]),S=VL().domain([0,1]).range([g+v,v]);return this.data.points.map(M=>({x:E(M.x),y:S(M.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:M.text,fill:this.themeConfig.quadrantPointTextFill,x:E(M.x),y:S(M.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:g}=a,{quadrantHalfHeight:w,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:S,quadrantWidth:_}=g;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:S,x2:b+_+f,y2:S},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:S+f,x2:b+_,y2:S+v-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:S+v,x2:b+_+f,y2:S+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:S+f,x2:b,y2:S+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:S+f,x2:b+E,y2:S+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:S+w,x2:b+_-f,y2:S+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),g=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(w,a,f,g);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(w,a,f,v),borderLines:this.getBorders(v),title:this.getTitle(g)}}}const bXe=Re();function qx(i){return Ef(i.trim(),bXe)}const ug=new pXe;function wXe(i){ug.setData({quadrant1Text:qx(i.text)})}function mXe(i){ug.setData({quadrant2Text:qx(i.text)})}function vXe(i){ug.setData({quadrant3Text:qx(i.text)})}function yXe(i){ug.setData({quadrant4Text:qx(i.text)})}function xXe(i){ug.setData({xAxisLeftText:qx(i.text)})}function kXe(i){ug.setData({xAxisRightText:qx(i.text)})}function EXe(i){ug.setData({yAxisTopText:qx(i.text)})}function TXe(i){ug.setData({yAxisBottomText:qx(i.text)})}function CXe(i,a,f){ug.addPoints([{x:a,y:f,text:qx(i.text)}])}function SXe(i){ug.setConfig({chartWidth:i})}function _Xe(i){ug.setConfig({chartHeight:i})}function AXe(){const i=Re(),{themeVariables:a,quadrantChart:f}=i;return f&&ug.setConfig(f),ug.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),ug.setData({titleText:Zg()}),ug.build()}const LXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:gXe,db:{setWidth:SXe,setHeight:_Xe,setQuadrant1Text:wXe,setQuadrant2Text:mXe,setQuadrant3Text:vXe,setQuadrant4Text:yXe,setXAxisLeftText:xXe,setXAxisRightText:kXe,setYAxisTopText:EXe,setYAxisBottomText:TXe,addPoint:CXe,getQuadrantData:AXe,clear:function(){ug.clear(),ag()},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg},renderer:{draw:(i,a,f,g)=>{var gt,Q,dt;function w(K){return K==="top"?"hanging":"middle"}function v(K){return K==="left"?"start":"middle"}function b(K){return`translate(${K.x}, ${K.y}) rotate(${K.rotation||0})`}const E=Re();Kt.debug(`Rendering quadrant chart
652 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var xt=this.next();return xt||this.lex()},begin:function(xt){this.conditionStack.push(xt)},popState:function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},pushState:function(xt){this.begin(xt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(xt,Ft,Ct,kt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<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 It}();yt.lexer=V;function Ot(){this.yy={}}return Ot.prototype=yt,yt.Parser=Ot,new Ot}();Sbt.parser=Sbt;const DXe=Sbt;function Kzt(i){return i.type==="bar"}function Wzt(i){return i.type==="band"}function lB(i){return i.type==="linear"}class Yzt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*f,height:f};const g={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const v of a){const b=AKe(w,1,v),E=b?b.width:v.length*f,S=b?b.height:f;g.width=Math.max(g.width,E),g.height=Math.max(g.height,S)}return w.remove(),g}}const Xzt=.7,Qzt=.2;class Jzt{constructor(a,f,g,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=g,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Xzt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Xzt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.width;this.outerPadding=Math.min(g.width/2,w);const v=g.height+this.axisConfig.labelPadding*2;this.labelTextHeight=g.height,v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.height;this.outerPadding=Math.min(g.height/2,w);const v=g.width+this.axisConfig.labelPadding*2;v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${f},${this.getScaleValue(g)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(g)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f} L ${this.getScaleValue(g)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(g)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class MXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.categories=g,this.scale=V0t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=V0t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Kt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class IXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.domain=g,this.scale=VL().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=VL().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function Zzt(i,a,f,g){const w=new Yzt(g);return Wzt(i)?new MXe(a,f,i.categories,i.title,w):new IXe(a,f,[i.min,i.max],i.title,w)}class OXe{constructor(a,f,g,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=g,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),g=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=g&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=g,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function NXe(i,a,f,g){const w=new Yzt(g);return new OXe(w,i,a,f)}class PXe{constructor(a,f,g,w,v){this.plotData=a,this.xAxis=f,this.yAxis=g,this.orientation=w,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(g=>[this.xAxis.getScaleValue(g[0]),this.yAxis.getScaleValue(g[1])]);let f;return this.orientation==="horizontal"?f=Ax().y(g=>g[0]).x(g=>g[1])(a):f=Ax().x(g=>g[0]).y(g=>g[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class FXe{constructor(a,f,g,w,v,b){this.barData=a,this.boundingRect=f,this.xAxis=g,this.yAxis=w,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),f=.05,g=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=g/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-w,height:g,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-w,y:v[1],width:g,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class BXe{constructor(a,f,g){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=g,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,g]of this.chartData.plots.entries())switch(g.type){case"line":{const w=new PXe(g,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new FXe(g,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function RXe(i,a,f){return new BXe(i,a,f)}class jXe{constructor(a,f,g,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:NXe(a,f,g,w),plot:RXe(a,f,g),xAxis:Zzt(f.xAxis,a.xAxis,{titleColor:g.xAxisTitleColor,labelColor:g.xAxisLabelColor,tickColor:g.xAxisTickColor,axisLineColor:g.xAxisLineColor},w),yAxis:Zzt(f.yAxis,a.yAxis,{titleColor:g.yAxisTitleColor,labelColor:g.yAxisLabelColor,tickColor:g.yAxisTickColor,axisLineColor:g.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:v,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),g=E.width,a-=E.width,a>0&&(v+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:g,y:w}),this.componentStore.xAxis.setRange([g,g+v]),this.componentStore.xAxis.setBoundingBoxXY({x:g,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(S=>Kzt(S))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),S=this.componentStore.plot.calculateSpace({width:b,height:E});a-=S.width,f-=S.height,S=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),g=S.height,f-=S.height,this.componentStore.xAxis.setAxisPosition("left"),S=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=S.width,w=S.width,this.componentStore.yAxis.setAxisPosition("top"),S=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=S.height,v=g+S.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:v}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:g}),this.componentStore.xAxis.setRange([v,v+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>Kzt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class $Xe{static build(a,f,g,w){return new jXe(a,f,g,w).getDrawableElement()}}let hB=0,tqt,fB=nqt(),dB=eqt(),Pu=rqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1;function eqt(){const i=dgt(),a=o1();return MF(i.xyChart,a.themeVariables.xyChart)}function nqt(){const i=o1();return MF(Bl.xyChart,i.xyChart)}function rqt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Lbt(i){const a=o1();return Ef(i.trim(),a)}function zXe(i){tqt=i}function qXe(i){i==="horizontal"?fB.chartOrientation="horizontal":fB.chartOrientation="vertical"}function HXe(i){Pu.xAxis.title=Lbt(i.text)}function iqt(i,a){Pu.xAxis={type:"linear",title:Pu.xAxis.title,min:i,max:a},pX=!0}function VXe(i){Pu.xAxis={type:"band",title:Pu.xAxis.title,categories:i.map(a=>Lbt(a.text))},pX=!0}function UXe(i){Pu.yAxis.title=Lbt(i.text)}function GXe(i,a){Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:i,max:a},Abt=!0}function KXe(i){const a=Math.min(...i),f=Math.max(...i),g=lB(Pu.yAxis)?Pu.yAxis.min:1/0,w=lB(Pu.yAxis)?Pu.yAxis.max:-1/0;Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:Math.min(g,a),max:Math.max(w,f)}}function sqt(i){let a=[];if(i.length===0)return a;if(!pX){const f=lB(Pu.xAxis)?Pu.xAxis.min:1/0,g=lB(Pu.xAxis)?Pu.xAxis.max:-1/0;iqt(Math.min(f,1),Math.max(g,i.length))}if(Abt||KXe(i),Wzt(Pu.xAxis)&&(a=Pu.xAxis.categories.map((f,g)=>[f,i[g]])),lB(Pu.xAxis)){const f=Pu.xAxis.min,g=Pu.xAxis.max,w=(g-f+1)/i.length,v=[];for(let b=f;b<=g;b+=w)v.push(`${b}`);a=v.map((b,E)=>[b,i[E]])}return a}function aqt(i){return _bt[i===0?0:i%_bt.length]}function WXe(i,a){const f=sqt(a);Pu.plots.push({type:"line",strokeFill:aqt(hB),strokeWidth:2,data:f}),hB++}function YXe(i,a){const f=sqt(a);Pu.plots.push({type:"bar",fill:aqt(hB),data:f}),hB++}function XXe(){if(Pu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Pu.title=Zg(),$Xe.build(fB,Pu,dB,tqt)}function QXe(){return dB}function JXe(){return fB}const ZXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DXe,db:{getDrawableElem:XXe,clear:function(){ag(),hB=0,fB=nqt(),Pu=rqt(),dB=eqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg,setOrientation:qXe,setXAxisTitle:HXe,setXAxisRangeData:iqt,setXAxisBand:VXe,setYAxisTitle:UXe,setYAxisRangeData:GXe,setLineData:WXe,setBarData:YXe,setTmpSVGG:zXe,getChartThemeConfig:QXe,getChartConfig:JXe},renderer:{draw:(i,a,f,g)=>{const w=g.db,v=w.getChartThemeConfig(),b=w.getChartConfig();function E(nt){return nt==="top"?"text-before-edge":"middle"}function S(nt){return nt==="left"?"start":nt==="right"?"end":"middle"}function _(nt){return`translate(${nt.x}, ${nt.y}) rotate(${nt.rotation||0})`}Kt.debug(`Rendering xychart chart
658 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var tn=this.next();return tn||this.lex()},begin:function(tn){this.conditionStack.push(tn)},popState:function(){var tn=this.conditionStack.length-1;return tn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(tn){return tn=this.conditionStack.length-1-Math.abs(tn||0),tn>=0?this.conditionStack[tn]:"INITIAL"},pushState:function(tn){this.begin(tn)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(tn,sn,be,Ne){switch(be){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return sn.yytext=sn.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return Ae}();Fe.lexer=Mt;function pn(){this.yy={}}return pn.prototype=Fe,Fe.Parser=pn,new pn}();Dbt.parser=Dbt;const tQe=Dbt;let Mbt=[],ub={},gB={},_8={},pB={};const eQe={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>Re().req,addRequirement:(i,a)=>(gB[i]===void 0&&(gB[i]={name:i,type:a,id:ub.id,text:ub.text,risk:ub.risk,verifyMethod:ub.verifyMethod}),ub={},gB[i]),getRequirements:()=>gB,setNewReqId:i=>{ub!==void 0&&(ub.id=i)},setNewReqText:i=>{ub!==void 0&&(ub.text=i)},setNewReqRisk:i=>{ub!==void 0&&(ub.risk=i)},setNewReqVerifyMethod:i=>{ub!==void 0&&(ub.verifyMethod=i)},setAccTitle:og,getAccTitle:Xg,setAccDescription:Qg,getAccDescription:Jg,addElement:i=>(pB[i]===void 0&&(pB[i]={name:i,type:_8.type,docRef:_8.docRef},Kt.info("Added new requirement: ",i)),_8={},pB[i]),getElements:()=>pB,setNewElementType:i=>{_8!==void 0&&(_8.type=i)},setNewElementDocRef:i=>{_8!==void 0&&(_8.docRef=i)},addRelationship:(i,a,f)=>{Mbt.push({type:i,src:a,dst:f})},getRelationships:()=>Mbt,clear:()=>{Mbt=[],ub={},gB={},_8={},pB={},ag()}},nQe=i=>`
709 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Xt=this.next();return Xt||this.lex()},begin:function(Xt){this.conditionStack.push(Xt)},popState:function(){var Xt=this.conditionStack.length-1;return Xt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Xt){return Xt=this.conditionStack.length-1-Math.abs(Xt||0),Xt>=0?this.conditionStack[Xt]:"INITIAL"},pushState:function(Xt){this.begin(Xt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Xt,_e,xe,Mn){switch(xe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return _e.yytext=_e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return _e.yytext=_e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 64:return 5;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};return be}();ye.lexer=tn;function sn(){this.yy={}}return sn.prototype=ye,ye.Parser=sn,new sn}();Obt.parser=Obt;const lQe=Obt;class hQe{constructor(a){this.init=a,this.records=this.init()}reset(){this.records=this.init()}}const ws=new hQe(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),fQe=function(i){ws.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&F9()||!!i.wrap,fill:i.color,actorKeys:[]}),ws.records.currentBox=ws.records.boxes.slice(-1)[0]},Nbt=function(i,a,f,g){let w=ws.records.currentBox;const v=ws.records.actors[i];if(v){if(ws.records.currentBox&&v.box&&ws.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+ws.records.currentBox.name+"' at the same time.");if(w=v.box?v.box:ws.records.currentBox,v.box=w,v&&a===v.name&&f==null)return}(f==null||f.text==null)&&(f={text:a,wrap:null,type:g}),(g==null||f.text==null)&&(f={text:a,wrap:null,type:g}),ws.records.actors[i]={box:w,name:a,description:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,prevActor:ws.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:g||"participant"},ws.records.prevActor&&ws.records.actors[ws.records.prevActor]&&(ws.records.actors[ws.records.prevActor].nextActor=i),ws.records.currentBox&&ws.records.currentBox.actorKeys.push(i),ws.records.prevActor=i},dQe=i=>{let a,f=0;for(a=0;a<ws.records.messages.length;a++)ws.records.messages[a].type===wB.ACTIVE_START&&ws.records.messages[a].from.actor===i&&f++,ws.records.messages[a].type===wB.ACTIVE_END&&ws.records.messages[a].from.actor===i&&f--;return f},gQe=function(i,a,f,g){ws.records.messages.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,answer:g})},Sf=function(i,a,f={text:void 0,wrap:void 0},g,w=!1){if(g===wB.ACTIVE_END&&dQe(i.actor)<1){let b=new Error("Trying to inactivate an inactive participant ("+i.actor+")");throw b.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return ws.records.messages.push({from:i,to:a,message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,type:g,activate:w}),!0},pQe=function(){return ws.records.boxes.length>0},bQe=function(){return ws.records.boxes.some(i=>i.name)},wQe=function(){return ws.records.messages},mQe=function(){return ws.records.boxes},vQe=function(){return ws.records.actors},yQe=function(){return ws.records.createdActors},xQe=function(){return ws.records.destroyedActors},bB=function(i){return ws.records.actors[i]},kQe=function(){return Object.keys(ws.records.actors)},EQe=function(){ws.records.sequenceNumbersEnabled=!0},TQe=function(){ws.records.sequenceNumbersEnabled=!1},CQe=()=>ws.records.sequenceNumbersEnabled,SQe=function(i){ws.records.wrapEnabled=i},F9=()=>ws.records.wrapEnabled!==void 0?ws.records.wrapEnabled:Re().sequence.wrap,_Qe=function(){ws.reset(),ag()},AQe=function(i){const a=i.trim(),f={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Kt.debug("parseMessage:",f),f},LQe=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let f=a!=null&&a[1]?a[1].trim():"transparent",g=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",f)||(f="transparent",g=i.trim());else{const w=new Option().style;w.color=f,w.color!==f&&(f="transparent",g=i.trim())}return{color:f,text:g!==void 0?Ef(g.replace(/^:?(?:no)?wrap:/,""),Re()):void 0,wrap:g!==void 0?g.match(/^:?wrap:/)!==null?!0:g.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},wB={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},DQe={FILLED:0,OPEN:1},MQe={LEFTOF:0,RIGHTOF:1,OVER:2},fqt=function(i,a,f){const g={actor:i,placement:a,message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap},w=[].concat(i,i);ws.records.notes.push(g),ws.records.messages.push({from:w[0],to:w[1],message:f.text,wrap:f.wrap===void 0&&F9()||!!f.wrap,type:wB.NOTE,placement:a})},dqt=function(i,a){const f=bB(i);try{let g=Ef(a.text,Re());g=g.replace(/&amp;/g,"&"),g=g.replace(/&equals;/g,"=");const w=JSON.parse(g);Pbt(f,w)}catch(g){Kt.error("error while parsing actor link text",g)}},IQe=function(i,a){const f=bB(i);try{const b={};let E=Ef(a.text,Re());var g=E.indexOf("@");E=E.replace(/&amp;/g,"&"),E=E.replace(/&equals;/g,"=");var w=E.slice(0,g-1).trim(),v=E.slice(g+1).trim();b[w]=v,Pbt(f,b)}catch(b){Kt.error("error while parsing actor link text",b)}};function Pbt(i,a){if(i.links==null)i.links=a;else for(let f in a)i.links[f]=a[f]}const gqt=function(i,a){const f=bB(i);try{let g=Ef(a.text,Re());const w=JSON.parse(g);pqt(f,w)}catch(g){Kt.error("error while parsing actor properties text",g)}};function pqt(i,a){if(i.properties==null)i.properties=a;else for(let f in a)i.properties[f]=a[f]}function OQe(){ws.records.currentBox=void 0}const bqt=function(i,a){const f=bB(i),g=document.getElementById(a.text);try{const w=g.innerHTML,v=JSON.parse(w);v.properties&&pqt(f,v.properties),v.links&&Pbt(f,v.links)}catch(w){Kt.error("error while parsing actor details text",w)}},NQe=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},wqt=function(i){if(Array.isArray(i))i.forEach(function(a){wqt(a)});else switch(i.type){case"sequenceIndex":ws.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":Nbt(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(ws.records.actors[i.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");ws.records.lastCreated=i.actor,Nbt(i.actor,i.actor,i.description,i.draw),ws.records.createdActors[i.actor]=ws.records.messages.length;break;case"destroyParticipant":ws.records.lastDestroyed=i.actor,ws.records.destroyedActors[i.actor]=ws.records.messages.length;break;case"activeStart":Sf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Sf(i.actor,void 0,void 0,i.signalType);break;case"addNote":fqt(i.actor,i.placement,i.text);break;case"addLinks":dqt(i.actor,i.text);break;case"addALink":IQe(i.actor,i.text);break;case"addProperties":gqt(i.actor,i.text);break;case"addDetails":bqt(i.actor,i.text);break;case"addMessage":if(ws.records.lastCreated){if(i.to!==ws.records.lastCreated)throw new Error("The created participant "+ws.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");ws.records.lastCreated=void 0}else if(ws.records.lastDestroyed){if(i.to!==ws.records.lastDestroyed&&i.from!==ws.records.lastDestroyed)throw new Error("The destroyed participant "+ws.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");ws.records.lastDestroyed=void 0}Sf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":fQe(i.boxData);break;case"boxEnd":OQe();break;case"loopStart":Sf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Sf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"optStart":Sf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"altStart":Sf(void 0,void 0,i.altText,i.signalType);break;case"else":Sf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":og(i.text);break;case"parStart":Sf(void 0,void 0,i.parText,i.signalType);break;case"and":Sf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Sf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Sf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Sf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Sf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Sf(void 0,void 0,void 0,i.signalType);break}},mqt={addActor:Nbt,addMessage:gQe,addSignal:Sf,addLinks:dqt,addDetails:bqt,addProperties:gqt,autoWrap:F9,setWrap:SQe,enableSequenceNumbers:EQe,disableSequenceNumbers:TQe,showSequenceNumbers:CQe,getMessages:wQe,getActors:vQe,getCreatedActors:yQe,getDestroyedActors:xQe,getActor:bB,getActorKeys:kQe,getActorProperty:NQe,getAccTitle:Xg,getBoxes:mQe,getDiagramTitle:Zg,setDiagramTitle:S2,getConfig:()=>Re().sequence,clear:_Qe,parseMessage:AQe,parseBoxData:LQe,LINETYPE:wB,ARROWTYPE:DQe,PLACEMENT:MQe,addNote:fqt,setAccTitle:og,apply:wqt,setAccDescription:Qg,getAccDescription:Jg,hasAtLeastOneBox:pQe,hasAtLeastOneBoxWithTitle:bQe},PQe=i=>`.actor {
830 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var An=this.next();return An||this.lex()},begin:function(An){this.conditionStack.push(An)},popState:function(){var An=this.conditionStack.length-1;return An>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(An){return An=this.conditionStack.length-1-Math.abs(An||0),An>=0?this.conditionStack[An]:"INITIAL"},pushState:function(An){this.begin(An)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(An,Nn,Bn,ke){switch(Bn){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:return 83;case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};return za}();mi.lexer=ga;function Ss(){this.yy={}}return Ss.prototype=mi,mi.Parser=Ss,new Ss}();$bt.parser=$bt;const Aqt=$bt,Lqt=["#","+","~","-",""];class Dqt{constructor(a,f){this.memberType=f,this.visibility="",this.classifier="";const g=Ef(a,Re());this.parseMember(g)}getDisplayDetails(){let a=this.visibility+kF(this.id);this.memberType==="method"&&(a+=`(${kF(this.parameters.trim())})`,this.returnType&&(a+=" : "+kF(this.returnType))),a=a.trim();const f=this.parseClassifier();return{displayText:a,cssStyle:f}}parseMember(a){let f="";if(this.memberType==="method"){const g=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,w=a.match(g);if(w){const v=w[1]?w[1].trim():"";if(Lqt.includes(v)&&(this.visibility=v),this.id=w[2].trim(),this.parameters=w[3]?w[3].trim():"",f=w[4]?w[4].trim():"",this.returnType=w[5]?w[5].trim():"",f===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(f=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const g=a.length,w=a.substring(0,1),v=a.substring(g-1);Lqt.includes(w)&&(this.visibility=w),v.match(/[$*]/)&&(f=v),this.id=a.substring(this.visibility===""?0:1,f===""?g:g-1)}this.classifier=f}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const wX="classId-";let zbt=[],Jl={},mX=[],Mqt=0,A8={},qbt=0,mB=[];const j9=i=>ei.sanitizeText(i,Re()),$9=function(i){const a=ei.sanitizeText(i,Re());let f="",g=a;if(a.indexOf("~")>0){const w=a.split("~");g=j9(w[0]),f=j9(w[1])}return{className:g,type:f}},dJe=function(i,a){const f=ei.sanitizeText(i,Re());a&&(a=j9(a));const{className:g}=$9(f);Jl[g].label=a},vX=function(i){const a=ei.sanitizeText(i,Re()),{className:f,type:g}=$9(a);if(Object.hasOwn(Jl,f))return;const w=ei.sanitizeText(f,Re());Jl[w]={id:w,type:g,label:w,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:wX+w+"-"+Mqt},Mqt++},Iqt=function(i){const a=ei.sanitizeText(i,Re());if(a in Jl)return Jl[a].domId;throw new Error("Class not found: "+a)},gJe=function(){zbt=[],Jl={},mX=[],mB=[],mB.push(Nqt),A8={},qbt=0,ag()},pJe=function(i){return Jl[i]},bJe=function(){return Jl},wJe=function(){return zbt},mJe=function(){return mX},vJe=function(i){Kt.debug("Adding relation: "+JSON.stringify(i)),vX(i.id1),vX(i.id2),i.id1=$9(i.id1).className,i.id2=$9(i.id2).className,i.relationTitle1=ei.sanitizeText(i.relationTitle1.trim(),Re()),i.relationTitle2=ei.sanitizeText(i.relationTitle2.trim(),Re()),zbt.push(i)},yJe=function(i,a){const f=$9(i).className;Jl[f].annotations.push(a)},Oqt=function(i,a){vX(i);const f=$9(i).className,g=Jl[f];if(typeof a=="string"){const w=a.trim();w.startsWith("<<")&&w.endsWith(">>")?g.annotations.push(j9(w.substring(2,w.length-2))):w.indexOf(")")>0?g.methods.push(new Dqt(w,"method")):w&&g.members.push(new Dqt(w,"attribute"))}},xJe=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(f=>Oqt(i,f)))},kJe=function(i,a){const f={id:`note${mX.length}`,class:a,text:i};mX.push(f)},EJe=function(i){return i.startsWith(":")&&(i=i.substring(1)),j9(i.trim())},Hbt=function(i,a){i.split(",").forEach(function(f){let g=f;f[0].match(/\d/)&&(g=wX+g),Jl[g]!==void 0&&Jl[g].cssClasses.push(a)})},TJe=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(Jl[f].tooltip=j9(a))})},CJe=function(i,a){return a?A8[a].classes[i].tooltip:Jl[i].tooltip},SJe=function(i,a,f){const g=Re();i.split(",").forEach(function(w){let v=w;w[0].match(/\d/)&&(v=wX+v),Jl[v]!==void 0&&(Jl[v].link=uo.formatUrl(a,g),g.securityLevel==="sandbox"?Jl[v].linkTarget="_top":typeof f=="string"?Jl[v].linkTarget=j9(f):Jl[v].linkTarget="_blank")}),Hbt(i,"clickable")},_Je=function(i,a,f){i.split(",").forEach(function(g){AJe(g,a,f),Jl[g].haveCallback=!0}),Hbt(i,"clickable")},AJe=function(i,a,f){const g=ei.sanitizeText(i,Re());if(Re().securityLevel!=="loose"||a===void 0)return;const v=g;if(Jl[v]!==void 0){const b=Iqt(v);let E=[];if(typeof f=="string"){E=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let S=0;S<E.length;S++){let _=E[S].trim();_.charAt(0)==='"'&&_.charAt(_.length-1)==='"'&&(_=_.substr(1,_.length-2)),E[S]=_}}E.length===0&&E.push(b),mB.push(function(){const S=document.querySelector(`[id="${b}"]`);S!==null&&S.addEventListener("click",function(){uo.runFunc(a,...E)},!1)})}},LJe=function(i){mB.forEach(function(a){a(i)})},DJe={LINE:0,DOTTED_LINE:1},MJe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},Nqt=function(i){let a=Tr(".mermaidTooltip");(a._groups||a)[0][0]===null&&(a=Tr("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Tr(i).select("svg").selectAll("g.node").on("mouseover",function(){const w=Tr(this);if(w.attr("title")===null)return;const b=this.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.text(w.attr("title")).style("left",window.scrollX+b.left+(b.right-b.left)/2+"px").style("top",window.scrollY+b.top-14+document.body.scrollTop+"px"),a.html(a.html().replace(/&lt;br\/&gt;/g,"<br/>")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Tr(this).classed("hover",!1)})};mB.push(Nqt);let Pqt="TB";const yX={setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,getConfig:()=>Re().class,addClass:vX,bindFunctions:LJe,clear:gJe,getClass:pJe,getClasses:bJe,getNotes:mJe,addAnnotation:yJe,addNote:kJe,getRelations:wJe,addRelation:vJe,getDirection:()=>Pqt,setDirection:i=>{Pqt=i},addMember:Oqt,addMembers:xJe,cleanupLabel:EJe,lineType:DJe,relationType:MJe,setClickEvent:_Je,setCssClass:Hbt,setLink:SJe,getTooltip:CJe,setTooltip:TJe,lookUpDomId:Iqt,setDiagramTitle:S2,getDiagramTitle:Zg,setClassLabel:dJe,addNamespace:function(i){A8[i]===void 0&&(A8[i]={id:i,classes:{},children:{},domId:wX+i+"-"+qbt},qbt++)},addClassesToNamespace:function(i,a){if(A8[i]!==void 0)for(const f of a){const{className:g}=$9(f);Jl[g].parent=i,A8[i].classes[g]=Jl[g]}},getNamespace:function(i){return A8[i]},getNamespaces:function(){return A8},setCssStyle:function(i,a){const f=Jl[i];if(!(!a||!f))for(const g of a)g.includes(",")?f.styles.push(...g.split(",")):f.styles.push(g)}},Fqt=i=>`g.classGroup text {
991 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ct=this.next();return Ct||this.lex()},begin:function(Ct){this.conditionStack.push(Ct)},popState:function(){var Ct=this.conditionStack.length-1;return Ct>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(Ct){return Ct=this.conditionStack.length-1-Math.abs(Ct||0),Ct>=0?this.conditionStack[Ct]:"INITIAL"},pushState:function(Ct){this.begin(Ct)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ct,kt,Gt,Fe){switch(Gt){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),kt.yytext=kt.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),kt.yytext=kt.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),kt.yytext=kt.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),kt.yytext=kt.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),kt.yytext=kt.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),kt.yytext=kt.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),kt.yytext=kt.yytext.substr(2).trim(),30;case 64:return this.popState(),kt.yytext=kt.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return kt.yytext=kt.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};return xt}();Ot.lexer=It;function jt(){this.yy={}}return jt.prototype=Ot,Ot.Parser=jt,new jt}();Kbt.parser=Kbt;const qqt=Kbt,HJe="LR",VJe="TB",EX="state",Wbt="relation",UJe="classDef",GJe="applyClass",yB="default",Hqt="divider",Ybt="[*]",Vqt="start",Uqt=Ybt,Gqt="end",Kqt="color",Wqt="fill",KJe="bgFill",WJe=",";function Yqt(){return{}}let Xqt=HJe,TX=[],xB=Yqt();const Qqt=()=>({relations:[],states:{},documents:{}});let CX={root:Qqt()},lg=CX.root,kB=0,Jqt=0;const YJe={LINE:0,DOTTED_LINE:1},XJe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},SX=i=>JSON.parse(JSON.stringify(i)),QJe=i=>{Kt.info("Setting root doc",i),TX=i},JJe=()=>TX,_X=(i,a,f)=>{if(a.stmt===Wbt)_X(i,a.state1,!0),_X(i,a.state2,!1);else if(a.stmt===EX&&(a.id==="[*]"?(a.id=f?i.id+"_start":i.id+"_end",a.start=f):a.id=a.id.trim()),a.doc){const g=[];let w=[],v;for(v=0;v<a.doc.length;v++)if(a.doc[v].type===Hqt){const b=SX(a.doc[v]);b.doc=SX(w),g.push(b),w=[]}else w.push(a.doc[v]);if(g.length>0&&w.length>0){const b={stmt:EX,id:_Ft(),type:"divider",doc:SX(w)};g.push(SX(b)),a.doc=g}a.doc.forEach(b=>_X(a,b,!0))}},ZJe=()=>(_X({id:"root"},{id:"root",doc:TX},!0),{id:"root",doc:TX}),tZe=i=>{let a;i.doc?a=i.doc:a=i,Kt.info(a),Zqt(!0),Kt.info("Extract",a),a.forEach(f=>{switch(f.stmt){case EX:z9(f.id.trim(),f.type,f.doc,f.description,f.note,f.classes,f.styles,f.textStyles);break;case Wbt:tHt(f.state1,f.state2,f.description);break;case UJe:eHt(f.id.trim(),f.classes);break;case GJe:Zbt(f.id.trim(),f.styleClass);break}})},z9=function(i,a=yB,f=null,g=null,w=null,v=null,b=null,E=null){const S=i==null?void 0:i.trim();lg.states[S]===void 0?(Kt.info("Adding state ",S,g),lg.states[S]={id:S,descriptions:[],type:a,doc:f,note:w,classes:[],styles:[],textStyles:[]}):(lg.states[S].doc||(lg.states[S].doc=f),lg.states[S].type||(lg.states[S].type=a)),g&&(Kt.info("Setting state description",S,g),typeof g=="string"&&Jbt(S,g.trim()),typeof g=="object"&&g.forEach(_=>Jbt(S,_.trim()))),w&&(lg.states[S].note=w,lg.states[S].note.text=ei.sanitizeText(lg.states[S].note.text,Re())),v&&(Kt.info("Setting state classes",S,v),(typeof v=="string"?[v]:v).forEach(M=>Zbt(S,M.trim()))),b&&(Kt.info("Setting state styles",S,b),(typeof b=="string"?[b]:b).forEach(M=>lZe(S,M.trim()))),E&&(Kt.info("Setting state styles",S,b),(typeof E=="string"?[E]:E).forEach(M=>hZe(S,M.trim())))},Zqt=function(i){CX={root:Qqt()},lg=CX.root,kB=0,xB=Yqt(),i||ag()},EB=function(i){return lg.states[i]},eZe=function(){return lg.states},nZe=function(){Kt.info("Documents = ",CX)},rZe=function(){return lg.relations};function Xbt(i=""){let a=i;return i===Ybt&&(kB++,a=`${Vqt}${kB}`),a}function Qbt(i="",a=yB){return i===Ybt?Vqt:a}function iZe(i=""){let a=i;return i===Uqt&&(kB++,a=`${Gqt}${kB}`),a}function sZe(i="",a=yB){return i===Uqt?Gqt:a}function aZe(i,a,f){let g=Xbt(i.id.trim()),w=Qbt(i.id.trim(),i.type),v=Xbt(a.id.trim()),b=Qbt(a.id.trim(),a.type);z9(g,w,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),z9(v,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),lg.relations.push({id1:g,id2:v,relationTitle:ei.sanitizeText(f,Re())})}const tHt=function(i,a,f){if(typeof i=="object")aZe(i,a,f);else{const g=Xbt(i.trim()),w=Qbt(i),v=iZe(a.trim()),b=sZe(a);z9(g,w),z9(v,b),lg.relations.push({id1:g,id2:v,title:ei.sanitizeText(f,Re())})}},Jbt=function(i,a){const f=lg.states[i],g=a.startsWith(":")?a.replace(":","").trim():a;f.descriptions.push(ei.sanitizeText(g,Re()))},oZe=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},cZe=()=>(Jqt++,"divider-id-"+Jqt),eHt=function(i,a=""){xB[i]===void 0&&(xB[i]={id:i,styles:[],textStyles:[]});const f=xB[i];a!=null&&a.split(WJe).forEach(g=>{const w=g.replace(/([^;]*);/,"$1").trim();if(g.match(Kqt)){const b=w.replace(Wqt,KJe).replace(Kqt,Wqt);f.textStyles.push(b)}f.styles.push(w)})},uZe=function(){return xB},Zbt=function(i,a){i.split(",").forEach(function(f){let g=EB(f);if(g===void 0){const w=f.trim();z9(w),g=EB(w)}g.classes.push(a)})},lZe=function(i,a){const f=EB(i);f!==void 0&&f.textStyles.push(a)},hZe=function(i,a){const f=EB(i);f!==void 0&&f.textStyles.push(a)},Hx={getConfig:()=>Re().state,addState:z9,clear:Zqt,getState:EB,getStates:eZe,getRelations:rZe,getClasses:uZe,getDirection:()=>Xqt,addRelation:tHt,getDividerId:cZe,setDirection:i=>{Xqt=i},cleanupLabel:oZe,lineType:YJe,relationType:XJe,logDocuments:nZe,getRootDoc:JJe,setRootDoc:QJe,getRootDocV2:ZJe,extract:tZe,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Xg,setAccTitle:og,getAccDescription:Jg,setAccDescription:Qg,addStyleClass:eHt,setCssClass:Zbt,addDescription:Jbt,setDiagramTitle:S2,getDiagramTitle:Zg},nHt=i=>`
1197 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var B=this.next();return B||this.lex()},begin:function(B){this.conditionStack.push(B)},popState:function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},pushState:function(B){this.begin(B)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(B,z,Y,nt){switch(Y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},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 F}();S.lexer=_;function M(){this.yy={}}return M.prototype=S,S.Parser=M,new M}();a2t.parser=a2t;const YZe=a2t;let OD="";const o2t=[],CB=[],SB=[],XZe=function(){o2t.length=0,CB.length=0,OD="",SB.length=0,ag()},QZe=function(i){OD=i,o2t.push(i)},JZe=function(){return o2t},ZZe=function(){let i=bHt();const a=100;let f=0;for(;!i&&f<a;)i=bHt(),f++;return CB.push(...SB),CB},ttn=function(){const i=[];return CB.forEach(f=>{f.people&&i.push(...f.people)}),[...new Set(i)].sort()},etn=function(i,a){const f=a.substr(1).split(":");let g=0,w=[];f.length===1?(g=Number(f[0]),w=[]):(g=Number(f[0]),w=f[1].split(","));const v=w.map(E=>E.trim()),b={section:OD,type:OD,people:v,task:i,score:g};SB.push(b)},ntn=function(i){const a={section:OD,type:OD,description:i,task:i,classes:[]};CB.push(a)},bHt=function(){const i=function(f){return SB[f].processed};let a=!0;for(const[f,g]of SB.entries())i(f),a=a&&g.processed;return a},wHt={getConfig:()=>Re().journey,clear:XZe,setDiagramTitle:S2,getDiagramTitle:Zg,setAccTitle:og,getAccTitle:Xg,setAccDescription:Qg,getAccDescription:Jg,addSection:QZe,getSections:JZe,getTasks:ZZe,addTask:etn,addTaskOrg:ntn,getActors:function(){return ttn()}},rtn=i=>`.label {
1351 `;return o};var p_n=I(nA,"TGraph",121);D(643,508,{3:1,508:1,643:1,96:1,137:1}),I(nA,"TShape",643),D(39,643,{3:1,508:1,39:1,643:1,96:1,137:1},Eat),l.Ib=function(){return Z2(this)};var aK=I(nA,"TNode",39);D(236,1,F0,gg),l.Jc=function(e){Fa(this,e)},l.Kc=function(){var e;return e=Dr(this.a.d,0),new M4(e)},I(nA,"TNode/2",236),D(329,1,wa,M4),l.Nb=function(e){Na(this,e)},l.Pb=function(){return u(Ar(this.a),65).c},l.Ob=function(){return IM(this.a)},l.Qb=function(){Qst(this.a)},I(nA,"TNode/2/1",329),D(1923,1,zi,FZ),l.Kf=function(e,n){LSn(this,u(e,121),n)},I(ou,"CompactionProcessor",1923),D(1924,1,Xr,UUt),l.Ne=function(e,n){return bpn(this.a,u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$0$Type",1924),D(1925,1,Kr,NXt),l.Mb=function(e){return khn(this.b,this.a,u(e,42))},l.a=0,l.b=0,I(ou,"CompactionProcessor/lambda$1$Type",1925),D(1934,1,Xr,i6),l.Ne=function(e,n){return dln(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$10$Type",1934),D(1935,1,Xr,ER),l.Ne=function(e,n){return _sn(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$11$Type",1935),D(1936,1,Xr,BZ),l.Ne=function(e,n){return gln(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$12$Type",1936),D(1926,1,Kr,GUt),l.Mb=function(e){return lsn(this.a,u(e,42))},l.a=0,I(ou,"CompactionProcessor/lambda$2$Type",1926),D(1927,1,Kr,KUt),l.Mb=function(e){return hsn(this.a,u(e,42))},l.a=0,I(ou,"CompactionProcessor/lambda$3$Type",1927),D(1928,1,Kr,XD),l.Mb=function(e){return u(e,39).c.indexOf(nU)==-1},I(ou,"CompactionProcessor/lambda$4$Type",1928),D(1929,1,{},WUt),l.Kb=function(e){return T1n(this.a,u(e,39))},l.a=0,I(ou,"CompactionProcessor/lambda$5$Type",1929),D(1930,1,{},YUt),l.Kb=function(e){return I0n(this.a,u(e,39))},l.a=0,I(ou,"CompactionProcessor/lambda$6$Type",1930),D(1931,1,Xr,XUt),l.Ne=function(e,n){return Hdn(this.a,u(e,240),u(n,240))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$7$Type",1931),D(1932,1,Xr,QUt),l.Ne=function(e,n){return Vdn(this.a,u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$8$Type",1932),D(1933,1,Xr,RZ),l.Ne=function(e,n){return Asn(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(ou,"CompactionProcessor/lambda$9$Type",1933),D(1921,1,zi,jZ),l.Kf=function(e,n){C8n(u(e,121),n)},I(ou,"DirectionProcessor",1921),D(1913,1,zi,xZt),l.Kf=function(e,n){WEn(this,u(e,121),n)},I(ou,"FanProcessor",1913),D(1937,1,zi,$Z),l.Kf=function(e,n){d8n(u(e,121),n)},I(ou,"GraphBoundsProcessor",1937),D(1938,1,{},zZ),l.Ye=function(e){return u(e,39).e.a},I(ou,"GraphBoundsProcessor/lambda$0$Type",1938),D(1939,1,{},qZ),l.Ye=function(e){return u(e,39).e.b},I(ou,"GraphBoundsProcessor/lambda$1$Type",1939),D(1940,1,{},HZ),l.Ye=function(e){return Krn(u(e,39))},I(ou,"GraphBoundsProcessor/lambda$2$Type",1940),D(1941,1,{},VZ),l.Ye=function(e){return Grn(u(e,39))},I(ou,"GraphBoundsProcessor/lambda$3$Type",1941),D(262,22,{3:1,34:1,22:1,262:1,196:1},mm),l.dg=function(){switch(this.g){case 0:return new QKt;case 1:return new xZt;case 2:return new XKt;case 3:return new SR;case 4:return new UZ;case 8:return new TR;case 5:return new jZ;case 6:return new AR;case 7:return new FZ;case 9:return new $Z;case 10:return new KZ;default:throw at(new zn(jut+(this.f!=null?this.f:""+this.g)))}};var eLt,nLt,rLt,iLt,sLt,aLt,oLt,cLt,uLt,lLt,O1t,b_n=Lr(ou,$ut,262,Pr,pce,Qon),Uke;D(1920,1,zi,TR),l.Kf=function(e,n){SCn(u(e,121),n)},I(ou,"LevelCoordinatesProcessor",1920),D(1918,1,zi,UZ),l.Kf=function(e,n){K6n(this,u(e,121),n)},l.a=0,I(ou,"LevelHeightProcessor",1918),D(1919,1,F0,CR),l.Jc=function(e){Fa(this,e)},l.Kc=function(){return mn(),yE(),mT},I(ou,"LevelHeightProcessor/1",1919),D(1914,1,zi,XKt),l.Kf=function(e,n){o8n(this,u(e,121),n)},I(ou,"LevelProcessor",1914),D(1915,1,Kr,GZ),l.Mb=function(e){return Ie(Me(X(u(e,39),(ji(),u2))))},I(ou,"LevelProcessor/lambda$0$Type",1915),D(1916,1,zi,SR),l.Kf=function(e,n){V4n(this,u(e,121),n)},l.a=0,I(ou,"NeighborsProcessor",1916),D(1917,1,F0,_R),l.Jc=function(e){Fa(this,e)},l.Kc=function(){return mn(),yE(),mT},I(ou,"NeighborsProcessor/1",1917),D(1922,1,zi,AR),l.Kf=function(e,n){KEn(this,u(e,121),n)},l.a=0,I(ou,"NodePositionProcessor",1922),D(1912,1,zi,QKt),l.Kf=function(e,n){ATn(this,u(e,121),n)},I(ou,"RootProcessor",1912),D(1942,1,zi,KZ),l.Kf=function(e,n){Tmn(u(e,121),n)},I(ou,"Untreeifyer",1942),D(392,22,{3:1,34:1,22:1,392:1},Prt);var dP,N1t,hLt,fLt=Lr(CN,"EdgeRoutingMode",392,Pr,$fn,Jon),Gke,gP,zT,P1t,dLt,gLt,F1t,B1t,pLt,R1t,bLt,j1t,QA,$1t,oK,cK,Xf,P1,qT,JA,ZA,Kp,wLt,Kke,z1t,u2,pP,bP;D(862,1,uf,snt),l.hf=function(e){Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,T7t),""),Y2e),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Pn(),!1)),(Fp(),oa)),ys),en((D1(),_n))))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,C7t),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,S7t),""),"Tree Level"),"The index for the tree level the node is in"),he(0)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,_7t),""),Y2e),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),he(-1)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,A7t),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),yLt),ts),ILt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,L7t),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),mLt),ts),fLt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,D7t),""),"Search Order"),"Which search order to use when computing a spanning tree."),vLt),ts),NLt),en(_n)))),Rpe((new p6,e))};var Wke,Yke,Xke,mLt,Qke,Jke,vLt,Zke,t8e,yLt;I(CN,"MrTreeMetaDataProvider",862),D(1006,1,uf,p6),l.hf=function(e){Rpe(e)};var e8e,xLt,kLt,Mv,ELt,TLt,q1t,n8e,r8e,i8e,s8e,a8e,o8e,c8e,CLt,SLt,_Lt,u8e,tx,uK,ALt,l8e,LLt,H1t,h8e,f8e,d8e,DLt,g8e,h0,MLt;I(CN,"MrTreeOptions",1006),D(1007,1,{},WZ),l.sf=function(){var e;return e=new kZt,e},l.tf=function(e){},I(CN,"MrTreeOptions/MrtreeFactory",1007),D(353,22,{3:1,34:1,22:1,353:1},H$);var V1t,lK,U1t,G1t,ILt=Lr(CN,"OrderWeighting",353,Pr,W1n,Zon),p8e;D(433,22,{3:1,34:1,22:1,433:1},rmt);var OLt,K1t,NLt=Lr(CN,"TreeifyingOrder",433,Pr,qhn,tcn),b8e;D(1486,1,_o,cnt),l.rg=function(e){return u(e,121),w8e},l.Kf=function(e,n){ipn(this,u(e,121),n)};var w8e;I("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),D(1487,1,_o,rE),l.rg=function(e){return u(e,121),m8e},l.Kf=function(e,n){h8n(this,u(e,121),n)};var m8e;I(sT,"NodeOrderer",1487),D(1494,1,{},A2t),l.td=function(e){return Ate(e)},I(sT,"NodeOrderer/0methodref$lambda$6$Type",1494),D(1488,1,Kr,att),l.Mb=function(e){return ak(),Ie(Me(X(u(e,39),(ji(),u2))))},I(sT,"NodeOrderer/lambda$0$Type",1488),D(1489,1,Kr,ott),l.Mb=function(e){return ak(),u(X(u(e,39),(Cc(),tx)),17).a<0},I(sT,"NodeOrderer/lambda$1$Type",1489),D(1490,1,Kr,ZUt),l.Mb=function(e){return Ogn(this.a,u(e,39))},I(sT,"NodeOrderer/lambda$2$Type",1490),D(1491,1,Kr,JUt),l.Mb=function(e){return _1n(this.a,u(e,39))},I(sT,"NodeOrderer/lambda$3$Type",1491),D(1492,1,Xr,ctt),l.Ne=function(e,n){return ngn(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(sT,"NodeOrderer/lambda$4$Type",1492),D(1493,1,Kr,utt),l.Mb=function(e){return ak(),u(X(u(e,39),(ji(),B1t)),17).a!=0},I(sT,"NodeOrderer/lambda$5$Type",1493),D(1495,1,_o,ont),l.rg=function(e){return u(e,121),v8e},l.Kf=function(e,n){yEn(this,u(e,121),n)},l.b=0;var v8e;I("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),D(1496,1,_o,ant),l.rg=function(e){return u(e,121),y8e},l.Kf=function(e,n){eEn(u(e,121),n)};var y8e,w_n=I(Xl,"EdgeRouter",1496);D(1498,1,Xr,stt),l.Ne=function(e,n){return jc(u(e,17).a,u(n,17).a)},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/0methodref$compare$Type",1498),D(1503,1,{},YZ),l.Ye=function(e){return Rt(Ht(e))},I(Xl,"EdgeRouter/1methodref$doubleValue$Type",1503),D(1505,1,Xr,DR),l.Ne=function(e,n){return Bi(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/2methodref$compare$Type",1505),D(1507,1,Xr,XZ),l.Ne=function(e,n){return Bi(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/3methodref$compare$Type",1507),D(1509,1,{},LR),l.Ye=function(e){return Rt(Ht(e))},I(Xl,"EdgeRouter/4methodref$doubleValue$Type",1509),D(1511,1,Xr,QZ),l.Ne=function(e,n){return Bi(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/5methodref$compare$Type",1511),D(1513,1,Xr,QD),l.Ne=function(e,n){return Bi(Rt(Ht(e)),Rt(Ht(n)))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/6methodref$compare$Type",1513),D(1497,1,{},JZ),l.Kb=function(e){return Sg(),u(X(u(e,39),(Cc(),h0)),17)},I(Xl,"EdgeRouter/lambda$0$Type",1497),D(1508,1,{},ZZ),l.Kb=function(e){return zsn(u(e,39))},I(Xl,"EdgeRouter/lambda$11$Type",1508),D(1510,1,{},PXt),l.Kb=function(e){return pun(this.b,this.a,u(e,39))},l.a=0,l.b=0,I(Xl,"EdgeRouter/lambda$13$Type",1510),D(1512,1,{},FXt),l.Kb=function(e){return qsn(this.b,this.a,u(e,39))},l.a=0,l.b=0,I(Xl,"EdgeRouter/lambda$15$Type",1512),D(1514,1,Xr,ttt),l.Ne=function(e,n){return tmn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/lambda$17$Type",1514),D(1515,1,Xr,ett),l.Ne=function(e,n){return emn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/lambda$18$Type",1515),D(1516,1,Xr,ntt),l.Ne=function(e,n){return rmn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/lambda$19$Type",1516),D(1499,1,Kr,tGt),l.Mb=function(e){return ifn(this.a,u(e,39))},l.a=0,I(Xl,"EdgeRouter/lambda$2$Type",1499),D(1517,1,Xr,MR),l.Ne=function(e,n){return nmn(u(e,65),u(n,65))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/lambda$20$Type",1517),D(1500,1,Xr,rtt),l.Ne=function(e,n){return eun(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/lambda$3$Type",1500),D(1501,1,Xr,itt),l.Ne=function(e,n){return nun(u(e,39),u(n,39))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"EdgeRouter/lambda$4$Type",1501),D(1502,1,{},ltt),l.Kb=function(e){return Hsn(u(e,39))},I(Xl,"EdgeRouter/lambda$5$Type",1502),D(1504,1,{},BXt),l.Kb=function(e){return bun(this.b,this.a,u(e,39))},l.a=0,l.b=0,I(Xl,"EdgeRouter/lambda$7$Type",1504),D(1506,1,{},RXt),l.Kb=function(e){return Vsn(this.b,this.a,u(e,39))},l.a=0,l.b=0,I(Xl,"EdgeRouter/lambda$9$Type",1506),D(675,1,{675:1},bhe),l.e=0,l.f=!1,l.g=!1,I(Xl,"MultiLevelEdgeNodeNodeGap",675),D(1943,1,Xr,htt),l.Ne=function(e,n){return gfn(u(e,240),u(n,240))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),D(1944,1,Xr,ftt),l.Ne=function(e,n){return pfn(u(e,240),u(n,240))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(Xl,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var ex;D(500,22,{3:1,34:1,22:1,500:1,188:1,196:1},imt),l.dg=function(){return nle(this)},l.qg=function(){return nle(this)};var hK,nx,PLt=Lr(M7t,"RadialLayoutPhases",500,Pr,Uhn,ecn),x8e;D(1113,205,mw,KWt),l.rf=function(e,n){var r,s,o,h,d,m;if(r=qde(this,e),n.Ug("Radial layout",r.c.length),Ie(Me(ne(e,(Ub(),GLt))))||sq((s=new by((xy(),new my(e))),s)),m=s3n(e),Mi(e,(Y4(),ex),m),!m)throw at(new zn("The given graph is not a tree!"));for(o=Rt(Ht(ne(e,gK))),o==0&&(o=k1e(e)),Mi(e,gK,o),d=new G(qde(this,e));d.a<d.c.c.length;)h=u(et(d),47),h.Kf(e,n.eh(1));n.Vg()},I(M7t,"RadialLayoutProvider",1113),D(556,1,Xr,m$),l.Ne=function(e,n){return z8n(this.a,this.b,u(e,27),u(n,27))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},l.a=0,l.b=0,I(M7t,"RadialUtil/lambda$0$Type",556),D(1395,1,zi,dtt),l.Kf=function(e,n){ICn(u(e,27),n)},I(N7t,"CalculateGraphSize",1395),D(1396,1,zi,gtt),l.Kf=function(e,n){tTn(u(e,27))},I(N7t,"EdgeAngleCalculator",1396),D(368,22,{3:1,34:1,22:1,368:1,196:1},WM),l.dg=function(){switch(this.g){case 0:return new ytt;case 1:return new ptt;case 2:return new xtt;case 3:return new dtt;case 4:return new gtt;default:throw at(new zn(jut+(this.f!=null?this.f:""+this.g)))}};var W1t,Y1t,X1t,Q1t,J1t,k8e=Lr(N7t,$ut,368,Pr,Ndn,ncn),E8e;D(653,1,{}),l.e=1,l.g=0,I(Tlt,"AbstractRadiusExtensionCompaction",653),D(1834,653,{},qJt),l.Cg=function(e){var n,r,s,o,h,d,m,k,T;for(this.c=u(ne(e,(Y4(),ex)),27),_t(this,this.c),this.d=oot(u(ne(e,(Ub(),wP)),299)),k=u(ne(e,tdt),17),k&&pt(this,k.a),m=Ht(ne(e,(ai(),$w))),St(this,(Wn(m),m)),T=n3(this.c),this.d&&this.d.Gg(T),sEn(this,T),d=new hl(lt(ut(bi,1),Z2e,27,0,[this.c])),r=0;r<2;r++)for(n=0;n<T.c.length;n++)o=new hl(lt(ut(bi,1),Z2e,27,0,[(vn(n,T.c.length),u(T.c[n],27))])),h=n<T.c.length-1?(vn(n+1,T.c.length),u(T.c[n+1],27)):(vn(0,T.c.length),u(T.c[0],27)),s=n==0?u(Oe(T,T.c.length-1),27):(vn(n-1,T.c.length),u(T.c[n-1],27)),mfe(this,(vn(n,T.c.length),u(T.c[n],27),d),s,h,o)},I(Tlt,"AnnulusWedgeCompaction",1834),D(1393,1,zi,ptt),l.Kf=function(e,n){Jgn(u(e,27),n)},I(Tlt,"GeneralCompactor",1393),D(1833,653,{},btt),l.Cg=function(e){var n,r,s,o;r=u(ne(e,(Y4(),ex)),27),this.f=r,this.b=oot(u(ne(e,(Ub(),wP)),299)),o=u(ne(e,tdt),17),o&&pt(this,o.a),s=Ht(ne(e,(ai(),$w))),St(this,(Wn(s),s)),n=n3(r),this.b&&this.b.Gg(n),Xfe(this,n)},l.a=0,I(Tlt,"RadialCompaction",1833),D(1842,1,{},wtt),l.Dg=function(e){var n,r,s,o,h,d;for(this.a=e,n=0,d=n3(e),s=0,h=new G(d);h.a<h.c.c.length;)for(o=u(et(h),27),++s,r=s;r<d.c.length;r++)x7n(this,o,(vn(r,d.c.length),u(d.c[r],27)))&&(n+=1);return n},I(P7t,"CrossingMinimizationPosition",1842),D(1840,1,{},mtt),l.Dg=function(e){var n,r,s,o,h,d,m,k,T,A,P,$,U;for(s=0,r=new rr(sr(Og(e).a.Kc(),new z));Mr(r);)n=u(dr(r),74),m=Jo(u(Dt((!n.c&&(n.c=new kn(vr,n,5,8)),n.c),0),84)),T=m.i+m.g/2,A=m.j+m.f/2,o=e.i+e.g/2,h=e.j+e.f/2,P=new Sa,P.a=T-o,P.b=A-h,d=new ae(P.a,P.b),A7(d,e.g,e.f),P.a-=d.a,P.b-=d.b,o=T-P.a,h=A-P.b,k=new ae(P.a,P.b),A7(k,m.g,m.f),P.a-=k.a,P.b-=k.b,T=o+P.a,A=h+P.b,$=T-o,U=A-h,s+=b.Math.sqrt($*$+U*U);return s},I(P7t,"EdgeLengthOptimization",1840),D(1841,1,{},vtt),l.Dg=function(e){var n,r,s,o,h,d,m,k,T,A,P;for(s=0,r=new rr(sr(Og(e).a.Kc(),new z));Mr(r);)n=u(dr(r),74),m=Jo(u(Dt((!n.c&&(n.c=new kn(vr,n,5,8)),n.c),0),84)),k=m.i+m.g/2,T=m.j+m.f/2,o=u(ne(m,(ai(),Jk)),8),h=e.i+o.a+e.g/2,d=e.j+o.b+e.f,A=k-h,P=T-d,s+=b.Math.sqrt(A*A+P*P);return s},I(P7t,"EdgeLengthPositionOptimization",1841),D(1392,653,zi,ytt),l.Kf=function(e,n){i5n(this,u(e,27),n)},I("org.eclipse.elk.alg.radial.intermediate.overlaps","RadiusExtensionOverlapRemoval",1392),D(1394,1,zi,xtt),l.Kf=function(e,n){Jun(u(e,27),n)},I("org.eclipse.elk.alg.radial.intermediate.rotation","GeneralRotator",1394),D(434,22,{3:1,34:1,22:1,434:1},smt);var FLt,Z1t,BLt=Lr(rA,"AnnulusWedgeCriteria",434,Pr,Hhn,icn),T8e;D(393,22,{3:1,34:1,22:1,393:1},Frt);var fK,RLt,jLt,$Lt=Lr(rA,F8t,393,Pr,Wfn,rcn),C8e;D(863,1,uf,Jh),l.hf=function(e){Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,F7t),""),"Center On Root"),"Centers the layout on the root of the tree i.e. so that the central node is also the center node of the final layout. This introduces additional whitespace."),(Pn(),!1)),(Fp(),oa)),ys),en((D1(),_n))))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,B7t),""),"Order ID"),"The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly."),he(0)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,R7t),""),"Radius"),"The radius option can be used to set the initial radius for the radial layouter."),0),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,sU),""),"Rotate"),"The rotate option determines whether a rotation of the layout should be performed."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Slt),""),twe),"With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately."),zLt),ts),$Lt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,_lt),""),"Compaction Step Size"),"Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration."),he(1)),ac),Ra),en(_n)))),Bs(e,_lt,Slt,null),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,j7t),""),"Sorter"),"Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates."),HLt),ts),iDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,$7t),""),"Annulus Wedge Criteria"),"Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals."),VLt),ts),BLt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,z7t),""),"Translation Optimization"),"Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized."),qLt),ts),eDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Alt),H7t),"Target Angle"),"The angle in radians that the layout should be rotated to after layout."),0),Wa),zs),en(_n)))),Bs(e,Alt,sU,null),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Llt),H7t),"Additional Wedge Space"),"If set to true, modifies the target angle by rotating further such that space is left for an edge to pass in between the nodes. This option should only be used in conjunction with top-down layout."),!1),oa),ys),en(_n)))),Bs(e,Llt,sU,null),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,q7t),H7t),"Outgoing Edge Angles"),"Calculate the required angle of connected nodes to leave space for an incoming edge. This option should only be used in conjunction with top-down layout."),!1),oa),ys),en(_n)))),Mpe((new unt,e))};var S8e,_8e,A8e,zLt,L8e,qLt,D8e,M8e,I8e,O8e,N8e,P8e,F8e,HLt,B8e,VLt;I(rA,"RadialMetaDataProvider",863),D(1008,1,uf,unt),l.hf=function(e){Mpe(e)};var ULt,tdt,edt,R8e,j8e,$8e,z8e,GLt,KLt,dK,q8e,H8e,gK,WLt,YLt,XLt,ndt,wP,V8e,QLt;I(rA,"RadialOptions",1008),D(1009,1,{},Kc),l.sf=function(){var e;return e=new KWt,e},l.tf=function(e){},I(rA,"RadialOptions/RadialFactory",1009),D(354,22,{3:1,34:1,22:1,354:1},V$);var JLt,ZLt,tDt,rdt,eDt=Lr(rA,"RadialTranslationStrategy",354,Pr,Y1n,scn),U8e;D(299,22,{3:1,34:1,22:1,299:1},Brt);var nDt,idt,rDt,iDt=Lr(rA,"SortingStrategy",299,Pr,Yfn,acn),G8e;D(1476,1,_o,ktt),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){_5n(this,u(e,27),n)},l.c=0,I("org.eclipse.elk.alg.radial.p1position","EadesRadial",1476),D(1838,1,{},lC),l.Eg=function(e){return Jle(e)},I(ewe,"AnnulusWedgeByLeafs",1838),D(1839,1,{},yc),l.Eg=function(e){return lfe(this,e)},I(ewe,"AnnulusWedgeByNodeSpace",1839),D(1477,1,_o,bu),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){R2n(this,u(e,27),n)},I("org.eclipse.elk.alg.radial.p2routing","StraightLineEdgeRouter",1477),D(826,1,{},rwt),l.Fg=function(e){},l.Gg=function(e){uKt(this,e)},I(V7t,"IDSorter",826),D(1837,1,Xr,Xi),l.Ne=function(e,n){return Zgn(u(e,27),u(n,27))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(V7t,"IDSorter/lambda$0$Type",1837),D(1836,1,{},rce),l.Fg=function(e){Yre(this,e)},l.Gg=function(e){var n;e.dc()||(this.e||(n=qte(u(e.Xb(0),27)),Yre(this,n)),uKt(this.e,e))},I(V7t,"PolarCoordinateSorter",1836),D(445,22,{3:1,34:1,22:1,445:1},Rrt);var mP,pK,sdt,sDt=Lr(swe,"RectPackingLayoutPhases",445,Pr,Gfn,ocn),K8e;D(1118,205,mw,YWt),l.rf=function(e,n){var r,s,o,h,d,m,k,T,A,P,$,U,J,tt,ht,Tt,At,Bt,Wt;if(n.Ug("Rectangle Packing",1),A=u(ne(e,(fd(),rL)),107),m=Ie(Me(ne(e,pEe))),T=Rt(Ht(ne(e,iL))),Bt=Ie(Me(ne(e,mDt))),J=(!e.a&&(e.a=new Jt(bi,e,10,11)),e.a),At=!1,Bt&&J.i>=3)for(ht=u(Dt(J,0),27),Tt=u(Dt(J,1),27),o=0;o+2<J.i;)if(tt=ht,ht=Tt,Tt=u(Dt(J,o+2),27),tt.f>=ht.f+Tt.f+T||Tt.f>=tt.f+ht.f+T){At=!0;break}else++o;else At=!0;if(!At){for(P=J.i,d=new Zn(J);d.e!=d.i.gc();)h=u(ar(d),27),Mi(h,(ai(),DP),he(P)),--P;mge(e,new S6),n.Vg();return}for(r=(EI(this.a),E1(this.a,(vH(),mP),u(ne(e,kDt),188)),E1(this.a,pK,u(ne(e,bDt),188)),E1(this.a,sdt,u(ne(e,vDt),188)),kmt(this.a,(Wt=new Fs,ri(Wt,mP,(DH(),cdt)),ri(Wt,pK,odt),Ie(Me(ne(e,dDt)))&&ri(Wt,mP,adt),Wt)),XO(this.a,e)),k=1/r.c.length,U=new G(r);U.a<U.c.c.length;){if($=u(et(U),47),n.$g())return;$.Kf(e,n.eh(k))}kpn(J,A),m||rv(e,Rt(Ht(ne(e,(N0(),HT))))+(A.b+A.c),Rt(Ht(ne(e,eL)))+(A.d+A.a),!1,!0),Ie(Me(ne(e,gDt)))||sq((s=new by((xy(),new my(e))),s)),n.Vg()},I(swe,"RectPackingLayoutProvider",1118),D(1518,1,zi,JD),l.Kf=function(e,n){eTn(u(e,27),n)},I(aU,"InteractiveNodeReorderer",1518),D(1519,1,Xr,Ett),l.Ne=function(e,n){return cbn(u(e,27),u(n,27))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(aU,"InteractiveNodeReorderer/lambda$0$Type",1519),D(455,22,{3:1,34:1,22:1,455:1,196:1},jrt),l.dg=function(){switch(this.g){case 0:return new JD;case 1:return new Ctt;case 2:return new Ttt}return null};var adt,odt,cdt,W8e=Lr(aU,$ut,455,Pr,Kfn,ccn),Y8e;D(1521,1,zi,Ttt),l.Kf=function(e,n){kwn(u(e,27),n)},I(aU,"MinSizePostProcessor",1521),D(1520,1,zi,Ctt),l.Kf=function(e,n){ybn(u(e,27),n)},I(aU,"MinSizePreProcessor",1520);var tL,eL,HT,X8e,Q8e,bK,udt,ldt,nL,wK,B3;D(394,22,{3:1,34:1,22:1,394:1},$rt);var aDt,oDt,hdt,cDt=Lr(Dlt,"OptimizationGoal",394,Pr,Ufn,ucn),J8e;D(867,1,uf,iE),l.hf=function(e){Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,U7t),""),"Try box layout first"),"Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster."),(Pn(),!1)),(Fp(),oa)),ys),en((D1(),_n))))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,G7t),""),"Current position of a node in the order of nodes"),"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."),he(-1)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,K7t),""),"Desired index of node"),"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."),he(-1)),ac),Ra),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,W7t),""),"In new Row"),"If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account."),!1),oa),ys),en(Qs)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Y7t),Mlt),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),hDt),ts),CDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,X7t),Mlt),"Target Width"),"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."),-1),Wa),zs),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Q7t),Mlt),"Optimization Goal"),"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."),lDt),ts),cDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,J7t),Mlt),"Shift Last Placed."),"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."),!0),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Z7t),"packing"),awe),"Strategy for finding an initial placement on nodes."),uDt),ts),ADt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,tTt),owe),"Row Height Reevaluation"),"During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy."),!1),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,eTt),owe),"Compaction iterations"),"Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure."),he(1)),ac),Ra),en(_n)))),Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,nTt),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),ts),MDt),en(_n)))),Wpe((new PC,e))};var Z8e,tEe,eEe,nEe,rEe,iEe,uDt,sEe,aEe,oEe,cEe,lDt,uEe,hDt,lEe;I(Dlt,"RectPackingMetaDataProvider",867),D(1016,1,uf,PC),l.hf=function(e){Wpe(e)};var mK,hEe,fDt,vP,dDt,fEe,yP,dEe,gEe,pEe,bEe,wEe,gDt,pDt,fdt,bDt,rL,wDt,mEe,iL,mDt,vDt,yDt,xDt,kDt,ddt;I(Dlt,"RectPackingOptions",1016),D(1017,1,{},s6),l.sf=function(){var e;return e=new YWt,e},l.tf=function(e){},I(Dlt,"RectPackingOptions/RectpackingFactory",1017),D(1705,1,{},JZt),l.a=0,l.c=!1,I(aT,"AreaApproximation",1705);var EDt=os(aT,"BestCandidateFilter");D(673,1,{535:1},B2),l.Hg=function(e,n,r){var s,o,h,d,m,k;for(k=new fe,h=Zi,m=new G(e);m.a<m.c.c.length;)d=u(et(m),238),h=b.Math.min(h,(d.c+(r.b+r.c))*(d.b+(r.d+r.a)));for(o=new G(e);o.a<o.c.c.length;)s=u(et(o),238),(s.c+(r.b+r.c))*(s.b+(r.d+r.a))==h&&In(k.c,s);return k},I(aT,"AreaFilter",673),D(674,1,{535:1},z8),l.Hg=function(e,n,r){var s,o,h,d,m,k;for(m=new fe,k=Zi,d=new G(e);d.a<d.c.c.length;)h=u(et(d),238),k=b.Math.min(k,b.Math.abs((h.c+(r.b+r.c))/(h.b+(r.d+r.a))-n));for(o=new G(e);o.a<o.c.c.length;)s=u(et(o),238),b.Math.abs((s.c+(r.b+r.c))/(s.b+(r.d+r.a))-n)==k&&In(m.c,s);return m},I(aT,"AspectRatioFilter",674),D(1469,1,_o,Stt),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){qkn(u(e,27),n)},I(aT,"GreedyWidthApproximator",1469),D(672,1,{535:1},ZD),l.Hg=function(e,n,r){var s,o,h,d,m,k;for(k=new fe,h=Vs,m=new G(e);m.a<m.c.c.length;)d=u(et(m),238),h=b.Math.max(h,Dz(d.c+(r.b+r.c),d.b+(r.d+r.a),d.a));for(o=new G(e);o.a<o.c.c.length;)s=u(et(o),238),Dz(s.c+(r.b+r.c),s.b+(r.d+r.a),s.a)==h&&In(k.c,s);return k},I(aT,"ScaleMeasureFilter",672),D(1470,1,_o,_tt),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){A5n(u(e,27),n)},I(aT,"TargetWidthWidthApproximator",1470),D(490,22,{3:1,34:1,22:1,490:1,188:1,196:1},amt),l.dg=function(){return vfe(this)},l.qg=function(){return vfe(this)};var gdt,TDt,CDt=Lr(aT,"WidthApproximationStrategy",490,Pr,$hn,lcn),vEe;D(1471,1,_o,Att),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){qCn(this,u(e,27),n)},I(oU,"Compactor",1471),D(1473,1,_o,Ltt),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){ykn(u(e,27),n)},I(oU,"NoPlacement",1473),D(439,22,{3:1,34:1,22:1,439:1,188:1,196:1},zrt),l.dg=function(){return Oue(this)},l.qg=function(){return Oue(this)};var pdt,SDt,_Dt,ADt=Lr(oU,"PackingStrategy",439,Pr,Vfn,dcn),yEe;D(810,1,{},lmt),l.a=0,l.b=0,l.c=0,l.d=Zi,l.e=0,l.f=Zi,I(oU,"RowFillingAndCompaction",810),D(1472,1,_o,IR),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){i9n(u(e,27),n)},I(oU,"SimplePlacement",1472),D(1474,1,_o,Dtt),l.rg=function(e){return u(e,27),null},l.Kf=function(e,n){this.Ig(u(e,27),n)},l.Ig=function(e,n){dde(e,n)},I(rTt,"EqualWhitespaceEliminator",1474),D(1475,1474,_o,Mtt),l.Ig=function(e,n){var r,s,o,h,d;n.Ug("To Aspect Ratio Whitesapce Eliminator",1),d=Rt(Ht(ne(e,(N0(),HT)))),h=Rt(Ht(ne(e,eL))),o=Rt(Ht(ne(e,(fd(),mK)))),r=Rt(Ht(ne(e,tL))),s=d/h,s<o?(d=h*o,Mi(e,HT,d)):(r+=d/o-h,Mi(e,tL,r),Mi(e,eL,h+r)),dde(e,n),n.Vg()},I(rTt,"ToAspectratioNodeExpander",1475),D(491,22,{3:1,34:1,22:1,491:1,188:1,196:1},omt),l.dg=function(){return oce(this)},l.qg=function(){return oce(this)};var LDt,DDt,MDt=Lr(rTt,"WhiteSpaceEliminationStrategy",491,Pr,zhn,gcn),xEe;D(172,1,{172:1},Tat),l.a=0,l.c=!1,l.d=0,l.e=0,l.f=0,l.g=0,l.i=0,l.k=!1,l.o=Zi,l.p=Zi,l.r=0,l.s=0,l.t=0,I(SN,"Block",172),D(209,1,{209:1},aq),l.a=0,l.b=0,l.d=0,l.e=0,l.f=0,I(SN,"BlockRow",209),D(315,1,{315:1},t3t),l.b=0,l.c=0,l.d=0,l.e=0,l.f=0,I(SN,"BlockStack",315),D(238,1,{238:1},tyt,txt),l.a=0,l.b=0,l.c=0,l.d=0,l.e=0,l.g=0;var m_n=I(SN,"DrawingData",238);D(373,22,{3:1,34:1,22:1,373:1},YM);var Xk,rx,sL,aL,xP,kEe=Lr(SN,"DrawingDataDescriptor",373,Pr,Pdn,pcn),EEe;D(186,1,{186:1},l3t),l.b=0,l.c=0,l.e=0,l.f=0,I(SN,"RectRow",186),D(763,1,{},h5t),l.j=0,I(d3,m2e,763),D(1209,1,{},tM),l.af=function(e){return Nb(e.a,e.b)},I(d3,q8t,1209),D(1210,1,{},eGt),l.af=function(e){return Udn(this.a,e)},I(d3,v2e,1210),D(1211,1,{},nGt),l.af=function(e){return hmn(this.a,e)},I(d3,y2e,1211),D(1212,1,{},rGt),l.af=function(e){return Ypn(this.a,e)},I(d3,"ElkGraphImporter/lambda$3$Type",1212),D(1213,1,{},iGt),l.af=function(e){return Q5n(this.a,e)},I(d3,x2e,1213),D(1115,205,mw,XWt),l.rf=function(e,n){var r,s,o,h,d,m,k,T,A,P,$,U;for(ad(e,(LO(),EK))&&(U=Gr(ne(e,(fot(),JDt))),h=act(e7(),U),h&&(d=u(_I(h.f),205),d.rf(e,n.eh(1)))),Mi(e,kdt,(BI(),kK)),Mi(e,Edt,(DO(),xdt)),Mi(e,Tdt,(sO(),TK)),m=u(ne(e,(fot(),YDt)),17).a,n.Ug("Overlap removal",1),Ie(Me(ne(e,HEe))),k=new Os,T=new sGt(k),s=new h5t,r=Ype(s,e),A=!0,o=0;o<m&&A;){if(Ie(Me(ne(e,XDt)))){if(k.a.$b(),q4n(new tJt(T),r.i),k.a.gc()==0)break;r.e=k}for(EI(this.b),E1(this.b,(pO(),vK),(tS(),kP)),E1(this.b,yK,r.g),E1(this.b,xK,(_$(),mdt)),this.a=XO(this.b,r),$=new G(this.a);$.a<$.c.c.length;)P=u(et($),47),P.Kf(r,n.eh(1));syn(s,r),A=Ie(Me(X(r,(s7(),nCt)))),++o}cpe(s,r),n.Vg()},I(d3,"OverlapRemovalLayoutProvider",1115),D(1116,1,{},sGt),I(d3,"OverlapRemovalLayoutProvider/lambda$0$Type",1116),D(444,22,{3:1,34:1,22:1,444:1},qrt);var vK,yK,xK,bdt=Lr(d3,"SPOrEPhases",444,Pr,Zfn,wcn),TEe;D(1219,1,{},QWt),I(d3,"ShrinkTree",1219),D(1117,205,mw,ZKt),l.rf=function(e,n){var r,s,o,h,d;ad(e,(LO(),EK))&&(d=Gr(ne(e,EK)),o=act(e7(),d),o&&(h=u(_I(o.f),205),h.rf(e,n.eh(1)))),s=new h5t,r=Ype(s,e),k6n(this.a,r,n.eh(1)),cpe(s,r)},I(d3,"ShrinkTreeLayoutProvider",1117),D(305,137,{3:1,305:1,96:1,137:1},zne),l.c=!1,I("org.eclipse.elk.alg.spore.graph","Graph",305),D(489,22,{3:1,34:1,22:1,489:1,188:1,196:1},KYt),l.dg=function(){return nue(this)},l.qg=function(){return nue(this)};var wdt,IDt=Lr(g3,F8t,489,Pr,Uln,bcn),CEe;D(558,22,{3:1,34:1,22:1,558:1,188:1,196:1},GJt),l.dg=function(){return new OR},l.qg=function(){return new OR};var mdt,SEe=Lr(g3,"OverlapRemovalStrategy",558,Pr,Gln,mcn),_Ee;D(438,22,{3:1,34:1,22:1,438:1},cmt);var kK,vdt,ODt=Lr(g3,"RootSelection",438,Pr,Ghn,vcn),AEe;D(324,22,{3:1,34:1,22:1,324:1},XM);var NDt,ydt,xdt,PDt,FDt,BDt=Lr(g3,"SpanningTreeCostFunction",324,Pr,Fdn,ycn),LEe;D(1014,1,uf,lnt),l.hf=function(e){Rge(e)};var RDt,jDt,DEe,MEe,$Dt,zDt,kdt,Edt,Tdt,IEe,OEe,EK;I(g3,"SporeCompactionOptions",1014),D(1015,1,{},Itt),l.sf=function(){var e;return e=new ZKt,e},l.tf=function(e){},I(g3,"SporeCompactionOptions/SporeCompactionFactory",1015),D(866,1,uf,hnt),l.hf=function(e){Qe(e,new He(Ye(We(Xe(Ve(Ke(Ue(Ge(new je,Ilt),""),"Underlying Layout Algorithm"),"A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction."),(Fp(),ix)),Pe),en((D1(),_n))))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Plt),"structure"),"Structure Extraction Strategy"),"This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices."),KDt),ts),ZDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,iTt),Flt),"Tree Construction Strategy"),"Whether a minimum spanning tree or a maximum spanning tree should be constructed."),UDt),ts),eMt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,sTt),Flt),"Cost Function for Spanning Tree"),"The cost function is used in the creation of the spanning tree."),VDt),ts),BDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Olt),Flt),"Root node for spanning tree construction"),"The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen."),null),ix),Pe),en(_n)))),Bs(e,Olt,Nlt,jEe),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,Nlt),Flt),"Root selection for spanning tree"),"This sets the method used to select a root node for the construction of a spanning tree"),HDt),ts),ODt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,aTt),BEt),awe),"This option defines how the compaction is applied."),qDt),ts),IDt),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,oTt),BEt),"Orthogonal Compaction"),"Restricts the translation of nodes to orthogonal directions in the compaction phase."),(Pn(),!1)),oa),ys),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,cTt),uwe),"Upper limit for iterations of overlap removal"),null),he(64)),ac),Ra),en(_n)))),Qe(e,new He(Ye(We(Xe(fn(Ve(Ke(Ue(Ge(new je,uTt),uwe),"Whether to run a supplementary scanline overlap check."),null),!0),oa),ys),en(_n)))),z0e((new fnt,e)),Rge((new lnt,e))};var NEe,qDt,PEe,FEe,BEe,REe,jEe,$Ee,HDt,zEe,VDt,qEe,UDt,GDt,KDt,WDt;I(g3,"SporeMetaDataProvider",866),D(1012,1,uf,fnt),l.hf=function(e){z0e(e)};var HEe,YDt,XDt,QDt,VEe,JDt;I(g3,"SporeOverlapRemovalOptions",1012),D(1013,1,{},zl),l.sf=function(){var e;return e=new XWt,e},l.tf=function(e){},I(g3,"SporeOverlapRemovalOptions/SporeOverlapFactory",1013),D(539,22,{3:1,34:1,22:1,539:1,188:1,196:1},Kee),l.dg=function(){return rue(this)},l.qg=function(){return rue(this)};var kP,ZDt=Lr(g3,"StructureExtractionStrategy",539,Pr,Kln,xcn),UEe;D(437,22,{3:1,34:1,22:1,437:1,188:1,196:1},umt),l.dg=function(){return rle(this)},l.qg=function(){return rle(this)};var tMt,TK,eMt=Lr(g3,"TreeConstructionStrategy",437,Pr,Khn,kcn),GEe;D(1463,1,_o,Yu),l.rg=function(e){return u(e,305),new Fs},l.Kf=function(e,n){uyn(u(e,305),n)},I(lwe,"DelaunayTriangulationPhase",1463),D(1464,1,ir,aGt),l.Cd=function(e){ge(this.a,u(e,68).a)},I(lwe,"DelaunayTriangulationPhase/lambda$0$Type",1464),D(794,1,_o,nwt),l.rg=function(e){return u(e,305),new Fs},l.Kf=function(e,n){this.Jg(u(e,305),n)},l.Jg=function(e,n){var r,s,o;n.Ug("Minimum spanning tree construction",1),e.d?s=e.d.a:s=u(Oe(e.i,0),68).a,Ie(Me(X(e,(s7(),EA))))?o=Cct(e.e,s,(r=e.b,r)):o=Cct(e.e,s,e.b),jce(this,o,e),n.Vg()},I(Blt,"MinSTPhase",794),D(1466,794,_o,RKt),l.Jg=function(e,n){var r,s,o,h;n.Ug("Maximum spanning tree construction",1),r=new oGt(e),e.d?o=e.d.c:o=u(Oe(e.i,0),68).c,Ie(Me(X(e,(s7(),EA))))?h=Cct(e.e,o,(s=r,s)):h=Cct(e.e,o,r),jce(this,h,e),n.Vg()},I(Blt,"MaxSTPhase",1466),D(1467,1,{},oGt),l.af=function(e){return ain(this.a,e)},I(Blt,"MaxSTPhase/lambda$0$Type",1467),D(1465,1,ir,cGt),l.Cd=function(e){Jin(this.a,u(e,68))},I(Blt,"MinSTPhase/lambda$0$Type",1465),D(796,1,_o,OR),l.rg=function(e){return u(e,305),new Fs},l.Kf=function(e,n){T3n(this,u(e,305),n)},l.a=!1,I(Rlt,"GrowTreePhase",796),D(797,1,ir,Nvt),l.Cd=function(e){$pn(this.a,this.b,this.c,u(e,225))},I(Rlt,"GrowTreePhase/lambda$0$Type",797),D(1468,1,_o,Ott),l.rg=function(e){return u(e,305),new Fs},l.Kf=function(e,n){Imn(this,u(e,305),n)},I(Rlt,"ShrinkTreeCompactionPhase",1468),D(795,1,ir,Pvt),l.Cd=function(e){vxn(this.a,this.b,this.c,u(e,225))},I(Rlt,"ShrinkTreeCompactionPhase/lambda$0$Type",795);var nMt=os(_c,"IGraphElementVisitor");D(872,1,{536:1},Sre),l.Kg=function(e){var n;n=S8n(this,e),Qo(n,u(tr(this.b,e),96)),x6n(this,e,n)};var KEe,WEe;I(T5,"LayoutConfigurator",872);var v_n=os(T5,"LayoutConfigurator/IPropertyHolderOptionFilter");D(944,1,{2032:1},Ntt),l.Lg=function(e,n){return ck(),!e.pf(n)},I(T5,"LayoutConfigurator/lambda$0$Type",944),D(943,1,{845:1},ly),l.Mg=function(e,n){return ck(),!e.pf(n)},I(T5,"LayoutConfigurator/lambda$1$Type",943),D(945,1,{2032:1},x4),l.Lg=function(e,n){return JWt(e,n)},I(T5,"LayoutConfigurator/lambda$2$Type",945),D(946,1,Kr,jXt),l.Mb=function(e){return Pln(this.a,this.b,u(e,2032))},I(T5,"LayoutConfigurator/lambda$3$Type",946),D(869,1,{},hy),I(T5,"RecursiveGraphLayoutEngine",869),D(224,63,Pg,pKt,fp),I(T5,"UnsupportedConfigurationException",224),D(370,63,Pg,L6),I(T5,"UnsupportedGraphException",370),D(761,1,{}),I(_c,"AbstractRandomListAccessor",761),D(449,761,{},L_),l.Ng=function(){return null},l.d=!0,l.e=!0,l.f=0,I(cT,"AlgorithmAssembler",449),D(1200,1,Kr,ap),l.Mb=function(e){return!!u(e,106)},I(cT,"AlgorithmAssembler/lambda$0$Type",1200),D(1201,1,{},uGt),l.Kb=function(e){return xrn(this.a,u(e,106))},I(cT,"AlgorithmAssembler/lambda$1$Type",1201),D(1202,1,Kr,a6),l.Mb=function(e){return!!u(e,80)},I(cT,"AlgorithmAssembler/lambda$2$Type",1202),D(1203,1,ir,lGt),l.Cd=function(e){ch(this.a,u(e,80))},I(cT,"AlgorithmAssembler/lambda$3$Type",1203),D(1204,1,ir,$Xt),l.Cd=function(e){Gsn(this.a,this.b,u(e,196))},I(cT,"AlgorithmAssembler/lambda$4$Type",1204),D(1343,1,Xr,eM),l.Ne=function(e,n){return whn(u(e,196),u(n,196))},l.Fb=function(e){return this===e},l.Oe=function(){return new Be(this)},I(cT,"EnumBasedFactoryComparator",1343),D(80,761,{80:1},Fs),l.Ng=function(){return new Os},l.a=0,I(cT,"LayoutProcessorConfiguration",80),D(1025,1,{536:1},dnt),l.Kg=function(e){e_(XEe,new hGt(e))};var YEe,XEe,QEe;I(pc,"DeprecatedLayoutOptionReplacer",1025),D(1026,1,ir,NR),l.Cd=function(e){_0n(u(e,167))},I(pc,"DeprecatedLayoutOptionReplacer/lambda$0$Type",1026),D(1027,1,ir,PR),l.Cd=function(e){fwn(u(e,167))},I(pc,"DeprecatedLayoutOptionReplacer/lambda$1$Type",1027),D(1028,1,{},hGt),l.Yd=function(e,n){Usn(this.a,u(e,149),u(n,41))},I(pc,"DeprecatedLayoutOptionReplacer/lambda$2$Type",1028),D(143,1,{701:1,143:1},dw),l.Fb=function(e){return _3t(this,e)},l.Og=function(){return this.b},l.Pg=function(){return this.c},l.xe=function(){return this.e},l.Hb=function(){return _p(this.c)},l.Ib=function(){return"Layout Algorithm: "+this.c};var y_n=I(pc,"LayoutAlgorithmData",143);D(269,1,{},G1),I(pc,"LayoutAlgorithmData/Builder",269),D(1029,1,{536:1},FR),l.Kg=function(e){Lt(e,207)&&!Ie(Me(e.of((ai(),AK))))&&p7n(u(e,27))},I(pc,"LayoutAlgorithmResolver",1029),D(233,1,{701:1,233:1},Z6),l.Fb=function(e){return Lt(e,233)?hn(this.b,u(e,233).b):!1},l.Og=function(){return this.a},l.Pg=function(){return this.b},l.xe=function(){return this.d},l.Hb=function(){return _p(this.b)},l.Ib=function(){return"Layout Type: "+this.b},I(pc,"LayoutCategoryData",233),D(357,1,{},fy),I(pc,"LayoutCategoryData/Builder",357),D(879,1,{},D0e);var Cdt;I(pc,"LayoutMetaDataService",879),D(880,1,{},Mee),I(pc,"LayoutMetaDataService/Registry",880),D(486,1,{486:1},q8),I(pc,"LayoutMetaDataService/Registry/Triple",486),D(881,1,L5,Ptt),l.Qg=function(){return new Sa},I(pc,"LayoutMetaDataService/lambda$0$Type",881),D(882,1,p3,nM),l.Rg=function(e){return Oa(u(e,8))},I(pc,"LayoutMetaDataService/lambda$1$Type",882),D(891,1,L5,o6),l.Qg=function(){return new fe},I(pc,"LayoutMetaDataService/lambda$10$Type",891),D(892,1,p3,db),l.Rg=function(e){return new fl(u(e,13))},I(pc,"LayoutMetaDataService/lambda$11$Type",892),D(893,1,L5,BR),l.Qg=function(){return new Ki},I(pc,"LayoutMetaDataService/lambda$12$Type",893),D(894,1,p3,RR),l.Rg=function(e){return bI(u(e,67))},I(pc,"LayoutMetaDataService/lambda$13$Type",894),D(895,1,L5,jR),l.Qg=function(){return new Os},I(pc,"LayoutMetaDataService/lambda$14$Type",895),D(896,1,p3,Ftt),l.Rg=function(e){return Zz(u(e,49))},I(pc,"LayoutMetaDataService/lambda$15$Type",896),D(897,1,L5,c6),l.Qg=function(){return new zd},I(pc,"LayoutMetaDataService/lambda$16$Type",897),D(898,1,p3,dy),l.Rg=function(e){return gq(u(e,49))},I(pc,"LayoutMetaDataService/lambda$17$Type",898),D(899,1,L5,op),l.Qg=function(){return new q2t},I(pc,"LayoutMetaDataService/lambda$18$Type",899),D(900,1,p3,gb),l.Rg=function(e){return ate(u(e,157))},I(pc,"LayoutMetaDataService/lambda$19$Type",900),D(883,1,L5,k4),l.Qg=function(){return new Qu},I(pc,"LayoutMetaDataService/lambda$2$Type",883),D(884,1,p3,H8),l.Rg=function(e){return new b$(u(e,75))},I(pc,"LayoutMetaDataService/lambda$3$Type",884),D(885,1,L5,hC),l.Qg=function(){return new HC},I(pc,"LayoutMetaDataService/lambda$4$Type",885),D(886,1,p3,rM),l.Rg=function(e){return new Eit(u(e,140))},I(pc,"LayoutMetaDataService/lambda$5$Type",886),D(887,1,L5,Btt),l.Qg=function(){return new C6},I(pc,"LayoutMetaDataService/lambda$6$Type",887),D(888,1,p3,Rtt),l.Rg=function(e){return new jvt(u(e,107))},I(pc,"LayoutMetaDataService/lambda$7$Type",888),D(889,1,L5,$R),l.Qg=function(){return new iM},I(pc,"LayoutMetaDataService/lambda$8$Type",889),D(890,1,p3,zR),l.Rg=function(e){return new Lae(u(e,385))},I(pc,"LayoutMetaDataService/lambda$9$Type",890);var Sdt=os(fN,"IProperty");D(23,1,{34:1,701:1,23:1,149:1},He),l.Fd=function(e){return fsn(this,u(e,149))},l.Fb=function(e){return Lt(e,23)?hn(this.f,u(e,23).f):Lt(e,149)&&hn(this.f,u(e,149).Pg())},l.Sg=function(){var e;if(Lt(this.b,4)){if(e=nxt(this.b),e==null)throw at(new Ro(gwe+this.f+"'. Make sure it's type is registered with the "+(wg(UP),UP.k)+lTt));return e}else return this.b},l.Og=function(){return this.d},l.Pg=function(){return this.f},l.xe=function(){return this.i},l.Hb=function(){return _p(this.f)},l.Ib=function(){return"Layout Option: "+this.f},I(pc,"LayoutOptionData",23),D(24,1,{},je),I(pc,"LayoutOptionData/Builder",24),D(170,22,{3:1,34:1,22:1,170:1},QM);var f0,Wp,Qs,_n,Bw,G0=Lr(pc,"LayoutOptionData/Target",170,Pr,Bdn,Ecn),JEe;D(285,22,{3:1,34:1,22:1,285:1},N6);var oa,Wa,ts,Qk,ac,xd,ix,rMt,ZEe=Lr(pc,"LayoutOptionData/Type",285,Pr,ign,Tcn),t7e,oL,iMt;D(116,1,{116:1},B6,Ah,tq),l.Fb=function(e){var n;return e==null||!Lt(e,116)?!1:(n=u(e,116),Nc(this.c,n.c)&&Nc(this.d,n.d)&&Nc(this.b,n.b)&&Nc(this.a,n.a))},l.Hb=function(){return lO(lt(ut(aa,1),Ln,1,5,[this.c,this.d,this.b,this.a]))},l.Ib=function(){return"Rect[x="+this.c+",y="+this.d+",w="+this.b+",h="+this.a+"]"},l.a=0,l.b=0,l.c=0,l.d=0,I(yN,"ElkRectangle",116),D(8,1,{3:1,4:1,8:1,423:1},Sa,mst,ae,io),l.Fb=function(e){return qoe(this,e)},l.Hb=function(){return F6(this.a)+lvn(F6(this.b))},l.cg=function(e){var n,r,s,o;for(s=0;s<e.length&&Sue((qn(s,e.length),e.charCodeAt(s)),d2e);)++s;for(n=e.length;n>0&&Sue((qn(n-1,e.length),e.charCodeAt(n-1)),g2e);)--n;if(s>=n)throw at(new zn("The given string does not contain any numbers."));if(o=s3((Da(s,n,e.length),e.substr(s,n-s)),`,|;|\r|
1641 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _=this.next();return _||this.lex()},begin:function(_){this.conditionStack.push(_)},popState:function(){var _=this.conditionStack.length-1;return _>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},pushState:function(_){this.begin(_)},stateStackSize:function(){return this.conditionStack.length},options:{easy_keword_rules:!0},performAction:function(_,M,F,R){switch(F){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/,/^(?:$)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:(\u002C))/,/^(?:(\u0022))/,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/,/^(?:(\u0022)(?!(\u0022)))/,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/],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 E}();w.lexer=v;function b(){this.yy={}}return b.prototype=w,w.Parser=b,new b}();w2t.parser=w2t;const NX=w2t;let PX=[],FX=[],FD={};const Een=()=>{PX=[],FX=[],FD={},ag()};class Ten{constructor(a,f,g=0){this.source=a,this.target=f,this.value=g}}const Cen=(i,a,f)=>{PX.push(new Ten(i,a,f))};class Sen{constructor(a){this.ID=a}}const _en={nodesMap:FD,getConfig:()=>Re().sankey,getNodes:()=>FX,getLinks:()=>PX,getGraph:()=>({nodes:FX.map(i=>({id:i.ID})),links:PX.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:Cen,findOrCreateNode:i=>(i=ei.sanitizeText(i,Re()),FD[i]||(FD[i]=new Sen(i),FX.push(FD[i])),FD[i]),getAccTitle:Xg,setAccTitle:og,getAccDescription:Jg,setAccDescription:Qg,getDiagramTitle:Zg,setDiagramTitle:S2,clear:Een};function ZHt(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f<g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f<w||f===void 0&&w>=w)&&(f=w)}return f}function tVt(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f>g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function m2t(i,a){let f=0;if(a===void 0)for(let g of i)(g=+g)&&(f+=g);else{let g=-1;for(let w of i)(w=+a(w,++g,i))&&(f+=w)}return f}function Aen(i){return i.target.depth}function Len(i){return i.depth}function Den(i,a){return a-1-i.height}function eVt(i,a){return i.sourceLinks.length?i.depth:a-1}function Men(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?tVt(i.sourceLinks,Aen)-1:0}function BX(i){return function(){return i}}function nVt(i,a){return RX(i.source,a.source)||i.index-a.index}function rVt(i,a){return RX(i.target,a.target)||i.index-a.index}function RX(i,a){return i.y0-a.y0}function v2t(i){return i.value}function Ien(i){return i.index}function Oen(i){return i.nodes}function Nen(i){return i.links}function iVt(i,a){const f=i.get(a);if(!f)throw new Error("missing: "+a);return f}function sVt({nodes:i}){for(const a of i){let f=a.y0,g=f;for(const w of a.sourceLinks)w.y0=f+w.width/2,f+=w.width;for(const w of a.targetLinks)w.y1=g+w.width/2,g+=w.width}}function Pen(){let i=0,a=0,f=1,g=1,w=24,v=8,b,E=Ien,S=eVt,_,M,F=Oen,R=Nen,B=6;function z(){const It={nodes:F.apply(null,arguments),links:R.apply(null,arguments)};return Y(It),nt(It),ot(It),ft(It),ct(It),sVt(It),It}z.update=function(It){return sVt(It),It},z.nodeId=function(It){return arguments.length?(E=typeof It=="function"?It:BX(It),z):E},z.nodeAlign=function(It){return arguments.length?(S=typeof It=="function"?It:BX(It),z):S},z.nodeSort=function(It){return arguments.length?(_=It,z):_},z.nodeWidth=function(It){return arguments.length?(w=+It,z):w},z.nodePadding=function(It){return arguments.length?(v=b=+It,z):v},z.nodes=function(It){return arguments.length?(F=typeof It=="function"?It:BX(It),z):F},z.links=function(It){return arguments.length?(R=typeof It=="function"?It:BX(It),z):R},z.linkSort=function(It){return arguments.length?(M=It,z):M},z.size=function(It){return arguments.length?(i=a=0,f=+It[0],g=+It[1],z):[f-i,g-a]},z.extent=function(It){return arguments.length?(i=+It[0][0],f=+It[1][0],a=+It[0][1],g=+It[1][1],z):[[i,a],[f,g]]},z.iterations=function(It){return arguments.length?(B=+It,z):B};function Y({nodes:It,links:jt}){for(const[Ft,Ct]of It.entries())Ct.index=Ft,Ct.sourceLinks=[],Ct.targetLinks=[];const xt=new Map(It.map((Ft,Ct)=>[E(Ft,Ct,It),Ft]));for(const[Ft,Ct]of jt.entries()){Ct.index=Ft;let{source:kt,target:Gt}=Ct;typeof kt!="object"&&(kt=Ct.source=iVt(xt,kt)),typeof Gt!="object"&&(Gt=Ct.target=iVt(xt,Gt)),kt.sourceLinks.push(Ct),Gt.targetLinks.push(Ct)}if(M!=null)for(const{sourceLinks:Ft,targetLinks:Ct}of It)Ft.sort(M),Ct.sort(M)}function nt({nodes:It}){for(const jt of It)jt.value=jt.fixedValue===void 0?Math.max(m2t(jt.sourceLinks,v2t),m2t(jt.targetLinks,v2t)):jt.fixedValue}function ot({nodes:It}){const jt=It.length;let xt=new Set(It),Ft=new Set,Ct=0;for(;xt.size;){for(const kt of xt){kt.depth=Ct;for(const{target:Gt}of kt.sourceLinks)Ft.add(Gt)}if(++Ct>jt)throw new Error("circular link");xt=Ft,Ft=new Set}}function ft({nodes:It}){const jt=It.length;let xt=new Set(It),Ft=new Set,Ct=0;for(;xt.size;){for(const kt of xt){kt.height=Ct;for(const{source:Gt}of kt.targetLinks)Ft.add(Gt)}if(++Ct>jt)throw new Error("circular link");xt=Ft,Ft=new Set}}function wt({nodes:It}){const jt=ZHt(It,Ct=>Ct.depth)+1,xt=(f-i-w)/(jt-1),Ft=new Array(jt);for(const Ct of It){const kt=Math.max(0,Math.min(jt-1,Math.floor(S.call(null,Ct,jt))));Ct.layer=kt,Ct.x0=i+kt*xt,Ct.x1=Ct.x0+w,Ft[kt]?Ft[kt].push(Ct):Ft[kt]=[Ct]}if(_)for(const Ct of Ft)Ct.sort(_);return Ft}function mt(It){const jt=tVt(It,xt=>(g-a-(xt.length-1)*b)/m2t(xt,v2t));for(const xt of It){let Ft=a;for(const Ct of xt){Ct.y0=Ft,Ct.y1=Ft+Ct.value*jt,Ft=Ct.y1+b;for(const kt of Ct.sourceLinks)kt.width=kt.value*jt}Ft=(g-Ft+b)/(xt.length+1);for(let Ct=0;Ct<xt.length;++Ct){const kt=xt[Ct];kt.y0+=Ft*(Ct+1),kt.y1+=Ft*(Ct+1)}yt(xt)}}function ct(It){const jt=wt(It);b=Math.min(v,(g-a)/(ZHt(jt,xt=>xt.length)-1)),mt(jt);for(let xt=0;xt<B;++xt){const Ft=Math.pow(.99,xt),Ct=Math.max(1-Ft,(xt+1)/B);it(jt,Ft,Ct),rt(jt,Ft,Ct)}}function rt(It,jt,xt){for(let Ft=1,Ct=It.length;Ft<Ct;++Ft){const kt=It[Ft];for(const Gt of kt){let Fe=0,Mt=0;for(const{source:Ae,value:ye}of Gt.targetLinks){let tn=ye*(Gt.layer-Ae.layer);Fe+=V(Ae,Gt)*tn,Mt+=tn}if(!(Mt>0))continue;let pn=(Fe/Mt-Gt.y0)*jt;Gt.y0+=pn,Gt.y1+=pn,K(Gt)}_===void 0&&kt.sort(RX),gt(kt,xt)}}function it(It,jt,xt){for(let Ft=It.length,Ct=Ft-2;Ct>=0;--Ct){const kt=It[Ct];for(const Gt of kt){let Fe=0,Mt=0;for(const{target:Ae,value:ye}of Gt.sourceLinks){let tn=ye*(Ae.layer-Gt.layer);Fe+=Ot(Gt,Ae)*tn,Mt+=tn}if(!(Mt>0))continue;let pn=(Fe/Mt-Gt.y0)*jt;Gt.y0+=pn,Gt.y1+=pn,K(Gt)}_===void 0&&kt.sort(RX),gt(kt,xt)}}function gt(It,jt){const xt=It.length>>1,Ft=It[xt];dt(It,Ft.y0-b,xt-1,jt),Q(It,Ft.y1+b,xt+1,jt),dt(It,g,It.length-1,jt),Q(It,a,0,jt)}function Q(It,jt,xt,Ft){for(;xt<It.length;++xt){const Ct=It[xt],kt=(jt-Ct.y0)*Ft;kt>1e-6&&(Ct.y0+=kt,Ct.y1+=kt),jt=Ct.y1+b}}function dt(It,jt,xt,Ft){for(;xt>=0;--xt){const Ct=It[xt],kt=(Ct.y1-jt)*Ft;kt>1e-6&&(Ct.y0-=kt,Ct.y1-=kt),jt=Ct.y0-b}}function K({sourceLinks:It,targetLinks:jt}){if(M===void 0){for(const{source:{sourceLinks:xt}}of jt)xt.sort(rVt);for(const{target:{targetLinks:xt}}of It)xt.sort(nVt)}}function yt(It){if(M===void 0)for(const{sourceLinks:jt,targetLinks:xt}of It)jt.sort(rVt),xt.sort(nVt)}function V(It,jt){let xt=It.y0-(It.sourceLinks.length-1)*b/2;for(const{target:Ft,width:Ct}of It.sourceLinks){if(Ft===jt)break;xt+=Ct+b}for(const{source:Ft,width:Ct}of jt.targetLinks){if(Ft===It)break;xt-=Ct}return xt}function Ot(It,jt){let xt=jt.y0-(jt.targetLinks.length-1)*b/2;for(const{source:Ft,width:Ct}of jt.targetLinks){if(Ft===It)break;xt+=Ct+b}for(const{target:Ft,width:Ct}of It.sourceLinks){if(Ft===jt)break;xt-=Ct}return xt}return z}var y2t=Math.PI,x2t=2*y2t,V9=1e-6,Fen=x2t-V9;function k2t(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function aVt(){return new k2t}k2t.prototype=aVt.prototype={constructor:k2t,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,f,g){this._+="Q"+ +i+","+ +a+","+(this._x1=+f)+","+(this._y1=+g)},bezierCurveTo:function(i,a,f,g,w,v){this._+="C"+ +i+","+ +a+","+ +f+","+ +g+","+(this._x1=+w)+","+(this._y1=+v)},arcTo:function(i,a,f,g,w){i=+i,a=+a,f=+f,g=+g,w=+w;var v=this._x1,b=this._y1,E=f-i,S=g-a,_=v-i,M=b-a,F=_*_+M*M;if(w<0)throw new Error("negative radius: "+w);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(F>V9)if(!(Math.abs(M*E-S*_)>V9)||!w)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var R=f-v,B=g-b,z=E*E+S*S,Y=R*R+B*B,nt=Math.sqrt(z),ot=Math.sqrt(F),ft=w*Math.tan((y2t-Math.acos((z+F-Y)/(2*nt*ot)))/2),wt=ft/ot,mt=ft/nt;Math.abs(wt-1)>V9&&(this._+="L"+(i+wt*_)+","+(a+wt*M)),this._+="A"+w+","+w+",0,0,"+ +(M*R>_*B)+","+(this._x1=i+mt*E)+","+(this._y1=a+mt*S)}},arc:function(i,a,f,g,w,v){i=+i,a=+a,f=+f,v=!!v;var b=f*Math.cos(g),E=f*Math.sin(g),S=i+b,_=a+E,M=1^v,F=v?g-w:w-g;if(f<0)throw new Error("negative radius: "+f);this._x1===null?this._+="M"+S+","+_:(Math.abs(this._x1-S)>V9||Math.abs(this._y1-_)>V9)&&(this._+="L"+S+","+_),f&&(F<0&&(F=F%x2t+x2t),F>Fen?this._+="A"+f+","+f+",0,1,"+M+","+(i-b)+","+(a-E)+"A"+f+","+f+",0,1,"+M+","+(this._x1=S)+","+(this._y1=_):F>V9&&(this._+="A"+f+","+f+",0,"+ +(F>=y2t)+","+M+","+(this._x1=i+f*Math.cos(w))+","+(this._y1=a+f*Math.sin(w))))},rect:function(i,a,f,g){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +f+"v"+ +g+"h"+-f+"Z"},toString:function(){return this._}};function oVt(i){return function(){return i}}function Ben(i){return i[0]}function Ren(i){return i[1]}var jen=Array.prototype.slice;function $en(i){return i.source}function zen(i){return i.target}function qen(i){var a=$en,f=zen,g=Ben,w=Ren,v=null;function b(){var E,S=jen.call(arguments),_=a.apply(this,S),M=f.apply(this,S);if(v||(v=E=aVt()),i(v,+g.apply(this,(S[0]=_,S)),+w.apply(this,S),+g.apply(this,(S[0]=M,S)),+w.apply(this,S)),E)return v=null,E+""||null}return b.source=function(E){return arguments.length?(a=E,b):a},b.target=function(E){return arguments.length?(f=E,b):f},b.x=function(E){return arguments.length?(g=typeof E=="function"?E:oVt(+E),b):g},b.y=function(E){return arguments.length?(w=typeof E=="function"?E:oVt(+E),b):w},b.context=function(E){return arguments.length?(v=E??null,b):v},b}function Hen(i,a,f,g,w){i.moveTo(a,f),i.bezierCurveTo(a=(a+g)/2,f,a,w,g,w)}function Ven(){return qen(Hen)}function Uen(i){return[i.source.x1,i.y0]}function Gen(i){return[i.target.x0,i.y1]}function Ken(){return Ven().source(Uen).target(Gen)}const cVt=class vOt{static next(a){return new vOt(a+ ++vOt.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};cVt.count=0;let uVt=cVt;const Wen={left:Len,right:Den,center:Men,justify:eVt},Yen={draw:function(i,a,f,g){const{securityLevel:w,sankey:v}=Re(),b=lBt.sankey;let E;w==="sandbox"&&(E=Tr("#i"+a));const S=Tr(w==="sandbox"?E.nodes()[0].contentDocument.body:"body"),_=w==="sandbox"?S.select(`[id="${a}"]`):Tr(`[id="${a}"]`),M=(v==null?void 0:v.width)??b.width,F=(v==null?void 0:v.height)??b.width,R=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,B=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,z=(v==null?void 0:v.prefix)??b.prefix,Y=(v==null?void 0:v.suffix)??b.suffix,nt=(v==null?void 0:v.showValues)??b.showValues,ot=g.db.getGraph(),ft=Wen[B],wt=10;Pen().nodeId(dt=>dt.id).nodeWidth(wt).nodePadding(10+(nt?15:0)).nodeAlign(ft).extent([[0,0],[M,F]])(ot);const ct=oF(tPt);_.append("g").attr("class","nodes").selectAll(".node").data(ot.nodes).join("g").attr("class","node").attr("id",dt=>(dt.uid=uVt.next("node-")).id).attr("transform",function(dt){return"translate("+dt.x0+","+dt.y0+")"}).attr("x",dt=>dt.x0).attr("y",dt=>dt.y0).append("rect").attr("height",dt=>dt.y1-dt.y0).attr("width",dt=>dt.x1-dt.x0).attr("fill",dt=>ct(dt.id));const rt=({id:dt,value:K})=>nt?`${dt}