133 lines
70 KiB
JavaScript
133 lines
70 KiB
JavaScript
|
|
import{D as Vt}from"./chunk-W44A43WB.mjs";import{a as Ut}from"./chunk-AZZRMDJM.mjs";import{a as rt,d as jt}from"./chunk-5VCL7Z4A.mjs";import{a as Yt,b as Kt}from"./chunk-UY5QBCOK.mjs";import{f as et}from"./chunk-INKRHTLW.mjs";import{a as Pt,f as Wt,p as tt,r as mt}from"./chunk-QA3QBVWF.mjs";import"./chunk-KNLZD3CH.mjs";import{A as yt,B as Rt,G as zt,O as At,S as Mt,_ as B,b as It,c as Ot,t as J,x as z}from"./chunk-67TQ5CYL.mjs";import{H as Ft,L as Ht,b as w,h as _}from"./chunk-7W6UQGC5.mjs";import{a as h}from"./chunk-AQ6EADP3.mjs";var kt=(function(){var e=h(function(C,k,u,b){for(u=u||{},b=C.length;b--;u[C[b]]=k);return u},"o"),t=[1,15],a=[1,7],n=[1,13],s=[1,14],o=[1,19],r=[1,16],i=[1,17],c=[1,18],d=[8,30],l=[8,10,21,28,29,30,31,39,43,46],p=[1,23],y=[1,24],x=[8,10,15,16,21,28,29,30,31,39,43,46],m=[8,10,15,16,21,27,28,29,30,31,39,43,46],E=[1,49],S={trace:h(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:h(function(k,u,b,L,D,g,W){var f=g.length-1;switch(D){case 4:L.getLogger().debug("Rule: separator (NL) ");break;case 5:L.getLogger().debug("Rule: separator (Space) ");break;case 6:L.getLogger().debug("Rule: separator (EOF) ");break;case 7:L.getLogger().debug("Rule: hierarchy: ",g[f-1]),L.setHierarchy(g[f-1]);break;case 8:L.getLogger().debug("Stop NL ");break;case 9:L.getLogger().debug("Stop EOF ");break;case 10:L.getLogger().debug("Stop NL2 ");break;case 11:L.getLogger().debug("Stop EOF2 ");break;case 12:L.getLogger().debug("Rule: statement: ",g[f]),typeof g[f].length=="number"?this.$=g[f]:this.$=[g[f]];break;case 13:L.getLogger().debug("Rule: statement #2: ",g[f-1]),this.$=[g[f-1]].concat(g[f]);break;case 14:L.getLogger().debug("Rule: link: ",g[f],k),this.$={edgeTypeStr:g[f],label:""};break;case 15:L.getLogger().debug("Rule: LABEL link: ",g[f-3],g[f-1],g[f]),this.$={edgeTypeStr:g[f],label:g[f-1]};break;case 18:let R=parseInt(g[f]),q=L.generateId();this.$={id:q,type:"space",label:"",width:R,children:[]};break;case 23:L.getLogger().debug("Rule: (nodeStatement link node) ",g[f-2],g[f-1],g[f]," typestr: ",g[f-1].edgeTypeStr);let X=L.edgeStrToEdgeData(g[f-1].edgeTypeStr),gt=L.edgeStrToEdgeStartData(g[f-1].edgeTypeStr),st=L.edgeStrToThickness(g[f-1].edgeTypeStr),dt=L.edgeStrToPattern(g[f-1].edgeTypeStr);this.$=[{id:g[f-2].id,label:g[f-2].label,type:g[f-2].type,directions:g[f-2].directions},{id:g[f-2].id+"-"+g[f].id,start:g[f-2].id,end:g[f].id,label:g[f-1].label,type:"edge",thickness:st,pattern:dt,directions:g[f].directions,arrowTypeEnd:X,arrowTypeStart:gt},{id:g[f].id,label:g[f].label,type:L.typeStr2Type(g[f].typeStr),directions:g[f].directions}];break;case 24:L.getLogger().debug("Rule: nodeStatement (abc88 node size) ",g[f-1],g[f]),this.$={id:g[f-1].id,labe
|
||
|
|
`+M.showPosition()+`
|
||
|
|
Expecting `+nt.join(", ")+", got '"+(this.terminals_[H]||H)+"'":bt="Parse error on line "+(R+1)+": Unexpected "+(H==st?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(bt,{text:M.match,token:this.terminals_[H]||H,line:M.yylineno,loc:pt,expected:nt})}if(j[0]instanceof Array&&j.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+H);switch(j[0]){case 1:b.push(H),D.push(M.yytext),g.push(M.yylloc),b.push(j[1]),H=null,ft?(H=ft,ft=null):(q=M.yyleng,f=M.yytext,R=M.yylineno,pt=M.yylloc,X>0&&X--);break;case 2:if(Z=this.productions_[j[1]][1],$.$=D[D.length-Z],$._$={first_line:g[g.length-(Z||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(Z||1)].first_column,last_column:g[g.length-1].last_column},Ce&&($._$.range=[g[g.length-(Z||1)].range[0],g[g.length-1].range[1]]),xt=this.performAction.apply($,[f,q,R,G.yy,j[1],D,g].concat(dt)),typeof xt<"u")return xt;Z&&(b=b.slice(0,-1*Z*2),D=D.slice(0,-1*Z),g=g.slice(0,-1*Z)),b.push(this.productions_[j[1]][0]),D.push($.$),g.push($._$),Nt=W[b[b.length-2]][b[b.length-1]],b.push(Nt);break;case 3:return!0}}return!0},"parse")},T=(function(){var C={EOF:1,parseError:h(function(u,b){if(this.yy.parser)this.yy.parser.parseError(u,b);else throw new Error(u)},"parseError"),setInput:h(function(k,u){return this.yy=u||this.yy||{},this._input=k,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:h(function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var u=k.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),k},"input"),unput:h(function(k){var u=k.length,b=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===L.length?this.yylloc.first_column:0)+L[L.length-b.length].length-b[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(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:h(function(k){this.unput(this.match.slice(k))},"less"),pastInput:h(function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var k=this.pastInput(),u=new Array(k.length+1).join("-");return k+this.upcomingInput()+`
|
||
|
|
`+u+"^"},"showPosition"),test_match:h(function(k,u){var b,L,D;if(this.options.backtrack_lexer&&(D={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(D.yylloc.range=this.yylloc.range.slice(0))),L=k[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,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(k[0].length),this.matched+=k[0],b=this.performAction.call(this,this.yy,this,u,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var g in D)this[g]=D[g];return!1}return!1},"test_match"),next:h(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,u,b,L;this._more||(this.yytext="",this.match="");for(var D=this._currentRules(),g=0;g<D.length;g++)if(b=this._input.match(this.rules[D[g]]),b&&(!u||b[0].length>u[0].length)){if(u=b,L=g,this.options.backtrack_lexer){if(k=this.test_match(b,D[g]),k!==!1)return k;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(k=this.test_match(u,D[L]),k!==!1?k:!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:h(function(){var u=this.next();return u||this.lex()},"lex"),begin:h(function(u){this.conditionStack.push(u)},"begin"),popState:h(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:h(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:h(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:h(function(u){this.begin(u)},"pushState"),stateStackSize:h(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:h(function(u,b,L,D){var g=D;switch(L){case 0:return u.getLogger().debug("Found block-beta"),10;break;case 1:return u.getLogger().debug("Found id-block"),29;break;case 2:return u.getLogger().debug("Found block"),10;break;case 3:u.getLogger().debug(".",b.yytext);break;case 4:u.getLogger().debug("_",b.yytext);break;case 5:return 5;case 6:return b.yytext=-1,28;break;case 7:return b.yytext=b.yytext.replace(/columns\s+/,""),u.getLogger().debug("COLUMNS (LEX)",b.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:u.getLogger().debug("LEX: POPPING STR:",b.yytext),this.popState();break;case 13:return u.getLogger().debug("LEX: STR end:",b.yytext),"STR";break;case 14:return b.yytext=b.yytext.replace(/space\:/,""),u.getLogger().debug("SPACE NUM (LEX)",b.yytext),21;break;case 15:return b.yytext="1",u.getLogger().debug("COLUMNS (LEX)",b.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),u.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),u.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),u.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),u.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),u.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),u.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),u.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),u.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),u.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),u.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),u.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),u.getLogger().debug("Lex: ]>"),"NODE_DEND";bre
|
||
|
|
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: 1px;
|
||
|
|
}
|
||
|
|
.flowchart-label text {
|
||
|
|
text-anchor: middle;
|
||
|
|
}
|
||
|
|
// .flowchart-label .text-outer-tspan {
|
||
|
|
// text-anchor: middle;
|
||
|
|
// }
|
||
|
|
// .flowchart-label .text-inner-tspan {
|
||
|
|
// text-anchor: start;
|
||
|
|
// }
|
||
|
|
|
||
|
|
.node .label {
|
||
|
|
text-align: center;
|
||
|
|
}
|
||
|
|
.node.clickable {
|
||
|
|
cursor: pointer;
|
||
|
|
}
|
||
|
|
|
||
|
|
.arrowheadPath {
|
||
|
|
fill: ${e.arrowheadColor};
|
||
|
|
}
|
||
|
|
|
||
|
|
.edgePath .path {
|
||
|
|
stroke: ${e.lineColor};
|
||
|
|
stroke-width: 2.0px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.flowchart-link {
|
||
|
|
stroke: ${e.lineColor};
|
||
|
|
fill: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
.edgeLabel {
|
||
|
|
background-color: ${e.edgeLabelBackground};
|
||
|
|
/*
|
||
|
|
* This is for backward compatibility with existing code that didn't
|
||
|
|
* add a \`<p>\` around edge labels.
|
||
|
|
*
|
||
|
|
* TODO: We should probably remove this in a future release.
|
||
|
|
*/
|
||
|
|
p {
|
||
|
|
margin: 0;
|
||
|
|
padding: 0;
|
||
|
|
display: inline;
|
||
|
|
}
|
||
|
|
rect {
|
||
|
|
opacity: 0.5;
|
||
|
|
background-color: ${e.edgeLabelBackground};
|
||
|
|
fill: ${e.edgeLabelBackground};
|
||
|
|
}
|
||
|
|
text-align: center;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* For html labels only */
|
||
|
|
.labelBkg {
|
||
|
|
background-color: ${e.edgeLabelBackground};
|
||
|
|
}
|
||
|
|
|
||
|
|
.node .cluster {
|
||
|
|
// fill: ${Dt(e.mainBkg,.5)};
|
||
|
|
fill: ${Dt(e.clusterBkg,.5)};
|
||
|
|
stroke: ${Dt(e.clusterBorder,.2)};
|
||
|
|
box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
|
||
|
|
stroke-width: 1px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.cluster text {
|
||
|
|
fill: ${e.titleColor};
|
||
|
|
}
|
||
|
|
|
||
|
|
.cluster span,p {
|
||
|
|
color: ${e.titleColor};
|
||
|
|
}
|
||
|
|
/* .cluster div {
|
||
|
|
color: ${e.titleColor};
|
||
|
|
} */
|
||
|
|
|
||
|
|
div.mermaidTooltip {
|
||
|
|
position: absolute;
|
||
|
|
text-align: center;
|
||
|
|
max-width: 200px;
|
||
|
|
padding: 2px;
|
||
|
|
font-family: ${e.fontFamily};
|
||
|
|
font-size: 12px;
|
||
|
|
background: ${e.tertiaryColor};
|
||
|
|
border: 1px solid ${e.border2};
|
||
|
|
border-radius: 2px;
|
||
|
|
pointer-events: none;
|
||
|
|
z-index: 100;
|
||
|
|
}
|
||
|
|
|
||
|
|
.flowchartTitleText {
|
||
|
|
text-anchor: middle;
|
||
|
|
font-size: 18px;
|
||
|
|
fill: ${e.textColor};
|
||
|
|
}
|
||
|
|
${Ut()}
|
||
|
|
`,"getStyles"),te=ir;var nr=h((e,t,a,n)=>{t.forEach(s=>{xr[s](e,a,n)})},"insertMarkers"),or=h((e,t,a)=>{w.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"),cr=h((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"),lr=h((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"),hr=h((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"),gr=h((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"),dr=h((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"),ur=h((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","arrowMarker
|
||
|
|
outsidePoint: ${JSON.stringify(t)}
|
||
|
|
insidePoint : ${JSON.stringify(a)}
|
||
|
|
node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let n=e.x,s=e.y,o=Math.abs(n-a.x),r=e.width/2,i=a.x<t.x?r-o:r+o,c=e.height/2,d=Math.abs(t.y-a.y),l=Math.abs(t.x-a.x);if(Math.abs(s-t.y)*r>Math.abs(n-t.x)*c){let p=a.y<t.y?t.y-c-s:s-c-t.y;i=l*p/d;let y={x:a.x<t.x?a.x+i:a.x-l+i,y:a.y<t.y?a.y+d-p:a.y-d+p};return i===0&&(y.x=t.x,y.y=t.y),l===0&&(y.x=t.x),d===0&&(y.y=t.y),w.debug(`abc89 topp/bott calc, Q ${d}, q ${p}, R ${l}, r ${i}`,y),y}else{a.x<t.x?i=t.x-r-n:i=n-r-t.x;let p=d*i/l,y=a.x<t.x?a.x+l-i:a.x-l+i,x=a.y<t.y?a.y+p:a.y-p;return w.debug(`sides calc abc89, Q ${d}, q ${p}, R ${l}, r ${i}`,{_x:y,_y:x}),i===0&&(y=t.x,x=t.y),l===0&&(y=t.x),d===0&&(x=t.y),{x:y,y:x}}},"intersection"),ce=h((e,t)=>{w.debug("abc88 cutPathAtIntersect",e,t);let a=[],n=e[0],s=!1;return e.forEach(o=>{if(!kr(t,o)&&!s){let r=wr(t,n,o),i=!1;a.forEach(c=>{i=i||c.x===r.x&&c.y===r.y}),a.some(c=>c.x===r.x&&c.y===r.y)||a.push(r),s=!0}else n=o,s||a.push(o)}),a},"cutPathAtIntersect"),ge=h(function(e,t,a,n,s,o,r){let i=a.points;w.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1,d=o.node(t.v);var l=o.node(t.w);l?.intersect&&d?.intersect&&(i=i.slice(1,a.points.length-1),i.unshift(d.intersect(i[0])),i.push(l.intersect(i[i.length-1]))),a.toCluster&&(w.debug("to cluster abc88",n[a.toCluster]),i=ce(a.points,n[a.toCluster].node),c=!0),a.fromCluster&&(w.debug("from cluster abc88",n[a.fromCluster]),i=ce(i.reverse(),n[a.fromCluster].node).reverse(),c=!0);let p=i.filter(k=>!Number.isNaN(k.y)),y=Ht;a.curve&&(s==="graph"||s==="flowchart")&&(y=a.curve);let{x,y:m}=jt(a),E=Ft().x(x).y(m).curve(y),S;switch(a.thickness){case"normal":S="edge-thickness-normal";break;case"thick":S="edge-thickness-thick";break;case"invisible":S="edge-thickness-thick";break;default:S=""}switch(a.pattern){case"solid":S+=" edge-pattern-solid";break;case"dotted":S+=" edge-pattern-dotted";break;case"dashed":S+=" edge-pattern-dashed";break}let T=e.append("path").attr("d",E(p)).attr("id",a.id).attr("class"," "+S+(a.classes?" "+a.classes:"")).attr("style",a.style),O="";(B().flowchart.arrowMarkerAbsolute||B().state.arrowMarkerAbsolute)&&(O=Rt(!0)),oe(T,a,O,r,s);let C={};return c&&(C.updatedPath=i),C.originalPath=a.points,C},"insertEdge");var Sr=h(e=>{let t=new Set;for(let 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"),de=h((e,t,a,n)=>{let s=Sr(e),o=2,r=t.height+2*a.padding,i=r/o,c=n??t.width+2*i+a.padding,d=a.padding/2;return s.has("right")&&s.has("left")&&s.has("up")&&s.has("down")?[{x:0,y:0},{x:i,y:0},{x:c/2,y:2*d},{x:c-i,y:0},{x:c,y:0},{x:c,y:-r/3},{x:c+2*d,y:-r/2},{x:c,y:-2*r/3},{x:c,y:-r},{x:c-i,y:-r},{x:c/2,y:-r-2*d},{x:i,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*d,y:-r/2},{x:0,y:-r/3}]:s.has("right")&&s.has("left")&&s.has("up")?[{x:i,y:0},{x:c-i,y:0},{x:c,y:-r/2},{x:c-i,y:-r},{x:i,y:-r},{x:0,y:-r/2}]:s.has("right")&&s.has("left")&&s.has("down")?[{x:0,y:0},{x:i,y:-r},{x:c-i,y:-r},{x:c,y:0}]:s.has("right")&&s.has("up")&&s.has("down")?[{x:0,y:0},{x:c,y:-i},{x:c,y:-r+i},{x:0,y:-r}]:s.has("left")&&s.has("up")&&s.has("down")?[{x:c,y:0},{x:0,y:-i},{x:0,y:-r+i},{x:c,y:-r}]:s.has("right")&&s.has("left")?[{x:i,y:0},{x:i,y:-d},{x:c-i,y:-d},{x:c-i,y:0},{x:c,y:-r/2},{x:c-i,y:-r},{x:c-i,y:-r+d},{x:i,y:-r+d},{x:i,y:-r},{x:0,y:-r/2}]:s.has("up")&&s.has("down")?[{x:c/2,y:0},{x:0,y:-d},{x:i,y:-d},{x:i,y:-r+d},{x:0,y:-r+d},{x:c/2,y:-r},{x:c,y:-r+d},{x:c-i,y:-r+d},{x:c-i,y:-d},{x:c,y:-d}]:s.has("right")&&s.has("up")?[{x:0,y:0},{x:c,y:-i},{x:0,y:-r}]:s.has("right")&&s.has("down")?[{x:0,y:0},{x:c,y:0},{x:0,y:-r}]:s.has("left")&&s.has("up")?[{x:c,y:0},{x:0,y:-i},{x:c,y:-r}]:s.has("left")&&s.has("down")?[{x:c,y:0},{x:0,y:0},{x:c,y:-r}]:s.has("right")?[{x:i,y:-d},{x:i,y:-d},{x:c-i,y:-d},{x:c-i,y:0},{x:c,y:-r/2},{x:c-i,y:-r},{x:c-i,y:-r+d},{x:i,y:-r+d},{x:i,y:-r+d}]:s.has("left")?[{x:i,y:0},{x:i,y:-d},{x:c-i,y:-d},{x:c-i,y:-r+d},{x:i,y:-r+d},{x:i,y:-r},{x:0,y:-r/2}]:s.has("up")?[{x:i,y:-d},{x:i,y:-r+d},{x:0,y:-r+d},{x:c/2,y:-r},{x:c,y:-r+d},{x:c-i,y:-r+d},{x:c-i,y:-d}]:s.has("down")?[{x:c/2,y:0},
|