PageSourceSearch

https://www.notactualsize.co.uk/_next/static/chunks/c6c03ac2-1a9d5e359746def5.js

js notactualsize.co.uk collected 2026-10-05 06:59:26 UTC 619,216 bytes, 1,182 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[190],{22592:(t,e,i)=>{let r,a,s,n,o,l,h,u,d,p,g,y;i.d(e,{A:()=>cd});var f,m=i(46359),b=i(24200),x=i(59207),k=i(18270),_=i(56722),C=i(39790),T=i(42746),E=i(37408),v=i(35119),A=i(37349),S=i(28806),w=i(73700),L=i(86367),B=i(1120),I=i(95360),D=i(57186),O=(i(79173),i(36292),i(42343)),F=i(34350),N=i(44744),R=i(47864),$=Object.defineProperty,M=(t,e,i)=>(((t,e,i)=>e in t?$(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i)(t,"symbol"!=typeof e?e+"":e,i),i);let P={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},z={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},Y=function(t="fatal"){let e=P.fatal;"string"==typeof t?(t=t.toLowerCase())in P&&(e=P[t]):"number"==typeof t&&(e=t),z.trace=()=>{},z.debug=()=>{},z.info=()=>{},z.warn=()=>{},z.error=()=>{},z.fatal=()=>{},e<=P.fatal&&(z.fatal=console.error?console.error.bind(console,j("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",j("FATAL"))),e<=P.error&&(z.error=console.error?console.error.bind(console,j("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",j("ERROR"))),e<=P.warn&&(z.warn=console.warn?console.warn.bind(console,j("WARN"),"color: orange"):console.log.bind(console,`\x1b[33m`,j("WARN"))),e<=P.info&&(z.info=console.info?console.info.bind(console,j("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",j("INFO"))),e<=P.debug&&(z.debug=console.debug?console.debug.bind(console,j("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",j("DEBUG"))),e<=P.trace&&(z.trace=console.debug?console.debug.bind(console,j("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",j("TRACE")))},j=t=>{let e=m().format("ss.SSS");return`%c${e} : ${t} : `},W=(t,e)=>{var i;if((null==(i=e.flowchart)?void 0:i.htmlLabels)!==!1){let i,r=e.securityLevel;"antiscript"===r||"strict"===r?(i=t,t=k.sanitize(i)):"loose"!==r&&(t=V(t=(t=(t=H(t)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;")))}return t},q=(t,e)=>t?t=e.dompurifyConfig?k.sanitize(W(t,e),e.dompurifyConfig).toString():k.sanitize(W(t,e),{FORBID_TAGS:["style"]}).toString():t,U=/<br\s*\/?>/gi,V=t=>t.replace(/#br#/g,"<br/>"),H=t=>t.replace(U,"#br#"),G=t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase())),X=function(t){let e=t;return t.includes("~")?X(e=(e=e.replace(/~([^~].*)/,"<$1")).replace(/~([^~]*)$/,">$1")):e},K={getRows:t=>
1t?H(t).replace(/\\n/g,"#br#").split("#br#"):[""],sanitizeText:q,sanitizeTextOrArray:(t,e)=>"string"==typeof t?q(t,e):t.flat().map(t=>q(t,e)),splitBreaks:t=>t.split(U),lineBreakRegex:U,getUrl:t=>{let e="";return t&&(e=(e=(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replaceAll(/\(/g,"\\(")).replaceAll(/\)/g,"\\)")),e}},Q=(t,e)=>e?(0,_.A)(t,{s:-40,l:10}):(0,_.A)(t,{s:-40,l:-10}),Z="#ffffff",J="#f2f2f2";class tt{constructor(){this.background="#f4f4f4",this.darkMode=!1,this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||(0,_.A)(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||(0,_.A)(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Q(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Q(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Q(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Q(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||(0,C.A)(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||(0,C.A)(this.tertiaryColor),this.lineColor=this.lineColor||(0,C.A)(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?(0,T.A)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||(0,T.A)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||(0,C.A)(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||(0,E.A)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroun
1dColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,_.A)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,_.A)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,_.A)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,_.A)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,_.A)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,_.A)(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||(0,_.A)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,_.A)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,_.A)(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,T.A)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,T.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,C.A)(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,E.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,T.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||(0,_.A)(this.primaryColor,{h:64}),this.fillType3=this.fillType3||(0,_.A)(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||(0,_.A)(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||(0,_.A)(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||(0,_.A)(this.primaryColor,{h:128}),this.fillType7=this.fillType7||(0,_.A)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||(0,_.A)(this.primaryColor,{l:-10}),this.pie5=this.pie5||(0,_.A)(this.secondaryColor,{l:-10}),this.pie6=this.pie6||(0,_.A)(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||(0,_.A)(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||(0,_.A)(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||(0,_.A)(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||(0,_.A)(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||(0,_.A)(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||(0,_.A)(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,T.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||(0,_.A)(this.primaryColor,{h:-30}),this.git4=this.git4||(0,_.A)(this.primaryColor,{h:-60}),this.git5=this.git5||(0,_.A)(this.primaryColor,{h:-90}),this.git6=this.git6||(0,_.A)(this.primaryColor,{h:60}),this.git7=this.git7||(0,_.A)(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,E.A)(this.git0,25),this.git1=(0,E.A)(this.git1,25),this.git2=(0,E.A)(this.git2,25),this.git3=(0,E.A)(this.git3,25),this.git4=(0,E.A)(this.git4,25),this.git5=(0,E.A)(this.git5,25),this.git6=(0,E.A)(this.git6,25),this.git7=(0,E.A)(this.git7,25)):(this.git0=(0,T.A)(this.git0,25),this.git1=(0,T.A)(this.git1,25),this.git2=(0,T.A)(this.git2,25),this.git3=(0,T.A)(this.git3,25),this.git4=(0,T.A)(this.git4,25),this.git5=(0,T.A)(this.git5,25),this.git6=(0,T.A)(this.git6,25),this.git7=(0,T.A)(this.git7,25)),this.gitInv0=this.gitInv0||(0,C.A)(this.git0),this.gitInv1=this.gitInv1||(0,C.A)(this.git1),this.gitInv2=this.gitInv2||(0,C.A)(this.git2),this.gitInv3=this.gitInv3||(0,C.A)(this.git3),this.gitInv4=this.gitInv4||(0,C.A)(this.git4),this.gitInv5=this.gitInv5||(0,C.A)(this.git5),this.gitInv6=this.gitInv6||(0,C.A)(this.git6),this.gitInv7=this.gitInv7||(0,C.A)(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackgroun
1d=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Z,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||J}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}}class te{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,E.A)(this.primaryColor,16),this.tertiaryColor=(0,_.A)(this.primaryColor,{h:-160}),this.primaryBorderColor=(0,C.A)(this.background),this.secondaryBorderColor=Q(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Q(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,C.A)(this.primaryColor),this.secondaryTextColor=(0,C.A)(this.secondaryColor),this.tertiaryTextColor=(0,C.A)(this.tertiaryColor),this.lineColor=(0,C.A)(this.background),this.textColor=(0,C.A)(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,E.A)((0,C.A)("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=(0,v.A)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=(0,T.A)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.taskBorderColor=(0,v.A)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,v.A)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=(0,E.A)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=(0,E.A)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=(0,E.A)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroun
1dColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,_.A)(this.primaryColor,{h:64}),this.fillType3=(0,_.A)(this.secondaryColor,{h:64}),this.fillType4=(0,_.A)(this.primaryColor,{h:-64}),this.fillType5=(0,_.A)(this.secondaryColor,{h:-64}),this.fillType6=(0,_.A)(this.primaryColor,{h:128}),this.fillType7=(0,_.A)(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,_.A)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,_.A)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,_.A)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,_.A)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,_.A)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,_.A)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,_.A)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,_.A)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,_.A)(this.primaryColor,{h:330});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,C.A)(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScalePeer"+t]=this["cScalePeer"+t]||(0,E.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,T.A)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,E.A)(this.secondaryColor,20),this.git1=(0,E.A)(this.pie2||this.secondaryColor,20),this.git2=(0,E.A)(this.pie3||this.tertiaryColor,20),this.git3=(0,E.A)(this.pie4||(0,_.A)(this.primaryColor,{h:-30}),20),this.git4=(0,E.A)(this.pie5||(0,_.A)(this.primaryColor,{h:-60}),20),this.git5=(0,E.A)(this.pie6||(0,_.A)(this.primaryColor,{h:-90}),10),this.git6=(0,E.A)(this.pie7||(0,_.A)(this.primaryColor,{h:60}),10),this.git7=(0,E.A)(this.pie8||(0,_.A)(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||(0,C.A)(this.git0),this.gitInv1=this.gitInv1||(0,C.A)(this.git1),this.gitInv2=this.gitInv2||(0,C.A)(this.git2),this.gitInv3=this.gitInv3||(0,C.A)(this.git3),this.gitInv4=this.gitInv4||(0,C.A)(this.git4),this.gitInv5=this.gitInv5||(0,C.A)(this.git5),this.gitInv6=this.gitInv6||(0,C.A)(this.git6),this.gitInv7=this.gitInv7||(0,C.A)(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackgroun
1d=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,E.A)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,E.A)(this.background,2)}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}}class ti{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=(0,_.A)(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=(0,_.A)(this.primaryColor,{h:-160}),this.primaryBorderColor=Q(this.primaryColor,this.darkMode),this.secondaryBorderColor=Q(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Q(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,C.A)(this.primaryColor),this.secondaryTextColor=(0,C.A)(this.secondaryColor),this.tertiaryTextColor=(0,C.A)(this.tertiaryColor),this.lineColor=(0,C.A)(this.background),this.textColor=(0,C.A)(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=(0,v.A)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,_.A)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,_.A)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,_.A)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,_.A)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,_.A)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,_.A)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,_.A)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,_.A)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,_.A)(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,T.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,T.A)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,T.A)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,T.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,_.A)(this["cScale"+t],{h:180});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||(0,C.A)(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||(0,C.A)(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackgroun
1d=this.labelBackground,this.actorBorder=(0,E.A)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,_.A)(this.primaryColor,{h:64}),this.fillType3=(0,_.A)(this.secondaryColor,{h:64}),this.fillType4=(0,_.A)(this.primaryColor,{h:-64}),this.fillType5=(0,_.A)(this.secondaryColor,{h:-64}),this.fillType6=(0,_.A)(this.primaryColor,{h:128}),this.fillType7=(0,_.A)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||(0,_.A)(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||(0,_.A)(this.primaryColor,{l:-10}),this.pie5=this.pie5||(0,_.A)(this.secondaryColor,{l:-30}),this.pie6=this.pie6||(0,_.A)(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||(0,_.A)(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||(0,_.A)(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||(0,_.A)(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||(0,_.A)(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||(0,_.A)(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||(0,_.A)(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||(0,_.A)(this.primaryColor,{h:-30}),this.git4=this.git4||(0,_.A)(this.primaryColor,{h:-60}),this.git5=this.git5||(0,_.A)(this.primaryColor,{h:-90}),this.git6=this.git6||(0,_.A)(this.primaryColor,{h:60}),this.git7=this.git7||(0,_.A)(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,E.A)(this.git0,25),this.git1=(0,E.A)(this.git1,25),this.git2=(0,E.A)(this.git2,25),this.git3=(0,E.A)(this.git3,25),this.git4=(0,E.A)(this.git4,25),this.git5=(0,E.A)(this.git5,25),this.git6=(0,E.A)(this.git6,25),this.git7=(0,E.A)(this.git7,25)):(this.git0=(0,T.A)(this.git0,25),this.git1=(0,T.A)(this.git1,25),this.git2=(0,T.A)(this.git2,25),this.git3=(0,T.A)(this.git3,25),this.git4=(0,T.A)(this.git4,25),this.git5=(0,T.A)(this.git5,25),this.git6=(0,T.A)(this.git6,25),this.git7=(0,T.A)(this.git7,25)),this.gitInv0=this.gitInv0||(0,T.A)((0,C.A)(this.git0),25),this.gitInv1=this.gitInv1||(0,C.A)(this.git1),this.gitInv2=this.gitInv2||(0,C.A)(this.git2),this.gitInv3=this.gitInv3||(0,C.A)(this.git3),this.gitInv4=this.gitInv4||(0,C.A)(this.git4),this.gitInv5=this.gitInv5||(0,C.A)(this.git5),this.gitInv6=this.gitInv6||(0,C.A)(this.git6),this.gitInv7=this.gitInv7||(0,C.A)(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||(0,C.A)(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||(0,C.A)(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackgroun
1d=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Z,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||J}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}}class tr{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=(0,E.A)("#cde498",10),this.primaryBorderColor=Q(this.primaryColor,this.darkMode),this.secondaryBorderColor=Q(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Q(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,C.A)(this.primaryColor),this.secondaryTextColor=(0,C.A)(this.secondaryColor),this.tertiaryTextColor=(0,C.A)(this.primaryColor),this.lineColor=(0,C.A)(this.background),this.textColor=(0,C.A)(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,_.A)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,_.A)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,_.A)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,_.A)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,_.A)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,_.A)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,_.A)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,_.A)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,_.A)(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,T.A)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,T.A)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,T.A)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,T.A)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,_.A)(this["cScale"+t],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=(0,T.A)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroun
1dColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,_.A)(this.primaryColor,{h:64}),this.fillType3=(0,_.A)(this.secondaryColor,{h:64}),this.fillType4=(0,_.A)(this.primaryColor,{h:-64}),this.fillType5=(0,_.A)(this.secondaryColor,{h:-64}),this.fillType6=(0,_.A)(this.primaryColor,{h:128}),this.fillType7=(0,_.A)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||(0,_.A)(this.primaryColor,{l:-30}),this.pie5=this.pie5||(0,_.A)(this.secondaryColor,{l:-30}),this.pie6=this.pie6||(0,_.A)(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||(0,_.A)(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||(0,_.A)(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||(0,_.A)(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||(0,_.A)(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||(0,_.A)(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||(0,_.A)(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||(0,_.A)(this.primaryColor,{h:-30}),this.git4=this.git4||(0,_.A)(this.primaryColor,{h:-60}),this.git5=this.git5||(0,_.A)(this.primaryColor,{h:-90}),this.git6=this.git6||(0,_.A)(this.primaryColor,{h:60}),this.git7=this.git7||(0,_.A)(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,E.A)(this.git0,25),this.git1=(0,E.A)(this.git1,25),this.git2=(0,E.A)(this.git2,25),this.git3=(0,E.A)(this.git3,25),this.git4=(0,E.A)(this.git4,25),this.git5=(0,E.A)(this.git5,25),this.git6=(0,E.A)(this.git6,25),this.git7=(0,E.A)(this.git7,25)):(this.git0=(0,T.A)(this.git0,25),this.git1=(0,T.A)(this.git1,25),this.git2=(0,T.A)(this.git2,25),this.git3=(0,T.A)(this.git3,25),this.git4=(0,T.A)(this.git4,25),this.git5=(0,T.A)(this.git5,25),this.git6=(0,T.A)(this.git6,25),this.git7=(0,T.A)(this.git7,25)),this.gitInv0=this.gitInv0||(0,C.A)(this.git0),this.gitInv1=this.gitInv1||(0,C.A)(this.git1),this.gitInv2=this.gitInv2||(0,C.A)(this.git2),this.gitInv3=this.gitInv3||(0,C.A)(this.git3),this.gitInv4=this.gitInv4||(0,C.A)(this.git4),this.gitInv5=this.gitInv5||(0,C.A)(this.git5),this.gitInv6=this.gitInv6||(0,C.A)(this.git6),this.gitInv7=this.gitInv7||(0,C.A)(this.git7),this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackgroun
1d=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Z,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||J}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}}class ta{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,E.A)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=(0,_.A)(this.primaryColor,{h:-160}),this.primaryBorderColor=Q(this.primaryColor,this.darkMode),this.secondaryBorderColor=Q(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Q(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,C.A)(this.primaryColor),this.secondaryTextColor=(0,C.A)(this.secondaryColor),this.tertiaryTextColor=(0,C.A)(this.tertiaryColor),this.lineColor=(0,C.A)(this.background),this.textColor=(0,C.A)(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=(0,E.A)(this.contrast,55),this.border2=this.contrast,this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,C.A)(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,E.A)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,T.A)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=(0,E.A)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.sectionBkgColor=(0,E.A)(this.contrast,30),this.sectionBkgColor2=(0,E.A)(this.contrast,30),this.taskBorderColor=(0,T.A)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,E.A)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,T.A)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroun
1dColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,_.A)(this.primaryColor,{h:64}),this.fillType3=(0,_.A)(this.secondaryColor,{h:64}),this.fillType4=(0,_.A)(this.primaryColor,{h:-64}),this.fillType5=(0,_.A)(this.secondaryColor,{h:-64}),this.fillType6=(0,_.A)(this.primaryColor,{h:128}),this.fillType7=(0,_.A)(this.secondaryColor,{h:128});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,T.A)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||(0,_.A)(this.primaryColor,{h:-30}),this.git4=this.pie5||(0,_.A)(this.primaryColor,{h:-60}),this.git5=this.pie6||(0,_.A)(this.primaryColor,{h:-90}),this.git6=this.pie7||(0,_.A)(this.primaryColor,{h:60}),this.git7=this.pie8||(0,_.A)(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||(0,C.A)(this.git0),this.gitInv1=this.gitInv1||(0,C.A)(this.git1),this.gitInv2=this.gitInv2||(0,C.A)(this.git2),this.gitInv3=this.gitInv3||(0,C.A)(this.git3),this.gitInv4=this.gitInv4||(0,C.A)(this.git4),this.gitInv5=this.gitInv5||(0,C.A)(this.git5),this.gitInv6=this.gitInv6||(0,C.A)(this.git6),this.gitInv7=this.gitInv7||(0,C.A)(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Z,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||J}calculate(t){if("object"!=typeof t)return void this.updateColors();let e=Object.keys(t);e.forEach(e=>{this[e]=t[e]}),this.updateColors(),e.forEach(e=>{this[e]=t[e]})}}let ts={base:{getThemeVariables:t=>{let e=new tt;return e.calculate(t),e}},dark:{getThemeVariables:t=>{let e=new te;return e.calculate(t),e}},default:{getThemeVariables:t=>{let e=new ti;return e.calculate(t),e}},forest:{getThemeVariables:t=>{let e=new tr;return e.calculate(t),e}},neutral:{getThemeVariables:t=>{let e=new ta;return e.calculate(t),e}}},tn={theme:"default",themeVariables:ts.default.getThemeVariables(),theme
1CSS:void 0,maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},sequence:{hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",tickInterval:void 0,useMaxWidth:!0,topAxis:!1,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},state:{titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},er:{titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0},requirement:{useWidth:void 0,useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},gitGraph:{titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0},c4:{useWidth:void 0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,useMaxWidth:!0,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},fontSize:16};tn.class&&(tn.class.arrowMarkerAbsolute=tn.arrowMarkerAbsolute),tn.gitGraph&&(tn.gitGraph.arrowMarkerAbsolute=tn.arrowMarkerAbsolute);let to=(t,e="")=>Object.keys(t).reduce((i,r)=>Array.isArray(t[r])?i:"object"==typeof t[r]&&null!==t[r]?[...i,e+r,...to(t[r],"")]:[...i,e+r],[]),tl=to(tn,"");var tc={isObject:function(t){return"object"==typeof t&&null!==t},repeat:function(t,e){var i,r="";for(i=0;i<e;i+=1)r+=t;return r},isNegativeZero:function(t){return 0===t&&-1/0==1/t}};function th(t,e){var i="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(i+='in "'+t.mark.name+'" '),i+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(i+="\n\n"+t.mark.snippet),r+" "+i):r}function tu(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=th(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||""}function td(t,e,i,r,a){var s="",n="",o=Math.floor(a/2)-1;return r-e>o&&(e=r-o+(s=" ... ").length),i-r>o&&(i=r+o-(n=" ...").length),{str:s+t.slice(e,i).replace(/\t/g,"→")+n,pos:r-e+s.length}}function tp(t,e){return tc.repeat(" ",e-t.length)+t}tu.prototype=Object.create(Error.prototype),tu.prototype.constructor=tu,tu.prototype.toString=function(t){return this.name+": "+th(this,t)};var tg=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var i=/\r?\n|\r|\0/g,r=[0],a=[],s=-1;n=i.exec(t.buffer);)a.push(n.index),r.push(n.index+n[0].length),t.position<=n.index&&s<0&&(s=r.length-2);s<0&&(s=r.length-1);var n,o,l,h="",u=Math.min(t.line+e.linesAfter,a.length).toString().length,d=e.maxLength-(e.indent+u+3);for(o=1;o<=e.linesBefore&&!(s-o<0);o++)l=td(t.buffer,r[s-o],a[s-o],t.position-(r[s]-r[s-o]),d),h=tc.repeat(" ",e.indent)+tp((t.line-o+1).toString(),u)+" | "+l.str+"\n"+h;for(l=td(t.buffer,r[s],a[s],t.position,d),h+=tc.repeat(" ",e.indent)+tp((t.line+1).toString(),u)+" | "+l.str+"\n"+tc.repeat("-",e.indent+u+3+l.pos)+"^\n",o=1;o<=e.linesAfter&&!(s+o>=a.length);o++)l=td(t.buffer,r[s+o],a[s+o],t.position-(r[s]-r[s+o]),d),h+=tc.repeat(" ",e.indent)+tp((t.line+o+1).toString(),u)+" | "+l.str+"\n";return h.replace(/\n$/,"")},ty=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],tf=["scalar","sequence","mapping"],tm=function(t,e){var i,r;if(Object.keys(e=e||{}
1).forEach(function(e){if(-1===ty.indexOf(e))throw new tu('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=(i=e.styleAliases||null,r={},null!==i&&Object.keys(i).forEach(function(t){i[t].forEach(function(e){r[String(e)]=t})}),r),-1===tf.indexOf(this.kind))throw new tu('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function tb(t,e){var i=[];return t[e].forEach(function(t){var e=i.length;i.forEach(function(i,r){i.tag===t.tag&&i.kind===t.kind&&i.multi===t.multi&&(e=r)}),i[e]=t}),i}function tx(t){return this.extend(t)}tx.prototype.extend=function(t){var e=[],i=[];if(t instanceof tm)i.push(t);else if(Array.isArray(t))i=i.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(i=i.concat(t.explicit));else throw new tu("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");e.forEach(function(t){if(!(t instanceof tm))throw new tu("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new tu("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new tu("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(t){if(!(t instanceof tm))throw new tu("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var r=Object.create(tx.prototype);return r.implicit=(this.implicit||[]).concat(e),r.explicit=(this.explicit||[]).concat(i),r.compiledImplicit=tb(r,"implicit"),r.compiledExplicit=tb(r,"explicit"),r.compiledTypeMap=function(){var t,e,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function r(t){t.multi?(i.multi[t.kind].push(t),i.multi.fallback.push(t)):i[t.kind][t.tag]=i.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(r);return i}(r.compiledImplicit,r.compiledExplicit),r};var tk=new tx({explicit:[new tm("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),new tm("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),new tm("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})]}),t_=new tm("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),tC=new tm("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"}),tT=new tm("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,i,r,a,s=t.length,n=0,o=!1;if(!s)return!1;if(("-"===(a=t[n])||"+"===a)&&(a=t[++n]),"0"===a){if(n+1===s)return!0;if("b"===(a=t[++n])){for(n++;n<s;n++)if("_"!==(a=t[n])){if("0"!==a&&"1"!==a)return!1;o=!0}return o&&"_"!==a}if("x"===a){for(n++;n<s;n++)if("_"!==(a=t[n])){if(!(48<=(e=t.charCodeAt(n))&&e<=57||65<=e&&e<=70||97<=e&&e<=102))return!1;o=!0}return o&&"_"!==a}if("o"===a){for(n++;n<s;
1n++)if("_"!==(a=t[n])){if(!(48<=(i=t.charCodeAt(n))&&i<=55))return!1;o=!0}return o&&"_"!==a}}if("_"===a)return!1;for(;n<s;n++)if("_"!==(a=t[n])){if(!(48<=(r=t.charCodeAt(n))&&r<=57))return!1;o=!0}return!!o&&"_"!==a},construct:function(t){var e,i=t,r=1;if(-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),("-"===(e=i[0])||"+"===e)&&("-"===e&&(r=-1),e=(i=i.slice(1))[0]),"0"===i)return 0;if("0"===e){if("b"===i[1])return r*parseInt(i.slice(2),2);if("x"===i[1])return r*parseInt(i.slice(2),16);if("o"===i[1])return r*parseInt(i.slice(2),8)}return r*parseInt(i,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!tc.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),tE=RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),tv=/^[-+]?[0-9]+e/,tA=new tm("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!!tE.test(t)&&"_"!==t[t.length-1]},construct:function(t){var e,i;return(i="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e)?1===i?1/0:-1/0:".nan"===e?NaN:i*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||tc.isNegativeZero(t))},represent:function(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(1/0===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(-1/0===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(tc.isNegativeZero(t))return"-0.0";return i=t.toString(10),tv.test(i)?i.replace("e",".e"):i},defaultStyle:"lowercase"}),tS=tk.extend({implicit:[t_,tC,tT,tA]}),tw=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),tL=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),tB=new tm("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==tw.exec(t)||null!==tL.exec(t))},construct:function(t){var e,i,r,a,s,n,o,l,h=0,u=null;if(null===(e=tw.exec(t))&&(e=tL.exec(t)),null===e)throw Error("Date resolve error");
1if(i=+e[1],r=e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(i,r,a));if(s=+e[4],n=+e[5],o=+e[6],e[7]){for(h=e[7].slice(0,3);h.length<3;)h+="0";h*=1}return e[9]&&(u=(60*e[10]+ +(e[11]||0))*6e4,"-"===e[9]&&(u=-u)),l=new Date(Date.UTC(i,r,a,s,n,o,h)),u&&l.setTime(l.getTime()-u),l},instanceOf:Date,represent:function(t){return t.toISOString()}}),tI=new tm("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),tD="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",tO=new tm("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,i,r=0,a=t.length;for(i=0;i<a;i++)if(!((e=tD.indexOf(t.charAt(i)))>64)){if(e<0)return!1;r+=6}return r%8==0},construct:function(t){var e,i,r=t.replace(/[\r\n=]/g,""),a=r.length,s=0,n=[];for(e=0;e<a;e++)e%4==0&&e&&(n.push(s>>16&255),n.push(s>>8&255),n.push(255&s)),s=s<<6|tD.indexOf(r.charAt(e));return 0==(i=a%4*6)?(n.push(s>>16&255),n.push(s>>8&255),n.push(255&s)):18===i?(n.push(s>>10&255),n.push(s>>2&255)):12===i&&n.push(s>>4&255),new Uint8Array(n)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,i,r="",a=0,s=t.length;for(e=0;e<s;e++)e%3==0&&e&&(r+=tD[a>>18&63],r+=tD[a>>12&63],r+=tD[a>>6&63],r+=tD[63&a]),a=(a<<8)+t[e];return 0==(i=s%3)?(r+=tD[a>>18&63],r+=tD[a>>12&63],r+=tD[a>>6&63],r+=tD[63&a]):2===i?(r+=tD[a>>10&63],r+=tD[a>>4&63],r+=tD[a<<2&63],r+=tD[64]):1===i&&(r+=tD[a>>2&63],r+=tD[a<<4&63],r+=tD[64],r+=tD[64]),r}}),tF=Object.prototype.hasOwnProperty,tN=Object.prototype.toString,tR=new tm("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,i,r,a,s,n=[];for(e=0,i=t.length;e<i;e+=1){if(r=t[e],s=!1,"[object Object]"!==tN.call(r))return!1;for(a in r)if(tF.call(r,a))if(s)return!1;else s=!0;if(!s||-1!==n.indexOf(a))return!1;n.push(a)}return!0},construct:function(t){return null!==t?t:[]}}),t$=Object.prototype.toString,tM=new tm("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){var e,i,r,a,s;if(null===t)return!0;for(e=0,s=Array(t.length),i=t.length;e<i;e+=1){if(r=t[e],"[object Object]"!==t$.call(r)||1!==(a=Object.keys(r)).length)return!1;s[e]=[a[0],r[a[0]]]}return!0},construct:function(t){var e,i,r,a,s;if(null===t)return[];for(e=0,s=Array(t.length),i=t.length;e<i;e+=1)a=Object.keys(r=t[e]),s[e]=[a[0],r[a[0]]];return s}}),tP=Object.prototype.hasOwnProperty,tz=new tm("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){var e;if(null===t)return!0;for(e in t)if(tP.call(t,e)&&null!==t[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),tY=tS.extend({implicit:[tB,tI],explicit:[tO,tR,tM,tz]}),tj=Object.prototype.hasOwnProperty,tW=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,tq=/[\x85\u2028\u2029]/,tU=/[,\[\]\{\}]/,tV=/^(?:!|!!|![a-z\-]+!)$/i,tH=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function tG(t){return Object.prototype.toString.call(t)}function tX(t){return 10===t||13===t}function tK(t){return 9===t||32===t}function tQ(t){return 9===t||32===t||10===t||13===t}function tZ(t){return 44===t||91===t||93===t||123===t||125===t}function tJ(t){return 48===t?"\0":97===t?"\x07":98===t?"\b":116===t||9===t?"	":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"\x1b":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"\x85":95===t?"\xa0":76===t?"\u2028":80===t?"\u2029":""}for(var t1=Array(256),t0=Array(256),t2=0;t2<256;t2++)t1[t2]=+!!tJ(t2),t0[t2]=tJ(t2);function t3(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||tY,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function t4(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=tg(i),new tu(e,i)}function t5(t,e){throw t4(t,e)}function t6(t,e){t.onWarning&&t.onWarning.call(null,t4(t,e))}
1var t8={YAML:function(t,e,i){var r,a,s;null!==t.version&&t5(t,"duplication of %YAML directive"),1!==i.length&&t5(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&t5(t,"ill-formed argument of the YAML directive"),a=parseInt(r[1],10),s=parseInt(r[2],10),1!==a&&t5(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&t6(t,"unsupported YAML version of the document")},TAG:function(t,e,i){var r,a;2!==i.length&&t5(t,"TAG directive accepts exactly two arguments"),r=i[0],a=i[1],tV.test(r)||t5(t,"ill-formed tag handle (first argument) of the TAG directive"),tj.call(t.tagMap,r)&&t5(t,'there is a previously declared suffix for "'+r+'" tag handle'),tH.test(a)||t5(t,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch(e){t5(t,"tag prefix is malformed: "+a)}t.tagMap[r]=a}};function t7(t,e,i,r){var a,s,n,o;if(e<i){if(o=t.input.slice(e,i),r)for(a=0,s=o.length;a<s;a+=1)9===(n=o.charCodeAt(a))||32<=n&&n<=1114111||t5(t,"expected valid JSON character");else tW.test(o)&&t5(t,"the stream contains non-printable characters");t.result+=o}}function t9(t,e,i,r){var a,s,n,o;for(tc.isObject(i)||t5(t,"cannot merge mappings; the provided source object is unacceptable"),n=0,o=(a=Object.keys(i)).length;n<o;n+=1)s=a[n],tj.call(e,s)||(e[s]=i[s],r[s]=!0)}function et(t,e,i,r,a,s,n,o,l){var h,u;if(Array.isArray(a))for(h=0,u=(a=Array.prototype.slice.call(a)).length;h<u;h+=1)Array.isArray(a[h])&&t5(t,"nested arrays are not supported inside keys"),"object"==typeof a&&"[object Object]"===tG(a[h])&&(a[h]="[object Object]");if("object"==typeof a&&"[object Object]"===tG(a)&&(a="[object Object]"),a=String(a),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(s))for(h=0,u=s.length;h<u;h+=1)t9(t,e,s[h],i);else t9(t,e,s,i);else!t.json&&!tj.call(i,a)&&tj.call(e,a)&&(t.line=n||t.line,t.lineStart=o||t.lineStart,t.position=l||t.position,t5(t,"duplicated mapping key")),"__proto__"===a?Object.defineProperty(e,a,{configurable:!0,enumerable:!0,writable:!0,value:s}):e[a]=s,delete i[a];return e}function ee(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):t5(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function ei(t,e,i){for(var r=0,a=t.input.charCodeAt(t.position);0!==a;){for(;tK(a);)9===a&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),a=t.input.charCodeAt(++t.position);if(e&&35===a)do a=t.input.charCodeAt(++t.position);while(10!==a&&13!==a&&0!==a);if(tX(a))for(ee(t),a=t.input.charCodeAt(t.position),r++,t.lineIndent=0;32===a;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return -1!==i&&0!==r&&t.lineIndent<i&&t6(t,"deficient indentation"),r}function er(t){var e,i=t.position;return!!((45===(e=t.input.charCodeAt(i))||46===e)&&e===t.input.charCodeAt(i+1)&&e===t.input.charCodeAt(i+2)&&(i+=3,0===(e=t.input.charCodeAt(i))||tQ(e)))||!1}function ea(t,e){1===e?t.result+=" ":e>1&&(t.result+=tc.repeat("\n",e-1))}function es(t,e){var i,r,a=t.tag,s=t.anchor,n=[],o=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=n),r=t.input.charCodeAt(t.position);0!==r&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,t5(t,"tab characters must not be used in indentation")),45===r&&tQ(t.input.charCodeAt(t.position+1)));){if(o=!0,t.position++,ei(t,!0,-1)&&t.lineIndent<=e){n.push(null),r=t.input.charCodeAt(t.position);continue}if(i=t.line,en(t,e,3,!1,!0),n.push(t.result),ei(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===i||t.lineIndent>e)&&0!==r)t5(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return!!o&&(t.tag=a,t.anchor=s,t.kind="sequence",t.result=n,!0)}function en(t,e,i,r,a){var s,n,o,l,h,u,d,p,g,y=1,f=!1,m=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=n=o=4===i||3===i,r&&ei(t,!0,-1)&&(f=!0,t.lineIndent>e?y=1:t.lineIndent===e?y=0:t.lineIndent<e&&(y=-1)),1===y)for(;function(t){var e,i,r,a,s=!1,n=!1;if(33!==(a=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&t5(t,"duplication of a tag property"),60===(a=t.input.charCodeAt(++t.position))?(s=!0,a=t.input.charCodeAt(++t.position)):33===a?(n=!0,i="!!",a=t.input.charCodeAt(++t.position)):i="!",e=t.position,s){do a=t.input.charCodeAt(++t.position);while(0!==a&&62!==a);t.position<t.length?(r=t.input.slice(e,t.position),a=t.input.charCodeAt(++t.position)):t5(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==a&&!tQ(a);)33===a&&(n?t5(t,"tag suffix cannot contain exclamation marks"):(i=t.input.slice(e-1,t.position+1),tV.test(i)||t5(t,"named tag handle cannot contain such characters"),n=!0,e=t.position+1)),a=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),tU.test(r)&&t5(t,"tag suffix cannot contain flow indicator characters")}r&&!tH.test(r)&&t5(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(e){t5(t,"tag name is malformed: "+r)}return s?t.tag=r:tj.call(t.tagMap,i)?t.tag=t.tagMap[i]+r:"!"===i?t.tag="!"+r:"!!"===i?t.tag="tag:yaml.org,2002:"+r:t5(t,'undeclared tag handle "'+i+'"'),!0}(t)||function(t){var e,i;if(38!==(i=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&t5(t,"duplication of an anchor property"),i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!tQ(i)&&!tZ(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&t5(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}(t);)ei(t,!0,-1)?(f=!0,o=s,t.lineIndent>e?y=1:t.lineIndent===e?y=0:t.lineIndent<e&&(y=-1)):o=!1;if(o&&(o=f||a),(1===y||4===i)&&(p=1===i||2===i?e:e+1,g=t.position-t.lineStart,1===y?o&&(es(t,g)||function(t,e,
1i){var r,a,s,n,o,l,h,u=t.tag,d=t.anchor,p={},g=Object.create(null),y=null,f=null,m=null,b=!1,x=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=p),h=t.input.charCodeAt(t.position);0!==h;){if(b||-1===t.firstTabInLine||(t.position=t.firstTabInLine,t5(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),s=t.line,(63===h||58===h)&&tQ(r))63===h?(b&&(et(t,p,g,y,f,null,n,o,l),y=f=m=null),x=!0,b=!0,a=!0):b?(b=!1,a=!0):t5(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,h=r;else{if(n=t.line,o=t.lineStart,l=t.position,!en(t,i,2,!1,!0))break;if(t.line===s){for(h=t.input.charCodeAt(t.position);tK(h);)h=t.input.charCodeAt(++t.position);if(58===h)tQ(h=t.input.charCodeAt(++t.position))||t5(t,"a whitespace character is expected after the key-value separator within a block mapping"),b&&(et(t,p,g,y,f,null,n,o,l),y=f=m=null),x=!0,b=!1,a=!1,y=t.tag,f=t.result;else{if(!x)return t.tag=u,t.anchor=d,!0;t5(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!x)return t.tag=u,t.anchor=d,!0;t5(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}if((t.line===s||t.lineIndent>e)&&(b&&(n=t.line,o=t.lineStart,l=t.position),en(t,e,4,!0,a)&&(b?f=t.result:m=t.result),b||(et(t,p,g,y,f,m,n,o,l),y=f=m=null),ei(t,!0,-1),h=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==h)t5(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return b&&et(t,p,g,y,f,null,n,o,l),x&&(t.tag=u,t.anchor=d,t.kind="mapping",t.result=p),x}(t,g,p))||function(t,e){var i,r,a,s,n,o,l,h,u,d,p,g,y=!0,f=t.tag,m=t.anchor,b=Object.create(null);if(91===(g=t.input.charCodeAt(t.position)))n=93,h=!1,s=[];else{if(123!==g)return!1;n=125,h=!0,s={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),g=t.input.charCodeAt(++t.position);0!==g;){if(ei(t,!0,e),(g=t.input.charCodeAt(t.position))===n)return t.position++,t.tag=f,t.anchor=m,t.kind=h?"mapping":"sequence",t.result=s,!0;y?44===g&&t5(t,"expected the node content, but found ','"):t5(t,"missed comma between flow collection entries"),d=u=p=null,o=l=!1,63===g&&tQ(t.input.charCodeAt(t.position+1))&&(o=l=!0,t.position++,ei(t,!0,e)),i=t.line,r=t.lineStart,a=t.position,en(t,e,1,!1,!0),d=t.tag,u=t.result,ei(t,!0,e),g=t.input.charCodeAt(t.position),(l||t.line===i)&&58===g&&(o=!0,g=t.input.charCodeAt(++t.position),ei(t,!0,e),en(t,e,1,!1,!0),p=t.result),h?et(t,s,b,d,u,p,i,r,a):o?s.push(et(t,null,b,d,u,p,i,r,a)):s.push(u),ei(t,!0,e),44===(g=t.input.charCodeAt(t.position))?(y=!0,g=t.input.charCodeAt(++t.position)):y=!1}t5(t,"unexpected end of the stream within a flow collection")}(t,p)?m=!0:(n&&function(t,e){var i,r,a,s,n,o=1,l=!1,h=!1,u=e,d=0,p=!1;if(124===(n=t.input.charCodeAt(t.position)))a=!1;else{if(62!==n)return!1;a=!0}for(t.kind="scalar",t.result="";0!==n;)if(43===(n=t.input.charCodeAt(++t.position))||45===n)1===o?o=43===n?3:2:t5(t,"repeat of a chomping mode identifier");else if((s=48<=(i=n)&&i<=57?i-48:-1)>=0)0===s?t5(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):h?t5(t,"repeat of an indentation width identifier"):(u=e+s-1,h=!0);else break;if(tK(n)){do n=t.input.charCodeAt(++t.position);while(tK(n));if(35===n)do n=t.input.charCodeAt(++t.position);while(!tX(n)&&0!==n)}for(;0!==n;){for(ee(t),t.lineIndent=0,n=t.input.charCodeAt(t.position);(!h||t.lineIndent<u)&&32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position);if(!h&&t.lineIndent>u&&(u=t.lineIndent),tX(n)){d++;continue}if(t.lineIndent<u){3===o?t.result+=tc.repeat("\n",l?1+d:d):1===o&&l&&(t.result+="\n");break}for(a?tK(n)?(p=!0,t.result+=tc.repeat("\n",l?1+d:d)):p?(p=!1,t.result+=tc.repeat("\n",d+1)):0===d?l&&(t.result+=" "):t.result+=tc.repeat("\n",d):t.result+=tc.repeat("\n",l?1+d:d),l=!0,h=!0,d=0,r=t.position;!tX(n)&&0!==n;)n=t.input.charCodeAt(++t.position);t7(t,r,t.position,!1)}return!0}(t,p)||function(t,e){var i,r,a;if(39!==(i=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=a=t.position;0!==(i=t.input.charCodeAt(t.position));
1)if(39===i){if(t7(t,r,t.position,!0),39!==(i=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,a=t.position}else tX(i)?(t7(t,r,a,!0),ea(t,ei(t,!1,e)),r=a=t.position):t.position===t.lineStart&&er(t)?t5(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);t5(t,"unexpected end of the stream within a single quoted scalar")}(t,p)||function(t,e){var i,r,a,s,n,o,l,h;if(34!==(o=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;0!==(o=t.input.charCodeAt(t.position));)if(34===o)return t7(t,i,t.position,!0),t.position++,!0;else if(92===o){if(t7(t,i,t.position,!0),tX(o=t.input.charCodeAt(++t.position)))ei(t,!1,e);else if(o<256&&t1[o])t.result+=t0[o],t.position++;else if((n=120===(l=o)?2:117===l?4:8*(85===l))>0){for(a=n,s=0;a>0;a--)(n=function(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}(o=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+n:t5(t,"expected hexadecimal character");t.result+=(h=s)<=65535?String.fromCharCode(h):String.fromCharCode((h-65536>>10)+55296,(h-65536&1023)+56320),t.position++}else t5(t,"unknown escape sequence");i=r=t.position}else tX(o)?(t7(t,i,r,!0),ea(t,ei(t,!1,e)),i=r=t.position):t.position===t.lineStart&&er(t)?t5(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position);t5(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?m=!0:!function(t){var e,i,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!tQ(r)&&!tZ(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&t5(t,"name of an alias node must contain at least one character"),i=t.input.slice(e,t.position),tj.call(t.anchorMap,i)||t5(t,'unidentified alias "'+i+'"'),t.result=t.anchorMap[i],ei(t,!0,-1),!0}(t)?function(t,e,i){var r,a,s,n,o,l,h,u,d=t.kind,p=t.result;if(tQ(u=t.input.charCodeAt(t.position))||tZ(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u||(63===u||45===u)&&(tQ(r=t.input.charCodeAt(t.position+1))||i&&tZ(r)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,n=!1;0!==u;){if(58===u){if(tQ(r=t.input.charCodeAt(t.position+1))||i&&tZ(r))break}else if(35===u){if(tQ(t.input.charCodeAt(t.position-1)))break}else if(t.position===t.lineStart&&er(t)||i&&tZ(u))break;else if(tX(u)){if(o=t.line,l=t.lineStart,h=t.lineIndent,ei(t,!1,-1),t.lineIndent>=e){n=!0,u=t.input.charCodeAt(t.position);continue}t.position=s,t.line=o,t.lineStart=l,t.lineIndent=h;break}n&&(t7(t,a,s,!1),ea(t,t.line-o),a=s=t.position,n=!1),tK(u)||(s=t.position+1),u=t.input.charCodeAt(++t.position)}return t7(t,a,s,!1),!!t.result||(t.kind=d,t.result=p,!1)}(t,p,1===i)&&(m=!0,null===t.tag&&(t.tag="?")):(m=!0,(null!==t.tag||null!==t.anchor)&&t5(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===y&&(m=o&&es(t,g))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&t5(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),l=0,h=t.implicitTypes.length;l<h;l+=1)if((d=t.implicitTypes[l]).resolve(t.result)){t.result=d.construct(t.result),t.tag=d.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(tj.call(t.typeMap[t.kind||"fallback"],t.tag))d=t.typeMap[t.kind||"fallback"][t.tag];else for(l=0,d=null,h=(u=t.typeMap.multi[t.kind||"fallback"]).length;l<h;l+=1)if(t.tag.slice(0,u[l].tag.length)===u[l].tag){d=u[l];break}d||t5(t,"unknown tag !<"+t.tag+">"),null!==t.result&&d.kind!==t.kind&&t5(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+d.kind+'", not "'+t.kind+'"'),d.resolve(t.result,t.tag)?(t.result=d.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):t5(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}var eo=function(t,e){var i=function(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var i=new t3(t,e),r=t.indexOf("\0");for(-1!==r&&(i.position=r,t5(i,"null byte is not allowed in input")),i.input+="\0";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)!function(t){var e,i,r,a,s=t.position,n=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(a=t.input.charCodeAt(t.position))&&(ei(t,!0,-1),a=t.input.charCodeAt(t.position),!(t.lineIndent>0)&&37===a);){for(n=!0,a=t.input.charCodeAt(++t.position),e=t.position;0!==a&&!tQ(a);)a=t.input.charCodeAt(++t.position);for(i=t.input.slice(e,t.position),r=[],i.length<1&&t5(t,"directive name must not be less than one character in length");0!==a;){for(;tK(a);)a=t.input.charCodeAt(++t.position);if(35===a){do a=t.input.charCodeAt(++t.position);while(0!==a&&!tX(a));break}
1if(tX(a))break;for(e=t.position;0!==a&&!tQ(a);)a=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==a&&ee(t),tj.call(t8,i)?t8[i](t,i,r):t6(t,'unknown document directive "'+i+'"')}if(ei(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,ei(t,!0,-1)):n&&t5(t,"directives end mark is expected"),en(t,t.lineIndent-1,4,!1,!0),ei(t,!0,-1),t.checkLineBreaks&&tq.test(t.input.slice(s,t.position))&&t6(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&er(t)){46===t.input.charCodeAt(t.position)&&(t.position+=3,ei(t,!0,-1));return}t.position<t.length-1&&t5(t,"end of the stream or a document separator is expected")}(i);return i.documents}(t,e);if(0!==i.length){if(1===i.length)return i[0];throw new tu("expected a single document in the stream, but found more")}};let el=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,ec=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,eh=/\s*%%.*\n/gm,eu={},ed=function(t,e){for(let[i,{detector:r}]of(t=t.replace(el,"").replace(ec,"").replace(eh,"\n"),Object.entries(eu)))if(r(t,e))return i;throw Error(`No diagram type detected for text: ${t}`)},ep=(t,e,i)=>{if(eu[t])throw Error(`Detector with key ${t} already exists`);eu[t]={detector:e,loader:i},z.debug(`Detector with key ${t} added${i?" with loader":""}`)},eg=function(t,e,i){let{depth:r,clobber:a}=Object.assign({depth:2,clobber:!1},i);if(Array.isArray(e)&&!Array.isArray(t))return e.forEach(e=>eg(t,e,i)),t;if(Array.isArray(e)&&Array.isArray(t))return e.forEach(e=>{t.includes(e)||t.push(e)}),t;if(void 0===t||r<=0)if(null!=t&&"object"==typeof t&&"object"==typeof e)return Object.assign(t,e);else return e;return void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach(i=>{"object"==typeof e[i]&&(void 0===t[i]||"object"==typeof t[i])?(void 0===t[i]&&(t[i]=Array.isArray(e[i])?[]:{}),t[i]=eg(t[i],e[i],{depth:r-1,clobber:a})):(a||"object"!=typeof t[i]&&"object"!=typeof e[i])&&(t[i]=e[i])}),t},ey={curveBasis:x.qrM,curveBasisClosed:x.Yu4,curveBasisOpen:x.IA3,curveLinear:x.lUB,curveLinearClosed:x.Lx9,curveMonotoneX:x.nVG,curveMonotoneY:x.uxU,curveNatural:x.Xf2,curveStep:x.GZz,curveStepAfter:x.UPb,curveStepBefore:x.dyv},ef=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,em=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,eb=function(t,e=null){try{let i,r=RegExp(`[%]{2}(?![{]${em.source})(?=[}][%]{2}).*
2`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),z.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let a=[];for(;null!==(i=ef.exec(t));)if(i.index===ef.lastIndex&&ef.lastIndex++,i&&!e||e&&i[1]&&i[1].match(e)||e&&i[2]&&i[2].match(e)){let t=i[1]?i[1]:i[2],e=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;a.push({type:t,args:e})}return 0===a.length&&a.push({type:t,args:null}),1===a.length?a[0]:a}catch(i){return z.error(`ERROR: ${i.message} - Unable to parse directive
3      ${null!==e?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}};function ex(t,e){return t&&ey[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]||e}function ek(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function e_(t){let e="",i="";for(let r of t)void 0!==r&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let eC=0,eT=t=>(function(t){let e="",i="0123456789abcdef",r=i.length;for(let a=0;a<t;a++)e+=i.charAt(Math.floor(Math.random()*r));return e})(t.length),eE=function(t,e){let i=e.text.replace(K.lineBreakRegex," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.style("text-anchor",e.anchor),r.style("font-family",e.fontFamily),r.style("font-size",e.fontSize),r.style("font-weight",e.fontWeight),r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(i),r},ev=(0,A.A)((t,e,i)=>{if(!t||(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},i),K.lineBreakRegex.test(t)))return t;let r=t.split(" "),a=[],s="";return r.forEach((t,n)=>{let o=ew(`${t} `,i),l=ew(s,i);if(o>e){let{hyphenatedStrings:r,remainingWord:n}=eA(t,e,"-",i);a.push(s,...r),s=n}else l+o>
3=e?(a.push(s),s=t):s=[s,t].filter(Boolean).join(" ");n+1===r.length&&a.push(s)}),a.filter(t=>""!==t).join(i.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),eA=(0,A.A)((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);let a=[...t],s=[],n="";return a.forEach((t,o)=>{let l=`${n}${t}`;if(ew(l,r)>=e){let t=a.length===o+1,e=`${l}${i}`;s.push(t?l:e),n=""}else n=l}),{hyphenatedStrings:s,remainingWord:n}},(t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function eS(t,e){return eL(t,e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e)).height}function ew(t,e){return eL(t,e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e)).width}let eL=(0,A.A)((t,e)=>{let{fontSize:i,fontFamily:r,fontWeight:a}=e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);if(!t)return{width:0,height:0};let s=t.split(K.lineBreakRegex),n=[],o=(0,x.Ltv)("body");if(!o.remove)return{width:0,height:0,lineHeight:0};let l=o.append("svg");for(let t of["sans-serif",r]){let e=0,r={width:0,height:0,lineHeight:0};for(let n of s){let s={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0};s.text=n;let o=eE(l,s).style("font-size",i).style("font-weight",a).style("font-family",t),h=(o._groups||o)[0][0].getBBox();r.width=Math.round(Math.max(r.width,h.width)),e=Math.round(h.height),r.height+=e,r.lineHeight=Math.round(Math.max(r.lineHeight,e))}n.push(r)}l.remove();let h=isNaN(n[1].height)||isNaN(n[1].width)||isNaN(n[1].lineHeight)||n[0].height>n[1].height&&n[0].width>n[1].width&&n[0].lineHeight>n[1].lineHeight?0:1;return n[h]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),eB=class{constructor(t,e){this.deterministic=t,this.seed=e,this.count=e?e.length:0}next(){return this.deterministic?this.count++:Date.now()}},eI=t=>{if(z.debug("directiveSanitizer called with",t),"object"==typeof t&&(t.length?t.forEach(t=>eI(t)):Object.keys(t).forEach(e=>{z.debug("Checking key",e),e.startsWith("__")&&(z.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(z.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(z.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(z.debug("sanitizing themeCss option"),t[e]=eD(t[e])),e.includes("fontFamily")&&(z.debug("sanitizing fontFamily option"),t[e]=eD(t[e])),e.includes("altFontFamily")&&(z.debug("sanitizing altFontFamily option"),t[e]=eD(t[e])),tl.includes(e)?"object"==typeof t[e]&&(z.debug("sanitize deleting object",e),eI(t[e])):(z.debug("sanitize deleting option",e),delete t[e])})),t.themeVariables)for(let e of Object.keys(t.themeVariables)){let i=t.themeVariables[e];i&&i.match&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}z.debug("After sanitization",t)},eD=t=>{let e=0,i=0;for(let r of t){if(e<i)return"{ /* ERROR: Unbalanced CSS */ }";"{"===r?e++:"}"===r&&i++}return e!==i?"{ /* ERROR: Unbalanced CSS */ }":t};function eO(t){return"str"in t}let eF={wrapLabel:ev,calculateTextDimensions:eL,detectInit:function(t,e){let i=eb(t,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(i)){let t=i.map(t=>t.args);eI(t),r=eg(r,[...t])}else r=i.args;if(r){let i=ed(t,e);["config"].forEach(t=>{void 0!==r[t]&&("flowchart-v2"===i&&(i="flowchart"),r[i]=r[t],delete r[t])})}return r},isSubstringInArray:function(t,e){for(let[i,r]of e.entries())if(r.match(t))return i;return -1},calcLabelPosition:function(t){let e,i,r,a;return 1===t.length?t[0]:(i=0,t.forEach(t=>{i+=ek(t,e),e=t}),r=i/2,e=void 0,t.forEach(t=>{if(e&&!a){let i=ek(t,e);if(i<r)r-=i;else{let s=r/i;s<=0&&(a=e),s>=1&&(a={x:t.x,y:t.y}),s>0&&s<1&&(a={x:(1-s)*e.x+s*t.x,y:(1-s)*e.y+s*t.y})}}e=t}),a)},calcCardinalityPosition:(t,e,i)=>{let r,a;z.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let s=25;r=void 0,e.forEach(t=>{if(r&&!a){let e=ek(t,r);if(e<s)s-=e;else{let i=s/e;i<=0&&(a=r),i>=1&&(a={x:t.x,y:t.y}),i>0&&i<1&&(a={x:(1-i)*r.x+i*t.x,y:(1-i)*r.y+i*t.y})}}r=t});let n=t?10:5,o=Math.atan2(e[0].y-a.y,e[0].x-a.x),l={x:0,y:0};return l.x=Math.sin(o)*n+(e[0].x+a.x)/2,l.y=-Math.cos(o)*n+(e[0].y+a.y)/2,l}
3,calcTerminalLabelPosition:function(t,e,i){let r,a,s=JSON.parse(JSON.stringify(i));z.info("our points",s),"start_left"!==e&&"start_right"!==e&&(s=s.reverse()),s.forEach(t=>{r=t});let n=25+t;r=void 0,s.forEach(t=>{if(r&&!a){let e=ek(t,r);if(e<n)n-=e;else{let i=n/e;i<=0&&(a=r),i>=1&&(a={x:t.x,y:t.y}),i>0&&i<1&&(a={x:(1-i)*r.x+i*t.x,y:(1-i)*r.y+i*t.y})}}r=t});let o=10+.5*t,l=Math.atan2(s[0].y-a.y,s[0].x-a.x),h={x:0,y:0};return h.x=Math.sin(l)*o+(s[0].x+a.x)/2,h.y=-Math.cos(l)*o+(s[0].y+a.y)/2,"start_left"===e&&(h.x=Math.sin(l+Math.PI)*o+(s[0].x+a.x)/2,h.y=-Math.cos(l+Math.PI)*o+(s[0].y+a.y)/2),"end_right"===e&&(h.x=Math.sin(l-Math.PI)*o+(s[0].x+a.x)/2-5,h.y=-Math.cos(l-Math.PI)*o+(s[0].y+a.y)/2-5),"end_left"===e&&(h.x=Math.sin(l)*o+(s[0].x+a.x)/2-5,h.y=-Math.cos(l)*o+(s[0].y+a.y)/2-5),h},formatUrl:function(t,e){let i=t.trim();if(i)return"loose"!==e.securityLevel?(0,b.Jf)(i):i},random:eT,runFunc:(t,...e)=>{let i=t.split("."),r=i.length-1,a=i[r],s=window;for(let t=0;t<r;t++)if(!(s=s[i[t]]))return;s[a](...e)},entityDecode:function(t){return r=r||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),r.innerHTML=t,unescape(r.textContent)},initIdGenerator:eB,insertTitle:(t,e,i,r)=>{if(!r)return;let a=t.node().getBBox();t.append("text").text(r).attr("x",a.x+a.width/2).attr("y",-i).attr("class",e)}},eN={version:"9.3.0"},eR=Object.freeze(tn),e$=eg({},eR),eM=[],eP=eg({},eR),ez=(t,e)=>{let i=eg({},t),r={};for(let t of e)eq(t),r=eg(r,t);if(i=eg(i,r),r.theme&&r.theme in ts){let t=eg({},a),e=eg(t.themeVariables||{},r.themeVariables);i.theme&&i.theme in ts&&(i.themeVariables=ts[i.theme].getThemeVariables(e))}return eX(eP=i),eP},eY=()=>eg({},e$),ej=t=>(eX(t),eg(eP,t),eW()),eW=()=>eg({},eP),eq=t=>{var e;["secure",...null!=(e=e$.secure)?e:[]].forEach(e=>{void 0!==t[e]&&(z.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{0===e.indexOf("__")&&delete t[e]}),Object.keys(t).forEach(e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&eq(t[e])})},eU=t=>{t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),eM.push(t),ez(e$,eM)},eV=(t=e$)=>{ez(t,eM=[])};var eH=(t=>(t.LAZY_LOAD_DEPRECATED="The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",t))(eH||{});let eG={},eX=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&(t=>{eG[t]||(z.warn(eH[t]),eG[t]=!0)})("LAZY_LOAD_DEPRECATED")},eK=function(t,e){for(let i of e)t.attr(i[0],i[1])},eQ=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r},eZ=function(t,e,i,r){eK(t,eQ(e,i,r))},eJ=function(t,e,i,r){let a=e.node().getBBox(),s=a.width,n=a.height;z.info(`SVG bounds: ${s}x${n}`,a);let o=0,l=0;z.info(`Graph bounds: ${o}x${l}`,t),o=s+2*i,l=n+2*i,z.info(`Calculated bounds: ${o}x${l}`),eZ(e,l,o,r);let h=`${a.x-i} ${a.y-i} ${a.width+2*i} ${a.height+2*i}`;e.attr("viewBox",h)},e1=t=>`g.classGroup text {
4  fill: ${t.nodeBorder};
5  fill: ${t.classText};
6  stroke: none;
7  font-family: ${t.fontFamily};
8  font-size: 10px;
9
10  .title {
11    font-weight: bolder;
12  }
13
14}
15
16.nodeLabel, .edgeLabel {
17  color: ${t.classText};
18}
19.edgeLabel .label rect {
20  fill: ${t.mainBkg};
21}
22.label text {
23  fill: ${t.classText};
24}
25.edgeLabel .label span {
26  background: ${t.mainBkg};
27}
28
29.classTitle {
30  font-weight: bolder;
31}
32.node rect,
33  .node circle,
34  .node ellipse,
35  .node polygon,
36  .node path {
37    fill: ${t.mainBkg};
38    stroke: ${t.nodeBorder};
39    stroke-width: 1px;
40  }
41
42
43.divider {
44  stroke: ${t.nodeBorder};
45  stroke: 1;
46}
47
48g.clickable {
49  cursor: pointer;
50}
51
52g.classGroup rect {
53  fill: ${t.mainBkg};
54  stroke: ${t.nodeBorder};
55}
56
57g.classGroup line {
58  stroke: ${t.nodeBorder};
59  stroke-width: 1;
60}
61
62.classLabel .box {
63  stroke: none;
64  stroke-width: 0;
65  fill: ${t.mainBkg};
66  opacity: 0.5;
67}
68
69.classLabel .label {
70  fill: ${t.nodeBorder};
71  font-size: 10px;
72}
73
74.relation {
75  stroke: ${t.lineColor};
76  stroke-width: 1;
77  fill: none;
78}
79
80.dashed-line{
81  stroke-dasharray: 3;
82}
83
84.dotted-line{
85  stroke-dasharray: 1 2;
86}
87
88#compositionStart, .composition {
89  fill: ${t.lineColor} !important;
90  stroke: ${t.lineColor} !important;
91  stroke-width: 1;
92}
93
94#compositionEnd, .composition {
95  fill: ${t.lineColor} !important;
96  stroke: ${t.lineColor} !important;
97  stroke-width: 1;
98}
99
100#dependencyStart, .dependency {
101  fill: ${t.lineColor} !important;
102  stroke: ${t.lineColor} !important;
103  stroke-width: 1;
104}
105
106#dependencyStart, .dependency {
107  fill: ${t.lineColor} !important;
108  stroke: ${t.lineColor} !important;
109  stroke-width: 1;
110}
111
112#extensionStart, .extension {
113  fill: ${t.mainBkg} !important;
114  stroke: ${t.lineColor} !important;
115  stroke-width: 1;
116}
117
118#extensionEnd, .extension {
119  fill: ${t.mainBkg} !important;
120  stroke: ${t.lineColor} !important;
121  stroke-width: 1;
122}
123
124#aggregationStart, .aggregation {
125  fill: ${t.mainBkg} !important;
126  stroke: ${t.lineColor} !important;
127  stroke-width: 1;
128}
129
130#aggregationEnd, .aggregation {
131  fill: ${t.mainBkg} !important;
132  stroke: ${t.lineColor} !important;
133  stroke-width: 1;
134}
135
136#lollipopStart, .lollipop {
137  fill: ${t.mainBkg} !important;
138  stroke: ${t.lineColor} !important;
139  stroke-width: 1;
140}
141
142#lollipopEnd, .lollipop {
143  fill: ${t.mainBkg} !important;
144  stroke: ${t.lineColor} !important;
145  stroke-width: 1;
146}
147
148.edgeTerminals {
149  font-size: 11px;
150}
151
152.classTitleText {
153  text-anchor: middle;
154  font-size: 18px;
155  fill: ${t.textColor};
156}
157`,e0=t=>`
158  .entityBox {
159    fill: ${t.mainBkg};
160    stroke: ${t.nodeBorder};
161  }
162
163  .attributeBoxOdd {
164    fill: ${t.attributeBackgroundColorOdd};
165    stroke: ${t.nodeBorder};
166  }
167
168  .attributeBoxEven {
169    fill:  ${t.attributeBackgroundColorEven};
170    stroke: ${t.nodeBorder};
171  }
172
173  .relationshipLabelBox {
174    fill: ${t.tertiaryColor};
175    opacity: 0.7;
176    background-color: ${t.tertiaryColor};
177      rect {
178        opacity: 0.5;
179      }
180  }
181
182    .relationshipLine {
183      stroke: ${t.lineColor};
184    }
185
186  .entityTitleText {
187    text-anchor: middle;
188    font-size: 18px;
189    fill: ${t.textColor};
190  }    
191`,e2=()=>"",e3=t=>`.label {
192    font-family: ${t.fontFamily};
193    color: ${t.nodeTextColor||t.textColor};
194  }
195  .cluster-label text {
196    fill: ${t.titleColor};
197  }
198  .cluster-label span {
199    color: ${t.titleColor};
200  }
201
202  .label text,span {
203    fill: ${t.nodeTextColor||t.textColor};
204    color: ${t.nodeTextColor||t.textColor};
205  }
206
207  .node rect,
208  .node circle,
209  .node ellipse,
210  .node polygon,
211  .node path {
212    fill: ${t.mainBkg};
213    stroke: ${t.nodeBorder};
214    stroke-width: 1px;
215  }
216
217  .node .label {
218    text-align: center;
219  }
220  .node.clickable {
221    cursor: pointer;
222  }
223
224  .arrowheadPath {
225    fill: ${t.arrowheadColor};
226  }
227
228  .edgePath .path {
229    stroke: ${t.lineColor};
230    stroke-width: 2.0px;
231  }
232
233  .flowchart-link {
234    stroke: ${t.lineColor};
235    fill: none;
236  }
237
238  .edgeLabel {
239    background-color: ${t.edgeLabelBackground};
240    rect {
241      opacity: 0.5;
242      background-color: ${t.edgeLabelBackground};
243      fill: ${t.edgeLabelBackground};
244    }
245    text-align: center;
246  }
247
248  .cluster rect {
249    fill: ${t.clusterBkg};
250    stroke: ${t.clusterBorder};
251    stroke-width: 1px;
252  }
253
254  .cluster text {
255    fill: ${t.titleColor};
256  }
257
258  .cluster span {
259    color: ${t.titleColor};
260  }
261  /* .cluster div {
262    color: ${t.titleColor};
263  } */
264
265  div.mermaidTooltip {
266    position: absolute;
267    text-align: center;
268    max-width: 200px;
269    padding: 2px;
270    font-family: ${t.fontFamily};
271    font-size: 12px;
272    background: ${t.tertiaryColor};
273    border: 1px solid ${t.border2};
274    border-radius: 2px;
275    pointer-events: none;
276    z-index: 100;
277  }
278
279  .flowchartTitleText {
280    text-anchor: middle;
281    font-size: 18px;
282    fill: ${t.textColor};
283  }
284`,e4=t=>`
285  .mermaid-main-font {
286    font-family: "trebuchet ms", verdana, arial, sans-serif;
287    font-family: var(--mermaid-font-family);
288  }
289  .exclude-range {
290    fill: ${t.excludeBkgColor};
291  }
292
293  .section {
294    stroke: none;
295    opacity: 0.2;
296  }
297
298  .section0 {
299    fill: ${t.sectionBkgColor};
300  }
301
302  .section2 {
303    fill: ${t.sectionBkgColor2};
304  }
305
306  .section1,
307  .section3 {
308    fill: ${t.altSectionBkgColor};
309    opacity: 0.2;
310  }
311
312  .sectionTitle0 {
313    fill: ${t.titleColor};
314  }
315
316  .sectionTitle1 {
317    fill: ${t.titleColor};
318  }
319
320  .sectionTitle2 {
321    fill: ${t.titleColor};
322  }
323
324  .sectionTitle3 {
325    fill: ${t.titleColor};
326  }
327
328  .sectionTitle {
329    text-anchor: start;
330    // font-size: ${t.ganttFontSize};
331    // text-height: 14px;
332    font-family: 'trebuchet ms', verdana, arial, sans-serif;
333    font-family: var(--mermaid-font-family);
334
335  }
336
337
338  /* Grid and axis */
339
340  .grid .tick {
341    stroke: ${t.gridColor};
342    opacity: 0.8;
343    shape-rendering: crispEdges;
344    text {
345      font-family: ${t.fontFamily};
346      fill: ${t.textColor};
347    }
348  }
349
350  .grid path {
351    stroke-width: 0;
352  }
353
354
355  /* Today line */
356
357  .today {
358    fill: none;
359    stroke: ${t.todayLineColor};
360    stroke-width: 2px;
361  }
362
363
364  /* Task styling */
365
366  /* Default task */
367
368  .task {
369    stroke-width: 2;
370  }
371
372  .taskText {
373    text-anchor: middle;
374    font-family: 'trebuchet ms', verdana, arial, sans-serif;
375    font-family: var(--mermaid-font-family);
376  }
377
378  // .taskText:not([font-size]) {
379  //   font-size: ${t.ganttFontSize};
380  // }
381
382  .taskTextOutsideRight {
383    fill: ${t.taskTextDarkColor};
384    text-anchor: start;
385    // font-size: ${t.ganttFontSize};
386    font-family: 'trebuchet ms', verdana, arial, sans-serif;
387    font-family: var(--mermaid-font-family);
388
389  }
390
391  .taskTextOutsideLeft {
392    fill: ${t.taskTextDarkColor};
393    text-anchor: end;
394    // font-size: ${t.ganttFontSize};
395  }
396
397  /* Special case clickable */
398  .task.clickable {
399    cursor: pointer;
400  }
401  .taskText.clickable {
402    cursor: pointer;
403    fill: ${t.taskTextClickableColor} !important;
404    font-weight: bold;
405  }
406
407  .taskTextOutsideLeft.clickable {
408    cursor: pointer;
409    fill: ${t.taskTextClickableColor} !important;
410    font-weight: bold;
411  }
412
413  .taskTextOutsideRight.clickable {
414    cursor: pointer;
415    fill: ${t.taskTextClickableColor} !important;
416    font-weight: bold;
417  }
418
419  /* Specific task settings for the sections*/
420
421  .taskText0,
422  .taskText1,
423  .taskText2,
424  .taskText3 {
425    fill: ${t.taskTextColor};
426  }
427
428  .task0,
429  .task1,
430  .task2,
431  .task3 {
432    fill: ${t.taskBkgColor};
433    stroke: ${t.taskBorderColor};
434  }
435
436  .taskTextOutside0,
437  .taskTextOutside2
438  {
439    fill: ${t.taskTextOutsideColor};
440  }
441
442  .taskTextOutside1,
443  .taskTextOutside3 {
444    fill: ${t.taskTextOutsideColor};
445  }
446
447
448  /* Active task */
449
450  .active0,
451  .active1,
452  .active2,
453  .active3 {
454    fill: ${t.activeTaskBkgColor};
455    stroke: ${t.activeTaskBorderColor};
456  }
457
458  .activeText0,
459  .activeText1,
460  .activeText2,
461  .activeText3 {
462    fill: ${t.taskTextDarkColor} !important;
463  }
464
465
466  /* Completed task */
467
468  .done0,
469  .done1,
470  .done2,
471  .done3 {
472    stroke: ${t.doneTaskBorderColor};
473    fill: ${t.doneTaskBkgColor};
474    stroke-width: 2;
475  }
476
477  .doneText0,
478  .doneText1,
479  .doneText2,
480  .doneText3 {
481    fill: ${t.taskTextDarkColor} !important;
482  }
483
484
485  /* Tasks on the critical line */
486
487  .crit0,
488  .crit1,
489  .crit2,
490  .crit3 {
491    stroke: ${t.critBorderColor};
492    fill: ${t.critBkgColor};
493    stroke-width: 2;
494  }
495
496  .activeCrit0,
497  .activeCrit1,
498  .activeCrit2,
499  .activeCrit3 {
500    stroke: ${t.critBorderColor};
501    fill: ${t.activeTaskBkgColor};
502    stroke-width: 2;
503  }
504
505  .doneCrit0,
506  .doneCrit1,
507  .doneCrit2,
508  .doneCrit3 {
509    stroke: ${t.critBorderColor};
510    fill: ${t.doneTaskBkgColor};
511    stroke-width: 2;
512    cursor: pointer;
513    shape-rendering: crispEdges;
514  }
515
516  .milestone {
517    transform: rotate(45deg) scale(0.8,0.8);
518  }
519
520  .milestoneText {
521    font-style: italic;
522  }
523  .doneCritText0,
524  .doneCritText1,
525  .doneCritText2,
526  .doneCritText3 {
527    fill: ${t.taskTextDarkColor} !important;
528  }
529
530  .activeCritText0,
531  .activeCritText1,
532  .activeCritText2,
533  .activeCritText3 {
534    fill: ${t.taskTextDarkColor} !important;
535  }
536
537  .titleText {
538    text-anchor: middle;
539    font-size: 18px;
540    fill: ${t.textColor}    ;
541    font-family: 'trebuchet ms', verdana, arial, sans-serif;
542    font-family: var(--mermaid-font-family);
543  }
544`,e5=()=>"",e6=t=>`
545  .pieCircle{
546    stroke: ${t.pieStrokeColor};
547    stroke-width : ${t.pieStrokeWidth};
548    opacity : ${t.pieOpacity};
549  }
550  .pieTitleText {
551    text-anchor: middle;
552    font-size: ${t.pieTitleTextSize};
553    fill: ${t.pieTitleTextColor};
554    font-family: ${t.fontFamily};
555  }
556  .slice {
557    font-family: ${t.fontFamily};
558    fill: ${t.pieSectionTextColor};
559    font-size:${t.pieSectionTextSize};
560    // fill: white;
561  }
562  .legend text {
563    fill: ${t.pieLegendTextColor};
564    font-family: ${t.fontFamily};
565    font-size: ${t.pieLegendTextSize};
566  }
567`,e8=t=>`
568
569  marker {
570    fill: ${t.relationColor};
571    stroke: ${t.relationColor};
572  }
573
574  marker.cross {
575    stroke: ${t.lineColor};
576  }
577
578  svg {
579    font-family: ${t.fontFamily};
580    font-size: ${t.fontSize};
581  }
582
583  .reqBox {
584    fill: ${t.requirementBackground};
585    fill-opacity: 100%;
586    stroke: ${t.requirementBorderColor};
587    stroke-width: ${t.requirementBorderSize};
588  }
589  
590  .reqTitle, .reqLabel{
591    fill:  ${t.requirementTextColor};
592  }
593  .reqLabelBox {
594    fill: ${t.relationLabelBackground};
595    fill-opacity: 100%;
596  }
597
598  .req-title-line {
599    stroke: ${t.requirementBorderColor};
600    stroke-width: ${t.requirementBorderSize};
601  }
602  .relationshipLine {
603    stroke: ${t.relationColor};
604    stroke-width: 1;
605  }
606  .relationshipLabel {
607    fill: ${t.relationLabelColor};
608  }
609
610`,e7=t=>`.actor {
611    stroke: ${t.actorBorder};
612    fill: ${t.actorBkg};
613  }
614
615  text.actor > tspan {
616    fill: ${t.actorTextColor};
617    stroke: none;
618  }
619
620  .actor-line {
621    stroke: ${t.actorLineColor};
622  }
623
624  .messageLine0 {
625    stroke-width: 1.5;
626    stroke-dasharray: none;
627    stroke: ${t.signalColor};
628  }
629
630  .messageLine1 {
631    stroke-width: 1.5;
632    stroke-dasharray: 2, 2;
633    stroke: ${t.signalColor};
634  }
635
636  #arrowhead path {
637    fill: ${t.signalColor};
638    stroke: ${t.signalColor};
639  }
640
641  .sequenceNumber {
642    fill: ${t.sequenceNumberColor};
643  }
644
645  #sequencenumber {
646    fill: ${t.signalColor};
647  }
648
649  #crosshead path {
650    fill: ${t.signalColor};
651    stroke: ${t.signalColor};
652  }
653
654  .messageText {
655    fill: ${t.signalTextColor};
656    stroke: none;
657  }
658
659  .labelBox {
660    stroke: ${t.labelBoxBorderColor};
661    fill: ${t.labelBoxBkgColor};
662  }
663
664  .labelText, .labelText > tspan {
665    fill: ${t.labelTextColor};
666    stroke: none;
667  }
668
669  .loopText, .loopText > tspan {
670    fill: ${t.loopTextColor};
671    stroke: none;
672  }
673
674  .loopLine {
675    stroke-width: 2px;
676    stroke-dasharray: 2, 2;
677    stroke: ${t.labelBoxBorderColor};
678    fill: ${t.labelBoxBorderColor};
679  }
680
681  .note {
682    //stroke: #decc93;
683    stroke: ${t.noteBorderColor};
684    fill: ${t.noteBkgColor};
685  }
686
687  .noteText, .noteText > tspan {
688    fill: ${t.noteTextColor};
689    stroke: none;
690  }
691
692  .activation0 {
693    fill: ${t.activationBkgColor};
694    stroke: ${t.activationBorderColor};
695  }
696
697  .activation1 {
698    fill: ${t.activationBkgColor};
699    stroke: ${t.activationBorderColor};
700  }
701
702  .activation2 {
703    fill: ${t.activationBkgColor};
704    stroke: ${t.activationBorderColor};
705  }
706
707  .actorPopupMenu {
708    position: absolute;
709  }
710
711  .actorPopupMenuPanel {
712    position: absolute;
713    fill: ${t.actorBkg};
714    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
715    filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
716}
717  .actor-man line {
718    stroke: ${t.actorBorder};
719    fill: ${t.actorBkg};
720  }
721  .actor-man circle, line {
722    stroke: ${t.actorBorder};
723    fill: ${t.actorBkg};
724    stroke-width: 2px;
725  }
726`,e9=t=>`
727defs #statediagram-barbEnd {
728    fill: ${t.transitionColor};
729    stroke: ${t.transitionColor};
730  }
731g.stateGroup text {
732  fill: ${t.nodeBorder};
733  stroke: none;
734  font-size: 10px;
735}
736g.stateGroup text {
737  fill: ${t.textColor};
738  stroke: none;
739  font-size: 10px;
740
741}
742g.stateGroup .state-title {
743  font-weight: bolder;
744  fill: ${t.stateLabelColor};
745}
746
747g.stateGroup rect {
748  fill: ${t.mainBkg};
749  stroke: ${t.nodeBorder};
750}
751
752g.stateGroup line {
753  stroke: ${t.lineColor};
754  stroke-width: 1;
755}
756
757.transition {
758  stroke: ${t.transitionColor};
759  stroke-width: 1;
760  fill: none;
761}
762
763.stateGroup .composit {
764  fill: ${t.background};
765  border-bottom: 1px
766}
767
768.stateGroup .alt-composit {
769  fill: #e0e0e0;
770  border-bottom: 1px
771}
772
773.state-note {
774  stroke: ${t.noteBorderColor};
775  fill: ${t.noteBkgColor};
776
777  text {
778    fill: ${t.noteTextColor};
779    stroke: none;
780    font-size: 10px;
781  }
782}
783
784.stateLabel .box {
785  stroke: none;
786  stroke-width: 0;
787  fill: ${t.mainBkg};
788  opacity: 0.5;
789}
790
791.edgeLabel .label rect {
792  fill: ${t.labelBackgroundColor};
793  opacity: 0.5;
794}
795.edgeLabel .label text {
796  fill: ${t.transitionLabelColor||t.tertiaryTextColor};
797}
798.label div .edgeLabel {
799  color: ${t.transitionLabelColor||t.tertiaryTextColor};
800}
801
802.stateLabel text {
803  fill: ${t.stateLabelColor};
804  font-size: 10px;
805  font-weight: bold;
806}
807
808.node circle.state-start {
809  fill: ${t.specialStateColor};
810  stroke: ${t.specialStateColor};
811}
812
813.node .fork-join {
814  fill: ${t.specialStateColor};
815  stroke: ${t.specialStateColor};
816}
817
818.node circle.state-end {
819  fill: ${t.innerEndBackground};
820  stroke: ${t.background};
821  stroke-width: 1.5
822}
823.end-state-inner {
824  fill: ${t.compositeBackground||t.background};
825  // stroke: ${t.background};
826  stroke-width: 1.5
827}
828
829.node rect {
830  fill: ${t.stateBkg||t.mainBkg};
831  stroke: ${t.stateBorder||t.nodeBorder};
832  stroke-width: 1px;
833}
834.node polygon {
835  fill: ${t.mainBkg};
836  stroke: ${t.stateBorder||t.nodeBorder};;
837  stroke-width: 1px;
838}
839#statediagram-barbEnd {
840  fill: ${t.lineColor};
841}
842
843.statediagram-cluster rect {
844  fill: ${t.compositeTitleBackground};
845  stroke: ${t.stateBorder||t.nodeBorder};
846  stroke-width: 1px;
847}
848
849.cluster-label, .nodeLabel {
850  color: ${t.stateLabelColor};
851}
852
853.statediagram-cluster rect.outer {
854  rx: 5px;
855  ry: 5px;
856}
857.statediagram-state .divider {
858  stroke: ${t.stateBorder||t.nodeBorder};
859}
860
861.statediagram-state .title-state {
862  rx: 5px;
863  ry: 5px;
864}
865.statediagram-cluster.statediagram-cluster .inner {
866  fill: ${t.compositeBackground||t.background};
867}
868.statediagram-cluster.statediagram-cluster-alt .inner {
869  fill: ${t.altBackground?t.altBackground:"#efefef"};
870}
871
872.statediagram-cluster .inner {
873  rx:0;
874  ry:0;
875}
876
877.statediagram-state rect.basic {
878  rx: 5px;
879  ry: 5px;
880}
881.statediagram-state rect.divider {
882  stroke-dasharray: 10,10;
883  fill: ${t.altBackground?t.altBackground:"#efefef"};
884}
885
886.note-edge {
887  stroke-dasharray: 5;
888}
889
890.statediagram-note rect {
891  fill: ${t.noteBkgColor};
892  stroke: ${t.noteBorderColor};
893  stroke-width: 1px;
894  rx: 0;
895  ry: 0;
896}
897.statediagram-note rect {
898  fill: ${t.noteBkgColor};
899  stroke: ${t.noteBorderColor};
900  stroke-width: 1px;
901  rx: 0;
902  ry: 0;
903}
904
905.statediagram-note text {
906  fill: ${t.noteTextColor};
907}
908
909.statediagram-note .nodeLabel {
910  color: ${t.noteTextColor};
911}
912.statediagram .edgeLabel {
913  color: red; // ${t.noteTextColor};
914}
915
916#dependencyStart, #dependencyEnd {
917  fill: ${t.lineColor};
918  stroke: ${t.lineColor};
919  stroke-width: 1;
920}
921
922.statediagramTitleText {
923  text-anchor: middle;
924  font-size: 18px;
925  fill: ${t.textColor};
926}
927`,it=t=>`.label {
928    font-family: 'trebuchet ms', verdana, arial, sans-serif;
929    font-family: var(--mermaid-font-family);
930    color: ${t.textColor};
931  }
932  .mouth {
933    stroke: #666;
934  }
935
936  line {
937    stroke: ${t.textColor}
938  }
939
940  .legend {
941    fill: ${t.textColor};
942  }
943
944  .label text {
945    fill: #333;
946  }
947  .label {
948    color: ${t.textColor}
949  }
950
951  .face {
952    ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};
953    stroke: #999;
954  }
955
956  .node rect,
957  .node circle,
958  .node ellipse,
959  .node polygon,
960  .node path {
961    fill: ${t.mainBkg};
962    stroke: ${t.nodeBorder};
963    stroke-width: 1px;
964  }
965
966  .node .label {
967    text-align: center;
968  }
969  .node.clickable {
970    cursor: pointer;
971  }
972
973  .arrowheadPath {
974    fill: ${t.arrowheadColor};
975  }
976
977  .edgePath .path {
978    stroke: ${t.lineColor};
979    stroke-width: 1.5px;
980  }
981
982  .flowchart-link {
983    stroke: ${t.lineColor};
984    fill: none;
985  }
986
987  .edgeLabel {
988    background-color: ${t.edgeLabelBackground};
989    rect {
990      opacity: 0.5;
991    }
992    text-align: center;
993  }
994
995  .cluster rect {
996  }
997
998  .cluster text {
999    fill: ${t.titleColor};
1000  }
1001
1002  div.mermaidTooltip {
1003    position: absolute;
1004    text-align: center;
1005    max-width: 200px;
1006    padding: 2px;
1007    font-family: 'trebuchet ms', verdana, arial, sans-serif;
1008    font-family: var(--mermaid-font-family);
1009    font-size: 12px;
1010    background: ${t.tertiaryColor};
1011    border: 1px solid ${t.border2};
1012    border-radius: 2px;
1013    pointer-events: none;
1014    z-index: 100;
1015  }
1016
1017  .task-type-0, .section-type-0  {
1018    ${t.fillType0?`fill: ${t.fillType0}`:""};
1019  }
1020  .task-type-1, .section-type-1  {
1021    ${t.fillType0?`fill: ${t.fillType1}`:""};
1022  }
1023  .task-type-2, .section-type-2  {
1024    ${t.fillType0?`fill: ${t.fillType2}`:""};
1025  }
1026  .task-type-3, .section-type-3  {
1027    ${t.fillType0?`fill: ${t.fillType3}`:""};
1028  }
1029  .task-type-4, .section-type-4  {
1030    ${t.fillType0?`fill: ${t.fillType4}`:""};
1031  }
1032  .task-type-5, .section-type-5  {
1033    ${t.fillType0?`fill: ${t.fillType5}`:""};
1034  }
1035  .task-type-6, .section-type-6  {
1036    ${t.fillType0?`fill: ${t.fillType6}`:""};
1037  }
1038  .task-type-7, .section-type-7  {
1039    ${t.fillType0?`fill: ${t.fillType7}`:""};
1040  }
1041
1042  .actor-0 {
1043    ${t.actor0?`fill: ${t.actor0}`:""};
1044  }
1045  .actor-1 {
1046    ${t.actor1?`fill: ${t.actor1}`:""};
1047  }
1048  .actor-2 {
1049    ${t.actor2?`fill: ${t.actor2}`:""};
1050  }
1051  .actor-3 {
1052    ${t.actor3?`fill: ${t.actor3}`:""};
1053  }
1054  .actor-4 {
1055    ${t.actor4?`fill: ${t.actor4}`:""};
1056  }
1057  .actor-5 {
1058    ${t.actor5?`fill: ${t.actor5}`:""};
1059  }
1060`,ie=t=>`.person {
1061    stroke: ${t.personBorder};
1062    fill: ${t.personBkg};
1063  }
1064`,ii={flowchart:e3,"flowchart-v2":e3,sequence:e7,gantt:e4,classDiagram:e1,"classDiagram-v2":e1,class:e1,stateDiagram:e9,state:e9,info:e5,pie:e6,er:e0,error:e2,journey:it,requirement:e8,c4:ie},ir=t=>q(t,eW()),ia={},is=(t,e,i)=>{var r;if(ia[t])throw Error(`Diagram ${t} already registered.`);ia[t]=e,i&&ep(t,i),r=e.styles,ii[t]=r,e.injectUtils&&e.injectUtils(z,Y,eW,ir,eJ)},io=t=>{if(t in ia)return ia[t];throw Error(`Diagram ${t} not found.`)};var il=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,4],i=[1,7],r=[1,5],a=[1,9],s=[1,6],n=[2,6],o=[1,16],l=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],h=[8,14,20,22,24,25,27,29,32,37,40],u=[8,13,14,20,22,24,25,27,29,32,37,40],d=[1,26],p=[6,8,14,50,55],g=[8,14,55],y=[1,53],f=[1,52],m=[8,14,30,33,35,38,55],b=[1,67],x=[1,68],k=[1,69],_=[8,14,33,35,42,55],C={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 3:return s[o];case 4:return s[o-1];case 5:return r.setDirection(s[o-3]),s[o-1];case 7:r.setOptions(s[o-1]),this.$=s[o];break;case 8:s[o-1]+=s[o],this.$=s[o-1];break;case 10:this.$=[];break;case 11:s[o-1].push(s[o]),this.$=s[o-1];break;case 12:this.$=s[o-1];break;case 17:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 18:case 19:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 20:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 22:r.checkout(s[o]);break;case 23:r.branch(s[o]);break;case 24:r.branch(s[o-2],s[o]);break;case 25:r.cherryPick(s[o],"",void 0);break;case 26:r.cherryPick(s[o-2],"",s[o]);break;case 27:case 29:r.cherryPick(s[o-2],"","");break;case 28:r.cherryPick(s[o],"",s[o-2]);break;case 30:r.merge(s[o],"","","");break;case 31:r.merge(s[o-2],s[o],"","");break;case 32:r.merge(s[o-2],"",s[o],"");break;case 33:r.merge(s[o-2],"","",s[o]);break;case 34:r.merge(s[o-4],s[o],"",s[o-2]);break;case 35:r.merge(s[o-4],"",s[o],s[o-2]);break;case 36:r.merge(s[o-4],"",s[o-2],s[o]);break;case 37:r.merge(s[o-4],s[o-2],s[o],"");break;case 38:r.merge(s[o-4],s[o-2],"",s[o]);break;case 39:r.merge(s[o-4],s[o],s[o-2],"");break;case 40:r.merge(s[o-6],s[o-4],s[o-2],s[o]);break;case 41:r.merge(s[o-6],s[o],s[o-4],s[o-2]);break;case 42:r.merge(s[o-6],s[o-4],s[o],s[o-2]);break;case 43:r.merge(s[o-6],s[o-2],s[o-4],s[o]);break;case 44:r.merge(s[o-6],s[o],s[o-2],s[o-4]);break;case 45:r.merge(s[o-6],s[o-2],s[o],s[o-4]);break;case 46:r.commit(s[o]);break;case 47:r.commit("","",r.commitType.NORMAL,s[o]);break;case 48:r.commit("","",s[o],"");break;case 49:r.commit("","",s[o],s[o-2]);break;case 50:r.commit("","",s[o-2],s[o]);break;case 51:r.commit("",s[o],r.commitType.NORMAL,"");break;case 52:r.commit("",s[o-2],r.commitType.NORMAL,s[o]);break;case 53:r.commit("",s[o],r.commitType.NORMAL,s[o-2]);break;case 54:r.commit("",s[o-2],s[o],"");break;case 55:r.commit("",s[o],s[o-2],"");break;case 56:r.commit("",s[o-4],s[o-2],s[o]);break;case 57:r.commit("",s[o-4],s[o],s[o-2]);break;case 58:r.commit("",s[o-2],s[o-4],s[o]);break;case 59:r.commit("",s[o],s[o-4],s[o-2]);break;case 60:r.commit("",s[o],s[o-2],s[o-4]);break;case 61:r.commit("",s[o-2],s[o],s[o-4]);break;case 62:r.commit(s[o],"",r.commitType.NORMAL,"");break;case 63:r.commit(s[o],"",r.commitType.NORMAL,s[o-2]);break;case 64:r.commit(s[o-2],"",r.commitType.NORMAL,s[o]);break;case 65:r.commit(s[o-2],"",s[o],"");break;case 66:r.commit(s[o],"",s[o-2],"");break;case 67:r.commit(s[o],s[o-2],r.commitType.NORMAL,"");break;case 68:r.commit(s[o-2],s[o],r.commitType.NORMAL,"");break;case 69:r.commit(s[o-4],"",s[o-2],s[o]);break;case 70:r.commit(s[o-4],"",s[o],s[o-2]);break;case 71:r.commit(s[o-2],"",s[o-4],s[o]);break;case 72:r.commit(s[o],"",s[o-4],s[o-2]);break;case 73:r.commit(s[o],"",s[o-2],s[o-4]);break;case 74:r.commit(s[o-2],"",s[o],s[o-4]);break;case 75:r.commit(s[o-4],s[o],s[o-2],"");break;case 76:r.commit(s[o-4],s[o-2],s[o],"");break;case 77:r.commit(s[o-2],s[o],s[o-4],"");break;case 78:r.commit(s[o],s[o-2],s[o-4],"");break;case 79:r.commit(s[o],s[o-4],s[o-2],"");break;case 80:r.commit(s[o-2],s[o-4],s[o],"");break;case 81:r.commit(s[o-4],s[o],r.commitType.NORMAL,s[o-2]);break;case 82:r.commit(s[o-4],s[o-2],r.commitType.NORMAL,s[o]);break;case 83:r.commit(s[o-2],s[o],r.commitType.NORMAL,s[o-4]);break;case 84:r.commit(s[o],s[o-2],r.commitType.NORMAL,s[o-4]);break;case 85:r.commit(s[o],s[o-4],r.commitType.NORMAL,s[o-2]);break;case 86:r.commit(s[o-2],s[o-4],r.commitType.NORMAL,s[o]);break;case 87:r.commit(s[o-6],s[o-4],s[o-2],s[o]);break;case 88:r.commit(s[o-6],s[o-4],s[o],s[o-2]);break;case 89:r.commit(s[o-6],s[o-2],s[o-4],s[o]);break;case 90:r.commit(s[o-6],s[o],s[o-4],s[o-2]);break;case 91:r.commit(s[o-6],s[o-2],s[o],s[o-4]);break;case 92:r.commit(s[o-6],s[o],s[o-2],s[o-4]);break;case 93:r.commit(s[o-4],s[o-6],s[o-2],s[o]);break;case 94:r.commit(s[o-4],s[o-6],s[o],s[o-2]);break;case 95:r.commit(s[o-2],s[o-6],s[o-4],s[o]);break;case 96:r.commit(s[o],s[o-6],s[o-4],s[o-2]);break;case 97:r.commit(s[o-2],s[o-6],s[o],s[o-4]);break;case 98:r.commit(s[o],s[o-6],s[o-2],s[o-4]);break;case 99:r.commit(s[o],s[o-4],s[o-2],s[o-6]);break;case 100:r.commit(s[o-2],s[o-4],s[o],s[o-6]);break;case 101:r.commit(s[o],s[o-2],s[o-4],s[o-6]);break;case 102:r.commit(s[o-2],s[o],s[o-4],s[o-6]);break;case 103:r.commit(s[o-4],s[o-2],s[o],s[o-6]);break;case 104:r.commit(s[o-4],s[o],s[o-2],s[o-6]);break;case 105:r.commit(s[o-2],s[o-4],s[o-6],s[o]);break;case 106:r.commit(s[o],s[o-4],s[o-6],s[o-2]);break;case 107:r.commit(s[o-2],s[o],s[o-6],s[o-4]);break;case 108:r.commit(s[o],s[o-2],s[o-6],s[o-4]);break;case 109:r.commit(s[o-4],s[o-2],s[o-6],s[o]);break;case 110:r.commit(s[o-4],s[o],s[o-6],s[o-2]);break;case 111:this.$="";break;case 112:this.$=s[o];break;case 113:this.$=r.commitType.NORMAL;break;case 114:this.$=r.commitType.REVERSE;break;case 115:this.$=r.commitType.HIGHLIGHT;break;case 118:r.parseDirective("%%{","open_directive");break;case 119:r.parseDirective(s[o],"type_directive");break;case 120:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 121:r.parseDirective("}%%","close_directive","gitGraph")}},table:[{3:1,4:2,5:3,6:e,8:i,14:r,46:8,50:a,55:s},{1:[3]},{3:10,4:2,5:3,6:e,8:i,14:r,46:8,50:a,55:s},{3:11,4:2,5:3,6:e,8:i,14:r,46:8,50:a,55:s},{7:12,8:n,9:[1,13],10:[1,14],11:15,14:o},t(l,[2,124]),t(l,[2,125]),t(l,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:n,11:15,14:o},{9:[1,21]},t(h,[2,10],{12:22,13:[1,23]}),t(u,[2,9]),{9:[1,25],48:24,53:d},t([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:n,11:15,14:o}
vendor: 4,341 bytes, line 1064
1064,{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},t(u,[2,8]),t(p,[2,116]),{49:45,52:[1,46]},t(p,[2,121]),{1:[2,4]},{8:[1,47]},t(h,[2,11]),{4:48,8:i,14:r,55:s},t(h,[2,13]),t(g,[2,14]),t(g,[2,15]),t(g,[2,16]),{21:[1,49]},{23:[1,50]},t(g,[2,19]),t(g,[2,20]),t(g,[2,21]),{28:51,34:y,54:f},t(g,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:y,54:f},{33:[1,61],35:[1,62]},{28:63,34:y,54:f},{48:64,53:d},{53:[2,120]},{1:[2,5]},t(h,[2,12]),t(g,[2,17]),t(g,[2,18]),t(g,[2,22]),t(m,[2,122]),t(m,[2,123]),t(g,[2,46]),{34:[1,65]},{39:66,43:b,44:x,45:k},{34:[1,70]},{34:[1,71]},t(g,[2,112]),t(g,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},t(g,[2,23],{30:[1,78]}),t(p,[2,117]),t(g,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),t(g,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),t(_,[2,113]),t(_,[2,114]),t(_,[2,115]),t(g,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),t(g,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:b,44:x,45:k},{34:[1,93]},t(g,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:b,44:x,45:k},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:b,44:x,45:k},{34:[1,106]},{34:[1,107]},{39:108,43:b,44:x,45:k},{34:[1,109]},t(g,[2,31],{35:[1,111],38:[1,110]}),t(g,[2,32],{33:[1,113],35:[1,112]}),t(g,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},t(g,[2,24]),t(g,[2,49],{33:[1,120],42:[1,121]}),t(g,[2,53],{38:[1,122],42:[1,123]}),t(g,[2,63],{33:[1,125],38:[1,124]}),t(g,[2,50],{33:[1,126],42:[1,127]}),t(g,[2,55],{35:[1,128],42:[1,129]}),t(g,[2,66],{33:[1,131],35:[1,130]}),t(g,[2,52],{38:[1,132],42:[1,133]}),t(g,[2,54],{35:[1,134],42:[1,135]}),t(g,[2,67],{35:[1,137],38:[1,136]}),t(g,[2,64],{33:[1,139],38:[1,138]}),t(g,[2,65],{33:[1,141],35:[1,140]}),t(g,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:b,44:x,45:k},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:b,44:x,45:k},t(g,[2,26]),t(g,[2,27]),t(g,[2,28]),t(g,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:b,44:x,45:k},{34:[1,153]},{39:154,43:b,44:x,45:k},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:b,44:x,45:k},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:b,44:x,45:k},{34:[1,167]},{39:168,43:b,44:x,45:k},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:b,44:x,45:k},{34:[1,173]},t(g,[2,37],{35:[1,174]}),t(g,[2,38],{38:[1,175]}),t(g,[2,36],{33:[1,176]}),t(g,[2,39],{35:[1,177]}),t(g,[2,34],{38:[1,178]}),t(g,[2,35],{33:[1,179]}),t(g,[2,60],{42:[1,180]}),t(g,[2,73],{33:[1,181]}),t(g,[2,61],{42:[1,182]}),t(g,[2,84],{38:[1,183]}),t(g,[2,74],{33:[1,184]}),t(g,[2,83],{38:[1,185]}),t(g,[2,59],{42:[1,186]}),t(g,[2,72],{33:[1,187]}),t(g,[2,58],{42:[1,188]}),t(g,[2,78],{35:[1,189]}),t(g,[2,71],{33:[1,190]}),t(g,[2,77],{35:[1,191]}),t(g,[2,57],{42:[1,192]}),t(g,[2,85],{38:[1,193]}),t(g,[2,56],{42:[1,194]}),t(g,[2,79],{35:[1,195]}),t(g,[2,80],{35:[1,196]}),t(g,[2,86],{38:[1,197]}),t(g,[2,70],{33:[1,198]}),t(g,[2,81],{38:[1,199]}),t(g,[2,69],{33:[1,200]}),t(g,[2,75],{35:[1,201]}),t(g,[2,76],{35:[1,202]}),t(g,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:b,44:x,45:k},{34:[1,206]},{34:[1,207]},{39:208,43:b,44:x,45:k},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:b,44:x,45:k},{34:[1,214]},{39:215,43:b,44:x,45:k},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:b,44:x,45:k},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:b,44:x,45:k},{34:[1,228]},{39:229,43:b,44:x,45:k},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:b,44:x,45:k},t(g,[2,40]),t(g,[2,42]),t(g,[2,41]),t(g,[2,43]),t(g,[2,45]),t(g,[2,44]),t(g,[2,101]),t(g,[2,102]),t(g,[2,99]),t(g,[2,100]),t(g,[2,104]),t(g,[2,103]),t(g,[2,108]),t(g,[2,107]),t(g,[2,106]),t(g,[2,105]),t(g,[2,110]),t(g,[2,109]),t(g,[2,98]),t(g,[2,97]),t(g,[2,96]),t(g,[2,95]),t(g,[2,93]),t(g,[2,94]),t(g,[2,92]),t(g,[2,91]),t(g,[2,90]),t(g,[2,89]),t(g,[2,87]),t(g,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1
1064),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function T(){this.yy={}}return C.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1064,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),50;case 1:return this.begin("type_directive"),51;case 2:return this.popState(),this.begin("arg_directive"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin("acc_title"),20;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),22;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 34:case 38:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:return 14;case 13:case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:case 30:return 10;case 31:return 9;case 32:return"CARET";case 33:this.begin("options");break;case 35:return 13;case 36:return 36;case 37:this.begin("string");break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\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,/^(?:#[^\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,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:BT\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:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}},T.prototype=C,C.Parser=T,new T}();il.parser=il;let ic=t=>null!==t.match(/^\s*gitGraph/),ih="",iu="",id="",ip=t=>q(t,eW()),ig=function(){ih="",id="",iu=""},iy=function(t){ih=ip(t).replace(/^\s+/g,"")},im=function(){return ih||iu},ib=function(t){id=ip(t).replace(/\n\s+/g,"\n")},ix=function(){return id},ik=function(t){iu=ip(t)},i_=function(){return iu},iC=eW().gitGraph.mainBranchName,iT=eW().gitGraph.mainBranchOrder,iE={},iv=null,iA={};iA[iC]={name:iC,order:iT};let iS={};iS[iC]=iv;let iw=iC,iL="LR",iB=0;function iI(){return eT({length:7})}let iD={},iO=function(t){if(void 0===iS[t=K.sanitizeText(t,eW())]){let e=Error('Trying to checkout branch which is not yet created. (Help try using "branch '+t+'")');throw e.hash={text:"checkout "+t,token:"checkout "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+t+'"']},e}iv=iE[iS[iw=t]]};function iF(t,e,i){let r=t.indexOf(e);-1===r?t.push(i):t.splice(r,1,i)}let iN=function(){let t=Object.keys(iE).map(function(t){return iE[t]});return t.forEach(function(t){z.debug(t.id)}),t.sort((t,e)=>t.seq-e.seq),t},iR={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},i$={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().gitGraph,setDirection:function(t){iL=t},setOptions:function(t){z.debug("options str",t),t=(t=t&&t.trim())||"{}";try{iD=JSON.parse(t)}catch(t){z.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return iD},commit:function(t,e,i,r){z.debug("Entering commit:",t,e,i,r),e=K.sanitizeText(e,eW()),t=K.sanitizeText(t,eW()),r=K.sanitizeText(r,eW());let a={id:e||iB+"-"+iI(),message:t,seq:iB++,type:i||iR.NORMAL,tag:r||"",parents:null==iv?[]:[iv.id],branch:iw};
1064iv=a,iE[a.id]=a,iS[iw]=a.id,z.debug("in pushCommit "+a.id)},branch:function(t,e){if(void 0===iS[t=K.sanitizeText(t,eW())])iS[t]=null!=iv?iv.id:null,iA[t]={name:t,order:e?parseInt(e,10):null},iO(t),z.debug("in createBranch");else{let e=Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+t+'")');throw e.hash={text:"branch "+t,token:"branch "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+t+'"']},e}},merge:function(t,e,i,r){t=K.sanitizeText(t,eW()),e=K.sanitizeText(e,eW());let a=iE[iS[iw]],s=iE[iS[t]];if(iw===t){let e=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(void 0!==a&&a)if(void 0===iS[t]){let e=Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+t]},e}
1064else if(void 0!==s&&s){if(a===s){let e=Error('Incorrect usage of "merge". Both branches have same head');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}else if(e&&void 0!==iE[e]){let a=Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom Id");throw a.hash={text:"merge "+t+e+i+r,token:"merge "+t+e+i+r,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+t+" "+e+"_UNIQUE "+i+" "+r]},a}}else{let e=Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},e}else{let e=Error('Incorrect usage of "merge". Current branch ('+iw+")has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},e}let n={id:e||iB+"-"+iI(),message:"merged branch "+t+" into "+iw,seq:iB++,parents:[null==iv?null:iv.id,iS[t]],branch:iw,type:iR.MERGE,customType:i,customId:!!e,tag:r||""};iv=n,iE[n.id]=n,iS[iw]=n.id,z.debug(iS),z.debug("in mergeBranch")},cherryPick:function(t,e,i){if(z.debug("Entering cherryPick:",t,e,i),t=K.sanitizeText(t,eW()),e=K.sanitizeText(e,eW()),i=K.sanitizeText(i,eW()),!t||void 0===iE[t]){let i=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw i.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},i}let r=iE[t],a=r.branch;if(r.type===iR.MERGE){let i=Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw i.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},i}if(!e||void 0===iE[e]){if(a===iw){let i=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw i.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},i}let s=iE[iS[iw]];if(void 0===s||!s){let i=Error('Incorrect usage of "cherry-pick". Current branch ('+iw+")has no commits");throw i.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},i}let n={id:iB+"-"+iI(),message:"cherry-picked "+r+" into "+iw,seq:iB++,parents:[null==iv?null:iv.id,r.id],branch:iw,type:iR.CHERRY_PICK,tag:null!=i?i:"cherry-pick:"+r.id};iv=n,iE[n.id]=n,iS[iw]=n.id,z.debug(iS),z.debug("in cherryPick")}},checkout:iO,prettyPrint:function(){z.debug(iE),function t(e){let i=e.reduce((t,e)=>t.seq>e.seq?t:e,e[0]),r="";e.forEach(function(t){t===i?r+="	*":r+="	|"});let a=[r,i.id,i.seq];for(let t in iS)iS[t]===i.id&&a.push(t);if(z.debug(a.join(" ")),i.parents&&2==i.parents.length){let t=iE[i.parents[0]];iF(e,i,t),e.push(iE[i.parents[1]])}else{if(0==i.parents.length)return;let t=iE[i.parents];iF(e,i,t)}t(e=function(t,e){let i=Object.create(null);return t.reduce((t,r)=>{let a=e(r);return i[a]||(i[a]=!0,t.push(r)),t},[])}(e,t=>t.id))}([iN()[0]])},clear:function(){iE={},iv=null;let t=eW().gitGraph.mainBranchName,e=eW().gitGraph.mainBranchOrder;(iS={})[t]=null,(iA={})[t]={name:t,order:e},iw=t,iB=0,ig()},getBranchesAsObjArray:function(){return Object.values(iA).map((t,e)=>null!==t.order?t:{...t,order:parseFloat(`0.${e}`,10)}).sort((t,e)=>t.order-e.order).map(({name:t})=>({name:t}))},getBranches:function(){return iS},getCommits:function(){return iE},getCommitsArray:iN,getCurrentBranch:function(){return iw},getDirection:function(){return iL},getHead:function(){return iv},setAccTitle:iy,getAccTitle:im,getAccDescription:ix,setAccDescription:ib,setDiagramTitle:ik,getDiagramTitle:i_,commitType:iR},iM={},iP={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},iz={},iY={},ij=[],iW=0,iq=(t,e,i)=>{let r=eW().gitGraph,a=t.append("g").attr("class","commit-bullets"),s=t.append("g").attr("class","commit-labels"),n=0;Object.keys(e).sort((t,i)=>e[t].seq-e[i].seq).forEach(t=>{let o=e[t],l=iz[o.branch].pos,h=n+10;if(i){let t,e=void 0!==o.customType&&""!==o.customType?o.customType:o.type;switch(e){case iP.NORMAL:t="commit-normal";break;case iP.REVERSE:t="commit-reverse";break;case iP.HIGHLIGHT:t="commit-highlight";break;case iP.MERGE:t="commit-merge";break;case iP.CHERRY_PICK:t="commit-cherry-pick";break;default:t="commit-normal"}if(e===iP.HIGHLIGHT){let e=a.append("rect");e.attr("x",h-10),e.attr("y",l-10),e.attr("height",20),e.attr("width",20),e.attr("class",`commit ${o.id} commit-highlight${iz[o.branch].index%8} ${t}-outer`),a.append("rect").attr("x",h-6).attr("y",l-6).attr("height",12).attr("width",12).attr("class",`commit ${o.id} commit${iz[o.branch].index%8} ${t}-inner`)}else if(e===iP.CHERRY_PICK)a.append("circle").attr("cx",h).attr("cy",l).attr("r",10).attr("class",`commit ${o.id} ${t}`),a.append("circle").attr("cx",h-3).attr("cy",l+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${o.id} ${t}`),a.append("circle").attr("cx",h+3).attr("cy",l+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${o.id} ${t}`),a.append("line").attr("x1",h+3).attr("y1",l+1).attr("x2",h).attr("y2",l-5).attr("stroke","#fff").attr("class",`commit ${o.id} ${t}`),a.append("line").attr("x1",h-3).attr("y1",l+1).attr("x2",h).attr("y2",l-5).attr("stroke","#fff").attr("class",`commit ${o.id} ${t}`);else{let i=a.append("circle");if(i.attr("cx",h),i.attr("cy",l),i.attr("r",o.type===iP.MERGE?9:10),i.attr("class",`commit ${o.id} commit${iz[o.branch].index%8}`),e===iP.MERGE){let e=a.append("circle");e.attr("cx",h),e.attr("cy",l),e.attr("r",6),e.attr("class",`commit ${t} ${o.id} commit${iz[o.branch].index%8}`)}e===iP.REVERSE&&a.append("path").attr("d",`M ${h-5},${l-5}L${h+5},${l+5}M${h-5},${l+5}L${h+5},${l-5}`).attr("class",`commit ${t} ${o.id} commit${iz[o.branch].index%8}`)}}if(iY[o.id]={x:n+10,y:l},i){if(o.type!==iP.CHERRY_PICK&&(o.customId&&o.type===iP.MERGE||o.type!==iP.MERGE)&&r.showCommitLabel){let t=s.append("g"),e=t.insert("rect").attr("class","commit-label-bkg"),i=t.append("text").attr("x",
1064n).attr("y",l+25).attr("class","commit-label").text(o.id),a=i.node().getBBox();if(e.attr("x",n+10-a.width/2-2).attr("y",l+13.5).attr("width",a.width+4).attr("height",a.height+4),i.attr("x",n+10-a.width/2),r.rotateCommitLabel){let e=-7.5-(a.width+10)/25*9.5,i=10+a.width/25*8.5;t.attr("transform","translate("+e+", "+i+") rotate(-45, "+n+", "+l+")")}}if(o.tag){let t=s.insert("polygon"),e=s.append("circle"),i=s.append("text").attr("y",l-16).attr("class","tag-label").text(o.tag),r=i.node().getBBox();i.attr("x",n+10-r.width/2);let a=r.height/2,h=l-19.2;t.attr("class","tag-label-bkg").attr("points",`
1065          ${n-r.width/2-2},${h+2}
1066          ${n-r.width/2-2},${h-2}
1067          ${n+10-r.width/2-4},${h-a-2}
1068          ${n+10+r.width/2+4},${h-a-2}
1069          ${n+10+r.width/2+4},${h+a+2}
1070          ${n+10-r.width/2-4},${h+a+2}`),e.attr("cx",n-r.width/2+2).attr("cy",h).attr("r",1.5).attr("class","tag-hole")}}(n+=50)>iW&&(iW=n)})},iU=(t,e,i=0)=>{let r=t+Math.abs(t-e)/2;if(i>5)return r;if(ij.every(t=>Math.abs(t-r)>=10))return ij.push(r),r;let a=Math.abs(t-e);return iU(t,e-a/5,i+1)},iV={draw:function(t,e,i,r){iz={},iY={},iM={},iW=0,ij=[];let a=eW(),s=a.gitGraph;z.debug("in gitgraph renderer",t+"\n","id:",e,i),iM=r.db.getCommits();let n=r.db.getBranchesAsObjArray(),o=0;n.forEach((t,e)=>{iz[t.name]={pos:o,index:e},o+=50+40*!!s.rotateCommitLabel});let l=(0,x.Ltv)(`[id="${e}"]`);iq(l,iM,!1),s.showBranches&&((t,e)=>{let i=eW().gitGraph,r=t.append("g");e.forEach((t,e)=>{let a=e%8,s=iz[t.name].pos,n=r.append("line");n.attr("x1",0),n.attr("y1",s),n.attr("x2",iW),n.attr("y2",s),n.attr("class","branch branch"+a),ij.push(s);let o=(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");for(let i of"string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(t)?t:[]){let t=document.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","0"),t.setAttribute("class","row"),t.textContent=i.trim(),e.appendChild(t)}return e})(t.name),l=r.insert("rect"),h=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);h.node().appendChild(o);let u=o.getBBox();l.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-u.width-4-30*(!0===i.rotateCommitLabel)).attr("y",-u.height/2+8).attr("width",u.width+18).attr("height",u.height+4),h.attr("transform","translate("+(-u.width-14-30*(!0===i.rotateCommitLabel))+", "+(s-u.height/2-1)+")"),l.attr("transform","translate(-19, "+(s-u.height/2)+")")})})(l,n);var h,u=iM;let d=l.append("g").attr("class","commit-arrows");Object.keys(u).forEach(t=>{let e=u[t];e.parents&&e.parents.length>0&&e.parents.forEach(t=>{((t,e,i,r)=>{let a,s,n,o,l=iY[e.id],h=iY[i.id],u=(s=e,n=i,Object.keys(o=r).filter(t=>o[t].branch===n.branch&&o[t].seq>s.seq&&o[t].seq<n.seq).length>0),d="",p="",g=0,y=0,f=iz[i.branch].index;if(u){d="A 10 10, 0, 0, 0,",p="A 10 10, 0, 0, 1,",g=10,y=10,f=iz[i.branch].index;let t=l.y<h.y?iU(l.y,h.y):iU(h.y,l.y);a=l.y<h.y?`M ${l.x} ${l.y} L ${l.x} ${t-g} ${d} ${l.x+y} ${t} L ${h.x-g} ${t} ${p} ${h.x} ${t+y} L ${h.x} ${h.y}`:`M ${l.x} ${l.y} L ${l.x} ${t+g} ${p} ${l.x+y} ${t} L ${h.x-g} ${t} ${d} ${h.x} ${t-y} L ${h.x} ${h.y}`}else l.y<h.y&&(d="A 20 20, 0, 0, 0,",g=20,y=20,f=iz[i.branch].index,a=`M ${l.x} ${l.y} L ${l.x} ${h.y-g} ${d} ${l.x+y} ${h.y} L ${h.x} ${h.y}`),l.y>h.y&&(d="A 20 20, 0, 0, 0,",g=20,y=20,f=iz[e.branch].index,a=`M ${l.x} ${l.y} L ${h.x-g} ${l.y} ${d} ${h.x} ${l.y-y} L ${h.x} ${h.y}`),l.y===h.y&&(f=iz[e.branch].index,a=`M ${l.x} ${l.y} L ${l.x} ${h.y-g} ${d} ${l.x+y} ${h.y} L ${h.x} ${h.y}`);t.append("path").attr("d",a).attr("class","arrow arrow"+f%8)})(d,u[t],e,u)})}),iq(l,iM,!0),eF.insertTitle(l,"gitTitleText",s.titleTopMargin,r.db.getDiagramTitle()),eJ(void 0,l,s.diagramPadding,null!=(h=s.useMaxWidth)?h:a.useMaxWidth)}},iH=t=>`
1071  .commit-id,
1072  .commit-msg,
1073  .branch-label {
1074    fill: lightgrey;
1075    color: lightgrey;
1076    font-family: 'trebuchet ms', verdana, arial, sans-serif;
1077    font-family: var(--mermaid-font-family);
1078  }
1079  ${[0,1,2,3,4,5,6,7].map(e=>`
1080        .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }
1081        .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }
1082        .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }
1083        .label${e}  { fill: ${t["git"+e]}; }
1084        .arrow${e} { stroke: ${t["git"+e]}; }
1085        `).join("\n")}
1086
1087  .branch {
1088    stroke-width: 1;
1089    stroke: ${t.lineColor};
1090    stroke-dasharray: 2;
1091  }
1092  .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
1093  .commit-label-bkg { font-size: ${t.commitLabelFontSize};
1093 fill: ${t.commitLabelBackground}; opacity: 0.5; }
1094  .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
1095  .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
1096  .tag-hole { fill: ${t.textColor}; }
1097
1098  .commit-merge {
1099    stroke: ${t.primaryColor};
1100    fill: ${t.primaryColor};
1101  }
1102  .commit-reverse {
1103    stroke: ${t.primaryColor};
1104    fill: ${t.primaryColor};
1105    stroke-width: 3;
1106  }
1107  .commit-highlight-outer {
1108  }
1109  .commit-highlight-inner {
1110    stroke: ${t.primaryColor};
1111    fill: ${t.primaryColor};
1112  }
1113
1114  .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
1115  .gitTitleText {
1116    text-anchor: middle;
1117    font-size: 18px;
1118    fill: ${t.textColor};
1119  }
1120  }
1121`;var iG=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,6],i=[1,7],r=[1,8],a=[1,9],s=[1,16],n=[1,11],o=[1,12],l=[1,13],h=[1,14],u=[1,15],d=[1,27],p=[1,33],g=[1,34],y=[1,35],f=[1,36],m=[1,37],b=[1,72],x=[1,73],k=[1,74],_=[1,75],C=[1,76],T=[1,77],E=[1,78],v=[1,38],A=[1,39],S=[1,40],w=[1,41],L=[1,42],B=[1,43],I=[1,44],D=[1,45],O=[1,46],F=[1,47],N=[1,48],R=[1,49],$=[1,50],M=[1,51],P=[1,52],z=[1,53],Y=[1,54],j=[1,55],W=[1,56],q=[1,57],U=[1,59],V=[1,60],H=[1,61],G=[1,62],X=[1,63],K=[1,64],Q=[1,65],Z=[1,66],J=[1,67],tt=[1,68],te=[1,69],ti=[24,52],tr=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ta=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ts=[1,94],tn=[1,95],to=[1,96],tl=[1,97],tc=[15,24,52],th=[7,8,9,10,18,22,25,26,27,28],tu=[15,24,43,52],td=[15,24,43,52,86,87,89,90],tp=[15,43],tg=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],ty={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boun
1121daryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 4:r.setDirection("TB");break;case 5:r.setDirection("BT");break;case 6:r.setDirection("RL");break;case 7:r.setDirection("LR");break;case 11:r.parseDirective("%%{","open_directive");break;case 12:break;case 13:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 14:r.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:r.setC4Type(s[o-3]);break;case 26:r.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 27:r.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 28:this.$=s[o].trim(),r.setTitle(this.$);break;case 29:case 30:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 35:case 36:s[o].splice(2,0,"ENTERPRISE"),r.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 37:r.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 38:s[o].splice(2,0,"CONTAINER"),r.addContainerBoundary(...s[o]),this.$=s[o];break;case 39:r.addDeploymentNode("node",...s[o]),this.$=s[o];break;case 40:r.addDeploymentNode("nodeL",...s[o]),this.$=s[o];break;case 41:r.addDeploymentNode("nodeR",...s[o]),this.$=s[o];break;case 42:r.popBoundaryParseStack();break;case 46:r.addPersonOrSystem("person",...s[o]),this.$=s[o];break;case 47:r.addPersonOrSystem("external_person",...s[o]),this.$=s[o];break;case 48:r.addPersonOrSystem("system",...s[o]),this.$=s[o];break;case 49:r.addPersonOrSystem("system_db",...s[o]),this.$=s[o];break;case 50:r.addPersonOrSystem("system_queue",...s[o]),this.$=s[o];break;case 51:r.addPersonOrSystem("external_system",...s[o]),this.$=s[o];break;case 52:r.addPersonOrSystem("external_system_db",...s[o]),this.$=s[o];break;case 53:r.addPersonOrSystem("external_system_queue",...s[o]),this.$=s[o];break;case 54:r.addContainer("container",...s[o]),this.$=s[o];break;case 55:r.addContainer("container_db",...s[o]),this.$=s[o];break;case 56:r.addContainer("container_queue",...s[o]),this.$=s[o];break;case 57:r.addContainer("external_container",...s[o]),this.$=s[o];break;case 58:r.addContainer("external_container_db",...s[o]),this.$=s[o];break;case 59:r.addContainer("external_container_queue",...s[o]),this.$=s[o];break;case 60:r.addComponent("component",...s[o]),this.$=s[o];break;case 61:r.addComponent("component_db",...s[o]),this.$=s[o];break;case 62:r.addComponent("component_queue",...s[o]),this.$=s[o];break;case 63:r.addComponent("external_component",...s[o]),this.$=s[o];break;case 64:r.addComponent("external_component_db",...s[o]),this.$=s[o];break;case 65:r.addComponent("external_component_queue",...s[o]),this.$=s[o];break;case 67:r.addRel("rel",...s[o]),this.$=s[o];break;case 68:r.addRel("birel",...s[o]),this.$=s[o];break;case 69:r.addRel("rel_u",...s[o]),this.$=s[o];break;case 70:r.addRel("rel_d",...s[o]),this.$=s[o];break;case 71:r.addRel("rel_l",...s[o]),this.$=s[o];break;case 72:r.addRel("rel_r",...s[o]),this.$=s[o];break;case 73:r.addRel("rel_b",...s[o]),this.$=s[o];break;case 74:s[o].splice(0,1),r.addRel("rel",...s[o]),this.$=s[o];break;
vendor: 4,699 bytes, line 1121
1121case 75:r.updateElStyle("update_el_style",...s[o]),this.$=s[o];break;case 76:r.updateRelStyle("update_rel_style",...s[o]),this.$=s[o];break;case 77:r.updateLayoutConfig("update_layout_config",...s[o]),this.$=s[o];break;case 78:this.$=[s[o]];break;case 79:s[o].unshift(s[o-1]),this.$=s[o];break;case 80:case 82:this.$=s[o].trim();break;case 81:let l={};l[s[o-1].trim()]=s[o].trim(),this.$=l;break;case 83:this.$=""}},table:[{3:1,4:2,5:3,6:4,7:e,8:i,9:r,10:a,11:5,12:10,18:s,22:n,25:o,26:l,27:h,28:u},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:e,8:i,9:r,10:a,11:5,12:10,18:s,22:n,25:o,26:l,27:h,28:u},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:d},t([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:p,33:g,34:y,36:f,38:m,39:58,40:70,42:71,44:b,46:x,47:k,48:_,49:C,50:T,51:E,53:32,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te},{23:79,29:29,30:30,31:31,32:p,33:g,34:y,36:f,38:m,39:58,40:70,42:71,44:b,46:x,47:k,48:_,49:C,50:T,51:E,53:32,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te},{23:80,29:29,30:30,31:31,32:p,33:g,34:y,36:f,38:m,39:58,40:70,42:71,44:b,46:x,47:k,48:_,49:C,50:T,51:E,53:32,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te},{23:81,29:29,30:30,31:31,32:p,33:g,34:y,36:f,38:m,39:58,40:70,42:71,44:b,46:x,47:k,48:_,49:C,50:T,51:E,53:32,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te},{23:82,29:29,30:30,31:31,32:p,33:g,34:y,36:f,38:m,39:58,40:70,42:71,44:b,46:x,47:k,48:_,49:C,50:T,51:E,53:32,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},t(ti,[2,20],{53:32,39:58,40:70,42:71,30:87,44:b,46:x,47:k,48:_,49:C,50:T,51:E,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te}),t(ti,[2,21]),t(tr,[2,23],{15:[1,88]}),t(ti,[2,43],{15:[1,89]}),t(ta,[2,26]),t(ta,[2,27]),{35:[1,90]},{37:[1,91]},t(ta,[2,30]),{45:92,85:93,86:ts,87:tn,89:to,90:tl},{45:98,85:93,86:ts,87:tn,89:to,90:tl},{45:99,85:93,86:ts,87:tn,89:to,90:tl},{45:100,85:93,86:ts,87:tn,89:to,90:tl},{45:101,85:93,86:ts,87:tn,89:to,90:tl},{45:102,85:93,86:ts,87:tn,89:to,90:tl},{45:103,85:93,86:ts,87:tn,89:to,90:tl},{45:104,85:93,86:ts,87:tn,89:to,90:tl},{45:105,85:93,86:ts,87:tn,89:to,90:tl},{45:106,85:93,86:ts,87:tn,89:to,90:tl},{45:107,85:93,86:ts,87:tn,89:to,90:tl},{45:108,85:93,86:ts,87:tn,89:to,90:tl},{45:109,85:93,86:ts,87:tn,89:to,90:tl},{45:110,85:93,86:ts,87:tn,89:to,90:tl},{45:111,85:93,86:ts,87:tn,89:to,90:tl},{45:112,85:93,86:ts,87:tn,89:to,90:tl},{45:113,85:93,86:ts,87:tn,89:to,90:tl},{45:114,85:93,86:ts,87:tn,89:to,90:tl},{45:115,85:93,86:ts,87:tn,89:to,90:tl},{45:116,85:93,86:ts,87:tn,89:to,90:tl},t(tc,[2,66]),{45:117,85:93,86:ts,87:tn,89:to,90:tl},{45:118,85:93,86:ts,87:tn,89:to,90:tl},{45:119,85:93,86:ts,87:tn,89:to,90:tl},{45:120,85:93,86:ts,87:tn,89:to,90:tl},{45:121,85:93,86:ts,87:tn,89:to,90:tl},{45:122,85:93,86:ts,87:tn,89:to,90:tl},{45:123,85:93,86:ts,87:tn,89:to,90:tl},{45:124,85:93,86:ts,87:tn,89:to,90:tl},{45:125,85:93,86:ts,87:tn,89:to,90:tl},{45:126,85:93,86:ts,87:tn,89:to,90:tl},{45:127,85:93,86:ts,87:tn,89:to,90:tl},{30:128,39:58,40:70,42:71,44:b,46:x,47:k,48:_,49:C,50:T,51:E,53:32,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78:X,79:K,80:Q,81:Z,82:J,83:tt,84:te},{15:[1,130],43:[1,129]},{45:131,85:93,86:ts,87:tn,89:to,90:tl},{45:132,85:93,86:ts,87:tn,89:to,90:tl},{45:133,85:93,86:ts,87:tn,89:to,90:tl},{45:134,85:93,86:ts,87:tn,89:to,90:tl},{45:135,85:93,86:ts,87:tn,89:to,90:tl},{45:136,85:93,86:ts,87:tn,89:to,90:tl},{45:137,85:93,86:ts,87:tn,89:to,90:tl},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},t(th,[2,9]),{14:142,21:d},{21:[2,13]},{1:[2,15]},t(ti,[2,22]),t(tr,[2,24],{31:31,29:143,32:p,33:g,34:y,36:f,38:m}),t(ti,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:p,33:g,34:y,36:f,38:m,44:b,46:x,47:k,48:_,49:C,50:T,51:E,54:v,55:A,56:S,57:w,58:L,59:B,60:I,61:D,62:O,63:F,64:N,65:R,66:$,67:M,68:P,69:z,70:Y,71:j,72:W,73:q,74:U,75:V,76:H,77:G,78
1121:X,79:K,80:Q,81:Z,82:J,83:tt,84:te}),t(ta,[2,28]),t(ta,[2,29]),t(tc,[2,46]),t(tu,[2,78],{85:93,45:145,86:ts,87:tn,89:to,90:tl}),t(td,[2,80]),{88:[1,146]},t(td,[2,82]),t(td,[2,83]),t(tc,[2,47]),t(tc,[2,48]),t(tc,[2,49]),t(tc,[2,50]),t(tc,[2,51]),t(tc,[2,52]),t(tc,[2,53]),t(tc,[2,54]),t(tc,[2,55]),t(tc,[2,56]),t(tc,[2,57]),t(tc,[2,58]),t(tc,[2,59]),t(tc,[2,60]),t(tc,[2,61]),t(tc,[2,62]),t(tc,[2,63]),t(tc,[2,64]),t(tc,[2,65]),t(tc,[2,67]),t(tc,[2,68]),t(tc,[2,69]),t(tc,[2,70]),t(tc,[2,71]),t(tc,[2,72]),t(tc,[2,73]),t(tc,[2,74]),t(tc,[2,75]),t(tc,[2,76]),t(tc,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},t(tp,[2,35]),t(tp,[2,36]),t(tp,[2,37]),t(tp,[2,38]),t(tp,[2,39]),t(tp,[2,40]),t(tp,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},t(tr,[2,25]),t(ti,[2,45]),t(tu,[2,79]),t(td,[2,81]),t(tc,[2,31]),t(tc,[2,42]),t(tg,[2,32]),t(tg,[2,33],{15:[1,152]}),t(th,[2,10]),t(tg,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function tf(){this.yy={}}return ty.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{}
1121,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 78:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:case 21:case 75:break;case 19:c;break;case 20:return 15;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:case 58:return this.begin("rel_u"),76;case 59:case 60:return this.begin("rel_d"),77;case 61:case 62:return this.begin("rel_l"),78;case 63:case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return"EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:case 84:this.popState(),this.popState();break;case 74:case 76:return 90;case 77:this.begin("string");break;case 79:case 85:return"STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return"STR_VALUE";case 86:return"LBRACE";case 87:return"RBRACE";case 88:return"SPACE";case 89:return"EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\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:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,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,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}},tf.prototype=ty,ty.Parser=tf,new tf}();iG.parser=iG;let iX=t=>null!==t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/),iK=[],iQ=[""],iZ="global",iJ="",i1=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],i0=[],i2="",i3=!1,i4=4,i5=2,i6=function(t){return null==t?iK:iK.filter(e=>e.parentBoundary===t)},i8=function(){return i3}
1121,i7={addPersonOrSystem:function(t,e,i,r,a,s,n){if(null===e||null===i)return;let o={},l=iK.find(t=>t.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,iK.push(o)),null==i?o.label={text:""}:o.label={text:i},null==r)o.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]={text:e}}else o.descr={text:r};if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=e}else o.sprite=a;if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.tags=s;if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]=e}else o.link=n;o.typeC4Shape={text:t},o.parentBoundary=iZ,o.wrap=i8()},addPersonOrSystemBoundary:function(t,e,i,r,a){if(null===t||null===e)return;let s={},n=i1.find(e=>e.alias===t);if(n&&t===n.alias?s=n:(s.alias=t,i1.push(s)),null==e?s.label={text:""}:s.label={text:e},null==i)s.type={text:"system"};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]={text:e}}else s.type={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e}else s.tags=r;if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.link=a;s.parentBoundary=iZ,s.wrap=i8(),iJ=iZ,iZ=t,iQ.push(iJ)},addContainer:function(t,e,i,r,a,s,n,o){if(null===e||null===i)return;let l={},h=iK.find(t=>t.alias===e);if(h&&e===h.alias?l=h:(l.alias=e,iK.push(l)),null==i?l.label={text:""}:l.label={text:i},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==a)l.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.descr={text:a};if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.sprite=s;if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]=e}else l.tags=n;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=i8(),l.typeC4Shape={text:t},l.parentBoundary=iZ},addContainerBoundary:function(t,e,i,r,a){if(null===t||null===e)return;let s={},n=i1.find(e=>e.alias===t);if(n&&t===n.alias?s=n:(s.alias=t,i1.push(s)),null==e?s.label={text:""}:s.label={text:e},null==i)s.type={text:"container"};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]={text:e}}else s.type={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e}else s.tags=r;if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.link=a;s.parentBoundary=iZ,s.wrap=i8(),iJ=iZ,iZ=t,iQ.push(iJ)},addComponent:function(t,e,i,r,a,s,n,o){if(null===e||null===i)return;let l={},h=iK.find(t=>t.alias===e);if(h&&e===h.alias?l=h:(l.alias=e,iK.push(l)),null==i?l.label={text:""}:l.label={text:i},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==a)l.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.descr={text:a};if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.sprite=s;if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]=e}else l.tags=n;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=i8(),l.typeC4Shape={text:t},l.parentBoundary=iZ},addDeploymentNode:function(t,e,i,r,a,s,n,o){if(null===e||null===i)return;let l={},h=i1.find(t=>t.alias===e);if(h&&e===h.alias?l=h:(l.alias=e,i1.push(l)),null==i?l.label={text:""}:l.label={text:i},null==r)l.type={text:"node"};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.type={text:r};if(null==a)l.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.descr={text:a};if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]=e}else l.tags=n;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.nodeType=t,l.parentBoundary=iZ,l.wrap=i8(),iJ=iZ,iZ=e,iQ.push(iJ)},popBoundaryParseStack:function(){iZ=iJ,iQ.pop(),iJ=iQ.pop(),iQ.push(iJ)},addRel:function(t,e,i,r,a,s,n,o,l){if(null==t||null==e||null==i||null==r)return;let h={},u=i0.find(t=>t.from===e&&t.to===i);if(u?h=u:i0.push(h),h.type=t,h.from=e,h.to=i,h.label={text:r},null==a)h.techn={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];h[t]={text:e}}else h.techn={text:a};if(null==s)h.descr={text:""};else if("object"==typeof s){let[t,e]=Object.entries(s)[0];h[t]={text:e}}else h.descr={text:s};if("object"==typeof n){let[t,e]=Object.entries(n)[0];h[t]=e}else h.sprite=n;if("object"==typeof o){let[t,e]=Object.entries(o)[0];h[t]=e}else h.tags=o;if("object"==typeof l){let[t,e]=Object.entries(l)[0];h[t]=e}else h.link=l;h.wrap=i8()}
1121,updateElStyle:function(t,e,i,r,a,s,n,o,l,h,u){let d=iK.find(t=>t.alias===e);if(void 0!==d||void 0!==(d=i1.find(t=>t.alias===e))){if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.bgColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.fontColor=r;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.borderColor=a;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shadowing=s;if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.shape=n;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.sprite=o;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.techn=l;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendText=h;if(null!=u)if("object"==typeof u){let[t,e]=Object.entries(u)[0];d[t]=e}else d.legendSprite=u}},updateRelStyle:function(t,e,i,r,a,s,n){let o=i0.find(t=>t.from===e&&t.to===i);if(void 0!==o){if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.textColor=r;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=e}else o.lineColor=a;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=parseInt(e)}else o.offsetX=parseInt(s);if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]=parseInt(e)}else o.offsetY=parseInt(n)}},updateLayoutConfig:function(t,e,i){let r=i4,a=i5;r="object"==typeof e?parseInt(Object.values(e)[0]):parseInt(e),a="object"==typeof i?parseInt(Object.values(i)[0]):parseInt(i),r>=1&&(i4=r),a>=1&&(i5=a)},autoWrap:i8,setWrap:function(t){i3=t},getC4ShapeArray:i6,getC4Shape:function(t){return iK.find(e=>e.alias===t)},getC4ShapeKeys:function(t){return Object.keys(i6(t))},getBoundarys:function(t){return null==t?i1:i1.filter(e=>e.parentBoundary===t)},getCurrentBoundaryParse:function(){return iZ},getParentBoundaryParse:function(){return iJ},getRels:function(){return i0},getTitle:function(){return i2},getC4Type:function(){return f},getC4ShapeInRow:function(){return i4},getC4BoundaryInRow:function(){return i5},setAccTitle:iy,getAccTitle:im,getAccDescription:ix,setAccDescription:ib,parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().c4,clear:function(){iK=[],i1=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],iJ="",iZ="global",iQ=[""],i0=[],iQ=[""],i2="",i3=!1,i4=4,i5=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(t){i2=q(t,eW())},setC4Type:function(t){f=q(t,eW())}},i9=function(t,e){let i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),"undefined"!==e.attrs&&null!==e.attrs)for(let t in e.attrs)i.attr(t,e.attrs[t]);return"undefined"!==e.class&&i.attr("class",e.class),i},rt=function(t,e,i,r,a,s){let n=t.append("image");n.attr("width",e),n.attr("height",i),n.attr("x",r),n.attr("y",a);let o=s.startsWith("data:image/png;base64")?s:(0,b.Jf)(s);n.attr("xlink:href",o)},re=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},ri=function(){function t(t,e,i,a,s,n,o){r(e.append("text").attr("x",i+s/2).attr("y",a+n/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,i,a,s,n,o,l){let{fontSize:h,fontFamily:u,fontWeight:d}=l,p=t.split(K.lineBreakRegex);for(let t=0;t<p.length;t++){let n=t*h-h*(p.length-1)/2,l=e.append("text").attr("x",i+s/2).attr("y",a).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",h).style("font-weight",d).style("font-family",u);l.append("tspan").attr("dy",n).text(p[t]).attr("alignment-baseline","mathematical"),r(l,o)}}function i(t,i,a,s,n,o,l,h){let u=i.append("switch"),d=u.append("foreignObject").attr("x",a).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,a,s,n,o,l,h),r(d,l)}function r(t,e){for(let i in e)e.hasOwnProperty(i)&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}
1121(),rr={drawRect:i9,drawBoundary:function(t,e,i){let r=t.append("g"),a=e.bgColor?e.bgColor:"none",s=e.borderColor?e.borderColor:"#444444",n=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1}),i9(r,{x:e.x,y:e.y,fill:a,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o});let l=i.boundaryFont();l.fontWeight="bold",l.fontSize=l.fontSize+2,l.fontColor=n,ri(i)(e.label.text,r,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},l),e.type&&""!==e.type.text&&((l=i.boundaryFont()).fontColor=n,ri(i)(e.type.text,r,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},l)),e.descr&&""!==e.descr.text&&((l=i.boundaryFont()).fontSize=l.fontSize-2,l.fontColor=n,ri(i)(e.descr.text,r,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},l))},drawC4Shape:function(t,e,i){let r,a,s=e.bgColor?e.bgColor:i[e.typeC4Shape.text+"_bg_color"],n=e.borderColor?e.borderColor:i[e.typeC4Shape.text+"_border_color"],o=e.fontColor?e.fontColor:"#FFFFFF",l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":l="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":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}let h=t.append("g");h.attr("class","person-man");let u=re();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=s,u.width=e.width,u.height=e.height,u.style="stroke:"+n+";stroke-width:0.5;",u.rx=2.5,u.ry=2.5,i9(h,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":h.append("path").attr("fill",s).attr("stroke-width","0.5").attr("stroke",n).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",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),h.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",n).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":h.append("path").attr("fill",s).attr("stroke-width","0.5").attr("stroke",n).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",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),h.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",n).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let d={fontFamily:(r=i)[(a=e.typeC4Shape.text)+"FontFamily"],fontSize:r[a+"FontSize"],fontWeight:r[a+"FontWeight"]};switch(h.append("text").attr("fill",o).attr("font-family",d.fontFamily).attr("font-size",d.fontSize-2).attr("font-style","
1121italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":rt(h,48,48,e.x+e.width/2-24,e.y+e.image.Y,l)}let p=i[e.typeC4Shape.text+"Font"]();return p.fontWeight="bold",p.fontSize=p.fontSize+2,p.fontColor=o,ri(i)(e.label.text,h,e.x,e.y+e.label.Y,e.width,e.height,{fill:o},p),(p=i[e.typeC4Shape.text+"Font"]()).fontColor=o,e.thchn&&""!==e.thchn.text?ri(i)(e.thchn.text,h,e.x,e.y+e.thchn.Y,e.width,e.height,{fill:o,"font-style":"italic"},p):e.type&&""!==e.type.text&&ri(i)(e.type.text,h,e.x,e.y+e.type.Y,e.width,e.height,{fill:o,"font-style":"italic"},p),e.descr&&""!==e.descr.text&&((p=i.personFont()).fontColor=o,ri(i)(e.descr.text,h,e.x,e.y+e.descr.Y,e.width,e.height,{fill:o},p)),e.height},drawRels:(t,e,i)=>{let r=t.append("g"),a=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",n=t.offsetX?parseInt(t.offsetX):0,o=t.offsetY?parseInt(t.offsetY):0;if(0===a){let e=r.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url(#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#arrowend)"),a=-1}else{let e=r.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url(#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url(#arrowend)")}let l=i.messageFont();ri(i)(t.label.text,r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+n,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+o,t.label.width,t.label.height,{fill:e},l),t.techn&&""!==t.techn.text&&(l=i.messageFont(),ri(i)("["+t.techn.text+"]",r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+n,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+i.messageFontSize+5+o,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},l))}},drawImage:rt,insertArrowHead:function(t){t.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")},insertArrowEnd:function(t){t.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")},insertArrowFilledHead:function(t){t.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")},insertDynamicNumber:function(t){t.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)},insertArrowCrossHead:function(t){let e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.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"),e.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")},insertDatabaseIcon:function(t){t
vendor: 3,704 bytes, line 1121
1121.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.
vendor: 9,601 bytes, line 1121
1121127.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")},
1121insertComputerIcon:function(t){t.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")},insertClockIcon:function(t){t.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")},getNoteRect:re,sanitizeUrl:b.Jf},ra=0,rs=0,rn=4,ro=2;iG.yy=i7;let rl={};class rc{constructor(t){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,rh(t.db.getConfig())}setData(t,e,i,r){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=i,this.nextData.stopy=this.data.stopy=r}updateVal(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,i=e+t.width,r=this.nextData.starty+2*t.margin,a=r+t.height;(e>=this.data.widthLimit||i>=this.data.widthLimit||this.nextData.cnt>rn)&&(e=this.nextData.startx+t.margin+rl.nextLinePaddingX,r=this.nextData.stopy+2*t.margin,this.nextData.stopx=i=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=r+t.height,this.nextData.cnt=1),t.x=e,t.y=r,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",r,Math.min),this.updateVal(this.data,"stopx",i,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",r,Math.min),this.updateVal(this.nextData,"stopx",i,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(t){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},rh(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}
1121let rh=function(t){eg(rl,t),t.fontFamily&&(rl.personFontFamily=rl.systemFontFamily=rl.messageFontFamily=t.fontFamily),t.fontSize&&(rl.personFontSize=rl.systemFontSize=rl.messageFontSize=t.fontSize),t.fontWeight&&(rl.personFontWeight=rl.systemFontWeight=rl.messageFontWeight=t.fontWeight)},ru=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),rd=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),rp=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight});function rg(t,e,i,r,a){if(!e[t].width)if(i)e[t].text=ev(e[t].text,a,r),e[t].textLines=e[t].text.split(K.lineBreakRegex).length,e[t].width=a,e[t].height=eS(e[t].text,r);else{let i=e[t].text.split(K.lineBreakRegex);e[t].textLines=i.length;let a=0;for(let s of(e[t].height=0,e[t].width=0,i))e[t].width=Math.max(ew(s,r),e[t].width),a=eS(s,r),e[t].height=e[t].height+a}}let ry=function(t,e,i){e.x=i.data.startx,e.y=i.data.starty,e.width=i.data.stopx-i.data.startx,e.height=i.data.stopy-i.data.starty,e.label.y=rl.c4ShapeMargin-35;let r=e.wrap&&rl.wrap,a=rd(rl);a.fontSize=a.fontSize+2,a.fontWeight="bold";let s=ew(e.label.text,a);rg("label",e,r,a,s),rr.drawBoundary(t,e,rl)},rf=function(t,e,i,r){let a=0;for(let s of r){a=0;let r=i[s],n=ru(rl,r.typeC4Shape.text);switch(n.fontSize=n.fontSize-2,r.typeC4Shape.width=ew("<<"+r.typeC4Shape.text+">>",n),r.typeC4Shape.height=n.fontSize+2,r.typeC4Shape.Y=rl.c4ShapePadding,a=r.typeC4Shape.Y+r.typeC4Shape.height-4,r.image={width:0,height:0,Y:0},r.typeC4Shape.text){case"person":case"external_person":r.image.width=48,r.image.height=48,r.image.Y=a,a=r.image.Y+r.image.height}r.sprite&&(r.image.width=48,r.image.height=48,r.image.Y=a,a=r.image.Y+r.image.height);let o=r.wrap&&rl.wrap,l=rl.width-2*rl.c4ShapePadding,h=ru(rl,r.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",rg("label",r,o,h,l),r.label.Y=a+8,a=r.label.Y+r.label.height,r.type&&""!==r.type.text){r.type.text="["+r.type.text+"]";let t=ru(rl,r.typeC4Shape.text);rg("type",r,o,t,l),r.type.Y=a+5,a=r.type.Y+r.type.height}else if(r.techn&&""!==r.techn.text){r.techn.text="["+r.techn.text+"]";let t=ru(rl,r.techn.text);rg("techn",r,o,t,l),r.techn.Y=a+5,a=r.techn.Y+r.techn.height}let u=a,d=r.label.width;if(r.descr&&""!==r.descr.text){let t=ru(rl,r.typeC4Shape.text);rg("descr",r,o,t,l),r.descr.Y=a+20,a=r.descr.Y+r.descr.height,d=Math.max(r.label.width,r.descr.width),u=a-5*r.descr.textLines}d+=rl.c4ShapePadding,r.width=Math.max(r.width||rl.width,d,rl.width),r.height=Math.max(r.height||rl.height,u,rl.height),r.margin=r.margin||rl.c4ShapeMargin,t.insert(r),rr.drawC4Shape(e,r,rl)}t.bumpLastMargin(rl.c4ShapeMargin)};class rm{constructor(t,e){this.x=t,this.y=e}}let rb=function(t,e){let i=t.x,r=t.y,a=e.x,s=e.y,n=i+t.width/2,o=r+t.height/2,l=Math.abs(i-a),h=Math.abs(r-s),u=h/l,d=t.height/t.width,p=null;return r==s&&i<a?p=new rm(i+t.width,o):r==s&&i>a?p=new rm(i,o):i==a&&r<s?p=new rm(n,r+t.height):i==a&&r>s&&(p=new rm(n,r)),i>a&&r<s?p=d>=u?new rm(i,o+u*t.width/2):new rm(n-l/h*t.height/2,r+t.height):i<a&&r<s?p=d>=u?new rm(i+t.width,o+u*t.width/2):new rm(n+l/h*t.height/2,r+t.height):i<a&&r>s?p=d>=u?new rm(i+t.width,o-u*t.width/2):new rm(n+t.height/2*l/h,r):i>a&&r>s&&(p=d>=u?new rm(i,o-t.width/2*u):new rm(n-t.height/2*l/h,r)),p},rx=function(t,e){let i={x:0,y:0};i.x=e.x+e.width/2,i.y=e.y+e.height/2;let r=rb(t,i);return i.x=t.x+t.width/2,i.y=t.y+t.height/2,{startPoint:r,endPoint:rb(e,i)}},rk=function(t,e,i,r){let a=0;for(let t of e){a+=1;let e=t.wrap&&rl.wrap,s=rp(rl);"C4Dynamic"===r.db.getC4Type()&&(t.label.text=a+": "+t.label.text);let n=ew(t.label.text,s);rg("label",t,e,s,n),t.techn&&""!==t.techn.text&&(n=ew(t.techn.text,s),rg("techn",t,e,s,n)),t.descr&&""!==t.descr.text&&(n=ew(t.descr.text,s),rg("descr",t,e,s,n));let o=rx(i(t.from),i(t.to));t.startPoint=o.startPoint,t.endPoint=o.endPoint}rr.drawRels(t,e,rl)},r_={drawPersonOrSystemArray:rf,drawBoundary:ry,setConf:rh,draw:function(t,e,i,r){let a;rl=eW().c4;let s=eW().securityLevel;"sandbox"===s&&(a=(0,x.Ltv)("#i"+e));let n="sandbox"===s?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),o=r.db;r.db.setWrap(rl.wrap),rn=o.getC4ShapeInRow(),ro=o.getC4BoundaryInRow(),z.debug(`C:${JSON.stringify(rl,null,2)}`);let l="sandbox"===s?n.select(`[id="${e}"]`):(0,x.Ltv)(`[id="${e}"]`);rr.insertComputerIcon(l),rr.insertDatabaseIcon(l),rr.insertClockIcon(l);let h=new rc(r);h.setData(rl.diagramMarginX,rl.diagramMarginX,rl.diagramMarginY,rl.diagramMarginY),h.data.widthLimit=screen.availWi
1121dth,ra=rl.diagramMarginX,rs=rl.diagramMarginY;let u=r.db.getTitle();!function t(e,i,r,a,s){let n=new rc(s);for(let[o,l]of(n.data.widthLimit=r.data.widthLimit/Math.min(ro,a.length),a.entries())){let a=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=a,a=l.image.Y+l.image.height);let h=l.wrap&&rl.wrap,u=rd(rl);if(u.fontSize=u.fontSize+2,u.fontWeight="bold",rg("label",l,h,u,n.data.widthLimit),l.label.Y=a+8,a=l.label.Y+l.label.height,l.type&&""!==l.type.text&&(l.type.text="["+l.type.text+"]",rg("type",l,h,rd(rl),n.data.widthLimit),l.type.Y=a+5,a=l.type.Y+l.type.height),l.descr&&""!==l.descr.text){let t=rd(rl);t.fontSize=t.fontSize-2,rg("descr",l,h,t,n.data.widthLimit),l.descr.Y=a+20,a=l.descr.Y+l.descr.height}if(0==o||o%ro==0){let t=r.data.startx+rl.diagramMarginX,e=r.data.stopy+rl.diagramMarginY+a;n.setData(t,t,e,e)}else{let t=n.data.stopx!==n.data.startx?n.data.stopx+rl.diagramMarginX:n.data.startx,e=n.data.starty;n.setData(t,t,e,e)}n.name=l.alias;let d=s.db.getC4ShapeArray(l.alias),p=s.db.getC4ShapeKeys(l.alias);p.length>0&&rf(n,e,d,p),i=l.alias;let g=s.db.getBoundarys(i);g.length>0&&t(e,i,n,g,s),"global"!==l.alias&&ry(e,l,n),r.data.stopy=Math.max(n.data.stopy+rl.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(n.data.stopx+rl.c4ShapeMargin,r.data.stopx),ra=Math.max(ra,r.data.stopx),rs=Math.max(rs,r.data.stopy)}}(l,"",h,r.db.getBoundarys(""),r),rr.insertArrowHead(l),rr.insertArrowEnd(l),rr.insertArrowCrossHead(l),rr.insertArrowFilledHead(l),rk(l,r.db.getRels(),r.db.getC4Shape,r),h.data.stopx=ra,h.data.stopy=rs;let d=h.data,p=d.stopy-d.starty+2*rl.diagramMarginY,g=d.stopx-d.startx+2*rl.diagramMarginX;u&&l.append("text").text(u).attr("x",(d.stopx-d.startx)/2-4*rl.diagramMarginX).attr("y",d.starty+rl.diagramMarginY),eZ(l,p,g,rl.useMaxWidth);let y=60*!!u;l.attr("viewBox",d.startx-rl.diagramMarginX+" -"+(rl.diagramMarginY+y)+" "+g+" "+(p+y)),z.debug("models:",d)}};var rC=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,7],r=[1,8],a=[1,9],s=[1,10],n=[1,13],o=[1,12],l=[1,16,25],h=[1,20],u=[1,32],d=[1,33],p=[1,34],g=[1,36],y=[1,39],f=[1,37],m=[1,38],b=[1,44],x=[1,45],k=[1,40],_=[1,41],C=[1,42],T=[1,43],E=[1,48],v=[1,49],A=[1,50],S=[1,51],w=[16,25],L=[1,65],B=[1,66],I=[1,67],D=[1,68],O=[1,69],F=[1,70],N=[1,71],R=[1,80],$=[16,25,32,45,46,54,60,61,62,63,64,65,66,71,73],M=[16,25,30,32,45,46,50,54,60,61,62,63,64,65,66,71,73,88,89,90,91],P=[5,8,9,10,11,16,19,23,25],z=[54,88,89,90,91],Y=[54,65,66,88,89,90,91],j=[54,60,61,62,63,64,88,89,90,91],W=[16,25,32],q=[1,107],U={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,className:27,alphaNumToken:28,classLiteralName:29,GENERICTYPE:30,relationStatement:31,LABEL:32,classStatement:33,methodStatement:34,annotationStatement:35,clickStatement:36,cssClassStatement:37,noteStatement:38,acc_title:39,acc_title_value:40,acc_descr:41,acc_descr_value:42,acc_descr_multiline_value:43,CLASS:44,STYLE_SEPARATOR:45,STRUCT_START:46,members:47,STRUCT_STOP:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,STR:54,NOTE_FOR:55,noteText:56,NOTE:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,CSSCLASS:74,commentToken:75,textToken:76,graphCodeTokens:77,textNoTagsToken:78,TAGSTART:79,TAGEND:80,"==":81,"--":82,PCT:83,DEFAULT:84,SPACE:85,MINUS:86,keywords:87,UNICODE_TEXT:88,NUM:89,ALPHA:90,BQUOTE_STR:91,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",30:"GENERICTYPE",32:"LABEL",39:"acc_title",40:"acc_title_value",41:"acc_descr",42:"acc_descr_value",43:"acc_descr_multiline_value",44:"CLASS",45:"STYLE_SEPARATOR",46:"STRUCT_START",48:"STRUCT_STOP",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"STR",55:"NOTE_FOR",57:"NOTE",60:"AGGREGATION",61:"EXTENSION",62:"COMPOSITION",63:"DEPENDENCY",64:"LOLLIPOP",65:"LINE",66:"DOTTED_LINE",67:"CALLBACK",68:"LINK",69:"LINK_TARGET",70:"CLICK",71:"CALLBACK_NAME",72:"CALLBACK_ARGS",73:"HREF",74:"CSSCLASS",77:"graphCodeTokens",79:"TAGSTART",80:"TAGEND",81:"==",82:"--",83:"PCT",84:"DEFAULT",85:"SPACE",86:"MINUS",87:"keywords",88:"UNICODE_TEXT",89:"NUM",90:"ALPHA",91:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,1],[27,1],[27,2],[27,2],[27,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[33,2],[33,4],[33,5],[33,7],[35,4],[47,1],[47,2],[34,1],[34,2],[34,1],[34,1],[31,3],[31,4],[31,4],[31,5],[38,3],[38,2],[53,3],[53,2],[53,2],[53,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[36,3],[36,4],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[37,3],[75,1],[75,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[78,1],[78,1],[78,1],[78,1],[28,1],[28,1],[28,1],[29,1],[56,1]],performAction:function(t,e,
1121i,r,a,s,n){var o=s.length-1;switch(a){case 5:r.setDirection("TB");break;case 6:r.setDirection("BT");break;case 7:r.setDirection("RL");break;case 8:r.setDirection("LR");break;case 12:r.parseDirective("%%{","open_directive");break;case 13:r.parseDirective(s[o],"type_directive");break;case 14:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 15:r.parseDirective("}%%","close_directive","class");break;case 20:case 21:this.$=s[o];break;case 22:this.$=s[o-1]+s[o];break;case 23:case 24:this.$=s[o-1]+"~"+s[o];break;case 25:r.addRelation(s[o]);break;case 26:s[o-1].title=r.cleanupLabel(s[o]),r.addRelation(s[o-1]);break;case 35:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 36:case 37:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 38:r.addClass(s[o]);break;case 39:r.addClass(s[o-2]),r.setCssClass(s[o-2],s[o]);break;case 40:r.addClass(s[o-3]),r.addMembers(s[o-3],s[o-1]);break;case 41:r.addClass(s[o-5]),r.setCssClass(s[o-5],s[o-3]),r.addMembers(s[o-5],s[o-1]);break;case 42:r.addAnnotation(s[o],s[o-2]);break;case 43:this.$=[s[o]];break;case 44:s[o].push(s[o-1]),this.$=s[o];break;case 45:case 47:case 48:break;case 46:r.addMember(s[o-1],r.cleanupLabel(s[o]));break;case 49:this.$={id1:s[o-2],id2:s[o],relation:s[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:s[o-3],id2:s[o],relation:s[o-1],relationTitle1:s[o-2],relationTitle2:"none"};break;case 51:this.$={id1:s[o-3],id2:s[o],relation:s[o-2],relationTitle1:"none",relationTitle2:s[o-1]};break;case 52:this.$={id1:s[o-4],id2:s[o],relation:s[o-2],relationTitle1:s[o-3],relationTitle2:s[o-1]};break;case 53:r.addNote(s[o],s[o-1]);break;case 54:r.addNote(s[o]);break;case 55:this.$={type1:s[o-2],type2:s[o],lineType:s[o-1]};break;case 56:this.$={type1:"none",type2:s[o],lineType:s[o-1]};break;case 57:this.$={type1:s[o-1],type2:"none",lineType:s[o]};break;case 58:this.$={type1:"none",type2:"none",lineType:s[o]};break;case 59:this.$=r.relationType.AGGREGATION;break;case 60:this.$=r.relationType.EXTENSION;break;case 61:this.$=r.relationType.COMPOSITION;break;case 62:this.$=r.relationType.DEPENDENCY;break;case 63:this.$=r.relationType.LOLLIPOP;break;case 64:this.$=r.lineType.LINE;break;case 65:this.$=r.lineType.DOTTED_LINE;break;case 66:case 72:this.$=s[o-2],r.setClickEvent(s[o-1],s[o]);break;case 67:case 73:this.$=s[o-3],r.setClickEvent(s[o-2],s[o-1]),r.setTooltip(s[o-2],s[o]);break;case 68:case 76:this.$=s[o-2],r.setLink(s[o-1],s[o]);break;case 69:case 77:this.$=s[o-3],r.setLink(s[o-2],s[o-1],s[o]);break;case 70:case 78:this.$=s[o-3],r.setLink(s[o-2],s[o-1]),r.setTooltip(s[o-2],s[o]);break;case 71:case 79:this.$=s[o-4],r.setLink(s[o-3],s[o-2],s[o]),r.setTooltip(s[o-3],s[o-1]);break;case 74:this.$=s[o-3],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 75:this.$=s[o-4],r.setClickEvent(s[o-3],s[o-2],s[o-1]),r.setTooltip(s[o-3],s[o]);break;case 80:r.setCssClass(s[o-1],s[o])}},table:[{3:1,4:2,5:e,6:4,7:5,8:i,9:r,10:a,11:s,12:6,13:11,19:n,23:o},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:e,6:4,7:5,8:i,9:r,10:a,11:s,12:6,13:11,19:n,23:o},{1:[2,9]},t(l,[2,5]),t(l,[2,6]),t(l,[2,7]),t(l,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:h},t([17,22],[2,13]),{6:31,7:30,8:i,9:r,10:a,11:s,13:11,19:n,24:21,26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:u,41:d,43:p,44:g,49:y,51:f,52:m,55:b,57:x,67:k,68:_,70:C,74:T,88:E,89:v,90:A,91:S},{16:[1,52]},{18:53,21:[1,54]},{16:[2,15]},{25:[1,55]},{16:[1,56],25:[2,17]},t(w,[2,25],{32:[1,57]}),t(w,[2,27]),t(w,[2,28]),t(w,[2,29]),t(w,[2,30]),t(w,[2,31]),t(w,[2,32]),t(w,[2,33]),t(w,[2,34]),{40:[1,58]},{42:[1,59]},t(w,[2,37]),t(w,[2,45],{53:60,58:63,59:64,32:[1,62],54:[1,61],60:L,61:B,62:I,63:D,64:O,65:F,66:N}),{27:72,28:46,29:47,88:E,89:v,90:A,91:S},t(w,[2,47]),t(w,[2,48]),{28:73,88:E,89:v,90:A},{27:74,28:46,29:47,88:E,89:v,90:A,91:S},{27:75,28:46,29:47,88:E,89:v,90:A,91:S},{27:76,28:46,29:47,88:E,89:v,90:A,91:S},{54:[1,77]},{27:78,28:46,29:47,88:E,89:v,90:A,91:S},{54:R,56:79},t($,[2,20],{28:46,29:47,27:81,30:[1,82],88:E,89:v,90:A,91:S}),t($,[2,21],{30:[1,83]}),t(M,[2,94]),t(M,[2,95]),t(M,[2,96]),t([16,25,30,32,45,46,54,60,61,
112162,63,64,65,66,71,73],[2,97]),t(P,[2,10]),{15:84,22:h},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:i,9:r,10:a,11:s,13:11,19:n,24:85,25:[2,18],26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:u,41:d,43:p,44:g,49:y,51:f,52:m,55:b,57:x,67:k,68:_,70:C,74:T,88:E,89:v,90:A,91:S},t(w,[2,26]),t(w,[2,35]),t(w,[2,36]),{27:86,28:46,29:47,54:[1,87],88:E,89:v,90:A,91:S},{53:88,58:63,59:64,60:L,61:B,62:I,63:D,64:O,65:F,66:N},t(w,[2,46]),{59:89,65:F,66:N},t(z,[2,58],{58:90,60:L,61:B,62:I,63:D,64:O}),t(Y,[2,59]),t(Y,[2,60]),t(Y,[2,61]),t(Y,[2,62]),t(Y,[2,63]),t(j,[2,64]),t(j,[2,65]),t(w,[2,38],{45:[1,91],46:[1,92]}),{50:[1,93]},{54:[1,94]},{54:[1,95]},{71:[1,96],73:[1,97]},{28:98,88:E,89:v,90:A},{54:R,56:99},t(w,[2,54]),t(w,[2,98]),t($,[2,22]),t($,[2,23]),t($,[2,24]),{16:[1,100]},{25:[2,19]},t(W,[2,49]),{27:101,28:46,29:47,88:E,89:v,90:A,91:S},{27:102,28:46,29:47,54:[1,103],88:E,89:v,90:A,91:S},t(z,[2,57],{58:104,60:L,61:B,62:I,63:D,64:O}),t(z,[2,56]),{28:105,88:E,89:v,90:A},{47:106,51:q},{27:108,28:46,29:47,88:E,89:v,90:A,91:S},t(w,[2,66],{54:[1,109]}),t(w,[2,68],{54:[1,111],69:[1,110]}),t(w,[2,72],{54:[1,112],72:[1,113]}),t(w,[2,76],{54:[1,115],69:[1,114]}),t(w,[2,80]),t(w,[2,53]),t(P,[2,11]),t(W,[2,51]),t(W,[2,50]),{27:116,28:46,29:47,88:E,89:v,90:A,91:S},t(z,[2,55]),t(w,[2,39],{46:[1,117]}),{48:[1,118]},{47:119,48:[2,43],51:q},t(w,[2,42]),t(w,[2,67]),t(w,[2,69]),t(w,[2,70],{69:[1,120]}),t(w,[2,73]),t(w,[2,74],{54:[1,121]}),t(w,[2,77]),t(w,[2,78],{69:[1,122]}),t(W,[2,52]),{47:123,51:q},t(w,[2,40]),{48:[2,44]},t(w,[2,71]),t(w,[2,75]),t(w,[2,79]),{48:[1,124]},t(w,[2,41])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],54:[2,14],55:[2,16],85:[2,19],119:[2,44]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function V(){this.yy={}}return U.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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}
vendor: 4,406 bytes, line 1121
1121,input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{}
1121,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:case 10:case 19:case 27:break;case 11:return this.begin("acc_title"),39;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),41;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 39:case 42:case 45:case 48:case 51:case 54:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 16;case 20:case 21:return 23;case 22:return this.begin("struct"),46;case 23:return"EDGE_STATE";case 24:return"EOF_IN_STRUCT";case 25:return"OPEN_IN_STRUCT";case 26:return this.popState(),48;case 28:return"MEMBER";case 29:return 44;case 30:return 74;case 31:return 67;case 32:return 68;case 33:return 70;case 34:return 55;case 35:return 57;case 36:return 49;case 37:return 50;case 38:this.begin("generic");break;case 40:return"GENERICTYPE";case 41:this.begin("string");break;case 43:return"STR";case 44:this.begin("bqstring");break;case 46:return"BQUOTE_STR";case 47:this.begin("href");break;case 49:return 73;case 50:this.begin("callback_name");break;case 52:this.popState(),this.begin("callback_args");break;case 53:return 71;case 55:return 72;case 56:case 57:case 58:case 59:return 69;case 60:case 61:return 61;case 62:case 63:return 63;case 64:return 62;case 65:return 60;case 66:return 64;case 67:return 65;case 68:return 66;case 69:return 32;case 70:return 45;case 71:return 86;case 72:return"DOT";case 73:return"PLUS";case 74:return 83;case 75:case 76:return"EQUALS";case 77:return 90;case 78:return"PUNCTUATION";case 79:return 89;case 80:return 88;case 81:return 85;case 82:return 25}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\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)/,/^(?:[{])/,/^(?:\[\*\])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_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
1121]|[\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)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},callback_args:{rules:[54,55],inclusive:!1},callback_name:{rules:[51,52,53],inclusive:!1},href:{rules:[48,49],inclusive:!1},struct:{rules:[23,24,25,26,27,28],inclusive:!1},generic:{rules:[39,40],inclusive:!1},bqstring:{rules:[45,46],inclusive:!1},string:{rules:[42,43],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,29,30,31,32,33,34,35,36,37,38,41,44,47,50,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],inclusive:!0}}},V.prototype=U,U.Parser=V,new V}();rC.parser=rC;let rT=(t,e)=>{var i;return(null==(i=null==e?void 0:e.class)?void 0:i.defaultRenderer)!=="dagre-wrapper"&&null!==t.match(/^\s*classDiagram/)},rE=(t,e)=>{var i;return null!==t.match(/^\s*classDiagram/)&&(null==(i=null==e?void 0:e.class)?void 0:i.defaultRenderer)==="dagre-wrapper"||null!==t.match(/^\s*classDiagram-v2/)},rv="classid-",rA=[],rS={},rw=[],rL=0,rB=[],rI=t=>K.sanitizeText(t,eW()),rD=function(t){let e="",i=t;if(t.indexOf("~")>0){let r=t.split("~");i=r[0],e=K.sanitizeText(r[1],eW())}return{className:i,type:e}},rO=function(t){let e=rD(t);void 0===rS[e.className]&&(rS[e.className]={id:e.className,type:e.type,cssClasse
1121s:[],methods:[],members:[],annotations:[],domId:rv+e.className+"-"+rL},rL++)},rF=function(t){for(let e of Object.keys(rS))if(rS[e].id===t)return rS[e].domId},rN=function(t,e){let i=rS[rD(t).className];if("string"==typeof e){let t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?i.annotations.push(rI(t.substring(2,t.length-2))):t.indexOf(")")>0?i.methods.push(rI(t)):t&&i.members.push(rI(t))}},rR=function(t,e){t.split(",").forEach(function(t){let i=t;t[0].match(/\d/)&&(i=rv+i),void 0!==rS[i]&&rS[i].cssClasses.push(e)})},r$=function(t,e,i){let r=eW(),a=rF(t);if("loose"===r.securityLevel&&void 0!==e&&void 0!==rS[t]){let t=[];if("string"==typeof i){t=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e<t.length;e++){let i=t[e].trim();'"'===i.charAt(0)&&'"'===i.charAt(i.length-1)&&(i=i.substr(1,i.length-2)),t[e]=i}}0===t.length&&t.push(a),rB.push(function(){let i=document.querySelector(`[id="${a}"]`);null!==i&&i.addEventListener("click",function(){eF.runFunc(e,...t)},!1)})}},rM=function(t){let e=(0,x.Ltv)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=(0,x.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,x.Ltv)(t).select("svg").selectAll("g.node").on("mouseover",function(){let t=(0,x.Ltv)(this);if(null===t.attr("title"))return;let i=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(t.attr("title")).style("left",window.scrollX+i.left+(i.right-i.left)/2+"px").style("top",window.scrollY+i.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),t.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),(0,x.Ltv)(this).classed("hover",!1)})};rB.push(rM);let rP="TB",rz={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},setAccTitle:iy,getAccTitle:im,getAccDescription:ix,setAccDescription:ib,getConfig:()=>eW().class,addClass:rO,bindFunctions:function(t){rB.forEach(function(e){e(t)})},clear:function(){rA=[],rS={},rw=[],(rB=[]).push(rM),ig()},getClass:function(t){return rS[t]},getClasses:function(){return rS},getNotes:function(){return rw},addAnnotation:function(t,e){rS[rD(t).className].annotations.push(e)},addNote:function(t,e){let i={id:`note${rw.length}`,class:e,text:t};rw.push(i)},getRelations:function(){return rA},addRelation:function(t){z.debug("Adding relation: "+JSON.stringify(t)),rO(t.id1),rO(t.id2),t.id1=rD(t.id1).className,t.id2=rD(t.id2).className,t.relationTitle1=K.sanitizeText(t.relationTitle1.trim(),eW()),t.relationTitle2=K.sanitizeText(t.relationTitle2.trim(),eW()),rA.push(t)},getDirection:()=>rP,setDirection:t=>{rP=t},addMember:rN,addMembers:function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(e=>rN(t,e)))},cleanupLabel:function(t){return":"===t.substring(0,1)?K.sanitizeText(t.substr(1).trim(),eW()):rI(t.trim())},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:function(t,e,i){t.split(",").forEach(function(t){r$(t,e,i),rS[t].haveCallback=!0}),rR(t,"clickable")},setCssClass:rR,setLink:function(t,e,i){let r=eW();t.split(",").forEach(function(t){let a=t;t[0].match(/\d/)&&(a=rv+a),void 0!==rS[a]&&(rS[a].link=eF.formatUrl(e,r),"sandbox"===r.securityLevel?rS[a].linkTarget="_top":"string"==typeof i?rS[a].linkTarget=rI(i):rS[a].linkTarget="_blank")}),rR(t,"clickable")},getTooltip:function(t){return rS[t].tooltip},setTooltip:function(t,e){let i=eW();t.split(",").forEach(function(t){void 0!==e&&(rS[t].tooltip=K.sanitizeText(e,i))})},lookUpDomId:rF,setDiagramTitle:ik,getDiagramTitle:i_},rY=0,rj=function(t){let e=t.match(/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/),i=t.match(/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/);return e&&!i?rW(e):i?rq(i):rU(t)},rW=function(t){let e="",i="";try{let r=t[1]?t[1].trim():"",a=t[2]?t[2].trim():"",s=t[3]?X(t[3].trim()):"",n=t[4]?t[4].trim():"",o=t[5]?t[5].trim():"";i=r+a+s+" "+n,e=rH(o)}catch(e){i=t}return{displayText:i,cssStyle:e}},rq=function(t){let e="",i="";try{let r=t[1]?t[1].trim():"",a=t[2]?t[2].trim():"",s=t[3]?X(t[3].trim()):"",n=t[4]?t[4].trim():"",o=t[5]?" : "+X(t[5]).trim():"";i=r+a+"("+s+")"+o,e=rH(n)}catch(e){i=t}return{displayText:i,cssStyle:e}},rU=function(t){let e="",i="",r="",a=t.indexOf("("),s=t.indexOf(")");if(a>1&&s>a&&s<=t.length){let n="",o="",l=t.substring(0,1);l.match(/\w/)?o=t.substring(0,a).trim():(l.match(/[#+~-]/)&&(n=l),o=t.substring(1,a).trim());let h=t.substring(a+1,s);t.substring(s+1,1),i=rH(t.substring(s+1,s+2)),e=n+o+"("+X(h.trim())+")",s<t.length&&""!==(r=t.substring(s+2).trim())&&(e+=r=" : "+X(r))}else e=X(t);return{displayText:e,cssStyle:i}}
1121,rV=function(t,e,i,r){let a=rj(e),s=t.append("tspan").attr("x",r.padding).text(a.displayText);""!==a.cssStyle&&s.attr("style",a.cssStyle),i||s.attr("dy",r.textHeight)},rH=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},rG={drawClass:function(t,e,i,r){let a;z.debug("Rendering class ",e,i);let s=e.id,n={id:s,label:e.id,width:0,height:0},o=t.append("g").attr("id",r.db.lookUpDomId(s)).attr("class","classGroup");a=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",i.textHeight+i.padding).attr("x",0):o.append("text").attr("y",i.textHeight+i.padding).attr("x",0);let l=!0;e.annotations.forEach(function(t){let e=a.append("tspan").text("\xab"+t+"\xbb");l||e.attr("dy",i.textHeight),l=!1});let h=e.id;void 0!==e.type&&""!==e.type&&(h+="<"+e.type+">");let u=a.append("tspan").text(h).attr("class","title");l||u.attr("dy",i.textHeight);let d=a.node().getBBox().height,p=o.append("line").attr("x1",0).attr("y1",i.padding+d+i.dividerMargin/2).attr("y2",i.padding+d+i.dividerMargin/2),g=o.append("text").attr("x",i.padding).attr("y",d+i.dividerMargin+i.textHeight).attr("fill","white").attr("class","classText");l=!0,e.members.forEach(function(t){rV(g,t,l,i),l=!1});let y=g.node().getBBox(),f=o.append("line").attr("x1",0).attr("y1",i.padding+d+i.dividerMargin+y.height).attr("y2",i.padding+d+i.dividerMargin+y.height),m=o.append("text").attr("x",i.padding).attr("y",d+2*i.dividerMargin+y.height+i.textHeight).attr("fill","white").attr("class","classText");l=!0,e.methods.forEach(function(t){rV(m,t,l,i),l=!1});let b=o.node().getBBox();var x=" ";e.cssClasses.length>0&&(x+=e.cssClasses.join(" "));let k=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",b.width+2*i.padding).attr("height",b.height+i.padding+.5*i.dividerMargin).attr("class",x).node().getBBox().width;return a.node().childNodes.forEach(function(t){t.setAttribute("x",(k-t.getBBox().width)/2)}),e.tooltip&&a.insert("title").text(e.tooltip),p.attr("x2",k),f.attr("x2",k),n.width=k,n.height=b.height+i.padding+.5*i.dividerMargin,n},drawEdge:function(t,e,i,r,a){let s,n,o,l,h,u,d=function(t){switch(t){case a.db.relationType.AGGREGATION:return"aggregation";case a.db.relationType.EXTENSION:return"extension";case a.db.relationType.COMPOSITION:return"composition";case a.db.relationType.DEPENDENCY:return"dependency";case a.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter(t=>!Number.isNaN(t.y));let p=e.points,g=(0,x.n8j)().x(function(t){return t.x}).y(function(t){return t.y}).curve(x.qrM),y=t.append("path").attr("d",g(p)).attr("id","edge"+rY).attr("class","relation"),f="";r.arrowMarkerAbsolute&&(f=(f=(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==i.relation.lineType&&y.attr("class","relation dashed-line"),10==i.relation.lineType&&y.attr("class","relation dotted-line"),"none"!==i.relation.type1&&y.attr("marker-start","url("+f+"#"+d(i.relation.type1)+"Start)"),"none"!==i.relation.type2&&y.attr("marker-end","url("+f+"#"+d(i.relation.type2)+"End)");let m=e.points.length,b=eF.calcLabelPosition(e.points);if(s=b.x,n=b.y,m%2!=0&&m>1){let t=eF.calcCardinalityPosition("none"!==i.relation.type1,e.points,e.points[0]),r=eF.calcCardinalityPosition("none"!==i.relation.type2,e.points,e.points[m-1]);z.debug("cardinality_1_point "+JSON.stringify(t)),z.debug("cardinality_2_point "+JSON.stringify(r)),o=t.x,l=t.y,h=r.x,u=r.y}if(void 0!==i.title){let e=t.append("g").attr("class","classLabel"),a=e.append("text").attr("class","label").attr("x",s).attr("y",n).attr("fill","red").attr("text-anchor","middle").text(i.title);window.label=a;let o=a.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",o.x-r.padding/2).attr("y",o.y-r.padding/2).attr("width",o.width+r.padding).attr("height",o.height+r.padding)}z.info("Rendering relation "+JSON.stringify(i)),void 0!==i.relationTitle1&&"none"!==i.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",o).attr("y",l).attr("fill","black").attr("font-size","6").text(i.relationTitle1),void 0!==i.relationTitle2&&"none"!==i.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",h).attr("y",u).attr("fill","black").attr("font-size","6").text(i.relationTitle2),rY++}
1121,drawNote:function(t,e,i,r){z.debug("Rendering note ",e,i);let a=e.id,s={id:a,text:e.text,width:0,height:0},n=t.append("g").attr("id",a).attr("class","classGroup"),o=n.append("text").attr("y",i.textHeight+i.padding).attr("x",0),l=JSON.parse(`"${e.text}"`).split("\n");l.forEach(function(t){z.debug(`Adding line: ${t}`),o.append("tspan").text(t).attr("class","title").attr("dy",i.textHeight)});let h=n.node().getBBox(),u=n.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*i.padding).attr("height",h.height+l.length*i.textHeight+i.padding+.5*i.dividerMargin).node().getBBox().width;return o.node().childNodes.forEach(function(t){t.setAttribute("x",(u-t.getBBox().width)/2)}),s.width=u,s.height=h.height+l.length*i.textHeight+i.padding+.5*i.dividerMargin,s}},rX={},rK=function(t){let e=Object.entries(rX).find(e=>e[1].label===t);if(e)return e[0]},rQ=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},rZ={draw:function(t,e,i,r){let a,s=eW().class;rX={},z.info("Rendering diagram "+t);let n=eW().securityLevel;"sandbox"===n&&(a=(0,x.Ltv)("#i"+e));let o="sandbox"===n?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),l=o.select(`[id='${e}']`);rQ(l);let h=new B.T({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel(function(){return{}});let u=r.db.getClasses();for(let t of Object.keys(u)){let e=u[t],i=rG.drawClass(l,e,s,r);rX[i.id]=i,h.setNode(i.id,i),z.info("Org height: "+i.height)}r.db.getRelations().forEach(function(t){z.info("tjoho"+rK(t.id1)+rK(t.id2)+JSON.stringify(t)),h.setEdge(rK(t.id1),rK(t.id2),{relation:t},t.title||"DEFAULT")}
1121),r.db.getNotes().forEach(function(t){z.debug(`Adding note: ${JSON.stringify(t)}`);let e=rG.drawNote(l,t,s,r);rX[e.id]=e,h.setNode(e.id,e),t.class&&t.class in u&&h.setEdge(t.id,rK(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),(0,L.Zp)(h),h.nodes().forEach(function(t){void 0!==t&&void 0!==h.node(t)&&(z.debug("Node "+t+": "+JSON.stringify(h.node(t))),o.select("#"+(r.db.lookUpDomId(t)||t)).attr("transform","translate("+(h.node(t).x-h.node(t).width/2)+","+(h.node(t).y-h.node(t).height/2)+" )"))}),h.edges().forEach(function(t){void 0!==t&&void 0!==h.edge(t)&&(z.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(h.edge(t))),rG.drawEdge(l,h.edge(t),h.edge(t).relation,s,r))});let d=l.node().getBBox(),p=d.width+40,g=d.height+40;eZ(l,g,p,s.useMaxWidth);let y=`${d.x-20} ${d.y-20} ${p} ${g}`;z.debug(`viewBox ${y}`),l.attr("viewBox",y)}},rJ={extension:(t,e,i)=>{z.trace("Making markers for ",i),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).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")},aggregation:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).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")},dependency:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(t,e)=>{t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",10).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"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).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")},circle:(t,e)=>{t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).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")},cross:(t,e)=>{t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).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"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).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")},barb:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-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 L9,13 L14,7 L9,1 Z")}},r1=(t,e,i,r)=>{let a=t||"";
1121if("object"==typeof a&&(a=a[0]),G(eW().flowchart.htmlLabels))return a=a.replace(/\\n|\n/g,"<br />"),z.info("vertexText"+a),function(t){var e;let i=(0,x.Ltv)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=i.append("xhtml:div"),a=t.label,s=t.isNode?"nodeLabel":"edgeLabel";return r.html('<span class="'+s+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+a+"</span>"),(e=t.labelStyle)&&r.attr("style",e),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),i.node()}({isNode:r,label:lJ(a).replace(/fa[blrs]?:fa-[\w-]+/g,t=>`<i class='${t.replace(":"," ")}'></i>`),labelStyle:e.replace("fill:","color:")});{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));for(let e of"string"==typeof a?a.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(a)?a:[]){let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),i?r.setAttribute("class","title-row"):r.setAttribute("class","row"),r.textContent=e.trim(),t.appendChild(r)}return t}},r0=(t,e,i,r)=>{let a,s=t.insert("g").attr("class",i||"node default").attr("id",e.domId||e.id),n=s.insert("g").attr("class","label").attr("style",e.labelStyle);a=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];let o=n.node().appendChild(r1(q(lJ(a),eW()),e.labelStyle,!1,r)),l=o.getBBox();if(G(eW().flowchart.htmlLabels)){let t=o.children[0],e=(0,x.Ltv)(o);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}let h=e.padding/2;return n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),{shapeSvg:s,bbox:l,halfPadding:h,label:n}},r2=(t,e)=>{let i=e.node().getBBox();t.width=i.width,t.height=i.height};function r3(t,e,i,r){return t.insert("polygon",":first-child").attr("points",r.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+i/2+")")}let r4={},r5={},r6={},r8=(t,e)=>(z.trace("In isDecendant",e," ",t," = ",r5[e].includes(t)),!!r5[e].includes(t)),r7=(t,e,i,r)=>{z.warn("Copying children of ",t,"root",r,"data",e.node(t),r);let a=e.children(t)||[];t!==r&&a.push(t),z.warn("Copying (nodes) clusterId",t,"nodes",a),a.forEach(a=>{if(e.children(a).length>0)r7(a,e,i,r);else{let s=e.node(a);z.info("cp ",a," to ",r," with parent ",t),i.setNode(a,s),r!==e.parent(a)&&(z.warn("Setting parent",a,e.parent(a)),i.setParent(a,e.parent(a))),t!==r&&a!==t?(z.debug("Setting parent",a,t),i.setParent(a,t)):(z.info("In copy ",t,"root",r,"data",e.node(t),r),z.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==r,"node!==clusterId",a!==t));let n=e.edges(a);z.debug("Copying Edges",n),n.forEach(a=>{z.info("Edge",a);let s=e.edge(a.v,a.w,a.name);z.info("Edge data",s,r);try{((t,e)=>(z.info("Decendants of ",e," is ",r5[e]),z.info("Edge is ",t),t.v!==e&&t.w!==e&&(r5[e]?r5[e].includes(t.v)||r8(t.v,e)||r8(t.w,e)||r5[e].includes(t.w):(z.debug("Tilt, ",e,",not in decendants"),!1))))(a,r)?(z.info("Copying as ",a.v,a.w,s,a.name),i.setEdge(a.v,a.w,s,a.name),z.info("newGraph edges ",i.edges(),i.edge(i.edges()[0]))):z.info("Skipping copy of edge ",a.v,"--\x3e",a.w," rootId: ",r," clusterId:",t)}catch(t){z.error(t)}})}z.debug("Removing node",a),e.removeNode(a)})},r9=(t,e)=>{let i=e.children(t),r=[...i];for(let a of i)r6[a]=t,r=[...r,...r9(a,e)];return r},at=(t,e)=>{z.trace("Searching",t);let i=e.children(t);if(z.trace("Searching children of id ",t,i),i.length<1)return z.trace("This is a valid node",t),t;for(let r of i){let i=at(r,e);if(i)return z.trace("Found replacement for",t," => ",i),i}},ae=t=>r4[t]&&r4[t].externalConnections&&r4[t]?r4[t].id:t,ai=(t,e)=>{if(z.warn("extractor - ",e,I.M(t),t.children("D")),e>10)return void z.error("Bailing out");let i=t.nodes(),r=!1;for(let e of i){let i=t.children(e);r=r||i.length>0}if(!r)return void z.debug("Done, no node has children",t.nodes());for(let r of(z.debug("Nodes = ",i,e),i))if(z.debug("Extracting node",r,r4,r4[r]&&!r4[r].externalConnections,!t.parent(r),t.node(r),t.children("D")," Depth ",e),r4[r])if(!r4[r].externalConnections&&t.children(r)&&t.children(r).length>
11210){z.warn("Cluster without external connections, without a parent and with children",r,e);let i="TB"===t.graph().rankdir?"LR":"TB";r4[r]&&r4[r].clusterData&&r4[r].clusterData.dir&&(i=r4[r].clusterData.dir,z.warn("Fixing dir",r4[r].clusterData.dir,i));let a=new B.T({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});z.warn("Old graph before copy",I.M(t)),r7(r,t,a,r),t.setNode(r,{clusterNode:!0,id:r,clusterData:r4[r].clusterData,labelText:r4[r].labelText,graph:a}),z.warn("New graph after copy node: (",r,")",I.M(a)),z.debug("Old graph after copy",I.M(t))}else z.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!r4[r].externalConnections," no parent: ",!t.parent(r)," children ",t.children(r)&&t.children(r).length>0,t.children("D"),e),z.debug(r4);else z.debug("Not a cluster",r,e);for(let r of(i=t.nodes(),z.warn("New list of nodes",i),i)){let i=t.node(r);z.warn(" Now next level",r,i),i.clusterNode&&ai(i.graph,e+1)}},ar=(t,e)=>{if(0===e.length)return[];let i=Object.assign(e);return e.forEach(e=>{let r=t.children(e),a=ar(t,r);i=[...i,...a]}),i},aa=(t,e)=>{var i,r,a=t.x,s=t.y,n=e.x-a,o=e.y-s,l=t.width/2,h=t.height/2;return Math.abs(o)*l>Math.abs(n)*h?(o<0&&(h=-h),i=0===o?0:h*n/o,r=h):(n<0&&(l=-l),i=l,r=0===n?0:l*o/n),{x:a+i,y:s+r}},as={circle:function(t,e,i){var r,a,s,n,o,l,h,u,d,p,g;return r=t,a=e,s=e,n=i,o=r.x,l=r.y,h=o-n.x,d=Math.sqrt(a*a*(u=l-n.y)*u+s*s*h*h),p=Math.abs(a*s*h/d),n.x<o&&(p=-p),g=Math.abs(a*s*u/d),n.y<l&&(g=-g),{x:o+p,y:l+g}},polygon:function(t,e,i){var r=t.x,a=t.y,s=[],n=1/0,o=1/0;"function"==typeof e.forEach?e.forEach(function(t){n=Math.min(n,t.x),o=Math.min(o,t.y)}):(n=Math.min(n,e.x),o=Math.min(o,e.y));for(var l=r-t.width/2-n,h=a-t.height/2-o,u=0;u<e.length;u++){var d=e[u],p=e[u<e.length-1?u+1:0],g=function(t,e,i,r){var a,s,n,o,l,h,u,d,p,g,y,f,m;if(a=e.y-t.y,n=t.x-e.x,l=e.x*t.y-t.x*e.y,p=a*i.x+n*i.y+l,g=a*r.x+n*r.y+l,0===p||0===g||!(p*g>0)){if((s=r.y-i.y,o=i.x-r.x,h=r.x*i.y-i.x*r.y,u=s*t.x+o*t.y+h,d=s*e.x+o*e.y+h,!(0!==u&&0!==d&&u*d>0))&&0!=(y=a*o-s*n))return f=Math.abs(y/2),{x:(m=n*h-o*l)<0?(m-f)/y:(m+f)/y,y:(m=s*l-a*h)<0?(m-f)/y:(m+f)/y}}}(t,i,{x:l+d.x,y:h+d.y},{x:l+p.x,y:h+p.y});g&&s.push(g)}return s.length?(s.length>1&&s.sort(function(t,e){var r=t.x-i.x,a=t.y-i.y,s=Math.sqrt(r*r+a*a),n=e.x-i.x,o=e.y-i.y,l=Math.sqrt(n*n+o*o);return s<l?-1:+(s!==l)}),s[0]):t},rect:aa};function an(t,e,i,r){let a=[],s=t=>{a.push(t,0)},n=t=>{a.push(0,t)};e.includes("t")?(z.debug("add top border"),s(i)):n(i),e.includes("r")?(z.debug("add right border"),s(r)):n(r),e.includes("b")?(z.debug("add bottom border"),s(i)):n(i),e.includes("l")?(z.debug("add left border"),s(r)):n(r),t.attr("stroke-dasharray",a.join(" "))}let ao=(t,e,i)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=70,s=10;return"LR"===i&&(a=10,s=70),r2(e,r.append("rect").attr("x",-1*a/2).attr("y",-1*s/2).attr("width",a).attr("height",s).attr("class","fork-join")),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return as.rect(e,t)},r},al={question:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding+(r.height+e.padding),s=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];z.info("Question main (Circle)");let n=r3(i,a,a,s);return n.attr("style",e.style),r2(e,n),e.intersect=function(t){return z.warn("Intersect called"),as.polygon(e,s,t)},i},rect:(t,e)=>{let{shapeSvg:i,bbox:r,halfPadding:a}=r0(t,e,"node "+e.classes,!0);z.trace("Classes = ",e.classes);let s=i.insert("rect",":first-child"),n=r.width+e.padding,o=r.height+e.padding;if(s.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-r.width/2-a).attr("y",-r.height/2-a).attr("width",n).attr("height",o),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(an(s,e.props.borders,n,o),t.delete("borders")),t.forEach(t=>{z.warn(`Unknown node property ${t}`)})}return r2(e,s),e.intersect=function(t){return as.rect(e,t)},i},labelRect:(t,e)=>{let{shapeSvg:i}=r0(t,e,"label",!0);z.trace("Classes = ",e.classes);let r=i.insert("rect",":first-child");if(r.attr("width",0).attr("height",0),i.attr("class","label edgeLabel"),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(an(r,e.props.borders,0,0),t.delete("borders")),t.forEach(t=>{z.warn(`Unknown node property ${t}`)})}return r2(e,r),e.intersect=function(t){return as.rect(e,t)},i},rectWithTitle:(t,e)=>{let i;i=e.classes?"node "+e.classes:"node default";let r=t.insert("g").attr("class",i).attr("id",e.domId||e.id),a=r.insert("rect",":first-child"),s=r.insert("line"),n=r.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText,l="";l="object"==typeof o?o[0]:o,z.info("Label text abc79",l,o,"object"==typeof o);let h=n.node().appendChild(r1(l,e.labelStyle,!0,!0)),u={width:0,height:0};
1121if(G(eW().flowchart.htmlLabels)){let t=h.children[0],e=(0,x.Ltv)(h);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}z.info("Text 2",o);let d=o.slice(1,o.length),p=h.getBBox(),g=n.node().appendChild(r1(d.join?d.join("<br/>"):d,e.labelStyle,!0,!0));if(G(eW().flowchart.htmlLabels)){let t=g.children[0],e=(0,x.Ltv)(g);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}let y=e.padding/2;return(0,x.Ltv)(g).attr("transform","translate( "+(u.width>p.width?0:(p.width-u.width)/2)+", "+(p.height+y+5)+")"),(0,x.Ltv)(h).attr("transform","translate( "+(u.width<p.width?0:-(p.width-u.width)/2)+", 0)"),u=n.node().getBBox(),n.attr("transform","translate("+-u.width/2+", "+(-u.height/2-y+3)+")"),a.attr("class","outer title-state").attr("x",-u.width/2-y).attr("y",-u.height/2-y).attr("width",u.width+e.padding).attr("height",u.height+e.padding),s.attr("class","divider").attr("x1",-u.width/2-y).attr("x2",u.width/2+y).attr("y1",-u.height/2-y+p.height+y).attr("y2",-u.height/2-y+p.height+y),r2(e,a),e.intersect=function(t){return as.rect(e,t)},r},choice:(t,e)=>{let i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return i.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map(function(t){return t.x+","+t.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return as.circle(e,14,t)},i},circle:(t,e)=>{let{shapeSvg:i,bbox:r,halfPadding:a}=r0(t,e,void 0,!0),s=i.insert("circle",":first-child");return s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+a).attr("width",r.width+e.padding).attr("height",r.height+e.padding),z.info("Circle main"),r2(e,s),e.intersect=function(t){return z.info("Circle intersect",e,r.width/2+a,t),as.circle(e,r.width/2+a,t)},i},doublecircle:(t,e)=>{let{shapeSvg:i,bbox:r,halfPadding:a}=r0(t,e,void 0,!0),s=i.insert("g",":first-child"),n=s.insert("circle"),o=s.insert("circle");return n.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+a+5).attr("width",r.width+e.padding+10).attr("height",r.height+e.padding+10),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",r.width/2+a).attr("width",r.width+e.padding).attr("height",r.height+e.padding),z.info("DoubleCircle main"),r2(e,n),e.intersect=function(t){return z.info("DoubleCircle intersect",e,r.width/2+a+5,t),as.circle(e,r.width/2+a+5,t)},i},stadium:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.height+e.padding,s=r.width+a/4+e.padding,n=i.insert("rect",":first-child").attr("style",e.style).attr("rx",a/2).attr("ry",a/2).attr("x",-s/2).attr("y",-a/2).attr("width",s).attr("height",a);return r2(e,n),e.intersect=function(t){return as.rect(e,t)},i},hexagon:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.height+e.padding,s=a/4,n=r.width+2*s+e.padding,o=[{x:s,y:0},{x:n-s,y:0},{x:n,y:-a/2},{x:n-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],l=r3(i,n,a,o);return l.attr("style",e.style),r2(e,l),e.intersect=function(t){return as.polygon(e,o,t)},i},rect_left_inv_arrow:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:-s/2,y:0},{x:a,y:0},{x:a,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return r3(i,a,s,n).attr("style",e.style),e.width=a+s,e.height=s,e.intersect=function(t){return as.polygon(e,n,t)},i},lean_right:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:-2*s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:s/6,y:-s}],o=r3(i,a,s,n);return o.attr("style",e.style),r2(e,o),e.intersect=function(t){return as.polygon(e,n,t)},i},lean_left:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:2*s/6,y:0},{x:a+s/6,y:0},{x:a-2*s/6,y:-s},{x:-s/6,y:-s}],o=r3(i,a,s,n);return o.attr("style",e.style),r2(e,o),e.intersect=function(t){return as.polygon(e,n,t)},i},trapezoid:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:-2*s/6,y:0},{x:a+2*s/6,y:0},{x:a-s/6,y:-s},{x:s/6,y:-s}],o=r3(i,a,s,n);return o.attr("style",e.style),r2(e,o),e.intersect=function(t){return as.polygon(e,n,t)},i},inv_trapezoid:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:s/6,y:0},{x:a-s/6,y:0},{x:a+2*s/6,y:-s},{x:-2*s/6,y:-s}],o=r3(i,a,s,n);return o.attr("style",e.style),r2(e,o),e.intersect=function(t){return as.polygon(e,n,t)},i},rect_right_inv_arrow:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:0,y:0},{x:a+s/2,y:0},{x:a,y:-s/2},{x:a+s/2,y:-s},{x:0,y:-s}],o=r3(i,a,s,n);return o.attr("style",e.style),r2(e,o),e.intersect=function(t){return as.polygon(e,n,t)},i},cylinder:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=a/2,n=s/(2.5+a/50),o=r.height+n+e.padding,l="M 0,"+n+" a "+s+","+n+" 0,0,0 "+a+" 0 a "+s+","+n+" 0,0,0 "+-a+" 0 l 0,"+o+" a "+s+","+n+" 0,0,0 "+a+" 0 l 0,"+-o,h=i.attr("label-offset-y",n).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-a/2+","+-(o/2+n)+")");return r2(e,h),e.intersect=function(t){let i=as.rect(e,t),r=i.x-e.x;if(0!=s&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(i.y-e.y)>e.height/2-n)){let a=n*n*(1-r*r/(s*s));0!=a&&(a=Math.sqrt(a)),a=n-a,t.y-e.y>0&&(a=-a),i.y+=a}return i},i},start:(t,e)=>{let i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=i.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r2(e,r),e.intersect=function(t){return as.circle(e,7,t)},i},end:(t,e)=>{let i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=i.insert("circle",":first-child"),a=i.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),r2(e,a),e.intersect=function(t){return as.circle(e,7,t)},i},note:(t,e)=>{let{shapeSvg:i,bbox:r,halfPadding:a}=r0(t,e,"node "+e.classes,!0);z.info("Classes = ",e.classes);let s=i.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-r.width/2-a).attr("y",-r.height/2-a).attr("width",r.width+e.padding).attr("height",r.height+e.padding),r2(e,s),e.intersect=function(t){return as.rect(e,t)},i},subroutine:(t,e)=>{let{shapeSvg:i,bbox:r}=r0(t,e,void 0,!0),a=r.width+e.padding,s=r.height+e.padding,n=[{x:0,y:0},{x:a,y:0},{x:a,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],o=r3(i,a,s,n);return o.attr("style",e.style),r2(e,o),e.intersect=function(t){return as.polygon(e,n,t)},i},fork:ao,join:ao,class_box:(t,e)=>{let i,r=e.padding/2;i=e.classes?"node "+e.classes:"node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("rect",":first-child"),n=a.insert("line"),o=a.insert("line"),l=0,h=4,u=a.insert("g").attr("class","label"),d=0,p=e.classData.annotations&&e.classData.annotations[0],g=e.classData.annotations[0]?"\xab"+e.classData.annotations[0]+"\xbb":"",y=u.node().appendChild(r1(g,e.labelStyle,!0,!0)),f=y.getBBox();
1121if(G(eW().flowchart.htmlLabels)){let t=y.children[0],e=(0,x.Ltv)(y);f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}e.classData.annotations[0]&&(h+=f.height+4,l+=f.width);let m=e.classData.id;void 0!==e.classData.type&&""!==e.classData.type&&(eW().flowchart.htmlLabels?m+="&lt;"+e.classData.type+"&gt;":m+="<"+e.classData.type+">");let b=u.node().appendChild(r1(m,e.labelStyle,!0,!0));(0,x.Ltv)(b).attr("class","classTitle");let k=b.getBBox();if(G(eW().flowchart.htmlLabels)){let t=b.children[0],e=(0,x.Ltv)(b);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}h+=k.height+4,k.width>l&&(l=k.width);let _=[];e.classData.members.forEach(t=>{let i=rj(t),r=i.displayText;eW().flowchart.htmlLabels&&(r=r.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let a=u.node().appendChild(r1(r,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0)),s=a.getBBox();if(G(eW().flowchart.htmlLabels)){let t=a.children[0],e=(0,x.Ltv)(a);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}s.width>l&&(l=s.width),h+=s.height+4,_.push(a)}),h+=8;let C=[];if(e.classData.methods.forEach(t=>{let i=rj(t),r=i.displayText;eW().flowchart.htmlLabels&&(r=r.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let a=u.node().appendChild(r1(r,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0)),s=a.getBBox();if(G(eW().flowchart.htmlLabels)){let t=a.children[0],e=(0,x.Ltv)(a);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}s.width>l&&(l=s.width),h+=s.height+4,C.push(a)}),h+=8,p){let t=(l-f.width)/2;(0,x.Ltv)(y).attr("transform","translate( "+(-1*l/2+t)+", "+-1*h/2+")"),d=f.height+4}let T=(l-k.width)/2;return(0,x.Ltv)(b).attr("transform","translate( "+(-1*l/2+T)+", "+(-1*h/2+d)+")"),d+=k.height+4,n.attr("class","divider").attr("x1",-l/2-r).attr("x2",l/2+r).attr("y1",-h/2-r+8+d).attr("y2",-h/2-r+8+d),d+=8,_.forEach(t=>{(0,x.Ltv)(t).attr("transform","translate( "+-l/2+", "+(-1*h/2+d+4)+")"),d+=k.height+4}),d+=8,o.attr("class","divider").attr("x1",-l/2-r).attr("x2",l/2+r).attr("y1",-h/2-r+8+d).attr("y2",-h/2-r+8+d),d+=8,C.forEac
1121h(t=>{(0,x.Ltv)(t).attr("transform","translate( "+-l/2+", "+(-1*h/2+d)+")"),d+=k.height+4}),s.attr("class","outer title-state").attr("x",-l/2-r).attr("y",-(h/2)-r).attr("width",l+e.padding).attr("height",h+e.padding),r2(e,s),e.intersect=function(t){return as.rect(e,t)},a}},ac={},ah=t=>{let e=ac[t.id];z.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let i=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+i-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),i},au={rect:(t,e)=>{z.trace("Creating subgraph rect for ",e.id,e);let i=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),r=i.insert("rect",":first-child"),a=i.insert("g").attr("class","cluster-label"),s=a.node().appendChild(r1(e.labelText,e.labelStyle,void 0,!0)),n=s.getBBox();if(G(eW().flowchart.htmlLabels)){let t=s.children[0],e=(0,x.Ltv)(s);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}let o=0*e.padding,l=e.width<=n.width+o?n.width+o:e.width;e.width<=n.width+o?e.diff=(n.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,z.trace("Data ",e,JSON.stringify(e)),r.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-l/2).attr("y",e.y-e.height/2-o/2).attr("width",l).attr("height",e.height+o),a.attr("transform","translate("+(e.x-n.width/2)+", "+(e.y-e.height/2)+")");let h=r.node().getBBox();return e.width=h.width,e.height=h.height,e.intersect=function(t){return aa(e,t)},i},roundedWithTitle:(t,e)=>{let i=t.insert("g").attr("class",e.classes).attr("id",e.id),r=i.insert("rect",":first-child"),a=i.insert("g").attr("class","cluster-label"),s=i.append("rect"),n=a.node().appendChild(r1(e.labelText,e.labelStyle,void 0,!0)),o=n.getBBox();if(G(eW().flowchart.htmlLabels)){let t=n.children[0],e=(0,x.Ltv)(n);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height)}o=n.getBBox();let l=0*e.padding,h=l/2,u=e.width<=o.width+e.padding?o.width+e.padding:e.width;return e.width<=o.width+e.padding?e.diff=(o.width+0*e.padding-e.width)/2:e.diff=-e.padding/2,r.attr("class","outer").attr("x",e.x-u/2-h).attr("y",e.y-e.height/2-h).attr("width",u+l).attr("height",e.height+l),s.attr("class","inner").attr("x",e.x-u/2-h).attr("y",e.y-e.height/2-h+o.height-1).attr("width",u+l).attr("height",e.height+l-o.height-3),a.attr("transform","translate("+(e.x-o.width/2)+", "+(e.y-e.height/2-e.padding/3+(G(eW().flowchart.htmlLabels)?5:3))+")"),e.height=r.node().getBBox().height,e.intersect=function(t){return aa(e,t)},i},noteGroup:(t,e)=>{let i=t.insert("g").attr("class","note-cluster").attr("id",e.id),r=i.insert("rect",":first-child"),a=0*e.padding,s=a/2;r.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-s).attr("y",e.y-e.height/2-s).attr("width",e.width+a).attr("height",e.height+a).attr("fill","none");let n=r.node().getBBox();return e.width=n.width,e.height=n.height,e.intersect=function(t){return aa(e,t)},i},divider:(t,e)=>{let i=t.insert("g").attr("class",e.classes).attr("id",e.id),r=i.insert("rect",":first-child"),a=0*e.padding;r.attr("class","divider").attr("x",e.x-e.width/2-a/2).attr("y",e.y-e.height/2).attr("width",e.width+a).attr("height",e.height+a);let s=r.node().getBBox();return e.width=s.width,e.height=s.height,e.diff=-e.padding/2,e.intersect=function(t){return aa(e,t)},i}},ad={},ap={},ag={};function ay(t,e){eW().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}let af=(t,e)=>{z.warn("abc88 cutPathAtIntersect",t,e);let i=[],r=t[0],a=!1;return t.forEach(t=>{if(z.info("abc88 checking point",t,e),((t,e)=>{let i=t.x,r=t.y,a=Math.abs(e.x-i),s=Math.abs(e.y-r),n=t.width/2,o=t.height/2;return!!(a>=n)||!!(s>=o)})(e,t)||a)z.warn("abc88 outside",t,r),r=t,a||i.push(t);else{let s=((t,e,i)=>{z.warn(`intersection calc abc89:
1122  outsidePoint: ${JSON.stringify(e)}
1123  insidePoint : ${JSON.stringify(i)}
1124  node        : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let r=t.x,a=t.y,s=Math.abs(r-i.x),n=t.width/2,o=i.x<e.x?n-s:n+s,l=t.height/2,h=Math.abs(e.y-i.y),u=Math.abs(e.x-i.x);if(Math.abs(a-e.y)*n>Math.abs(r-e.x)*l){let t=i.y<e.y?e.y-l-a:a-l-e.y;o=u*t/h;let r={x:i.x<e.x?i.x+o:i.x-u+o,y:i.y<e.y?i.y+h-t:i.y-h+t};return 0===o&&(r.x=e.x,r.y=e.y),0===u&&(r.x=e.x),0===h&&(r.y=e.y),z.warn(`abc89 topp/bott calc, Q ${h}, q ${t}, R ${u}, r ${o}`,r),r}{let t=h*(o=i.x<e.x?e.x-n-r:r-n-e.x)/u,a=i.x<e.x?i.x+u-o:i.x-u+o,s=i.y<e.y?i.y+t:i.y-t;return z.warn(`sides calc abc89, Q ${h}, q ${t}, R ${u}, r ${o}`,{_x:a,_y:s}),0===o&&(a=e.x,s=e.y),0===u&&(a=e.x),0===h&&(s=e.y),{x:a,y:s}}})(e,r,t);z.warn("abc88 inside",t,r,s),z.warn("abc88 intersection",s);let n=!1;
1124i.forEach(t=>{n=n||t.x===s.x&&t.y===s.y}),i.some(t=>t.x===s.x&&t.y===s.y)?z.warn("abc88 no intersect",s,i):i.push(s),a=!0}}),z.warn("abc88 returning points",i),i},am=function(t,e,i,r,a,s){let n,o,l=i.points,h=!1,u=s.node(e.v);var d=s.node(e.w);z.info("abc88 InsertEdge: ",i),d.intersect&&u.intersect&&((l=l.slice(1,i.points.length-1)).unshift(u.intersect(l[0])),z.info("Last point",l[l.length-1],d,d.intersect(l[l.length-1])),l.push(d.intersect(l[l.length-1]))),i.toCluster&&(z.info("to cluster abc88",r[i.toCluster]),l=af(i.points,r[i.toCluster].node),h=!0),i.fromCluster&&(z.info("from cluster abc88",r[i.fromCluster]),l=af(l.reverse(),r[i.fromCluster].node).reverse(),h=!0);let p=l.filter(t=>!Number.isNaN(t.y));n=("graph"===a||"flowchart"===a)&&i.curve||x.qrM;let g=(0,x.n8j)().x(function(t){return t.x}).y(function(t){return t.y}).curve(n);switch(i.thickness){case"normal":o="edge-thickness-normal";break;case"thick":o="edge-thickness-thick";break;default:o=""}switch(i.pattern){case"solid":o+=" edge-pattern-solid";break;case"dotted":o+=" edge-pattern-dotted";break;case"dashed":o+=" edge-pattern-dashed"}let y=t.append("path").attr("d",g(p)).attr("id",i.id).attr("class"," "+o+(i.classes?" "+i.classes:"")).attr("style",i.style),f="";switch((eW().flowchart.arrowMarkerAbsolute||eW().state.arrowMarkerAbsolute)&&(f=(f=(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),z.info("arrowTypeStart",i.arrowTypeStart),z.info("arrowTypeEnd",i.arrowTypeEnd),i.arrowTypeStart){case"arrow_cross":y.attr("marker-start","url("+f+"#"+a+"-crossStart)");break;case"arrow_point":y.attr("marker-start","url("+f+"#"+a+"-pointStart)");break;case"arrow_barb":y.attr("marker-start","url("+f+"#"+a+"-barbStart)");break;case"arrow_circle":y.attr("marker-start","url("+f+"#"+a+"-circleStart)");break;case"aggregation":y.attr("marker-start","url("+f+"#"+a+"-aggregationStart)");break;case"extension":y.attr("marker-start","url("+f+"#"+a+"-extensionStart)");break;case"composition":y.attr("marker-start","url("+f+"#"+a+"-compositionStart)");break;case"dependency":y.attr("marker-start","url("+f+"#"+a+"-dependencyStart)");break;case"lollipop":y.attr("marker-start","url("+f+"#"+a+"-lollipopStart)")}switch(i.arrowTypeEnd){case"arrow_cross":y.attr("marker-end","url("+f+"#"+a+"-crossEnd)");break;case"arrow_point":y.attr("marker-end","url("+f+"#"+a+"-pointEnd)");break;case"arrow_barb":y.attr("marker-end","url("+f+"#"+a+"-barbEnd)");break;case"arrow_circle":y.attr("marker-end","url("+f+"#"+a+"-circleEnd)");break;case"aggregation":y.attr("marker-end","url("+f+"#"+a+"-aggregationEnd)");break;case"extension":y.attr("marker-end","url("+f+"#"+a+"-extensionEnd)");break;case"composition":y.attr("marker-end","url("+f+"#"+a+"-compositionEnd)");break;case"dependency":y.attr("marker-end","url("+f+"#"+a+"-dependencyEnd)");break;case"lollipop":y.attr("marker-end","url("+f+"#"+a+"-lollipopEnd)")}let m={};return h&&(m.updatedPath=l),m.originalPath=i.points,m},ab=(t,e,i,r)=>{z.info("Graph in recursive render: XXX",I.M(e),r);let a=e.graph().rankdir;z.trace("Dir in recursive render - dir:",a);let s=t.insert("g").attr("class","root");e.nodes()?z.info("Recursive render XXX",e.nodes()):z.info("No nodes found for",e),e.edges().length>0&&z.trace("Recursive edges",e.edge(e.edges()[0]));let n=s.insert("g").attr("class","clusters"),o=s.insert("g").attr("class","edgePaths"),l=s.insert("g").attr("class","edgeLabels"),h=s.insert("g").attr("class","nodes");e.nodes().forEach(function(t){let s=e.node(t);if(void 0!==r){let i=JSON.parse(JSON.stringify(r.clusterData));z.info("Setting data for cluster XXX (",t,") ",i,r),e.setNode(r.id,i),e.parent(t)||(z.trace("Setting parent",t,r.id),e.setParent(t,r.id,i))}if(z.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),s&&s.clusterNode){z.info("Cluster identified",t,s.width,e.node(t));let r=ab(h,s.graph,i,e.node(t)),a=r.elem;r2(s,a),s.diff=r.diff||0,z.info("Node bounds (abc123)",t,s,s.width,s.x,s.y),ac[s.id]=a,z.warn("Recursive render complete ",a,s)}else e.children(t).length>0?(z.info("Cluster - the non recursive path XXX",t,s.id,s,e),z.info(at(s.id,e)),r4[s.id]={id:at(s.id,e),node:s}):(z.info("Node - the non recursive path",t,s.id,s),((t,e,i)=>{let r,a;
1124if(e.link){let s;"sandbox"===eW().securityLevel?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s),a=al[e.shape](r,e,i)}else r=a=al[e.shape](t,e,i);e.tooltip&&a.attr("title",e.tooltip),e.class&&a.attr("class","node default "+e.class),ac[e.id]=r,e.haveCallback&&ac[e.id].attr("class",ac[e.id].attr("class")+" clickable")})(h,e.node(t),a))}),e.edges().forEach(function(t){let i=e.edge(t.v,t.w,t.name);z.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),z.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),z.info("Fix",r4,"ids:",t.v,t.w,"Translateing: ",r4[t.v],r4[t.w]),((t,e)=>{let i,r=r1(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(r);let n=r.getBBox();if(G(eW().flowchart.htmlLabels)){let t=r.children[0],e=(0,x.Ltv)(r);n=t.getBoundingClientRect(),e.attr("width",n.width),e.attr("height",n.height)}if(s.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),ap[e.id]=a,e.width=n.width,e.height=n.height,e.startLabelLeft){let r=r1(e.startLabelLeft,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),s=a.insert("g").attr("class","inner");i=s.node().appendChild(r);let n=r.getBBox();s.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),ag[e.id]||(ag[e.id]={}),ag[e.id].startLeft=a,ay(i,e.startLabelLeft)}if(e.startLabelRight){let r=r1(e.startLabelRight,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),s=a.insert("g").attr("class","inner");i=a.node().appendChild(r),s.node().appendChild(r);let n=r.getBBox();s.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),ag[e.id]||(ag[e.id]={}),ag[e.id].startRight=a,ay(i,e.startLabelRight)}if(e.endLabelLeft){let r=r1(e.endLabelLeft,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),s=a.insert("g").attr("class","inner");i=s.node().appendChild(r);let n=r.getBBox();s.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),a.node().appendChild(r),ag[e.id]||(ag[e.id]={}),ag[e.id].endLeft=a,ay(i,e.endLabelLeft)}if(e.endLabelRight){let r=r1(e.endLabelRight,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),s=a.insert("g").attr("class","inner");i=s.node().appendChild(r);let n=r.getBBox();s.attr("transform","translate("+-n.width/2+", "+-n.height/2+")"),a.node().appendChild(r),ag[e.id]||(ag[e.id]={}),ag[e.id].endRight=a,ay(i,e.endLabelRight)}})(l,i)}
1124),e.edges().forEach(function(t){z.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))}),z.info("#############################################"),z.info("###                Layout                 ###"),z.info("#############################################"),z.info(e),(0,L.Zp)(e),z.info("Graph after layout:",I.M(e));let u=0;return(t=>ar(t,t.children()))(e).forEach(function(t){let i=e.node(t);if(z.info("Position "+t+": "+JSON.stringify(e.node(t))),z.info("Position "+t+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i&&i.clusterNode)ah(i);else if(e.children(t).length>0){z.trace("Inserting cluster");let t=i.shape||"rect";ad[i.id]=au[t](n,i),r4[i.id].node=i}else ah(i)}),e.edges().forEach(function(t){let r=e.edge(t);z.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r),r);let a=am(o,t,r,r4,i,e);((t,e)=>{z.info("Moving label abc78 ",t.id,t.label,ap[t.id]);let i=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){let r=ap[t.id],a=t.x,s=t.y;if(i){let r=eF.calcLabelPosition(i);z.info("Moving label "+t.label+" from (",a,",",s,") to (",r.x,",",r.y,") abc78"),e.updatedPath&&(a=r.x,s=r.y)}r.attr("transform","translate("+a+", "+s+")")}if(t.startLabelLeft){let e=ag[t.id].startLeft,r=t.x,a=t.y;if(i){let e=eF.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_left",i);r=e.x,a=e.y}e.attr("transform","translate("+r+", "+a+")")}if(t.startLabelRight){let e=ag[t.id].startRight,r=t.x,a=t.y;if(i){let e=eF.calcTerminalLabelPosition(10*!!t.arrowTypeStart,"start_right",i);r=e.x,a=e.y}e.attr("transform","translate("+r+", "+a+")")}if(t.endLabelLeft){let e=ag[t.id].endLeft,r=t.x,a=t.y;if(i){let e=eF.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_left",i);r=e.x,a=e.y}e.attr("transform","translate("+r+", "+a+")")}if(t.endLabelRight){let e=ag[t.id].endRight,r=t.x,a=t.y;if(i){let e=eF.calcTerminalLabelPosition(10*!!t.arrowTypeEnd,"end_right",i);r=e.x,a=e.y}e.attr("transform","translate("+r+", "+a+")")}})(r,a)}),e.nodes().forEach(function(t){let i=e.node(t);z.info(t,i.type,i.diff),"group"===i.type&&(u=i.diff)}),{elem:s,diff:u}},ax=(t,e,i,r,a)=>{i.forEach(e=>{rJ[e](t,r,a)}),ac={},ap={},ag={},ad={},r5={},r6={},r4={},z.warn("Graph at first:",I.M(e)),((t,e)=>{if(!t||e>10)return z.debug("Opting out, no graph ");z.debug("Opting in, graph "),t.nodes().forEach(function(e){t.children(e).length>0&&(z.warn("Cluster identified",e," Replacement id in edges: ",at(e,t)),r5[e]=r9(e,t),r4[e]={id:at(e,t),clusterData:t.node(e)})}),t.nodes().forEach(function(e){let i=t.children(e),r=t.edges();i.length>0?(z.debug("Cluster identified",e,r5),r.forEach(t=>{t.v!==e&&t.w!==e&&r8(t.v,e)^r8(t.w,e)&&(z.warn("Edge: ",t," leaves cluster ",e),z.warn("Decendants of XXX ",e,": ",r5[e]),r4[e].externalConnections=!0)})):z.debug("Not a cluster ",e,r5)}
1124),t.edges().forEach(function(e){let i=t.edge(e);z.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),z.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let r=e.v,a=e.w;if(z.warn("Fix XXX",r4,"ids:",e.v,e.w,"Translating: ",r4[e.v]," --- ",r4[e.w]),r4[e.v]&&r4[e.w]&&r4[e.v]===r4[e.w]){z.warn("Fixing and trixing link to self - removing XXX",e.v,e.w,e.name),z.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),r=ae(e.v),a=ae(e.w),t.removeEdge(e.v,e.w,e.name);let s=e.w+"---"+e.v;t.setNode(s,{domId:s,id:s,labelStyle:"",labelText:i.label,padding:0,shape:"labelRect",style:""});let n=JSON.parse(JSON.stringify(i)),o=JSON.parse(JSON.stringify(i));n.label="",n.arrowTypeEnd="none",o.label="",n.fromCluster=e.v,o.toCluster=e.v,t.setEdge(r,s,n,e.name+"-cyclic-special"),t.setEdge(s,a,o,e.name+"-cyclic-special")}else(r4[e.v]||r4[e.w])&&(z.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),r=ae(e.v),a=ae(e.w),t.removeEdge(e.v,e.w,e.name),r!==e.v&&(i.fromCluster=e.v),a!==e.w&&(i.toCluster=e.w),z.warn("Fix Replacing with XXX",r,a,e.name),t.setEdge(r,a,i,e.name))}),z.warn("Adjusted Graph",I.M(t)),ai(t,0),z.trace(r4)})(e),z.warn("Graph after:",I.M(e)),ab(t,e,r)},ak=t=>K.sanitizeText(t,eW()),a_={dividerMargin:10,padding:5,textHeight:10},aC=function(t,e,i,r){let a=Object.keys(t);z.info("keys:",a),z.info(t),a.forEach(function(i){let a=t[i],s="";a.cssClasses.length>0&&(s=s+" "+a.cssClasses.join(" "));let n={labelStyle:""},o=void 0!==a.text?a.text:a.id,l="";a.type,l="class_box",e.setNode(a.id,{labelStyle:n.labelStyle,shape:l,labelText:ak(o),classData:a,rx:0,ry:0,class:s,style:n.style,id:a.id,domId:a.domId,tooltip:r.db.getTooltip(a.id)||"",haveCallback:a.haveCallback,link:a.link,width:"group"===a.type?500:void 0,type:a.type,padding:eW().flowchart.padding}),z.info("setNode",{labelStyle:n.labelStyle,shape:l,labelText:o,rx:0,ry:0,class:s,style:n.style,id:a.id,width:"group"===a.type?500:void 0,type:a.type,padding:eW().flowchart.padding})})},aT=function(t,e,i,r){z.info(t),t.forEach(function(t,a){let s=t.text,n="note";if(e.setNode(t.id,{labelStyle:"",shape:n,labelText:ak(s),noteData:t,rx:0,ry:0,class:"",style:"",id:t.id,domId:t.id,tooltip:"",type:"note",padding:eW().flowchart.padding}),z.info("setNode",{labelStyle:"",shape:n,labelText:s,rx:0,ry:0,style:"",id:t.id,type:"note",padding:eW().flowchart.padding}),!t.class||!(t.class in r))return;let o=i+a,l={};l.classes="relation",l.pattern="dotted",l.id=`edgeNote${o}`,l.arrowhead="none",z.info(`Note edge: ${JSON.stringify(l)}, ${JSON.stringify(t)}`),l.startLabelRight="",l.endLabelLeft="",l.arrowTypeStart="none",l.arrowTypeEnd="none",l.style="fill:none",l.labelStyle="",l.curve=ex(a_.curve,x.lUB),e.setEdge(t.id,t.class,l,o)})},aE=function(t,e){let i=eW().flowchart,r=0;t.forEach(function(a){r++;let s={};s.classes="relation",s.pattern=1==a.relation.lineType?"dashed":"solid",s.id="id"+r,"arrow_open"===a.type?s.arrowhead="none":s.arrowhead="normal",z.info(s,a),s.startLabelRight="none"===a.relationTitle1?"":a.relationTitle1,s.endLabelLeft="none"===a.relationTitle2?"":a.relationTitle2,s.arrowTypeStart=av(a.relation.type1),s.arrowTypeEnd=av(a.relation.type2);let n="",o="";if(void 0!==a.style){let t=e_(a.style);n=t.style,o=t.labelStyle}else n="fill:none";s.style=n,s.labelStyle=o,void 0!==a.interpolate?s.curve=ex(a.interpolate,x.lUB):void 0!==t.defaultInterpolate?s.curve=ex(t.defaultInterpolate,x.lUB):s.curve=ex(i.curve,x.lUB),a.text=a.title,void 0===a.text?void 0!==a.style&&(s.arrowheadStyle="fill: #333"):(s.arrowheadStyle="fill: #333",s.labelpos="c",eW().flowchart.htmlLabels?(s.labelType="html",s.label='<span class="edgeLabel">'+a.text+"</span>"):(s.labelType="text",s.label=a.text.replace(K.lineBreakRegex,"\n"),void 0===a.style&&(s.style=s.style||"stroke: #333; stroke-width: 1.5px;fill:none"),s.labelStyle=s.labelStyle.replace("color:","fill:"))),e.setEdge(a.id1,a.id2,s,r)})};function av(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}let aA={setConf:function(t){Object.keys(t).forEach(function(e){a_[e]=t[e]})}
1124,draw:function(t,e,i,r){let a;z.info("Drawing class - ",e);let s=eW().flowchart,n=eW().securityLevel;z.info("config:",s);let o=s.nodeSpacing||50,l=s.rankSpacing||50,h=new B.T({multigraph:!0,compound:!0}).setGraph({rankdir:r.db.getDirection(),nodesep:o,ranksep:l,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),u=r.db.getClasses(),d=r.db.getRelations(),p=r.db.getNotes();z.info(d),aC(u,h,e,r),aE(d,h),aT(p,h,d.length+1,u),"sandbox"===n&&(a=(0,x.Ltv)("#i"+e));let g="sandbox"===n?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),y=g.select(`[id="${e}"]`);if(ax(g.select("#"+e+" g"),h,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),eF.insertTitle(y,"classTitleText",s.titleTopMargin,r.db.getDiagramTitle()),eJ(h,y,s.diagramPadding,s.useMaxWidth),!s.htmlLabels){let t="sandbox"===n?a.nodes()[0].contentDocument:document;for(let i of t.querySelectorAll('[id="'+e+'"] .edgeLabel .label')){let e=i.getBBox(),r=t.createElementNS("http://www.w3.org/2000/svg","rect");r.setAttribute("rx",0),r.setAttribute("ry",0),r.setAttribute("width",e.width),r.setAttribute("height",e.height),i.insertBefore(r,i.firstChild)}}}};var aS=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,2],i=[1,5],r=[6,9,11,23,25,27,29,30,31,49],a=[1,17],s=[1,18],n=[1,19],o=[1,20],l=[1,21],h=[1,22],u=[1,25],d=[1,30],p=[1,31],g=[1,32],y=[1,33],f=[6,9,11,15,20,23,25,27,29,30,31,42,43,44,45,49],m=[1,45],b=[30,31,46,47],x=[4,6,9,11,23,25,27,29,30,31,49],k=[42,43,44,45],_=[22,37],C=[1,64],T={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyType:35,attributeComment:36,ATTRIBUTE_WORD:37,ATTRIBUTE_KEY:38,COMMENT:39,cardinality:40,relType:41,ZERO_OR_ONE:42,ZERO_OR_MORE:43,ONE_OR_MORE:44,ONLY_ONE:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,open_directive:49,type_directive:50,arg_directive:51,close_directive:52,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",38:"ATTRIBUTE_KEY",39:"COMMENT",42:"ZERO_OR_ONE",43:"ZERO_OR_MORE",44:"ONE_OR_MORE",45:"ONLY_ONE",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD",49:"open_directive",50:"type_directive",51:"arg_directive",52:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[36,1],[18,3],[40,1],[40,1],[40,1],[40,1],[41,1],[41,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 1:break;case 3:case 7:case 8:this.$=[];break;case 4:s[o-1].push(s[o]),this.$=s[o-1];break;case 5:case 6:case 20:case 41:case 28:case 29:case 30:this.$=s[o];break;case 12:r.addEntity(s[o-4]),r.addEntity(s[o-2]),r.addRelationship(s[o-4],s[o],s[o-2],s[o-3]);break;case 13:r.addEntity(s[o-3]),r.addAttributes(s[o-3],s[o-1]);break;case 14:r.addEntity(s[o-2]);break;case 15:r.addEntity(s[o]);break;case 16:case 17:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 18:case 19:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 21:case 39:case 40:case 31:this.$=s[o].replace(/"/g,"");break;case 22:this.$=[s[o]];break;case 23:s[o].push(s[o-1]),this.$=s[o];break;case 24:this.$={attributeType:s[o-1],attributeName:s[o]};break;case 25:this.$={attributeType:s[o-2],attributeName:s[o-1],attributeKeyType:s[o]};break;case 26:this.$={attributeType:s[o-2],attributeName:s[o-1],attributeComment:s[o]};break;case 27:this.$={attributeType:s[o-3],attributeName:s[o-2],attributeKeyType:s[o-1],attributeComment:s[o]};break;case 32:this.$={cardA:s[o],relType:s[o-1],cardB:s[o-2]};break;case 33:this.$=r.Cardinality.ZERO_OR_ONE;break;case 34:this.$=r.Cardinality.ZERO_OR_MORE;break;case 35:this.$=r.Cardinality.ONE_OR_MORE;break;case 36:this.$=r.Cardinality.ONLY_ONE;break;case 37:this.$=r.Identification.NON_IDENTIFYING;break;case 38:this.$=r.Identification.IDENTIFYING;break;case 42:r.parseDirective("%%{","open_directive");break;case 43:r.parseDirective(s[o],"type_directive");break;case 44:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 45:r.parseDirective("}%%","close_directive","er")}},table:[{3:1,4:e,7:3,12:4,49:i}
1124,{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,49:i},{13:8,50:[1,9]},{50:[2,42]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:a,25:s,27:n,29:o,30:l,31:h,49:i},{1:[2,2]},{14:23,15:[1,24],52:u},t([15,52],[2,43]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:15,10:26,12:4,17:16,23:a,25:s,27:n,29:o,30:l,31:h,49:i},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,15],{18:27,40:29,20:[1,28],42:d,43:p,44:g,45:y}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(r,[2,19]),t(f,[2,20]),t(f,[2,21]),{11:[1,37]},{16:38,51:[1,39]},{11:[2,45]},t(r,[2,5]),{17:40,30:l,31:h},{21:41,22:[1,42],32:43,33:44,37:m},{41:46,46:[1,47],47:[1,48]},t(b,[2,33]),t(b,[2,34]),t(b,[2,35]),t(b,[2,36]),t(r,[2,16]),t(r,[2,17]),t(r,[2,18]),t(x,[2,9]),{14:49,52:u},{52:[2,44]},{15:[1,50]},{22:[1,51]},t(r,[2,14]),{21:52,22:[2,22],32:43,33:44,37:m},{34:53,37:[1,54]},{37:[2,28]},{40:55,42:d,43:p,44:g,45:y},t(k,[2,37]),t(k,[2,38]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],48:[1,58]},t(r,[2,13]),{22:[2,23]},t(_,[2,24],{35:61,36:62,38:[1,63],39:C}),t([22,37,38,39],[2,29]),t([30,31],[2,32]),t(x,[2,10]),t(r,[2,12]),t(r,[2,39]),t(r,[2,40]),t(r,[2,41]),t(_,[2,25],{36:65,39:C}),t(_,[2,26]),t([22,37,39],[2,30]),t(_,[2,31]),t(_,[2,27])],defaultActions:{5:[2,42],7:[2,2],25:[2,45],39:[2,44],45:[2,28],52:[2,23]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function E(){this.yy={}}return T.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1124,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;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 this.begin("open_directive"),49;case 8:return this.begin("type_directive"),50;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),52;case 11:return 51;case 12:case 13:case 15:case 21:case 26:break;case 14:return 11;case 16:return 9;case 17:return 31;case 18:return 48;case 19:return 4;case 20:return this.begin("block"),20;case 22:return 38;case 23:case 24:return 37;case 25:return 39;case 27:return this.popState(),22;case 28:case 57:return e.yytext[0];case 29:case 33:case 34:case 47:return 42;case 30:case 31:case 32:case 40:case 42:case 49:return 44;case 35:case 36:case 37:case 38:case 39:case 41:case 48:return 43;case 43:case 44:case 45:case 46:return 45;case 50:case 53:case 54:case 55:return 46;case 51:case 52:return 47;case 56:return 30;case 58:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[A-Za-z][A-Za-z0-9\-_\[\]]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/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,/^(?:\.\.)/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},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[21,22,23,24,25,26,27,28],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,19,20,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],inclusive:!0}}},E.prototype=T,T.Parser=E,new E}();aS.parser=aS;let aw=t=>null!==t.match(/^\s*erDiagram/),aL={},aB=[],aI=function(t){return void 0===aL[t]&&(aL[t]={attributes:[]},z.info("Added new entity :",t)),aL[t]},aD={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().er,addEntity:aI,addAttributes:function(t,e){let i,r=aI(t);for(i=e.length-1;i>=0;i--)r.attributes.push(e[i]),z.debug("Added attribute ",e[i].attributeName)},getEntities:()=>aL,addRelationship:function(t,e,i,r){let a={entityA:t,roleA:e,entityB:i,relSpec:r};aB.push(a),z.debug("Added new relationship :",a)},getRelationships:()=>aB,clear:function(){aL={},aB=[],ig()},setAccTitle:iy,getAccTitle:im,setAccDescription:ib,getAccDescription:ix,setDiagramTitle:ik,getDiagramTitle:i_},aO={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"},aF={ERMarkers:aO,insertMarkers:function(t,e){let i;t.append("defs").append("marker").attr("id",aO.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",aO.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(i=t.append("defs").append("marker").attr("id",aO.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(i=t.append("defs").append("marker").attr("id",aO.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",aO.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",aO.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(i=t.append("defs").append("marker").attr("id",aO.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(i=t.append("defs").append("marker").attr("id",aO.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},aN=/[^\dA-Za-z](\W)*/g,aR={}
1124,a$=new Map,aM=function(t,e,i){let r;return Object.keys(e).forEach(function(a){let s=function(t="",e=""){let i=t.replace(aN,"");return`${aW(e)}${aW(i)}${(0,D.A)()}`}(a,"entity");a$.set(a,s);let n=t.append("g").attr("id",s);r=void 0===r?s:r;let o="text-"+s,l=n.append("text").classed("er entityLabel",!0).attr("id",o).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",eW().fontFamily).style("font-size",aR.fontSize+"px").text(a),{width:h,height:u}=((t,e,i)=>{let r=aR.entityPadding/3,a=aR.entityPadding/3,s=.85*aR.fontSize,n=e.node().getBBox(),o=[],l=!1,h=!1,u=0,d=0,p=0,g=0,y=n.height+2*r,f=1;i.forEach(t=>{void 0!==t.attributeKeyType&&(l=!0),void 0!==t.attributeComment&&(h=!0)}),i.forEach(i=>{let a=`${e.node().id}-attr-${f}`,n=0,m=X(i.attributeType),b=t.append("text").classed("er entityLabel",!0).attr("id",`${a}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",eW().fontFamily).style("font-size",s+"px").text(m),x=t.append("text").classed("er entityLabel",!0).attr("id",`${a}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",eW().fontFamily).style("font-size",s+"px").text(i.attributeName),k={};k.tn=b,k.nn=x;let _=b.node().getBBox(),C=x.node().getBBox();if(u=Math.max(u,_.width),d=Math.max(d,C.width),n=Math.max(_.height,C.height),l){let e=t.append("text").classed("er entityLabel",!0).attr("id",`${a}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",eW().fontFamily).style("font-size",s+"px").text(i.attributeKeyType||"");k.kn=e;let r=e.node().getBBox();p=Math.max(p,r.width),n=Math.max(n,r.height)}if(h){let e=t.append("text").classed("er entityLabel",!0).attr("id",`${a}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",eW().fontFamily).style("font-size",s+"px").text(i.attributeComment||"");k.cn=e;let r=e.node().getBBox();g=Math.max(g,r.width),n=Math.max(n,r.height)}k.height=n,o.push(k),y+=n+2*r,f+=1});let m=4;l&&(m+=2),h&&(m+=2);let b=u+d+p+g,x={width:Math.max(aR.minEntityWidth,Math.max(n.width+2*aR.entityPadding,b+a*m)),height:i.length>0?y:Math.max(aR.minEntityHeight,n.height+2*aR.entityPadding)};if(i.length>0){let i=Math.max(0,(x.width-b-a*m)/(m/2));e.attr("transform","translate("+x.width/2+","+(r+n.height/2)+")");let s=n.height+2*r,y="attributeBoxOdd";o.forEach(e=>{let n=s+r+e.height/2;e.tn.attr("transform","translate("+a+","+n+")");let o=t.insert("rect","#"+e.tn.node().id).classed(`er ${y}`,!0).attr("x",0).attr("y",s).attr("width",u+2*a+i).attr("height",e.height+2*r),f=parseFloat(o.attr("x"))+parseFloat(o.attr("width"));e.nn.attr("transform","translate("+(f+a)+","+n+")");let m=t.insert("rect","#"+e.nn.node().id).classed(`er ${y}`,!0).attr("x",f).attr("y",s).attr("width",d+2*a+i).attr("height",e.height+2*r),b=parseFloat(m.attr("x"))+parseFloat(m.attr("width"));if(l){e.kn.attr("transform","translate("+(b+a)+","+n+")");let o=t.insert("rect","#"+e.kn.node().id).classed(`er ${y}`,!0).attr("x",b).attr("y",s).attr("width",p+2*a+i).attr("height",e.height+2*r);b=parseFloat(o.attr("x"))+parseFloat(o.attr("width"))}h&&(e.cn.attr("transform","translate("+(b+a)+","+n+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${y}`,"true").attr("x",b).attr("y",s).attr("width",g+2*a+i).attr("height",e.height+2*r)),s+=e.height+2*r,y="attributeBoxOdd"===y?"attributeBoxEven":"attributeBoxOdd"})}else x.height=Math.max(aR.minEntityHeight,y),e.attr("transform","translate("+x.width/2+","+x.height/2+")");return x})(n,l,e[a].attributes),d=n.insert("rect","#"+o).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",h).attr("height",u).node().getBBox();i.setNode(s,{width:d.width,height:d.height,shape:"rect",id:s})}),r},aP=function(t,e){e.nodes().forEach(function(i){void 0!==i&&void 0!==e.node(i)&&t.select("#"+i).attr("transform","translate("+(e.node(i).x-e.node(i).width/2)+","+(e.node(i).y-e.node(i).height/2)+" )")})}
1124,az=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},aY=0,aj=function(t,e,i,r,a){aY++;let s=i.edge(a$.get(e.entityA),a$.get(e.entityB),az(e)),n=(0,x.n8j)().x(function(t){return t.x}).y(function(t){return t.y}).curve(x.qrM),o=t.insert("path","#"+r).classed("er relationshipLine",!0).attr("d",n(s.points)).style("stroke",aR.stroke).style("fill","none");e.relSpec.relType===a.db.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");let l="";switch(aR.arrowMarkerAbsolute&&(l=(l=(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e.relSpec.cardA){case a.db.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+l+"#"+aF.ERMarkers.ZERO_OR_ONE_END+")");break;case a.db.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+l+"#"+aF.ERMarkers.ZERO_OR_MORE_END+")");break;case a.db.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+l+"#"+aF.ERMarkers.ONE_OR_MORE_END+")");break;case a.db.Cardinality.ONLY_ONE:o.attr("marker-end","url("+l+"#"+aF.ERMarkers.ONLY_ONE_END+")")}switch(e.relSpec.cardB){case a.db.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+l+"#"+aF.ERMarkers.ZERO_OR_ONE_START+")");break;case a.db.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+l+"#"+aF.ERMarkers.ZERO_OR_MORE_START+")");break;case a.db.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+l+"#"+aF.ERMarkers.ONE_OR_MORE_START+")");break;case a.db.Cardinality.ONLY_ONE:o.attr("marker-start","url("+l+"#"+aF.ERMarkers.ONLY_ONE_START+")")}let h=o.node().getTotalLength(),u=o.node().getPointAtLength(.5*h),d="rel"+aY,p=t.append("text").classed("er relationshipLabel",!0).attr("id",d).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",eW().fontFamily).style("font-size",aR.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+d).classed("er relationshipLabelBox",!0).attr("x",u.x-p.width/2).attr("y",u.y-p.height/2).attr("width",p.width).attr("height",p.height)};function aW(t=""){return t.length>0?`${t}-`:""}let aq={setConf:function(t){for(let e of Object.keys(t))aR[e]=t[e]},draw:function(t,e,i,r){var a;let s,n;aR=eW().er,z.info("Drawing ER diagram");let o=eW().securityLevel;"sandbox"===o&&(s=(0,x.Ltv)("#i"+e));let l=("sandbox"===o?(0,x.Ltv)(s.nodes()[0].contentDocument.body):(0,x.Ltv)("body")).select(`[id='${e}']`);aF.insertMarkers(l,aR),n=new B.T({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:aR.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let h=aM(l,r.db.getEntities(),n),u=(a=r.db.getRelationships(),a.forEach(function(t){n.setEdge(a$.get(t.entityA),a$.get(t.entityB),{relationship:t},az(t))}),a);(0,L.Zp)(n),aP(l,n),u.forEach(function(t){aj(l,t,n,h,r)});let d=aR.diagramPadding;eF.insertTitle(l,"entityTitleText",aR.titleTopMargin,r.db.getDiagramTitle());let p=l.node().getBBox(),g=p.width+2*d,y=p.height+2*d;eZ(l,y,g,aR.useMaxWidth),l.attr("viewBox",`${p.x-d} ${p.y-d} ${g} ${y}`)}};var aU=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,9],i=[1,7],r=[1,6],a=[1,8],s=[1,20,21,22,23,38,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],n=[2,10],o=[1,20],l=[1,21],h=[1,22],u=[1,23],d=[1,30],p=[1,32],g=[1,33],y=[1,34],f=[1,62],m=[1,48],b=[1,52],x=[1,36],k=[1,37],_=[1,38],C=[1,39],T=[1,40],E=[1,56],v=[1,63],A=[1,51],S=[1,53],w=[1,55],L=[1,59],B=[1,60],I=[1,41],D=[1,42],O=[1,43],F=[1,44],N=[1,61],R=[1,50],$=[1,54],M=[1,57],P=[1,58],z=[1,49],Y=[1,66],j=[1,71],W=[1,20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],q=[1,75],U=[1,74],V=[1,76],H=[20,21,23,81,82],G=[1,99],X=[1,104],K=[1,107],Q=[1,108],Z=[1,101],J=[1,106],tt=[1,109],te=[1,102],ti=[1,114],tr=[1,113],ta=[1,103],ts=[1,105],tn=[1,110],to=[1,111],tl=[1,112],tc=[1,115],th=[20,21,22,23,81,82],tu=[20,21,22,23,53,81,82],td=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],tp=[20,21,23],tg=[20,21,23,52,66,67,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],ty=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],tf=[52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],tm=[1,149],tb=[1,157],tx=[1,158],tk=[1,159],t_=[1,160],tC=[1,144],tT=[1,145],tE=[1,141],tv=[1,152],tA=[1,153],tS=[1,154],tw=[1,155],tL=[1,156],tB=[1,161],tI=[1,162],tD=[1,147],tO=[1,150],tF=[1,146],tN=[1,143],tR=[20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],t$=[1,165],tM=[20,21,22,23,26,52,66,67,91,105,106,109,111,112,122,123,124,125,126,127],tP=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,86,87,88,89,90,91,92,95,105,106,109,111,112,113,114,122,123,124,125,126,127],tz=[12,21,22,24],tY=[22,106],tj=[1,250],tW=[1,245],tq=[1,246],tU=[1,254],tV=[1,251],tH=[1,248],tG=[1,247],tX=[1,249],tK=[1,252],tQ=[1,253],tZ=[1,255],tJ=[1,273],t1=[20,21,23,106],t0=[20,21,22,23,66,67,86,102,105,106,109,110,111,112,113],t2={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,keywords:85,STYLE:86,LINKSTYLE:87,CLASSDEF:88,CLASS:89,CLICK:90,DOWN:91,UP:92,textNoTags:93,textNoTagsToken:94,DEFAULT:95,stylesOpt:96,alph
1124aNum:97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,HEX:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,MINUS:109,UNIT:110,BRKT:111,DOT:112,PCT:113,TAGSTART:114,alphaNumToken:115,idStringToken:116,alphaNumStatement:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,PUNCTUATION:122,UNICODE_TEXT:123,PLUS:124,EQUALS:125,MULT:126,UNDERSCORE:127,graphCodeTokens:128,ARROW_CROSS:129,ARROW_POINT:130,ARROW_CIRCLE:131,ARROW_OPEN:132,QUOTE:133,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",86:"STYLE",87:"LINKSTYLE",88:"CLASSDEF",89:"CLASS",90:"CLICK",91:"DOWN",92:"UP",95:"DEFAULT",98:"CALLBACKNAME",99:"CALLBACKARGS",100:"HREF",101:"LINK_TARGET",102:"HEX",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"MINUS",110:"UNIT",111:"BRKT",112:"DOT",113:"PCT",114:"TAGSTART",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr",122:"PUNCTUATION",123:"UNICODE_TEXT",124:"PLUS",125:"EQUALS",126:"MULT",127:"UNDERSCORE",129:"ARROW_CROSS",130:"ARROW_POINT",131:"ARROW_CIRCLE",132:"ARROW_OPEN",133:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[93,1],[93,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[103,1],[103,3],[96,1],[96,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[94,1],[94,1],[94,1],[94,1],[54,1],[54,2],[97,1],[97,2],[117,1],[117,1],[117,1],[117,1],[43,1],[43,1],[43,1],[43,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(s[o],"type_directive");break;case 7:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 11:(!Array.isArray(s[o])||s[o].length>0)&&s[o-1].push(s[o]),this.$=s[o-1];break;case 12:case 82:case 84:case 96:case 152:case 154:case 155:case 78:case 150:this.$=s[o];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(s[o-1]),this.$=s[o-1];break;case 35:this.$=s[o-1].nodes;break;case 41:this.$=r.addSubGraph(s[o-6],s[o-1],s[o-4]);break;case 42:this.$=r.addSubGraph(s[o-3],s[o-1],s[o-3]);break;case 43:this.$=r.addSubGraph(void 0,s[o-1],void 0);break;case 45:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 46:case 47:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 51:r.addLink(s[o-2].stmt,s[o],s[o-1]),this.$={stmt:s[o],nodes:s[o].concat(s[o-2].nodes)};break;case 52:r.addLink(s[o-3].stmt,s[o-1],s[o-2]),this.$={stmt:s[o-1],nodes:s[o-1].concat(s[o-3].nodes)};break;case 53:this.$={stmt:s[o-1],nodes:s[o-1]};break;case 54:this.$={stmt:s[o],nodes:s[o]};break;case 55:case 123:case 125:this.$=[s[o]];break;case 56:this.$=s[o-4].concat(s[o]);break;case 57:this.$=[s[o-2]],r.setClass(s[o-2],s[o]);break;case 58:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"square");break;case 59:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"doublecircle");break;case 60:this.$=s[o-5],r.addVertex(s[o-5],s[o-2],"circle");break;case 61:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"ellipse");break;case 62:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"stadium");break;
vendor: 20,149 bytes, line 1124
1124case 63:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"subroutine");break;case 64:this.$=s[o-7],r.addVertex(s[o-7],s[o-1],"rect",void 0,void 0,void 0,Object.fromEntries([[s[o-5],s[o-3]]]));break;case 65:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"cylinder");break;case 66:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"round");break;case 67:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"diamond");break;case 68:this.$=s[o-5],r.addVertex(s[o-5],s[o-2],"hexagon");break;case 69:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"odd");break;case 70:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"trapezoid");break;case 71:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"inv_trapezoid");break;case 72:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"lean_right");break;case 73:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"lean_left");break;case 74:this.$=s[o],r.addVertex(s[o]);break;case 75:s[o-1].text=s[o],this.$=s[o-1];break;case 76:case 77:s[o-2].text=s[o-1],this.$=s[o-2];break;case 79:var l=r.destructLink(s[o],s[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:s[o-1]};break;case 80:var l=r.destructLink(s[o]);this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 81:this.$=s[o-1];break;case 83:case 97:case 153:case 151:this.$=s[o-1]+""+s[o];break;case 98:case 99:this.$=s[o-4],r.addClass(s[o-2],s[o]);break;case 100:this.$=s[o-4],r.setClass(s[o-2],s[o]);break;case 101:case 109:this.$=s[o-1],r.setClickEvent(s[o-1],s[o]);break;case 102:case 110:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-2]),r.setTooltip(s[o-3],s[o]);break;case 103:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 104:this.$=s[o-4],r.setClickEvent(s[o-4],s[o-3],s[o-2]),r.setTooltip(s[o-4],s[o]);break;case 105:case 111:this.$=s[o-1],r.setLink(s[o-1],s[o]);break;case 106:case 112:this.$=s[o-3],r.setLink(s[o-3],s[o-2]),r.setTooltip(s[o-3],s[o]);break;case 107:case 113:this.$=s[o-3],r.setLink(s[o-3],s[o-2],s[o]);break;case 108:case 114:this.$=s[o-5],r.setLink(s[o-5],s[o-4],s[o]),r.setTooltip(s[o-5],s[o-2]);break;case 115:this.$=s[o-4],r.addVertex(s[o-2],void 0,void 0,s[o]);break;case 116:case 118:this.$=s[o-4],r.updateLink(s[o-2],s[o]);break;case 117:this.$=s[o-4],r.updateLink([s[o-2]],s[o]);break;case 119:this.$=s[o-8],r.updateLinkInterpolate([s[o-6]],s[o-2]),r.updateLink([s[o-6]],s[o]);break;case 120:this.$=s[o-8],r.updateLinkInterpolate(s[o-6],s[o-2]),r.updateLink(s[o-6],s[o]);break;case 121:this.$=s[o-6],r.updateLinkInterpolate([s[o-4]],s[o]);break;case 122:this.$=s[o-6],r.updateLinkInterpolate(s[o-4],s[o]);break;case 124:case 126:s[o-2].push(s[o]),this.$=s[o-2];break;case 128:this.$=s[o-1]+s[o];break;case 156:this.$="v";break;case 157:this.$="-";break;case 158:this.$={stmt:"dir",value:"TB"};break;case 159:this.$={stmt:"dir",value:"BT"};break;case 160:this.$={stmt:"dir",value:"RL"};break;case 161:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:i,22:r,24:a},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:i,22:r,24:a},t(s,n,{17:11}),{7:12,13:[1,13]},{16:14,21:i,22:r,24:a},{16:15,21:i,22:r,24:a},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,43:31,44:p,46:g,48:y,50:35,51:45,52:f,54:46,66:m,67:b,86:x,87:k,88:_,89:C,90:T,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,118:I,119:D,120:O,121:F,122:N,123:R,124:$,125:M,126:P,127:z},{8:64,10:[1,65],15:Y},t([10,15],[2,6]),t(s,[2,17]),t(s,[2,18]),t(s,[2,19]),{20:[1,68],21:[1,69],22:j,27:67,30:70},t(W,[2,11]),t(W,[2,12]),t(W,[2,13]),t(W,[2,14]),t(W,[2,15]),t(W,[2,16]),{9:72,20:q,21:U,23:V,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:q,21:U,23:V},{9:81,20:q,21:U,23:V},{9:82,20:q,21:U,23:V},{9:83,20:q,21:U,23:V},{9:84,20:q,21:U,23:V},{9:86,20:q,21:U,22:[1,85],23:V},t(W,[2,44]),{45:[1,87]},{47:[1,88]},t(W,[2,47]),t(H,[2,54],{30:89,22:j}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:G,52:X,66:K,67:Q,84:[1,97],91:Z,97:96,98:[1,94],100:[1,95],105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(W,[2,158]),t(W,[2,159]),t(W,[2,160]),t(W,[2,161]),t(th,[2,55],{53:[1,116]}),t(tu,[2,74],{116:129,40:[1,117],52:f,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:m,67:b,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],91:E,95:v,105:A,106:S,109:w,111:L,112:B,122:N,123:R,124:$,125:M,126:P,127:z}),t(td,[2,150]),t(td,[2,175]),t(td,[2,176]),t(td,[2,177]),t(td,[2,178]),t(td,[2,179]),t(td,[2,180]),t(td,[2,181]),t(td,[2,182]),t(td,[2,183]),t(td,[2,184]),t(td,[2,185]),t(td,[2,186]),t(td,[2,187]),t(td,[2,188]),t(td,[2,189]),t(td,[2,190]),{9:130,20:q,21:U,23:V},{11:131,14:[1,132]},t(tp,[2,8]),t(s,[2,20]),t(s,[2,26]),t(s,[2,27]),{21:[1,133]},t(tg,[2,34],{30:134,22:j}),t(W,[2,35]),{50:135,51:45,52:f,54:46,66:m,67:b,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,122:N,123:R,124:$,125:M,126:P,127:z},t(ty,[2,48]),t(ty,[2,49]),t(ty,[2,50]),t(tf,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:tm,24:tb,26:tx,38:tk,39:139,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t([52,66,67,68,80,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,80]),t(W,[2,36]),t(W,[2,37]),t(W,[2,38]),t(W,[2,39]),t(W,[2,40]),{22:tm,24:tb,26:tx,38:tk,39:163,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tR,n,{17:164}),t(W,[2,45]),t(W,[2,46]),t(H,[2,53],{52:t$}),{26:G,52:X,66:K,67:Q,91:Z,97:166,102:[1,167],105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{95:[1,168],103:169,105:[1,170]},{26:G,52:X,66:K,67:Q,91:Z,95:[1,171],97:172,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{26:G,52:X,66:K,67:Q,91:Z,97:173,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tp,[2,101],{22:[1,174],99:[1,175]}),t(tp,[2,105],{22:[1,176]}),t(tp,[2,109],{115:100,117:178,22:[1,177],26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,122:ta,123:ts,124:tn,125:to,126:tl,127:tc}),t(tp,[2,111],{22:[1,179]}),t(tM,[2,152]),t(tM,[2,154]),t(tM,[2,155]),t(tM,[2,156]),t(tM,[2,157]),t(tP,[2,162]),t(tP,[2,163]),t(tP,[2,164]),t(tP,[2,165]),t(tP,[2,166]),t(tP,[2,167]),t(tP,[2,168]),t(tP,[2,169]),t(tP,[2,170]),t(tP,[2,171]),t(tP,[2,172]),t(tP,[2,173]),t(tP,[2,174]),{52:f,54:180,66:m,67:b,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,122:N,123:R,124:$,125:M,126:P,127:z},{22:tm,24:tb,26:tx,38:tk,39:181,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:182,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:184,42:t_,52:X,57:[1,183],66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:185,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:186,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:187,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{66:[1,188]},{22:tm,24:tb,26:tx,38:tk,39:189,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:190,42:t_,52:X,66:K,67:Q,71:[1,191],73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:192,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:193,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:194,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(td,[2,151]),t(tz,[2,3]),{8:195,15:Y},{15:[2,7]},t(s,[2,28]),t(tg,[2,33]),t(H,[2,51],{30:196,22:j}),t(tf,[2,75],{22:[1,197]}),{22:[1,198]},{22:tm,24:tb,26:tx,38:tk,39:199,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,73:tC,81:tT,82:[1,200],83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tP,[2,82]),t(tP,[2,84]),t(tP,[2,140]),t(tP,[2,141]),t(tP,[2,142]),t(tP,[2,143]),t(tP,[2,144]),t(tP,[2,145]),t(tP,[2,146]),t(tP,[2,147]),t(tP,[2,148]),t(tP,[2,149]),t(tP,[2,85]),t(tP,[2,86]),t(tP,[2,87]),t(tP,[2,88]),t(tP,[2,89]),t(tP,[2,90]),t(tP,[2,91]),t(tP,[2,92]),t(tP,[2,93]),t(tP,[2,94]),t(tP,[2,95]),{9:203,20:q,21:U,22:tm,23:V,24:tb,26:tx,38:tk,40:[1,202],42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,42:[1,204],43:31,44:p,46:g,48:y,50:35,51:45,52:f,54:46,66:m,67:b,86:x,87:k,88:_,89:C,90:T,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,118:I,119:D,120:O,121:F,122:N,123:R,124:$,125:M,126:P,127:z},{22:j,30:205},{22:[1,206],26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:178,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:[1,207]},{22:[1,208]},{22:[1,209],106:[1,210]},t(tY,[2,123]),{22:[1,211]},{22:[1,212],26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:178,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:[1,213],26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:178,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{84:[1,214]},t(tp,[2,103],{22:[1,215]}),{84:[1,216],101:[1,217]},{84:[1,218]},t(tM,[2,153]),{84:[1,219],101:[1,220]},t(th,[2,57],{116:129,52:f,66:m,67:b,91:E,95:v,105:A,106:S,109:w,111:L,112:B,122:N,123:R,124:$,125:M,126:P,127:z}),{22:tm,24:tb,26:tx,38:tk,41:[1,221],42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,56:[1,222],66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:223,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,58:[1,224],66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,60:[1,225],66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,62:[1,226],66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,64:[1,227],66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{67:[1,228]},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,70:[1,229],73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,72:[1,230],73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,39:231,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,41:[1,232],42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,73:tC,75:[1,233],77:[1,234],81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,73:tC,75:[1,236],77:[1,235],81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{9:237,20:q,21:U,23:V},t(H,[2,52],{52:t$}),t(tf,[2,77]),t(tf,[2,76]),{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,68:[1,238],73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tf,[2,79]),t(tP,[2,83]),{22:tm,24:tb,26:tx,38:tk,39:239,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tR,n,{17:240}),t(W,[2,43]),{51:241,52:f,54:46,66:m,67:b,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,122:N,123:R,124:$,125:M,126:P,127:z},{22:tj,66:tW,67:tq,86:tU,96:242,102:tV,105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{22:tj,66:tW,67:tq,86:tU,96:256,102:tV,105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{22:tj,66:tW,67:tq,86:tU,96:257,102:tV,104:[1,258],105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{22:tj,66:tW,67:tq,86:tU,96:259,102:tV,104:[1,260],105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{105:[1,261]},{22:tj,66:tW,67:tq,86:tU,96:262,102:tV,105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{22:tj,66:tW,67:tq,86:tU,96:263,102:tV,105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{26:G,52:X,66:K,67:Q,91:Z,97:264,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tp,[2,102]),{84:[1,265]},t(tp,[2,106],{22:[1,266]}),t(tp,[2,107]),t(tp,[2,110]),t(tp,[2,112],{22:[1,267]}),t(tp,[2,113]),t(tu,[2,58]),t(tu,[2,59]),{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,58:[1,268],66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tu,[2,66]),t(tu,[2,61]),t(tu,[2,62]),t(tu,[2,63]),{66:[1,269]},t(tu,[2,65]),t(tu,[2,67]),{22:tm,24:tb,26:tx,38:tk,42:t_,52:X,66:K,67:Q,72:[1,270],73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tu,[2,69]),t(tu,[2,70]),t(tu,[2,72]),t(tu,[2,71]),t(tu,[2,73]),t(tz,[2,4]),t([22,52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,81]),{22:tm,24:tb,26:tx,38:tk,41:[1,271],42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,42:[1,272],43:31,44:p,46:g,48:y,50:35,51:45,52:f,54:46,66:m,67:b,86:x,87:k,88:_,89:C,90:T,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,118:I,119:D,120:O,121:F,122:N,123:R,124:$,125:M,126:P,127:z},t(th,[2,56]),t(tp,[2,115],{106:tJ}),t(t1,[2,125],{108:274,22:tj,66:tW,67:tq,86:tU,102:tV,105:tH,109:tG,110:tX,111:tK,112:tQ,113:tZ}),t(t0,[2,127]),t(t0,[2,129]),t(t0,[2,130]),t(t0,[2,131]),t(t0,[2,132]),t(t0,[2,133]),t(t0,[2,134]),t(t0,[2,135]),t(t0,[2,136]),t(t0,[2,137]),t(t0,[2,138]),t(t0,[2,139]),t(tp,[2,116],{106:tJ}),t(tp,[2,117],{106:tJ}),{22:[1,275]},t(tp,[2,118],{106:tJ}),{22:[1,276]},t(tY,[2,124]),t(tp,[2,98],{106:tJ}),t(tp,[2,99],{106:tJ}),t(tp,[2,100],{115:100,117:178,26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,122:ta,123:ts,124:tn,125:to,126:tl,127:tc}),t(tp,[2,104]),{101:[1,277]},{101:[1,278]},{58:[1,279]},{68:[1,280]},{72:[1,281]},{9:282,20:q,21:U,23:V},t(W,[2,42]),{22:tj,66:tW,67:tq,86:tU,102:tV,105:tH,107:283,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},t(t0,[2,128]),{26:G,52:X,66:K,67:Q,91:Z,97:284,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{26:G,52:X,66:K,67:Q,91:Z,97:285,105:J,106:tt,109:te,111:ti,112:tr,115:100,117:98,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tp,[2,108]),t(tp,[2,114]),t(tu,[2,60]),{22:tm,24:tb,26:tx,38:tk,39:286,42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:140,84:tE,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},t(tu,[2,68]),t(tR,n,{17:287}),t(t1,[2,126],{108:274,22:tj,66:tW,67:tq,86:tU,102:tV,105:tH,109:tG,110:tX,111:tK,112:tQ,113:tZ}),t(tp,[2,121],{115:100,117:178,22:[1,288],26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,122:ta,123:ts,124:tn,125:to,126:tl,127:tc}),t(tp,[2,122],{115:100,117:178,22:[1,289],26:G,52:X,66:K,67:Q,91:Z,105:J,106:tt,109:te,111:ti,112:tr,122:ta,123:ts,124:tn,125:to,126:tl,127:tc}),{22:tm,24:tb,26:tx,38:tk,41:[1,290],42:t_,52:X,66:K,67:Q,73:tC,81:tT,83:201,85:151,86:tv,87:tA,88:tS,89:tw,90:tL,91:tB,92:tI,94:142,95:tD,105:J,106:tt,109:tO,111:ti,112:tr,113:tF,114:tN,115:148,122:ta,123:ts,124:tn,125:to,126:tl,127:tc},{18:18,19:19,20:o,21:l,22:h,23:u,32:24,33:25,34:26,35:27,36:28,37:29,38:d,42:[1,291],43:31,44:p,46:g,48:y,50:35,51:45,52:f,54:46,66:m,67:b,86:x,87:k,88:_,89:C,90:T,91:E,95:v,105:A,106:S,109:w,111:L,112:B,116:47,118:I,119:D,120:O,121:F,122:N,123:R,124:$,125:M,126:P,127:z},{22:tj,66:tW,67:tq,86:tU,96:292,102:tV,105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},{22:tj,66:tW,67:tq,86:tU,96:293,102:tV,105:tH,107:243,108:244,109:tG,110:tX,111:tK,112:tQ,113:tZ},t(tu,[2,64]),t(W,[2,41]),t(tp,[2,119],{106:tJ}),t(tp,[2,120],{106:tJ})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1
1124),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function t3(){this.yy={}}return t2.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{}
1124,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:return this.begin("acc_title"),44;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),46;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:case 15:case 24:case 27:case 30:case 33:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 16:return"STR";case 17:return 86;case 18:return 95;case 19:return 87;case 20:return 104;case 21:return 88;case 22:return 89;case 23:this.begin("href");break;case 25:return 100;case 26:this.begin("callbackname");break;case 28:this.popState(),this.begin("callbackargs");break;case 29:return 98;case 31:return 99;case 32:this.begin("click");break;case 34:return 90;case 35:case 36:return t.lex.firstGraph()&&this.begin("dir"),24;case 37:return 38;case 38:return 42;case 39:case 40:case 41:case 42:return 101;case 43:return this.popState(),25;case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:return this.popState(),26;case 54:return 118;case 55:return 119;case 56:return 120;case 57:return 121;case 58:return 105;case 59:return 111;case 60:return 53;case 61:return 67;case 62:return 52;case 63:return 20;case 64:return 106;case 65:return 126;
1124case 66:case 67:case 68:return 82;case 69:case 70:case 71:return 81;case 72:return 59;case 73:return 60;case 74:return 61;case 75:return 62;case 76:return 63;case 77:return 64;case 78:return 65;case 79:return 69;case 80:return 70;case 81:return 55;case 82:return 56;case 83:return 109;case 84:return 112;case 85:return 127;case 86:return 124;case 87:return 113;case 88:case 89:return 125;case 90:return 114;case 91:return 73;case 92:return 92;case 93:return"SEP";case 94:return 91;case 95:return 66;case 96:return 75;case 97:return 74;case 98:return 77;case 99:return 76;case 100:return 122;case 101:return 123;case 102:return 68;case 103:return 57;case 104:return 58;case 105:return 40;case 106:return 41;case 107:return 71;case 108:return 72;case 109:return 133;case 110:return 21;case 111:return 22;case 112:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)
1124/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\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\uFB
1124D3-\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])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[30,31],inclusive:!1},callbackname:{rules:[27,28,29],inclusive:!1},href:{rules:[24,25],inclusive:!1},click:{rules:[33,34],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[43,44,45,46,47,48,49,50,51,52,53],inclusive:!1},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,5,6,7,9,11,14,17,18,19,20,21,22,23,26,32,35,36,37,38,39,40,41,42,54,55,56,57,58,59,60,61,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,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112],inclusive:!0}}},t3.prototype=t2,t2.Parser=t3,new t3}();aU.parser=aU;let aV=(t,e)=>{var i;return(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)!=="dagre-wrapper"&&null!==t.match(/^\s*graph/)},aH=(t,e)=>{var i;return(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)==="dagre-wrapper"&&null!==t.match(/^\s*graph/)||null!==t.match(/^\s*flowchart/)},aG=0,aX=eW(),aK={},aQ=[],aZ={},aJ=[],a1={},a0={},a2=0,a3=!0,a4=[],a5=t=>K.sanitizeText(t,aX),a6=function(t){for(let e of Object.keys(aK))if(aK[e].id===t)return aK[e].domId;return t},a8=function(t,e,i,r){let a={start:t,end:e,type:void 0,text:""};void 0!==(r=i.text)&&(a.text=a5(r.trim()),'"'===a.text[0]&&'"'===a.text[a.text.length-1]&&(a.text=a.text.substring(1,a.text.length-1))),void 0!==i&&(a.type=i.type,a.stroke=i.stroke,a.length=i.length),aQ.push(a)},a7=function(t,e){t.split(",").forEach(function(t){void 0!==aK[t]&&aK[t].classes.push(e),void 0!==a1[t]&&a1[t].classes.push(e)})},a9=function(t,e,i){let r=a6(t);if("loose"!==eW().securityLevel||void 0===e)return;let a=[];if("string"==typeof i){a=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<a.length;t++){let e=a[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),a[t]=e}}0===a.length&&a.push(t),void 0!==aK[t]&&(aK[t].haveCallback=!0,a4.push(function(){let t=document.querySelector(`[id="${r}"]`);null!==t&&t.addEventListener("click",function(){eF.runFunc(e,...a)},!1)}))},st=function(t){let e=(0,x.Ltv)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=(0,x.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,x.Ltv)(t).select("svg").selectAll("g.node").on("mouseover",function(){let t=(0,x.Ltv)(this);if(null===t.attr("title"))return;let i=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(t.attr("title")).style("left",window.scrollX+i.left+(i.right-i.left)/2+"px").style("top",window.scrollY+i.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/&lt;br\/&gt;/g,"<br/>")),t.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),(0,x.Ltv)(this).classed("hover",!1)})};a4.push(st);let se=function(t){for(let[e,i]of aJ.entries())if(i.id===t)return e;return -1},si=-1,sr=[],sa=function(t,e){let i=aJ[e].nodes;if((si+=1)>2e3)return;if(sr[si]=e,aJ[e].id===t)return{result:!0,count:0};let r=0,a=1;for(;r<i.length;){let e=se(i[r]);if(e>=0){let i=sa(t,e);if(i.result)return{result:!0,count:a+i.count};a+=i.count}r+=1}return{result:!1,count:a}},ss=(t,e)=>{let i=!1;return t.forEach(t=>{t.nodes.indexOf(e)>=0&&(i=!0)}),i},sn=(t,e)=>{let i=[];return t.nodes.forEach((r,a)=>{ss(e,r)||i.push(t.nodes[a])}),{nodes:i}},so={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},defaultConfig:()=>eR.flowchart,setAccTitle:iy,getAccTitle:im,getAccDescription:ix,setAccDescription:ib,addVertex:function(t,e,i,r,a,s,n={}){let o;void 0!==t&&0!==t.trim().length&&(void 0===aK[t]&&(aK[t]={id:t,domId:"flowchart-"+t+"-"+aG,styles:[],classes:[]}),aG++,void 0!==e?(aX=eW(),'"'===(o=a5(e.trim()))[0]&&'"'===o[o.length-1]&&(o=o.substring(1,o.length-1)),aK[t].text=o):void 0===aK[t].text&&(aK[t].text=t),void 0!==i&&(aK[t].type=i),null!=r&&r.forEach(function(e){aK[t].styles.push(e)}),null!=a&&a.forEach(function(e){aK[t].classes.push(e)}),void 0!==s&&(aK[t].dir=s),void 0===aK[t].props?aK[t].props=n:void 0!==n&&Object.assign(aK[t].props,n))}
1124,lookUpDomId:a6,addLink:function(t,e,i,r){let a,s;for(a=0;a<t.length;a++)for(s=0;s<e.length;s++)a8(t[a],e[s],i,r)},updateLinkInterpolate:function(t,e){t.forEach(function(t){"default"===t?aQ.defaultInterpolate=e:aQ[t].interpolate=e})},updateLink:function(t,e){t.forEach(function(t){"default"===t?aQ.defaultStyle=e:(-1===eF.isSubstringInArray("fill",e)&&e.push("fill:none"),aQ[t].style=e)})},addClass:function(t,e){void 0===aZ[t]&&(aZ[t]={id:t,styles:[],textStyles:[]}),null!=e&&e.forEach(function(e){if(e.match("color")){let i=e.replace("fill","bgFill").replace("color","fill");aZ[t].textStyles.push(i)}aZ[t].styles.push(e)})},setDirection:function(t){(s=t).match(/.*</)&&(s="RL"),s.match(/.*\^/)&&(s="BT"),s.match(/.*>/)&&(s="LR"),s.match(/.*v/)&&(s="TB")},setClass:a7,setTooltip:function(t,e){t.split(",").forEach(function(t){void 0!==e&&(a0["gen-1"===n?a6(t):t]=a5(e))})},getTooltip:function(t){return a0[t]},setClickEvent:function(t,e,i){t.split(",").forEach(function(t){a9(t,e,i)}),a7(t,"clickable")},setLink:function(t,e,i){t.split(",").forEach(function(t){void 0!==aK[t]&&(aK[t].link=eF.formatUrl(e,aX),aK[t].linkTarget=i)}),a7(t,"clickable")},bindFunctions:function(t){a4.forEach(function(e){e(t)})},getDirection:function(){return s.trim()},getVertices:function(){return aK},getEdges:function(){return aQ},getClasses:function(){return aZ},clear:function(t="gen-1"){aK={},aZ={},aQ=[],a4=[st],aJ=[],a1={},a2=0,a0=[],a3=!0,n=t,ig()},setGen:t=>{n=t||"gen-1"},defaultStyle:function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},addSubGraph:function(t,e,i){let r=t.trim(),a=i;t===i&&i.match(/\s/)&&(r=void 0);let s=[],{nodeList:o,dir:l}=function(t){let e,i={boolean:{},number:{},string:{}},r=[];return{nodeList:t.filter(function(t){let a=typeof t;return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(a in i?!i[a].hasOwnProperty(t)&&(i[a][t]=!0):!r.includes(t)&&r.push(t))}),dir:e}}(s.concat.apply(s,e));if(s=o,"gen-1"===n)for(let t=0;t<s.length;t++)s[t]=a6(s[t]);r=r||"subGraph"+a2,a=a5(a=a||""),a2+=1;let h={id:r,nodes:s,title:a.trim(),classes:[],dir:l};return z.info("Adding",h.id,h.nodes,h.dir),h.nodes=sn(h,aJ).nodes,aJ.push(h),a1[r]=h,r},getDepthFirstPos:function(t){return sr[t]},indexNodes:function(){si=-1,aJ.length>0&&sa("none",aJ.length-1)},getSubGraphs:function(){return aJ},destructLink:(t,e)=>{let i,r=(t=>{let e=t.trim(),i=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross","x"===e[0]&&(r="double_"+r,i=i.slice(1));break;case">":r="arrow_point","<"===e[0]&&(r="double_"+r,i=i.slice(1));break;case"o":r="arrow_circle","o"===e[0]&&(r="double_"+r,i=i.slice(1))}let a="normal",s=i.length-1;"="===i[0]&&(a="thick");let n=((t,e)=>{let i=e.length,r=0;for(let a=0;a<i;++a)e[a]===t&&++r;return r})(".",i);return n&&(a="dotted",s=n),{type:r,stroke:a,length:s}})(t);if(e){if((i=(t=>{let e=t.trim(),i="arrow_open";switch(e[0]){case"<":i="arrow_point",e=e.slice(1);break;case"x":i="arrow_cross",e=e.slice(1);break;case"o":i="arrow_circle",e=e.slice(1)}let r="normal";return e.includes("=")&&(r="thick"),e.includes(".")&&(r="dotted"),{type:i,stroke:r}})(e)).stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===i.type)i.type=r.type;else{if(i.type!==r.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return"double_arrow"===i.type&&(i.type="double_arrow_point"),i.length=r.length,i}return r},lex:{firstGraph:()=>!!a3&&(a3=!1,!0)},exists:ss,makeUniq:sn,setDiagramTitle:ik,getDiagramTitle:i_},sl={},sc={setConf:function(t){for(let e of Object.keys(t))sl[e]=t[e]}},sh={},su=function(t,e,i,r,a,s){let n=r.select(`[id="${i}"]`);Object.keys(t).forEach(function(i){let r,o=t[i],l="default";o.classes.length>0&&(l=o.classes.join(" "));let h=e_(o.styles),u=void 0!==o.text?o.text:o.id;if(G(eW().flowchart.htmlLabels)){let t={label:u.replace(/fa[blrs]?:fa-[\w-]+/g,t=>`<i class='${t.replace(":"," ")}'></i>`)};(r=(0,O.H)(n,t).node()).parentNode.removeChild(r)}else{let t=a.createElementNS("http://www.w3.org/2000/svg","text");for(let e of(t.setAttribute("style",h.labelStyle.replace("color:","fill:")),u.split(K.lineBreakRegex))){let i=a.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","1"),i.textContent=e,t.appendChild(i)}r=t}let d=0,p="";switch(o.type){case"round":d=5,p="rect";break;case"square":case"group":default:p="rect";break;case"diamond":p="question";break;case"hexagon":p="hexagon";break;case"odd":case"odd_right":p="rect_left_inv_arrow";break;case"lean_right":p="lean_right";break;case"lean_left":p="lean_left";break;case"trapezoid":p="trapezoid";break;case"inv_trapezoid":p="inv_trapezoid";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"stadium":p="stadium";break;
1124case"subroutine":p="subroutine";break;case"cylinder":p="cylinder";break;case"doublecircle":p="doublecircle"}e.setNode(o.id,{labelStyle:h.labelStyle,shape:p,labelText:u,rx:d,ry:d,class:l,style:h.style,id:o.id,link:o.link,linkTarget:o.linkTarget,tooltip:s.db.getTooltip(o.id)||"",domId:s.db.lookUpDomId(o.id),haveCallback:o.haveCallback,width:"group"===o.type?500:void 0,dir:o.dir,type:o.type,props:o.props,padding:eW().flowchart.padding}),z.info("setNode",{labelStyle:h.labelStyle,shape:p,labelText:u,rx:d,ry:d,class:l,style:h.style,id:o.id,domId:s.db.lookUpDomId(o.id),width:"group"===o.type?500:void 0,type:o.type,dir:o.dir,props:o.props,padding:eW().flowchart.padding})})},sd=function(t,e,i){let r,a;z.info("abc78 edges = ",t);let s=0,n={};if(void 0!==t.defaultStyle){let e=e_(t.defaultStyle);r=e.style,a=e.labelStyle}t.forEach(function(i){s++;var o="L-"+i.start+"-"+i.end;void 0===n[o]?n[o]=0:n[o]++,z.info("abc78 new entry",o,n[o]);let l=o+"-"+n[o];z.info("abc78 new link id to be used is",o,l,n[o]);var h="LS-"+i.start,u="LE-"+i.end;let d={style:"",labelStyle:""};switch(d.minlen=i.length||1,"arrow_open"===i.type?d.arrowhead="none":d.arrowhead="normal",d.arrowTypeStart="arrow_open",d.arrowTypeEnd="arrow_open",i.type){case"double_arrow_cross":d.arrowTypeStart="arrow_cross";case"arrow_cross":d.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":d.arrowTypeStart="arrow_point";case"arrow_point":d.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":d.arrowTypeStart="arrow_circle";case"arrow_circle":d.arrowTypeEnd="arrow_circle"}let p="",g="";switch(i.stroke){case"normal":p="fill:none;",void 0!==r&&(p=r),void 0!==a&&(g=a),d.thickness="normal",d.pattern="solid";break;case"dotted":d.thickness="normal",d.pattern="dotted",d.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":d.thickness="thick",d.pattern="solid",d.style="stroke-width: 3.5px;fill:none;"}if(void 0!==i.style){let t=e_(i.style);p=t.style,g=t.labelStyle}d.style=d.style+=p,d.labelStyle=d.labelStyle+=g,void 0!==i.interpolate?d.curve=ex(i.interpolate,x.lUB):void 0!==t.defaultInterpolate?d.curve=ex(t.defaultInterpolate,x.lUB):d.curve=ex(sh.curve,x.lUB),void 0===i.text?void 0!==i.style&&(d.arrowheadStyle="fill: #333"):(d.arrowheadStyle="fill: #333",d.labelpos="c"),d.labelType="text",d.label=i.text.replace(K.lineBreakRegex,"\n"),void 0===i.style&&(d.style=d.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),d.labelStyle=d.labelStyle.replace("color:","fill:"),d.id=l,d.classes="flowchart-link "+h+" "+u,e.setEdge(i.start,i.end,d,s)})},sp={setConf:function(t){for(let e of Object.keys(t))sh[e]=t[e]},addVertices:su,addEdges:sd,getClasses:function(t,e){z.info("Extracting classes"),e.db.clear();try{return e.parse(t),e.db.getClasses()}catch(t){return}},draw:function(t,e,i,r){let a,s;z.info("Drawing flowchart"),r.db.clear(),so.setGen("gen-2"),r.parser.parse(t);let n=r.db.getDirection();void 0===n&&(n="TD");let{securityLevel:o,flowchart:l}=eW(),h=l.nodeSpacing||50,u=l.rankSpacing||50;"sandbox"===o&&(a=(0,x.Ltv)("#i"+e));let d="sandbox"===o?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),p="sandbox"===o?a.nodes()[0].contentDocument:document,g=new B.T({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:h,ranksep:u,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}}),y=r.db.getSubGraphs();z.info("Subgraphs - ",y);for(let t=y.length-1;t>=0;t--)s=y[t],z.info("Subgraph - ",s),r.db.addVertex(s.id,s.title,"group",void 0,s.classes,s.dir);let f=r.db.getVertices(),m=r.db.getEdges();z.info(m);let b=0;for(b=y.length-1;b>=0;b--){s=y[b],(0,x.Ubm)("cluster").append("text");for(let t=0;t<s.nodes.length;t++)z.info("Setting up subgraphs",s.nodes[t],s.id),g.setParent(s.nodes[t],s.id)}su(f,g,e,d,p,r),sd(m,g);let k=d.select(`[id="${e}"]`);if(ax(d.select("#"+e+" g"),g,["point","circle","cross"],"flowchart",e),eF.insertTitle(k,"flowchartTitleText",l.titleTopMargin,r.db.getDiagramTitle()),eJ(g,k,l.diagramPadding,l.useMaxWidth),r.db.indexNodes("subGraph"+b),!l.htmlLabels)for(let t of p.querySelectorAll('[id="'+e+'"] .edgeLabel .label')){let e=t.getBBox(),i=p.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height),t.insertBefore(i,t.firstChild)}Object.keys(f).forEach(function(t){let i=f[t];if(i.link){let r=(0,x.Ltv)("#"+e+' [id="'+t+'"]');
1124if(r){let t=p.createElementNS("http://www.w3.org/2000/svg","a");t.setAttributeNS("http://www.w3.org/2000/svg","class",i.classes.join(" ")),t.setAttributeNS("http://www.w3.org/2000/svg","href",i.link),t.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===o?t.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):i.linkTarget&&t.setAttributeNS("http://www.w3.org/2000/svg","target",i.linkTarget);let e=r.insert(function(){return t},":first-child"),a=r.select(".label-container");a&&e.append(function(){return a.node()});let s=r.select(".label");s&&e.append(function(){return s.node()})}}})}};var sg=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],a=[1,15],s=[1,16],n=[1,17],o=[1,18],l=[1,19],h=[1,20],u=[1,21],d=[1,22],p=[1,23],g=[1,24],y=[1,25],f=[1,26],m=[1,27],b=[1,29],x=[1,31],k=[1,34],_=[5,7,9,11,12,13,14,15,16,17,18,19,20,21,23,25,26,28,35,40],C={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,tickInterval:16,excludes:17,includes:18,todayMarker:19,title:20,acc_title:21,acc_title_value:22,acc_descr:23,acc_descr_value:24,acc_descr_multiline_value:25,section:26,clickStatement:27,taskTxt:28,taskData:29,openDirective:30,typeDirective:31,closeDirective:32,":":33,argDirective:34,click:35,callbackname:36,callbackargs:37,href:38,clickStatementDebug:39,open_directive:40,type_directive:41,arg_directive:42,close_directive:43,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"tickInterval",17:"excludes",18:"includes",19:"todayMarker",20:"title",21:"acc_title",22:"acc_title_value",23:"acc_descr",24:"acc_descr_value",25:"acc_descr_multiline_value",26:"section",28:"taskTxt",29:"taskData",33:":",35:"click",36:"callbackname",37:"callbackargs",38:"href",40:"open_directive",41:"type_directive",42:"arg_directive",43:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[27,2],[27,3],[27,3],[27,4],[27,3],[27,4],[27,2],[39,2],[39,3],[39,3],[39,4],[39,3],[39,4],[39,2],[30,1],[31,1],[34,1],[32,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 2:return s[o-1];case 3:case 7:case 8:this.$=[];break;case 4:s[o-1].push(s[o]),this.$=s[o-1];break;case 5:case 6:this.$=s[o];break;case 9:r.setDateFormat(s[o].substr(11)),this.$=s[o].substr(11);break;case 10:r.enableInclusiveEndDates(),this.$=s[o].substr(18);break;case 11:r.TopAxis(),this.$=s[o].substr(8);break;case 12:r.setAxisFormat(s[o].substr(11)),this.$=s[o].substr(11);break;case 13:r.setTickInterval(s[o].substr(13)),this.$=s[o].substr(13);break;case 14:r.setExcludes(s[o].substr(9)),this.$=s[o].substr(9);break;case 15:r.setIncludes(s[o].substr(9)),this.$=s[o].substr(9);break;case 16:r.setTodayMarker(s[o].substr(12)),this.$=s[o].substr(12);break;case 17:r.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 18:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 19:case 20:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 21:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 23:r.addTask(s[o-1],s[o]),this.$="task";break;case 27:this.$=s[o-1],r.setClickEvent(s[o-1],s[o],null);break;case 28:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 29:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],null),r.setLink(s[o-2],s[o]);break;case 30:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-2],s[o-1]),r.setLink(s[o-3],s[o]);break;case 31:this.$=s[o-2],r.setClickEvent(s[o-2],s[o],null),r.setLink(s[o-2],s[o-1]);break;case 32:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-1],s[o]),r.setLink(s[o-3],s[o-2]);break;case 33:this.$=s[o-1],r.setLink(s[o-1],s[o]);break;case 34:case 40:this.$=s[o-1]+" "+s[o];break;case 35:case 36:case 38:this.$=s[o-2]+" "+s[o-1]+" "+s[o];break;case 37:case 39:this.$=s[o-3]+" "+s[o-2]+" "+s[o-1]+" "+s[o];break;case 41:r.parseDirective("%%{","open_directive");break;case 42:r.parseDirective(s[o],"type_directive");break;case 43:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 44:r.parseDirective("}%%","close_directive","gantt")}},table:[{3:1,4:2,5:e,30:4,40:i},{1:[3]},{3:6,4:2,5:e,30:4,40:i},t(r,[2,3],{6:7}),{31:8,41:[1,9]},{41:[2,41]},{1:[2,1]},{4:30,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:a,13:s,14:n,15:o,16:l,17:h,18:u,19:d,20:p,21:g,23:y,25:f,26:m,27:28,28:b,30:4,35:x,40:i},{32:32,33:[1,33],43:k},t([33,43],[2,42]),t(r,[2,8],{1:[2,2]}
1124),t(r,[2,4]),{4:30,10:35,12:a,13:s,14:n,15:o,16:l,17:h,18:u,19:d,20:p,21:g,23:y,25:f,26:m,27:28,28:b,30:4,35:x,40:i},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,36]},{24:[1,37]},t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),{29:[1,38]},t(r,[2,24]),{36:[1,39],38:[1,40]},{11:[1,41]},{34:42,42:[1,43]},{11:[2,44]},t(r,[2,5]),t(r,[2,18]),t(r,[2,19]),t(r,[2,23]),t(r,[2,27],{37:[1,44],38:[1,45]}),t(r,[2,33],{36:[1,46]}),t(_,[2,25]),{32:47,43:k},{43:[2,43]},t(r,[2,28],{38:[1,48]}),t(r,[2,29]),t(r,[2,31],{37:[1,49]}),{11:[1,50]},t(r,[2,30]),t(r,[2,32]),t(_,[2,26])],defaultActions:{5:[2,41],6:[2,1],34:[2,44],43:[2,43]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function T(){this.yy={}}return C.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1124,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),40;case 1:return this.begin("type_directive"),41;case 2:return this.popState(),this.begin("arg_directive"),33;case 3:return this.popState(),this.popState(),43;case 4:return 42;case 5:return this.begin("acc_title"),21;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),23;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 20:case 23:case 26:case 29:this.popState();break;case 11:return"acc_descr_multiline_value";case 12:case 13:case 14:case 16:case 17:case 18:break;case 15:return 11;case 19:this.begin("href");break;case 21:return 38;case 22:this.begin("callbackname");break;case 24:this.popState(),this.begin("callbackargs");break;case 25:return 36;case 27:return 37;case 28:this.begin("click");break;case 30:return 35;case 31:return 5;case 32:return 12;case 33:return 13;case 34:return 14;case 35:return 15;case 36:return 16;case 37:return 18;case 38:return 17;case 39:return 19;case 40:return"date";case 41:return 20;case 42:return"accDescription";case 43:return 26;case 44:return 28;case 45:return 29;case 46:return 33;case 47:return 7;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/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,/^(?:%[^\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,/^(?:\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:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}},T.prototype=C,C.Parser=T,new T}();sg.parser=sg;let sy=t=>null!==t.match(/^\s*gantt/),sf="",sm="",sb="",sx=[],sk=[],s_={},sC=[],sT=[],sE="",sv=["active","done","crit","milestone"],sA=[],sS=!1,sw=!1,sL=0,sB=function(t,e,i,r){return!r.includes(t.format(e.trim()))&&(!!(t.isoWeekday()>=6&&i.includes("weekends")||i.includes(t.format("dddd").toLowerCase()))||i.includes(t.format(e.trim())))},sI=function(t,e,i,r){if(!i.length||t.manualEndTime)return;let a=m(t.startTime,e,!0);a.add(1,"d");let s=m(t.endTime,e,!0),n=sD(a,s,e,i,r);t.endTime=s.toDate(),t.renderEndTime=n},sD=function(t,e,i,r,a){let s=!1,n=null;for(;t<=e;)s||(n=e.toDate()),(s=sB(t,i,r,a))&&e.add(1,"d"),t.add(1,"d");return n},sO=function(t,e,i){i=i.trim();let r=/^after\s+([\d\w- ]+)/.exec(i.trim());if(null!==r){let t=null;if(r[1].split(" ").forEach(function(e){let i=sj(e);void 0!==i&&(t?i.endTime>t.endTime&&(t=i):t=i)}),t)return t.endTime;{let t=new Date;return t.setHours(0,0,0,0),t}}let a=m(i,e.trim(),!0);if(a.isValid())return a.toDate();{z.debug("Invalid date:"+i),z.debug("With date format:"+e.trim());let t=new Date(i);if(void 0===t||isNaN(t.getTime()))throw Error("Invalid date:"+i);return t}},sF=function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?m.duration(Number.parseFloat(e[1]),e[2]):m.duration.invalid()}
1124,sN=function(t,e,i,r=!1){let a=m(i=i.trim(),e.trim(),!0);if(a.isValid())return r&&a.add(1,"d"),a.toDate();let s=m(t),n=sF(i);return n.isValid()&&s.add(n),s.toDate()},sR=0,s$=function(t){return void 0===t?"task"+(sR+=1):t},sM=function(t,e){let i=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={};sG(i,r,sv);for(let t=0;t<i.length;t++)i[t]=i[t].trim();let a="";switch(i.length){case 1:r.id=s$(),r.startTime=t.endTime,a=i[0];break;case 2:r.id=s$(),r.startTime=sO(void 0,sf,i[0]),a=i[1];break;case 3:r.id=s$(i[0]),r.startTime=sO(void 0,sf,i[1]),a=i[2]}return a&&(r.endTime=sN(r.startTime,sf,a,sS),r.manualEndTime=m(a,"YYYY-MM-DD",!0).isValid(),sI(r,sf,sk,sx)),r},sP=function(t,e){let i=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={};sG(i,r,sv);for(let t=0;t<i.length;t++)i[t]=i[t].trim();switch(i.length){case 1:r.id=s$(),r.startTime={type:"prevTaskEnd",id:t},r.endTime={data:i[0]};break;case 2:r.id=s$(),r.startTime={type:"getStartDate",startData:i[0]},r.endTime={data:i[1]};break;case 3:r.id=s$(i[0]),r.startTime={type:"getStartDate",startData:i[1]},r.endTime={data:i[2]}}return r},sz=[],sY={},sj=function(t){return sz[sY[t]]},sW=function(){let t=!0;for(let[e,i]of sz.entries())!function(t){let e=sz[t],i="";switch(sz[t].raw.startTime.type){case"prevTaskEnd":{let t=sj(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":(i=sO(void 0,sf,sz[t].raw.startTime.startData))&&(sz[t].startTime=i)}sz[t].startTime&&(sz[t].endTime=sN(sz[t].startTime,sf,sz[t].raw.endTime.data,sS),sz[t].endTime&&(sz[t].processed=!0,sz[t].manualEndTime=m(sz[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),sI(sz[t],sf,sk,sx))),sz[t].processed}(e),t=t&&i.processed;return t},sq=function(t,e){t.split(",").forEach(function(t){let i=sj(t);void 0!==i&&i.classes.push(e)})},sU=function(t,e,i){if("loose"!==eW().securityLevel||void 0===e)return;let r=[];if("string"==typeof i){r=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<r.length;t++){let e=r[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),r[t]=e}}0===r.length&&r.push(t),void 0!==sj(t)&&sV(t,()=>{eF.runFunc(e,...r)})},sV=function(t,e){sA.push(function(){let i=document.querySelector(`[id="${t}"]`);null!==i&&i.addEventListener("click",function(){e()})},function(){let i=document.querySelector(`[id="${t}-text"]`);null!==i&&i.addEventListener("click",function(){e()})})},sH={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().gantt,clear:function(){sC=[],sT=[],sE="",sA=[],sR=0,o=void 0,l=void 0,sz=[],sf="",sm="",g=void 0,sb="",sx=[],sk=[],sS=!1,sw=!1,sL=0,s_={},ig()},setDateFormat:function(t){sf=t},getDateFormat:function(){return sf},enableInclusiveEndDates:function(){sS=!0},endDatesAreInclusive:function(){return sS},enableTopAxis:function(){sw=!0},topAxisEnabled:function(){return sw},setAxisFormat:function(t){sm=t},getAxisFormat:function(){return sm},setTickInterval:function(t){g=t},getTickInterval:function(){return g},setTodayMarker:function(t){sb=t},getTodayMarker:function(){return sb},setAccTitle:iy,getAccTitle:im,setDiagramTitle:ik,getDiagramTitle:i_,setAccDescription:ib,getAccDescription:ix,addSection:function(t){sE=t,sC.push(t)},getSections:function(){return sC},getTasks:function(){let t=sW(),e=0;for(;!t&&e<10;)t=sW(),e++;return sT=sz},addTask:function(t,e){let i={section:sE,type:sE,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=sP(l,e);i.raw.startTime=r.startTime,i.raw.endTime=r.endTime,i.id=r.id,i.prevTaskId=l,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,i.order=sL,sL++;let a=sz.push(i);l=i.id,sY[i.id]=a-1},findTaskById:sj,addTaskOrg:function(t,e){let i={section:sE,type:sE,description:t,task:t,classes:[]},r=sM(o,e);i.startTime=r.startTime,i.endTime=r.endTime,i.id=r.id,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,o=i,sT.push(i)},setIncludes:function(t){sx=t.toLowerCase().split(/[\s,]+/)},getIncludes:function(){return sx},setExcludes:function(t){sk=t.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return sk},setClickEvent:function(t,e,i){t.split(",").forEach(function(t){sU(t,e,i)}),sq(t,"clickable")},setLink:function(t,e){let i=e;"loose"!==eW().securityLevel&&(i=(0,b.Jf)(e)),t.split(",").forEach(function(t){void 0!==sj(t)&&(sV(t,()=>{window.open(i,"_self")}),s_[t]=i)}),sq(t,"clickable")},getLinks:function(){return s_},bindFunctions:function(t){sA.forEach(function(e){e(t)})},parseDuration:sF,isInvalidDate:sB};function sG(t,e,i){let r=!0;for(;r;
1124)r=!1,i.forEach(function(i){let a=RegExp("^\\s*"+i+"\\s*$");t[0].match(a)&&(e[i]=!0,t.shift(1),r=!0)})}let sX={setConf:function(){z.debug("Something is calling, setConf, remove the call")},draw:function(t,e,i,r){let a,s=eW().gantt,n=eW().securityLevel;"sandbox"===n&&(a=(0,x.Ltv)("#i"+e));let o="sandbox"===n?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),l="sandbox"===n?a.nodes()[0].contentDocument:document,u=l.getElementById(e);void 0===(h=u.parentElement.offsetWidth)&&(h=1200),void 0!==s.useWidth&&(h=s.useWidth);let d=r.db.getTasks(),p=d.length*(s.barHeight+s.barGap)+2*s.topPadding;u.setAttribute("viewBox","0 0 "+h+" "+p);let g=o.select(`[id="${e}"]`),y=(0,x.w7C)().domain([(0,x.jkA)(d,function(t){return t.startTime}),(0,x.T9B)(d,function(t){return t.endTime})]).rangeRound([0,h-s.leftPadding-s.rightPadding]),f=[];for(let t of d)f.push(t.type);let b=f;f=function(t){let e={},i=[];for(let r=0,a=t.length;r<a;++r)Object.prototype.hasOwnProperty.call(e,t[r])||(e[t[r]]=!0,i.push(t[r]));return i}(f),d.sort(function(t,e){let i=t.startTime,r=e.startTime,a=0;return i>r?a=1:i<r&&(a=-1),a}),function(t,i,a){let n=s.barHeight,o=n+s.barGap,h=s.topPadding,u=s.leftPadding,d=(0,x.m4Y)().domain([0,f.length]).range(["#00B9FA","#F95002"]).interpolate(x.bEH);(function(t,e,i,a,n,o,l,h){let u=o.reduce((t,{startTime:e})=>t?Math.min(t,e):e,0),d=o.reduce((t,{endTime:e})=>t?Math.max(t,e):e,0),p=r.db.getDateFormat();if(!u||!d)return;let f=[],b=null,x=m(u);for(;x.valueOf()<=d;)r.db.isInvalidDate(x,p,l,h)?b?b.end=x.clone():b={start:x.clone(),end:x.clone()}:b&&(f.push(b),b=null),x.add(1,"d");g.append("g").selectAll("rect").data(f).enter().append("rect").attr("id",function(t){return"exclude-"+t.start.format("YYYY-MM-DD")}).attr("x",function(t){return y(t.start)+i}).attr("y",s.gridLineStartPadding).attr("width",function(t){return y(t.end.clone().add(1,"day"))-y(t.start)}).attr("height",n-e-s.gridLineStartPadding).attr("transform-origin",function(e,r){return(y(e.start)+i+.5*(y(e.end)-y(e.start))).toString()+"px "+(r*t+.5*n).toString()+"px"}).attr("class","exclude-range")})(o,h,u,0,a,t,r.db.getExcludes(),r.db.getIncludes()),function(t,e,i,a){let n=(0,x.l78)(y).tickSize(-a+e+s.gridLineStartPadding).tickFormat((0,x.DCK)(r.db.getAxisFormat()||s.axisFormat||"%Y-%m-%d")),o=/^([1-9]\d*)(minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||s.tickInterval);if(null!==o){let t=o[1];switch(o[2]){case"minute":n.ticks(x.wXd.every(t));break;case"hour":n.ticks(x.Agd.every(t));break;case"day":n.ticks(x.UAC.every(t));break;case"week":n.ticks(x.Kgo.every(t));break;case"month":n.ticks(x.Ui6.every(t))}}if(g.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||s.topAxis){let i=(0,x.tlR)(y).tickSize(-a+e+s.gridLineStartPadding).tickFormat((0,x.DCK)(r.db.getAxisFormat()||s.axisFormat||"%Y-%m-%d"));if(null!==o){let t=o[1];switch(o[2]){case"minute":i.ticks(x.wXd.every(t));break;case"hour":i.ticks(x.Agd.every(t));break;case"day":i.ticks(x.UAC.every(t));break;case"week":i.ticks(x.Kgo.every(t));break;case"month":i.ticks(x.Ui6.every(t))}}g.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(i).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(u,h,0,a),function(t,i,a,n,o,l,h){g.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",function(t,e){return t.order*i+a-2}).attr("width",function(){return h-s.rightPadding/2}).attr("height",i).attr("class",function(t){for(let[e,i]of f.entries())if(t.type===i)return"section section"+e%s.numberSectionStyles;return"section section0"});let u=g.append("g").selectAll("rect").data(t).enter(),d=r.db.getLinks();if(u.append("rect").attr("id",function(t){return t.id}).attr("rx",3).attr("ry",3).attr("x",function(t){return t.milestone?y(t.startTime)+n+.5*(y(t.endTime)-y(t.startTime))-.5*o:y(t.startTime)+n}).attr("y",function(t,e){return t.order*i+a}).attr("width",function(t){return t.milestone?o:y(t.renderEndTime||t.endTime)-y(t.startTime)}).attr("height",o).attr("transform-origin",function(t,e){return e=t.order,(y(t.startTime)+n+.5*(y(t.endTime)-y(t.startTime))).toString()+"px "+(e*i+a+.5*o).toString()+"px"}).attr("class",function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let i=0;for(let[e,r]of f.entries())t.type===r&&(i=e%s.numberSectionStyles);let r="";return t.active?t.crit?r+=" activeCrit":r=" active":t.done?r=t.crit?" doneCrit":" done":t.crit&&(r+=" crit"),0===r.length&&(r=" task"),t.milestone&&(r=" milestone "+r),r+=i,"task"+(r+=" "+e)}),u.append("text").attr("id",function(t){return t.id+"-text"}).text(function(t){return t.task}).attr("font-size",s.fontSize).attr("x",function(t){let e=y(t.startTime),i=y(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(y(t.endTime)-y(t.startTime))-.5*o),t.milestone&&(i=e+o);let r=this.getBBox().width;return r>i-e?i+r+1.5*s.leftPadding>h?e+n-5:i+n+5:(i-e)/2+e+n}).attr("y",function(t,e){return t.order*i+s.barHeight/2+(s.fontSize/2-2)+a}).attr("text-height",o).attr("class",function(t){let e=y(t.startTime),i=y(t.endTime);t.milestone&&(i=e+o);let r=this.getBBox().width,a="";t.classes.length>0&&(a=t.classes.join(" "));let n=0;for(let[e,i]of f.entries())t.type===i&&(n=e%s.numberSectionStyles);let l="";return(t.active&&(l=t.crit?"activeCritText"+n:"activeText"+n),t.done?l=t.crit?l+" doneCritText"+n:l+" doneText"+n:t.crit&&(l=l+" critText"+n),t.milestone&&(l+=" milestoneText"),r>i-e)?i+r+1.5*s.leftPadding>h?a+" taskTextOutsideLeft taskTextOutside"+n+" "+l:a+" taskTextOutsideRight taskTextOutside"+n+" "+l+" width-"+r:a+" taskText taskText"+n+" "+l+" width-"+r}),"sandbox"===eW().securityLevel){let t=(0,x.Ltv)("#i"+e).nodes()[0].contentDocument;u.filter(function(t){return void 0!==d[t.id]}).each(function(e){var i=t.querySelector("#"+e.id),r=t.querySelector("#"+e.id+"-text");let a=i.parentNode;var s=t.createElement("a");s.setAttribute("xlink:href",d[e.id]),s.setAttribute("target","_top"),a.appendChild(s),s.appendChild(i),s.appendChild(r)})}}(t,o,h,u,n,0,i),function(t,e){let i=[],r=0;for(let[t,e]of f.entries()){var a;i[t]=[e,(a=e,function(t){let e=t.length,i={};for(;e;)i[t[--e]]=(i[t[e]]||0)+1;return i}(b)[a]||0)]}g.append("g").selectAll("text").data(i).enter().append(function(t){let e=t[0].split(K.lineBreakRegex),i=-(e.length-1)/2,r=l.createElementNS("http://www.w3.org/2000/svg","text");for(let[t,a]of(r.setAttribute("dy",i+"em"),e.entries())){let e=l.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=a,r.appendChild(e)}return r}).attr("x",10).attr("y",function(a,s){if(!(s>0))return a[1]*t/2+e;for(let n=0;n<s;n++)return r+=i[s-1][1],a[1]*t/2+r*t+e}).attr("font-size",s.sectionFontSize).attr("font-size",s.sectionFontSize).attr("class",function(t){for(let[e,i]of f.entries())if(t[0]===i)return"sectionTitle sectionTitle"+e%s.numberSectionStyles;return"sectionTitle"})}
1124(o,h),function(t,e,i,a){let n=r.db.getTodayMarker();if("off"===n)return;let o=g.append("g").attr("class","today"),l=new Date,h=o.append("line");h.attr("x1",y(l)+t).attr("x2",y(l)+t).attr("y1",s.titleTopMargin).attr("y2",a-s.titleTopMargin).attr("class","today"),""!==n&&h.attr("style",n.replace(/,/g,";"))}(u,0,0,a)}(d,h,p),eZ(g,p,h,s.useMaxWidth),g.append("text").text(r.db.getDiagramTitle()).attr("x",h/2).attr("y",s.titleTopMargin).attr("class","titleText")}};var sK=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,9,10],i={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,i,r,a,s,n){switch(s.length,a){case 1:return r;case 4:break;case 6:r.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function r(){this.yy={}}return i.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1124,performAction:function(t,e,i,r){switch(i){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}},r.prototype=i,i.Parser=r,new r}();sK.parser=sK;var sQ="",sZ=!1;let sJ={setMessage:t=>{z.debug("Setting message to: "+t),sQ=t},getMessage:()=>sQ,setInfo:t=>{sZ=t},getInfo:()=>sZ,clear:ig},s1={draw:(t,e,i)=>{try{let r;z.debug("Rendering info diagram\n"+t);let a=eW().securityLevel;"sandbox"===a&&(r=(0,x.Ltv)("#i"+e));let s=("sandbox"===a?(0,x.Ltv)(r.nodes()[0].contentDocument.body):(0,x.Ltv)("body")).select("#"+e);s.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+i),s.attr("height",100),s.attr("width",400)}catch(t){z.error("Error while rendering info diagram"),z.error(t.message)}}},s0=t=>null!==t.match(/^\s*info/);var s2=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,4],i=[1,5],r=[1,6],a=[1,7],s=[1,9],n=[1,11,13,15,17,19,20,26,27,28,29],o=[2,5],l=[1,6,11,13,15,17,19,20,26,27,28,29],h=[26,27,28],u=[2,8],d=[1,18],p=[1,19],g=[1,20],y=[1,21],f=[1,22],m=[1,23],b=[1,28],x=[6,26,27,28,29],k={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 4:r.setShowData(!0);break;case 7:this.$=s[o-1];break;case 9:r.addSection(s[o-1],r.cleanupValue(s[o]));break;case 10:this.$=s[o].trim(),r.setDiagramTitle(this.$);break;case 11:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 12:case 13:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 14:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 21:r.parseDirective("%%{","open_directive");break;case 22:r.parseDirective(s[o],"type_directive");break;case 23:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 24:r.parseDirective("}%%","close_directive","pie")}},table:[{3:1,4:2,5:3,6:e,21:8,26:i,27:r,28:a,29:s},{1:[3]},{3:10,4:2,5:3,6:e,21:8,26:i,27:r,28:a,29:s},{3:11,4:2,5:3,6:e,21:8,26:i,27:r,28:a,29:s},t(n,o,{7:12,8:[1,13]}),t(l,[2,18]),t(l,[2,19]),t(l,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(h,u,{21:8,9:16,10:17,5:24,1:[2,3],11:d,13:p,15:g,17:y,19:f,20:m,29:s}),t(n,o,{7:25}),{23:26,24:[1,27],32:b},t([24,32],[2,22]),t(n,[2,6]),{4:29,26:i,27:r,28:a},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(h,[2,13]),t(h,[2,14]),t(h,[2,15]),t(h,u,{21:8,9:16,10:17,5:24,1:[2,4],11:d,13:p,15:g,17:y,19:f,20:m,29:s}),t(x,[2,16]),{25:34,31:[1,35]},t(x,[2,24]),t(n,[2,7]),t(h,[2,9]),t(h,[2,10]),t(h,[2,11]),t(h,[2,12]),{23:36,32:b},{32:[2,23]},t(x,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function _(){this.yy={}}return k.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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}
vendor: 4,427 bytes, line 1124
1124,input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1124,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),29;case 1:return this.begin("type_directive"),30;case 2:return this.popState(),this.begin("arg_directive"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:case 6:case 8:case 9:break;case 7:return 26;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:return this.begin("acc_title"),15;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),17;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:case 20:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:this.begin("string");break;case 21:return"txt";case 22:return 6;case 23:return 8;case 24:return"value";case 25:return 28}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\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:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}},_.prototype=k,k.Parser=_,new _}();s2.parser=s2;let s3=t=>null!==t.match(/^\s*pie/)||null!==t.match(/^\s*bar/),s4={},s5=!1,s6={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().pie,addSection:function(t,e){void 0===s4[t=K.sanitizeText(t,eW())]&&(s4[t]=e,z.debug("Added new section :",t))},getSections:()=>s4,cleanupValue:function(t){return":"===t.substring(0,1)?Number((t=t.substring(1).trim()).trim()):Number(t.trim())},clear:function(){s4={},s5=!1,ig()},setAccTitle:iy,getAccTitle:im,setDiagramTitle:ik,getDiagramTitle:i_,setShowData:function(t){s5=t},getShowData:function(){return s5},getAccDescription:ix,setAccDescription:ib},s8=eW(),s7={draw:(t,e,i,r)=>{try{let i;s8=eW(),z.debug("Rendering info diagram\n"+t);let f=eW().securityLevel;"sandbox"===f&&(i=(0,x.Ltv)("#i"+e));let m="sandbox"===f?(0,x.Ltv)(i.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),b="sandbox"===f?i.nodes()[0].contentDocument:document;r.db.clear(),r.parser.parse(t),z.debug("Parsed info diagram");let k=b.getElementById(e);u=k.parentElement.offsetWidth,void 0===u&&(u=1200),void 0!==s8.useWidth&&(u=s8.useWidth),void 0!==s8.pie.useWidth&&(u=s8.pie.useWidth);let _=m.select("#"+e);eZ(_,450,u,s8.pie.useMaxWidth),k.setAttribute("viewBox","0 0 "+u+" 450");var a=Math.min(u,450)/2-40,s=_.append("g").attr("transform","translate("+u/2+",225)"),n=r.db.getSections(),o=0;Object.keys(n).forEach(function(t){o+=n[t]});let C=s8.themeVariables;var l=[C.pie1,C.pie2,C.pie3,C.pie4,C.pie5,C.pie6,C.pie7,C.pie8,C.pie9,C.pie10,C.pie11,C.pie12],h=(0,x.UMr)().range(l),d=Object.entries(n).map(function(t,e){return{order:e,name:t[0],value:t[1]}}),p=(0,x.rLf)().value(function(t){return t.value}).sort(function(t,e){return t.order-e.order})(d),g=(0,x.JLW)().innerRadius(0).outerRadius(a);s.selectAll("mySlices").data(p).enter().append("path").attr("d",g).attr("fill",function(t){return h(t.data.name)}).attr("class","pieCircle"),s.selectAll("mySlices").data(p).enter().append("text").text(function(t){return(t.data.value/o*100).toFixed(0)+"%"}).attr("transform",function(t){return"translate("+g.centroid(t)+")"}).style("text-anchor","middle").attr("class","slice"),s.append("text").text(r.db.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");var y=s.selectAll(".legend").data(h.domain()).enter().append("g").attr("class","legend").attr("transform",function(t,e){let i=22*h.domain().length/2;return"translate(216,"+(22*e-i)+")"});y.append("rect").attr("width",18).attr("height",18).style("fill",h).style("stroke",h),y.data(p).append("text").attr("x",22).attr("y",14).text(function(t){return r.db.getShowData()||s8.showData||s8.pie.showData?t.data.name+" ["+t.data.value+"]":t.data.name})}catch(t){z.error("Error while rendering info diagram"),z.error(t)}}};
1124var s9=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,5],r=[1,6],a=[1,7],s=[1,8],n=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],o=[1,22],l=[2,13],h=[1,26],u=[1,27],d=[1,28],p=[1,29],g=[1,30],y=[1,31],f=[1,24],m=[1,32],b=[1,33],x=[1,36],k=[71,72],_=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],C=[1,56],T=[1,57],E=[1,58],v=[1,59],A=[1,60],S=[1,61],w=[1,62],L=[62,63],B=[1,74],I=[1,70],D=[1,71],O=[1,72],F=[1,73],N=[1,75],R=[1,79],$=[1,80],M=[1,77],P=[1,78],z=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],Y={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:
112451,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 6:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 7:case 8:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 9:r.parseDirective("%%{","open_directive");break;case 10:r.parseDirective(s[o],"type_directive");break;case 11:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 12:r.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:r.addRequirement(s[o-3],s[o-4]);break;case 20:r.setNewReqId(s[o-2]);break;case 21:r.setNewReqText(s[o-2]);break;case 22:r.setNewReqRisk(s[o-2]);break;case 23:r.setNewReqVerifyMethod(s[o-2]);break;case 26:this.$=r.RequirementType.REQUIREMENT;break;case 27:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=r.RiskLevel.LOW_RISK;break;case 33:this.$=r.RiskLevel.MED_RISK;break;case 34:this.$=r.RiskLevel.HIGH_RISK;break;case 35:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=r.VerifyType.VERIFY_TEST;break;case 39:r.addElement(s[o-3]);break;case 40:r.setNewElementType(s[o-2]);break;case 41:r.setNewElementDocRef(s[o-2]);break;case 44:r.addRelationship(s[o-2],s[o],s[o-4]);break;case 45:r.addRelationship(s[o-2],s[o-4],s[o]);break;case 46:this.$=r.Relationships.CONTAINS;break;case 47:this.$=r.Relationships.COPIES;break;case 48:this.$=r.Relationships.DERIVES;break;case 49:this.$=r.Relationships.SATISFIES;break;case 50:this.$=r.Relationships.VERIFIES;break;case 51:this.$=r.Relationships.REFINES;break;case 52:this.$=r.Relationships.TRACES}},table:[{3:1,4:2,6:e,9:4,14:i,16:r,18:a,19:s},{1:[3]},{3:10,4:2,5:[1,9],6:e,9:4,14:i,16:r,18:a,19:s},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},t(n,[2,8]),{20:[2,9]},{3:16,4:2,6:e,9:4,14:i,16:r,18:a,19:s},{1:[2,2]},{4:21,5:o,7:17,8:l,9:4,14:i,16:r,18:a,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:p,44:g,45:y,53:f,71:m,72:b},{11:34,12:[1,35],22:x},t([12,22],[2,10]),t(n,[2,6]),t(n,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:o,7:38,8:l,9:4,14:i,16:r,18:a,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:p,44:g,45:y,53:f,71:m,72:b},{4:21,5:o,7:39,8:l,9:4,14:i,16:r,18:a,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:p,44:g,45:y,53:f,71:m,72:b},{4:21,5:o,7:40,8:l,9:4,14:i,16:r,18:a,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:p,44:g,45:y,53:f,71:m,72:b},{4:21,5:o,7:41,8:l,9:4,14:i,16:r,18:a,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:p,44:g,45:y,53:f,71:m,72:b},{4:21,5:o,7:42,8:l,9:4,14:i,16:r,18:a,19:s,23:18,24:19,25:20,26:23,32:25,40:h,41:u,42:d,43:p,44:g,45:y,53:f,71:m,72:b},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},t(k,[2,26]),t(k,[2,27]),t(k,[2,28]),t(k,[2,29]),t(k,[2,30]),t(k,[2,31]),t(_,[2,55]),t(_,[2,56]),t(n,[2,4]),{13:51,21:[1,52]},t(n,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]}
1124,{28:[2,60]},{61:55,64:C,65:T,66:E,67:v,68:A,69:S,70:w},{61:63,64:C,65:T,66:E,67:v,68:A,69:S,70:w},{11:64,22:x},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},t(L,[2,46]),t(L,[2,47]),t(L,[2,48]),t(L,[2,49]),t(L,[2,50]),t(L,[2,51]),t(L,[2,52]),{63:[1,68]},t(n,[2,5]),{5:B,29:69,30:I,33:D,35:O,37:F,39:N},{5:R,39:$,55:76,56:M,58:P},{32:81,71:m,72:b},{32:82,71:m,72:b},t(z,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:B,29:87,30:I,33:D,35:O,37:F,39:N},t(z,[2,25]),t(z,[2,39]),{31:[1,88]},{31:[1,89]},{5:R,39:$,55:90,56:M,58:P},t(z,[2,43]),t(z,[2,44]),t(z,[2,45]),{32:91,71:m,72:b},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},t(z,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},t(z,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:B,29:116,30:I,33:D,35:O,37:F,39:N},{5:B,29:117,30:I,33:D,35:O,37:F,39:N},{5:B,29:118,30:I,33:D,35:O,37:F,39:N},{5:B,29:119,30:I,33:D,35:O,37:F,39:N},{5:R,39:$,55:120,56:M,58:P},{5:R,39:$,55:121,56:M,58:P},t(z,[2,20]),t(z,[2,21]),t(z,[2,22]),t(z,[2,23]),t(z,[2,40]),t(z,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function j(){this.yy={}}return Y.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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}
vendor: 4,427 bytes, line 1124
1124,input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1124,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return"title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 53:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 5;case 14:case 15:case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 54:return"qString";case 55:return e.yytext=e.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\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,/^(?:(\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:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,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,55],inclusive:!0}}},j.prototype=Y,Y.Parser=j,new j}();s9.parser=s9;let nt=t=>null!==t.match(/^\s*requirement(Diagram)?/),ne=[],ni={},nr={},na={},ns={},nn={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"},parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().req,addRequirement:(t,e)=>(void 0===nr[t]&&(nr[t]={name:t,type:e,id:ni.id,text:ni.text,risk:ni.risk,verifyMethod:ni.verifyMethod}),ni={},nr[t]),getRequirements:()=>nr,setNewReqId:t=>{void 0!==ni&&(ni.id=t)},setNewReqText:t=>{void 0!==ni&&(ni.text=t)},setNewReqRisk:t=>{void 0!==ni&&(ni.risk=t)},setNewReqVerifyMethod:t=>{void 0!==ni&&(ni.verifyMethod=t)},setAccTitle:iy,getAccTitle:im,setAccDescription:ib,getAccDescription:ix,addElement:t=>(void 0===ns[t]&&(ns[t]={name:t,type:na.type,docRef:na.docRef},z.info("Added new requirement: ",t)),na={},ns[t]),getElements:()=>ns,setNewElementType:t=>{void 0!==na&&(na.type=t)}
1124,setNewElementDocRef:t=>{void 0!==na&&(na.docRef=t)},addRelationship:(t,e,i)=>{ne.push({type:t,src:e,dst:i})},getRelationships:()=>ne,clear:()=>{ne=[],ni={},nr={},na={},ns={},ig()}},no={CONTAINS:"contains",ARROW:"arrow"},nl={ReqMarkers:no,insertLineEndings:(t,e)=>{let i=t.append("defs").append("marker").attr("id",no.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");i.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),i.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),i.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",no.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0
1125      L${e.line_height},${e.line_height/2}
1126      M${e.line_height},${e.line_height/2}
1127      L0,${e.line_height}`).attr("stroke-width",1)}},nc={},nh=0,nu=(t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",nc.rect_min_width+"px").attr("height",nc.rect_min_height+"px"),nd=(t,e,i)=>{let r=nc.rect_min_width/2,a=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",r).attr("y",nc.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach(t=>{0==s?a.append("tspan").attr("text-anchor","middle").attr("x",nc.rect_min_width/2).attr("dy",0).text(t):a.append("tspan").attr("text-anchor","middle").attr("x",nc.rect_min_width/2).attr("dy",.75*nc.line_height).text(t),s++});let n=1.5*nc.rect_padding+s*nc.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",nc.rect_min_width).attr("y1",n).attr("y2",n),{titleNode:a,y:n}},np=(t,e,i,r)=>{let a=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",nc.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),s=0,n=[];return i.forEach(t=>{let e=t.length;for(;e>30&&s<3;){let i=t.substring(0,30);e=(t=t.substring(30,t.length)).length,n[n.length]=i,s++}if(3==s){let t=n[n.length-1];n[n.length-1]=t.substring(0,t.length-4)+"..."}else n[n.length]=t;s=0}),n.forEach(t=>{a.append("tspan").attr("x",nc.rect_padding).attr("dy",nc.line_height).text(t)}),a},ng=function(t,e,i,r,a){let s=i.edge(nf(e.src),nf(e.dst)),n=(0,x.n8j)().x(function(t){return t.x}).y(function(t){return t.y}),o=t.insert("path","#"+r).attr("class","er relationshipLine").attr("d",n(s.points)).attr("fill","none");e.type==a.db.Relationships.CONTAINS?o.attr("marker-start","url("+K.getUrl(nc.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(o.attr("stroke-dasharray","10,7"),o.attr("marker-end","url("+K.getUrl(nc.arrowMarkerAbsolute)+"#"+nl.ReqMarkers.ARROW+"_line_ending)")),((t,e,i,r)=>{let a=e.node().getTotalLength(),s=e.node().getPointAtLength(.5*a),n="rel"+nh;nh++;let o=t.append("text").attr("class","req relationshipLabel").attr("id",n).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();t.insert("rect","#"+n).attr("class","req reqLabelBox").attr("x",s.x-o.width/2).attr("y",s.y-o.height/2).attr("width",o.width).attr("height",o.height).attr("fill","white").attr("fill-opacity","85%")})(t,o,0,`<<${e.type}>>`)},ny=function(t,e){e.nodes().forEach(function(i){void 0!==i&&void 0!==e.node(i)&&(t.select("#"+i),t.select("#"+i).attr("transform","translate("+(e.node(i).x-e.node(i).width/2)+","+(e.node(i).y-e.node(i).height/2)+" )"))})},nf=t=>t.replace(/\s/g,"").replace(/\./g,"_"),nm={draw:(t,e,i,r)=>{let a,s,n;nc=eW().requirement,r.db.clear(),r.parser.parse(t);let o=nc.securityLevel;"sandbox"===o&&(a=(0,x.Ltv)("#i"+e));let l=("sandbox"===o?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body")).select(`[id='${e}']`);nl.insertLineEndings(l,nc);let h=new B.T({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:nc.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),u=r.db.getRequirements(),d=r.db.getElements(),p=r.db.getRelationships();((t,e,i)=>{Object.keys(t).forEach(r=>{let a=t[r];r=nf(r),z.info("Added new requirement: ",r);let s=i.append("g").attr("id",r),n=nu(s,"req-"+r),o=nd(s,r+"_title",[`<<${a.type}>>`,`${a.name}`]);np(s,r+"_body",[`Id: ${a.id}`,`Text: ${a.text}`,`Risk: ${a.risk}`,`Verification: ${a.verifyMethod}`],o.y);let l=n.node().getBBox();e.setNode(r,{width:l.width,height:l.height,shape:"rect",id:r})})})(u,h,l),((t,e,i)=>{Object.keys(t).forEach(r=>{let a=t[r],s=nf(r),n=i.append("g").attr("id",s),o="element-"+s,l=nu(n,o),h=nd(n,o+"_title",["<<Element>>",`${r}`]);np(n,o+"_body",[`Type: ${a.type||"Not Specified"}`,`Doc Ref: ${a.docRef||"None"}`],h.y);let u=l.node().getBBox();e.setNode(s,{width:u.width,height:u.height,shape:"rect",id:s})})}
1127)(d,h,l),s=p,n=h,s.forEach(function(t){let e=nf(t.src),i=nf(t.dst);n.setEdge(e,i,{relationship:t})}),(0,L.Zp)(h),ny(l,h),p.forEach(function(t){ng(l,t,h,e,r)});let g=nc.rect_padding,y=l.node().getBBox(),f=y.width+2*g,m=y.height+2*g;eZ(l,m,f,nc.useMaxWidth),l.attr("viewBox",`${y.x-g} ${y.y-g} ${f} ${m}`)}};var nb=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,2],i=[1,3],r=[1,5],a=[1,7],s=[2,5],n=[1,15],o=[1,17],l=[1,18],h=[1,19],u=[1,21],d=[1,22],p=[1,23],g=[1,29],y=[1,30],f=[1,31],m=[1,32],b=[1,33],x=[1,34],k=[1,35],_=[1,36],C=[1,37],T=[1,38],E=[1,39],v=[1,40],A=[1,43],S=[1,44],w=[1,45],L=[1,46],B=[1,47],I=[1,48],D=[1,51],O=[1,4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,51,52,53,58,59,60,61,69,79],F=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,53,58,59,60,61,69,79],N=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,52,53,58,59,60,61,69,79],R=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,51,53,58,59,60,61,69,79],$=[4,5,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,53,58,59,60,61,69,79],M=[67,68,69],P=[1,121],z=[1,4,5,7,16,20,22,25,26,32,33,34,36,38,39,40,41,42,43,45,47,49,50,51,52,53,58,59,60,61,69,79],Y={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,openDirective:11,typeDirective:12,closeDirective:13,":":14,argDirective:15,participant:16,actor:17,AS:18,restOfLine:19,participant_actor:20,signal:21,autonumber:22,NUM:23,off:24,activate:25,deactivate:26,note_statement:27,links_statement:28,link_statement:29,properties_statement:30,details_statement:31,title:32,legacy_title:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,loop:39,end:40,rect:41,opt:42,alt:43,else_sections:44,par:45,par_sections:46,critical:47,option_sections:48,break:49,option:50,and:51,else:52,note:53,placement:54,text2:55,over:56,actor_pair:57,links:58,link:59,properties:60,details:61,spaceList:62,",":63,left_of:64,right_of:65,signaltype:66,"+":67,"-":68,ACTOR:69,SOLID_OPEN_ARROW:70,DOTTED_OPEN_ARROW:71,SOLID_ARROW:72,DOTTED_ARROW:73,SOLID_CROSS:74,DOTTED_CROSS:75,SOLID_POINT:76,DOTTED_POINT:77,TXT:78,open_directive:79,type_directive:80,arg_directive:81,close_directive:82,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",14:":",16:"participant",18:"AS",19:"restOfLine",20:"participant_actor",22:"autonumber",23:"NUM",24:"off",25:"activate",26:"deactivate",32:"title",33:"legacy_title",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",39:"loop",40:"end",41:"rect",42:"opt",43:"alt",45:"par",47:"critical",49:"break",50:"option",51:"and",52:"else",53:"note",56:"over",58:"links",59:"link",60:"properties",61:"details",63:",",64:"left_of",65:"right_of",67:"+",68:"-",69:"ACTOR",70:"SOLID_OPEN_ARROW",71:"DOTTED_OPEN_ARROW",72:"SOLID_ARROW",73:"DOTTED_ARROW",74:"SOLID_CROSS",75:"DOTTED_CROSS",76:"SOLID_POINT",77:"DOTTED_POINT",78:"TXT",79:"open_directive",80:"type_directive",81:"arg_directive",82:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,5],[10,3],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[48,1],[48,4],[46,1],[46,4],[44,1],[44,4],[27,4],[27,4],[28,3],[29,3],[30,3],[31,3],[62,2],[62,1],[57,3],[57,1],[54,1],[54,1],[21,5],[21,5],[21,4],[17,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[66,1],[55,1],[11,1],[12,1],[15,1],[13,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 4:return r.apply(s[o]),s[o];case 5:case 9:this.$=[];break;case 6:s[o-1].push(s[o]),this.$=s[o-1];break;case 7:case 8:case 56:this.$=s[o];break;case 12:s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 13:s[o-1].type="addParticipant",this.$=s[o-1];break;case 14:s[o-3].type="addActor",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 15:s[o-1].type="addActor",this.$=s[o-1];break;case 17:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1]};break;case 22:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-1]};break;case 28:r.setDiagramTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 29:r.setDiagramTitle(s[o].substring(7)),this.$=s[o].substring(7);break;case 30:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 31:case 32:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 33:s[o-1].unshift({type:"loopStart",loopText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.LOOP_START}),s[o-1].push({type:"loopEnd",loopText:s[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=s[o-1];break;case 34:s[o-1].unshift({type:"rectStart",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_START}),s[o-1].push({type:"rectEnd",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=s[o-1];break;case 35:s[o-1].unshift({type:"optStart",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_START}),s[o-1].push({type:"optEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=s[o-1];break;case 36:s[o-1].unshift({type:"altStart",altText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.ALT_START}),s[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=s[o-1];break;case 37:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;
vendor: 4,880 bytes, line 1127
1127case 38:s[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.CRITICAL_START}),s[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=s[o-1];break;case 39:s[o-1].unshift({type:"breakStart",breakText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_START}),s[o-1].push({type:"breakEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=s[o-1];break;case 42:this.$=s[o-3].concat([{type:"option",optionText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},s[o]]);break;case 44:this.$=s[o-3].concat([{type:"and",parText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.PAR_AND},s[o]]);break;case 46:this.$=s[o-3].concat([{type:"else",altText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.ALT_ELSE},s[o]]);break;case 47:this.$=[s[o-1],{type:"addNote",placement:s[o-2],actor:s[o-1].actor,text:s[o]}];break;case 48:s[o-2]=[].concat(s[o-1],s[o-1]).slice(0,2),s[o-2][0]=s[o-2][0].actor,s[o-2][1]=s[o-2][1].actor,this.$=[s[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:s[o-2].slice(0,2),text:s[o]}];break;case 49:this.$=[s[o-1],{type:"addLinks",actor:s[o-1].actor,text:s[o]}];break;case 50:this.$=[s[o-1],{type:"addALink",actor:s[o-1].actor,text:s[o]}];break;case 51:this.$=[s[o-1],{type:"addProperties",actor:s[o-1].actor,text:s[o]}];break;case 52:this.$=[s[o-1],{type:"addDetails",actor:s[o-1].actor,text:s[o]}];break;case 55:this.$=[s[o-2],s[o]];break;case 57:this.$=r.PLACEMENT.LEFTOF;break;case 58:this.$=r.PLACEMENT.RIGHTOF;break;case 59:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1]}];break;case 60:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-4]}];break;case 61:this.$=[s[o-3],s[o-1],{type:"addMessage",from:s[o-3].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o]}];break;case 62:this.$={type:"addParticipant",actor:s[o]};break;case 63:this.$=r.LINETYPE.SOLID_OPEN;break;case 64:this.$=r.LINETYPE.DOTTED_OPEN;break;case 65:this.$=r.LINETYPE.SOLID;break;case 66:this.$=r.LINETYPE.DOTTED;break;case 67:this.$=r.LINETYPE.SOLID_CROSS;break;case 68:this.$=r.LINETYPE.DOTTED_CROSS;break;case 69:this.$=r.LINETYPE.SOLID_POINT;break;case 70:this.$=r.LINETYPE.DOTTED_POINT;break;case 71:this.$=r.parseMessage(s[o].trim().substring(1));break;case 72:r.parseDirective("%%{","open_directive");break;case 73:r.parseDirective(s[o],"type_directive");break;case 74:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 75:r.parseDirective("}%%","close_directive","sequence")}},table:[{3:1,4:e,5:i,6:4,7:r,11:6,79:a},{1:[3]},{3:8,4:e,5:i,6:4,7:r,11:6,79:a},{3:9,4:e,5:i,6:4,7:r,11:6,79:a},{3:10,4:e,5:i,6:4,7:r,11:6,79:a},t([1,4,5,16,20,22,25,26,32,33,34,36,38,39,41,42,43,45,47,49,53,58,59,60,61,69,79],s,{8:11}),{12:12,80:[1,13]},{80:[2,72]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,41:k,42:_,43:C,45:T,47:E,49:v,53:A,58:S,59:w,60:L,61:B,69:I,79:a},{13:49,14:[1,50],82:D},t([14,82],[2,73]),t(O,[2,6]),{6:41,10:52,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,41:k,42:_,43:C,45:T,47:E,49:v,53:A,58:S,59:w,60:L,61:B,69:I,79:a},t(O,[2,8]),t(O,[2,9]),{17:53,69:I},{17:54,69:I},{5:[1,55]},{5:[1,58],23:[1,56],24:[1,57]},{17:59,69:I},{17:60,69:I},{5:[1,61]},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},t(O,[2,28]),t(O,[2,29]),{35:[1,66]},{37:[1,67]},t(O,[2,32]),{19:[1,68]},{19:[1,69]},{19:[1,70]},{19:[1,71]},{19:[1,72]},{19:[1,73]},{19:[1,74]},t(O,[2,40]),{66:75,70:[1,76],71:[1,77],72:[1,78],73:[1,79],74:[1,80],75:[1,81],76:[1,82],77:[1,83]},{54:84,56:[1,85],64:[1,86],65:[1,87]},{17:88,69:I},{17:89,69:I},{17:90,69:I},{17:91,69:I},t([5,18,63,70,71,72,73,74,75,76,77,78],[2,62]),{5:[1,92]},{15:93,81:[1,94]},{5:[2,75]},t(O,[2,7]),{5:[1,96],18:[1,95]},{5:[1,98],18:[1,97]},t(O,[2,16]),{5:[1,100],23:[1,99]},{5:[1,101]},t(O,[2,20]),{5:[1,102]},{5:[1,103]},t(O,[2,23]),t(O,[2,24]),t(O,[2,25]),t(O,[2,26]),t(O,[2,27]),t(O,[2,30]),t(O,[2,31]),t(F,s,{8:104}),t(F,s,{8:105}),t(F,s,{8:106}),t(N,s,{44:107,8:108}),t(R,s,{46:109,8:110}),t($,s,{48:111,8:112}),t(F,s,{8:113}),{17:116,67:[1,114],68:[1,115],69:I},t(M,[2,63]),t(M,[2,64]),t(M,[2,65]),t(M,[2,66]),t(M,[2,67]),t(M,[2,68]),t(M,[2,69]),t(M,[2,70]),{17:117,69:I},{17:119,57:118,69:I},{69:[2,57]},{69:[2,58]},{55:120,78:P},{55:122,78:P},{55:123,78:P},{55:124,78:P},t(z,[2,10]),{13:125,82:D},{82:[2,74]},{19:[1,126]},t(O,[2,13]),{19:[1,127]},t(O,[2,15]),{5:[1,128]},t(O,[2,18]),t(O,[2,19]),t(O,[2,21]),t(O,[2,22]),{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:2
11276,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[1,129],41:k,42:_,43:C,45:T,47:E,49:v,53:A,58:S,59:w,60:L,61:B,69:I,79:a},{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[1,130],41:k,42:_,43:C,45:T,47:E,49:v,53:A,58:S,59:w,60:L,61:B,69:I,79:a},{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[1,131],41:k,42:_,43:C,45:T,47:E,49:v,53:A,58:S,59:w,60:L,61:B,69:I,79:a},{40:[1,132]},{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[2,45],41:k,42:_,43:C,45:T,47:E,49:v,52:[1,133],53:A,58:S,59:w,60:L,61:B,69:I,79:a},{40:[1,134]},{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[2,43],41:k,42:_,43:C,45:T,47:E,49:v,51:[1,135],53:A,58:S,59:w,60:L,61:B,69:I,79:a},{40:[1,136]},{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[2,41],41:k,42:_,43:C,45:T,47:E,49:v,50:[1,137],53:A,58:S,59:w,60:L,61:B,69:I,79:a},{4:n,5:o,6:41,9:14,10:16,11:6,16:l,17:42,20:h,21:20,22:u,25:d,26:p,27:24,28:25,29:26,30:27,31:28,32:g,33:y,34:f,36:m,38:b,39:x,40:[1,138],41:k,42:_,43:C,45:T,47:E,49:v,53:A,58:S,59:w,60:L,61:B,69:I,79:a},{17:139,69:I},{17:140,69:I},{55:141,78:P},{55:142,78:P},{55:143,78:P},{63:[1,144],78:[2,56]},{5:[2,49]},{5:[2,71]},{5:[2,50]},{5:[2,51]},{5:[2,52]},{5:[1,145]},{5:[1,146]},{5:[1,147]},t(O,[2,17]),t(O,[2,33]),t(O,[2,34]),t(O,[2,35]),t(O,[2,36]),{19:[1,148]},t(O,[2,37]),{19:[1,149]},t(O,[2,38]),{19:[1,150]},t(O,[2,39]),{55:151,78:P},{55:152,78:P},{5:[2,61]},{5:[2,47]},{5:[2,48]},{17:153,69:I},t(z,[2,11]),t(O,[2,12]),t(O,[2,14]),t(N,s,{8:108,44:154}),t(R,s,{8:110,46:155}),t($,s,{8:112,48:156}),{5:[2,59]},{5:[2,60]},{78:[2,55]},{40:[2,46]},{40:[2,44]},{40:[2,42]}],defaultActions:{7:[2,72],8:[2,1],9:[2,2],10:[2,3],51:[2,75],86:[2,57],87:[2,58],94:[2,74],120:[2,49],121:[2,71],122:[2,50],123:[2,51],124:[2,52],141:[2,61],142:[2,47],143:[2,48],151:[2,59],152:[2,60],153:[2,55],154:[2,46],155:[2,44],156:[2,42]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function j(){this.yy={}}return Y.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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}
vendor: 4,427 bytes, line 1127
1127,input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1127,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),79;case 1:return this.begin("type_directive"),80;case 2:return this.popState(),this.begin("arg_directive"),14;case 3:return this.popState(),this.popState(),82;case 4:return 81;case 5:case 52:case 65:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return 23;case 12:return this.begin("ID"),16;case 13:return this.begin("ID"),20;case 14:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),69;case 15:return this.popState(),this.popState(),this.begin("LINE"),18;case 16:return this.popState(),this.popState(),5;case 17:return this.begin("LINE"),39;case 18:return this.begin("LINE"),41;case 19:return this.begin("LINE"),42;case 20:return this.begin("LINE"),43;case 21:return this.begin("LINE"),52;case 22:return this.begin("LINE"),45;case 23:return this.begin("LINE"),51;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),50;case 26:return this.begin("LINE"),49;case 27:return this.popState(),19;case 28:return 40;case 29:return 64;case 30:return 65;case 31:return 58;case 32:return 59;case 33:return 60;case 34:return 61;case 35:return 56;case 36:return 53;case 37:return this.begin("ID"),25;case 38:return this.begin("ID"),26;case 39:return 32;case 40:return 33;case 41:return this.begin("acc_title"),34;case 42:return this.popState(),"acc_title_value";case 43:return this.begin("acc_descr"),36;case 44:return this.popState(),"acc_descr_value";case 45:this.begin("acc_descr_multiline");break;case 46:this.popState();break;case 47:return"acc_descr_multiline_value";case 48:return 7;case 49:return 22;case 50:return 24;case 51:return 63;case 53:return e.yytext=e.yytext.trim(),69;case 54:return 72;case 55:return 73;case 56:return 70;case 57:return 71;case 58:return 74;case 59:return 75;case 60:return 76;case 61:return 77;case 62:return 78;case 63:return 67;case 64:return 68;case 66:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:participant\b)/i,/^(?:actor\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,/^(?: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:[46,47],inclusive:!1},acc_descr:{rules:[44],inclusive:!1},acc_title:{rules:[42],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,14],inclusive:!1},ALIAS:{rules:[7,8,15,16],inclusive:!1},LINE:{rules:[7,8,27],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,45,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66],inclusive:!0}}},j.prototype=Y,Y.Parser=j,new j}();nb.parser=nb;let nx=t=>null!==t.match(/^\s*sequenceDiagram/),nk={},n_=[],nC=!1,nT=function(t,e,i,r){let a=nk[t];a&&e===a.name&&null==i||((null==i||null==i.text)&&(i={text:e,wrap:null,type:r}),(null==r||null==i.text)&&(i={text:e,wrap:null,type:r}),nk[t]={name:e,description:i.text,wrap:void 0===i.wrap&&nA()||!!i.wrap,prevActor:y,links:{},properties:{},actorCnt:null,rectData:null,type:r||"participant"},y&&nk[y]&&(nk[y].nextActor=t),y=t)}
1127,nE=function(t,e,i={text:void 0,wrap:void 0},r){if(r===nS.ACTIVE_END&&1>(t=>{let e,i=0;for(e=0;e<n_.length;e++)n_[e].type===nS.ACTIVE_START&&n_[e].from.actor===t&&i++,n_[e].type===nS.ACTIVE_END&&n_[e].from.actor===t&&i--;return i})(t.actor)){let e=Error("Trying to inactivate an inactive participant ("+t.actor+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return n_.push({from:t,to:e,message:i.text,wrap:void 0===i.wrap&&nA()||!!i.wrap,type:r}),!0},nv=function(t){return nk[t]},nA=()=>void 0!==d?d:eW().sequence.wrap,nS={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},nw=function(t,e,i){i.text,void 0===i.wrap&&nA()||i.wrap;let r=[].concat(t,t);n_.push({from:r[0],to:r[1],message:i.text,wrap:void 0===i.wrap&&nA()||!!i.wrap,type:nS.NOTE,placement:e})},nL=function(t,e){let i=nv(t);try{let t=q(e.text,eW());t=(t=t.replace(/&amp;/g,"&")).replace(/&equals;/g,"=");let r=JSON.parse(t);nI(i,r)}catch(t){z.error("error while parsing actor link text",t)}},nB=function(t,e){let i=nv(t);try{let t={},n=q(e.text,eW());var r=n.indexOf("@"),a=(n=(n=n.replace(/&amp;/g,"&")).replace(/&equals;/g,"=")).slice(0,r-1).trim(),s=n.slice(r+1).trim();t[a]=s,nI(i,t)}catch(t){z.error("error while parsing actor link text",t)}};function nI(t,e){if(null==t.links)t.links=e;else for(let i in e)t.links[i]=e[i]}let nD=function(t,e){let i=nv(t);try{let t=q(e.text,eW()),r=JSON.parse(t);nO(i,r)}catch(t){z.error("error while parsing actor properties text",t)}};function nO(t,e){if(null==t.properties)t.properties=e;else for(let i in e)t.properties[i]=e[i]}let nF=function(t,e){let i=nv(t),r=document.getElementById(e.text);try{let t=r.innerHTML,e=JSON.parse(t);e.properties&&nO(i,e.properties),e.links&&nI(i,e.links)}catch(t){z.error("error while parsing actor details text",t)}},nN=function(t){if(Array.isArray(t))t.forEach(function(t){nN(t)});else switch(t.type){case"sequenceIndex":n_.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":nT(t.actor,t.actor,t.description,"participant");break;case"addActor":nT(t.actor,t.actor,t.description,"actor");break;case"activeStart":case"activeEnd":nE(t.actor,void 0,void 0,t.signalType);break;case"addNote":nw(t.actor,t.placement,t.text);break;case"addLinks":nL(t.actor,t.text);break;case"addALink":nB(t.actor,t.text);break;case"addProperties":nD(t.actor,t.text);break;case"addDetails":nF(t.actor,t.text);break;case"addMessage":nE(t.from,t.to,t.msg,t.signalType);break;case"loopStart":nE(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":nE(void 0,void 0,void 0,t.signalType);break;case"rectStart":nE(void 0,void 0,t.color,t.signalType);break;case"optStart":nE(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":nE(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":iy(t.text);break;case"parStart":case"and":nE(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":nE(void 0,void 0,t.criticalText,t.signalType);break;case"option":nE(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":nE(void 0,void 0,t.breakText,t.signalType)}},nR={addActor:nT,addMessage:function(t,e,i,r){n_.push({from:t,to:e,message:i.text,wrap:void 0===i.wrap&&nA()||!!i.wrap,answer:r})},addSignal:nE,addLinks:nL,addDetails:nF,addProperties:nD,autoWrap:nA,setWrap:function(t){d=t},enableSequenceNumbers:function(){nC=!0},disableSequenceNumbers:function(){nC=!1},showSequenceNumbers:()=>nC,getMessages:function(){return n_},getActors:function(){return nk},getActor:nv,getActorKeys:function(){return Object.keys(nk)},getActorProperty:function(t,e){if(void 0!==t&&void 0!==t.properties)return t.properties[e]},getAccTitle:im,getDiagramTitle:i_,setDiagramTitle:ik,parseDirective:function(t,e,
1127i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().sequence,clear:function(){nk={},n_=[],nC=!1,ig()},parseMessage:function(t){let e=t.trim(),i={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^:?wrap:/)||null===e.match(/^:?nowrap:/)&&void 0};return z.debug("parseMessage:",i),i},LINETYPE:nS,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:nw,setAccTitle:iy,apply:nN,setAccDescription:ib,getAccDescription:ix},n$=[],nM=()=>{n$.forEach(t=>{t()}),n$=[]},nP=function(t,e){let i=t.append("rect");return i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),void 0!==e.class&&i.attr("class",e.class),i},nz=(t,e)=>{n$.push(()=>{let i=document.querySelectorAll(t);0!==i.length&&(i[0].addEventListener("mouseover",function(){nW("actor"+e+"_popup")}),i[0].addEventListener("mouseout",function(){nq("actor"+e+"_popup")}))})},nY=function(t,e,i,r){let a=t.append("image");a.attr("x",e),a.attr("y",i);var s=(0,b.Jf)(r);a.attr("xlink:href",s)},nj=function(t,e,i,r){let a=t.append("use");a.attr("x",e),a.attr("y",i);var s=(0,b.Jf)(r);a.attr("xlink:href","#"+s)},nW=function(t){var e=document.getElementById(t);null!=e&&(e.style.display="block")},nq=function(t){var e=document.getElementById(t);null!=e&&(e.style.display="none")},nU=function(t,e){let i=0,r=0,a=e.text.split(K.lineBreakRegex),s=[],n=0,o=()=>e.y;if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":o=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":o=()=>Math.round(e.y+(i+r+e.textMargin)/2);break;case"bottom":case"end":o=()=>Math.round(e.y+(i+r+2*e.textMargin)-e.textMargin)}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[l,h]of a.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==e.fontSize&&(n=l*e.fontSize);let a=t.append("text");if(a.attr("x",e.x),a.attr("y",o()),void 0!==e.anchor&&a.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&a.style("font-family",e.fontFamily),void 0!==e.fontSize&&a.style("font-size",e.fontSize),void 0!==e.fontWeight&&a.style("font-weight",e.fontWeight),void 0!==e.fill&&a.attr("fill",e.fill),void 0!==e.class&&a.attr("class",e.class),void 0!==e.dy?a.attr("dy",e.dy):0!==n&&a.attr("dy",n),e.tspan){let t=a.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(h)}else a.text(h);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(a._groups||a)[0][0].getBBox().height,i=r),s.push(a)}return s},nV=function(t,e){var i,r,a,s;let n=t.append("polygon");return n.attr("points",(i=e.x,r=e.y,a=e.width,i+","+r+" "+(i+a)+","+r+" "+(i+a)+","+(r+(s=e.height)-7)+" "+(i+a-8.4)+","+(r+s)+" "+i+","+(r+s))),n.attr("class","labelBox"),e.y=e.y+e.height/2,nU(t,e),n},nH=-1,nG=(t,e)=>{t.selectAll&&t.selectAll(".actor-line").attr("class","200").attr("y2",e-55)},nX=function(t,e,i){let r=e.x+e.width/2,a=t.append("g");var s=a;0===e.y&&(nH++,s.append("line").attr("id","actor"+nH).attr("x1",r).attr("y1",5).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),s=a.append("g"),e.actorCnt=nH,null!=e.links&&(s.attr("id","root-"+nH),nz("#root-"+nH,nH)));let n=nZ();var o="actor";null!=e.properties&&e.properties.class?o=e.properties.class:n.fill="#eaeaea",n.x=e.x,n.y=e.y,n.width=e.width,n.height=e.height,n.class=o,n.rx=3,n.ry=3;let l=nP(s,n);if(e.rectData=n,null!=e.properties&&e.properties.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?nj(s,n.x+n.width-20,n.y+10,t.substr(1)):nY(s,n.x+n.width-20,n.y+10,t)}nJ(i)(e.description,s,n.x,n.y,n.width,n.height,{class:"actor"},i);let h=e.height;if(l.node){let t=l.node().getBBox();e.height=t.height,h=t.height}return h}
1127,nK=function(t,e,i){let r=e.x+e.width/2;0===e.y&&(nH++,t.append("line").attr("id","actor"+nH).attr("x1",r).attr("y1",80).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));let a=t.append("g");a.attr("class","actor-man");let s=nZ();s.x=e.x,s.y=e.y,s.fill="#eaeaea",s.width=e.width,s.height=e.height,s.class="actor",s.rx=3,s.ry=3,a.append("line").attr("id","actor-man-torso"+nH).attr("x1",r).attr("y1",e.y+25).attr("x2",r).attr("y2",e.y+45),a.append("line").attr("id","actor-man-arms"+nH).attr("x1",r-18).attr("y1",e.y+33).attr("x2",r+18).attr("y2",e.y+33),a.append("line").attr("x1",r-18).attr("y1",e.y+60).attr("x2",r).attr("y2",e.y+45),a.append("line").attr("x1",r).attr("y1",e.y+45).attr("x2",r+16).attr("y2",e.y+60);let n=a.append("circle");return n.attr("cx",e.x+e.width/2),n.attr("cy",e.y+10),n.attr("r",15),n.attr("width",e.width),n.attr("height",e.height),e.height=a.node().getBBox().height,nJ(i)(e.description,a,s.x,s.y+35,s.width,s.height,{class:"actor"},i),e.height},nQ=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},nZ=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},nJ=function(){function t(t,e,i,a,s,n,o){r(e.append("text").attr("x",i+s/2).attr("y",a+n/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,i,a,s,n,o,l){let{actorFontSize:h,actorFontFamily:u,actorFontWeight:d}=l,p=h&&h.replace?h.replace("px",""):h,g=t.split(K.lineBreakRegex);for(let t=0;t<g.length;t++){let l=t*p-p*(g.length-1)/2,y=e.append("text").attr("x",i+s/2).attr("y",a).style("text-anchor","middle").style("font-size",h).style("font-weight",d).style("font-family",u);y.append("tspan").attr("x",i+s/2).attr("dy",l).text(g[t]),y.attr("y",a+n/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(y,o)}}function i(t,i,a,s,n,o,l,h){let u=i.append("switch"),d=u.append("foreignObject").attr("x",a).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,a,s,n,o,l,h),r(d,l)}function r(t,e){for(let i in e)e.hasOwnProperty(i)&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),n1=function(){function t(t,e,i,a,s,n,o){r(e.append("text").attr("x",i).attr("y",a).style("text-anchor","start").text(t),o)}function e(t,e,i,a,s,n,o,l){let{actorFontSize:h,actorFontFamily:u,actorFontWeight:d}=l,p=t.split(K.lineBreakRegex);for(let t=0;t<p.length;t++){let s=t*h-h*(p.length-1)/2,l=e.append("text").attr("x",i).attr("y",a).style("text-anchor","start").style("font-size",h).style("font-weight",d).style("font-family",u);l.append("tspan").attr("x",i).attr("dy",s).text(p[t]),l.attr("y",a+n/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(l,o)}}function i(t,i,a,s,n,o,l,h){let u=i.append("switch"),d=u.append("foreignObject").attr("x",a).attr("y",s).attr("width",n).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,a,s,n,o,l,h),r(d,l)}function r(t,e){for(let i in e)e.hasOwnProperty(i)&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),n0={drawRect:nP,drawText:nU,drawLabel:nV,drawActor:function(t,e,i){switch(e.type){case"actor":return nK(t,e,i);case"participant":return nX(t,e,i)}},drawPopup:function(t,e,i,r,a){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};let s=e.links,n=e.actorCnt,o=e.rectData;var l="none";a&&(l="block !important");let h=t.append("g");h.attr("id","actor"+n+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",l),nz("#actor"+n+"_popup",n);var u="";void 0!==o.class&&(u=" "+o.class);let d=o.width>i?o.width:i,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+u),p.attr("x",o.x),p.attr("y",o.height),p.attr("fill",o.fill),p.attr("stroke",o.stroke),p.attr("width",d),p.attr("height",o.height),p.attr("rx",o.rx),p.attr("ry",o.ry),null!=s){var g=20;for(let t in s){var y=h.append("a"),f=(0,b.Jf)(s[t]);y.attr("xlink:href",f),y.attr("target","_blank"),n1(r)(t,y,o.x+10,o.height+g,d,20,{class:"actor"},r),g+=30}}return p.attr("height",g),{height:o.height+g,width:d}},drawImage:nY,drawEmbeddedImage:nj,anchorElement:function(t){return t.append("g")}
1127,drawActivation:function(t,e,i,r,a){let s=nZ(),n=e.anchored;s.x=e.startx,s.y=e.starty,s.class="activation"+a%3,s.width=e.stopx-e.startx,s.height=i-e.starty,nP(n,s)},drawLoop:function(t,e,i,r){let{boxMargin:a,boxTextMargin:s,labelBoxHeight:n,labelBoxWidth:o,messageFontFamily:l,messageFontSize:h,messageFontWeight:u}=r,d=t.append("g"),p=function(t,e,i,r){return d.append("line").attr("x1",t).attr("y1",e).attr("x2",i).attr("y2",r).attr("class","loopLine")};p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach(function(t){p(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")});let g=nQ();g.text=i,g.x=e.startx,g.y=e.starty,g.fontFamily=l,g.fontSize=h,g.fontWeight=u,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=o||50,g.height=n||20,g.textMargin=s,g.class="labelText",nV(d,g),(g=nQ()).text=e.title,g.x=e.startx+o/2+(e.stopx-e.startx)/2,g.y=e.starty+a+s,g.anchor="middle",g.valign="middle",g.textMargin=s,g.class="loopText",g.fontFamily=l,g.fontSize=h,g.fontWeight=u,g.wrap=!0;nU(d,g);
1127return void 0!==e.sectionTitles&&e.sectionTitles.forEach(function(t,i){if(t.message){g.text=t.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[i].y+a+s,g.class="loopText",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=l,g.fontSize=h,g.fontWeight=u,g.wrap=e.wrap;let r=Math.round(nU(d,g).map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));e.sections[i].height+=r-(a+s)}}),e.height=Math.round(e.stopy-e.starty),d},drawBackgroundRect:function(t,e){nP(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},insertArrowHead:function(t){t.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")},insertArrowFilledHead:function(t){t.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")},insertSequenceNumber:function(t){t.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)},insertArrowCrossHead:function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},insertDatabaseIcon:function(t){t
vendor: 13,305 bytes, line 1127
1127.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")},
1127insertComputerIcon:function(t){t.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")},insertClockIcon:function(t){t.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")},getTextObj:nQ,getNoteRect:nZ,popupMenu:function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'block'; }"},popdownMenu:function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'none'; }"},fixLifeLineHeights:nG,sanitizeUrl:b.Jf},n2={},n3={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map(t=>t.height||0))+(0===this.loops.length?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.messages.length?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(0===this.notes.length?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},clear:function(){this.actors=[],this.loops=[],this.messages=[],this.notes=[]},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,oe(eW())},updateVal:function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])}
1127,updateBounds:function(t,e,i,r){let a=this,s=0;function n(n){return function(o){s++;let l=a.sequenceItems.length-s+1;a.updateVal(o,"starty",e-l*n2.boxMargin,Math.min),a.updateVal(o,"stopy",r+l*n2.boxMargin,Math.max),a.updateVal(n3.data,"startx",t-l*n2.boxMargin,Math.min),a.updateVal(n3.data,"stopx",i+l*n2.boxMargin,Math.max),"activation"!==n&&(a.updateVal(o,"startx",t-l*n2.boxMargin,Math.min),a.updateVal(o,"stopx",i+l*n2.boxMargin,Math.max),a.updateVal(n3.data,"starty",e-l*n2.boxMargin,Math.min),a.updateVal(n3.data,"stopy",r+l*n2.boxMargin,Math.max))}}this.sequenceItems.forEach(n()),this.activations.forEach(n("activation"))},insert:function(t,e,i,r){let a=Math.min(t,i),s=Math.max(t,i),n=Math.min(e,r),o=Math.max(e,r);this.updateVal(n3.data,"startx",a,Math.min),this.updateVal(n3.data,"starty",n,Math.min),this.updateVal(n3.data,"stopx",s,Math.max),this.updateVal(n3.data,"stopy",o,Math.max),this.updateBounds(a,n,s,o)},newActivation:function(t,e,i){let r=i[t.from.actor],a=oi(t.from.actor).length||0,s=r.x+r.width/2+(a-1)*n2.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+n2.activationWidth,stopy:void 0,actor:t.from.actor,anchored:n0.anchorElement(e)})},endActivation:function(t){let e=this.activations.map(function(t){return t.actor}).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:n3.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},n4=function(t,e){n3.bumpVerticalPos(n2.boxMargin),e.height=n2.boxMargin,e.starty=n3.getVerticalPos();let i=n0.getNoteRect();i.x=e.startx,i.y=e.starty,i.width=e.width||n2.width,i.class="note";let r=t.append("g"),a=n0.drawRect(r,i),s=n0.getTextObj();s.x=e.startx,s.y=e.starty,s.width=i.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=n2.noteFontFamily,s.fontSize=n2.noteFontSize,s.fontWeight=n2.noteFontWeight,s.anchor=n2.noteAlign,s.textMargin=n2.noteMargin,s.valign="center";let n=Math.round(nU(r,s).map(t=>(t._groups||t)[0][0].getBBox().height).reduce((t,e)=>t+e));a.attr("height",n+2*n2.noteMargin),e.height+=n+2*n2.noteMargin,n3.bumpVerticalPos(n+2*n2.noteMargin),e.stopy=e.starty+n+2*n2.noteMargin,e.stopx=e.startx+i.width,n3.insert(e.startx,e.starty,e.stopx,e.stopy),n3.models.addNote(e)},n5=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),n6=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),n8=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),n7=function(t,e,i,r){let a,{startx:s,stopx:n,starty:o,message:l,type:h,sequenceIndex:u,sequenceVisible:d}=e,p=eF.calculateTextDimensions(l,n5(n2)),g=n0.getTextObj();g.x=s,g.y=o+10,g.width=n-s,g.class="messageText",g.dy="1em",g.text=l,g.fontFamily=n2.messageFontFamily,g.fontSize=n2.messageFontSize,g.fontWeight=n2.messageFontWeight,g.anchor=n2.messageAlign,g.valign="center",g.textMargin=n2.wrapPadding,g.tspan=!1,nU(t,g);let y=p.width;s===n?a=n2.rightAngles?t.append("path").attr("d",`M  ${s},${i} H ${s+Math.max(n2.width/2,y/2)} V ${i+25} H ${s}`):t.append("path").attr("d","M "+s+","+i+" C "+(s+60)+","+(i-10)+" "+(s+60)+","+(i+30)+" "+s+","+(i+20)):((a=t.append("line")).attr("x1",s),a.attr("y1",i),a.attr("x2",n),a.attr("y2",i)),h===r.db.LINETYPE.DOTTED||h===r.db.LINETYPE.DOTTED_CROSS||h===r.db.LINETYPE.DOTTED_POINT||h===r.db.LINETYPE.DOTTED_OPEN?(a.style("stroke-dasharray","3, 3"),a.attr("class","messageLine1")):a.attr("class","messageLine0");let f="";n2.arrowMarkerAbsolute&&(f=(f=(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),a.attr("stroke-width",2),a.attr("stroke","none"),a.style("fill","none"),(h===r.db.LINETYPE.SOLID||h===r.db.LINETYPE.DOTTED)&&a.attr("marker-end","url("+f+"#arrowhead)"),(h===r.db.LINETYPE.SOLID_POINT||h===r.db.LINETYPE.DOTTED_POINT)&&a.attr("marker-end","url("+f+"#filled-head)"),(h===r.db.LINETYPE.SOLID_CROSS||h===r.db.LINETYPE.DOTTED_CROSS)&&a.attr("marker-end","url("+f+"#crosshead)"),(d||n2.showSequenceNumbers)&&(a.attr("marker-start","url("+f+"#sequencenumber)"),t.append("text").attr("x",s).attr("y",i+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(u))}
1127,n9=function(t,e,i,r,a,s){if(!0===a.hideUnusedParticipants){let t=new Set;s.forEach(e=>{t.add(e.from),t.add(e.to)}),i=i.filter(e=>t.has(e))}let n=0,o=0,l=0;for(let a of i){let i=e[a];i.width=i.width||n2.width,i.height=Math.max(i.height||n2.height,n2.height),i.margin=i.margin||n2.actorMargin,i.x=n+o,i.y=r,l=Math.max(l,n0.drawActor(t,i,n2)),n3.insert(i.x,r,i.x+i.width,i.height),n+=i.width,o+=i.margin,n3.models.addActor(i)}n3.bumpVerticalPos(l)},ot=function(t,e,i,r){let a=0,s=0;for(let n of i){let i=e[n],o=os(i),l=n0.drawPopup(t,i,o,n2,n2.forceMenus,r);l.height>a&&(a=l.height),l.width+i.x>s&&(s=l.width+i.x)}return{maxHeight:a,maxWidth:s}},oe=function(t){eg(n2,t),t.fontFamily&&(n2.actorFontFamily=n2.noteFontFamily=n2.messageFontFamily=t.fontFamily),t.fontSize&&(n2.actorFontSize=n2.noteFontSize=n2.messageFontSize=t.fontSize),t.fontWeight&&(n2.actorFontWeight=n2.noteFontWeight=n2.messageFontWeight=t.fontWeight)},oi=function(t){return n3.activations.filter(function(e){return e.actor===t})},or=function(t,e){let i=e[t],r=oi(t);return[r.reduce(function(t,e){return Math.min(t,e.startx)},i.x+i.width/2),r.reduce(function(t,e){return Math.max(t,e.stopx)},i.x+i.width/2)]};function oa(t,e,i,r,a){n3.bumpVerticalPos(i);let s=r;if(e.id&&e.message&&t[e.id]){let i=t[e.id].width,a=n5(n2);e.message=eF.wrapLabel(`[${e.message}]`,i-2*n2.wrapPadding,a),e.width=i,e.wrap=!0;let n=Math.max(eF.calculateTextDimensions(e.message,a).height,n2.labelBoxHeight);s=r+n,z.debug(`${n} - ${e.message}`)}a(e),n3.bumpVerticalPos(s)}let os=function(t){let e=0,i=n8(n2);for(let r in t.links){let t=eF.calculateTextDimensions(r,i).width+2*n2.wrapPadding+2*n2.boxMargin;e<t&&(e=t)}return e},on=function(t,e,i){let r=e[t.from].x,a=e[t.to].x,s=t.wrap&&t.message,n=eF.calculateTextDimensions(s?eF.wrapLabel(t.message,n2.width,n6(n2)):t.message,n6(n2)),o={width:s?n2.width:Math.max(n2.width,n.width+2*n2.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===i.db.PLACEMENT.RIGHTOF?(o.width=s?Math.max(n2.width,n.width):Math.max(e[t.from].width/2+e[t.to].width/2,n.width+2*n2.noteMargin),o.startx=r+(e[t.from].width+n2.actorMargin)/2):t.placement===i.db.PLACEMENT.LEFTOF?(o.width=s?Math.max(n2.width,n.width+2*n2.noteMargin):Math.max(e[t.from].width/2+e[t.to].width/2,n.width+2*n2.noteMargin),o.startx=r-o.width+(e[t.from].width-n2.actorMargin)/2):t.to===t.from?(n=eF.calculateTextDimensions(s?eF.wrapLabel(t.message,Math.max(n2.width,e[t.from].width),n6(n2)):t.message,n6(n2)),o.width=s?Math.max(n2.width,e[t.from].width):Math.max(e[t.from].width,n2.width,n.width+2*n2.noteMargin),o.startx=r+(e[t.from].width-o.width)/2):(o.width=Math.abs(r+e[t.from].width/2-(a+e[t.to].width/2))+n2.actorMargin,o.startx=r<a?r+e[t.from].width/2-n2.actorMargin/2:a+e[t.to].width/2-n2.actorMargin/2),s&&(o.message=eF.wrapLabel(t.message,o.width-2*n2.wrapPadding,n6(n2))),z.debug(`NM:[${o.startx},${o.stopx},${o.starty},${o.stopy}:${o.width},${o.height}=${t.message}]`),o},oo=function(t,e,i){let r=!1;if([i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(r=!0),!r)return{};let a=or(t.from,e),s=or(t.to,e),n=+(a[0]<=s[0]),o=a[0]<s[0]?0:1,l=[...a,...s],h=Math.abs(s[o]-a[n]);t.wrap&&t.message&&(t.message=eF.wrapLabel(t.message,Math.max(h+2*n2.wrapPadding,n2.width),n5(n2)));let u=eF.calculateTextDimensions(t.message,n5(n2));return{width:Math.max(t.wrap?0:u.width+2*n2.wrapPadding,h+2*n2.wrapPadding,n2.width),height:0,startx:a[n],stopx:s[o],starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,l),toBounds:Math.max.apply(null,l)}},ol=function(t,e,i,r){let a,s,n,o={},l=[];return t.forEach(function(t){switch(t.id=eF.random({length:10}),t.type){case r.db.LINETYPE.LOOP_START:case r.db.LINETYPE.ALT_START:case r.db.LINETYPE.OPT_START:case r.db.LINETYPE.PAR_START:case r.db.LINETYPE.CRITICAL_START:case r.db.LINETYPE.BREAK_START:l.push({id:t.id,msg:t.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case r.db.LINETYPE.ALT_ELSE:case r.db.LINETYPE.PAR_AND:case r.db.LINETYPE.CRITICAL_OPTION:t.message&&(o[(a=l.pop()).id]=a,o[t.id]=a,l.push(a));break;case r.db.LINETYPE.LOOP_END:case r.db.LINETYPE.ALT_END:case r.db.LINETYPE.OPT_END:case r.db.LINETYPE.PAR_END:case r.db.LINETYPE.CRITICAL_END:case r.db.LINETYPE.BREAK_END:o[(a=l.pop()).id]=a;break;case r.db.LINETYPE.ACTIVE_START:{let i=e[t.from?t.from.actor:t.to.actor],r=oi(t.from?t.from.actor:t.to.actor).length,a=i.x+i.width/2+(r-1)*n2.activationWidth/2,s={startx:a,stopx:a+n2.activationWidth,actor:t.from.actor,enabled:!0};n3.activations.push(s)}break;case r.db.LINETYPE.ACTIVE_END:{let e=n3.activations.map(t=>t.actor).lastIndexOf(t.from.actor);delete n3.activations.splice(e,1)[0]}}void 0!==t.placement?(s=on(t,e,r),t.noteModel=s,l.forEach(t=>{(a=t).from=Math.min(a.from,s.startx),a.to=Math.max(a.to,s.startx+s.width),a.width=Math.max(a.width,Math.abs(a.from-a.to))-n2.labelBoxWidth})):(n=oo(t,e,r),t.msgModel=n,n.startx&&n.stopx&&l.length>0&&l.forEach(i=>
1127{if(a=i,n.startx===n.stopx){let i=e[t.from],r=e[t.to];a.from=Math.min(i.x-n.width/2,i.x-i.width/2,a.from),a.to=Math.max(r.x+n.width/2,r.x+i.width/2,a.to),a.width=Math.max(a.width,Math.abs(a.to-a.from))-n2.labelBoxWidth}else a.from=Math.min(n.startx,a.from),a.to=Math.max(n.stopx,a.to),a.width=Math.max(a.width,n.width)-n2.labelBoxWidth}))}),n3.activations=[],z.debug("Loop type widths:",o),o},oc={bounds:n3,drawActors:n9,drawActorsPopup:ot,setConf:oe,draw:function(t,e,i,r){let a,{securityLevel:s,sequence:n}=eW();n2=n,"sandbox"===s&&(a=(0,x.Ltv)("#i"+e));let o="sandbox"===s?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),l="sandbox"===s?a.nodes()[0].contentDocument:document;n3.init(),z.debug(r.db);let h="sandbox"===s?o.select(`[id="${e}"]`):(0,x.Ltv)(`[id="${e}"]`),u=r.db.getActors(),d=r.db.getActorKeys(),p=r.db.getMessages(),g=r.db.getDiagramTitle(),y=function(t,e,i){let r={};return e.forEach(function(e){if(t[e.to]&&t[e.from]){let a=t[e.to];if(e.placement===i.db.PLACEMENT.LEFTOF&&!a.prevActor||e.placement===i.db.PLACEMENT.RIGHTOF&&!a.nextActor)return;let s=void 0!==e.placement,n=!s,o=s?n6(n2):n5(n2),l=e.wrap?eF.wrapLabel(e.message,n2.width-2*n2.wrapPadding,o):e.message,h=eF.calculateTextDimensions(l,o).width+2*n2.wrapPadding;n&&e.from===a.nextActor?r[e.to]=Math.max(r[e.to]||0,h):n&&e.from===a.prevActor?r[e.from]=Math.max(r[e.from]||0,h):n&&e.from===e.to?(r[e.from]=Math.max(r[e.from]||0,h/2),r[e.to]=Math.max(r[e.to]||0,h/2)):e.placement===i.db.PLACEMENT.RIGHTOF?r[e.from]=Math.max(r[e.from]||0,h):e.placement===i.db.PLACEMENT.LEFTOF?r[a.prevActor]=Math.max(r[a.prevActor]||0,h):e.placement===i.db.PLACEMENT.OVER&&(a.prevActor&&(r[a.prevActor]=Math.max(r[a.prevActor]||0,h/2)),a.nextActor&&(r[e.from]=Math.max(r[e.from]||0,h/2)))}}),z.debug("maxMessageWidthPerActor:",r),r}(u,p,r);n2.height=function(t,e){let i=0;for(let r in Object.keys(t).forEach(e=>{let r=t[e];r.wrap&&(r.description=eF.wrapLabel(r.description,n2.width-2*n2.wrapPadding,n8(n2)));let a=eF.calculateTextDimensions(r.description,n8(n2));r.width=r.wrap?n2.width:Math.max(n2.width,a.width+2*n2.wrapPadding),r.height=r.wrap?Math.max(a.height,n2.height):n2.height,i=Math.max(i,r.height)}),e){let i=t[r];if(!i)continue;let a=t[i.nextActor];if(!a)continue;let s=e[r]+n2.actorMargin-i.width/2-a.width/2;i.margin=Math.max(s,n2.actorMargin)}return Math.max(i,n2.height)}(u,y),n0.insertComputerIcon(h),n0.insertDatabaseIcon(h),n0.insertClockIcon(h),n9(h,u,d,0,n2,p);let f=ol(p,u,y,r);n0.insertArrowHead(h),n0.insertArrowCrossHead(h),n0.insertArrowFilledHead(h),n0.insertSequenceNumber(h);let m=1,b=1,k=[];p.forEach(function(t){let e,i;switch(t.type){case r.db.LINETYPE.NOTE:n4(h,t.noteModel);break;case r.db.LINETYPE.ACTIVE_START:n3.newActivation(t,h,u);break;case r.db.LINETYPE.ACTIVE_END:var a=n3.getVerticalPos();let s=n3.endActivation(t);s.starty+18>a&&(s.starty=a-6,a+=12),n0.drawActivation(h,s,a,n2,oi(t.from.actor).length),n3.insert(s.startx,a-10,s.stopx,a);break;case r.db.LINETYPE.LOOP_START:oa(f,t,n2.boxMargin,n2.boxMargin+n2.boxTextMargin,t=>n3.newLoop(t));break;case r.db.LINETYPE.LOOP_END:e=n3.endLoop(),n0.drawLoop(h,e,"loop",n2),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos()),n3.models.addLoop(e);break;case r.db.LINETYPE.RECT_START:oa(f,t,n2.boxMargin,n2.boxMargin,t=>n3.newLoop(void 0,t.message));break;case r.db.LINETYPE.RECT_END:e=n3.endLoop(),n0.drawBackgroundRect(h,e),n3.models.addLoop(e),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos());break;case r.db.LINETYPE.OPT_START:oa(f,t,n2.boxMargin,n2.boxMargin+n2.boxTextMargin,t=>n3.newLoop(t));break;case r.db.LINETYPE.OPT_END:e=n3.endLoop(),n0.drawLoop(h,e,"opt",n2),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos()),n3.models.addLoop(e);break;case r.db.LINETYPE.ALT_START:oa(f,t,n2.boxMargin,n2.boxMargin+n2.boxTextMargin,t=>n3.newLoop(t));break;case r.db.LINETYPE.ALT_ELSE:oa(f,t,n2.boxMargin+n2.boxTextMargin,n2.boxMargin,t=>n3.addSectionToLoop(t));break;case r.db.LINETYPE.ALT_END:e=n3.endLoop(),n0.drawLoop(h,e,"alt",n2),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos()),n3.models.addLoop(e);break;case r.db.LINETYPE.PAR_START:oa(f,t,n2.boxMargin,n2.boxMargin+n2.boxTextMargin,t=>n3.newLoop(t));break;case r.db.LINETYPE.PAR_AND:oa(f,t,n2.boxMargin+n2.boxTextMargin,n2.boxMargin,t=>n3.addSectionToLoop(t));break;case r.db.LINETYPE.PAR_END:e=n3.endLoop(),n0.drawLoop(h,e,"par",n2),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos()),n3.models.addLoop(e);break;case r.db.LINETYPE.AUTONUMBER:m=t.message.start||m,b=t.message.step||b,t.message.visible?r.db.enableSequenceNumbers():r.db.disableSequenceNumbers();break;case r.db.LINETYPE.CRITICAL_START:oa(f,t,n2.boxMargin,n2.boxMargin+n2.boxTextMargin,t=>n3.newLoop(t));break;case r.db.LINETYPE.CRITICAL_OPTION:oa(f,t,n2.boxMargin+n2.boxTextMargin,n2.boxMargin,t=>n3.addSectionToLoop(t));break;case r.db.LINETYPE.CRITICAL_END:e=n3.endLoop(),n0.drawLoop(h,e,"critical",n2),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos()),n3.models.addLoop(e);break;case r.db.LINETYPE.BREAK_START:oa(f,t,n2.boxMargin,n2.boxMargin+n2.boxTextMargin,t=>n3.newLoop(t));break;case r.db.LINETYPE.BREAK_END:e=n3.endLoop(),n0.drawLoop(h,e,"break",n2),n3.bumpVerticalPos(e.stopy-n3.getVerticalPos()),n3.models.addLoop(e);break;default:try{(i=t.msgModel).starty=n3.getVerticalPos(),i.sequenceIndex=m,i.sequenceVisible=r.db.showSequenceNumbers();let e=function(t,e){let i;n3.bumpVerticalPos(10);let{startx:r,stopx:a,message:s}=e,n=K.splitBreaks(s).length,o=eF.calculateTextDimensions(s,n5(n2)),l=o.height/n;e.height+=l,n3.bumpVerticalPos(l);let h=o.height-10,u=o.width;if(r===a){i=n3.getVerticalPos()+h,n2.rightAngles||(h+=n2.boxMargin,i=n3.getVerticalPos()+h),h+=30;let t=Math.max(u/2,n2.width/2);n3.insert(r-t,n3.getVerticalPos()-10+h,a+t,n3.getVerticalPos()+30+h)}else h+=n2.boxMargin,i=n3.getVerticalPos()+h,n3.insert(r,i-10,a,i);return n3.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,n3.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),i}(0,i);k.push({messageModel:i,lineStartY:e}),n3.models.addMessage(i)}catch(t){z.error("error while drawing message",t)}}[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(m+=b)}
1127),k.forEach(t=>n7(h,t.messageModel,t.lineStartY,r)),n2.mirrorActors&&(n3.bumpVerticalPos(2*n2.boxMargin),n9(h,u,d,n3.getVerticalPos(),n2,p),n3.bumpVerticalPos(n2.boxMargin),nG(h,n3.getVerticalPos()));let _=ot(h,u,d,l),{bounds:C}=n3.getBounds();z.debug("For line height fix Querying: #"+e+" .actor-line"),(0,x.Ubm)("#"+e+" .actor-line").attr("y2",C.stopy);let T=C.stopy-C.starty;T<_.maxHeight&&(T=_.maxHeight);let E=T+2*n2.diagramMarginY;n2.mirrorActors&&(E=E-n2.boxMargin+n2.bottomMarginAdj);let v=C.stopx-C.startx;v<_.maxWidth&&(v=_.maxWidth);let A=v+2*n2.diagramMarginX;g&&h.append("text").text(g).attr("x",(C.stopx-C.startx)/2-2*n2.diagramMarginX).attr("y",-25),eZ(h,E,A,n2.useMaxWidth);let S=40*!!g;h.attr("viewBox",C.startx-n2.diagramMarginX+" -"+(n2.diagramMarginY+S)+" "+A+" "+(E+S)),z.debug("models:",n3.models)}};var oh=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,2],i=[1,3],r=[1,5],a=[1,7],s=[2,5],n=[1,15],o=[1,17],l=[1,21],h=[1,22],u=[1,23],d=[1,24],p=[1,37],g=[1,25],y=[1,26],f=[1,27],m=[1,28],b=[1,29],x=[1,32],k=[1,33],_=[1,34],C=[1,35],T=[1,36],E=[1,39],v=[1,40],A=[1,41],S=[1,42],w=[1,38],L=[1,45],B=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],I=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],D=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],O=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],F={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 4:return r.setRootDoc(s[o]),s[o];case 5:this.$=[];break;case 6:"nl"!=s[o]&&(s[o-1].push(s[o]),this.$=s[o-1]);break;case 7:case 8:case 12:this.$=s[o];break;case 9:this.$="nl";break;case 13:let l=s[o-1];l.description=r.trimColon(s[o]),this.$=l;break;case 14:this.$={stmt:"relation",state1:s[o-2],state2:s[o]};break;case 15:let h=r.trimColon(s[o]);this.$={stmt:"relation",state1:s[o-3],state2:s[o-1],description:h};break;case 19:this.$={stmt:"state",id:s[o-3],type:"default",description:"",doc:s[o-1]};break;case 20:var u=s[o],d=s[o-2].trim();if(s[o].match(":")){var p=s[o].split(":");u=p[0],d=[d,p[1]]}this.$={stmt:"state",id:u,type:"default",description:d};break;case 21:this.$={stmt:"state",id:s[o-3],type:"default",description:s[o-5],doc:s[o-1]};break;case 22:this.$={stmt:"state",id:s[o],type:"fork"};break;case 23:this.$={stmt:"state",id:s[o],type:"join"};break;case 24:this.$={stmt:"state",id:s[o],type:"choice"};break;case 25:this.$={stmt:"state",id:r.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:s[o-1].trim(),note:{position:s[o-2].trim(),text:s[o].trim()}};break;case 30:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 31:case 32:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:s[o-1].trim(),classes:s[o].trim()};break;case 35:this.$={stmt:"applyClass",id:s[o-1].trim(),styleClass:s[o].trim()};break;case 38:r.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:r.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:r.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:r.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:s[o].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:s[o-2].trim(),classes:[s[o].trim()],type:"default",description:""};break;case 50:r.parseDirective("%%{","open_directive");break;case 51:r.parseDirective(s[o],"type_directive");break;case 52:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 53:r.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:e,5:i,6:4,7:r,45:6,60:a},{1:[3]},{3:8,4:e,5:i,6:4,7:r,45:6,60:a},{3:9,4:e,5:i,6:4,7:r,45:6,60:a},{3:10,4:e,5:i,6:4,7:r,45:6,60:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],s,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:n,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:h,19:u,22:d,24:p,25:g,26:y,27:f,28:m,29:b,32:31,33:x,35:k,37:_,38:C,42:T,45:6,50:E,51:v,52:A,53:S,56:w,60:a},{47:43,48:[1,44],63:L},t([48,63],[2,51]),t(B,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:l,17:h,19:u,22:d,24:p,25:g,26:y,27:f,28:m,29:b,32:31,33:x,35:k,37:_,38:C,42:T,45:6,50:E,51:v,52:A,53:S,56:w,60:a},t(B,[2,8]),t(B,[2,9]),t(B,[2,10]),t(B,[2,11]),t(B,[2,12],{14:[1,47],15:[1,48]}),t(B,[2,16]),{18:[1,49]},t(B,[2,18],{20:[1,50]}),{23:[1,51]},t(B,[2,22]),t(B,[2,23]),t(B,[2,24]),t(B,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(B,[2,28]),t(B,[2,29]),{34:[1,56]},{36:[1,57]},t(B,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(I,[2,44],{57:[1,61]}),t(I,[2,45],{57:[1,62]}),t(B,[2,38]),t(B,[2,39]),t(B,[2,40]),t(B,[2,41]),t(D,[2,36]),{49:63,62:[1,64]},t(D,[2,53]),t(B,[2,7]),t(B,[2,13]),{13:65,24:p,56:w},t(B,[2,17]),t(O,s,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(B,[2,30]),t(B,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:L},{63:[2,52]},t(B,[2,14],{14:[1,76]}),{4:n,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:h,19:u,21:[1,77],22:d,24:p,25:g,26:y,27:f,28:m,29:b,32:31,33:x,35:k,37:_,38:C,42:T,45:6,50:E,51:v,52:A,53:S,56:w,60:a},t(B,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]}
1127,t(B,[2,33]),t(B,[2,34]),t(B,[2,35]),t(I,[2,46]),t(I,[2,47]),t(D,[2,37]),t(B,[2,15]),t(B,[2,19]),t(O,s,{8:81}),t(B,[2,26]),t(B,[2,27]),{4:n,5:o,6:30,9:14,10:16,11:18,12:19,13:20,16:l,17:h,19:u,21:[1,82],22:d,24:p,25:g,26:y,27:f,28:m,29:b,32:31,33:x,35:k,37:_,38:C,42:T,45:6,50:E,51:v,52:A,53:S,56:w,60:a},t(B,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function N(){this.yy={}}return F.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1127,performAction:function(t,e,i,r){switch(i){case 0:return 41;case 1:case 44:return 50;case 2:case 45:return 51;case 3:case 46:return 52;case 4:case 47:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:case 11:case 13:case 14:case 15:case 16:case 56:case 58:case 64:break;case 12:case 79:return 5;case 17:case 34:return this.pushState("SCALE"),17;case 18:case 35:return 18;case 19:case 25:case 36:case 51:case 54:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 26:return"acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 37:this.pushState("STATE");break;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 39:case 42:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 40:case 43:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 48:this.begin("STATE_STRING");break;case 49:return this.popState(),this.pushState("STATE_ID"),"AS";case 50:case 66:return this.popState(),"ID";case 52:return"STATE_DESCR";case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 57:return this.popState(),21;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:return"NOTE_TEXT";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 69:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 70:case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return e.yytext=e.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 80: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,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\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:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}},N.prototype=F,F.Parser=N,new N}();oh.parser=oh;let ou=(t,e)=>{var i;return(null==(i=null==e?void 0:e.state)?void 0:i.defaultRenderer)!=="dagre-wrapper"&&null!==t.match(/^\s*stateDiagram/)},od=(t,e)=>{var i;return!!(null!==t.match(/^\s*stateDiagram-v2/)||t.match(/^\s*stateDiagram/)&&(null==(i=null==e?void 0:e.state)?void 0:i.defaultRenderer)==="dagre-wrapper")},op="TB",og="state",oy="relation",of="default",om="divider",ob="start",ox="color",ok="fill",o_="LR",oC=[],oT={},oE=()=>({relations:[],states:{},documents:{}}),ov={root:oE()},oA=ov.root,oS=0,ow=0,oL=t=>JSON.parse(JSON.stringify(t)),oB=(t,e,i)=>{if(e.stmt===oy)oB(t,e.state1,!0),oB(t,e.state2,!1);else if(e.stmt===og&&"[*]"===e.id&&(e.id=i?t.id+"_start":t.id+"_end",e.
1127start=i),e.doc){let t,i=[],r=[];for(t=0;t<e.doc.length;t++)if(e.doc[t].type===om){let a=oL(e.doc[t]);a.doc=oL(r),i.push(a),r=[]}else r.push(e.doc[t]);if(i.length>0&&r.length>0){let t={stmt:og,id:(eC++,"id-"+Math.random().toString(36).substr(2,12)+"-"+eC),type:"divider",doc:oL(r)};i.push(oL(t)),e.doc=i}e.doc.forEach(t=>oB(e,t,!0))}},oI=function(t,e=of,i=null,r=null,a=null,s=null,n=null,o=null){void 0===oA.states[t]?(z.info("Adding state ",t,r),oA.states[t]={id:t,descriptions:[],type:e,doc:i,note:a,classes:[],styles:[],textStyles:[]}):(oA.states[t].doc||(oA.states[t].doc=i),oA.states[t].type||(oA.states[t].type=e)),r&&(z.info("Setting state description",t,r),"string"==typeof r&&o$(t,r.trim()),"object"==typeof r&&r.forEach(e=>o$(t,e.trim()))),a&&(oA.states[t].note=a,oA.states[t].note.text=K.sanitizeText(oA.states[t].note.text,eW())),s&&(z.info("Setting state classes",t,s),("string"==typeof s?[s]:s).forEach(e=>oP(t,e.trim()))),n&&(z.info("Setting state styles",t,n),("string"==typeof n?[n]:n).forEach(e=>oz(t,e.trim()))),o&&(z.info("Setting state styles",t,n),("string"==typeof o?[o]:o).forEach(e=>oY(t,e.trim())))},oD=function(t){oA=(ov={root:oE()}).root,oS=0,oT={},t||ig()},oO=function(t){return oA.states[t]};function oF(t=""){let e=t;return"[*]"===t&&(oS++,e=`${ob}${oS}`),e}function oN(t="",e=of){return"[*]"===t?ob:e}let oR=function(t,e,i){if("object"==typeof t){let r,a,s,n;r=oF(t.id),a=oN(t.id,t.type),s=oF(e.id),n=oN(e.id,e.type),oI(r,a,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),oI(s,n,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),oA.relations.push({id1:r,id2:s,relationTitle:K.sanitizeText(i,eW())})}else{let r=oF(t),a=oN(t),s=function(t=""){let e=t;return"[*]"===t&&(oS++,e=`end${oS}`),e}(e),n=function(t="",e=of){return"[*]"===t?"end":e}(e);oI(r,a),oI(s,n),oA.relations.push({id1:r,id2:s,title:K.sanitizeText(i,eW())})}},o$=function(t,e){let i=oA.states[t],r=e.startsWith(":")?e.replace(":","").trim():e;i.descriptions.push(K.sanitizeText(r,eW()))},oM=function(t,e=""){void 0===oT[t]&&(oT[t]={id:t,styles:[],textStyles:[]});let i=oT[t];null!=e&&e.split(",").forEach(t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(t.match(ox)){let t=e.replace(ok,"bgFill").replace(ox,ok);i.textStyles.push(t)}i.styles.push(e)})},oP=function(t,e){t.split(",").forEach(function(t){let i=oO(t);if(void 0===i){let e=t.trim();oI(e),i=oO(e)}i.classes.push(e)})},oz=function(t,e){let i=oO(t);void 0!==i&&i.textStyles.push(e)},oY=function(t,e){let i=oO(t);void 0!==i&&i.textStyles.push(e)},oj={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().state,addState:oI,clear:oD,getState:oO,getStates:function(){return oA.states},getRelations:function(){return oA.relations},getClasses:function(){return oT},getDirection:()=>o_,addRelation:oR,getDividerId:()=>"divider-id-"+ ++ow,setDirection:t=>{o_=t},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){z.info("Documents = ",ov)},getRootDoc:()=>oC,setRootDoc:t=>{z.info("Setting root doc",t),oC=t},getRootDocV2:()=>(oB({id:"root"},{id:"root",doc:oC},!0),{id:"root",doc:oC}),extract:t=>{let e;e=t.doc?t.doc:t,z.info(e),oD(!0),z.info("Extract",e),e.forEach(t=>{switch(t.stmt){case og:oI(t.id,t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case oy:oR(t.state1,t.state2,t.description);break;case"classDef":oM(t.id,t.classes);break;case"applyClass":oP(t.id,t.styleClass)}})},trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:im,setAccTitle:iy,getAccDescription:ix,setAccDescription:ib,addStyleClass:oM,setCssClass:oP,addDescription:o$,setDiagramTitle:ik,getDiagramTitle:i_},oW={},oq={set:(t,e)=>{oW[t]=e}},oU=(t,e,i)=>{let r,a=eW().state.padding,s=2*eW().state.padding,n=t.node().getBBox(),o=n.width,l=n.x,h=t.append("text").attr("x",0).attr("y",eW().state.titleShift).attr("font-size",eW().state.fontSize).attr("class","state-title").text(e.id),u=h.node().getBBox().width+s,d=Math.max(u,o);d===o&&(d+=s);let p=t.node().getBBox();e.doc,r=l-a,u>o&&(r=(o-d)/2+a),Math.abs(l-p.x)<a&&u>o&&(r=l-(u-o)/2);let g=1-eW().state.textHeight;return t.insert("rect",":first-child").attr("x",r).attr("y",g).attr("class",i?"alt-composit":"composit").attr("width",d).attr("height",p.height+eW().state.textHeight+eW().state.titleShift+1).attr("rx","0"),h.attr("x",r+a),u<=o&&h.attr("x",l+(d-s)/2-u/2+a),t.insert("rect",":first-child").attr("x",r).attr("y",eW().state.titleShift-eW().state.textHeight-eW().state.padding).attr("width",d).attr("height",3*eW().state.textHeight).attr("rx",eW().state.radius),t.insert("rect",":first-child").attr("x",r).attr("y",eW().state.titleShift-eW().state.textHeight-eW().state.padding).attr("width",d).attr("height",p.height+3+2*eW().state.textHeight).attr("rx",eW().state.radius),t},oV=function(t,e){let i=e.id,r={id:i,label:e.id,width:0,height:0}
1127,a=t.append("g").attr("id",i).attr("class","stateGroup");"start"===e.type&&a.append("circle").attr("class","start-state").attr("r",eW().state.sizeUnit).attr("cx",eW().state.padding+eW().state.sizeUnit).attr("cy",eW().state.padding+eW().state.sizeUnit),"end"===e.type&&(a.append("circle").attr("class","end-state-outer").attr("r",eW().state.sizeUnit+eW().state.miniPadding).attr("cx",eW().state.padding+eW().state.sizeUnit+eW().state.miniPadding).attr("cy",eW().state.padding+eW().state.sizeUnit+eW().state.miniPadding),a.append("circle").attr("class","end-state-inner").attr("r",eW().state.sizeUnit).attr("cx",eW().state.padding+eW().state.sizeUnit+2).attr("cy",eW().state.padding+eW().state.sizeUnit+2)),("fork"===e.type||"join"===e.type)&&((t,e)=>{let i=eW().state.forkWidth,r=eW().state.forkHeight;if(e.parentId){let t=i;i=r,r=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",r).attr("x",eW().state.padding).attr("y",eW().state.padding)})(a,e),"note"===e.type&&((t,e)=>{e.attr("class","state-note");let i=e.append("rect").attr("x",0).attr("y",eW().state.padding),{textWidth:r,textHeight:a}=((t,e,i,r)=>{let a=0,s=r.append("text");s.style("text-anchor","start"),s.attr("class","noteText");let n=t.replace(/\r\n/g,"<br/>"),o=(n=n.replace(/\n/g,"<br/>")).split(K.lineBreakRegex),l=1.25*eW().state.noteMargin;for(let t of o){let r=t.trim();if(r.length>0){let t=s.append("tspan");t.text(r),0===l&&(l+=t.node().getBBox().height),a+=l,t.attr("x",e+eW().state.noteMargin),t.attr("y",i+a+1.25*eW().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:a}})(t,0,0,e.append("g"));return i.attr("height",a+2*eW().state.noteMargin),i.attr("width",r+2*eW().state.noteMargin)})(e.note.text,a),"divider"===e.type&&a.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",eW().state.textHeight).attr("class","divider").attr("x2",2*eW().state.textHeight).attr("y1",0).attr("y2",0),"default"===e.type&&0===e.descriptions.length&&((t,e)=>{let i=t.append("text").attr("x",2*eW().state.padding).attr("y",eW().state.textHeight+2*eW().state.padding).attr("font-size",eW().state.fontSize).attr("class","state-title").text(e.id).node().getBBox();return t.insert("rect",":first-child").attr("x",eW().state.padding).attr("y",eW().state.padding).attr("width",i.width+2*eW().state.padding).attr("height",i.height+2*eW().state.padding).attr("rx",eW().state.radius)})(a,e),"default"===e.type&&e.descriptions.length>0&&((t,e)=>{let i=function(t,e,i){let r=t.append("tspan").attr("x",2*eW().state.padding).text(e);i||r.attr("dy",eW().state.textHeight)},r=t.append("text").attr("x",2*eW().state.padding).attr("y",eW().state.textHeight+1.3*eW().state.padding).attr("font-size",eW().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=r.height,s=t.append("text").attr("x",eW().state.padding).attr("y",a+.4*eW().state.padding+eW().state.dividerMargin+eW().state.textHeight).attr("class","state-description"),n=!0,o=!0;e.descriptions.forEach(function(t){n||(i(s,t,o),o=!1),n=!1});let l=t.append("line").attr("x1",eW().state.padding).attr("y1",eW().state.padding+a+eW().state.dividerMargin/2).attr("y2",eW().state.padding+a+eW().state.dividerMargin/2).attr("class","descr-divider"),h=s.node().getBBox(),u=Math.max(h.width,r.width);return l.attr("x2",u+3*eW().state.padding),t.insert("rect",":first-child").attr("x",eW().state.padding).attr("y",eW().state.padding).attr("width",u+2*eW().state.padding).attr("height",h.height+a+2*eW().state.padding).attr("rx",eW().state.radius)})(a,e);let s=a.node().getBBox();return r.width=s.width+2*eW().state.padding,r.height=s.height+2*eW().state.padding,oq.set(i,r),r},oH=0,oG=function(t,e,i){e.points=e.points.filter(t=>!Number.isNaN(t.y));let r=e.points,a=(0,x.n8j)().x(function(t){return t.x}).y(function(t){return t.y}).curve(x.qrM),s=t.append("path").attr("d",a(r)).attr("id","edge"+oH).attr("class","transition"),n="";if(eW().state.arrowMarkerAbsolute&&(n=(n=(n=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),s.attr("marker-end","url("+n+"#"+function(t){switch(t){case oj.relationType.AGGREGATION:return"aggregation";case oj.relationType.EXTENSION:return"extension";case oj.relationType.COMPOSITION:return"composition";case oj.relationType.DEPENDENCY:return"dependency"}}(oj.relationType.DEPENDENCY)+"End)"),void 0!==i.title){let r=t.append("g").attr("class","stateLabel"),{x:a,y:s}=eF.calcLabelPosition(e.points),n=K.getRows(i.title),o=0,l=[],h=0,u=0;for(let t=0;t<=n.length;t++){let e=r.append("text").attr("text-anchor","middle").text(n[t]).attr("x",a).attr("y",s+o),i=e.node().getBBox();h=Math.max(h,i.width),u=Math.min(u,i.x),z.info(i.x,a,s+o),0===o&&(o=e.node().getBBox().height,z.info("Title height",o,s)),l.push(e)}let d=o*n.length;if(n.length>1){let t=(n.length-1)*o*.5;l.forEach((e,i)=>e.attr("y",s+i*o-t)),d=o*n.length}let p=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",a-h/2-eW().state.padding/2).attr("y",s-d/2-eW().state.padding/2-3.5).attr("width",h+eW().state.padding).attr("height",d+eW().state.padding),z.info(p
1127)}oH++},oX={},oK=function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},oQ=(t,e,i,r,a,s,n)=>{let o,l=new B.T({compound:!0,multigraph:!0}),h=!0;for(o=0;o<t.length;o++)if("relation"===t[o].stmt){h=!1;break}i?l.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:h?1:p.edgeLengthFactor,nodeSep:h?1:50,isMultiGraph:!0}):l.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:h?1:p.edgeLengthFactor,nodeSep:h?1:50,ranker:"tight-tree",isMultiGraph:!0}),l.setDefaultEdgeLabel(function(){return{}}),n.db.extract(t);let u=n.db.getStates(),d=n.db.getRelations();for(let t of Object.keys(u)){let o,h=u[t];if(i&&(h.parentId=i),h.doc){let t=e.append("g").attr("id",h.id).attr("class","stateGroup");o=oQ(h.doc,t,h.id,!r,a,s,n);{let e=(t=oU(t,h,r)).node().getBBox();o.width=e.width,o.height=e.height+p.padding/2,oX[h.id]={y:p.compositTitleSize}}}else o=oV(e,h);if(h.note){let t=oV(e,{descriptions:[],id:h.id+"-note",note:h.note,type:"note"});"left of"===h.note.position?(l.setNode(o.id+"-note",t),l.setNode(o.id,o)):(l.setNode(o.id,o),l.setNode(o.id+"-note",t)),l.setParent(o.id,o.id+"-group"),l.setParent(o.id+"-note",o.id+"-group")}else l.setNode(o.id,o)}z.debug("Count=",l.nodeCount(),l);let g=0;d.forEach(function(t){let e;g++,z.debug("Setting edge",t),l.setEdge(t.id1,t.id2,{relation:t,width:(e=t.title)?e.length*p.fontSizeFactor:1,height:p.labelHeight*K.getRows(t.title).length,labelpos:"c"},"id"+g)}),(0,L.Zp)(l),z.debug("Graph after layout",l.nodes());let y=e.node();l.nodes().forEach(function(t){void 0!==t&&void 0!==l.node(t)?(z.warn("Node "+t+": "+JSON.stringify(l.node(t))),a.select("#"+y.id+" #"+t).attr("transform","translate("+(l.node(t).x-l.node(t).width/2)+","+(l.node(t).y+(oX[t]?oX[t].y:0)-l.node(t).height/2)+" )"),a.select("#"+y.id+" #"+t).attr("data-x-shift",l.node(t).x-l.node(t).width/2),s.querySelectorAll("#"+y.id+" #"+t+" .divider").forEach(t=>{let e=t.parentElement,i=0,r=0;e&&(e.parentElement&&(i=e.parentElement.getBBox().width),Number.isNaN(r=parseInt(e.getAttribute("data-x-shift"),10))&&(r=0)),t.setAttribute("x1",0-r+8),t.setAttribute("x2",i-r-8)})):z.debug("No Node "+t+": "+JSON.stringify(l.node(t)))});let f=y.getBBox();
1127l.edges().forEach(function(t){void 0!==t&&void 0!==l.edge(t)&&(z.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(l.edge(t))),oG(e,l.edge(t),l.edge(t).relation))});let m={id:i||"root",label:i||"root",width:0,height:0};return m.width=(f=y.getBBox()).width+2*p.padding,m.height=f.height+2*p.padding,z.debug("Doc rendered",m,l),m},oZ={setConf:function(){},draw:function(t,e,i,r){let a;p=eW().state;let s=eW().securityLevel;"sandbox"===s&&(a=(0,x.Ltv)("#i"+e));let n="sandbox"===s?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),o="sandbox"===s?a.nodes()[0].contentDocument:document;z.debug("Rendering diagram "+t);let l=n.select(`[id='${e}']`);oK(l),new B.T({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel(function(){return{}}),oQ(r.db.getRootDoc(),l,void 0,!1,n,o,r);let h=p.padding,u=l.node().getBBox(),d=u.width+2*h,g=u.height+2*h;eZ(l,g,1.75*d,p.useMaxWidth),l.attr("viewBox",`${u.x-p.padding}  ${u.y-p.padding} `+d+" "+g)}},oJ="rect",o1="rectWithTitle",o0="statediagram",o2=`${o0}-state`,o3="transition",o4=`${o3} note-edge`,o5=`${o0}-note`,o6=`${o0}-cluster`,o8=`${o0}-cluster-alt`,o7="parent",o9="note",lt="----",le=`${lt}${o9}`,li=`${lt}${o7}`,lr="fill:none",la="fill: #333",ls="text",ln="normal",lo={},ll=0;function lc(t="",e=0,i="",r=lt){let a=null!==i&&i.length>0?`${r}${i}`:"";return`state-${t}${a}-${e}`}let lh=(t,e,i,r,a,s)=>{let n=i.id,o=function(t){return null==t?"":t.classes?t.classes.join(" "):""}(r[n]);if("root"!==n){let e=oJ;!0===i.start&&(e="start"),!1===i.start&&(e="end"),i.type!==of&&(e=i.type),lo[n]||(lo[n]={id:n,shape:e,description:K.sanitizeText(n,eW()),classes:`${o} ${o2}`});let r=lo[n];i.description&&(Array.isArray(r.description)?(r.shape=o1,r.description.push(i.description)):r.description.length>0?(r.shape=o1,r.description===n?r.description=[i.description]:r.description=[r.description,i.description]):(r.shape=oJ,r.description=i.description),r.description=K.sanitizeTextOrArray(r.description,eW())),1===r.description.length&&r.shape===o1&&(r.shape=oJ),!r.type&&i.doc&&(z.info("Setting cluster for ",n,ld(i)),r.type="group",r.dir=ld(i),r.shape=i.type===om?"divider":"roundedWithTitle",r.classes=r.classes+" "+o6+" "+(s?o8:""));let a={labelStyle:"",shape:r.shape,labelText:r.description,classes:r.classes,style:"",id:n,dir:r.dir,domId:lc(n,ll),type:r.type,padding:15};if(i.note){let e={labelStyle:"",shape:"note",labelText:i.note.text,classes:o5,style:"",id:n+le+"-"+ll,domId:lc(n,ll,o9),type:r.type,padding:15},s={labelStyle:"",shape:"noteGroup",labelText:i.note.text,classes:r.classes,style:"",id:n+li,domId:lc(n,ll,o7),type:"group",padding:0};ll++;let o=n+li;t.setNode(o,s),t.setNode(e.id,e),t.setNode(n,a),t.setParent(n,o),t.setParent(e.id,o);let l=n,h=e.id;"left of"===i.note.position&&(l=e.id,h=n),t.setEdge(l,h,{arrowhead:"none",arrowType:"",style:lr,labelStyle:"",classes:o4,arrowheadStyle:la,labelpos:"c",labelType:ls,thickness:ln})}else t.setNode(n,a)}e&&"root"!==e.id&&(z.trace("Setting node ",n," to be child of its parent ",e.id),t.setParent(n,e.id)),i.doc&&(z.trace("Adding nodes children "),lu(t,i,i.doc,r,a,!s))},lu=(t,e,i,r,a,s)=>{z.trace("items",i),i.forEach(i=>{switch(i.stmt){case og:case of:lh(t,e,i,r,a,s);break;case oy:{lh(t,e,i.state1,r,a,s),lh(t,e,i.state2,r,a,s);let n={id:"edge"+ll,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:lr,labelStyle:"",label:K.sanitizeText(i.description,eW()),arrowheadStyle:la,labelpos:"c",labelType:ls,thickness:ln,classes:o3};t.setEdge(i.state1.id,i.state2.id,n,ll),ll++}}})},ld=(t,e=op)=>{let i=e;if(t.doc)for(let e=0;e<t.doc.length;e++){let r=t.doc[e];"dir"===r.stmt&&(i=r.value)}return i},lp={setConf:function(t){for(let e of Object.keys(t))t[e]},getClasses:function(t,e){z.trace("Extracting classes"),e.db.clear();try{return e.parser.parse(t),e.db.extract(e.db.getRootDocV2()),e.db.getClasses()}catch(t){return t}},draw:function(t,e,i,r){let a;z.info("Drawing state diagram (v2)",e),lo={};let s=r.db.getDirection();void 0===s&&(s="LR");let{securityLevel:n,state:o}=eW(),l=o.nodeSpacing||50,h=o.rankSpacing||50;z.info(r.db.getRootDocV2()),r.db.extract(r.db.getRootDocV2()),z.info(r.db.getRootDocV2());let u=r.db.getStates(),d=new B.T({multigraph:!0,compound:!0}).setGraph({rankdir:ld(r.db.getRootDocV2()),nodesep:l,ranksep:h,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});lh(d,void 0,r.db.getRootDocV2(),u,r.db,!0),"sandbox"===n&&(a=(0,x.Ltv)("#i"+e));let p="sandbox"===n?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),g=p.select(`[id="${e}"]`);ax(p.select("#"+e+" g"),d,["barb"],o0,e),eF.insertTitle(g,"statediagramTitleText",o.titleTopMargin,r.db.getDiagramTitle());let y=g.node().getBBox(),f=y.width+16,m=y.height+16;g.attr("class",o0);let b=g.node().getBBox();eZ(g,m,f,o.useMaxWidth);let k=`${b.x-8} ${b.y-8} ${f} ${m}`;for(let t of(z.debug(`viewBox ${k}`),g.attr("viewBox",k),document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'))){let e=t.getBBox(),i=document.createElementNS("http://www.w3.org/2000/svg",oJ);i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height),t.insertBefore(i,t.firstChild)}}};
1127var lg=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,2],i=[1,5],r=[6,9,11,17,18,20,22,23,24,26],a=[1,15],s=[1,16],n=[1,17],o=[1,18],l=[1,19],h=[1,20],u=[1,24],d=[4,6,9,11,17,18,20,22,23,24,26],p={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,i,r,a,s,n){var o=s.length-1;switch(a){case 1:return s[o-1];case 3:case 7:case 8:this.$=[];break;case 4:s[o-1].push(s[o]),this.$=s[o-1];break;case 5:case 6:this.$=s[o];break;case 11:r.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 12:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 13:case 14:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 15:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 16:r.addTask(s[o-1],s[o]),this.$="task";break;case 18:r.parseDirective("%%{","open_directive");break;case 19:r.parseDirective(s[o],"type_directive");break;case 20:s[o]=s[o].trim().replace(/'/g,'"'),r.parseDirective(s[o],"arg_directive");break;case 21:r.parseDirective("}%%","close_directive","journey")}},table:[{3:1,4:e,7:3,12:4,26:i},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,26:i},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:a,18:s,20:n,22:o,23:l,24:h,26:i},{1:[2,2]},{14:22,15:[1,23],29:u},t([15,29],[2,19]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:21,10:25,12:4,17:a,18:s,20:n,22:o,23:l,24:h,26:i},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),{19:[1,26]},{21:[1,27]},t(r,[2,14]),t(r,[2,15]),{25:[1,28]},t(r,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},t(r,[2,5]),t(r,[2,12]),t(r,[2,13]),t(r,[2,16]),t(d,[2,9]),{14:32,29:u},{29:[2,20]},{11:[1,33]},t(d,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},parse:function(t){var e=this,i=[0],r=[],a=[null],s=[],n=this.table,o="",l=0,h=0,u=s.slice.call(arguments,1),d=Object.create(this.lexer),p={};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p[g]=this.yy[g]);d.setInput(t,p),p.lexer=d,p.parser=this,void 0===d.yylloc&&(d.yylloc={});var y=d.yylloc;s.push(y);var f=d.options&&d.options.ranges;"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,x,k,_,C,T,E,v={};;){if(b=i[i.length-1],this.defaultActions[b]?x=this.defaultActions[b]:(null==m&&(m=function(){var t;return"number"!=typeof(t=r.pop()||d.lex()||1)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}()),x=n[b]&&n[b][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in E=[],n[b])this.terminals_[_]&&_>2&&E.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:y,expected:E})}if(x[0]instanceof Array&&x.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+m);switch(x[0]){case 1:i.push(m),a.push(d.yytext),s.push(d.yylloc),i.push(x[1]),m=null,h=d.yyleng,o=d.yytext,l=d.yylineno,y=d.yylloc;break;case 2:if(C=this.productions_[x[1]][1],v.$=a[a.length-C],v._$={first_line:s[s.length-(C||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(C||1)].first_column,last_column:s[s.length-1].last_column},f&&(v._$.range=[s[s.length-(C||1)].range[0],s[s.length-1].range[1]]),void 0!==(k=this.performAction.apply(v,[o,h,l,p,x[1],a,s].concat(u))))return k;C&&(i=i.slice(0,-1*C*2),a=a.slice(0,-1*C),s=s.slice(0,-1*C)),i.push(this.productions_[x[1]][0]),a.push(v.$),s.push(v._$),T=n[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}};function g(){this.yy={}}return p.lexer={EOF:1,parseError:function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,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}
vendor: 4,427 bytes, line 1127
1127,input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var i,r,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in a)this[s]=a[s];return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,r,a=this._currentRules(),s=0;s<a.length;s++)if((i=this._input.match(this.rules[a[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,a[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>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(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0}
1127,performAction:function(t,e,i,r){switch(i){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:case 6:case 8:case 9:break;case 7:return 11;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\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:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}},g.prototype=p,p.Parser=g,new g}();lg.parser=lg;let ly=t=>null!==t.match(/^\s*journey/),lf="",lm=[],lb=[],lx=[],lk=function(){let t=[];return lb.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},l_=function(){let t=!0;for(let[e,i]of lx.entries())lx[e].processed,t=t&&i.processed;return t},lC={parseDirective:function(t,e,i){ct.parseDirective(this,t,e,i)},getConfig:()=>eW().journey,clear:function(){lm.length=0,lb.length=0,lf="",lx.length=0,ig()},setDiagramTitle:ik,getDiagramTitle:i_,setAccTitle:iy,getAccTitle:im,setAccDescription:ib,getAccDescription:ix,addSection:function(t){lf=t,lm.push(t)},getSections:function(){return lm},getTasks:function(){let t=l_(),e=0;for(;!t&&e<100;)t=l_(),e++;return lb.push(...lx),lb},addTask:function(t,e){let i=e.substr(1).split(":"),r=0,a=[];1===i.length?(r=Number(i[0]),a=[]):(r=Number(i[0]),a=i[1].split(","));let s=a.map(t=>t.trim()),n={section:lf,type:lf,people:s,task:t,score:r};lx.push(n)},addTaskOrg:function(t){let e={section:lf,type:lf,description:t,task:t,classes:[]};lb.push(e)},getActors:function(){return lk()}},lT=function(t,e){let i=t.append("rect");return i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),i.attr("rx",e.rx),i.attr("ry",e.ry),void 0!==e.class&&i.attr("class",e.class),i},lE=function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");if(r.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3){let t=(0,x.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);r.append("path").attr("class","mouth").attr("d",t).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}else if(e.score<3){let t=(0,x.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);r.append("path").attr("class","mouth").attr("d",t).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}else r.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666");return i},lv=function(t,e){let i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},lA=-1,lS=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},lw=function(){function t(t,e,i,a,s,n,o,l){r(e.append("text").attr("x",i+s/2).attr("y",a+n/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,i,a,s,n,o,l,h){let{taskFontSize:u,taskFontFamily:d}=l,p=t.split(/<br\s*\/?>/gi);for(let t=0;t<p.length;t++){let l=t*u-u*(p.length-1)/2,g=e.append("text").attr("x",i+s/2).attr("y",a).attr("fill",h).style("text-anchor","middle").style("font-size",u).style("font-family",d);g.append("tspan").attr("x",i+s/2).attr("dy",l).text(p[t]),g.attr("y",a+n/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(g,o)}}function i(t,i,a,s,n,o,l,h){let u=i.append("switch"),d=u.append("foreignObject").attr("x",a).attr("y",s).attr("width",n).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,u,a,s,n,o,l,h),r(d,l)}function r(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}
1127(),lL={drawCircle:lv,drawSection:function(t,e,i){let r=t.append("g"),a=lS();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=i.width,a.height=i.height,a.class="journey-section section-type-"+e.num,a.rx=3,a.ry=3,lT(r,a),lw(i)(e.text,r,a.x,a.y,a.width,a.height,{class:"journey-section section-type-"+e.num},i,e.colour)},drawText:function(t,e){let i=e.text.replace(/<br\s*\/?>/gi," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(i),r},drawTask:function(t,e,i){let r=e.x+i.width/2,a=t.append("g");lA++,a.append("line").attr("id","task"+lA).attr("x1",r).attr("y1",e.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),lE(a,{cx:r,cy:300+(5-e.score)*30,score:e.score});let s=lS();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=i.width,s.height=i.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,lT(a,s);let n=e.x+14;e.people.forEach(t=>{let i=e.actors[t].color;lv(a,{cx:n,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position}),n+=10}),lw(i)(e.task,a,s.x,s.y,s.width,s.height,{class:"task"},i,e.colour)},initGraphics:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}},lB={},lI=eW().journey,lD=lI.leftMargin,lO={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},updateBounds:function(t,e,i,r){let a=eW().journey,s=this,n=0;this.sequenceItems.forEach(function(o){n++;let l=s.sequenceItems.length-n+1;
1127s.updateVal(o,"starty",e-l*a.boxMargin,Math.min),s.updateVal(o,"stopy",r+l*a.boxMargin,Math.max),s.updateVal(lO.data,"startx",t-l*a.boxMargin,Math.min),s.updateVal(lO.data,"stopx",i+l*a.boxMargin,Math.max),s.updateVal(o,"startx",t-l*a.boxMargin,Math.min),s.updateVal(o,"stopx",i+l*a.boxMargin,Math.max),s.updateVal(lO.data,"starty",e-l*a.boxMargin,Math.min),s.updateVal(lO.data,"stopy",r+l*a.boxMargin,Math.max)})},insert:function(t,e,i,r){let a=Math.min(t,i),s=Math.max(t,i),n=Math.min(e,r),o=Math.max(e,r);this.updateVal(lO.data,"startx",a,Math.min),this.updateVal(lO.data,"starty",n,Math.min),this.updateVal(lO.data,"stopx",s,Math.max),this.updateVal(lO.data,"stopy",o,Math.max),this.updateBounds(a,n,s,o)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},lF=lI.sectionFills,lN=lI.sectionColours,lR=function(t,e,i){let r=eW().journey,a="",s=i+(2*r.height+r.diagramMarginY),n=0,o="#CCC",l="black",h=0;for(let[i,u]of e.entries()){if(a!==u.section){o=lF[n%lF.length],h=n%lF.length,l=lN[n%lN.length];let e={x:i*r.taskMargin+i*r.width+lD,y:50,text:u.section,fill:o,num:h,colour:l};lL.drawSection(t,e,r),a=u.section,n++}let e=u.people.reduce((t,e)=>(lB[e]&&(t[e]=lB[e]),t),{});u.x=i*r.taskMargin+i*r.width+lD,u.y=s,u.width=r.diagramMarginX,u.height=r.diagramMarginY,u.colour=l,u.fill=o,u.num=h,u.actors=e,lL.drawTask(t,u,r),lO.insert(u.x,u.y,u.x+u.width+r.taskMargin,450)}},l$={setConf:function(t){Object.keys(t).forEach(function(e){lI[e]=t[e]})},draw:function(t,e,i,r){let a,s=eW().journey;r.db.clear(),r.parser.parse(t+"\n");let n=eW().securityLevel;"sandbox"===n&&(a=(0,x.Ltv)("#i"+e));let o="sandbox"===n?(0,x.Ltv)(a.nodes()[0].contentDocument.body):(0,x.Ltv)("body");lO.init();let l=o.select("#"+e);lL.initGraphics(l);let h=r.db.getTasks(),u=r.db.getDiagramTitle(),d=r.db.getActors();for(let t in lB)delete lB[t];let p=0;d.forEach(t=>{lB[t]={color:s.actorColours[p%s.actorColours.length],position:p},p++});let g=eW().journey,y=60;
1127Object.keys(lB).forEach(t=>{let e=lB[t].color,i={cx:20,cy:y,r:7,fill:e,stroke:"#000",pos:lB[t].position};lL.drawCircle(l,i);let r={x:40,y:y+7,fill:"#666",text:t,textMargin:5|g.boxTextMargin};lL.drawText(l,r),y+=20}),lO.insert(0,0,lD,50*Object.keys(lB).length),lR(l,h,0);let f=lO.getBounds();u&&l.append("text").text(u).attr("x",lD).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let m=f.stopy-f.starty+2*s.diagramMarginY,b=lD+f.stopx+2*s.diagramMarginX;eZ(l,m,b,s.useMaxWidth),l.append("line").attr("x1",lD).attr("y1",4*s.height).attr("x2",b-lD-4).attr("y2",4*s.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let k=70*!!u;l.attr("viewBox",`${f.startx} -25 ${b} ${m+k}`),l.attr("preserveAspectRatio","xMinYMin meet"),l.attr("height",m+k+25)}},lM={},lP={setConf:function(t){lM={...lM,...t}},draw:(t,e,i)=>{try{z.debug("Renering svg for syntax error\n");let t=(0,x.Ltv)("#"+e),r=t.append("g");r.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),r.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),r.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),r.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.
1127164-16,16v32c0,8.836 7.156,16 16,16z"),r.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),r.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),r.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),r.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+i),t.attr("height",100),t.attr("width",500),t.attr("viewBox","768 0 912 512")}catch(t){z.error("Error while rendering info diagram"),z.error(function(t){return t instanceof Error?t.message:String(t)}(t))}}},lz=!1,lY=()=>{lz||(lz=!0,is("error",{db:{clear:()=>{}},styles:e2,renderer:lP,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},t=>"error"===t.toLowerCase().trim()),is("c4",{parser:iG,db:i7,renderer:r_,styles:ie,init:t=>{r_.setConf(t.c4)}},iX),is("class",{parser:rC,db:rz,renderer:rZ,styles:e1,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,rz.clear()}},rT),is("classDiagram",{parser:rC,db:rz,renderer:aA,styles:e1,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,rz.clear()}},rE),is("er",{parser:aS,db:aD,renderer:aq,styles:e0},aw),is("gantt",{parser:sg,db:sH,renderer:sX,styles:e4},sy),is("info",{parser:sK,db:sJ,renderer:s1,styles:e5},s0),is("pie",{parser:s2,db:s6,renderer:s7,styles:e6},s3),is("requirement",{parser:s9,db:nn,renderer:nm,styles:e8},nt),is("sequence",{parser:nb,db:nR,renderer:oc,styles:e7,init:t=>{if(t.sequence||(t.sequence={}),t.sequence.arrowMarkerAbsolute=t.arrowMarkerAbsolute,"sequenceDiagram"in t)throw Error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.");nR.setWrap(t.wrap),oc.setConf(t.sequence)}},nx),is("state",{parser:oh,db:oj,renderer:oZ,styles:e9,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,oj.clear()}},ou),is("stateDiagram",{parser:oh,db:oj,renderer:lp,styles:e9,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,oj.clear()}},od),is("journey",{parser:lg,db:lC,renderer:l$,styles:it,init:t=>{l$.setConf(t.journey),lC.clear()}},ly),is("flowchart",{parser:aU,db:so,renderer:sp,styles:e3,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,sc.setConf(t.flowchart),so.clear(),so.setGen("gen-1")}},aV),is("flowchart-v2",{parser:aU,db:so,renderer:sp,styles:e3,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,ej({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),sp.setConf(t.flowchart),so.clear(),so.setGen("gen-2")}},aH),is("gitGraph",{parser:il,db:i$,renderer:iV,styles:iH},ic))};class lj{constructor(t,e){var i,r;M(this,"type","graph"),M(this,"parser"),M(this,"renderer"),M(this,"db"),M(this,"detectTypeFailed",!1),this.txt=t;let a=eW();this.txt=t;try{this.type=ed(t,a)}catch(t){this.handleError(t,e),this.type="error",this.detectTypeFailed=!0}let s=io(this.type);z.debug("Type "+this.type),this.db=s.db,null==(r=(i=this.db).clear)||r.call(i),this.renderer=s.renderer,this.parser=s.parser;let n=this.parser.parse.bind(this.parser);this.parser.parse=t=>n(function(t,e){var i;let r=t.match(el);if(!r)return t;{let a=eo(r[1],{schema:tk});return(null==a?void 0:a.title)&&(null==(i=e.setDiagramTitle)||i.call(e,a.title)),t.slice(r[0].length)}}(t,this.db)),this.parser.parser.yy=this.db,s.init&&(s.init(a),z.debug("Initialized diagram "+this.type,a)),this.txt+="\n",this.parse(this.txt,e)}parse(t,e){var i,r;if(this.detectTypeFailed)return!1;try{return t+="\n",null==(r=(i=this.db).clear)||r.call(i),this.parser.parse(t),!0}catch(t){this.handleError(t,e)}return!1}handleError(t,e){if(void 0===e)throw t;if(eO(t))return void e(t.str,t.hash);e(t)}getParser(){return this.parser}getType(){return this.type}}let lW=(t,e)=>{let i=ed(t,eW());try{io(i)}catch(a){let r=eu[i].loader;if(!r)throw Error(`Diagram ${i} not found.`);return r().then(({diagram:r})=>(is(i,r,void 0),new lj(t,e)))}return new lj(t,e)},lq=["graph","flowchart","flowchart-v2","stateDiagram","stateDiagram-v2"],lU="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",lV="sandbox",lH="loose",lG="http://www.w3.org/1999/xlink",lX="http://www.w3.org/1999/xhtml",lK=["foreignobject"],lQ=["dominant-baseline"],lZ=function(t){let e=t;
1127return(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl\xb0\xb0"+e+"\xb6\xdf":"fl\xb0"+e+"\xb6\xdf"})},lJ=function(t){let e=t;return(e=(e=e.replace(/fl°°/g,"&#")).replace(/fl°/g,"&")).replace(/¶ß/g,";")},l1=(t,e,i=[])=>`
1128.${t} ${e} { ${i.join(" !important; ")} !important; }`,l0=(t,e,i,r)=>{let a=((t,e,i={})=>{var r;let a="";if(void 0!==t.themeCSS&&(a+=`
1129${t.themeCSS}`),void 0!==t.fontFamily&&(a+=`
1130:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(a+=`
1131:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!(0,R.A)(i)&&lq.includes(e)){let e=t.htmlLabels||(null==(r=t.flowchart)?void 0:r.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(let t in i){let r=i[t];(0,R.A)(r.styles)||e.forEach(t=>{a+=l1(r.id,t,r.styles)}),(0,R.A)(r.textStyles)||(a+=l1(r.id,"tspan",r.textStyles))}}return a})(t,e,i),s=((t,e,i)=>{let r="";return t in ii&&ii[t]?r=ii[t](i):z.warn(`No theme found for ${t}`),` & {
1132    font-family: ${i.fontFamily};
1133    font-size: ${i.fontSize};
1134    fill: ${i.textColor}
1135  }
1136
1137  /* Classes common for multiple diagrams */
1138
1139  & .error-icon {
1140    fill: ${i.errorBkgColor};
1141  }
1142  & .error-text {
1143    fill: ${i.errorTextColor};
1144    stroke: ${i.errorTextColor};
1145  }
1146
1147  & .edge-thickness-normal {
1148    stroke-width: 2px;
1149  }
1150  & .edge-thickness-thick {
1151    stroke-width: 3.5px
1152  }
1153  & .edge-pattern-solid {
1154    stroke-dasharray: 0;
1155  }
1156
1157  & .edge-pattern-dashed{
1158    stroke-dasharray: 3;
1159  }
1160  .edge-pattern-dotted {
1161    stroke-dasharray: 2;
1162  }
1163
1164  & .marker {
1165    fill: ${i.lineColor};
1166    stroke: ${i.lineColor};
1167  }
1168  & .marker.cross {
1169    stroke: ${i.lineColor};
1170  }
1171
1172  & svg {
1173    font-family: ${i.fontFamily};
1174    font-size: ${i.fontSize};
1175  }
1176
1177  ${r}
1178
1179  ${e}
1180`})(e,a,t.themeVariables);return(0,S.l)((0,w.wE)(`${r}{${s}}`),S.A)},l2=(t="",e,i)=>{let r=t;return i||e||(r=r.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),r=(r=lJ(r)).replace(/<br>/g,"<br/>")},l3=(t="",e)=>{let i=e?e.viewBox.baseVal.height+"px":"100%",r=btoa('<body style="margin:0">'+t+"</body>");return`<iframe style="width:100%;height:${i};border:0;margin:0;" src="data:text/html;base64,${r}" sandbox="allow-top-navigation-by-user-activation allow-popups">
1181  The "iframe" tag is not supported by your browser.
1182</iframe>`},l4=(t,e,i,r,a)=>{let s=t.append("div");s.attr("id",i),r&&s.attr("style",r);let n=s.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return a&&n.attr("xmlns:xlink",a),n.append("g"),t};function l5(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}let l6=(t,e,i,r)=>{var a,s,n;null==(a=t.getElementById(e))||a.remove(),null==(s=t.getElementById(i))||s.remove(),null==(n=t.getElementById(r))||n.remove()},l8={},l7=function(t,e,i){switch(z.debug(`Directive type=${e.type} with args:`,e.args),e.type){case"init":case"initialize":["config"].forEach(t=>{void 0!==e.args[t]&&("flowchart-v2"===i&&(i="flowchart"),e.args[i]=e.args[t],delete e.args[t])}),z.debug("sanitize in handleDirective",e.args),eI(e.args),z.debug("sanitize in handleDirective (done)",e.args),eU(e.args);break;case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap("wrap"===e.type);break;case"themeCss":z.warn("themeCss encountered");break;default:z.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e)}};function l9(t,e,i,r){(0,R.A)(t)||e.attr("aria-roledescription",t),function(t,e,i,r){if(void 0!==t.insert)if(e||i){if(i){let e="chart-desc-"+r;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(i)}if(e){let i="chart-title-"+r;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}else;}(e,i,r,e.attr("id"))}let ct=Object.freeze({render:function(t,e,i,r){var a,s,n,o,l;let h,u;lY(),eV();let d=eF.detectInit(e);d&&(eI(d),eU(d));let p=eW();z.debug(p),e.length>(null!=(a=null==p?void 0:p.maxTextSize)?a:5e4)&&(e=lU),e=e.replace(/\r\n?/g,"\n");let g="#"+t,y="i"+t,f="d"+t,m="#"+f,b=(0,x.Ltv)("body"),_=p.securityLevel===lV,C=p.securityLevel===lH,T=p.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),_){let t=l5((0,x.Ltv)(r),y);(b=(0,x.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else b=(0,x.Ltv)(r);l4(b,t,f,`font-family: ${T}`,lG)}else{if(l6(document,t,f,y),_){let t=l5((0,x.Ltv)("body"),y);(b=(0,x.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else b=(0,x.Ltv)("body");l4(b,t,f)}e=lZ(e);try{if(h=lW(e),"then"in h)throw Error("Diagram is a promise. Use renderAsync.")}catch(t){h=new lj("error"),u=t}let E=b.select(m).node(),v=h.type,A=E.firstChild,S=A.firstChild,w=lq.includes(v)?h.renderer.getClasses(e,h):{},L=l0(p,v,w,g),B=document.createElement("style");
1182B.innerHTML=L,A.insertBefore(B,S);try{h.renderer.draw(e,t,eN.version,h)}catch(i){throw lP.draw(e,t,eN.version),i}let I=b.select(`${m} svg`);l9(v,I,null==(n=(s=h.db).getAccTitle)?void 0:n.call(s),null==(l=(o=h.db).getAccDescription)?void 0:l.call(o)),b.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",lX);let D=b.select(m).node().innerHTML;if(z.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),D=l2(D,_,G(p.arrowMarkerAbsolute)),_?D=l3(D,b.select(m+" svg").node()):C||(D=k.sanitize(D,{ADD_TAGS:lK,ADD_ATTR:lQ})),void 0!==i)switch(v){case"flowchart":case"flowchart-v2":i(D,so.bindFunctions);break;case"gantt":i(D,sH.bindFunctions);break;case"class":case"classDiagram":i(D,rz.bindFunctions);break;default:i(D)}else z.debug("CB = undefined!");nM();let O=_?"#"+y:m,F=(0,x.Ltv)(O).node();if(F&&"remove"in F&&F.remove(),u)throw u;return D},renderAsync:async function(t,e,i,r){var a,s,n,o,l;let h,u;lY(),eV();let d=eF.detectInit(e);d&&(eI(d),eU(d));let p=eW();z.debug(p),e.length>(null!=(a=null==p?void 0:p.maxTextSize)?a:5e4)&&(e=lU),e=e.replace(/\r\n?/g,"\n");let g="#"+t,y="i"+t,f="d"+t,m="#"+f,b=(0,x.Ltv)("body"),_=p.securityLevel===lV,C=p.securityLevel===lH,T=p.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),_){let t=l5((0,x.Ltv)(r),y);(b=(0,x.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else b=(0,x.Ltv)(r);l4(b,t,f,`font-family: ${T}`,lG)}else{if(l6(document,t,f,y),_){let t=l5((0,x.Ltv)("body"),y);(b=(0,x.Ltv)(t.nodes()[0].contentDocument.body)).node().style.margin=0}else b=(0,x.Ltv)("body");l4(b,t,f)}e=lZ(e);try{h=await lW(e)}catch(t){h=new lj("error"),u=t}let E=b.select(m).node(),v=h.type,A=E.firstChild,S=A.firstChild,w=lq.includes(v)?h.renderer.getClasses(e,h):{},L=l0(p,v,w,g),B=document.createElement("style");B.innerHTML=L,A.insertBefore(B,S);try{await h.renderer.draw(e,t,eN.version,h)}catch(i){throw lP.draw(e,t,eN.version),i}let I=b.select(`${m} svg`);l9(v,I,null==(n=(s=h.db).getAccTitle)?void 0:n.call(s),null==(l=(o=h.db).getAccDescription)?void 0:l.call(o)),b.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",lX);let D=b.select(m).node().innerHTML;if(z.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),D=l2(D,_,G(p.arrowMarkerAbsolute)),_?D=l3(D,b.select(m+" svg").node()):C||(D=k.sanitize(D,{ADD_TAGS:lK,ADD_ATTR:lQ})),void 0!==i)switch(v){case"flowchart":case"flowchart-v2":i(D,so.bindFunctions);break;case"gantt":i(D,sH.bindFunctions);break;case"class":case"classDiagram":i(D,rz.bindFunctions);break;default:i(D)}else z.debug("CB = undefined!");nM();let O=_?"#"+y:m,F=(0,x.Ltv)(O).node();if(F&&"remove"in F&&F.remove(),u)throw u;return D},parse:function(t,e){return lY(),new lj(t,e).parse(t,e)},parseAsync:async function t(t,e){return lY(),(await lW(t,e)).parse(t,e)},parseDirective:function(t,e,i,r){try{if(void 0!==e)switch(e=e.trim(),i){case"open_directive":l8={};break;case"type_directive":if(!l8)throw Error("currentDirective is undefined");l8.type=e.toLowerCase();break;case"arg_directive":if(!l8)throw Error("currentDirective is undefined");l8.args=JSON.parse(e);break;case"close_directive":l7(t,l8,r),l8=void 0}}catch(t){z.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${i}`),z.error(t.message)}},initialize:function(t={}){var e;(null==t?void 0:t.fontFamily)&&!(null==(e=t.themeVariables)?void 0:e.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),a=eg({},t),(null==t?void 0:t.theme)&&t.theme in ts?t.themeVariables=ts[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=ts.default.getThemeVariables(t.themeVariables)),Y(("object"==typeof t?(e$=eg({},eR),e$=eg(e$,t),t.theme&&ts[t.theme]&&(e$.themeVariables=ts[t.theme].getThemeVariables(t.themeVariables)),ez(e$,eM),e$):eY()).logLevel),lY()},getConfig:eW,setConfig:ej,getSiteConfig:eY,updateSiteConfig:t=>(e$=eg(e$,t),ez(e$,eM),e$),reset:()=>{eV()},globalReset:()=>{eV(eR)},defaultConfig:eR});Y(eW().logLevel),eV(eW());let ce=!1,ci=async function(t,e,i){try{ce?await cn(t,e,i):ca(t,e,i)}catch(t){z.warn("Syntax Error rendering"),eO(t)&&z.warn(t.str),cd.parseError&&cd.parseError(t)}},cr=(t,e,i)=>{z.warn(t),eO(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))}
1182,ca=function(t,e,i){let r,a,s=ct.getConfig();if(t&&(cd.sequenceConfig=t),z.debug(`${!i?"No ":""}Callback function found`),void 0===e)r=document.querySelectorAll(".mermaid");else if("string"==typeof e)r=document.querySelectorAll(e);else if(e instanceof HTMLElement)r=[e];else if(e instanceof NodeList)r=e;else throw Error("Invalid argument nodes for mermaid.init");z.debug(`Found ${r.length} diagrams`),(null==t?void 0:t.startOnLoad)!==void 0&&(z.debug("Start On Load: "+(null==t?void 0:t.startOnLoad)),ct.updateSiteConfig({startOnLoad:null==t?void 0:t.startOnLoad}));let n=new eF.initIdGenerator(s.deterministicIds,s.deterministicIDSeed),o=[];for(let t of Array.from(r)){if(z.info("Rendering diagram: "+t.id),t.getAttribute("data-processed"))continue;t.setAttribute("data-processed","true");let e=`mermaid-${n.next()}`;a=t.innerHTML,a=eF.entityDecode(a).trim().replace(/<br\s*\/?>/gi,"<br/>");let r=eF.detectInit(a);r&&z.debug("Detected early reinit: ",r);try{ct.render(e,a,(r,a)=>{t.innerHTML=r,void 0!==i&&i(e),a&&a(t)},t)}catch(t){cr(t,o,cd.parseError)}}if(o.length>0)throw o[0]},cs=async t=>{z.debug(`Loading ${t.length} external diagrams`);let e=(await Promise.allSettled(t.map(async({id:t,detector:e,loader:i})=>{let{diagram:r}=await i();is(t,r,e)}))).filter(t=>"rejected"===t.status);if(e.length>0){for(let t of(z.error(`Failed to load ${e.length} external diagrams`),e))z.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},cn=async function(t,e,i){let r,a,s=ct.getConfig();if(t&&(cd.sequenceConfig=t),z.debug(`${!i?"No ":""}Callback function found`),void 0===e)r=document.querySelectorAll(".mermaid");else if("string"==typeof e)r=document.querySelectorAll(e);else if(e instanceof HTMLElement)r=[e];else if(e instanceof NodeList)r=e;else throw Error("Invalid argument nodes for mermaid.init");z.debug(`Found ${r.length} diagrams`),(null==t?void 0:t.startOnLoad)!==void 0&&(z.debug("Start On Load: "+(null==t?void 0:t.startOnLoad)),ct.updateSiteConfig({startOnLoad:null==t?void 0:t.startOnLoad}));let n=new eF.initIdGenerator(s.deterministicIds,s.deterministicIDSeed),o=[];for(let t of Array.from(r)){if(z.info("Rendering diagram: "+t.id),t.getAttribute("data-processed"))continue;t.setAttribute("data-processed","true");let e=`mermaid-${n.next()}`;a=t.innerHTML,a=eF.entityDecode(a).trim().replace(/<br\s*\/?>/gi,"<br/>");let r=eF.detectInit(a);r&&z.debug("Detected early reinit: ",r);try{await ct.renderAsync(e,a,(r,a)=>{t.innerHTML=r,void 0!==i&&i(e),a&&a(t)},t)}catch(t){cr(t,o,cd.parseError)}}if(o.length>0)throw o[0]},co=async(t,{lazyLoad:e=!0}={})=>{if(e)for(let{id:e,detector:i,loader:r}of t)ep(e,i,r);else await cs(t);ce=!0},cl=function(){if(cd.startOnLoad){let{startOnLoad:t}=ct.getConfig();t&&cd.init()}};"undefined"!=typeof document&&window.addEventListener("load",cl,!1);let cc=[],ch=!1,cu=async()=>{if(!ch){for(ch=!0;cc.length>0;){let t=cc.shift();if(t)try{await t()}catch(t){z.error("Error executing queue",t)}}ch=!1}},cd={startOnLoad:!0,diagrams:{},mermaidAPI:ct,parse:t=>ct.parse(t,cd.parseError),parseAsync:t=>new Promise((e,i)=>{cc.push(()=>new Promise((r,a)=>{ct.parseAsync(t,cd.parseError).then(t=>{r(t),e(t)},t=>{z.error("Error parsing",t),a(t),i(t)})})),cu()}),render:ct.render,renderAsync:(t,e,i,r)=>new Promise((a,s)=>{cc.push(()=>new Promise((n,o)=>{ct.renderAsync(t,e,i,r).then(t=>{n(t),a(t)},t=>{z.error("Error parsing",t),o(t),s(t)})})),cu()}),init:ci,initThrowsErrors:ca,initThrowsErrorsAsync:cn,registerExternalDiagrams:co,initialize:function(t){ct.initialize(t)},parseError:void 0,contentLoaded:cl,setParseErrorHandler:function(t){cd.parseError=t}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.