mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
11 lines (10 loc) • 38.2 kB
JavaScript
import{a as Ot}from"./chunk-4GHFHL4L.mjs";import{f as Q}from"./chunk-KJ5T2YZX.mjs";import{a as St}from"./chunk-F6PIGZHG.mjs";import{c as Mt,d as Lt}from"./chunk-MMC4O45A.mjs";import{c as ot,e as wt}from"./chunk-XGFVAD2T.mjs";import{q as H,u as bt}from"./chunk-GHI2JMQX.mjs";import{$ as T,u as W,y as nt}from"./chunk-FWWDAFD2.mjs";import{$ as xt,G as F,H as lt,J as dt,K as pt,L as st,P as ft,S as ht,W as mt,X as kt,Y as ut,Z as yt,_ as gt,b as g,h as v}from"./chunk-L2B47AAZ.mjs";import{a as d}from"./chunk-QVIEFLGF.mjs";var D=d((r,t)=>{if(t)return"translate("+-r.width/2+", "+-r.height/2+")";let a=r.x??0,e=r.y??0;return"translate("+-(a+r.width/2)+", "+-(e+r.height/2)+")"},"computeLabelTransform");var S={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},it={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function G(r,t){if(r===void 0||t===void 0)return{angle:0,deltaX:0,deltaY:0};r=x(r),t=x(t);let[a,e]=[r.x,r.y],[s,n]=[t.x,t.y],o=s-a,i=n-e;return{angle:Math.atan(i/o),deltaX:o,deltaY:i}}d(G,"calculateDeltaAndAngle");var x=d(r=>Array.isArray(r)?{x:r[0],y:r[1]}:r,"pointTransformer"),_t=d(r=>({x:d(function(t,a,e){let s=0,n=x(e[0]).x<x(e[e.length-1]).x?"left":"right";if(a===0&&Object.hasOwn(S,r.arrowTypeStart)){let{angle:l,deltaX:u}=G(e[0],e[1]);s=S[r.arrowTypeStart]*Math.cos(l)*(u>=0?1:-1)}else if(a===e.length-1&&Object.hasOwn(S,r.arrowTypeEnd)){let{angle:l,deltaX:u}=G(e[e.length-1],e[e.length-2]);s=S[r.arrowTypeEnd]*Math.cos(l)*(u>=0?1:-1)}let o=Math.abs(x(t).x-x(e[e.length-1]).x),i=Math.abs(x(t).y-x(e[e.length-1]).y),p=Math.abs(x(t).x-x(e[0]).x),k=Math.abs(x(t).y-x(e[0]).y),f=S[r.arrowTypeStart],m=S[r.arrowTypeEnd],c=1;if(o<m&&o>0&&i<m){let l=m+c-o;l*=n==="right"?-1:1,s-=l}if(p<f&&p>0&&k<f){let l=f+c-p;l*=n==="right"?-1:1,s+=l}return x(t).x+s},"x"),y:d(function(t,a,e){let s=0,n=x(e[0]).y<x(e[e.length-1]).y?"down":"up";if(a===0&&Object.hasOwn(S,r.arrowTypeStart)){let{angle:l,deltaY:u}=G(e[0],e[1]);s=S[r.arrowTypeStart]*Math.abs(Math.sin(l))*(u>=0?1:-1)}else if(a===e.length-1&&Object.hasOwn(S,r.arrowTypeEnd)){let{angle:l,deltaY:u}=G(e[e.length-1],e[e.length-2]);s=S[r.arrowTypeEnd]*Math.abs(Math.sin(l))*(u>=0?1:-1)}let o=Math.abs(x(t).y-x(e[e.length-1]).y),i=Math.abs(x(t).x-x(e[e.length-1]).x),p=Math.abs(x(t).y-x(e[0]).y),k=Math.abs(x(t).x-x(e[0]).x),f=S[r.arrowTypeStart],m=S[r.arrowTypeEnd],c=1;if(o<m&&o>0&&i<m){let l=m+c-o;l*=n==="up"?-1:1,s-=l}if(p<f&&p>0&&k<f){let l=f+c-p;l*=n==="up"?-1:1,s+=l}return x(t).y+s},"y")}),"getLineFunctionsWithOffset");var Ut=d((r,t,a,e,s,n=!1,o)=>{t.arrowTypeStart&&Et(r,"start",t.arrowTypeStart,a,e,s,n,o),t.arrowTypeEnd&&Et(r,"end",t.arrowTypeEnd,a,e,s,n,o)},"addEdgeMarkers"),At={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},arrow_hierarchy:{type:"hierarchy",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},Ct=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],Et=d((r,t,a,e,s,n,o=!1,i)=>{if(!a||a==="none")return;let p=At[a],k=p&&Ct.includes(p.type);if(!p){g.warn(`Unknown arrow type: ${a}`);return}let f=p.type,l=`${s}_${n}-${f}${t==="start"?"Start":"End"}${o&&k?"-margin":""}`;if(i&&i.trim()!==""){let u=i.replace(/[^\dA-Za-z]/g,"_"),y=`${l}_${u}`;if(!document.getElementById(y)){let h=document.getElementById(l);if(h){let _=h.cloneNode(!0);_.id=y,_.querySelectorAll("path, circle, line").forEach(X=>{X.setAttribute("stroke",i),p.fill&&X.setAttribute("fill",i)}),h.parentNode?.appendChild(_)}}r.attr(`marker-${t}`,`url(${e}#${y})`)}else r.attr(`marker-${t}`,`url(${e}#${l})`)},"addEdgeMarker");var Pt=d(r=>typeof r=="string"?r:T()?.flowchart?.curve,"resolveEdgeCurveType"),tt=new Map,O=new Map,zr=d(()=>{tt.clear(),O.clear()},"clear"),qr=d(r=>!!(r.label||r.startLabelLeft||r.startLabelRight||r.endLabelLeft||r.endLabelRight),"hasEdgeLabel"),Z=d(r=>r?typeof r=="string"?r:r.reduce((t,a)=>t+";"+a,""):"","getLabelStyles"),Ir=d(async(r,t)=>{let a=T(),e=nt(a),{labelStyles:s}=Lt(t);t.labelStyle=s;let n=r.insert("g").attr("class","edgeLabel"),o=n.insert("g").attr("class","label").attr("data-id",t.id),i=t.labelType==="markdown",k=await wt(r,t.label,{style:Z(t.labelStyle),useHtmlLabels:e,addSvgBackground:!0,isNode:!1,markdown:i,width:i?void 0:void 0},a);o.node().appendChild(k),g.info("abc82",t,t.labelType);let f,m;if(e){let l=k.children[0],u=v(k);f=await ot.measure(()=>l.getBoundingClientRect()),m=f,u.attr("width",f.width),u.attr("height",f.height)}else{let l=v(k).select("text").node();await ot.measure(()=>{f=k.getBBox(),l&&typeof l.getBBox=="function"?m=l.getBBox():m=f})}o.attr("transform",D(m,e)),tt.set(t.id,n),t.width=f.width,t.height=f.height;let c;if(t.startLabelLeft){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),y=await Q(u,t.startLabelLeft,Z(t.labelStyle)||"",!1,!1);c=y;let h=y.getBBox();if(e){let _=y.children[0],b=v(y);h=_.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}u.attr("transform",D(h,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).startLeft=l,K(c,t.startLabelLeft,h),J(t,"startLeft",h)}if(t.startLabelRight){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),y=await Q(u,t.startLabelRight,Z(t.labelStyle)||"",!1,!1);c=y;let h=y.getBBox();if(e){let _=y.children[0],b=v(y);h=_.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}u.attr("transform",D(h,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).startRight=l,K(c,t.startLabelRight,h),J(t,"startRight",h)}if(t.endLabelLeft){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),y=await Q(u,t.endLabelLeft,Z(t.labelStyle)||"",!1,!1);c=y;let h=y.getBBox();if(e){let _=y.children[0],b=v(y);h=_.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}u.attr("transform",D(h,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).endLeft=l,K(c,t.endLabelLeft,h),J(t,"endLeft",h)}if(t.endLabelRight){let l=r.insert("g").attr("class","edgeTerminals"),u=l.insert("g").attr("class","inner"),y=await Q(u,t.endLabelRight,Z(t.labelStyle)||"",!1,!1);c=y;let h=y.getBBox();if(e){let _=y.children[0],b=v(y);h=_.getBoundingClientRect(),b.attr("width",h.width),b.attr("height",h.height)}u.attr("transform",D(h,e)),O.get(t.id)||O.set(t.id,{}),O.get(t.id).endRight=l,K(c,t.endLabelRight,h),J(t,"endRight",h)}return k},"insertEdgeLabel");function J(r,t,a){r.terminalLabelSizes??={},r.terminalLabelSizes[t]={width:a.width,height:a.height}}d(J,"recordTerminalLabelSize");function K(r,t,a){nt(T())&&r&&(r.style.width=Math.max(t.length*9,a.width)+"px",r.style.height=a.height+"px")}d(K,"setTerminalWidth");var Rt=d((r,t)=>{let a=r.x,e=r.y;if(t?.updatedPath){let s=H.calcLabelPosition(t.updatedPath);if(t.originalPath){let n=H.calcLabelPosition(t.originalPath);a=r.x+(s.x-n.x),e=r.y+(s.y-n.y)}else a=s.x,e=s.y}return{x:a,y:e}},"resolveEdgeLabelPosition"),Dr=d((r,t)=>{g.debug("Moving label abc88 ",r.id,r.label,tt.get(r.id),t);let a=T(),{subGraphTitleTotalMargin:e}=Ot(a);if(r.label){let n=tt.get(r.id),{x:o,y:i}=Rt(r,t);g.debug("Moving label "+r.label+" from (",r.x,",",r.y,") to (",o,",",i,") abc88"),n.attr("transform",`translate(${o}, ${i+e/2})`)}let s=t.updatedPath?t.updatedPath:t.originalPath;if(r.startLabelLeft){let n=O.get(r.id).startLeft,o=r.x,i=r.y;if(s){let p=H.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_left",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}if(r.startLabelRight){let n=O.get(r.id).startRight,o=r.x,i=r.y;if(s){let p=H.calcTerminalLabelPosition(r.arrowTypeStart?10:0,"start_right",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}if(r.endLabelLeft){let n=O.get(r.id).endLeft,o=r.x,i=r.y;if(s){let p=H.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_left",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}if(r.endLabelRight){let n=O.get(r.id).endRight,o=r.x,i=r.y;if(s){let p=H.calcTerminalLabelPosition(r.arrowTypeEnd?10:0,"end_right",s);o=p.x,i=p.y}n.attr("transform",`translate(${o}, ${i})`)}},"positionEdgeLabel"),zt=d((r,t)=>{if(!r?.isLabelEdge||!r?.id?.endsWith("-to-label")||!Array.isArray(t)||t.length!==2)return t;let[a,e]=t,s=Math.abs(e.x-a.x),n=Math.abs(e.y-a.y);return s<.001||n<.001?t:n>=s?[a,{x:a.x,y:e.y},e]:[a,{x:e.x,y:a.y},e]},"orthogonalizeToLabelClippedPoints"),qt=d((r,t)=>{let a=r.x,e=r.y,s=Math.abs(t.x-a),n=Math.abs(t.y-e),o=r.width/2,i=r.height/2;return s>=o||n>=i},"outsideNode"),It=d((r,t,a)=>{g.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(t)}
insidePoint : ${JSON.stringify(a)}
node : x:${r.x} y:${r.y} w:${r.width} h:${r.height}`);let e=r.x,s=r.y,n=Math.abs(e-a.x),o=r.width/2,i=a.x<t.x?o-n:o+n,p=r.height/2,k=Math.abs(t.y-a.y),f=Math.abs(t.x-a.x);if(Math.abs(s-t.y)*o>Math.abs(e-t.x)*p){let m=a.y<t.y?t.y-p-s:s-p-t.y;i=f*m/k;let c={x:a.x<t.x?a.x+i:a.x-f+i,y:a.y<t.y?a.y+k-m:a.y-k+m};return i===0&&(c.x=t.x,c.y=t.y),f===0&&(c.x=t.x),k===0&&(c.y=t.y),g.debug(`abc89 top/bottom calc, Q ${k}, q ${m}, R ${f}, r ${i}`,c),c}else{a.x<t.x?i=t.x-o-e:i=e-o-t.x;let m=k*i/f,c=a.x<t.x?a.x+f-i:a.x-f+i,l=a.y<t.y?a.y+m:a.y-m;return g.debug(`sides calc abc89, Q ${k}, q ${m}, R ${f}, r ${i}`,{_x:c,_y:l}),i===0&&(c=t.x,l=t.y),f===0&&(c=t.x),k===0&&(l=t.y),{x:c,y:l}}},"intersection"),$t=d((r,t)=>{g.warn("abc88 cutPathAtIntersect",r,t);let a=[],e=r[0],s=!1;return r.forEach(n=>{if(g.info("abc88 checking point",n,t),!qt(t,n)&&!s){let o=It(t,e,n);g.debug("abc88 inside",n,e,o),g.debug("abc88 intersection",o,t);let i=!1;a.forEach(p=>{i=i||p.x===o.x&&p.y===o.y}),a.some(p=>p.x===o.x&&p.y===o.y)?g.warn("abc88 no intersect",o,a):a.push(o),s=!0}else g.warn("abc88 outside",n,e),e=n,s||a.push(n)}),g.debug("returning points",a),a},"cutPathAtIntersect");function Dt(r){let t=[],a=[];for(let e=1;e<r.length-1;e++){let s=r[e-1],n=r[e],o=r[e+1];(s.x===n.x&&n.y===o.y&&Math.abs(n.x-o.x)>5&&Math.abs(n.y-s.y)>5||s.y===n.y&&n.x===o.x&&Math.abs(n.x-s.x)>5&&Math.abs(n.y-o.y)>5)&&(t.push(n),a.push(e))}return{cornerPoints:t,cornerPointPositions:a}}d(Dt,"extractCornerPoints");var Xt=d(function(r,t,a){let e=t.x-r.x,s=t.y-r.y,n=Math.sqrt(e*e+s*s),o=a/n;return{x:t.x-o*e,y:t.y-o*s}},"findAdjacentPoint"),Nt=d(function(r){let{cornerPointPositions:t}=Dt(r),a=[];for(let e=0;e<r.length;e++)if(t.includes(e)){let s=r[e-1],n=r[e+1],o=r[e],i=Xt(s,o,5),p=Xt(n,o,5),k=p.x-i.x,f=p.y-i.y;a.push(i);let m=Math.sqrt(2)*2,c={x:o.x,y:o.y};if(Math.abs(n.x-s.x)>10&&Math.abs(n.y-s.y)>=10){g.debug("Corner point fixing",Math.abs(n.x-s.x),Math.abs(n.y-s.y));let l=5;o.x===i.x?c={x:k<0?i.x-l+m:i.x+l-m,y:f<0?i.y-m:i.y+m}:c={x:k<0?i.x-m:i.x+m,y:f<0?i.y-l+m:i.y+l-m}}else g.debug("Corner point skipping fixing",Math.abs(n.x-s.x),Math.abs(n.y-s.y));a.push(c,p)}else a.push(r[e]);return a},"fixCorners"),Qt=d((r,t,a)=>{let e=r-t-a,s=2,n=2,o=s+n,i=Math.floor(e/o),p=Number.isFinite(i)?Math.max(0,i):0,k=Array(p).fill(`${s} ${n}`).join(" ");return`0 ${t} ${k} ${a}`},"generateDashArray"),Nr=d(function(r,t,a,e,s,n,o,i=!1,p=void 0){if(!o)throw new Error(`insertEdge: missing diagramId for edge "${t.id}" \u2014 edge IDs require a diagram prefix for uniqueness`);let{handDrawnSeed:k,layout:f}=T(),m=p??f,c=t.points,l=!1,u=s;var y=n;let h=[];for(let w in t.cssCompiledStyles)Mt(w)||h.push(t.cssCompiledStyles[w]);if(m==="swimlane"){if(!i&&y.intersect&&u.intersect&&Array.isArray(c)&&c.length>=2)if(c.length===2)c=[u.intersect(c[0]),y.intersect(c[1])];else{let w=c.slice(1,-1),Y=w[0],U=w[w.length-1],$=.5,z=Math.abs(c[c.length-1].x-U.x)<$&&Math.abs(c[c.length-1].y-U.y)<$,A=u.intersect(Y),C=z?U:y.intersect(U),q=Math.abs(C.x-U.x)<$&&Math.abs(C.y-U.y)<$,Ht=Math.abs(A.x-Y.x)<$&&Math.abs(A.y-Y.y)<$?[]:[A],Bt=q?[]:[C];c=[...Ht,...w,...Bt]}c=zt(t,c)}else y.intersect&&u.intersect&&!i&&(c=c.slice(1,t.points.length-1),c.unshift(u.intersect(c[0])),c.push(y.intersect(c[c.length-1])));let _=btoa(JSON.stringify(c));t.toCluster&&(g.info("to cluster abc88",a.get(t.toCluster)),c=$t(t.points,a.get(t.toCluster).node),l=!0),t.fromCluster&&(g.debug("from cluster abc88",a.get(t.fromCluster),JSON.stringify(c,null,2)),c=$t(c.reverse(),a.get(t.fromCluster).node).reverse(),l=!0);let b=c.filter(w=>!Number.isNaN(w.y)),X=Pt(t.curve);X!=="rounded"&&(b=Nt(b));let M=F;switch(X){case"linear":M=F;break;case"basis":M=st;break;case"cardinal":M=ft;break;case"bumpX":M=dt;break;case"bumpY":M=pt;break;case"catmullRom":M=ht;break;case"monotoneX":M=mt;break;case"monotoneY":M=kt;break;case"natural":M=ut;break;case"step":M=yt;break;case"stepAfter":M=xt;break;case"stepBefore":M=gt;break;case"rounded":M=F;break;default:M=st}let{x:N,y:P}=_t(t),rt=lt().x(N).y(P).curve(M),E;switch(t.thickness){case"normal":E="edge-thickness-normal";break;case"thick":E="edge-thickness-thick";break;case"invisible":E="edge-thickness-invisible";break;default:E="edge-thickness-normal"}switch(t.pattern){case"solid":E+=" edge-pattern-solid";break;case"dotted":E+=" edge-pattern-dotted";break;case"dashed":E+=" edge-pattern-dashed";break;default:E+=" edge-pattern-solid"}let L,j=X==="rounded"?Zt(jt(b,t),5):rt(b),B=Array.isArray(t.style)?t.style:[t.style],ct=B.find(w=>w?.startsWith("stroke:")),R="";t.animate&&(R="edge-animation-fast"),t.animation&&(R="edge-animation-"+t.animation);let at=!1;if(t.look==="handDrawn"){let w=St.svg(r);Object.assign([],b);let Y=w.path(j,{roughness:.3,seed:k});E+=" transition",L=v(Y).select("path").attr("id",`${o}-${t.id}`).attr("class"," "+E+(t.classes?" "+t.classes:"")+(R?" "+R:"")).attr("style",B?B.reduce(($,z)=>$+";"+z,""):"");let U=L.attr("d");L.attr("d",U),r.node().appendChild(L.node())}else{let w=h.join(";"),Y=B?B.reduce((q,I)=>q+I+";",""):"",U=(w?w+";"+Y+";":Y)+";"+(B?B.reduce((q,I)=>q+";"+I,""):"");L=r.append("path").attr("d",j).attr("id",`${o}-${t.id}`).attr("class"," "+E+(t.classes?" "+t.classes:"")+(R?" "+R:"")).attr("style",U),ct=U.match(/stroke:([^;]+)/)?.[1],at=t.animate===!0||!!t.animation||w.includes("animation");let $=L.node(),z=typeof $.getTotalLength=="function"?$.getTotalLength():0,A=it[t.arrowTypeStart]||0,C=it[t.arrowTypeEnd]||0;if(t.look==="neo"&&!at){let I=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?Qt(z,A,C):`0 ${A} ${z-A-C} ${C}`}; stroke-dashoffset: 0;`;L.attr("style",I+L.attr("style"))}}L.attr("data-edge",!0),L.attr("data-et","edge"),L.attr("data-id",t.id),L.attr("data-points",_),L.attr("data-look",bt(t.look)),t.showPoints&&b.forEach(w=>{r.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",w.x).attr("cy",w.y)});let V="";(T().flowchart.arrowMarkerAbsolute||T().state.arrowMarkerAbsolute)&&(V=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,V=V.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),g.info("arrowTypeStart",t.arrowTypeStart),g.info("arrowTypeEnd",t.arrowTypeEnd);let Wt=!at&&t?.look==="neo";Ut(L,t,V,o,e,Wt,ct);let Tt=Math.floor(c.length/2),vt=c[Tt];H.isLabelCoordinateInPath(vt,L.attr("d"))||(l=!0);let et={};return l&&(et.updatedPath=c),et.originalPath=t.points,et},"insertEdge");function Zt(r,t){if(r.length<2)return"";let a="",e=r.length,s=1e-5;for(let n=0;n<e;n++){let o=r[n],i=r[n-1],p=r[n+1];if(n===0)a+=`M${o.x},${o.y}`;else if(n===e-1)a+=`L${o.x},${o.y}`;else{let k=o.x-i.x,f=o.y-i.y,m=p.x-o.x,c=p.y-o.y,l=Math.hypot(k,f),u=Math.hypot(m,c);if(l<s||u<s){a+=`L${o.x},${o.y}`;continue}let y=k/l,h=f/l,_=m/u,b=c/u,X=y*_+h*b,M=Math.max(-1,Math.min(1,X)),N=Math.acos(M);if(N<s||Math.abs(Math.PI-N)<s){a+=`L${o.x},${o.y}`;continue}let P=Math.min(t/Math.sin(N/2),l/2,u/2),rt=o.x-y*P,E=o.y-h*P,L=o.x+_*P,j=o.y+b*P;a+=`L${rt},${E}`,a+=`Q${o.x},${o.y} ${L},${j}`}}return a}d(Zt,"generateRoundedPath");function Yt(r,t){if(!r||!t)return{angle:0,deltaX:0,deltaY:0};let a=t.x-r.x,e=t.y-r.y;return{angle:Math.atan2(e,a),deltaX:a,deltaY:e}}d(Yt,"calculateDeltaAndAngle");function jt(r,t){let a=r.map(s=>({...s}));if(r.length>=2&&S[t.arrowTypeStart]){let s=S[t.arrowTypeStart],n=r[0],o=r[1],{angle:i}=Yt(n,o),p=s*Math.cos(i),k=s*Math.sin(i);a[0].x=n.x+p,a[0].y=n.y+k}let e=r.length;if(e>=2&&S[t.arrowTypeEnd]){let s=S[t.arrowTypeEnd],n=r[e-1],o=r[e-2],{angle:i}=Yt(o,n),p=s*Math.cos(i),k=s*Math.sin(i);a[e-1].x=n.x-p,a[e-1].y=n.y-k}return a}d(jt,"applyMarkerOffsetsToPoints");var Vt=d((r,t,a,e)=>{t.forEach(s=>{xr[s](r,a,e)})},"insertMarkers"),Ft=d((r,t,a)=>{g.trace("Making markers for ",a),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,1 V 13 L18,7 Z"),r.append("marker").attr("id",a+"_"+t+"-extensionStart-margin").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),r.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd-margin").attr("class","marker extension "+t).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),Gt=d((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart-margin").attr("class","marker composition "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd-margin").attr("class","marker composition "+t).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),Jt=d((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart-margin").attr("class","marker aggregation "+t).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd-margin").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),Kt=d((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.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").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart-margin").attr("class","marker dependency "+t).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd-margin").attr("class","marker dependency "+t).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),tr=d((r,t,a)=>{r.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").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),r.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").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart-margin").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),r.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd-margin").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),rr=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).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"),r.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",8).attr("markerHeight",8).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"),r.append("marker").attr("id",a+"_"+t+"-pointEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-pointStart-margin").attr("class","marker "+t).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),ar=d((r,t,a)=>{r.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").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-circleEnd-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-circleStart-margin").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),er=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),r.append("marker").attr("id",a+"_"+t+"-crossEnd-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),r.append("marker").attr("id",a+"_"+t+"-crossStart-margin").attr("class","marker cross "+t).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),nr=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),sr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{transitionColor:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),r.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${n}`)},"barbNeo"),or=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),ir=d((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");e.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),e.append("path").attr("d","M9,0 L9,18");let s=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");s.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),s.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),cr=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),lr=d((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");e.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),e.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let s=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");s.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),s.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),dr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{strokeWidth:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${n}`),r.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${n}`)},"only_one_neo"),pr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{strokeWidth:n,mainBkg:o}=s,i=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");i.append("circle").attr("fill",o??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${n}`).attr("r",6),i.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${n}`);let p=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");p.append("circle").attr("fill",o??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${n}`).attr("r",6),p.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${n}`)},"zero_or_one_neo"),fr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{strokeWidth:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${n}`),r.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${n}`)},"one_or_more_neo"),hr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{strokeWidth:n,mainBkg:o}=s,i=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");i.append("circle").attr("fill",o??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${n}`),i.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${n}`);let p=r.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");p.append("circle").attr("fill",o??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${n}`),p.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${n}`)},"zero_or_more_neo"),mr=d((r,t,a)=>{r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`)},"requirement_arrow"),kr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{strokeWidth:n}=s;r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${n}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),ur=d((r,t,a)=>{let e=r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");e.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),e.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),e.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),yr=d((r,t,a)=>{let e=W(),{themeVariables:s}=e,{strokeWidth:n}=s,o=r.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");o.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),o.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),o.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),o.selectAll("*").attr("stroke-width",`${n}`)},"requirement_contains_neo"),gr=d((r,t,a)=>{r.append("marker").attr("id",a+"_"+t+"-hierarchyEnd").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),r.append("marker").attr("id",a+"_"+t+"-hierarchyStart").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),xr={extension:Ft,composition:Gt,aggregation:Jt,dependency:Kt,lollipop:tr,point:rr,circle:ar,cross:er,barb:nr,barbNeo:sr,hierarchy:gr,only_one:or,zero_or_one:ir,one_or_more:cr,zero_or_more:lr,only_one_neo:dr,zero_or_one_neo:pr,one_or_more_neo:fr,zero_or_more_neo:hr,requirement_arrow:mr,requirement_contains:ur,requirement_arrow_neo:kr,requirement_contains_neo:yr},Fr=Vt;export{S as a,it as b,tt as c,O as d,zr as e,qr as f,Ir as g,Rt as h,Dr as i,Nr as j,Fr as k};