cc-viewer 1.6.259 → 1.6.261

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 (79) hide show
  1. package/dist/assets/App-Co-5BI9q.js +1 -0
  2. package/dist/assets/{MdxEditorPanel-CWT3SFgC.js → MdxEditorPanel-DFNyQW6b.js} +1 -1
  3. package/dist/assets/Mobile-DwYIskc6.js +1 -0
  4. package/dist/assets/{_baseUniq-DXjKWfhk.js → _baseUniq-DGKwdzTD.js} +1 -1
  5. package/dist/assets/{arc-DsQxkW5T.js → arc-nTLBi2ib.js} +1 -1
  6. package/dist/assets/{architectureDiagram-Q4EWVU46-D24v83bq.js → architectureDiagram-Q4EWVU46-pWWvthzV.js} +1 -1
  7. package/dist/assets/{blockDiagram-DXYQGD6D-D5ezdfnY.js → blockDiagram-DXYQGD6D-CpU6v2gv.js} +1 -1
  8. package/dist/assets/{c4Diagram-AHTNJAMY-g5VhpI4X.js → c4Diagram-AHTNJAMY-zdTsx1jJ.js} +1 -1
  9. package/dist/assets/{channel-Bohj9Wcp.js → channel-Cq1UANGu.js} +1 -1
  10. package/dist/assets/{chunk-4BX2VUAB-5LFKrDPS.js → chunk-4BX2VUAB-D6w9m5kB.js} +1 -1
  11. package/dist/assets/{chunk-4TB4RGXK-B7I8vecx.js → chunk-4TB4RGXK-DjZZc11c.js} +1 -1
  12. package/dist/assets/{chunk-55IACEB6-BBIiUctL.js → chunk-55IACEB6-Cw2U09Tu.js} +1 -1
  13. package/dist/assets/{chunk-EDXVE4YY-BYpcDSKa.js → chunk-EDXVE4YY-Cv-G70H7.js} +1 -1
  14. package/dist/assets/{chunk-FMBD7UC4-Dpw6TUJP.js → chunk-FMBD7UC4-Dykxux6b.js} +1 -1
  15. package/dist/assets/{chunk-OYMX7WX6-1R1GcGjy.js → chunk-OYMX7WX6-Cn9oAaEC.js} +1 -1
  16. package/dist/assets/{chunk-QZHKN3VN-B43hQ2vS.js → chunk-QZHKN3VN-CA1IccbG.js} +1 -1
  17. package/dist/assets/{chunk-YZCP3GAM-1IZth8n2.js → chunk-YZCP3GAM-CbReBNg5.js} +1 -1
  18. package/dist/assets/classDiagram-6PBFFD2Q-PgwmelQQ.js +1 -0
  19. package/dist/assets/classDiagram-v2-HSJHXN6E-PgwmelQQ.js +1 -0
  20. package/dist/assets/clone-Dnu1HdEX.js +1 -0
  21. package/dist/assets/{cose-bilkent-S5V4N54A-D05nug0R.js → cose-bilkent-S5V4N54A-TwxpCIwM.js} +1 -1
  22. package/dist/assets/{dagre-KV5264BT-DZ9d_ZUE.js → dagre-KV5264BT-CxuHKd9a.js} +1 -1
  23. package/dist/assets/{diagram-5BDNPKRD-DdyX_gXl.js → diagram-5BDNPKRD-BzR9Peib.js} +1 -1
  24. package/dist/assets/{diagram-G4DWMVQ6-cjq8tNSZ.js → diagram-G4DWMVQ6-PWFXrQqF.js} +1 -1
  25. package/dist/assets/{diagram-MMDJMWI5-NiKFms6e.js → diagram-MMDJMWI5-CqnrwtNB.js} +1 -1
  26. package/dist/assets/{diagram-TYMM5635-Dpig5X9-.js → diagram-TYMM5635-Do2MhBCf.js} +1 -1
  27. package/dist/assets/{erDiagram-SMLLAGMA-D2sWo3Zv.js → erDiagram-SMLLAGMA-CklZI6kO.js} +1 -1
  28. package/dist/assets/{flowDiagram-DWJPFMVM-D85Dj_yq.js → flowDiagram-DWJPFMVM-C_SKJN0d.js} +1 -1
  29. package/dist/assets/{ganttDiagram-T4ZO3ILL-DxAjpfgn.js → ganttDiagram-T4ZO3ILL-ChhhqFiR.js} +1 -1
  30. package/dist/assets/{gitGraphDiagram-UUTBAWPF-BO9g8cL0.js → gitGraphDiagram-UUTBAWPF-HarEJVSI.js} +1 -1
  31. package/dist/assets/{graph-BfcDIvNk.js → graph-BTcI3kpi.js} +1 -1
  32. package/dist/assets/{index-PkTBRWSU.js → index-B0NtFDg2.js} +1 -1
  33. package/dist/assets/{index-Bxmjxqf5.js → index-B7-pqPyp.js} +1 -1
  34. package/dist/assets/{index-CGqcaIdp.js → index-BG6Hzhck.js} +1 -1
  35. package/dist/assets/{index-BEpSzlsR.js → index-Bzp41aRh.js} +1 -1
  36. package/dist/assets/index-C6MrFmhs.js +2 -0
  37. package/dist/assets/{index-BJjKgolB.js → index-CF0YP7s8.js} +1 -1
  38. package/dist/assets/{index-9sv7BDJr.js → index-CQ579eP2.js} +1 -1
  39. package/dist/assets/{index-sVTuiL15.css → index-Dzkxj8m_.css} +1 -1
  40. package/dist/assets/{index-7d_JTozZ.js → index-NNx0667m.js} +1 -1
  41. package/dist/assets/{infoDiagram-42DDH7IO-BnOW3PpN.js → infoDiagram-42DDH7IO-DOcCtSEj.js} +1 -1
  42. package/dist/assets/{ishikawaDiagram-UXIWVN3A-BdRWHTx5.js → ishikawaDiagram-UXIWVN3A-Crb_pmG4.js} +1 -1
  43. package/dist/assets/{journeyDiagram-VCZTEJTY-6-pOxb-c.js → journeyDiagram-VCZTEJTY-BUv2Exj_.js} +1 -1
  44. package/dist/assets/{jszip.min-DKP-m-LG.js → jszip.min-BuZCDHia.js} +1 -1
  45. package/dist/assets/{kanban-definition-6JOO6SKY-BBX4NlcN.js → kanban-definition-6JOO6SKY-DwSHz9oV.js} +1 -1
  46. package/dist/assets/{layout-DtQNOuH0.js → layout-Dp3N3WRT.js} +1 -1
  47. package/dist/assets/{linear-6Y3OZ7u2.js → linear-JU5ltHCp.js} +1 -1
  48. package/dist/assets/{mermaid.core-CAsnLdlL.js → mermaid.core-f1mZHh7u.js} +2 -2
  49. package/dist/assets/{min-BRPZJLHh.js → min-CDzial6q.js} +1 -1
  50. package/dist/assets/{mindmap-definition-QFDTVHPH-BkmfcnFE.js → mindmap-definition-QFDTVHPH-DnhPHplB.js} +1 -1
  51. package/dist/assets/{pieDiagram-DEJITSTG-D4a_1EvH.js → pieDiagram-DEJITSTG-dMhPj5wG.js} +1 -1
  52. package/dist/assets/{quadrantDiagram-34T5L4WZ-kKniISLU.js → quadrantDiagram-34T5L4WZ-GCi1_zHo.js} +1 -1
  53. package/dist/assets/{requirementDiagram-MS252O5E-DPikXO53.js → requirementDiagram-MS252O5E-WeErs64x.js} +1 -1
  54. package/dist/assets/{sankeyDiagram-XADWPNL6--rY8uDK7.js → sankeyDiagram-XADWPNL6-BKpP6-8Q.js} +1 -1
  55. package/dist/assets/seqResourceLoaders-80G7f5Kr.js +2 -0
  56. package/dist/assets/seqResourceLoaders-B8CyM6Ul.css +41 -0
  57. package/dist/assets/{sequenceDiagram-FGHM5R23-C57z6bd_.js → sequenceDiagram-FGHM5R23-CAC5BKbx.js} +1 -1
  58. package/dist/assets/{stateDiagram-FHFEXIEX-D7q_cBTL.js → stateDiagram-FHFEXIEX-Cxrg604Z.js} +1 -1
  59. package/dist/assets/{stateDiagram-v2-QKLJ7IA2-Co3EU6Nf.js → stateDiagram-v2-QKLJ7IA2-DaUpf340.js} +1 -1
  60. package/dist/assets/{timeline-definition-GMOUNBTQ-DBV-lv69.js → timeline-definition-GMOUNBTQ-DbvXGDTU.js} +1 -1
  61. package/dist/assets/{vendor-antd-BeN8xqGk.js → vendor-antd-jGWxgt_-.js} +1 -1
  62. package/dist/assets/{vendor-codemirror-2nbmPewy.js → vendor-codemirror-9gysGjWj.js} +1 -1
  63. package/dist/assets/{vendor-mdxeditor-C7DYEBoH.js → vendor-mdxeditor-BFiCaYAL.js} +2 -2
  64. package/dist/assets/{vendor-qrcode-BFV_3WPO.js → vendor-qrcode-DjZ-VpGR.js} +1 -1
  65. package/dist/assets/{vendor-virtuoso-COKXGpsa.js → vendor-virtuoso-DB1J9xKG.js} +1 -1
  66. package/dist/assets/{vennDiagram-DHZGUBPP-ngWDn_ip.js → vennDiagram-DHZGUBPP-BoIw-nWl.js} +1 -1
  67. package/dist/assets/{wardley-RL74JXVD-BhMXVlU_.js → wardley-RL74JXVD-4PjirsHP.js} +1 -1
  68. package/dist/assets/{wardleyDiagram-NUSXRM2D-lpdygHK-.js → wardleyDiagram-NUSXRM2D-C8RzJmfU.js} +1 -1
  69. package/dist/assets/{xychartDiagram-5P7HB3ND-DVafENtB.js → xychartDiagram-5P7HB3ND-Ct6fDXwq.js} +1 -1
  70. package/dist/index.html +5 -5
  71. package/package.json +1 -1
  72. package/dist/assets/App-eBSb5fy2.js +0 -1
  73. package/dist/assets/Mobile-DdB1mwp_.js +0 -1
  74. package/dist/assets/ProxyModal-DGzTxXqd.js +0 -2
  75. package/dist/assets/ProxyModal-DzTu4uGE.css +0 -41
  76. package/dist/assets/classDiagram-6PBFFD2Q-BBoAxatM.js +0 -1
  77. package/dist/assets/classDiagram-v2-HSJHXN6E-BBoAxatM.js +0 -1
  78. package/dist/assets/clone-Cc7ofJ6W.js +0 -1
  79. package/dist/assets/index-BGEXf37A.js +0 -2
