2026-03-09 21:20:57 +00:00
import { g as oe } from "./chunk-FMBD7UC4-B-XoLeQw.js" ; import { _ as d , F as rt , d as O , e as he , l as L , y as de , A as ge , ak as ue , a9 as pe , aa as fe , c as R , a6 as xe , al as j , am as Wt , an as ye , u as $ , k as be , ao as we , ap as xt , i as yt , aq as me } from "./mermaid.core-Bp72wBaC.js" ; import { c as Le } from "./clone-BbeogWA3.js" ; import { G as Se } from "./graph-BI4iNatD.js" ; import { c as ke } from "./channel-uO_MEpg2.js" ; import "./index-BzKy-nNf.js" ; import "./_baseUniq-Blm_akxr.js" ; var bt = ( function ( ) { var e = d ( function ( D , y , g , f ) { for ( g = g || { } , f = D . length ; f -- ; g [ D [ f ] ] = y ) ; return g } , "o" ) , t = [ 1 , 15 ] , a = [ 1 , 7 ] , i = [ 1 , 13 ] , l = [ 1 , 14 ] , s = [ 1 , 19 ] , r = [ 1 , 16 ] , n = [ 1 , 17 ] , c = [ 1 , 18 ] , u = [ 8 , 30 ] , o = [ 8 , 10 , 21 , 28 , 29 , 30 , 31 , 39 , 43 , 46 ] , x = [ 1 , 23 ] , w = [ 1 , 24 ] , b = [ 8 , 10 , 15 , 16 , 21 , 28 , 29 , 30 , 31 , 39 , 43 , 46 ] , S = [ 8 , 10 , 15 , 16 , 21 , 27 , 28 , 29 , 30 , 31 , 39 , 43 , 46 ] , v = [ 1 , 49 ] , k = { trace : d ( function ( ) { } , "trace" ) , yy : { } , symbols _ : { error : 2 , spaceLines : 3 , SPACELINE : 4 , NL : 5 , separator : 6 , SPACE : 7 , EOF : 8 , start : 9 , BLOCK _DIAGRAM _KEY : 10 , document : 11 , stop : 12 , statement : 13 , link : 14 , LINK : 15 , START _LINK : 16 , LINK _LABEL : 17 , STR : 18 , nodeStatement : 19 , columnsStatement : 20 , SPACE _BLOCK : 21 , blockStatement : 22 , classDefStatement : 23 , cssClassStatement : 24 , styleStatement : 25 , node : 26 , SIZE : 27 , COLUMNS : 28 , "id-block" : 29 , end : 30 , NODE _ID : 31 , nodeShapeNLabel : 32 , dirList : 33 , DIR : 34 , NODE _DSTART : 35 , NODE _DEND : 36 , BLOCK _ARROW _START : 37 , BLOCK _ARROW _END : 38 , classDef : 39 , CLASSDEF _ID : 40 , CLASSDEF _STYLEOPTS : 41 , DEFAULT : 42 , class : 43 , CLASSENTITY _IDS : 44 , STYLECLASS : 45 , style : 46 , STYLE _ENTITY _IDS : 47 , STYLE _DEFINITION _DATA : 48 , $accept : 0 , $end : 1 } , terminals _ : { 2 : "error" , 4 : "SPACELINE" , 5 : "NL" , 7 : "SPACE" , 8 : "EOF" , 10 : "BLOCK_DIAGRAM_KEY" , 15 : "LINK" , 16 : "START_LINK" , 17 : "LINK_LABEL" , 18 : "STR" , 21 : "SPACE_BLOCK" , 27 : "SIZE" , 28 : "COLUMNS" , 29 : "id-block" , 30 : "end" , 31 : "NODE_ID" , 34 : "DIR" , 35 : "NODE_DSTART" , 36 : "NODE_DEND" , 37 : "BLOCK_ARROW_START" , 38 : "BLOCK_ARROW_END" , 39 : "classDef" , 40 : "CLASSDEF_ID" , 41 : "CLASSDEF_STYLEOPTS" , 42 : "DEFAULT" , 43 : "class" , 44 : "CLASSENTITY_IDS" , 45 : "STYLECLASS" , 46 : "style" , 47 : "STYLE_ENTITY_IDS" , 48 : "STYLE_DEFINITION_DATA" } , productions _ : [ 0 , [ 3 , 1 ] , [ 3 , 2 ] , [ 3 , 2 ] , [ 6 , 1 ] , [ 6 , 1 ] , [ 6 , 1 ] , [ 9 , 3 ] , [ 12 , 1 ] , [ 12 , 1 ] , [ 12 , 2 ] , [ 12 , 2 ] , [ 11 , 1 ] , [ 11 , 2 ] , [ 14 , 1 ] , [ 14 , 4 ] , [ 13 , 1 ] , [ 13 , 1 ] , [ 13 , 1 ] , [ 13 , 1 ] , [ 13 , 1 ] , [ 13 , 1 ] , [ 13 , 1 ] , [ 19 , 3 ] , [ 19 , 2 ] , [ 19 , 1 ] , [ 20 , 1 ] , [ 22 , 4 ] , [ 22 , 3 ] , [ 26 , 1 ] , [ 26 , 2 ] , [ 33 , 1 ] , [ 33 , 2 ] , [ 32 , 3 ] , [ 32 , 4 ] , [ 23 , 3 ] , [ 23 , 3 ] , [ 24 , 3 ] , [ 25 , 3 ] ] , performAction : d ( function ( y , g , f , m , E , h , W ) { var p = h . length - 1 ; switch ( E ) { case 4 : m . getLogger ( ) . debug ( "Rule: separator (NL) " ) ; break ; case 5 : m . getLogger ( ) . debug ( "Rule: separator (Space) " ) ; break ; case 6 : m . getLogger ( ) . debug ( "Rule: separator (EOF) " ) ; break ; case 7 : m . getLogger ( ) . debug ( "Rule: hierarchy: " , h [ p - 1 ] ) , m . setHierarchy ( h [ p - 1 ] ) ; break ; case 8 : m . getLogger ( ) . debug ( "Stop NL " ) ; break ; case 9 : m . getLogger ( ) . debug ( "Stop EOF " ) ; break ; case 10 : m . getLogger ( ) . debug ( "Stop NL2 " ) ; break ; case 11 : m . getLogger ( ) . debug ( "Stop EOF2 " ) ; break ; case 12 : m . getLogger ( ) . debug ( "Rule: statement: " , h [ p ] ) , typeof h [ p ] . length == "number" ? this . $ = h [ p ] : this . $ = [ h [ p ] ] ; break ; case 13 : m . getLogger ( ) . debug ( "Rule: statement #2: " , h [ p - 1 ] ) , this . $ = [ h [ p - 1 ] ] . concat ( h [ p ] ) ; break ; case 14 : m . getLogger ( ) . debug ( "Rule: link: " , h [ p ] , y ) , this . $ = { edgeTypeStr : h [ p ] , label : "" } ; break ; case 15 : m . getLogger ( ) . debug ( "Rule: LABEL link: " , h [ p - 3 ] , h [ p - 1 ] , h [ p ] ) , this . $ = { edgeTypeStr : h [ p ] , label : h [ p - 1 ] } ; break ; case 18 : const I = parseInt ( h [ p ] ) , Z = m . generateId ( ) ; this . $ = { id : Z , type : "space" , label : "" , width : I , children : [ ] } ; break ; case 23 : m . getLogger ( ) . debug ( "Rule: (nodeStatement link node) " , h [ p - 2 ] , h [ p - 1 ] , h [ p ] , " typestr: " , h [ p - 1 ] . edgeTypeStr ) ; const V = m . edgeStrToEdgeData ( h [ p - 1 ] . edgeTypeStr ) ; this . $ = [ { id : h [ p - 2 ] . id , label : h [ p - 2 ] . label , type : h [ p - 2 ] . type , directions : h [ p - 2 ] . directions } , { id : h [ p - 2 ] . id + "-" + h [ p ] . id , start : h [ p - 2 ] . id , end : h [ p ] . id , label : h [ p - 1 ] . label , type : "edge" , directions : h [ p ] . directions , arrowTypeEnd : V , arrowTypeStart : "arrow_open" } , { id : h [ p ] . id , label : h [ p ] . label , type : m . typeStr2Type ( h [ p ] . typeStr ) , directions : h [ p ] . directions } ] ; break ; case 24 : m . getLogger ( ) . debug ( "Rule: nodeStatement (abc88 node size) " , h [ p - 1 ] , h [ p ] ) , this . $ = { id : h [ p - 1 ] . id , label : h [ p - 1 ] . label , type : m . typeStr2Type ( h [ p - 1 ] . typeStr ) , directions : h [ p - 1 ] . directions , widthInColumns : parseInt ( h [ p ] , 10 ) } ; break ; case 25 : m . getLogger ( ) . debug ( "Rule: nodeStatement (node) " , h [ p ] ) , this . $ = { id : h [ p ] . id , label : h [ p ] . label , type : m . typeStr
2026-03-07 19:52:33 +00:00
` +z.showPosition()+ `
Expecting ` +it.join(", ")+", got '"+(this.terminals_[F]||F)+"'":ft="Parse error on line "+(I+1)+": Unexpected "+(F==at?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(ft,{text:z.match,token:this.terminals_[F]||F,line:z.yylineno,loc:ut,expected:it})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+F);switch(H[0]){case 1:f.push(F),E.push(z.yytext),h.push(z.yylloc),f.push(H[1]),F=null,Z=z.yyleng,p=z.yytext,I=z.yylineno,ut=z.yylloc;break;case 2:if(G=this.productions_[H[1]][1],Q. $ =E[E.length-G],Q._ $ ={first_line:h[h.length-(G||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(G||1)].first_column,last_column:h[h.length-1].last_column},le&&(Q._ $ .range=[h[h.length-(G||1)].range[0],h[h.length-1].range[1]]),pt=this.performAction.apply(Q,[p,Z,I,q.yy,H[1],E,h].concat(ne)),typeof pt<"u")return pt;G&&(f=f.slice(0,-1*G*2),E=E.slice(0,-1*G),h=h.slice(0,-1*G)),f.push(this.productions_[H[1]][0]),E.push(Q. $ ),h.push(Q._ $ ),Tt=W[f[f.length-2]][f[f.length-1]],f.push(Tt);break;case 3:return!0}}return!0},"parse")},B=(function(){var D={EOF:1,parseError:d(function(g,f){if(this.yy.parser)this.yy.parser.parseError(g,f);else throw new Error(g)},"parseError"),setInput:d(function(y,g){return this.yy=g||this.yy||{},this._input=y,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var y=this._input[0];this.yytext+=y,this.yyleng++,this.offset++,this.match+=y,this.matched+=y;var g=y.match(/(?: \r \n ?| \n ).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),y},"input"),unput:d(function(y){var g=y.length,f=y.split(/(?: \r \n ?| \n )/g);this._input=y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var m=this.match.split(/(?: \r \n ?| \n )/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===m.length?this.yylloc.first_column:0)+m[m.length-f.length].length-f[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+ ` . You can only invoke reject ( ) in the lexer when the lexer is of the backtracking persuasion ( options . backtrack _lexer = true ) .
` +this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(y){this.unput(this.match.slice(y))},"less"),pastInput:d(function(){var y=this.matched.substr(0,this.matched.length-this.match.length);return(y.length>20?"...":"")+y.substr(-20).replace(/ \n /g,"")},"pastInput"),upcomingInput:d(function(){var y=this.match;return y.length<20&&(y+=this._input.substr(0,20-y.length)),(y.substr(0,20)+(y.length>20?"...":"")).replace(/ \n /g,"")},"upcomingInput"),showPosition:d(function(){var y=this.pastInput(),g=new Array(y.length+1).join("-");return y+this.upcomingInput()+ `
` +g+"^"},"showPosition"),test_match:d(function(y,g){var f,m,E;if(this.options.backtrack_lexer&&(E={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(E.yylloc.range=this.yylloc.range.slice(0))),m=y[0].match(/(?: \r \n ?| \n ).*/g),m&&(this.yylineno+=m.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:m?m[m.length-1].length-m[m.length-1].match(/ \r ? \n ?/)[0].length:this.yylloc.last_column+y[0].length},this.yytext+=y[0],this.match+=y[0],this.matches=y,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(y[0].length),this.matched+=y[0],f=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var h in E)this[h]=E[h];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var y,g,f,m;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),h=0;h<E.length;h++)if(f=this._input.match(this.rules[E[h]]),f&&(!g||f[0].length>g[0].length)){if(g=f,m=h,this.options.backtrack_lexer){if(y=this.test_match(f,E[h]),y!==!1)return y;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(y=this.test_match(g,E[m]),y!==!1?y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+ ` . Unrecognized text .
` +this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){var g=this.next();return g||this.lex()},"lex"),begin:d(function(g){this.conditionStack.push(g)},"begin"),popState:d(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:d(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:d(function(g){this.begin(g)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:d(function(g,f,m,E){switch(m){case 0:return g.getLogger().debug("Found block-beta"),10;case 1:return g.getLogger().debug("Found id-block"),29;case 2:return g.getLogger().debug("Found block"),10;case 3:g.getLogger().debug(".",f.yytext);break;case 4:g.getLogger().debug("_",f.yytext);break;case 5:return 5;case 6:return f.yytext=-1,28;case 7:return f.yytext=f.yytext.replace(/columns \s +/,""),g.getLogger().debug("COLUMNS (LEX)",f.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:g.getLogger().debug("LEX: POPPING STR:",f.yytext),this.popState();break;case 13:return g.getLogger().debug("LEX: STR end:",f.yytext),"STR";case 14:return f.yytext=f.yytext.replace(/space \: /,""),g.getLogger().debug("SPACE NUM (LEX)",f.yytext),21;case 15:return f.yytext="1",g.getLogger().debug("COLUMNS (LEX)",f.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),g.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),g.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),g.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),g.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),g.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),g.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),g.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),g.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),g.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),g.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),g.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),g.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),g.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return g.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return g.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return
font - family : $ { e . fontFamily } ;
color : $ { e . nodeTextColor || e . textColor } ;
}
. cluster - label text {
fill : $ { e . titleColor } ;
}
. cluster - label span , p {
color : $ { e . titleColor } ;
}
. label text , span , p {
fill : $ { e . nodeTextColor || e . textColor } ;
color : $ { e . nodeTextColor || e . textColor } ;
}
. node rect ,
. node circle ,
. node ellipse ,
. node polygon ,
. node path {
fill : $ { e . mainBkg } ;
stroke : $ { e . nodeBorder } ;
stroke - width : 1 px ;
}
. flowchart - label text {
text - anchor : middle ;
}
// .flowchart-label .text-outer-tspan {
// text-anchor: middle;
// }
// .flowchart-label .text-inner-tspan {
// text-anchor: start;
// }
. node . label {
text - align : center ;
}
. node . clickable {
cursor : pointer ;
}
. arrowheadPath {
fill : $ { e . arrowheadColor } ;
}
. edgePath . path {
stroke : $ { e . lineColor } ;
stroke - width : 2.0 px ;
}
. flowchart - link {
stroke : $ { e . lineColor } ;
fill : none ;
}
. edgeLabel {
background - color : $ { e . edgeLabelBackground } ;
rect {
opacity : 0.5 ;
background - color : $ { e . edgeLabelBackground } ;
fill : $ { e . edgeLabelBackground } ;
}
text - align : center ;
}
/* For html labels only */
. labelBkg {
background - color : $ { nt ( e . edgeLabelBackground , . 5 ) } ;
// background-color:
}
. node . cluster {
// fill: ${nt(e.mainBkg,.5)};
fill : $ { nt ( e . clusterBkg , . 5 ) } ;
stroke : $ { nt ( e . clusterBorder , . 2 ) } ;
box - shadow : rgba ( 50 , 50 , 93 , 0.25 ) 0 px 13 px 27 px - 5 px , rgba ( 0 , 0 , 0 , 0.3 ) 0 px 8 px 16 px - 8 px ;
stroke - width : 1 px ;
}
. cluster text {
fill : $ { e . titleColor } ;
}
. cluster span , p {
color : $ { e . titleColor } ;
}
/ * . c l u s t e r d i v {
color : $ { e . titleColor } ;
} * /
div . mermaidTooltip {
position : absolute ;
text - align : center ;
max - width : 200 px ;
padding : 2 px ;
font - family : $ { e . fontFamily } ;
font - size : 12 px ;
background : $ { e . tertiaryColor } ;
border : 1 px solid $ { e . border2 } ;
border - radius : 2 px ;
pointer - events : none ;
z - index : 100 ;
}
. flowchartTitleText {
text - anchor : middle ;
font - size : 18 px ;
fill : $ { e . textColor } ;
}
$ { oe ( ) }
` ,"getStyles"),Ue=Xe,je=d((e,t,a,i)=>{t.forEach(l=>{rr[l](e,a,i)})},"insertMarkers"),Ve=d((e,t,a)=>{L.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Ge=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Ze=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),qe=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Je=d((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Qe=d((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"), $ e=d((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath
outsidePoint : $ { JSON . stringify ( t ) }
insidePoint : $ { JSON . stringify ( a ) }
node : x : $ { e . x } y : $ { e . y } w : $ { e . width } h : $ { e . height } ` );const i=e.x,l=e.y,s=Math.abs(i-a.x),r=e.width/2;let n=a.x<t.x?r-s:r+s;const c=e.height/2,u=Math.abs(t.y-a.y),o=Math.abs(t.x-a.x);if(Math.abs(l-t.y)*r>Math.abs(i-t.x)*c){let x=a.y<t.y?t.y-c-l:l-c-t.y;n=o*x/u;const w={x:a.x<t.x?a.x+n:a.x-o+n,y:a.y<t.y?a.y+u-x:a.y-u+x};return n===0&&(w.x=t.x,w.y=t.y),o===0&&(w.x=t.x),u===0&&(w.y=t.y),L.debug( ` abc89 topp / bott calc , Q $ { u } , q $ { x } , R $ { o } , r $ { n } ` ,w),w}else{a.x<t.x?n=t.x-r-i:n=i-r-t.x;let x=u*n/o,w=a.x<t.x?a.x+o-n:a.x-o+n,b=a.y<t.y?a.y+x:a.y-x;return L.debug( ` sides calc abc89 , Q $ { u } , q $ { x } , R $ { o } , r $ { n } ` ,{_x:w,_y:b}),n===0&&(w=t.x,b=t.y),o===0&&(w=t.x),u===0&&(b=t.y),{x:w,y:b}}},"intersection"),Rt=d((e,t)=>{L.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],l=!1;return e.forEach(s=>{if(!hr(t,s)&&!l){const r=dr(t,i,s);let n=!1;a.forEach(c=>{n=n||c.x===r.x&&c.y===r.y}),a.some(c=>c.x===r.x&&c.y===r.y)||a.push(r),l=!0}else i=s,l||a.push(s)}),a},"cutPathAtIntersect"),gr=d(function(e,t,a,i,l,s,r){let n=a.points;L.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const u=s.node(t.v);var o=s.node(t.w);o?.intersect&&u?.intersect&&(n=n.slice(1,a.points.length-1),n.unshift(u.intersect(n[0])),n.push(o.intersect(n[n.length-1]))),a.toCluster&&(L.debug("to cluster abc88",i[a.toCluster]),n=Rt(a.points,i[a.toCluster].node),c=!0),a.fromCluster&&(L.debug("from cluster abc88",i[a.fromCluster]),n=Rt(n.reverse(),i[a.fromCluster].node).reverse(),c=!0);const x=n.filter(y=>!Number.isNaN(y.y));let w=fe;a.curve&&(l==="graph"||l==="flowchart")&&(w=a.curve);const{x:b,y:S}=ue(a),v=pe().x(b).y(S).curve(w);let k;switch(a.thickness){case"normal":k="edge-thickness-normal";break;case"thick":k="edge-thickness-thick";break;case"invisible":k="edge-thickness-thick";break;default:k=""}switch(a.pattern){case"solid":k+=" edge-pattern-solid";break;case"dotted":k+=" edge-pattern-dotted";break;case"dashed":k+=" edge-pattern-dashed";break}const B=e.append("path").attr("d",v(x)).attr("id",a.id).attr("class"," "+k+(a.classes?" "+a.classes:"")).attr("style",a.style);let _="";(R().flowchart.arrowMarkerAbsolute||R().state.arrowMarkerAbsolute)&&(_=xe(!0)),nr(B,a,_,r,l);let D={};return c&&(D.updatedPath=n),D.originalPath=a.points,D},"insertEdge"),ur=d(e=>{const t=new Set;for(const a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},"expandAndDeduplicateDirections"),pr=d((e,t,a)=>{const i=ur(e),l=2,s=t.height+2*a.padding,r=s/l,n=t.width+2*r+a.padding,c=a.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:r,y:0},{x:n/2,y:2*c},{x:n-r,y:0},{x:n,y:0},{x:n,y:-s/3},{x:n+2*c,y:-s/2},{x:n,y:-2*s/3},{x:n,y:-s},{x:n-r,y:-s},{x:n/2,y:-s-2*c},{x:r,y:-s},{x:0,y:-s},{x:0,y:-2*s/3},{x:-2*c,y:-s/2},{x:0,y:-s/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:r,y:0},{x:n-r,y:0},{x:n,y:-s/2},{x:n-r,y:-s},{x:r,y:-s},{x:0,y:-s/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:r,y:-s},{x:n-r,y:-s},{x:n,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:n,y:-r},{x:n,y:-s+r},{x:0,y:-s}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:n,y:0},{x:0,y:-r},{x:0,y:-s+r},{x:n,y:-s}]:i.has("right")&&i.has("left")?[{x:r,y:0},{x:r,y:-c},{x:n-r,y:-c},{x:n-r,y:0},{x:n,y:-s/2},{x:n-r,y:-s},{x:n-r,y:-s+c},{x:r,y:-s+c},{x:r,y:-s},{x:0,y:-s/2}]:i.has("up")&&i.has("down")?[{x:n/2,y:0},{x:0,y:-c},{x:r,y:-c},{x:r,y:-s+c},{x:0,y:-s+c},{x:n/2,y:-s},{x:n,y:-s+c},{x:n-r,y:-s+c},{x:n-r,y:-c},{x:n,y:-c}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:n,y:-r},{x:0,y:-s}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:n,y:0},{x:0,y:-s}]:i.has("left")&&i.has("up")?[{x:n,y:0},{x:0,y:-r},{x:n,y:-s}]:i.has("left")&&i.has("down")?[{x:n,y:0},{x:0,y:0},{x:n,y:-s}]:i.has("right")?[{x:r,y:-c},{x:r,y:-c},{x:n-r,y:-c},{x:n-r,y:0},{x:n,y:-s/2},{x:n-r,y:-s},{x:n-r,y:-s+c},{x:r,y:-s+c},{x:r,y:-s+c}]:i.has("left")?[{x:r,y:0},{x:r,y:-c},{x:n-r,y:-c},{x:n-r,y:-s+c},{x:r,y:-s+c},{x:r,y:-s},{x:0,y:-s/2}]:i.has("up")?[{x:r,y:-c},{x:r,y:-s+c},{x:0,y:-s+c},{x:n/2,y:-s},{x:n,y:-s+c},{x:n-r,y:-s+c