cc-viewer 1.6.263 → 1.6.265

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +13 -0
  2. package/cli.js +4 -0
  3. package/dist/assets/App-Dn8sM_4p.js +1 -0
  4. package/dist/assets/{MdxEditorPanel--reKHew0.js → MdxEditorPanel-CVaK7mOf.js} +1 -1
  5. package/dist/assets/Mobile-HEclS2va.js +1 -0
  6. package/dist/assets/{_baseUniq-DiLy7vi3.js → _baseUniq-Dgkw4IXM.js} +1 -1
  7. package/dist/assets/{arc-CAB2oIHx.js → arc-AiHQLijx.js} +1 -1
  8. package/dist/assets/{architectureDiagram-Q4EWVU46-Cijl_JpW.js → architectureDiagram-Q4EWVU46-CPRvAIHK.js} +1 -1
  9. package/dist/assets/{blockDiagram-DXYQGD6D-Bk4yWCPQ.js → blockDiagram-DXYQGD6D-CK2cwrfX.js} +1 -1
  10. package/dist/assets/{c4Diagram-AHTNJAMY-Vz4JKuzi.js → c4Diagram-AHTNJAMY-BP-UBbgv.js} +1 -1
  11. package/dist/assets/{channel-BnYKz_zI.js → channel-Ny3Nm_-t.js} +1 -1
  12. package/dist/assets/{chunk-4BX2VUAB-DM3ZjqKX.js → chunk-4BX2VUAB-DdsULqPZ.js} +1 -1
  13. package/dist/assets/{chunk-4TB4RGXK-BTiJOoNa.js → chunk-4TB4RGXK-BDSjQHh0.js} +1 -1
  14. package/dist/assets/{chunk-55IACEB6-B4fMQcTE.js → chunk-55IACEB6-DrKr3wBa.js} +1 -1
  15. package/dist/assets/{chunk-EDXVE4YY-B_WylnyS.js → chunk-EDXVE4YY-o_0SUbAB.js} +1 -1
  16. package/dist/assets/{chunk-FMBD7UC4-Cx2lqZi9.js → chunk-FMBD7UC4-Ca_AgqWi.js} +1 -1
  17. package/dist/assets/{chunk-OYMX7WX6-CPZm7o6V.js → chunk-OYMX7WX6-CyWWbq5o.js} +1 -1
  18. package/dist/assets/{chunk-QZHKN3VN-DuYVzv7E.js → chunk-QZHKN3VN-5rXHErSL.js} +1 -1
  19. package/dist/assets/{chunk-YZCP3GAM-Bk3OysLK.js → chunk-YZCP3GAM-DznXBadU.js} +1 -1
  20. package/dist/assets/classDiagram-6PBFFD2Q-CLYcbnwx.js +1 -0
  21. package/dist/assets/classDiagram-v2-HSJHXN6E-CLYcbnwx.js +1 -0
  22. package/dist/assets/clone-5GFhU8Pv.js +1 -0
  23. package/dist/assets/{cose-bilkent-S5V4N54A-CQuaqKHt.js → cose-bilkent-S5V4N54A-BhGyix0v.js} +1 -1
  24. package/dist/assets/{dagre-KV5264BT-BFdoRcuo.js → dagre-KV5264BT-CzzHxIvc.js} +1 -1
  25. package/dist/assets/{diagram-5BDNPKRD-ByFdSFIu.js → diagram-5BDNPKRD-tu3BXl0c.js} +1 -1
  26. package/dist/assets/{diagram-G4DWMVQ6-C1TcKWp0.js → diagram-G4DWMVQ6-C6WkK7sj.js} +1 -1
  27. package/dist/assets/{diagram-MMDJMWI5-B5N1Sn5F.js → diagram-MMDJMWI5-DBeD_WW-.js} +1 -1
  28. package/dist/assets/{diagram-TYMM5635-B-payI0e.js → diagram-TYMM5635-BXUyHHJ4.js} +1 -1
  29. package/dist/assets/{erDiagram-SMLLAGMA-zziefklH.js → erDiagram-SMLLAGMA-Bye5tnW2.js} +1 -1
  30. package/dist/assets/{flowDiagram-DWJPFMVM-BOSomu1b.js → flowDiagram-DWJPFMVM-C3pYOs38.js} +1 -1
  31. package/dist/assets/{ganttDiagram-T4ZO3ILL-DILUsv0T.js → ganttDiagram-T4ZO3ILL-DxXkI_FW.js} +1 -1
  32. package/dist/assets/{gitGraphDiagram-UUTBAWPF-BKp2DE69.js → gitGraphDiagram-UUTBAWPF-nsxsXsGX.js} +1 -1
  33. package/dist/assets/{graph-NObGxitU.js → graph-Da-Z9hB7.js} +1 -1
  34. package/dist/assets/{index-Bq9Sic2n.js → index-4gmR7Eun.js} +1 -1
  35. package/dist/assets/{index-DHUf_c1w.js → index-BOxeMjZZ.js} +2 -2
  36. package/dist/assets/{index-BI-0Lyyt.js → index-Brh2V8V0.js} +1 -1
  37. package/dist/assets/{index-0aPBVZuP.js → index-C0PhJcXG.js} +1 -1
  38. package/dist/assets/{index-BbXZgnby.js → index-C8w5Sxw3.js} +1 -1
  39. package/dist/assets/{index-VqFARC4A.js → index-CA8JGh5J.js} +1 -1
  40. package/dist/assets/{index-PsZiLKrC.js → index-CsuhosSl.js} +1 -1
  41. package/dist/assets/{index-C88BDuL0.js → index-D7XF7UJ8.js} +1 -1
  42. package/dist/assets/{infoDiagram-42DDH7IO-D409o-BL.js → infoDiagram-42DDH7IO-Ca9j90t5.js} +1 -1
  43. package/dist/assets/{ishikawaDiagram-UXIWVN3A-CMVPOGr3.js → ishikawaDiagram-UXIWVN3A-DhjV0XPD.js} +1 -1
  44. package/dist/assets/{journeyDiagram-VCZTEJTY-Bl_5WlaZ.js → journeyDiagram-VCZTEJTY-CRSHLZPV.js} +1 -1
  45. package/dist/assets/{jszip.min-C2654z9i.js → jszip.min-CcCCdMNW.js} +1 -1
  46. package/dist/assets/{kanban-definition-6JOO6SKY-BfCyUP29.js → kanban-definition-6JOO6SKY-Bg0CUwgc.js} +1 -1
  47. package/dist/assets/{layout-CgAMa0xE.js → layout-CWNu13XT.js} +1 -1
  48. package/dist/assets/{linear-J1N1npGr.js → linear-Dcmw1639.js} +1 -1
  49. package/dist/assets/{mermaid.core-YnqOkuoS.js → mermaid.core-1heNIJ5f.js} +2 -2
  50. package/dist/assets/{min-CowkZam8.js → min-CC9CkAxn.js} +1 -1
  51. package/dist/assets/{mindmap-definition-QFDTVHPH-D7yMfot2.js → mindmap-definition-QFDTVHPH-Gr0ex_Ny.js} +1 -1
  52. package/dist/assets/{pieDiagram-DEJITSTG-DKUHBCwB.js → pieDiagram-DEJITSTG-D7P3sUJY.js} +1 -1
  53. package/dist/assets/{quadrantDiagram-34T5L4WZ-DhRqBNfT.js → quadrantDiagram-34T5L4WZ-Bov3lcpV.js} +1 -1
  54. package/dist/assets/{requirementDiagram-MS252O5E-DVE3wKT7.js → requirementDiagram-MS252O5E-BcLptaOU.js} +1 -1
  55. package/dist/assets/{sankeyDiagram-XADWPNL6-Rn_9b5V_.js → sankeyDiagram-XADWPNL6-B2qAUsON.js} +1 -1
  56. package/dist/assets/seqResourceLoaders-BGxPc8Yp.js +2 -0
  57. package/dist/assets/{seqResourceLoaders-DZvMjXCl.css → seqResourceLoaders-DmvKKyh9.css} +3 -3
  58. package/dist/assets/{sequenceDiagram-FGHM5R23-CemLRaXC.js → sequenceDiagram-FGHM5R23-Do62Uz-a.js} +1 -1
  59. package/dist/assets/{stateDiagram-FHFEXIEX-DNT1gAty.js → stateDiagram-FHFEXIEX-Wu8aqa8C.js} +1 -1
  60. package/dist/assets/{stateDiagram-v2-QKLJ7IA2-DPlMhu-M.js → stateDiagram-v2-QKLJ7IA2-BfYq7Jgo.js} +1 -1
  61. package/dist/assets/{timeline-definition-GMOUNBTQ-B-F8vgZN.js → timeline-definition-GMOUNBTQ-DYfz5xD6.js} +1 -1
  62. package/dist/assets/{vendor-antd-Dq3DHFa-.js → vendor-antd-BG1SvzuN.js} +2 -2
  63. package/dist/assets/{vendor-codemirror-DjMkT0sn.js → vendor-codemirror-8NDhydlF.js} +1 -1
  64. package/dist/assets/{vendor-mdxeditor-CrZ9SWce.js → vendor-mdxeditor-BB4hhpxM.js} +2 -2
  65. package/dist/assets/{vendor-qrcode-C_77dtHg.js → vendor-qrcode-DMsNGQ10.js} +1 -1
  66. package/dist/assets/{vendor-virtuoso-aMZPf2fi.js → vendor-virtuoso-BUT96ALa.js} +1 -1
  67. package/dist/assets/{vennDiagram-DHZGUBPP-K67JHnnN.js → vennDiagram-DHZGUBPP-CGr-cc7e.js} +1 -1
  68. package/dist/assets/{wardley-RL74JXVD-CCis01LD.js → wardley-RL74JXVD-BN899vMf.js} +1 -1
  69. package/dist/assets/{wardleyDiagram-NUSXRM2D-BjqRIOpN.js → wardleyDiagram-NUSXRM2D-xUsI1E7h.js} +1 -1
  70. package/dist/assets/{xychartDiagram-5P7HB3ND-CaXETYTI.js → xychartDiagram-5P7HB3ND-woQrslzB.js} +1 -1
  71. package/dist/index.html +4 -4
  72. package/dist/voice-packs/default/askQuestion.wav +0 -0
  73. package/dist/voice-packs/default/pack.json +34 -0
  74. package/dist/voice-packs/default/planApproval.wav +0 -0
  75. package/dist/voice-packs/default/timeoutWarning5min.wav +0 -0
  76. package/dist/voice-packs/default/timeoutWarning60s.wav +0 -0
  77. package/dist/voice-packs/default/turnEnd.wav +0 -0
  78. package/interceptor.js +18 -5
  79. package/lib/approval-modal-prefs.js +71 -0
  80. package/lib/ensure-hooks.js +48 -4
  81. package/lib/git-diff.js +4 -0
  82. package/lib/sdk-manager.js +12 -1
  83. package/lib/turn-end-bridge.js +117 -0
  84. package/lib/voice-pack-events.js +32 -0
  85. package/lib/voice-pack-manager.js +246 -0
  86. package/package.json +1 -1
  87. package/pty-manager.js +8 -1
  88. package/server.js +304 -2
  89. package/dist/assets/App-CX6bF6ke.js +0 -1
  90. package/dist/assets/Mobile-YwIGAQWc.js +0 -1
  91. package/dist/assets/classDiagram-6PBFFD2Q-CeAAXpgl.js +0 -1
  92. package/dist/assets/classDiagram-v2-HSJHXN6E-CeAAXpgl.js +0 -1
  93. package/dist/assets/clone-BcGHaFBY.js +0 -1
  94. package/dist/assets/seqResourceLoaders-B9D4RGth.js +0 -2