@@ -1 +1 @@
1
- var _a;import{g as getDiagramElement}from"./chunk-55IACEB6-BBIiUctL.js";import{s as setupViewPortForSVG}from"./chunk-EDXVE4YY-BYpcDSKa.js";import{_ as __name,C as getConfig,b as setAccTitle,a as getAccTitle,s as setAccDescription,g as getAccDescription,p as setDiagramTitle,q as getDiagramTitle,c as getConfig2,l as log,y as clear,B as __export,o as getRegisteredLayoutAlgorithm,r as render,u as utils_default}from"./mermaid.core-CAsnLdlL.js";import"./vendor-mdxeditor-C7DYEBoH.js";import"./vendor-antd-BeN8xqGk.js";import"./vendor-codemirror-2nbmPewy.js";import"./vendor-markdown-BFrYfpb0.js";var 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,3],$V1=[1,4],$V2=[1,5],$V3=[1,6],$V4=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],$V5=[1,22],$V6=[2,7],$V7=[1,26],$V8=[1,27],$V9=[1,28],$Va=[1,29],$Vb=[1,33],$Vc=[1,34],$Vd=[1,35],$Ve=[1,36],$Vf=[1,37],$Vg=[1,38],$Vh=[1,24],$Vi=[1,31],$Vj=[1,32],$Vk=[1,30],$Vl=[1,39],$Vm=[1,40],$Vn=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],$Vo=[1,61],$Vp=[89,90],$Vq=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$Vr=[27,29],$Vs=[1,70],$Vt=[1,71],$Vu=[1,72],$Vv=[1,73],$Vw=[1,74],$Vx=[1,75],$Vy=[1,76],$Vz=[1,83],$VA=[1,80],$VB=[1,84],$VC=[1,85],$VD=[1,86],$VE=[1,87],$VF=[1,88],$VG=[1,89],$VH=[1,90],$VI=[1,91],$VJ=[1,92],$VK=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$VL=[63,64],$VM=[1,101],$VN=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],$VO=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$VP=[1,110],$VQ=[1,106],$VR=[1,107],$VS=[1,108],$VT=[1,109],$VU=[1,111],$VV=[1,116],$VW=[1,117],$VX=[1,114],$VY=[1,115],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 4:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 5:case 6:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:yy.setDirection("TB");break;case 18:yy.setDirection("BT");break;case 19:yy.setDirection("RL");break;case 20:yy.setDirection("LR");break;case 21:yy.addRequirement($$[$0-3],$$[$0-4]);break;case 22:yy.addRequirement($$[$0-5],$$[$0-6]),yy.setClass([$$[$0-5]],$$[$0-3]);break;case 23:yy.setNewReqId($$[$0-2]);break;case 24:yy.setNewReqText($$[$0-2]);break;case 25:yy.setNewReqRisk($$[$0-2]);break;case 26:yy.setNewReqVerifyMethod($$[$0-2]);break;case 29:this.$=yy.RequirementType.REQUIREMENT;break;case 30:this.$=yy.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=yy.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=yy.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=yy.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=yy.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=yy.RiskLevel.LOW_RISK;break;case 36:this.$=yy.RiskLevel.MED_RISK;break;case 37:this.$=yy.RiskLevel.HIGH_RISK;break;case 38:this.$=yy.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=yy.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=yy.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=yy.VerifyType.VERIFY_TEST;break;case 42:yy.addElement($$[$0-3]);break;case 43:yy.addElement($$[$0-5]),yy.setClass([$$[$0-5]],$$[$0-3]);break;case 44:yy.setNewElementType($$[$0-2]);break;case 45:yy.setNewElementDocRef($$[$0-2]);break;case 48:yy.addRelationship($$[$0-2],$$[$0],$$[$0-4]);break;case 49:yy.addRelationship($$[$0-2],$$[$0-4],$$[$0]);break;case 50:this.$=yy.Relationships.CONTAINS;break;case 51:this.$=yy.Relationships.COPIES;break;case 52:this.$=yy.Relationships.DERIVES;break;case 53:this.$=yy.Relationships.SATISFIES;break;case 54:this.$=yy.Relationships.VERIFIES;break;case 55:this.$=yy.Relationships.REFINES;break;case 56:this.$=yy.Relationships.TRACES;break;case 57:this.$=$$[$0-2],yy.defineClass($$[$0-1],$$[$0]);break;case 58:yy.setClass($$[$0-1],$$[$0]);break;case 59:yy.setClass([$$[$0-2]],$$[$0]);break;case 60:case 62:case 65:this.$=[$$[$0]];break;case 61:case 63:this.$=$$[$0-2].concat([$$[$0]]);break;case 64:this.$=$$[$0-2],yy.setCssStyle($$[$0-1],$$[$0]);break;case 66:$$[$0-2].push($$[$0]),this.$=$$[$0-2];break;case 68:this.$=$$[$0-1]+$$[$0]}},"anonymous"),table:[{3:1,4:2,6:$V0,9:$V1,11:$V2,13:$V3},{1:[3]},{3:8,4:2,5:[1,7],6:$V0,9:$V1,11:$V2,13:$V3},{5:[1,9]},{10:[1,10]},{12:[1,11]},o($V4,[2,6]),{3:12,4:2,6:$V0,9:$V1,11:$V2,13:$V3},{1:[2,2]},{4:17,5:$V5,7:13,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},o($V4,[2,4]),o($V4,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:$V5,7:42,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:43,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:44,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:45,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:46,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:47,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:48,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:49,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:50,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},o($Vn,[2,17]),o($Vn,[2,18]),o($Vn,[2,19]),o($Vn,[2,20]),{30:60,33:62,75:$Vo,89:$Vl,90:$Vm},{30:63,33:62,75:$Vo,89:$Vl,90:$Vm},{30:64,33:62,75:$Vo,89:$Vl,90:$Vm},o($Vp,[2,29]),o($Vp,[2,30]),o($Vp,[2,31]),o($Vp,[2,32]),o($Vp,[2,33]),o($Vp,[2,34]),o($Vq,[2,81]),o($Vq,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},o($Vr,[2,79]),o($Vr,[2,80]),{27:[1,67],29:[1,68]},o($Vr,[2,85]),o($Vr,[2,86]),{62:69,65:$Vs,66:$Vt,67:$Vu,68:$Vv,69:$Vw,70:$Vx,71:$Vy},{62:77,65:$Vs,66:$Vt,67:$Vu,68:$Vv,69:$Vw,70:$Vx,71:$Vy},{30:78,33:62,75:$Vo,89:$Vl,90:$Vm},{73:79,75:$Vz,76:$VA,78:81,79:82,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ},o($VK,[2,60]),o($VK,[2,62]),{73:93,75:$Vz,76:$VA,78:81,79:82,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ},{30:94,33:62,75:$Vo,76:$VA,89:$Vl,90:$Vm},{5:[1,95]},{30:96,33:62,75:$Vo,89:$Vl,90:$Vm},{5:[1,97]},{30:98,33:62,75:$Vo,89:$Vl,90:$Vm},{63:[1,99]},o($VL,[2,50]),o($VL,[2,51]),o($VL,[2,52]),o($VL,[2,53]),o($VL,[2,54]),o($VL,[2,55]),o($VL,[2,56]),{64:[1,100]},o($Vn,[2,59],{76:$VA}),o($Vn,[2,64],{76:$VM}),{33:103,75:[1,102],89:$Vl,90:$Vm},o($VN,[2,65],{79:104,75:$Vz,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ}),o($VO,[2,67]),o($VO,[2,69]),o($VO,[2,70]),o($VO,[2,71]),o($VO,[2,72]),o($VO,[2,73]),o($VO,[2,74]),o($VO,[2,75]),o($VO,[2,76]),o($VO,[2,77]),o($VO,[2,78]),o($Vn,[2,57],{76:$VM}),o($Vn,[2,58],{76:$VA}),{5:$VP,28:105,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{27:[1,112],76:$VA},{5:$VV,40:$VW,56:113,57:$VX,59:$VY},{27:[1,118],76:$VA},{33:119,89:$Vl,90:$Vm},{33:120,89:$Vl,90:$Vm},{75:$Vz,78:121,79:82,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ},o($VK,[2,61]),o($VK,[2,63]),o($VO,[2,68]),o($Vn,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$VP,28:126,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},o($Vn,[2,28]),{5:[1,127]},o($Vn,[2,42]),{32:[1,128]},{32:[1,129]},{5:$VV,40:$VW,56:130,57:$VX,59:$VY},o($Vn,[2,47]),{5:[1,131]},o($Vn,[2,48]),o($Vn,[2,49]),o($VN,[2,66],{79:104,75:$Vz,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ}),{33:132,89:$Vl,90:$Vm},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},o($Vn,[2,27]),{5:$VP,28:145,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},o($Vn,[2,46]),{5:$VV,40:$VW,56:152,57:$VX,59:$VY},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},o($Vn,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},o($Vn,[2,43]),{5:$VP,28:159,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VP,28:160,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VP,28:161,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VP,28:162,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VV,40:$VW,56:163,57:$VX,59:$VY},{5:$VV,40:$VW,56:164,57:$VX,59:$VY},o($Vn,[2,23]),o($Vn,[2,24]),o($Vn,[2,25]),o($Vn,[2,26]),o($Vn,[2,44]),o($Vn,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},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:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return yy_.yytext=yy_.yytext.trim(),89;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],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 requirementDiagram_default=parser,RequirementDB=(__name(_a=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=setAccTitle,this.getAccTitle=getAccTitle,this.setAccDescription=setAccDescription,this.getAccDescription=getAccDescription,this.setDiagramTitle=setDiagramTitle,this.getDiagramTitle=getDiagramTitle,this.getConfig=__name(()=>getConfig2().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(dir){this.direction=dir}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(name,type){return this.requirements.has(name)||this.requirements.set(name,{name:name,type:type,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(name)}getRequirements(){return this.requirements}setNewReqId(id){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=id)}setNewReqText(text){void 0!==this.latestRequirement&&(this.latestRequirement.text=text)}setNewReqRisk(risk){void 0!==this.latestRequirement&&(this.latestRequirement.risk=risk)}setNewReqVerifyMethod(verifyMethod){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=verifyMethod)}addElement(name){return this.elements.has(name)||(this.elements.set(name,{name:name,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),log.info("Added new element: ",name)),this.resetLatestElement(),this.elements.get(name)}getElements(){return this.elements}setNewElementType(type){void 0!==this.latestElement&&(this.latestElement.type=type)}setNewElementDocRef(docRef){void 0!==this.latestElement&&(this.latestElement.docRef=docRef)}addRelationship(type,src,dst){this.relations.push({type:type,src:src,dst:dst})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,clear()}setCssStyle(ids,styles){for(const id of ids){const node=this.requirements.get(id)??this.elements.get(id);if(!styles||!node)return;for(const s of styles)s.includes(",")?node.cssStyles.push(...s.split(",")):node.cssStyles.push(s)}}setClass(ids,classNames){var _a2;for(const id of ids){const node=this.requirements.get(id)??this.elements.get(id);if(node)for(const _class of classNames){node.classes.push(_class);const styles=null==(_a2=this.classes.get(_class))?void 0:_a2.styles;styles&&node.cssStyles.push(...styles)}}}defineClass(ids,style){for(const id of ids){let styleClass=this.classes.get(id);void 0===styleClass&&(styleClass={id:id,styles:[],textStyles:[]},this.classes.set(id,styleClass)),style&&style.forEach(function(s){if(/color/.exec(s)){const newStyle=s.replace("fill","bgFill");styleClass.textStyles.push(newStyle)}styleClass.styles.push(s)}),this.requirements.forEach(value=>{value.classes.includes(id)&&value.cssStyles.push(...style.flatMap(s=>s.split(",")))}),this.elements.forEach(value=>{value.classes.includes(id)&&value.cssStyles.push(...style.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){var _a2,_b,_c,_d;const config=getConfig2(),nodes=[],edges=[];for(const requirement of this.requirements.values()){const node=requirement;node.id=requirement.name,node.cssStyles=requirement.cssStyles,node.cssClasses=requirement.classes.join(" "),node.shape="requirementBox",node.look=config.look,node.colorIndex=nodes.length,nodes.push(node)}for(const element of this.elements.values()){const node=element;node.shape="requirementBox",node.look=config.look,node.id=element.name,node.cssStyles=element.cssStyles,node.cssClasses=element.classes.join(" "),node.colorIndex=nodes.length,nodes.push(node)}for(const relation of this.relations){let counter=0;const isContains=relation.type===this.Relationships.CONTAINS,edge={id:`${relation.src}-${relation.dst}-${counter}`,start:(null==(_a2=this.requirements.get(relation.src))?void 0:_a2.name)??(null==(_b=this.elements.get(relation.src))?void 0:_b.name),end:(null==(_c=this.requirements.get(relation.dst))?void 0:_c.name)??(null==(_d=this.elements.get(relation.dst))?void 0:_d.name),label:`&lt;&lt;${relation.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",isContains?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:isContains?"normal":"dashed",arrowTypeStart:isContains?"requirement_contains":"",arrowTypeEnd:isContains?"":"requirement_arrow",look:config.look,labelType:"markdown"};edges.push(edge),counter++}return{nodes:nodes,edges:edges,other:{},config:config,direction:this.getDirection()}}},"RequirementDB"),_a),genColor=__name(options=>{const config=getConfig(),{themeVariables:themeVariables,look:look}=config,{bkgColorArray:bkgColorArray,borderColorArray:borderColorArray}=themeVariables;if(!(null==borderColorArray?void 0:borderColorArray.length))return"";let sections="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)sections+=`\n\n [data-look="${look}"][data-color-id="color-${i}"].node path {\n stroke: ${borderColorArray[i]};\n fill: ${(null==bkgColorArray?void 0:bkgColorArray.length)?bkgColorArray[i]:""};\n }\n\n [data-look="${look}"][data-color-id="color-${i}"].node rect {\n stroke: ${borderColorArray[i]};\n fill: ${(null==bkgColorArray?void 0:bkgColorArray.length)?bkgColorArray[i]:""};\n }\n `;return sections},"genColor"),styles_default=__name(options=>{const config=getConfig(),{look:look,themeVariables:themeVariables}=config,{requirementEdgeLabelBackground:requirementEdgeLabelBackground}=themeVariables;return`\n ${genColor(options)}\n marker {\n fill: ${options.relationColor};\n stroke: ${options.relationColor};\n }\n\n marker.cross {\n stroke: ${options.lineColor};\n }\n\n svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n\n .reqBox {\n fill: ${options.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${options.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${options.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${options.relationColor};\n stroke-width: ${"neo"===look?options.strokeWidth:"1px"};\n }\n .relationshipLabel {\n fill: ${options.relationLabelColor};\n }\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${options.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${options.relationLabelColor};\n }\n .divider {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n }\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor||options.textColor};\n }\n .label text,span {\n fill: ${options.nodeTextColor||options.textColor};\n color: ${options.nodeTextColor||options.textColor};\n }\n .labelBkg {\n background-color: ${requirementEdgeLabelBackground??options.edgeLabelBackground};\n }\n\n`},"getStyles"),requirementRenderer_exports={};__export(requirementRenderer_exports,{draw:()=>draw});var draw=__name(async function(text,id,_version,diag){log.info("REF0:"),log.info("Drawing requirement diagram (unified)",id);const{securityLevel:securityLevel,state:conf,layout:layout,look:look}=getConfig2(),data4Layout=diag.db.getData(),svg=getDiagramElement(id,securityLevel);data4Layout.type=diag.type,data4Layout.layoutAlgorithm=getRegisteredLayoutAlgorithm(layout),data4Layout.nodeSpacing=(null==conf?void 0:conf.nodeSpacing)??50,data4Layout.rankSpacing=(null==conf?void 0:conf.rankSpacing)??50,data4Layout.markers="neo"===look?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],data4Layout.diagramId=id,await render(data4Layout,svg);utils_default.insertTitle(svg,"requirementDiagramTitleText",(null==conf?void 0:conf.titleTopMargin)??25,diag.db.getDiagramTitle()),setupViewPortForSVG(svg,8,"requirementDiagram",(null==conf?void 0:conf.useMaxWidth)??!0)},"draw"),diagram={parser:requirementDiagram_default,get db(){return new RequirementDB},renderer:requirementRenderer_exports,styles:styles_default};export{diagram};
1
+ var _a;import{g as getDiagramElement}from"./chunk-55IACEB6-Cw2U09Tu.js";import{s as setupViewPortForSVG}from"./chunk-EDXVE4YY-Cv-G70H7.js";import{_ as __name,C as getConfig,b as setAccTitle,a as getAccTitle,s as setAccDescription,g as getAccDescription,p as setDiagramTitle,q as getDiagramTitle,c as getConfig2,l as log,y as clear,B as __export,o as getRegisteredLayoutAlgorithm,r as render,u as utils_default}from"./mermaid.core-f1mZHh7u.js";import"./vendor-mdxeditor-BFiCaYAL.js";import"./vendor-antd-jGWxgt_-.js";import"./vendor-codemirror-9gysGjWj.js";import"./vendor-markdown-BFrYfpb0.js";var 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,3],$V1=[1,4],$V2=[1,5],$V3=[1,6],$V4=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],$V5=[1,22],$V6=[2,7],$V7=[1,26],$V8=[1,27],$V9=[1,28],$Va=[1,29],$Vb=[1,33],$Vc=[1,34],$Vd=[1,35],$Ve=[1,36],$Vf=[1,37],$Vg=[1,38],$Vh=[1,24],$Vi=[1,31],$Vj=[1,32],$Vk=[1,30],$Vl=[1,39],$Vm=[1,40],$Vn=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],$Vo=[1,61],$Vp=[89,90],$Vq=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$Vr=[27,29],$Vs=[1,70],$Vt=[1,71],$Vu=[1,72],$Vv=[1,73],$Vw=[1,74],$Vx=[1,75],$Vy=[1,76],$Vz=[1,83],$VA=[1,80],$VB=[1,84],$VC=[1,85],$VD=[1,86],$VE=[1,87],$VF=[1,88],$VG=[1,89],$VH=[1,90],$VI=[1,91],$VJ=[1,92],$VK=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$VL=[63,64],$VM=[1,101],$VN=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],$VO=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],$VP=[1,110],$VQ=[1,106],$VR=[1,107],$VS=[1,108],$VT=[1,109],$VU=[1,111],$VV=[1,116],$VW=[1,117],$VX=[1,114],$VY=[1,115],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 4:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 5:case 6:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:yy.setDirection("TB");break;case 18:yy.setDirection("BT");break;case 19:yy.setDirection("RL");break;case 20:yy.setDirection("LR");break;case 21:yy.addRequirement($$[$0-3],$$[$0-4]);break;case 22:yy.addRequirement($$[$0-5],$$[$0-6]),yy.setClass([$$[$0-5]],$$[$0-3]);break;case 23:yy.setNewReqId($$[$0-2]);break;case 24:yy.setNewReqText($$[$0-2]);break;case 25:yy.setNewReqRisk($$[$0-2]);break;case 26:yy.setNewReqVerifyMethod($$[$0-2]);break;case 29:this.$=yy.RequirementType.REQUIREMENT;break;case 30:this.$=yy.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=yy.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=yy.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=yy.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=yy.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=yy.RiskLevel.LOW_RISK;break;case 36:this.$=yy.RiskLevel.MED_RISK;break;case 37:this.$=yy.RiskLevel.HIGH_RISK;break;case 38:this.$=yy.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=yy.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=yy.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=yy.VerifyType.VERIFY_TEST;break;case 42:yy.addElement($$[$0-3]);break;case 43:yy.addElement($$[$0-5]),yy.setClass([$$[$0-5]],$$[$0-3]);break;case 44:yy.setNewElementType($$[$0-2]);break;case 45:yy.setNewElementDocRef($$[$0-2]);break;case 48:yy.addRelationship($$[$0-2],$$[$0],$$[$0-4]);break;case 49:yy.addRelationship($$[$0-2],$$[$0-4],$$[$0]);break;case 50:this.$=yy.Relationships.CONTAINS;break;case 51:this.$=yy.Relationships.COPIES;break;case 52:this.$=yy.Relationships.DERIVES;break;case 53:this.$=yy.Relationships.SATISFIES;break;case 54:this.$=yy.Relationships.VERIFIES;break;case 55:this.$=yy.Relationships.REFINES;break;case 56:this.$=yy.Relationships.TRACES;break;case 57:this.$=$$[$0-2],yy.defineClass($$[$0-1],$$[$0]);break;case 58:yy.setClass($$[$0-1],$$[$0]);break;case 59:yy.setClass([$$[$0-2]],$$[$0]);break;case 60:case 62:case 65:this.$=[$$[$0]];break;case 61:case 63:this.$=$$[$0-2].concat([$$[$0]]);break;case 64:this.$=$$[$0-2],yy.setCssStyle($$[$0-1],$$[$0]);break;case 66:$$[$0-2].push($$[$0]),this.$=$$[$0-2];break;case 68:this.$=$$[$0-1]+$$[$0]}},"anonymous"),table:[{3:1,4:2,6:$V0,9:$V1,11:$V2,13:$V3},{1:[3]},{3:8,4:2,5:[1,7],6:$V0,9:$V1,11:$V2,13:$V3},{5:[1,9]},{10:[1,10]},{12:[1,11]},o($V4,[2,6]),{3:12,4:2,6:$V0,9:$V1,11:$V2,13:$V3},{1:[2,2]},{4:17,5:$V5,7:13,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},o($V4,[2,4]),o($V4,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:$V5,7:42,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:43,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:44,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:45,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:46,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:47,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:48,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:49,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{4:17,5:$V5,7:50,8:$V6,9:$V1,11:$V2,13:$V3,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:$V7,22:$V8,23:$V9,24:$Va,25:23,33:25,41:$Vb,42:$Vc,43:$Vd,44:$Ve,45:$Vf,46:$Vg,54:$Vh,72:$Vi,74:$Vj,77:$Vk,89:$Vl,90:$Vm},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},o($Vn,[2,17]),o($Vn,[2,18]),o($Vn,[2,19]),o($Vn,[2,20]),{30:60,33:62,75:$Vo,89:$Vl,90:$Vm},{30:63,33:62,75:$Vo,89:$Vl,90:$Vm},{30:64,33:62,75:$Vo,89:$Vl,90:$Vm},o($Vp,[2,29]),o($Vp,[2,30]),o($Vp,[2,31]),o($Vp,[2,32]),o($Vp,[2,33]),o($Vp,[2,34]),o($Vq,[2,81]),o($Vq,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},o($Vr,[2,79]),o($Vr,[2,80]),{27:[1,67],29:[1,68]},o($Vr,[2,85]),o($Vr,[2,86]),{62:69,65:$Vs,66:$Vt,67:$Vu,68:$Vv,69:$Vw,70:$Vx,71:$Vy},{62:77,65:$Vs,66:$Vt,67:$Vu,68:$Vv,69:$Vw,70:$Vx,71:$Vy},{30:78,33:62,75:$Vo,89:$Vl,90:$Vm},{73:79,75:$Vz,76:$VA,78:81,79:82,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ},o($VK,[2,60]),o($VK,[2,62]),{73:93,75:$Vz,76:$VA,78:81,79:82,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ},{30:94,33:62,75:$Vo,76:$VA,89:$Vl,90:$Vm},{5:[1,95]},{30:96,33:62,75:$Vo,89:$Vl,90:$Vm},{5:[1,97]},{30:98,33:62,75:$Vo,89:$Vl,90:$Vm},{63:[1,99]},o($VL,[2,50]),o($VL,[2,51]),o($VL,[2,52]),o($VL,[2,53]),o($VL,[2,54]),o($VL,[2,55]),o($VL,[2,56]),{64:[1,100]},o($Vn,[2,59],{76:$VA}),o($Vn,[2,64],{76:$VM}),{33:103,75:[1,102],89:$Vl,90:$Vm},o($VN,[2,65],{79:104,75:$Vz,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ}),o($VO,[2,67]),o($VO,[2,69]),o($VO,[2,70]),o($VO,[2,71]),o($VO,[2,72]),o($VO,[2,73]),o($VO,[2,74]),o($VO,[2,75]),o($VO,[2,76]),o($VO,[2,77]),o($VO,[2,78]),o($Vn,[2,57],{76:$VM}),o($Vn,[2,58],{76:$VA}),{5:$VP,28:105,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{27:[1,112],76:$VA},{5:$VV,40:$VW,56:113,57:$VX,59:$VY},{27:[1,118],76:$VA},{33:119,89:$Vl,90:$Vm},{33:120,89:$Vl,90:$Vm},{75:$Vz,78:121,79:82,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ},o($VK,[2,61]),o($VK,[2,63]),o($VO,[2,68]),o($Vn,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:$VP,28:126,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},o($Vn,[2,28]),{5:[1,127]},o($Vn,[2,42]),{32:[1,128]},{32:[1,129]},{5:$VV,40:$VW,56:130,57:$VX,59:$VY},o($Vn,[2,47]),{5:[1,131]},o($Vn,[2,48]),o($Vn,[2,49]),o($VN,[2,66],{79:104,75:$Vz,80:$VB,81:$VC,82:$VD,83:$VE,84:$VF,85:$VG,86:$VH,87:$VI,88:$VJ}),{33:132,89:$Vl,90:$Vm},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},o($Vn,[2,27]),{5:$VP,28:145,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},o($Vn,[2,46]),{5:$VV,40:$VW,56:152,57:$VX,59:$VY},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},o($Vn,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},o($Vn,[2,43]),{5:$VP,28:159,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VP,28:160,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VP,28:161,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VP,28:162,31:$VQ,34:$VR,36:$VS,38:$VT,40:$VU},{5:$VV,40:$VW,56:163,57:$VX,59:$VY},{5:$VV,40:$VW,56:164,57:$VX,59:$VY},o($Vn,[2,23]),o($Vn,[2,24]),o($Vn,[2,25]),o($Vn,[2,26]),o($Vn,[2,44]),o($Vn,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},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:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 58:case 65:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:case 14:case 15:case 56:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:case 68:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 57:case 64:this.begin("string");break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 66:return"qString";case 67:return yy_.yytext=yy_.yytext.trim(),89;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],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 requirementDiagram_default=parser,RequirementDB=(__name(_a=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=setAccTitle,this.getAccTitle=getAccTitle,this.setAccDescription=setAccDescription,this.getAccDescription=getAccDescription,this.setDiagramTitle=setDiagramTitle,this.getDiagramTitle=getDiagramTitle,this.getConfig=__name(()=>getConfig2().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(dir){this.direction=dir}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(name,type){return this.requirements.has(name)||this.requirements.set(name,{name:name,type:type,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(name)}getRequirements(){return this.requirements}setNewReqId(id){void 0!==this.latestRequirement&&(this.latestRequirement.requirementId=id)}setNewReqText(text){void 0!==this.latestRequirement&&(this.latestRequirement.text=text)}setNewReqRisk(risk){void 0!==this.latestRequirement&&(this.latestRequirement.risk=risk)}setNewReqVerifyMethod(verifyMethod){void 0!==this.latestRequirement&&(this.latestRequirement.verifyMethod=verifyMethod)}addElement(name){return this.elements.has(name)||(this.elements.set(name,{name:name,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),log.info("Added new element: ",name)),this.resetLatestElement(),this.elements.get(name)}getElements(){return this.elements}setNewElementType(type){void 0!==this.latestElement&&(this.latestElement.type=type)}setNewElementDocRef(docRef){void 0!==this.latestElement&&(this.latestElement.docRef=docRef)}addRelationship(type,src,dst){this.relations.push({type:type,src:src,dst:dst})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,clear()}setCssStyle(ids,styles){for(const id of ids){const node=this.requirements.get(id)??this.elements.get(id);if(!styles||!node)return;for(const s of styles)s.includes(",")?node.cssStyles.push(...s.split(",")):node.cssStyles.push(s)}}setClass(ids,classNames){var _a2;for(const id of ids){const node=this.requirements.get(id)??this.elements.get(id);if(node)for(const _class of classNames){node.classes.push(_class);const styles=null==(_a2=this.classes.get(_class))?void 0:_a2.styles;styles&&node.cssStyles.push(...styles)}}}defineClass(ids,style){for(const id of ids){let styleClass=this.classes.get(id);void 0===styleClass&&(styleClass={id:id,styles:[],textStyles:[]},this.classes.set(id,styleClass)),style&&style.forEach(function(s){if(/color/.exec(s)){const newStyle=s.replace("fill","bgFill");styleClass.textStyles.push(newStyle)}styleClass.styles.push(s)}),this.requirements.forEach(value=>{value.classes.includes(id)&&value.cssStyles.push(...style.flatMap(s=>s.split(",")))}),this.elements.forEach(value=>{value.classes.includes(id)&&value.cssStyles.push(...style.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){var _a2,_b,_c,_d;const config=getConfig2(),nodes=[],edges=[];for(const requirement of this.requirements.values()){const node=requirement;node.id=requirement.name,node.cssStyles=requirement.cssStyles,node.cssClasses=requirement.classes.join(" "),node.shape="requirementBox",node.look=config.look,node.colorIndex=nodes.length,nodes.push(node)}for(const element of this.elements.values()){const node=element;node.shape="requirementBox",node.look=config.look,node.id=element.name,node.cssStyles=element.cssStyles,node.cssClasses=element.classes.join(" "),node.colorIndex=nodes.length,nodes.push(node)}for(const relation of this.relations){let counter=0;const isContains=relation.type===this.Relationships.CONTAINS,edge={id:`${relation.src}-${relation.dst}-${counter}`,start:(null==(_a2=this.requirements.get(relation.src))?void 0:_a2.name)??(null==(_b=this.elements.get(relation.src))?void 0:_b.name),end:(null==(_c=this.requirements.get(relation.dst))?void 0:_c.name)??(null==(_d=this.elements.get(relation.dst))?void 0:_d.name),label:`&lt;&lt;${relation.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",isContains?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:isContains?"normal":"dashed",arrowTypeStart:isContains?"requirement_contains":"",arrowTypeEnd:isContains?"":"requirement_arrow",look:config.look,labelType:"markdown"};edges.push(edge),counter++}return{nodes:nodes,edges:edges,other:{},config:config,direction:this.getDirection()}}},"RequirementDB"),_a),genColor=__name(options=>{const config=getConfig(),{themeVariables:themeVariables,look:look}=config,{bkgColorArray:bkgColorArray,borderColorArray:borderColorArray}=themeVariables;if(!(null==borderColorArray?void 0:borderColorArray.length))return"";let sections="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)sections+=`\n\n [data-look="${look}"][data-color-id="color-${i}"].node path {\n stroke: ${borderColorArray[i]};\n fill: ${(null==bkgColorArray?void 0:bkgColorArray.length)?bkgColorArray[i]:""};\n }\n\n [data-look="${look}"][data-color-id="color-${i}"].node rect {\n stroke: ${borderColorArray[i]};\n fill: ${(null==bkgColorArray?void 0:bkgColorArray.length)?bkgColorArray[i]:""};\n }\n `;return sections},"genColor"),styles_default=__name(options=>{const config=getConfig(),{look:look,themeVariables:themeVariables}=config,{requirementEdgeLabelBackground:requirementEdgeLabelBackground}=themeVariables;return`\n ${genColor(options)}\n marker {\n fill: ${options.relationColor};\n stroke: ${options.relationColor};\n }\n\n marker.cross {\n stroke: ${options.lineColor};\n }\n\n svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n\n .reqBox {\n fill: ${options.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${options.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${options.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${options.relationColor};\n stroke-width: ${"neo"===look?options.strokeWidth:"1px"};\n }\n .relationshipLabel {\n fill: ${options.relationLabelColor};\n }\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${options.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${options.relationLabelColor};\n }\n .divider {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n }\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor||options.textColor};\n }\n .label text,span {\n fill: ${options.nodeTextColor||options.textColor};\n color: ${options.nodeTextColor||options.textColor};\n }\n .labelBkg {\n background-color: ${requirementEdgeLabelBackground??options.edgeLabelBackground};\n }\n\n`},"getStyles"),requirementRenderer_exports={};__export(requirementRenderer_exports,{draw:()=>draw});var draw=__name(async function(text,id,_version,diag){log.info("REF0:"),log.info("Drawing requirement diagram (unified)",id);const{securityLevel:securityLevel,state:conf,layout:layout,look:look}=getConfig2(),data4Layout=diag.db.getData(),svg=getDiagramElement(id,securityLevel);data4Layout.type=diag.type,data4Layout.layoutAlgorithm=getRegisteredLayoutAlgorithm(layout),data4Layout.nodeSpacing=(null==conf?void 0:conf.nodeSpacing)??50,data4Layout.rankSpacing=(null==conf?void 0:conf.rankSpacing)??50,data4Layout.markers="neo"===look?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],data4Layout.diagramId=id,await render(data4Layout,svg);utils_default.insertTitle(svg,"requirementDiagramTitleText",(null==conf?void 0:conf.titleTopMargin)??25,diag.db.getDiagramTitle()),setupViewPortForSVG(svg,8,"requirementDiagram",(null==conf?void 0:conf.useMaxWidth)??!0)},"draw"),diagram={parser:requirementDiagram_default,get db(){return new RequirementDB},renderer:requirementRenderer_exports,styles:styles_default};export{diagram};
@@ -1 +1 @@
1
- var _a,_b,_c;import{p as setDiagramTitle,q as getDiagramTitle,s as setAccDescription,g as getAccDescription,b as setAccTitle,a as getAccTitle,_ as __name,c as getConfig2,z as defaultConfig2,d as select,X as setupGraphViewbox,y as clear,k as common_default}from"./mermaid.core-CAsnLdlL.js";import{o as ordinal}from"./ordinal-DA-_8pMy.js";import"./vendor-mdxeditor-C7DYEBoH.js";import"./vendor-antd-BeN8xqGk.js";import"./vendor-codemirror-2nbmPewy.js";import"./vendor-markdown-BFrYfpb0.js";import"./init-DMZMl1PR.js";const d3schemeTableau10=function(specifier){for(var n=specifier.length/6|0,colors2=new Array(n),i=0;i<n;)colors2[i]="#"+specifier.slice(6*i,6*++i);return colors2}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function max(values,valueof){let max2;if(void 0===valueof)for(const value2 of values)null!=value2&&(max2<value2||void 0===max2&&value2>=value2)&&(max2=value2);else{let index=-1;for(let value2 of values)null!=(value2=valueof(value2,++index,values))&&(max2<value2||void 0===max2&&value2>=value2)&&(max2=value2)}return max2}function min(values,valueof){let min2;if(void 0===valueof)for(const value2 of values)null!=value2&&(min2>value2||void 0===min2&&value2>=value2)&&(min2=value2);else{let index=-1;for(let value2 of values)null!=(value2=valueof(value2,++index,values))&&(min2>value2||void 0===min2&&value2>=value2)&&(min2=value2)}return min2}function sum(values,valueof){let sum2=0;if(void 0===valueof)for(let value2 of values)(value2=+value2)&&(sum2+=value2);else{let index=-1;for(let value2 of values)(value2=+valueof(value2,++index,values))&&(sum2+=value2)}return sum2}function targetDepth(d){return d.target.depth}function justify(node,n){return node.sourceLinks.length?node.depth:n-1}function constant$1(x2){return function(){return x2}}function ascendingSourceBreadth(a,b){return ascendingBreadth(a.source,b.source)||a.index-b.index}function ascendingTargetBreadth(a,b){return ascendingBreadth(a.target,b.target)||a.index-b.index}function ascendingBreadth(a,b){return a.y0-b.y0}function value(d){return d.value}function defaultId(d){return d.index}function defaultNodes(graph){return graph.nodes}function defaultLinks(graph){return graph.links}function find(nodeById,id){const node=nodeById.get(id);if(!node)throw new Error("missing: "+id);return node}function computeLinkBreadths({nodes:nodes2}){for(const node of nodes2){let y0=node.y0,y1=y0;for(const link2 of node.sourceLinks)link2.y0=y0+link2.width/2,y0+=link2.width;for(const link2 of node.targetLinks)link2.y1=y1+link2.width/2,y1+=link2.width}}function Sankey(){let py,sort,linkSort,x0=0,y0=0,x1=1,y1=1,dx=24,dy=8,id=defaultId,align=justify,nodes2=defaultNodes,links2=defaultLinks,iterations=6;function sankey(){const graph={nodes:nodes2.apply(null,arguments),links:links2.apply(null,arguments)};return function({nodes:nodes3,links:links3}){for(const[i,node]of nodes3.entries())node.index=i,node.sourceLinks=[],node.targetLinks=[];const nodeById=new Map(nodes3.map((d,i)=>[id(d,i,nodes3),d]));for(const[i,link2]of links3.entries()){link2.index=i;let{source:source,target:target}=link2;"object"!=typeof source&&(source=link2.source=find(nodeById,source)),"object"!=typeof target&&(target=link2.target=find(nodeById,target)),source.sourceLinks.push(link2),target.targetLinks.push(link2)}if(null!=linkSort)for(const{sourceLinks:sourceLinks,targetLinks:targetLinks}of nodes3)sourceLinks.sort(linkSort),targetLinks.sort(linkSort)}(graph),function({nodes:nodes3}){for(const node of nodes3)node.value=void 0===node.fixedValue?Math.max(sum(node.sourceLinks,value),sum(node.targetLinks,value)):node.fixedValue}(graph),function({nodes:nodes3}){const n=nodes3.length;let current=new Set(nodes3),next=new Set,x2=0;for(;current.size;){for(const node of current){node.depth=x2;for(const{target:target}of node.sourceLinks)next.add(target)}if(++x2>n)throw new Error("circular link");current=next,next=new Set}}(graph),function({nodes:nodes3}){const n=nodes3.length;let current=new Set(nodes3),next=new Set,x2=0;for(;current.size;){for(const node of current){node.height=x2;for(const{source:source}of node.targetLinks)next.add(source)}if(++x2>n)throw new Error("circular link");current=next,next=new Set}}(graph),function(graph){const columns=function({nodes:nodes3}){const x2=max(nodes3,d=>d.depth)+1,kx=(x1-x0-dx)/(x2-1),columns=new Array(x2);for(const node of nodes3){const i=Math.max(0,Math.min(x2-1,Math.floor(align.call(null,node,x2))));node.layer=i,node.x0=x0+i*kx,node.x1=node.x0+dx,columns[i]?columns[i].push(node):columns[i]=[node]}if(sort)for(const column of columns)column.sort(sort);return columns}(graph);py=Math.min(dy,(y1-y0)/(max(columns,c=>c.length)-1)),function(columns){const ky=min(columns,c=>(y1-y0-(c.length-1)*py)/sum(c,value));for(const nodes3 of columns){let y2=y0;for(const node of nodes3){node.y0=y2,node.y1=y2+node.value*ky,y2=node.y1+py;for(const link2 of node.sourceLinks)link2.width=link2.value*ky}y2=(y1-y2+py)/(nodes3.length+1);for(let i=0;i<nodes3.length;++i){const node=nodes3[i];node.y0+=y2*(i+1),node.y1+=y2*(i+1)}reorderLinks(nodes3)}}(columns);for(let i=0;i<iterations;++i){const alpha=Math.pow(.99,i),beta=Math.max(1-alpha,(i+1)/iterations);relaxRightToLeft(columns,alpha,beta),relaxLeftToRight(columns,alpha,beta)}}(graph),computeLinkBreadths(graph),graph}function relaxLeftToRight(columns,alpha,beta){for(let i=1,n=columns.length;i<n;++i){const column=columns[i];for(const target of column){let y2=0,w=0;for(const{source:source,value:value2}of target.targetLinks){let v=value2*(target.layer-source.layer);y2+=targetTop(source,target)*v,w+=v}if(!(w>0))continue;let dy2=(y2/w-target.y0)*alpha;target.y0+=dy2,target.y1+=dy2,reorderNodeLinks(target)}void 0===sort&&column.sort(ascendingBreadth),resolveCollisions(column,beta)}}function relaxRightToLeft(columns,alpha,beta){for(let i=columns.length-2;i>=0;--i){const column=columns[i];for(const source of column){let y2=0,w=0;for(const{target:target,value:value2}of source.sourceLinks){let v=value2*(target.layer-source.layer);y2+=sourceTop(source,target)*v,w+=v}if(!(w>0))continue;let dy2=(y2/w-source.y0)*alpha;source.y0+=dy2,source.y1+=dy2,reorderNodeLinks(source)}void 0===sort&&column.sort(ascendingBreadth),resolveCollisions(column,beta)}}function resolveCollisions(nodes3,alpha){const i=nodes3.length>>1,subject=nodes3[i];resolveCollisionsBottomToTop(nodes3,subject.y0-py,i-1,alpha),resolveCollisionsTopToBottom(nodes3,subject.y1+py,i+1,alpha),resolveCollisionsBottomToTop(nodes3,y1,nodes3.length-1,alpha),resolveCollisionsTopToBottom(nodes3,y0,0,alpha)}function resolveCollisionsTopToBottom(nodes3,y2,i,alpha){for(;i<nodes3.length;++i){const node=nodes3[i],dy2=(y2-node.y0)*alpha;dy2>1e-6&&(node.y0+=dy2,node.y1+=dy2),y2=node.y1+py}}function resolveCollisionsBottomToTop(nodes3,y2,i,alpha){for(;i>=0;--i){const node=nodes3[i],dy2=(node.y1-y2)*alpha;dy2>1e-6&&(node.y0-=dy2,node.y1-=dy2),y2=node.y0-py}}function reorderNodeLinks({sourceLinks:sourceLinks,targetLinks:targetLinks}){if(void 0===linkSort){for(const{source:{sourceLinks:sourceLinks2}}of targetLinks)sourceLinks2.sort(ascendingTargetBreadth);for(const{target:{targetLinks:targetLinks2}}of sourceLinks)targetLinks2.sort(ascendingSourceBreadth)}}function reorderLinks(nodes3){if(void 0===linkSort)for(const{sourceLinks:sourceLinks,targetLinks:targetLinks}of nodes3)sourceLinks.sort(ascendingTargetBreadth),targetLinks.sort(ascendingSourceBreadth)}function targetTop(source,target){let y2=source.y0-(source.sourceLinks.length-1)*py/2;for(const{target:node,width:width}of source.sourceLinks){if(node===target)break;y2+=width+py}for(const{source:node,width:width}of target.targetLinks){if(node===source)break;y2-=width}return y2}function sourceTop(source,target){let y2=target.y0-(target.targetLinks.length-1)*py/2;for(const{source:node,width:width}of target.targetLinks){if(node===source)break;y2+=width+py}for(const{target:node,width:width}of source.sourceLinks){if(node===target)break;y2-=width}return y2}return sankey.update=function(graph){return computeLinkBreadths(graph),graph},sankey.nodeId=function(_){return arguments.length?(id="function"==typeof _?_:constant$1(_),sankey):id},sankey.nodeAlign=function(_){return arguments.length?(align="function"==typeof _?_:constant$1(_),sankey):align},sankey.nodeSort=function(_){return arguments.length?(sort=_,sankey):sort},sankey.nodeWidth=function(_){return arguments.length?(dx=+_,sankey):dx},sankey.nodePadding=function(_){return arguments.length?(dy=py=+_,sankey):dy},sankey.nodes=function(_){return arguments.length?(nodes2="function"==typeof _?_:constant$1(_),sankey):nodes2},sankey.links=function(_){return arguments.length?(links2="function"==typeof _?_:constant$1(_),sankey):links2},sankey.linkSort=function(_){return arguments.length?(linkSort=_,sankey):linkSort},sankey.size=function(_){return arguments.length?(x0=y0=0,x1=+_[0],y1=+_[1],sankey):[x1-x0,y1-y0]},sankey.extent=function(_){return arguments.length?(x0=+_[0][0],x1=+_[1][0],y0=+_[0][1],y1=+_[1][1],sankey):[[x0,y0],[x1,y1]]},sankey.iterations=function(_){return arguments.length?(iterations=+_,sankey):iterations},sankey}var pi=Math.PI,tau=2*pi,tauEpsilon=tau-1e-6;function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function path(){return new Path}function constant(x2){return function(){return x2}}function x(p){return p[0]}function y(p){return p[1]}Path.prototype=path.prototype={constructor:Path,moveTo:function(x2,y2){this._+="M"+(this._x0=this._x1=+x2)+","+(this._y0=this._y1=+y2)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(x2,y2){this._+="L"+(this._x1=+x2)+","+(this._y1=+y2)},quadraticCurveTo:function(x1,y1,x2,y2){this._+="Q"+ +x1+","+ +y1+","+(this._x1=+x2)+","+(this._y1=+y2)},bezierCurveTo:function(x1,y1,x2,y2,x3,y3){this._+="C"+ +x1+","+ +y1+","+ +x2+","+ +y2+","+(this._x1=+x3)+","+(this._y1=+y3)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=x1)+","+(this._y1=y1);else if(l01_2>1e-6)if(Math.abs(y01*x21-y21*x01)>1e-6&&r){var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>1e-6&&(this._+="L"+(x1+t01*x01)+","+(y1+t01*y01)),this._+="A"+r+","+r+",0,0,"+ +(y01*x20>x01*y20)+","+(this._x1=x1+t21*x21)+","+(this._y1=y1+t21*y21)}else this._+="L"+(this._x1=x1)+","+(this._y1=y1);else;},arc:function(x2,y2,r,a0,a1,ccw){x2=+x2,y2=+y2,ccw=!!ccw;var dx=(r=+r)*Math.cos(a0),dy=r*Math.sin(a0),x0=x2+dx,y0=y2+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+x0+","+y0:(Math.abs(this._x1-x0)>1e-6||Math.abs(this._y1-y0)>1e-6)&&(this._+="L"+x0+","+y0),r&&(da<0&&(da=da%tau+tau),da>tauEpsilon?this._+="A"+r+","+r+",0,1,"+cw+","+(x2-dx)+","+(y2-dy)+"A"+r+","+r+",0,1,"+cw+","+(this._x1=x0)+","+(this._y1=y0):da>1e-6&&(this._+="A"+r+","+r+",0,"+ +(da>=pi)+","+cw+","+(this._x1=x2+r*Math.cos(a1))+","+(this._y1=y2+r*Math.sin(a1))))},rect:function(x2,y2,w,h){this._+="M"+(this._x0=this._x1=+x2)+","+(this._y0=this._y1=+y2)+"h"+ +w+"v"+ +h+"h"+-w+"Z"},toString:function(){return this._}};var slice=Array.prototype.slice;function linkSource(d){return d.source}function linkTarget(d){return d.target}function curveHorizontal(context,x0,y0,x1,y1){context.moveTo(x0,y0),context.bezierCurveTo(x0=(x0+x1)/2,y0,x0,y1,x1,y1)}function linkHorizontal(){return function(curve){var source=linkSource,target=linkTarget,x$1=x,y$1=y,context=null;function link2(){var buffer,argv=slice.call(arguments),s=source.apply(this,argv),t=target.apply(this,argv);if(context||(context=buffer=path()),curve(context,+x$1.apply(this,(argv[0]=s,argv)),+y$1.apply(this,argv),+x$1.apply(this,(argv[0]=t,argv)),+y$1.apply(this,argv)),buffer)return context=null,buffer+""||null}return link2.source=function(_){return arguments.length?(source=_,link2):source},link2.target=function(_){return arguments.length?(target=_,link2):target},link2.x=function(_){return arguments.length?(x$1="function"==typeof _?_:constant(+_),link2):x$1},link2.y=function(_){return arguments.length?(y$1="function"==typeof _?_:constant(+_),link2):y$1},link2.context=function(_){return arguments.length?(context=null==_?null:_,link2):context},link2}(curveHorizontal)}function horizontalSource(d){return[d.source.x1,d.y0]}function horizontalTarget(d){return[d.target.x0,d.y1]}var 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,9],$V1=[1,10],$V2=[1,5,10,12],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 7:const source=yy.findOrCreateNode($$[$0-4].trim().replaceAll('""','"')),target=yy.findOrCreateNode($$[$0-2].trim().replaceAll('""','"')),value2=parseFloat($$[$0].trim());yy.addLink(source,target,value2);break;case 8:case 9:case 11:this.$=$$[$0];break;case 10:this.$=$$[$0-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:$V0,20:$V1},{1:[2,6],7:11,10:[1,12]},o($V1,[2,4],{9:13,5:[1,14]}),{12:[1,15]},o($V2,[2,8]),o($V2,[2,9]),{19:[1,16]},o($V2,[2,11]),{1:[2,1]},{1:[2,5]},o($V1,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:$V0,20:$V1},{15:18,16:7,17:8,18:$V0,20:$V1},{18:[1,19]},o($V1,[2,3]),{12:[1,20]},o($V2,[2,10]),{15:21,16:7,17:8,18:$V0,20:$V1},o([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},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:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],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 sankey_default=parser,links=[],nodes=[],nodesMap=new Map,clear2=__name(()=>{links=[],nodes=[],nodesMap=new Map,clear()},"clear"),SankeyLink=(__name(_a=class{constructor(source,target,value2=0){this.source=source,this.target=target,this.value=value2}},"SankeyLink"),_a),addLink=__name((source,target,value2)=>{links.push(new SankeyLink(source,target,value2))},"addLink"),SankeyNode=(__name(_b=class{constructor(ID){this.ID=ID}},"SankeyNode"),_b),findOrCreateNode=__name(ID=>{ID=common_default.sanitizeText(ID,getConfig2());let node=nodesMap.get(ID);return void 0===node&&(node=new SankeyNode(ID),nodesMap.set(ID,node),nodes.push(node)),node},"findOrCreateNode"),getNodes=__name(()=>nodes,"getNodes"),getLinks=__name(()=>links,"getLinks"),getGraph=__name(()=>({nodes:nodes.map(node=>({id:node.ID})),links:links.map(link2=>({source:link2.source.ID,target:link2.target.ID,value:link2.value}))}),"getGraph"),sankeyDB_default={nodesMap:nodesMap,getConfig:__name(()=>getConfig2().sankey,"getConfig"),getNodes:getNodes,getLinks:getLinks,getGraph:getGraph,addLink:addLink,findOrCreateNode:findOrCreateNode,getAccTitle:getAccTitle,setAccTitle:setAccTitle,getAccDescription:getAccDescription,setAccDescription:setAccDescription,getDiagramTitle:getDiagramTitle,setDiagramTitle:setDiagramTitle,clear:clear2},Uid=(__name(_c=class{static next(name){return new _c(name+ ++_c.count)}constructor(id){this.id=id,this.href=`#${id}`}toString(){return"url("+this.href+")"}},"Uid"),_c.count=0,_c),alignmentsMap={left:function(node){return node.depth},right:function(node,n){return n-1-node.height},center:function(node){return node.targetLinks.length?node.depth:node.sourceLinks.length?min(node.sourceLinks,targetDepth)-1:0},justify:justify},sankeyRenderer_default={draw:__name(function(text,id,_version,diagObj){const{securityLevel:securityLevel,sankey:conf}=getConfig2(),defaultSankeyConfig=defaultConfig2.sankey;let sandboxElement;"sandbox"===securityLevel&&(sandboxElement=select("#i"+id));const root=select("sandbox"===securityLevel?sandboxElement.nodes()[0].contentDocument.body:"body"),svg="sandbox"===securityLevel?root.select(`[id="${id}"]`):select(`[id="${id}"]`),width=(null==conf?void 0:conf.width)??defaultSankeyConfig.width,height=(null==conf?void 0:conf.height)??defaultSankeyConfig.width,useMaxWidth=(null==conf?void 0:conf.useMaxWidth)??defaultSankeyConfig.useMaxWidth,nodeAlignment=(null==conf?void 0:conf.nodeAlignment)??defaultSankeyConfig.nodeAlignment,prefix=(null==conf?void 0:conf.prefix)??defaultSankeyConfig.prefix,suffix=(null==conf?void 0:conf.suffix)??defaultSankeyConfig.suffix,showValues=(null==conf?void 0:conf.showValues)??defaultSankeyConfig.showValues,graph=diagObj.db.getGraph(),nodeAlign=alignmentsMap[nodeAlignment];Sankey().nodeId(d=>d.id).nodeWidth(10).nodePadding(10+(showValues?15:0)).nodeAlign(nodeAlign).extent([[0,0],[width,height]])(graph);const colorScheme=ordinal(d3schemeTableau10);svg.append("g").attr("class","nodes").selectAll(".node").data(graph.nodes).join("g").attr("class","node").attr("id",d=>(d.uid=Uid.next("node-")).id).attr("transform",function(d){return"translate("+d.x0+","+d.y0+")"}).attr("x",d=>d.x0).attr("y",d=>d.y0).append("rect").attr("height",d=>d.y1-d.y0).attr("width",d=>d.x1-d.x0).attr("fill",d=>colorScheme(d.id));const getText=__name(({id:id2,value:value2})=>showValues?`${id2}\n${prefix}${Math.round(100*value2)/100}${suffix}`:id2,"getText");svg.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(graph.nodes).join("text").attr("x",d=>d.x0<width/2?d.x1+6:d.x0-6).attr("y",d=>(d.y1+d.y0)/2).attr("dy",(showValues?"0":"0.35")+"em").attr("text-anchor",d=>d.x0<width/2?"start":"end").text(getText);const link2=svg.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(graph.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),linkColor=(null==conf?void 0:conf.linkColor)??"gradient";if("gradient"===linkColor){const gradient=link2.append("linearGradient").attr("id",d=>(d.uid=Uid.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",d=>d.source.x1).attr("x2",d=>d.target.x0);gradient.append("stop").attr("offset","0%").attr("stop-color",d=>colorScheme(d.source.id)),gradient.append("stop").attr("offset","100%").attr("stop-color",d=>colorScheme(d.target.id))}let coloring;switch(linkColor){case"gradient":coloring=__name(d=>d.uid,"coloring");break;case"source":coloring=__name(d=>colorScheme(d.source.id),"coloring");break;case"target":coloring=__name(d=>colorScheme(d.target.id),"coloring");break;default:coloring=linkColor}link2.append("path").attr("d",linkHorizontal().source(horizontalSource).target(horizontalTarget)).attr("stroke",coloring).attr("stroke-width",d=>Math.max(1,d.width)),setupGraphViewbox(void 0,svg,0,useMaxWidth)},"draw")},prepareTextForParsing=__name(text=>text.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n }`,"getStyles"),originalParse=sankey_default.parse.bind(sankey_default);sankey_default.parse=text=>originalParse(prepareTextForParsing(text));var diagram={styles:styles_default,parser:sankey_default,db:sankeyDB_default,renderer:sankeyRenderer_default};export{diagram};
1
+ var _a,_b,_c;import{p as setDiagramTitle,q as getDiagramTitle,s as setAccDescription,g as getAccDescription,b as setAccTitle,a as getAccTitle,_ as __name,c as getConfig2,z as defaultConfig2,d as select,X as setupGraphViewbox,y as clear,k as common_default}from"./mermaid.core-f1mZHh7u.js";import{o as ordinal}from"./ordinal-DA-_8pMy.js";import"./vendor-mdxeditor-BFiCaYAL.js";import"./vendor-antd-jGWxgt_-.js";import"./vendor-codemirror-9gysGjWj.js";import"./vendor-markdown-BFrYfpb0.js";import"./init-DMZMl1PR.js";const d3schemeTableau10=function(specifier){for(var n=specifier.length/6|0,colors2=new Array(n),i=0;i<n;)colors2[i]="#"+specifier.slice(6*i,6*++i);return colors2}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function max(values,valueof){let max2;if(void 0===valueof)for(const value2 of values)null!=value2&&(max2<value2||void 0===max2&&value2>=value2)&&(max2=value2);else{let index=-1;for(let value2 of values)null!=(value2=valueof(value2,++index,values))&&(max2<value2||void 0===max2&&value2>=value2)&&(max2=value2)}return max2}function min(values,valueof){let min2;if(void 0===valueof)for(const value2 of values)null!=value2&&(min2>value2||void 0===min2&&value2>=value2)&&(min2=value2);else{let index=-1;for(let value2 of values)null!=(value2=valueof(value2,++index,values))&&(min2>value2||void 0===min2&&value2>=value2)&&(min2=value2)}return min2}function sum(values,valueof){let sum2=0;if(void 0===valueof)for(let value2 of values)(value2=+value2)&&(sum2+=value2);else{let index=-1;for(let value2 of values)(value2=+valueof(value2,++index,values))&&(sum2+=value2)}return sum2}function targetDepth(d){return d.target.depth}function justify(node,n){return node.sourceLinks.length?node.depth:n-1}function constant$1(x2){return function(){return x2}}function ascendingSourceBreadth(a,b){return ascendingBreadth(a.source,b.source)||a.index-b.index}function ascendingTargetBreadth(a,b){return ascendingBreadth(a.target,b.target)||a.index-b.index}function ascendingBreadth(a,b){return a.y0-b.y0}function value(d){return d.value}function defaultId(d){return d.index}function defaultNodes(graph){return graph.nodes}function defaultLinks(graph){return graph.links}function find(nodeById,id){const node=nodeById.get(id);if(!node)throw new Error("missing: "+id);return node}function computeLinkBreadths({nodes:nodes2}){for(const node of nodes2){let y0=node.y0,y1=y0;for(const link2 of node.sourceLinks)link2.y0=y0+link2.width/2,y0+=link2.width;for(const link2 of node.targetLinks)link2.y1=y1+link2.width/2,y1+=link2.width}}function Sankey(){let py,sort,linkSort,x0=0,y0=0,x1=1,y1=1,dx=24,dy=8,id=defaultId,align=justify,nodes2=defaultNodes,links2=defaultLinks,iterations=6;function sankey(){const graph={nodes:nodes2.apply(null,arguments),links:links2.apply(null,arguments)};return function({nodes:nodes3,links:links3}){for(const[i,node]of nodes3.entries())node.index=i,node.sourceLinks=[],node.targetLinks=[];const nodeById=new Map(nodes3.map((d,i)=>[id(d,i,nodes3),d]));for(const[i,link2]of links3.entries()){link2.index=i;let{source:source,target:target}=link2;"object"!=typeof source&&(source=link2.source=find(nodeById,source)),"object"!=typeof target&&(target=link2.target=find(nodeById,target)),source.sourceLinks.push(link2),target.targetLinks.push(link2)}if(null!=linkSort)for(const{sourceLinks:sourceLinks,targetLinks:targetLinks}of nodes3)sourceLinks.sort(linkSort),targetLinks.sort(linkSort)}(graph),function({nodes:nodes3}){for(const node of nodes3)node.value=void 0===node.fixedValue?Math.max(sum(node.sourceLinks,value),sum(node.targetLinks,value)):node.fixedValue}(graph),function({nodes:nodes3}){const n=nodes3.length;let current=new Set(nodes3),next=new Set,x2=0;for(;current.size;){for(const node of current){node.depth=x2;for(const{target:target}of node.sourceLinks)next.add(target)}if(++x2>n)throw new Error("circular link");current=next,next=new Set}}(graph),function({nodes:nodes3}){const n=nodes3.length;let current=new Set(nodes3),next=new Set,x2=0;for(;current.size;){for(const node of current){node.height=x2;for(const{source:source}of node.targetLinks)next.add(source)}if(++x2>n)throw new Error("circular link");current=next,next=new Set}}(graph),function(graph){const columns=function({nodes:nodes3}){const x2=max(nodes3,d=>d.depth)+1,kx=(x1-x0-dx)/(x2-1),columns=new Array(x2);for(const node of nodes3){const i=Math.max(0,Math.min(x2-1,Math.floor(align.call(null,node,x2))));node.layer=i,node.x0=x0+i*kx,node.x1=node.x0+dx,columns[i]?columns[i].push(node):columns[i]=[node]}if(sort)for(const column of columns)column.sort(sort);return columns}(graph);py=Math.min(dy,(y1-y0)/(max(columns,c=>c.length)-1)),function(columns){const ky=min(columns,c=>(y1-y0-(c.length-1)*py)/sum(c,value));for(const nodes3 of columns){let y2=y0;for(const node of nodes3){node.y0=y2,node.y1=y2+node.value*ky,y2=node.y1+py;for(const link2 of node.sourceLinks)link2.width=link2.value*ky}y2=(y1-y2+py)/(nodes3.length+1);for(let i=0;i<nodes3.length;++i){const node=nodes3[i];node.y0+=y2*(i+1),node.y1+=y2*(i+1)}reorderLinks(nodes3)}}(columns);for(let i=0;i<iterations;++i){const alpha=Math.pow(.99,i),beta=Math.max(1-alpha,(i+1)/iterations);relaxRightToLeft(columns,alpha,beta),relaxLeftToRight(columns,alpha,beta)}}(graph),computeLinkBreadths(graph),graph}function relaxLeftToRight(columns,alpha,beta){for(let i=1,n=columns.length;i<n;++i){const column=columns[i];for(const target of column){let y2=0,w=0;for(const{source:source,value:value2}of target.targetLinks){let v=value2*(target.layer-source.layer);y2+=targetTop(source,target)*v,w+=v}if(!(w>0))continue;let dy2=(y2/w-target.y0)*alpha;target.y0+=dy2,target.y1+=dy2,reorderNodeLinks(target)}void 0===sort&&column.sort(ascendingBreadth),resolveCollisions(column,beta)}}function relaxRightToLeft(columns,alpha,beta){for(let i=columns.length-2;i>=0;--i){const column=columns[i];for(const source of column){let y2=0,w=0;for(const{target:target,value:value2}of source.sourceLinks){let v=value2*(target.layer-source.layer);y2+=sourceTop(source,target)*v,w+=v}if(!(w>0))continue;let dy2=(y2/w-source.y0)*alpha;source.y0+=dy2,source.y1+=dy2,reorderNodeLinks(source)}void 0===sort&&column.sort(ascendingBreadth),resolveCollisions(column,beta)}}function resolveCollisions(nodes3,alpha){const i=nodes3.length>>1,subject=nodes3[i];resolveCollisionsBottomToTop(nodes3,subject.y0-py,i-1,alpha),resolveCollisionsTopToBottom(nodes3,subject.y1+py,i+1,alpha),resolveCollisionsBottomToTop(nodes3,y1,nodes3.length-1,alpha),resolveCollisionsTopToBottom(nodes3,y0,0,alpha)}function resolveCollisionsTopToBottom(nodes3,y2,i,alpha){for(;i<nodes3.length;++i){const node=nodes3[i],dy2=(y2-node.y0)*alpha;dy2>1e-6&&(node.y0+=dy2,node.y1+=dy2),y2=node.y1+py}}function resolveCollisionsBottomToTop(nodes3,y2,i,alpha){for(;i>=0;--i){const node=nodes3[i],dy2=(node.y1-y2)*alpha;dy2>1e-6&&(node.y0-=dy2,node.y1-=dy2),y2=node.y0-py}}function reorderNodeLinks({sourceLinks:sourceLinks,targetLinks:targetLinks}){if(void 0===linkSort){for(const{source:{sourceLinks:sourceLinks2}}of targetLinks)sourceLinks2.sort(ascendingTargetBreadth);for(const{target:{targetLinks:targetLinks2}}of sourceLinks)targetLinks2.sort(ascendingSourceBreadth)}}function reorderLinks(nodes3){if(void 0===linkSort)for(const{sourceLinks:sourceLinks,targetLinks:targetLinks}of nodes3)sourceLinks.sort(ascendingTargetBreadth),targetLinks.sort(ascendingSourceBreadth)}function targetTop(source,target){let y2=source.y0-(source.sourceLinks.length-1)*py/2;for(const{target:node,width:width}of source.sourceLinks){if(node===target)break;y2+=width+py}for(const{source:node,width:width}of target.targetLinks){if(node===source)break;y2-=width}return y2}function sourceTop(source,target){let y2=target.y0-(target.targetLinks.length-1)*py/2;for(const{source:node,width:width}of target.targetLinks){if(node===source)break;y2+=width+py}for(const{target:node,width:width}of source.sourceLinks){if(node===target)break;y2-=width}return y2}return sankey.update=function(graph){return computeLinkBreadths(graph),graph},sankey.nodeId=function(_){return arguments.length?(id="function"==typeof _?_:constant$1(_),sankey):id},sankey.nodeAlign=function(_){return arguments.length?(align="function"==typeof _?_:constant$1(_),sankey):align},sankey.nodeSort=function(_){return arguments.length?(sort=_,sankey):sort},sankey.nodeWidth=function(_){return arguments.length?(dx=+_,sankey):dx},sankey.nodePadding=function(_){return arguments.length?(dy=py=+_,sankey):dy},sankey.nodes=function(_){return arguments.length?(nodes2="function"==typeof _?_:constant$1(_),sankey):nodes2},sankey.links=function(_){return arguments.length?(links2="function"==typeof _?_:constant$1(_),sankey):links2},sankey.linkSort=function(_){return arguments.length?(linkSort=_,sankey):linkSort},sankey.size=function(_){return arguments.length?(x0=y0=0,x1=+_[0],y1=+_[1],sankey):[x1-x0,y1-y0]},sankey.extent=function(_){return arguments.length?(x0=+_[0][0],x1=+_[1][0],y0=+_[0][1],y1=+_[1][1],sankey):[[x0,y0],[x1,y1]]},sankey.iterations=function(_){return arguments.length?(iterations=+_,sankey):iterations},sankey}var pi=Math.PI,tau=2*pi,tauEpsilon=tau-1e-6;function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function path(){return new Path}function constant(x2){return function(){return x2}}function x(p){return p[0]}function y(p){return p[1]}Path.prototype=path.prototype={constructor:Path,moveTo:function(x2,y2){this._+="M"+(this._x0=this._x1=+x2)+","+(this._y0=this._y1=+y2)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(x2,y2){this._+="L"+(this._x1=+x2)+","+(this._y1=+y2)},quadraticCurveTo:function(x1,y1,x2,y2){this._+="Q"+ +x1+","+ +y1+","+(this._x1=+x2)+","+(this._y1=+y2)},bezierCurveTo:function(x1,y1,x2,y2,x3,y3){this._+="C"+ +x1+","+ +y1+","+ +x2+","+ +y2+","+(this._x1=+x3)+","+(this._y1=+y3)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=x1)+","+(this._y1=y1);else if(l01_2>1e-6)if(Math.abs(y01*x21-y21*x01)>1e-6&&r){var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>1e-6&&(this._+="L"+(x1+t01*x01)+","+(y1+t01*y01)),this._+="A"+r+","+r+",0,0,"+ +(y01*x20>x01*y20)+","+(this._x1=x1+t21*x21)+","+(this._y1=y1+t21*y21)}else this._+="L"+(this._x1=x1)+","+(this._y1=y1);else;},arc:function(x2,y2,r,a0,a1,ccw){x2=+x2,y2=+y2,ccw=!!ccw;var dx=(r=+r)*Math.cos(a0),dy=r*Math.sin(a0),x0=x2+dx,y0=y2+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+x0+","+y0:(Math.abs(this._x1-x0)>1e-6||Math.abs(this._y1-y0)>1e-6)&&(this._+="L"+x0+","+y0),r&&(da<0&&(da=da%tau+tau),da>tauEpsilon?this._+="A"+r+","+r+",0,1,"+cw+","+(x2-dx)+","+(y2-dy)+"A"+r+","+r+",0,1,"+cw+","+(this._x1=x0)+","+(this._y1=y0):da>1e-6&&(this._+="A"+r+","+r+",0,"+ +(da>=pi)+","+cw+","+(this._x1=x2+r*Math.cos(a1))+","+(this._y1=y2+r*Math.sin(a1))))},rect:function(x2,y2,w,h){this._+="M"+(this._x0=this._x1=+x2)+","+(this._y0=this._y1=+y2)+"h"+ +w+"v"+ +h+"h"+-w+"Z"},toString:function(){return this._}};var slice=Array.prototype.slice;function linkSource(d){return d.source}function linkTarget(d){return d.target}function curveHorizontal(context,x0,y0,x1,y1){context.moveTo(x0,y0),context.bezierCurveTo(x0=(x0+x1)/2,y0,x0,y1,x1,y1)}function linkHorizontal(){return function(curve){var source=linkSource,target=linkTarget,x$1=x,y$1=y,context=null;function link2(){var buffer,argv=slice.call(arguments),s=source.apply(this,argv),t=target.apply(this,argv);if(context||(context=buffer=path()),curve(context,+x$1.apply(this,(argv[0]=s,argv)),+y$1.apply(this,argv),+x$1.apply(this,(argv[0]=t,argv)),+y$1.apply(this,argv)),buffer)return context=null,buffer+""||null}return link2.source=function(_){return arguments.length?(source=_,link2):source},link2.target=function(_){return arguments.length?(target=_,link2):target},link2.x=function(_){return arguments.length?(x$1="function"==typeof _?_:constant(+_),link2):x$1},link2.y=function(_){return arguments.length?(y$1="function"==typeof _?_:constant(+_),link2):y$1},link2.context=function(_){return arguments.length?(context=null==_?null:_,link2):context},link2}(curveHorizontal)}function horizontalSource(d){return[d.source.x1,d.y0]}function horizontalTarget(d){return[d.target.x0,d.y1]}var 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,9],$V1=[1,10],$V2=[1,5,10,12],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 7:const source=yy.findOrCreateNode($$[$0-4].trim().replaceAll('""','"')),target=yy.findOrCreateNode($$[$0-2].trim().replaceAll('""','"')),value2=parseFloat($$[$0].trim());yy.addLink(source,target,value2);break;case 8:case 9:case 11:this.$=$$[$0];break;case 10:this.$=$$[$0-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:$V0,20:$V1},{1:[2,6],7:11,10:[1,12]},o($V1,[2,4],{9:13,5:[1,14]}),{12:[1,15]},o($V2,[2,8]),o($V2,[2,9]),{19:[1,16]},o($V2,[2,11]),{1:[2,1]},{1:[2,5]},o($V1,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:$V0,20:$V1},{15:18,16:7,17:8,18:$V0,20:$V1},{18:[1,19]},o($V1,[2,3]),{12:[1,20]},o($V2,[2,10]),{15:21,16:7,17:8,18:$V0,20:$V1},o([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},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:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],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 sankey_default=parser,links=[],nodes=[],nodesMap=new Map,clear2=__name(()=>{links=[],nodes=[],nodesMap=new Map,clear()},"clear"),SankeyLink=(__name(_a=class{constructor(source,target,value2=0){this.source=source,this.target=target,this.value=value2}},"SankeyLink"),_a),addLink=__name((source,target,value2)=>{links.push(new SankeyLink(source,target,value2))},"addLink"),SankeyNode=(__name(_b=class{constructor(ID){this.ID=ID}},"SankeyNode"),_b),findOrCreateNode=__name(ID=>{ID=common_default.sanitizeText(ID,getConfig2());let node=nodesMap.get(ID);return void 0===node&&(node=new SankeyNode(ID),nodesMap.set(ID,node),nodes.push(node)),node},"findOrCreateNode"),getNodes=__name(()=>nodes,"getNodes"),getLinks=__name(()=>links,"getLinks"),getGraph=__name(()=>({nodes:nodes.map(node=>({id:node.ID})),links:links.map(link2=>({source:link2.source.ID,target:link2.target.ID,value:link2.value}))}),"getGraph"),sankeyDB_default={nodesMap:nodesMap,getConfig:__name(()=>getConfig2().sankey,"getConfig"),getNodes:getNodes,getLinks:getLinks,getGraph:getGraph,addLink:addLink,findOrCreateNode:findOrCreateNode,getAccTitle:getAccTitle,setAccTitle:setAccTitle,getAccDescription:getAccDescription,setAccDescription:setAccDescription,getDiagramTitle:getDiagramTitle,setDiagramTitle:setDiagramTitle,clear:clear2},Uid=(__name(_c=class{static next(name){return new _c(name+ ++_c.count)}constructor(id){this.id=id,this.href=`#${id}`}toString(){return"url("+this.href+")"}},"Uid"),_c.count=0,_c),alignmentsMap={left:function(node){return node.depth},right:function(node,n){return n-1-node.height},center:function(node){return node.targetLinks.length?node.depth:node.sourceLinks.length?min(node.sourceLinks,targetDepth)-1:0},justify:justify},sankeyRenderer_default={draw:__name(function(text,id,_version,diagObj){const{securityLevel:securityLevel,sankey:conf}=getConfig2(),defaultSankeyConfig=defaultConfig2.sankey;let sandboxElement;"sandbox"===securityLevel&&(sandboxElement=select("#i"+id));const root=select("sandbox"===securityLevel?sandboxElement.nodes()[0].contentDocument.body:"body"),svg="sandbox"===securityLevel?root.select(`[id="${id}"]`):select(`[id="${id}"]`),width=(null==conf?void 0:conf.width)??defaultSankeyConfig.width,height=(null==conf?void 0:conf.height)??defaultSankeyConfig.width,useMaxWidth=(null==conf?void 0:conf.useMaxWidth)??defaultSankeyConfig.useMaxWidth,nodeAlignment=(null==conf?void 0:conf.nodeAlignment)??defaultSankeyConfig.nodeAlignment,prefix=(null==conf?void 0:conf.prefix)??defaultSankeyConfig.prefix,suffix=(null==conf?void 0:conf.suffix)??defaultSankeyConfig.suffix,showValues=(null==conf?void 0:conf.showValues)??defaultSankeyConfig.showValues,graph=diagObj.db.getGraph(),nodeAlign=alignmentsMap[nodeAlignment];Sankey().nodeId(d=>d.id).nodeWidth(10).nodePadding(10+(showValues?15:0)).nodeAlign(nodeAlign).extent([[0,0],[width,height]])(graph);const colorScheme=ordinal(d3schemeTableau10);svg.append("g").attr("class","nodes").selectAll(".node").data(graph.nodes).join("g").attr("class","node").attr("id",d=>(d.uid=Uid.next("node-")).id).attr("transform",function(d){return"translate("+d.x0+","+d.y0+")"}).attr("x",d=>d.x0).attr("y",d=>d.y0).append("rect").attr("height",d=>d.y1-d.y0).attr("width",d=>d.x1-d.x0).attr("fill",d=>colorScheme(d.id));const getText=__name(({id:id2,value:value2})=>showValues?`${id2}\n${prefix}${Math.round(100*value2)/100}${suffix}`:id2,"getText");svg.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(graph.nodes).join("text").attr("x",d=>d.x0<width/2?d.x1+6:d.x0-6).attr("y",d=>(d.y1+d.y0)/2).attr("dy",(showValues?"0":"0.35")+"em").attr("text-anchor",d=>d.x0<width/2?"start":"end").text(getText);const link2=svg.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(graph.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),linkColor=(null==conf?void 0:conf.linkColor)??"gradient";if("gradient"===linkColor){const gradient=link2.append("linearGradient").attr("id",d=>(d.uid=Uid.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",d=>d.source.x1).attr("x2",d=>d.target.x0);gradient.append("stop").attr("offset","0%").attr("stop-color",d=>colorScheme(d.source.id)),gradient.append("stop").attr("offset","100%").attr("stop-color",d=>colorScheme(d.target.id))}let coloring;switch(linkColor){case"gradient":coloring=__name(d=>d.uid,"coloring");break;case"source":coloring=__name(d=>colorScheme(d.source.id),"coloring");break;case"target":coloring=__name(d=>colorScheme(d.target.id),"coloring");break;default:coloring=linkColor}link2.append("path").attr("d",linkHorizontal().source(horizontalSource).target(horizontalTarget)).attr("stroke",coloring).attr("stroke-width",d=>Math.max(1,d.width)),setupGraphViewbox(void 0,svg,0,useMaxWidth)},"draw")},prepareTextForParsing=__name(text=>text.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),styles_default=__name(options=>`.label {\n font-family: ${options.fontFamily};\n }`,"getStyles"),originalParse=sankey_default.parse.bind(sankey_default);sankey_default.parse=text=>originalParse(prepareTextForParsing(text));var diagram={styles:styles_default,parser:sankey_default,db:sankeyDB_default,renderer:sankeyRenderer_default};export{diagram};