@@ -1 +1 @@
1
- var _a;import{g as getIconStyles}from"./chunk-FMBD7UC4-Cx2lqZi9.js";import{_ as __name,n as setConfig2,l as log,c as getConfig2,o as getRegisteredLayoutAlgorithm,r as render,u as utils_default,b as setAccTitle,s as setAccDescription,p as setDiagramTitle,a as getAccTitle,g as getAccDescription,q as getDiagramTitle,k as common_default,t as load,J as JSON_SCHEMA,v as isValidShape,x as getEdgeId,d as select,y as clear,z as defaultConfig2,A as rgba}from"./mermaid.core-YnqOkuoS.js";import{c as createTooltip}from"./chunk-YZCP3GAM-Bk3OysLK.js";import{g as getDiagramElement}from"./chunk-55IACEB6-B4fMQcTE.js";import{s as setupViewPortForSVG}from"./chunk-EDXVE4YY-B_WylnyS.js";import{p as purify}from"./vendor-markdown-BFrYfpb0.js";import{c as channel}from"./channel-BnYKz_zI.js";import"./vendor-mdxeditor-CrZ9SWce.js";import"./vendor-antd-Dq3DHFa-.js";import"./vendor-codemirror-DjMkT0sn.js";var FlowDB=(__name(_a=class{constructor(){this.vertexCounter=0,this.config=getConfig2(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=setAccTitle,this.setAccDescription=setAccDescription,this.setDiagramTitle=setDiagramTitle,this.getAccTitle=getAccTitle,this.getAccDescription=getAccDescription,this.getDiagramTitle=getDiagramTitle,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(txt){return common_default.sanitizeText(txt,this.config)}sanitizeNodeLabelType(labelType){switch(labelType){case"markdown":case"string":case"text":return labelType;default:return"markdown"}}setDiagramId(svgElementId){this.diagramId=svgElementId}lookUpDomId(id){for(const vertex of this.vertices.values())if(vertex.id===id)return this.diagramId?`${this.diagramId}-${vertex.domId}`:vertex.domId;return this.diagramId?`${this.diagramId}-${id}`:id}addVertex(id,textObj,type,style,classes,dir,props={},metadata){var _a2,_b;if(!id||0===id.trim().length)return;let doc;if(void 0!==metadata){let yamlData;yamlData=metadata.includes("\n")?metadata+"\n":"{\n"+metadata+"\n}",doc=load(yamlData,{schema:JSON_SCHEMA})}const edge=this.edges.find(e=>e.id===id);if(edge){const edgeDoc=doc;return void 0!==(null==edgeDoc?void 0:edgeDoc.animate)&&(edge.animate=edgeDoc.animate),void 0!==(null==edgeDoc?void 0:edgeDoc.animation)&&(edge.animation=edgeDoc.animation),void(void 0!==(null==edgeDoc?void 0:edgeDoc.curve)&&(edge.interpolate=edgeDoc.curve))}let txt,vertex=this.vertices.get(id);if(void 0===vertex&&(void 0===textObj&&void 0===type&&null!=style&&log.warn(`Style applied to unknown node "${id}". This may indicate a typo. The node will be created automatically.`),vertex={id:id,labelType:"text",domId:"flowchart-"+id+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(id,vertex)),this.vertexCounter++,void 0!==textObj?(this.config=getConfig2(),txt=this.sanitizeText(textObj.text.trim()),vertex.labelType=textObj.type,txt.startsWith('"')&&txt.endsWith('"')&&(txt=txt.substring(1,txt.length-1)),vertex.text=txt):void 0===vertex.text&&(vertex.text=id),void 0!==type&&(vertex.type=type),null!=style&&style.forEach(s=>{vertex.styles.push(s)}),null!=classes&&classes.forEach(s=>{vertex.classes.push(s)}),void 0!==dir&&(vertex.dir=dir),void 0===vertex.props?vertex.props=props:void 0!==props&&Object.assign(vertex.props,props),void 0!==doc){if(doc.shape){if(doc.shape!==doc.shape.toLowerCase()||doc.shape.includes("_"))throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);if(!isValidShape(doc.shape))throw new Error(`No such shape: ${doc.shape}.`);vertex.type=null==doc?void 0:doc.shape}(null==doc?void 0:doc.label)&&(vertex.text=null==doc?void 0:doc.label,vertex.labelType=this.sanitizeNodeLabelType(null==doc?void 0:doc.labelType)),(null==doc?void 0:doc.icon)&&(vertex.icon=null==doc?void 0:doc.icon,(null==(_a2=doc.label)?void 0:_a2.trim())||vertex.text!==id||(vertex.text="")),(null==doc?void 0:doc.form)&&(vertex.form=null==doc?void 0:doc.form),(null==doc?void 0:doc.pos)&&(vertex.pos=null==doc?void 0:doc.pos),(null==doc?void 0:doc.img)&&(vertex.img=null==doc?void 0:doc.img,(null==(_b=doc.label)?void 0:_b.trim())||vertex.text!==id||(vertex.text="")),(null==doc?void 0:doc.constraint)&&(vertex.constraint=doc.constraint),doc.w&&(vertex.assetWidth=Number(doc.w)),doc.h&&(vertex.assetHeight=Number(doc.h))}}addSingleLink(_start,_end,type,id){const edge={start:_start,end:_end,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};log.info("abc78 Got edge...",edge);const linkTextObj=type.text;if(void 0!==linkTextObj&&(edge.text=this.sanitizeText(linkTextObj.text.trim()),edge.text.startsWith('"')&&edge.text.endsWith('"')&&(edge.text=edge.text.substring(1,edge.text.length-1)),edge.labelType=this.sanitizeNodeLabelType(linkTextObj.type)),void 0!==type&&(edge.type=type.type,edge.stroke=type.stroke,edge.length=type.length>10?10:type.length),id&&!this.edges.some(e=>e.id===id))edge.id=id,edge.isUserDefinedId=!0;else{const existingLinks=this.edges.filter(e=>e.start===edge.start&&e.end===edge.end);0===existingLinks.length?edge.id=getEdgeId(edge.start,edge.end,{counter:0,prefix:"L"}):edge.id=getEdgeId(edge.start,edge.end,{counter:existingLinks.length+1,prefix:"L"})}if(!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);log.info("Pushing edge..."),this.edges.push(edge)}isLinkData(value){return null!==value&&"object"==typeof value&&"id"in value&&"string"==typeof value.id}addLink(_start,_end,linkData){const id=this.isLinkData(linkData)?linkData.id.replace("@",""):void 0;log.info("addLink",_start,_end,id);for(const start of _start)for(const end of _end){const isLastStart=start===_start[_start.length-1],isFirstEnd=end===_end[0];isLastStart&&isFirstEnd?this.addSingleLink(start,end,linkData,id):this.addSingleLink(start,end,linkData,void 0)}}updateLinkInterpolate(positions,interpolate){positions.forEach(pos=>{"default"===pos?this.edges.defaultInterpolate=interpolate:this.edges[pos].interpolate=interpolate})}updateLink(positions,style){positions.forEach(pos=>{var _a2,_b,_c,_d,_e,_f;if("number"==typeof pos&&pos>=this.edges.length)throw new Error(`The index ${pos} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===pos?this.edges.defaultStyle=style:(this.edges[pos].style=style,((null==(_b=null==(_a2=this.edges[pos])?void 0:_a2.style)?void 0:_b.length)??0)>0&&!(null==(_d=null==(_c=this.edges[pos])?void 0:_c.style)?void 0:_d.some(s=>null==s?void 0:s.startsWith("fill")))&&(null==(_f=null==(_e=this.edges[pos])?void 0:_e.style)||_f.push("fill:none")))})}addClass(ids,_style){const style=_style.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");ids.split(",").forEach(id=>{let classNode=this.classes.get(id);void 0===classNode&&(classNode={id:id,styles:[],textStyles:[]},this.classes.set(id,classNode)),null!=style&&style.forEach(s=>{if(/color/.exec(s)){const newStyle=s.replace("fill","bgFill");classNode.textStyles.push(newStyle)}classNode.styles.push(s)})})}setDirection(dir){this.direction=dir.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(ids,className){for(const id of ids.split(",")){const vertex=this.vertices.get(id);vertex&&vertex.classes.push(className);const edge=this.edges.find(e=>e.id===id);edge&&edge.classes.push(className);const subGraph=this.subGraphLookup.get(id);subGraph&&subGraph.classes.push(className)}}setTooltip(ids,tooltip){if(void 0!==tooltip){tooltip=this.sanitizeText(tooltip);for(const id of ids.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(id):id,tooltip)}}setClickFun(id,functionName,functionArgs){if("loose"!==getConfig2().securityLevel)return;if(void 0===functionName)return;let argList=[];if("string"==typeof functionArgs){argList=functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let i=0;i<argList.length;i++){let item=argList[i].trim();item.startsWith('"')&&item.endsWith('"')&&(item=item.substr(1,item.length-2)),argList[i]=item}}0===argList.length&&argList.push(id);const vertex=this.vertices.get(id);vertex&&(vertex.haveCallback=!0,this.funs.push(()=>{const domId=this.lookUpDomId(id),elem=document.querySelector(`[id="${domId}"]`);null!==elem&&elem.addEventListener("click",()=>{utils_default.runFunc(functionName,...argList)},!1)}))}setLink(ids,linkStr,target){ids.split(",").forEach(id=>{const vertex=this.vertices.get(id);void 0!==vertex&&(vertex.link=utils_default.formatUrl(linkStr,this.config),vertex.linkTarget=target)}),this.setClass(ids,"clickable")}getTooltip(id){return this.tooltips.get(id)}setClickEvent(ids,functionName,functionArgs){ids.split(",").forEach(id=>{this.setClickFun(id,functionName,functionArgs)}),this.setClass(ids,"clickable")}bindFunctions(element){this.funs.forEach(fun=>{fun(element)})}getDirection(){var _a2;return null==(_a2=this.direction)?void 0:_a2.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(element){const tooltipElem=createTooltip();select(element).select("svg").selectAll("g.node").on("mouseover",e=>{var _a2;const el=select(e.currentTarget),title=el.attr("title");if(null===title)return;const rect=null==(_a2=e.currentTarget)?void 0:_a2.getBoundingClientRect();tooltipElem.transition().duration(200).style("opacity",".9"),tooltipElem.text(el.attr("title")).style("left",window.scrollX+rect.left+(rect.right-rect.left)/2+"px").style("top",window.scrollY+rect.bottom+"px"),tooltipElem.html(purify.sanitize(title)),el.classed("hover",!0)}).on("mouseout",e=>{tooltipElem.transition().duration(500).style("opacity",0);select(e.currentTarget).classed("hover",!1)})}clear(ver="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=ver,this.config=getConfig2(),clear()}setGen(ver){this.version=ver||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(_id,list,_title){let id=_id.text.trim(),title=_title.text;_id===_title&&/\s/.exec(_title.text)&&(id=void 0);const result=__name(a=>{const prims={boolean:{},number:{},string:{}},objs=[];let dir2;return{nodeList:a.filter(function(item){const type=typeof item;return item.stmt&&"dir"===item.stmt?(dir2=item.value,!1):""!==item.trim()&&(type in prims?!prims[type].hasOwnProperty(item)&&(prims[type][item]=!0):!objs.includes(item)&&objs.push(item))}),dir:dir2}},"uniq")(list.flat()),nodeList=result.nodeList;let dir=result.dir;const flowchartConfig=getConfig2().flowchart??{};if(dir=dir??(flowchartConfig.inheritDir?this.getDirection()??getConfig2().direction??void 0:void 0),"gen-1"===this.version)for(let i=0;i<nodeList.length;i++)nodeList[i]=this.lookUpDomId(nodeList[i]);id=id??"subGraph"+this.subCount,title=title||"",title=this.sanitizeText(title),this.subCount=this.subCount+1;const subGraph={id:id,nodes:nodeList,title:title.trim(),classes:[],dir:dir,labelType:this.sanitizeNodeLabelType(null==_title?void 0:_title.type)};return log.info("Adding",subGraph.id,subGraph.nodes,subGraph.dir),subGraph.nodes=this.makeUniq(subGraph,this.subGraphs).nodes,this.subGraphs.push(subGraph),this.subGraphLookup.set(id,subGraph),id}getPosForId(id){for(const[i,subGraph]of this.subGraphs.entries())if(subGraph.id===id)return i;return-1}indexNodes2(id,pos){const nodes=this.subGraphs[pos].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=pos,this.subGraphs[pos].id===id)return{result:!0,count:0};let count=0,posCount=1;for(;count<nodes.length;){const childPos=this.getPosForId(nodes[count]);if(childPos>=0){const res=this.indexNodes2(id,childPos);if(res.result)return{result:!0,count:posCount+res.count};posCount+=res.count}count+=1}return{result:!1,count:posCount}}getDepthFirstPos(pos){return this.posCrossRef[pos]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(_str){let str=_str.trim(),type="arrow_open";switch(str[0]){case"<":type="arrow_point",str=str.slice(1);break;case"x":type="arrow_cross",str=str.slice(1);break;case"o":type="arrow_circle",str=str.slice(1)}let stroke="normal";return str.includes("=")&&(stroke="thick"),str.includes(".")&&(stroke="dotted"),{type:type,stroke:stroke}}countChar(char,str){const length=str.length;let count=0;for(let i=0;i<length;++i)str[i]===char&&++count;return count}destructEndLink(_str){const str=_str.trim();let line=str.slice(0,-1),type="arrow_open";switch(str.slice(-1)){case"x":type="arrow_cross",str.startsWith("x")&&(type="double_"+type,line=line.slice(1));break;case">":type="arrow_point",str.startsWith("<")&&(type="double_"+type,line=line.slice(1));break;case"o":type="arrow_circle",str.startsWith("o")&&(type="double_"+type,line=line.slice(1))}let stroke="normal",length=line.length-1;line.startsWith("=")&&(stroke="thick"),line.startsWith("~")&&(stroke="invisible");const dots=this.countChar(".",line);return dots&&(stroke="dotted",length=dots),{type:type,stroke:stroke,length:length}}destructLink(_str,_startStr){const info=this.destructEndLink(_str);let startInfo;if(_startStr){if(startInfo=this.destructStartLink(_startStr),startInfo.stroke!==info.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===startInfo.type)startInfo.type=info.type;else{if(startInfo.type!==info.type)return{type:"INVALID",stroke:"INVALID"};startInfo.type="double_"+startInfo.type}return"double_arrow"===startInfo.type&&(startInfo.type="double_arrow_point"),startInfo.length=info.length,startInfo}return info}exists(allSgs,_id){for(const sg of allSgs)if(sg.nodes.includes(_id))return!0;return!1}makeUniq(sg,allSubgraphs){const res=[];return sg.nodes.forEach((_id,pos)=>{this.exists(allSubgraphs,_id)||res.push(sg.nodes[pos])}),{nodes:res}}getTypeFromVertex(vertex){if(vertex.img)return"imageSquare";if(vertex.icon)return"circle"===vertex.form?"iconCircle":"square"===vertex.form?"iconSquare":"rounded"===vertex.form?"iconRounded":"icon";switch(vertex.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return vertex.type}}findNode(nodes,id){return nodes.find(node=>node.id===id)}destructEdgeType(type){let arrowTypeStart="none",arrowTypeEnd="arrow_point";switch(type){case"arrow_point":case"arrow_circle":case"arrow_cross":arrowTypeEnd=type;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":arrowTypeStart=type.replace("double_",""),arrowTypeEnd=arrowTypeStart}return{arrowTypeStart:arrowTypeStart,arrowTypeEnd:arrowTypeEnd}}addNodeFromVertex(vertex,nodes,parentDB,subGraphDB,config,look){var _a2;const parentId=parentDB.get(vertex.id),isGroup=subGraphDB.get(vertex.id)??!1,node=this.findNode(nodes,vertex.id);if(node)node.cssStyles=vertex.styles,node.cssCompiledStyles=this.getCompiledStyles(vertex.classes),node.cssClasses=vertex.classes.join(" ");else{const baseNode={id:vertex.id,label:vertex.text,labelType:vertex.labelType,labelStyle:"",parentId:parentId,padding:(null==(_a2=config.flowchart)?void 0:_a2.padding)||8,cssStyles:vertex.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...vertex.classes]),cssClasses:"default "+vertex.classes.join(" "),dir:vertex.dir,domId:vertex.domId,look:look,link:vertex.link,linkTarget:vertex.linkTarget,tooltip:this.getTooltip(vertex.id),icon:vertex.icon,pos:vertex.pos,img:vertex.img,assetWidth:vertex.assetWidth,assetHeight:vertex.assetHeight,constraint:vertex.constraint};isGroup?nodes.push({...baseNode,isGroup:!0,shape:"rect"}):nodes.push({...baseNode,isGroup:!1,shape:this.getTypeFromVertex(vertex)})}}getCompiledStyles(classDefs){let compiledStyles=[];for(const customClass of classDefs){const cssClass=this.classes.get(customClass);(null==cssClass?void 0:cssClass.styles)&&(compiledStyles=[...compiledStyles,...cssClass.styles??[]].map(s=>s.trim())),(null==cssClass?void 0:cssClass.textStyles)&&(compiledStyles=[...compiledStyles,...cssClass.textStyles??[]].map(s=>s.trim()))}return compiledStyles}getData(){const config=getConfig2(),nodes=[],edges=[],subGraphs=this.getSubGraphs(),parentDB=new Map,subGraphDB=new Map;for(let i=subGraphs.length-1;i>=0;i--){const subGraph=subGraphs[i];subGraph.nodes.length>0&&subGraphDB.set(subGraph.id,!0);for(const id of subGraph.nodes)parentDB.set(id,subGraph.id)}for(let i=subGraphs.length-1;i>=0;i--){const subGraph=subGraphs[i];nodes.push({id:subGraph.id,label:subGraph.title,labelStyle:"",labelType:subGraph.labelType,parentId:parentDB.get(subGraph.id),padding:8,cssCompiledStyles:this.getCompiledStyles(subGraph.classes),cssClasses:subGraph.classes.join(" "),shape:"rect",dir:subGraph.dir,isGroup:!0,look:config.look})}this.getVertices().forEach(vertex=>{this.addNodeFromVertex(vertex,nodes,parentDB,subGraphDB,config,config.look||"classic")});const e=this.getEdges();return e.forEach((rawEdge,index)=>{var _a2;const{arrowTypeStart:arrowTypeStart,arrowTypeEnd:arrowTypeEnd}=this.destructEdgeType(rawEdge.type),styles=[...e.defaultStyle??[]];rawEdge.style&&styles.push(...rawEdge.style);const edge={id:getEdgeId(rawEdge.start,rawEdge.end,{counter:index,prefix:"L"},rawEdge.id),isUserDefinedId:rawEdge.isUserDefinedId,start:rawEdge.start,end:rawEdge.end,type:rawEdge.type??"normal",label:rawEdge.text,labelType:rawEdge.labelType,labelpos:"c",thickness:rawEdge.stroke,minlen:rawEdge.length,classes:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)||"arrow_open"===(null==rawEdge?void 0:rawEdge.type)?"none":arrowTypeStart,arrowTypeEnd:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)||"arrow_open"===(null==rawEdge?void 0:rawEdge.type)?"none":arrowTypeEnd,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(rawEdge.classes),labelStyle:styles,style:styles,pattern:rawEdge.stroke,look:config.look,animate:rawEdge.animate,animation:rawEdge.animation,curve:rawEdge.interpolate||this.edges.defaultInterpolate||(null==(_a2=config.flowchart)?void 0:_a2.curve)};edges.push(edge)}),{nodes:nodes,edges:edges,other:{},config:config}}defaultConfig(){return defaultConfig2.flowchart}},"FlowDB"),_a),flowRenderer_v3_unified_default={getClasses:__name(function(text,diagramObj){return diagramObj.db.getClasses()},"getClasses"),draw:__name(async function(text,id,_version,diag){var _a2;log.info("REF0:"),log.info("Drawing state diagram (v2)",id);const{securityLevel:securityLevel,flowchart:conf,layout:layout}=getConfig2();diag.db.setDiagramId(id),log.debug("Before getData: ");const data4Layout=diag.db.getData();log.debug("Data: ",data4Layout);const svg=getDiagramElement(id,securityLevel),direction=diag.db.getDirection();data4Layout.type=diag.type,data4Layout.layoutAlgorithm=getRegisteredLayoutAlgorithm(layout),"dagre"===data4Layout.layoutAlgorithm&&"elk"===layout&&log.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),data4Layout.direction=direction,data4Layout.nodeSpacing=(null==conf?void 0:conf.nodeSpacing)||50,data4Layout.rankSpacing=(null==conf?void 0:conf.rankSpacing)||50,data4Layout.markers=["point","circle","cross"],data4Layout.diagramId=id,log.debug("REF1:",data4Layout),await render(data4Layout,svg);const padding=(null==(_a2=data4Layout.config.flowchart)?void 0:_a2.diagramPadding)??8;utils_default.insertTitle(svg,"flowchartTitleText",(null==conf?void 0:conf.titleTopMargin)||0,diag.db.getDiagramTitle()),setupViewPortForSVG(svg,padding,"flowchart",(null==conf?void 0:conf.useMaxWidth)||!1)},"draw")},parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,3],$V2=[1,5],$V3=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$V4=[2,2],$V5=[1,13],$V6=[1,14],$V7=[1,15],$V8=[1,16],$V9=[1,23],$Va=[1,25],$Vb=[1,26],$Vc=[1,27],$Vd=[1,50],$Ve=[1,49],$Vf=[1,29],$Vg=[1,30],$Vh=[1,31],$Vi=[1,32],$Vj=[1,33],$Vk=[1,45],$Vl=[1,47],$Vm=[1,43],$Vn=[1,48],$Vo=[1,44],$Vp=[1,51],$Vq=[1,46],$Vr=[1,52],$Vs=[1,53],$Vt=[1,34],$Vu=[1,35],$Vv=[1,36],$Vw=[1,37],$Vx=[1,38],$Vy=[1,58],$Vz=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$VA=[1,62],$VB=[1,61],$VC=[1,63],$VD=[8,9,11,75,77,78],$VE=[1,79],$VF=[1,92],$VG=[1,97],$VH=[1,96],$VI=[1,93],$VJ=[1,89],$VK=[1,95],$VL=[1,91],$VM=[1,98],$VN=[1,94],$VO=[1,99],$VP=[1,90],$VQ=[8,9,10,11,40,75,77,78],$VR=[8,9,10,11,40,46,75,77,78],$VS=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],$VT=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],$VU=[44,60,89,102,105,106,109,111,114,115,116],$VV=[1,122],$VW=[1,123],$VX=[1,125],$VY=[1,124],$VZ=[44,60,62,74,89,102,105,106,109,111,114,115,116],$V_=[1,134],$V$=[1,148],$V01=[1,149],$V11=[1,150],$V21=[1,151],$V31=[1,136],$V41=[1,138],$V51=[1,142],$V61=[1,143],$V71=[1,144],$V81=[1,145],$V91=[1,146],$Va1=[1,147],$Vb1=[1,152],$Vc1=[1,153],$Vd1=[1,132],$Ve1=[1,133],$Vf1=[1,140],$Vg1=[1,135],$Vh1=[1,139],$Vi1=[1,137],$Vj1=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$Vk1=[1,155],$Vl1=[1,157],$Vm1=[8,9,11],$Vn1=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],$Vo1=[1,177],$Vp1=[1,173],$Vq1=[1,174],$Vr1=[1,178],$Vs1=[1,175],$Vt1=[1,176],$Vu1=[77,116,119],$Vv1=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],$Vw1=[10,106],$Vx1=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],$Vy1=[1,248],$Vz1=[1,246],$VA1=[1,250],$VB1=[1,244],$VC1=[1,245],$VD1=[1,247],$VE1=[1,249],$VF1=[1,251],$VG1=[1,269],$VH1=[8,9,11,106],$VI1=[8,9,10,11,60,84,105,106,109,110,111,112],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray($$[$0])||$$[$0].length>0)&&$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=$$[$0];break;case 11:yy.setDirection("TB"),this.$="TB";break;case 12:yy.setDirection($$[$0-1]),this.$=$$[$0-1];break;case 27:this.$=$$[$0-1].nodes;break;case 33:this.$=yy.addSubGraph($$[$0-6],$$[$0-1],$$[$0-4]);break;case 34:this.$=yy.addSubGraph($$[$0-3],$$[$0-1],$$[$0-3]);break;case 35:this.$=yy.addSubGraph(void 0,$$[$0-1],void 0);break;case 37:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 38:case 39:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 43:case 133:this.$=$$[$0-1]+$$[$0];break;case 45:yy.addVertex($$[$0-1][$$[$0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0]),yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]),this.$={stmt:$$[$0-1],nodes:$$[$0-1].concat($$[$0-3].nodes)};break;case 46:yy.addLink($$[$0-2].stmt,$$[$0],$$[$0-1]),this.$={stmt:$$[$0],nodes:$$[$0].concat($$[$0-2].nodes)};break;case 47:yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]),this.$={stmt:$$[$0-1],nodes:$$[$0-1].concat($$[$0-3].nodes)};break;case 48:this.$={stmt:$$[$0-1],nodes:$$[$0-1]};break;case 49:yy.addVertex($$[$0-1][$$[$0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0]),this.$={stmt:$$[$0-1],nodes:$$[$0-1],shapeData:$$[$0]};break;case 50:this.$={stmt:$$[$0],nodes:$$[$0]};break;case 51:case 128:case 130:this.$=[$$[$0]];break;case 52:yy.addVertex($$[$0-5][$$[$0-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0-4]),this.$=$$[$0-5].concat($$[$0]);break;case 53:this.$=$$[$0-4].concat($$[$0]);break;case 55:this.$=$$[$0-2],yy.setClass($$[$0-2],$$[$0]);break;case 56:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"square");break;case 57:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"doublecircle");break;case 58:this.$=$$[$0-5],yy.addVertex($$[$0-5],$$[$0-2],"circle");break;case 59:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"ellipse");break;case 60:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"stadium");break;case 61:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"subroutine");break;case 62:this.$=$$[$0-7],yy.addVertex($$[$0-7],$$[$0-1],"rect",void 0,void 0,void 0,Object.fromEntries([[$$[$0-5],$$[$0-3]]]));break;case 63:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"cylinder");break;case 64:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"round");break;case 65:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"diamond");break;case 66:this.$=$$[$0-5],yy.addVertex($$[$0-5],$$[$0-2],"hexagon");break;case 67:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"odd");break;case 68:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"trapezoid");break;case 69:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"inv_trapezoid");break;case 70:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"lean_right");break;case 71:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"lean_left");break;case 72:this.$=$$[$0],yy.addVertex($$[$0]);break;case 73:$$[$0-1].text=$$[$0],this.$=$$[$0-1];break;case 74:case 75:$$[$0-2].text=$$[$0-1],this.$=$$[$0-2];break;case 77:var inf=yy.destructLink($$[$0],$$[$0-2]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,text:$$[$0-1]};break;case 78:inf=yy.destructLink($$[$0],$$[$0-2]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,text:$$[$0-1],id:$$[$0-3]};break;case 79:case 86:case 101:case 103:this.$={text:$$[$0],type:"text"};break;case 80:case 87:case 102:this.$={text:$$[$0-1].text+""+$$[$0],type:$$[$0-1].type};break;case 81:case 88:this.$={text:$$[$0],type:"string"};break;case 82:case 89:case 104:this.$={text:$$[$0],type:"markdown"};break;case 83:inf=yy.destructLink($$[$0]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length};break;case 84:inf=yy.destructLink($$[$0]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,id:$$[$0-1]};break;case 85:this.$=$$[$0-1];break;case 105:this.$=$$[$0-4],yy.addClass($$[$0-2],$$[$0]);break;case 106:this.$=$$[$0-4],yy.setClass($$[$0-2],$$[$0]);break;case 107:case 115:this.$=$$[$0-1],yy.setClickEvent($$[$0-1],$$[$0]);break;case 108:case 116:this.$=$$[$0-3],yy.setClickEvent($$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-3],$$[$0]);break;case 109:this.$=$$[$0-2],yy.setClickEvent($$[$0-2],$$[$0-1],$$[$0]);break;case 110:this.$=$$[$0-4],yy.setClickEvent($$[$0-4],$$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-4],$$[$0]);break;case 111:this.$=$$[$0-2],yy.setLink($$[$0-2],$$[$0]);break;case 112:this.$=$$[$0-4],yy.setLink($$[$0-4],$$[$0-2]),yy.setTooltip($$[$0-4],$$[$0]);break;case 113:this.$=$$[$0-4],yy.setLink($$[$0-4],$$[$0-2],$$[$0]);break;case 114:this.$=$$[$0-6],yy.setLink($$[$0-6],$$[$0-4],$$[$0]),yy.setTooltip($$[$0-6],$$[$0-2]);break;case 117:this.$=$$[$0-1],yy.setLink($$[$0-1],$$[$0]);break;case 118:this.$=$$[$0-3],yy.setLink($$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-3],$$[$0]);break;case 119:this.$=$$[$0-3],yy.setLink($$[$0-3],$$[$0-2],$$[$0]);break;case 120:this.$=$$[$0-5],yy.setLink($$[$0-5],$$[$0-4],$$[$0]),yy.setTooltip($$[$0-5],$$[$0-2]);break;case 121:this.$=$$[$0-4],yy.addVertex($$[$0-2],void 0,void 0,$$[$0]);break;case 122:this.$=$$[$0-4],yy.updateLink([$$[$0-2]],$$[$0]);break;case 123:this.$=$$[$0-4],yy.updateLink($$[$0-2],$$[$0]);break;case 124:this.$=$$[$0-8],yy.updateLinkInterpolate([$$[$0-6]],$$[$0-2]),yy.updateLink([$$[$0-6]],$$[$0]);break;case 125:this.$=$$[$0-8],yy.updateLinkInterpolate($$[$0-6],$$[$0-2]),yy.updateLink($$[$0-6],$$[$0]);break;case 126:this.$=$$[$0-6],yy.updateLinkInterpolate([$$[$0-4]],$$[$0]);break;case 127:this.$=$$[$0-6],yy.updateLinkInterpolate($$[$0-4],$$[$0]);break;case 129:case 131:$$[$0-2].push($$[$0]),this.$=$$[$0-2];break;case 182:case 184:this.$=$$[$0-1]+""+$$[$0];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:$V0,10:$V1,12:$V2},{1:[3]},o($V3,$V4,{5:6}),{4:7,9:$V0,10:$V1,12:$V2},{4:8,9:$V0,10:$V1,12:$V2},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},o($V3,[2,9]),o($V3,[2,10]),o($V3,[2,11]),{8:[1,55],9:[1,56],10:$Vy,15:54,18:57},o($Vz,[2,3]),o($Vz,[2,4]),o($Vz,[2,5]),o($Vz,[2,6]),o($Vz,[2,7]),o($Vz,[2,8]),{8:$VA,9:$VB,11:$VC,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$VA,9:$VB,11:$VC,21:68},{8:$VA,9:$VB,11:$VC,21:69},{8:$VA,9:$VB,11:$VC,21:70},{8:$VA,9:$VB,11:$VC,21:71},{8:$VA,9:$VB,11:$VC,21:72},{8:$VA,9:$VB,10:[1,73],11:$VC,21:74},o($Vz,[2,36]),{35:[1,75]},{37:[1,76]},o($Vz,[2,39]),o($VD,[2,50],{18:77,39:78,10:$Vy,40:$VE}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:$VF,44:$VG,60:$VH,80:[1,87],89:$VI,95:[1,84],97:[1,85],101:86,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},o($Vz,[2,185]),o($Vz,[2,186]),o($Vz,[2,187]),o($Vz,[2,188]),o($Vz,[2,189]),o($VQ,[2,51]),o($VQ,[2,54],{46:[1,100]}),o($VR,[2,72],{113:113,29:[1,101],44:$Vd,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:$Ve,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),o($VS,[2,181]),o($VS,[2,142]),o($VS,[2,143]),o($VS,[2,144]),o($VS,[2,145]),o($VS,[2,146]),o($VS,[2,147]),o($VS,[2,148]),o($VS,[2,149]),o($VS,[2,150]),o($VS,[2,151]),o($VS,[2,152]),o($V3,[2,12]),o($V3,[2,18]),o($V3,[2,19]),{9:[1,114]},o($VT,[2,26],{18:115,10:$Vy}),o($Vz,[2,27]),{42:116,43:39,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vz,[2,40]),o($Vz,[2,41]),o($Vz,[2,42]),o($VU,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:$VV,81:$VW,116:$VX,119:$VY},{75:[1,126],77:[1,127]},o($VZ,[2,83]),o($Vz,[2,28]),o($Vz,[2,29]),o($Vz,[2,30]),o($Vz,[2,31]),o($Vz,[2,32]),{10:$V_,12:$V$,14:$V01,27:$V11,28:128,32:$V21,44:$V31,60:$V41,75:$V51,80:[1,130],81:[1,131],83:141,84:$V61,85:$V71,86:$V81,87:$V91,88:$Va1,89:$Vb1,90:$Vc1,91:129,105:$Vd1,109:$Ve1,111:$Vf1,114:$Vg1,115:$Vh1,116:$Vi1},o($Vj1,$V4,{5:154}),o($Vz,[2,37]),o($Vz,[2,38]),o($VD,[2,48],{44:$Vk1}),o($VD,[2,49],{18:156,10:$Vy,40:$Vl1}),o($VQ,[2,44]),{44:$Vd,47:158,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{102:[1,159],103:160,105:[1,161]},{44:$Vd,47:162,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{44:$Vd,47:163,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},o($Vm1,[2,115],{120:168,10:[1,167],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,117],{10:[1,169]}),o($Vn1,[2,183]),o($Vn1,[2,170]),o($Vn1,[2,171]),o($Vn1,[2,172]),o($Vn1,[2,173]),o($Vn1,[2,174]),o($Vn1,[2,175]),o($Vn1,[2,176]),o($Vn1,[2,177]),o($Vn1,[2,178]),o($Vn1,[2,179]),o($Vn1,[2,180]),{44:$Vd,47:170,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{30:171,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:179,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:181,50:[1,180],67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:182,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:183,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:184,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{109:[1,185]},{30:186,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:187,65:[1,188],67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:189,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:190,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:191,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($VS,[2,182]),o($V3,[2,20]),o($VT,[2,25]),o($VD,[2,46],{39:192,18:193,10:$Vy,40:$VE}),o($VU,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{77:[1,197],79:198,116:$VX,119:$VY},o($Vu1,[2,79]),o($Vu1,[2,81]),o($Vu1,[2,82]),o($Vu1,[2,168]),o($Vu1,[2,169]),{76:199,79:121,80:$VV,81:$VW,116:$VX,119:$VY},o($VZ,[2,84]),{8:$VA,9:$VB,10:$V_,11:$VC,12:$V$,14:$V01,21:201,27:$V11,29:[1,200],32:$V21,44:$V31,60:$V41,75:$V51,83:141,84:$V61,85:$V71,86:$V81,87:$V91,88:$Va1,89:$Vb1,90:$Vc1,91:202,105:$Vd1,109:$Ve1,111:$Vf1,114:$Vg1,115:$Vh1,116:$Vi1},o($Vv1,[2,101]),o($Vv1,[2,103]),o($Vv1,[2,104]),o($Vv1,[2,157]),o($Vv1,[2,158]),o($Vv1,[2,159]),o($Vv1,[2,160]),o($Vv1,[2,161]),o($Vv1,[2,162]),o($Vv1,[2,163]),o($Vv1,[2,164]),o($Vv1,[2,165]),o($Vv1,[2,166]),o($Vv1,[2,167]),o($Vv1,[2,90]),o($Vv1,[2,91]),o($Vv1,[2,92]),o($Vv1,[2,93]),o($Vv1,[2,94]),o($Vv1,[2,95]),o($Vv1,[2,96]),o($Vv1,[2,97]),o($Vv1,[2,98]),o($Vv1,[2,99]),o($Vv1,[2,100]),{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,203],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},{10:$Vy,18:204},{44:[1,205]},o($VQ,[2,43]),{10:[1,206],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{10:[1,207]},{10:[1,208],106:[1,209]},o($Vw1,[2,128]),{10:[1,210],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{10:[1,211],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{80:[1,212]},o($Vm1,[2,109],{10:[1,213]}),o($Vm1,[2,111],{10:[1,214]}),{80:[1,215]},o($Vn1,[2,184]),{80:[1,216],98:[1,217]},o($VQ,[2,55],{113:113,44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),{31:[1,218],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($Vx1,[2,86]),o($Vx1,[2,88]),o($Vx1,[2,89]),o($Vx1,[2,153]),o($Vx1,[2,154]),o($Vx1,[2,155]),o($Vx1,[2,156]),{49:[1,220],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{30:221,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{51:[1,222],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{53:[1,223],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{55:[1,224],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{57:[1,225],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{60:[1,226]},{64:[1,227],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{66:[1,228],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{30:229,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{31:[1,230],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{67:$Vo1,69:[1,231],71:[1,232],82:219,116:$Vr1,117:$Vs1,118:$Vt1},{67:$Vo1,69:[1,234],71:[1,233],82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VD,[2,45],{18:156,10:$Vy,40:$Vl1}),o($VD,[2,47],{44:$Vk1}),o($VU,[2,75]),o($VU,[2,74]),{62:[1,235],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VU,[2,77]),o($Vu1,[2,80]),{77:[1,236],79:198,116:$VX,119:$VY},{30:237,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($Vj1,$V4,{5:238}),o($Vv1,[2,102]),o($Vz,[2,35]),{43:239,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{10:$Vy,18:240},{10:$Vy1,60:$Vz1,84:$VA1,92:241,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:252,104:[1,253],105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:254,104:[1,255],105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{105:[1,256]},{10:$Vy1,60:$Vz1,84:$VA1,92:257,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{44:$Vd,47:258,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},o($Vm1,[2,116]),o($Vm1,[2,118],{10:[1,262]}),o($Vm1,[2,119]),o($VR,[2,56]),o($Vx1,[2,87]),o($VR,[2,57]),{51:[1,263],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,64]),o($VR,[2,59]),o($VR,[2,60]),o($VR,[2,61]),{109:[1,264]},o($VR,[2,63]),o($VR,[2,65]),{66:[1,265],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,67]),o($VR,[2,68]),o($VR,[2,70]),o($VR,[2,69]),o($VR,[2,71]),o([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),o($VU,[2,78]),{31:[1,266],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,267],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},o($VQ,[2,53]),{43:268,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,121],{106:$VG1}),o($VH1,[2,130],{108:270,10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,109:$VC1,110:$VD1,111:$VE1,112:$VF1}),o($VI1,[2,132]),o($VI1,[2,134]),o($VI1,[2,135]),o($VI1,[2,136]),o($VI1,[2,137]),o($VI1,[2,138]),o($VI1,[2,139]),o($VI1,[2,140]),o($VI1,[2,141]),o($Vm1,[2,122],{106:$VG1}),{10:[1,271]},o($Vm1,[2,123],{106:$VG1}),{10:[1,272]},o($Vw1,[2,129]),o($Vm1,[2,105],{106:$VG1}),o($Vm1,[2,106],{113:113,44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),o($Vm1,[2,110]),o($Vm1,[2,112],{10:[1,273]}),o($Vm1,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$VA,9:$VB,11:$VC,21:278},o($Vz,[2,34]),o($VQ,[2,52]),{10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,107:279,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},o($VI1,[2,133]),{14:$VF,44:$VG,60:$VH,89:$VI,101:280,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},{14:$VF,44:$VG,60:$VH,89:$VI,101:281,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},{98:[1,282]},o($Vm1,[2,120]),o($VR,[2,58]),{30:283,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,66]),o($Vj1,$V4,{5:284}),o($VH1,[2,131],{108:270,10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,109:$VC1,110:$VD1,111:$VE1,112:$VF1}),o($Vm1,[2,126],{120:168,10:[1,285],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,127],{120:168,10:[1,286],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,114]),{31:[1,287],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,288],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},{10:$Vy1,60:$Vz1,84:$VA1,92:289,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:290,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},o($VR,[2,62]),o($Vz,[2,33]),o($Vm1,[2,124],{106:$VG1}),o($Vm1,[2,125],{106:$VG1})],defaultActions:{},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.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),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=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),lines.length-1&&(this.yylineno-=lines.length-1);var r=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:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(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})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={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&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,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(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),yy_.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const re=/\n\s*/g;return yy_.yytext=yy_.yytext.replace(re,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:return yy.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:case 103:return 111;case 63:return 46;case 64:return 60;case 65:case 104:return 44;case 66:return 8;case 67:return 106;case 68:case 102:return 115;case 69:case 72:case 75:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:case 74:case 77:return 119;case 73:return this.pushState("thickEdgeText"),75;case 76:return this.pushState("dottedEdgeText"),75;case 78:return 77;case 79:return this.popState(),53;case 80:case 116:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_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]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var flow_default=parser,newParser=Object.assign({},flow_default);newParser.parse=src=>{const newSrc=src.replace(/}\s*\n/g,"}\n");return flow_default.parse(newSrc)};var flowParser_default=newParser,fade=__name((color,opacity)=>{const channel2=channel,r=channel2(color,"r"),g=channel2(color,"g"),b=channel2(color,"b");return rgba(r,g,b,opacity)},"fade"),styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor||options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span {\n color: ${options.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${options.nodeTextColor||options.textColor};\n color: ${options.nodeTextColor||options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: ${options.strokeWidth??1}px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${options.lineColor} !important;\n stroke-width: 0;\n stroke: ${options.lineColor};\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: ${options.strokeWidth??2}px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${options.clusterBkg};\n stroke: ${options.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n padding: 2px;\n }\n .label rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n ${getIconStyles()}\n`,"getStyles"),diagram={parser:flowParser_default,get db(){return new FlowDB},renderer:flowRenderer_v3_unified_default,styles:styles_default,init:__name(cnf=>{cnf.flowchart||(cnf.flowchart={}),cnf.layout&&setConfig2({layout:cnf.layout}),cnf.flowchart.arrowMarkerAbsolute=cnf.arrowMarkerAbsolute,setConfig2({flowchart:{arrowMarkerAbsolute:cnf.arrowMarkerAbsolute}})},"init")};export{diagram};
1
+ var _a;import{g as getIconStyles}from"./chunk-FMBD7UC4-Ca_AgqWi.js";import{_ as __name,n as setConfig2,l as log,c as getConfig2,o as getRegisteredLayoutAlgorithm,r as render,u as utils_default,b as setAccTitle,s as setAccDescription,p as setDiagramTitle,a as getAccTitle,g as getAccDescription,q as getDiagramTitle,k as common_default,t as load,J as JSON_SCHEMA,v as isValidShape,x as getEdgeId,d as select,y as clear,z as defaultConfig2,A as rgba}from"./mermaid.core-1heNIJ5f.js";import{c as createTooltip}from"./chunk-YZCP3GAM-DznXBadU.js";import{g as getDiagramElement}from"./chunk-55IACEB6-DrKr3wBa.js";import{s as setupViewPortForSVG}from"./chunk-EDXVE4YY-o_0SUbAB.js";import{p as purify}from"./vendor-markdown-BFrYfpb0.js";import{c as channel}from"./channel-Ny3Nm_-t.js";import"./vendor-mdxeditor-BB4hhpxM.js";import"./vendor-antd-BG1SvzuN.js";import"./vendor-codemirror-8NDhydlF.js";var FlowDB=(__name(_a=class{constructor(){this.vertexCounter=0,this.config=getConfig2(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=setAccTitle,this.setAccDescription=setAccDescription,this.setDiagramTitle=setDiagramTitle,this.getAccTitle=getAccTitle,this.getAccDescription=getAccDescription,this.getDiagramTitle=getDiagramTitle,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(txt){return common_default.sanitizeText(txt,this.config)}sanitizeNodeLabelType(labelType){switch(labelType){case"markdown":case"string":case"text":return labelType;default:return"markdown"}}setDiagramId(svgElementId){this.diagramId=svgElementId}lookUpDomId(id){for(const vertex of this.vertices.values())if(vertex.id===id)return this.diagramId?`${this.diagramId}-${vertex.domId}`:vertex.domId;return this.diagramId?`${this.diagramId}-${id}`:id}addVertex(id,textObj,type,style,classes,dir,props={},metadata){var _a2,_b;if(!id||0===id.trim().length)return;let doc;if(void 0!==metadata){let yamlData;yamlData=metadata.includes("\n")?metadata+"\n":"{\n"+metadata+"\n}",doc=load(yamlData,{schema:JSON_SCHEMA})}const edge=this.edges.find(e=>e.id===id);if(edge){const edgeDoc=doc;return void 0!==(null==edgeDoc?void 0:edgeDoc.animate)&&(edge.animate=edgeDoc.animate),void 0!==(null==edgeDoc?void 0:edgeDoc.animation)&&(edge.animation=edgeDoc.animation),void(void 0!==(null==edgeDoc?void 0:edgeDoc.curve)&&(edge.interpolate=edgeDoc.curve))}let txt,vertex=this.vertices.get(id);if(void 0===vertex&&(void 0===textObj&&void 0===type&&null!=style&&log.warn(`Style applied to unknown node "${id}". This may indicate a typo. The node will be created automatically.`),vertex={id:id,labelType:"text",domId:"flowchart-"+id+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(id,vertex)),this.vertexCounter++,void 0!==textObj?(this.config=getConfig2(),txt=this.sanitizeText(textObj.text.trim()),vertex.labelType=textObj.type,txt.startsWith('"')&&txt.endsWith('"')&&(txt=txt.substring(1,txt.length-1)),vertex.text=txt):void 0===vertex.text&&(vertex.text=id),void 0!==type&&(vertex.type=type),null!=style&&style.forEach(s=>{vertex.styles.push(s)}),null!=classes&&classes.forEach(s=>{vertex.classes.push(s)}),void 0!==dir&&(vertex.dir=dir),void 0===vertex.props?vertex.props=props:void 0!==props&&Object.assign(vertex.props,props),void 0!==doc){if(doc.shape){if(doc.shape!==doc.shape.toLowerCase()||doc.shape.includes("_"))throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);if(!isValidShape(doc.shape))throw new Error(`No such shape: ${doc.shape}.`);vertex.type=null==doc?void 0:doc.shape}(null==doc?void 0:doc.label)&&(vertex.text=null==doc?void 0:doc.label,vertex.labelType=this.sanitizeNodeLabelType(null==doc?void 0:doc.labelType)),(null==doc?void 0:doc.icon)&&(vertex.icon=null==doc?void 0:doc.icon,(null==(_a2=doc.label)?void 0:_a2.trim())||vertex.text!==id||(vertex.text="")),(null==doc?void 0:doc.form)&&(vertex.form=null==doc?void 0:doc.form),(null==doc?void 0:doc.pos)&&(vertex.pos=null==doc?void 0:doc.pos),(null==doc?void 0:doc.img)&&(vertex.img=null==doc?void 0:doc.img,(null==(_b=doc.label)?void 0:_b.trim())||vertex.text!==id||(vertex.text="")),(null==doc?void 0:doc.constraint)&&(vertex.constraint=doc.constraint),doc.w&&(vertex.assetWidth=Number(doc.w)),doc.h&&(vertex.assetHeight=Number(doc.h))}}addSingleLink(_start,_end,type,id){const edge={start:_start,end:_end,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};log.info("abc78 Got edge...",edge);const linkTextObj=type.text;if(void 0!==linkTextObj&&(edge.text=this.sanitizeText(linkTextObj.text.trim()),edge.text.startsWith('"')&&edge.text.endsWith('"')&&(edge.text=edge.text.substring(1,edge.text.length-1)),edge.labelType=this.sanitizeNodeLabelType(linkTextObj.type)),void 0!==type&&(edge.type=type.type,edge.stroke=type.stroke,edge.length=type.length>10?10:type.length),id&&!this.edges.some(e=>e.id===id))edge.id=id,edge.isUserDefinedId=!0;else{const existingLinks=this.edges.filter(e=>e.start===edge.start&&e.end===edge.end);0===existingLinks.length?edge.id=getEdgeId(edge.start,edge.end,{counter:0,prefix:"L"}):edge.id=getEdgeId(edge.start,edge.end,{counter:existingLinks.length+1,prefix:"L"})}if(!(this.edges.length<(this.config.maxEdges??500)))throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);log.info("Pushing edge..."),this.edges.push(edge)}isLinkData(value){return null!==value&&"object"==typeof value&&"id"in value&&"string"==typeof value.id}addLink(_start,_end,linkData){const id=this.isLinkData(linkData)?linkData.id.replace("@",""):void 0;log.info("addLink",_start,_end,id);for(const start of _start)for(const end of _end){const isLastStart=start===_start[_start.length-1],isFirstEnd=end===_end[0];isLastStart&&isFirstEnd?this.addSingleLink(start,end,linkData,id):this.addSingleLink(start,end,linkData,void 0)}}updateLinkInterpolate(positions,interpolate){positions.forEach(pos=>{"default"===pos?this.edges.defaultInterpolate=interpolate:this.edges[pos].interpolate=interpolate})}updateLink(positions,style){positions.forEach(pos=>{var _a2,_b,_c,_d,_e,_f;if("number"==typeof pos&&pos>=this.edges.length)throw new Error(`The index ${pos} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===pos?this.edges.defaultStyle=style:(this.edges[pos].style=style,((null==(_b=null==(_a2=this.edges[pos])?void 0:_a2.style)?void 0:_b.length)??0)>0&&!(null==(_d=null==(_c=this.edges[pos])?void 0:_c.style)?void 0:_d.some(s=>null==s?void 0:s.startsWith("fill")))&&(null==(_f=null==(_e=this.edges[pos])?void 0:_e.style)||_f.push("fill:none")))})}addClass(ids,_style){const style=_style.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");ids.split(",").forEach(id=>{let classNode=this.classes.get(id);void 0===classNode&&(classNode={id:id,styles:[],textStyles:[]},this.classes.set(id,classNode)),null!=style&&style.forEach(s=>{if(/color/.exec(s)){const newStyle=s.replace("fill","bgFill");classNode.textStyles.push(newStyle)}classNode.styles.push(s)})})}setDirection(dir){this.direction=dir.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),"TD"===this.direction&&(this.direction="TB")}setClass(ids,className){for(const id of ids.split(",")){const vertex=this.vertices.get(id);vertex&&vertex.classes.push(className);const edge=this.edges.find(e=>e.id===id);edge&&edge.classes.push(className);const subGraph=this.subGraphLookup.get(id);subGraph&&subGraph.classes.push(className)}}setTooltip(ids,tooltip){if(void 0!==tooltip){tooltip=this.sanitizeText(tooltip);for(const id of ids.split(","))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(id):id,tooltip)}}setClickFun(id,functionName,functionArgs){if("loose"!==getConfig2().securityLevel)return;if(void 0===functionName)return;let argList=[];if("string"==typeof functionArgs){argList=functionArgs.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let i=0;i<argList.length;i++){let item=argList[i].trim();item.startsWith('"')&&item.endsWith('"')&&(item=item.substr(1,item.length-2)),argList[i]=item}}0===argList.length&&argList.push(id);const vertex=this.vertices.get(id);vertex&&(vertex.haveCallback=!0,this.funs.push(()=>{const domId=this.lookUpDomId(id),elem=document.querySelector(`[id="${domId}"]`);null!==elem&&elem.addEventListener("click",()=>{utils_default.runFunc(functionName,...argList)},!1)}))}setLink(ids,linkStr,target){ids.split(",").forEach(id=>{const vertex=this.vertices.get(id);void 0!==vertex&&(vertex.link=utils_default.formatUrl(linkStr,this.config),vertex.linkTarget=target)}),this.setClass(ids,"clickable")}getTooltip(id){return this.tooltips.get(id)}setClickEvent(ids,functionName,functionArgs){ids.split(",").forEach(id=>{this.setClickFun(id,functionName,functionArgs)}),this.setClass(ids,"clickable")}bindFunctions(element){this.funs.forEach(fun=>{fun(element)})}getDirection(){var _a2;return null==(_a2=this.direction)?void 0:_a2.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(element){const tooltipElem=createTooltip();select(element).select("svg").selectAll("g.node").on("mouseover",e=>{var _a2;const el=select(e.currentTarget),title=el.attr("title");if(null===title)return;const rect=null==(_a2=e.currentTarget)?void 0:_a2.getBoundingClientRect();tooltipElem.transition().duration(200).style("opacity",".9"),tooltipElem.text(el.attr("title")).style("left",window.scrollX+rect.left+(rect.right-rect.left)/2+"px").style("top",window.scrollY+rect.bottom+"px"),tooltipElem.html(purify.sanitize(title)),el.classed("hover",!0)}).on("mouseout",e=>{tooltipElem.transition().duration(500).style("opacity",0);select(e.currentTarget).classed("hover",!1)})}clear(ver="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=ver,this.config=getConfig2(),clear()}setGen(ver){this.version=ver||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(_id,list,_title){let id=_id.text.trim(),title=_title.text;_id===_title&&/\s/.exec(_title.text)&&(id=void 0);const result=__name(a=>{const prims={boolean:{},number:{},string:{}},objs=[];let dir2;return{nodeList:a.filter(function(item){const type=typeof item;return item.stmt&&"dir"===item.stmt?(dir2=item.value,!1):""!==item.trim()&&(type in prims?!prims[type].hasOwnProperty(item)&&(prims[type][item]=!0):!objs.includes(item)&&objs.push(item))}),dir:dir2}},"uniq")(list.flat()),nodeList=result.nodeList;let dir=result.dir;const flowchartConfig=getConfig2().flowchart??{};if(dir=dir??(flowchartConfig.inheritDir?this.getDirection()??getConfig2().direction??void 0:void 0),"gen-1"===this.version)for(let i=0;i<nodeList.length;i++)nodeList[i]=this.lookUpDomId(nodeList[i]);id=id??"subGraph"+this.subCount,title=title||"",title=this.sanitizeText(title),this.subCount=this.subCount+1;const subGraph={id:id,nodes:nodeList,title:title.trim(),classes:[],dir:dir,labelType:this.sanitizeNodeLabelType(null==_title?void 0:_title.type)};return log.info("Adding",subGraph.id,subGraph.nodes,subGraph.dir),subGraph.nodes=this.makeUniq(subGraph,this.subGraphs).nodes,this.subGraphs.push(subGraph),this.subGraphLookup.set(id,subGraph),id}getPosForId(id){for(const[i,subGraph]of this.subGraphs.entries())if(subGraph.id===id)return i;return-1}indexNodes2(id,pos){const nodes=this.subGraphs[pos].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=pos,this.subGraphs[pos].id===id)return{result:!0,count:0};let count=0,posCount=1;for(;count<nodes.length;){const childPos=this.getPosForId(nodes[count]);if(childPos>=0){const res=this.indexNodes2(id,childPos);if(res.result)return{result:!0,count:posCount+res.count};posCount+=res.count}count+=1}return{result:!1,count:posCount}}getDepthFirstPos(pos){return this.posCrossRef[pos]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return!!this.firstGraphFlag&&(this.firstGraphFlag=!1,!0)}destructStartLink(_str){let str=_str.trim(),type="arrow_open";switch(str[0]){case"<":type="arrow_point",str=str.slice(1);break;case"x":type="arrow_cross",str=str.slice(1);break;case"o":type="arrow_circle",str=str.slice(1)}let stroke="normal";return str.includes("=")&&(stroke="thick"),str.includes(".")&&(stroke="dotted"),{type:type,stroke:stroke}}countChar(char,str){const length=str.length;let count=0;for(let i=0;i<length;++i)str[i]===char&&++count;return count}destructEndLink(_str){const str=_str.trim();let line=str.slice(0,-1),type="arrow_open";switch(str.slice(-1)){case"x":type="arrow_cross",str.startsWith("x")&&(type="double_"+type,line=line.slice(1));break;case">":type="arrow_point",str.startsWith("<")&&(type="double_"+type,line=line.slice(1));break;case"o":type="arrow_circle",str.startsWith("o")&&(type="double_"+type,line=line.slice(1))}let stroke="normal",length=line.length-1;line.startsWith("=")&&(stroke="thick"),line.startsWith("~")&&(stroke="invisible");const dots=this.countChar(".",line);return dots&&(stroke="dotted",length=dots),{type:type,stroke:stroke,length:length}}destructLink(_str,_startStr){const info=this.destructEndLink(_str);let startInfo;if(_startStr){if(startInfo=this.destructStartLink(_startStr),startInfo.stroke!==info.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===startInfo.type)startInfo.type=info.type;else{if(startInfo.type!==info.type)return{type:"INVALID",stroke:"INVALID"};startInfo.type="double_"+startInfo.type}return"double_arrow"===startInfo.type&&(startInfo.type="double_arrow_point"),startInfo.length=info.length,startInfo}return info}exists(allSgs,_id){for(const sg of allSgs)if(sg.nodes.includes(_id))return!0;return!1}makeUniq(sg,allSubgraphs){const res=[];return sg.nodes.forEach((_id,pos)=>{this.exists(allSubgraphs,_id)||res.push(sg.nodes[pos])}),{nodes:res}}getTypeFromVertex(vertex){if(vertex.img)return"imageSquare";if(vertex.icon)return"circle"===vertex.form?"iconCircle":"square"===vertex.form?"iconSquare":"rounded"===vertex.form?"iconRounded":"icon";switch(vertex.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return vertex.type}}findNode(nodes,id){return nodes.find(node=>node.id===id)}destructEdgeType(type){let arrowTypeStart="none",arrowTypeEnd="arrow_point";switch(type){case"arrow_point":case"arrow_circle":case"arrow_cross":arrowTypeEnd=type;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":arrowTypeStart=type.replace("double_",""),arrowTypeEnd=arrowTypeStart}return{arrowTypeStart:arrowTypeStart,arrowTypeEnd:arrowTypeEnd}}addNodeFromVertex(vertex,nodes,parentDB,subGraphDB,config,look){var _a2;const parentId=parentDB.get(vertex.id),isGroup=subGraphDB.get(vertex.id)??!1,node=this.findNode(nodes,vertex.id);if(node)node.cssStyles=vertex.styles,node.cssCompiledStyles=this.getCompiledStyles(vertex.classes),node.cssClasses=vertex.classes.join(" ");else{const baseNode={id:vertex.id,label:vertex.text,labelType:vertex.labelType,labelStyle:"",parentId:parentId,padding:(null==(_a2=config.flowchart)?void 0:_a2.padding)||8,cssStyles:vertex.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...vertex.classes]),cssClasses:"default "+vertex.classes.join(" "),dir:vertex.dir,domId:vertex.domId,look:look,link:vertex.link,linkTarget:vertex.linkTarget,tooltip:this.getTooltip(vertex.id),icon:vertex.icon,pos:vertex.pos,img:vertex.img,assetWidth:vertex.assetWidth,assetHeight:vertex.assetHeight,constraint:vertex.constraint};isGroup?nodes.push({...baseNode,isGroup:!0,shape:"rect"}):nodes.push({...baseNode,isGroup:!1,shape:this.getTypeFromVertex(vertex)})}}getCompiledStyles(classDefs){let compiledStyles=[];for(const customClass of classDefs){const cssClass=this.classes.get(customClass);(null==cssClass?void 0:cssClass.styles)&&(compiledStyles=[...compiledStyles,...cssClass.styles??[]].map(s=>s.trim())),(null==cssClass?void 0:cssClass.textStyles)&&(compiledStyles=[...compiledStyles,...cssClass.textStyles??[]].map(s=>s.trim()))}return compiledStyles}getData(){const config=getConfig2(),nodes=[],edges=[],subGraphs=this.getSubGraphs(),parentDB=new Map,subGraphDB=new Map;for(let i=subGraphs.length-1;i>=0;i--){const subGraph=subGraphs[i];subGraph.nodes.length>0&&subGraphDB.set(subGraph.id,!0);for(const id of subGraph.nodes)parentDB.set(id,subGraph.id)}for(let i=subGraphs.length-1;i>=0;i--){const subGraph=subGraphs[i];nodes.push({id:subGraph.id,label:subGraph.title,labelStyle:"",labelType:subGraph.labelType,parentId:parentDB.get(subGraph.id),padding:8,cssCompiledStyles:this.getCompiledStyles(subGraph.classes),cssClasses:subGraph.classes.join(" "),shape:"rect",dir:subGraph.dir,isGroup:!0,look:config.look})}this.getVertices().forEach(vertex=>{this.addNodeFromVertex(vertex,nodes,parentDB,subGraphDB,config,config.look||"classic")});const e=this.getEdges();return e.forEach((rawEdge,index)=>{var _a2;const{arrowTypeStart:arrowTypeStart,arrowTypeEnd:arrowTypeEnd}=this.destructEdgeType(rawEdge.type),styles=[...e.defaultStyle??[]];rawEdge.style&&styles.push(...rawEdge.style);const edge={id:getEdgeId(rawEdge.start,rawEdge.end,{counter:index,prefix:"L"},rawEdge.id),isUserDefinedId:rawEdge.isUserDefinedId,start:rawEdge.start,end:rawEdge.end,type:rawEdge.type??"normal",label:rawEdge.text,labelType:rawEdge.labelType,labelpos:"c",thickness:rawEdge.stroke,minlen:rawEdge.length,classes:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)||"arrow_open"===(null==rawEdge?void 0:rawEdge.type)?"none":arrowTypeStart,arrowTypeEnd:"invisible"===(null==rawEdge?void 0:rawEdge.stroke)||"arrow_open"===(null==rawEdge?void 0:rawEdge.type)?"none":arrowTypeEnd,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(rawEdge.classes),labelStyle:styles,style:styles,pattern:rawEdge.stroke,look:config.look,animate:rawEdge.animate,animation:rawEdge.animation,curve:rawEdge.interpolate||this.edges.defaultInterpolate||(null==(_a2=config.flowchart)?void 0:_a2.curve)};edges.push(edge)}),{nodes:nodes,edges:edges,other:{},config:config}}defaultConfig(){return defaultConfig2.flowchart}},"FlowDB"),_a),flowRenderer_v3_unified_default={getClasses:__name(function(text,diagramObj){return diagramObj.db.getClasses()},"getClasses"),draw:__name(async function(text,id,_version,diag){var _a2;log.info("REF0:"),log.info("Drawing state diagram (v2)",id);const{securityLevel:securityLevel,flowchart:conf,layout:layout}=getConfig2();diag.db.setDiagramId(id),log.debug("Before getData: ");const data4Layout=diag.db.getData();log.debug("Data: ",data4Layout);const svg=getDiagramElement(id,securityLevel),direction=diag.db.getDirection();data4Layout.type=diag.type,data4Layout.layoutAlgorithm=getRegisteredLayoutAlgorithm(layout),"dagre"===data4Layout.layoutAlgorithm&&"elk"===layout&&log.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),data4Layout.direction=direction,data4Layout.nodeSpacing=(null==conf?void 0:conf.nodeSpacing)||50,data4Layout.rankSpacing=(null==conf?void 0:conf.rankSpacing)||50,data4Layout.markers=["point","circle","cross"],data4Layout.diagramId=id,log.debug("REF1:",data4Layout),await render(data4Layout,svg);const padding=(null==(_a2=data4Layout.config.flowchart)?void 0:_a2.diagramPadding)??8;utils_default.insertTitle(svg,"flowchartTitleText",(null==conf?void 0:conf.titleTopMargin)||0,diag.db.getDiagramTitle()),setupViewPortForSVG(svg,padding,"flowchart",(null==conf?void 0:conf.useMaxWidth)||!1)},"draw")},parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[1,4],$V1=[1,3],$V2=[1,5],$V3=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$V4=[2,2],$V5=[1,13],$V6=[1,14],$V7=[1,15],$V8=[1,16],$V9=[1,23],$Va=[1,25],$Vb=[1,26],$Vc=[1,27],$Vd=[1,50],$Ve=[1,49],$Vf=[1,29],$Vg=[1,30],$Vh=[1,31],$Vi=[1,32],$Vj=[1,33],$Vk=[1,45],$Vl=[1,47],$Vm=[1,43],$Vn=[1,48],$Vo=[1,44],$Vp=[1,51],$Vq=[1,46],$Vr=[1,52],$Vs=[1,53],$Vt=[1,34],$Vu=[1,35],$Vv=[1,36],$Vw=[1,37],$Vx=[1,38],$Vy=[1,58],$Vz=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$VA=[1,62],$VB=[1,61],$VC=[1,63],$VD=[8,9,11,75,77,78],$VE=[1,79],$VF=[1,92],$VG=[1,97],$VH=[1,96],$VI=[1,93],$VJ=[1,89],$VK=[1,95],$VL=[1,91],$VM=[1,98],$VN=[1,94],$VO=[1,99],$VP=[1,90],$VQ=[8,9,10,11,40,75,77,78],$VR=[8,9,10,11,40,46,75,77,78],$VS=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],$VT=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],$VU=[44,60,89,102,105,106,109,111,114,115,116],$VV=[1,122],$VW=[1,123],$VX=[1,125],$VY=[1,124],$VZ=[44,60,62,74,89,102,105,106,109,111,114,115,116],$V_=[1,134],$V$=[1,148],$V01=[1,149],$V11=[1,150],$V21=[1,151],$V31=[1,136],$V41=[1,138],$V51=[1,142],$V61=[1,143],$V71=[1,144],$V81=[1,145],$V91=[1,146],$Va1=[1,147],$Vb1=[1,152],$Vc1=[1,153],$Vd1=[1,132],$Ve1=[1,133],$Vf1=[1,140],$Vg1=[1,135],$Vh1=[1,139],$Vi1=[1,137],$Vj1=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],$Vk1=[1,155],$Vl1=[1,157],$Vm1=[8,9,11],$Vn1=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],$Vo1=[1,177],$Vp1=[1,173],$Vq1=[1,174],$Vr1=[1,178],$Vs1=[1,175],$Vt1=[1,176],$Vu1=[77,116,119],$Vv1=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],$Vw1=[10,106],$Vx1=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],$Vy1=[1,248],$Vz1=[1,246],$VA1=[1,250],$VB1=[1,244],$VC1=[1,245],$VD1=[1,247],$VE1=[1,249],$VF1=[1,251],$VG1=[1,269],$VH1=[8,9,11,106],$VI1=[8,9,10,11,60,84,105,106,109,110,111,112],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray($$[$0])||$$[$0].length>0)&&$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=$$[$0];break;case 11:yy.setDirection("TB"),this.$="TB";break;case 12:yy.setDirection($$[$0-1]),this.$=$$[$0-1];break;case 27:this.$=$$[$0-1].nodes;break;case 33:this.$=yy.addSubGraph($$[$0-6],$$[$0-1],$$[$0-4]);break;case 34:this.$=yy.addSubGraph($$[$0-3],$$[$0-1],$$[$0-3]);break;case 35:this.$=yy.addSubGraph(void 0,$$[$0-1],void 0);break;case 37:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 38:case 39:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 43:case 133:this.$=$$[$0-1]+$$[$0];break;case 45:yy.addVertex($$[$0-1][$$[$0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0]),yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]),this.$={stmt:$$[$0-1],nodes:$$[$0-1].concat($$[$0-3].nodes)};break;case 46:yy.addLink($$[$0-2].stmt,$$[$0],$$[$0-1]),this.$={stmt:$$[$0],nodes:$$[$0].concat($$[$0-2].nodes)};break;case 47:yy.addLink($$[$0-3].stmt,$$[$0-1],$$[$0-2]),this.$={stmt:$$[$0-1],nodes:$$[$0-1].concat($$[$0-3].nodes)};break;case 48:this.$={stmt:$$[$0-1],nodes:$$[$0-1]};break;case 49:yy.addVertex($$[$0-1][$$[$0-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0]),this.$={stmt:$$[$0-1],nodes:$$[$0-1],shapeData:$$[$0]};break;case 50:this.$={stmt:$$[$0],nodes:$$[$0]};break;case 51:case 128:case 130:this.$=[$$[$0]];break;case 52:yy.addVertex($$[$0-5][$$[$0-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,$$[$0-4]),this.$=$$[$0-5].concat($$[$0]);break;case 53:this.$=$$[$0-4].concat($$[$0]);break;case 55:this.$=$$[$0-2],yy.setClass($$[$0-2],$$[$0]);break;case 56:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"square");break;case 57:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"doublecircle");break;case 58:this.$=$$[$0-5],yy.addVertex($$[$0-5],$$[$0-2],"circle");break;case 59:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"ellipse");break;case 60:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"stadium");break;case 61:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"subroutine");break;case 62:this.$=$$[$0-7],yy.addVertex($$[$0-7],$$[$0-1],"rect",void 0,void 0,void 0,Object.fromEntries([[$$[$0-5],$$[$0-3]]]));break;case 63:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"cylinder");break;case 64:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"round");break;case 65:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"diamond");break;case 66:this.$=$$[$0-5],yy.addVertex($$[$0-5],$$[$0-2],"hexagon");break;case 67:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"odd");break;case 68:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"trapezoid");break;case 69:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"inv_trapezoid");break;case 70:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"lean_right");break;case 71:this.$=$$[$0-3],yy.addVertex($$[$0-3],$$[$0-1],"lean_left");break;case 72:this.$=$$[$0],yy.addVertex($$[$0]);break;case 73:$$[$0-1].text=$$[$0],this.$=$$[$0-1];break;case 74:case 75:$$[$0-2].text=$$[$0-1],this.$=$$[$0-2];break;case 77:var inf=yy.destructLink($$[$0],$$[$0-2]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,text:$$[$0-1]};break;case 78:inf=yy.destructLink($$[$0],$$[$0-2]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,text:$$[$0-1],id:$$[$0-3]};break;case 79:case 86:case 101:case 103:this.$={text:$$[$0],type:"text"};break;case 80:case 87:case 102:this.$={text:$$[$0-1].text+""+$$[$0],type:$$[$0-1].type};break;case 81:case 88:this.$={text:$$[$0],type:"string"};break;case 82:case 89:case 104:this.$={text:$$[$0],type:"markdown"};break;case 83:inf=yy.destructLink($$[$0]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length};break;case 84:inf=yy.destructLink($$[$0]);this.$={type:inf.type,stroke:inf.stroke,length:inf.length,id:$$[$0-1]};break;case 85:this.$=$$[$0-1];break;case 105:this.$=$$[$0-4],yy.addClass($$[$0-2],$$[$0]);break;case 106:this.$=$$[$0-4],yy.setClass($$[$0-2],$$[$0]);break;case 107:case 115:this.$=$$[$0-1],yy.setClickEvent($$[$0-1],$$[$0]);break;case 108:case 116:this.$=$$[$0-3],yy.setClickEvent($$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-3],$$[$0]);break;case 109:this.$=$$[$0-2],yy.setClickEvent($$[$0-2],$$[$0-1],$$[$0]);break;case 110:this.$=$$[$0-4],yy.setClickEvent($$[$0-4],$$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-4],$$[$0]);break;case 111:this.$=$$[$0-2],yy.setLink($$[$0-2],$$[$0]);break;case 112:this.$=$$[$0-4],yy.setLink($$[$0-4],$$[$0-2]),yy.setTooltip($$[$0-4],$$[$0]);break;case 113:this.$=$$[$0-4],yy.setLink($$[$0-4],$$[$0-2],$$[$0]);break;case 114:this.$=$$[$0-6],yy.setLink($$[$0-6],$$[$0-4],$$[$0]),yy.setTooltip($$[$0-6],$$[$0-2]);break;case 117:this.$=$$[$0-1],yy.setLink($$[$0-1],$$[$0]);break;case 118:this.$=$$[$0-3],yy.setLink($$[$0-3],$$[$0-2]),yy.setTooltip($$[$0-3],$$[$0]);break;case 119:this.$=$$[$0-3],yy.setLink($$[$0-3],$$[$0-2],$$[$0]);break;case 120:this.$=$$[$0-5],yy.setLink($$[$0-5],$$[$0-4],$$[$0]),yy.setTooltip($$[$0-5],$$[$0-2]);break;case 121:this.$=$$[$0-4],yy.addVertex($$[$0-2],void 0,void 0,$$[$0]);break;case 122:this.$=$$[$0-4],yy.updateLink([$$[$0-2]],$$[$0]);break;case 123:this.$=$$[$0-4],yy.updateLink($$[$0-2],$$[$0]);break;case 124:this.$=$$[$0-8],yy.updateLinkInterpolate([$$[$0-6]],$$[$0-2]),yy.updateLink([$$[$0-6]],$$[$0]);break;case 125:this.$=$$[$0-8],yy.updateLinkInterpolate($$[$0-6],$$[$0-2]),yy.updateLink($$[$0-6],$$[$0]);break;case 126:this.$=$$[$0-6],yy.updateLinkInterpolate([$$[$0-4]],$$[$0]);break;case 127:this.$=$$[$0-6],yy.updateLinkInterpolate($$[$0-4],$$[$0]);break;case 129:case 131:$$[$0-2].push($$[$0]),this.$=$$[$0-2];break;case 182:case 184:this.$=$$[$0-1]+""+$$[$0];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:$V0,10:$V1,12:$V2},{1:[3]},o($V3,$V4,{5:6}),{4:7,9:$V0,10:$V1,12:$V2},{4:8,9:$V0,10:$V1,12:$V2},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},o($V3,[2,9]),o($V3,[2,10]),o($V3,[2,11]),{8:[1,55],9:[1,56],10:$Vy,15:54,18:57},o($Vz,[2,3]),o($Vz,[2,4]),o($Vz,[2,5]),o($Vz,[2,6]),o($Vz,[2,7]),o($Vz,[2,8]),{8:$VA,9:$VB,11:$VC,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:$VA,9:$VB,11:$VC,21:68},{8:$VA,9:$VB,11:$VC,21:69},{8:$VA,9:$VB,11:$VC,21:70},{8:$VA,9:$VB,11:$VC,21:71},{8:$VA,9:$VB,11:$VC,21:72},{8:$VA,9:$VB,10:[1,73],11:$VC,21:74},o($Vz,[2,36]),{35:[1,75]},{37:[1,76]},o($Vz,[2,39]),o($VD,[2,50],{18:77,39:78,10:$Vy,40:$VE}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:$VF,44:$VG,60:$VH,80:[1,87],89:$VI,95:[1,84],97:[1,85],101:86,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},o($Vz,[2,185]),o($Vz,[2,186]),o($Vz,[2,187]),o($Vz,[2,188]),o($Vz,[2,189]),o($VQ,[2,51]),o($VQ,[2,54],{46:[1,100]}),o($VR,[2,72],{113:113,29:[1,101],44:$Vd,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:$Ve,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),o($VS,[2,181]),o($VS,[2,142]),o($VS,[2,143]),o($VS,[2,144]),o($VS,[2,145]),o($VS,[2,146]),o($VS,[2,147]),o($VS,[2,148]),o($VS,[2,149]),o($VS,[2,150]),o($VS,[2,151]),o($VS,[2,152]),o($V3,[2,12]),o($V3,[2,18]),o($V3,[2,19]),{9:[1,114]},o($VT,[2,26],{18:115,10:$Vy}),o($Vz,[2,27]),{42:116,43:39,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vz,[2,40]),o($Vz,[2,41]),o($Vz,[2,42]),o($VU,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:$VV,81:$VW,116:$VX,119:$VY},{75:[1,126],77:[1,127]},o($VZ,[2,83]),o($Vz,[2,28]),o($Vz,[2,29]),o($Vz,[2,30]),o($Vz,[2,31]),o($Vz,[2,32]),{10:$V_,12:$V$,14:$V01,27:$V11,28:128,32:$V21,44:$V31,60:$V41,75:$V51,80:[1,130],81:[1,131],83:141,84:$V61,85:$V71,86:$V81,87:$V91,88:$Va1,89:$Vb1,90:$Vc1,91:129,105:$Vd1,109:$Ve1,111:$Vf1,114:$Vg1,115:$Vh1,116:$Vi1},o($Vj1,$V4,{5:154}),o($Vz,[2,37]),o($Vz,[2,38]),o($VD,[2,48],{44:$Vk1}),o($VD,[2,49],{18:156,10:$Vy,40:$Vl1}),o($VQ,[2,44]),{44:$Vd,47:158,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{102:[1,159],103:160,105:[1,161]},{44:$Vd,47:162,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{44:$Vd,47:163,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},o($Vm1,[2,115],{120:168,10:[1,167],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,117],{10:[1,169]}),o($Vn1,[2,183]),o($Vn1,[2,170]),o($Vn1,[2,171]),o($Vn1,[2,172]),o($Vn1,[2,173]),o($Vn1,[2,174]),o($Vn1,[2,175]),o($Vn1,[2,176]),o($Vn1,[2,177]),o($Vn1,[2,178]),o($Vn1,[2,179]),o($Vn1,[2,180]),{44:$Vd,47:170,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{30:171,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:179,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:181,50:[1,180],67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:182,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:183,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:184,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{109:[1,185]},{30:186,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:187,65:[1,188],67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:189,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:190,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{30:191,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($VS,[2,182]),o($V3,[2,20]),o($VT,[2,25]),o($VD,[2,46],{39:192,18:193,10:$Vy,40:$VE}),o($VU,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{77:[1,197],79:198,116:$VX,119:$VY},o($Vu1,[2,79]),o($Vu1,[2,81]),o($Vu1,[2,82]),o($Vu1,[2,168]),o($Vu1,[2,169]),{76:199,79:121,80:$VV,81:$VW,116:$VX,119:$VY},o($VZ,[2,84]),{8:$VA,9:$VB,10:$V_,11:$VC,12:$V$,14:$V01,21:201,27:$V11,29:[1,200],32:$V21,44:$V31,60:$V41,75:$V51,83:141,84:$V61,85:$V71,86:$V81,87:$V91,88:$Va1,89:$Vb1,90:$Vc1,91:202,105:$Vd1,109:$Ve1,111:$Vf1,114:$Vg1,115:$Vh1,116:$Vi1},o($Vv1,[2,101]),o($Vv1,[2,103]),o($Vv1,[2,104]),o($Vv1,[2,157]),o($Vv1,[2,158]),o($Vv1,[2,159]),o($Vv1,[2,160]),o($Vv1,[2,161]),o($Vv1,[2,162]),o($Vv1,[2,163]),o($Vv1,[2,164]),o($Vv1,[2,165]),o($Vv1,[2,166]),o($Vv1,[2,167]),o($Vv1,[2,90]),o($Vv1,[2,91]),o($Vv1,[2,92]),o($Vv1,[2,93]),o($Vv1,[2,94]),o($Vv1,[2,95]),o($Vv1,[2,96]),o($Vv1,[2,97]),o($Vv1,[2,98]),o($Vv1,[2,99]),o($Vv1,[2,100]),{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,203],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},{10:$Vy,18:204},{44:[1,205]},o($VQ,[2,43]),{10:[1,206],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{10:[1,207]},{10:[1,208],106:[1,209]},o($Vw1,[2,128]),{10:[1,210],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{10:[1,211],44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:113,114:$Vq,115:$Vr,116:$Vs},{80:[1,212]},o($Vm1,[2,109],{10:[1,213]}),o($Vm1,[2,111],{10:[1,214]}),{80:[1,215]},o($Vn1,[2,184]),{80:[1,216],98:[1,217]},o($VQ,[2,55],{113:113,44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),{31:[1,218],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($Vx1,[2,86]),o($Vx1,[2,88]),o($Vx1,[2,89]),o($Vx1,[2,153]),o($Vx1,[2,154]),o($Vx1,[2,155]),o($Vx1,[2,156]),{49:[1,220],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{30:221,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{51:[1,222],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{53:[1,223],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{55:[1,224],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{57:[1,225],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{60:[1,226]},{64:[1,227],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{66:[1,228],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{30:229,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},{31:[1,230],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{67:$Vo1,69:[1,231],71:[1,232],82:219,116:$Vr1,117:$Vs1,118:$Vt1},{67:$Vo1,69:[1,234],71:[1,233],82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VD,[2,45],{18:156,10:$Vy,40:$Vl1}),o($VD,[2,47],{44:$Vk1}),o($VU,[2,75]),o($VU,[2,74]),{62:[1,235],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VU,[2,77]),o($Vu1,[2,80]),{77:[1,236],79:198,116:$VX,119:$VY},{30:237,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($Vj1,$V4,{5:238}),o($Vv1,[2,102]),o($Vz,[2,35]),{43:239,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},{10:$Vy,18:240},{10:$Vy1,60:$Vz1,84:$VA1,92:241,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:252,104:[1,253],105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:254,104:[1,255],105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{105:[1,256]},{10:$Vy1,60:$Vz1,84:$VA1,92:257,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{44:$Vd,47:258,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},o($Vm1,[2,116]),o($Vm1,[2,118],{10:[1,262]}),o($Vm1,[2,119]),o($VR,[2,56]),o($Vx1,[2,87]),o($VR,[2,57]),{51:[1,263],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,64]),o($VR,[2,59]),o($VR,[2,60]),o($VR,[2,61]),{109:[1,264]},o($VR,[2,63]),o($VR,[2,65]),{66:[1,265],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,67]),o($VR,[2,68]),o($VR,[2,70]),o($VR,[2,69]),o($VR,[2,71]),o([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),o($VU,[2,78]),{31:[1,266],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,267],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},o($VQ,[2,53]),{43:268,44:$Vd,45:40,47:41,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs},o($Vm1,[2,121],{106:$VG1}),o($VH1,[2,130],{108:270,10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,109:$VC1,110:$VD1,111:$VE1,112:$VF1}),o($VI1,[2,132]),o($VI1,[2,134]),o($VI1,[2,135]),o($VI1,[2,136]),o($VI1,[2,137]),o($VI1,[2,138]),o($VI1,[2,139]),o($VI1,[2,140]),o($VI1,[2,141]),o($Vm1,[2,122],{106:$VG1}),{10:[1,271]},o($Vm1,[2,123],{106:$VG1}),{10:[1,272]},o($Vw1,[2,129]),o($Vm1,[2,105],{106:$VG1}),o($Vm1,[2,106],{113:113,44:$Vd,60:$Ve,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,114:$Vq,115:$Vr,116:$Vs}),o($Vm1,[2,110]),o($Vm1,[2,112],{10:[1,273]}),o($Vm1,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:$VA,9:$VB,11:$VC,21:278},o($Vz,[2,34]),o($VQ,[2,52]),{10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,107:279,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},o($VI1,[2,133]),{14:$VF,44:$VG,60:$VH,89:$VI,101:280,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},{14:$VF,44:$VG,60:$VH,89:$VI,101:281,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP,120:88},{98:[1,282]},o($Vm1,[2,120]),o($VR,[2,58]),{30:283,67:$Vo1,80:$Vp1,81:$Vq1,82:172,116:$Vr1,117:$Vs1,118:$Vt1},o($VR,[2,66]),o($Vj1,$V4,{5:284}),o($VH1,[2,131],{108:270,10:$Vy1,60:$Vz1,84:$VA1,105:$VB1,109:$VC1,110:$VD1,111:$VE1,112:$VF1}),o($Vm1,[2,126],{120:168,10:[1,285],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,127],{120:168,10:[1,286],14:$VF,44:$VG,60:$VH,89:$VI,105:$VJ,106:$VK,109:$VL,111:$VM,114:$VN,115:$VO,116:$VP}),o($Vm1,[2,114]),{31:[1,287],67:$Vo1,82:219,116:$Vr1,117:$Vs1,118:$Vt1},{6:11,7:12,8:$V5,9:$V6,10:$V7,11:$V8,20:17,22:18,23:19,24:20,25:21,26:22,27:$V9,32:[1,288],33:24,34:$Va,36:$Vb,38:$Vc,42:28,43:39,44:$Vd,45:40,47:41,60:$Ve,84:$Vf,85:$Vg,86:$Vh,87:$Vi,88:$Vj,89:$Vk,102:$Vl,105:$Vm,106:$Vn,109:$Vo,111:$Vp,113:42,114:$Vq,115:$Vr,116:$Vs,121:$Vt,122:$Vu,123:$Vv,124:$Vw,125:$Vx},{10:$Vy1,60:$Vz1,84:$VA1,92:289,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},{10:$Vy1,60:$Vz1,84:$VA1,92:290,105:$VB1,107:242,108:243,109:$VC1,110:$VD1,111:$VE1,112:$VF1},o($VR,[2,62]),o($Vz,[2,33]),o($Vm1,[2,124],{106:$VG1}),o($Vm1,[2,125],{106:$VG1})],defaultActions:{},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.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),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=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),lines.length-1&&(this.yylineno-=lines.length-1);var r=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:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(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})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={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&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,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(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),yy_.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const re=/\n\s*/g;return yy_.yytext=yy_.yytext.replace(re,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 34:return 88;case 35:case 36:case 37:return yy.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:case 103:return 111;case 63:return 46;case 64:return 60;case 65:case 104:return 44;case 66:return 8;case 67:return 106;case 68:case 102:return 115;case 69:case 72:case 75:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:case 74:case 77:return 119;case 73:return this.pushState("thickEdgeText"),75;case 76:return this.pushState("dottedEdgeText"),75;case 78:return 77;case 79:return this.popState(),53;case 80:case 116:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;case 83:return this.pushState("text"),54;case 84:return this.popState(),57;case 85:return this.pushState("text"),56;case 86:return 58;case 87:return this.pushState("text"),67;case 88:return this.popState(),64;case 89:return this.pushState("text"),63;case 90:return this.popState(),49;case 91:return this.pushState("text"),48;case 92:return this.popState(),69;case 93:return this.popState(),71;case 94:return 117;case 95:return this.pushState("trapText"),68;case 96:return this.pushState("trapText"),70;case 97:return 118;case 98:return 67;case 99:return 90;case 100:return"SEP";case 101:return 89;case 105:return 109;case 106:return 114;case 107:return 116;case 108:return this.popState(),62;case 109:return this.pushState("text"),62;case 110:return this.popState(),51;case 111:return this.pushState("text"),50;case 112:return this.popState(),31;case 113:return this.pushState("text"),29;case 114:return this.popState(),66;case 115:return this.pushState("text"),65;case 117:return"QUOTE";case 118:return 9;case 119:return 10;case 120:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_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]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},shapeData:{rules:[8,11,12,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackargs:{rules:[17,18,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},callbackname:{rules:[14,15,16,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},href:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},click:{rules:[21,24,33,34,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dottedEdgeText:{rules:[21,24,75,77,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},thickEdgeText:{rules:[21,24,72,74,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},edgeText:{rules:[21,24,69,71,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},trapText:{rules:[21,24,78,81,83,85,89,91,92,93,94,95,96,109,111,113,115],inclusive:!1},ellipseText:{rules:[21,24,78,79,80,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},text:{rules:[21,24,78,81,82,83,84,85,88,89,90,91,95,96,108,109,110,111,112,113,114,115,116],inclusive:!1},vertex:{rules:[21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_descr:{rules:[3,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},acc_title:{rules:[1,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},md_string:{rules:[19,20,21,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},string:{rules:[21,22,23,24,78,81,83,85,89,91,95,96,109,111,113,115],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,75,76,78,81,83,85,86,87,89,91,95,96,97,98,99,100,101,102,103,104,105,106,107,109,111,113,115,117,118,119,120],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var flow_default=parser,newParser=Object.assign({},flow_default);newParser.parse=src=>{const newSrc=src.replace(/}\s*\n/g,"}\n");return flow_default.parse(newSrc)};var flowParser_default=newParser,fade=__name((color,opacity)=>{const channel2=channel,r=channel2(color,"r"),g=channel2(color,"g"),b=channel2(color,"b");return rgba(r,g,b,opacity)},"fade"),styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor||options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span {\n color: ${options.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${options.nodeTextColor||options.textColor};\n color: ${options.nodeTextColor||options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: ${options.strokeWidth??1}px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${options.lineColor} !important;\n stroke-width: 0;\n stroke: ${options.lineColor};\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: ${options.strokeWidth??2}px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${options.clusterBkg};\n stroke: ${options.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n padding: 2px;\n }\n .label rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n ${getIconStyles()}\n`,"getStyles"),diagram={parser:flowParser_default,get db(){return new FlowDB},renderer:flowRenderer_v3_unified_default,styles:styles_default,init:__name(cnf=>{cnf.flowchart||(cnf.flowchart={}),cnf.layout&&setConfig2({layout:cnf.layout}),cnf.flowchart.arrowMarkerAbsolute=cnf.arrowMarkerAbsolute,setConfig2({flowchart:{arrowMarkerAbsolute:cnf.arrowMarkerAbsolute}})},"init")};export{diagram};