@readme/markdown 9.3.0 → 9.3.1

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 (122) hide show
  1. package/dist/10.node.js +20064 -19229
  2. package/dist/10.node.js.map +1 -1
  3. package/dist/122.node.js +23 -0
  4. package/dist/122.node.js.map +1 -0
  5. package/dist/{17.node.js → 135.node.js} +109 -110
  6. package/dist/135.node.js.map +1 -0
  7. package/dist/136.node.js +23 -0
  8. package/dist/136.node.js.map +1 -0
  9. package/dist/{52.node.js → 188.node.js} +211 -196
  10. package/dist/188.node.js.map +1 -0
  11. package/dist/214.node.js +1280 -0
  12. package/dist/214.node.js.map +1 -0
  13. package/dist/23.node.js +2563 -0
  14. package/dist/23.node.js.map +1 -0
  15. package/dist/{867.node.js → 311.node.js} +95 -95
  16. package/dist/{867.node.js.map → 311.node.js.map} +1 -1
  17. package/dist/{940.node.js → 339.node.js} +3 -75
  18. package/dist/339.node.js.map +1 -0
  19. package/dist/354.node.js +23 -0
  20. package/dist/354.node.js.map +1 -0
  21. package/dist/359.node.js +2001 -0
  22. package/dist/359.node.js.map +1 -0
  23. package/dist/364.node.js +4435 -0
  24. package/dist/364.node.js.map +1 -0
  25. package/dist/{429.node.js → 371.node.js} +196 -139
  26. package/dist/371.node.js.map +1 -0
  27. package/dist/{687.node.js → 38.node.js} +761 -761
  28. package/dist/38.node.js.map +1 -0
  29. package/dist/391.node.js +522 -0
  30. package/dist/391.node.js.map +1 -0
  31. package/dist/462.node.js +23 -0
  32. package/dist/462.node.js.map +1 -0
  33. package/dist/48.node.js +57 -0
  34. package/dist/48.node.js.map +1 -0
  35. package/dist/486.node.js +16267 -14851
  36. package/dist/486.node.js.map +1 -1
  37. package/dist/537.node.js +59 -0
  38. package/dist/537.node.js.map +1 -0
  39. package/dist/550.node.js +201 -1408
  40. package/dist/550.node.js.map +1 -1
  41. package/dist/{403.node.js → 572.node.js} +118 -118
  42. package/dist/572.node.js.map +1 -0
  43. package/dist/580.node.js +1324 -0
  44. package/dist/580.node.js.map +1 -0
  45. package/dist/{952.node.js → 649.node.js} +39 -39
  46. package/dist/{952.node.js.map → 649.node.js.map} +1 -1
  47. package/dist/740.node.js +23 -0
  48. package/dist/740.node.js.map +1 -0
  49. package/dist/741.node.js +23 -0
  50. package/dist/741.node.js.map +1 -0
  51. package/dist/779.node.js +57 -0
  52. package/dist/779.node.js.map +1 -0
  53. package/dist/805.node.js +1355 -0
  54. package/dist/805.node.js.map +1 -0
  55. package/dist/{246.node.js → 855.node.js} +671 -495
  56. package/dist/855.node.js.map +1 -0
  57. package/dist/{11.node.js → 870.node.js} +70 -63
  58. package/dist/870.node.js.map +1 -0
  59. package/dist/874.node.js +57 -0
  60. package/dist/874.node.js.map +1 -0
  61. package/dist/881.node.js +1344 -720
  62. package/dist/881.node.js.map +1 -1
  63. package/dist/{906.node.js → 890.node.js} +147 -147
  64. package/dist/{906.node.js.map → 890.node.js.map} +1 -1
  65. package/dist/898.node.js +361 -0
  66. package/dist/898.node.js.map +1 -0
  67. package/dist/{551.node.js → 912.node.js} +133 -133
  68. package/dist/{551.node.js.map → 912.node.js.map} +1 -1
  69. package/dist/{745.node.js → 915.node.js} +86 -85
  70. package/dist/915.node.js.map +1 -0
  71. package/dist/982.node.js +1132 -0
  72. package/dist/982.node.js.map +1 -0
  73. package/dist/995.node.js +189 -159
  74. package/dist/995.node.js.map +1 -1
  75. package/dist/lib/plain.d.ts +1 -1
  76. package/dist/main.js +1881 -331
  77. package/dist/main.node.js +1872 -332
  78. package/dist/main.node.js.map +1 -1
  79. package/package.json +1 -2
  80. package/dist/11.node.js.map +0 -1
  81. package/dist/120.node.js +0 -23
  82. package/dist/120.node.js.map +0 -1
  83. package/dist/134.node.js +0 -23
  84. package/dist/134.node.js.map +0 -1
  85. package/dist/150.node.js +0 -1892
  86. package/dist/150.node.js.map +0 -1
  87. package/dist/17.node.js.map +0 -1
  88. package/dist/246.node.js.map +0 -1
  89. package/dist/351.node.js +0 -2404
  90. package/dist/351.node.js.map +0 -1
  91. package/dist/366.node.js +0 -1185
  92. package/dist/366.node.js.map +0 -1
  93. package/dist/403.node.js.map +0 -1
  94. package/dist/429.node.js.map +0 -1
  95. package/dist/485.node.js +0 -518
  96. package/dist/485.node.js.map +0 -1
  97. package/dist/488.node.js +0 -59
  98. package/dist/488.node.js.map +0 -1
  99. package/dist/510.node.js +0 -250
  100. package/dist/510.node.js.map +0 -1
  101. package/dist/52.node.js.map +0 -1
  102. package/dist/617.node.js +0 -23
  103. package/dist/617.node.js.map +0 -1
  104. package/dist/687.node.js.map +0 -1
  105. package/dist/745.node.js.map +0 -1
  106. package/dist/775.node.js +0 -1904
  107. package/dist/775.node.js.map +0 -1
  108. package/dist/788.node.js +0 -1025
  109. package/dist/788.node.js.map +0 -1
  110. package/dist/81.node.js +0 -386
  111. package/dist/81.node.js.map +0 -1
  112. package/dist/849.node.js +0 -2590
  113. package/dist/849.node.js.map +0 -1
  114. package/dist/863.node.js +0 -23
  115. package/dist/863.node.js.map +0 -1
  116. package/dist/885.node.js +0 -52
  117. package/dist/885.node.js.map +0 -1
  118. package/dist/896.node.js +0 -1617
  119. package/dist/896.node.js.map +0 -1
  120. package/dist/91.node.js +0 -23
  121. package/dist/91.node.js.map +0 -1
  122. package/dist/940.node.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
- exports.id = 11;
3
- exports.ids = [11];
2
+ exports.id = 870;
3
+ exports.ids = [870];
4
4
  exports.modules = {
5
5
 
6
- /***/ 7011:
6
+ /***/ 9870:
7
7
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
8
 
9
9
 
@@ -12,8 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
12
12
  diagram: () => (/* binding */ diagram)
13
13
  });
14
14
 
15
- // EXTERNAL MODULE: ./node_modules/mermaid/dist/chunks/mermaid.core/chunk-S24QXQKS.mjs + 3 modules
16
- var chunk_S24QXQKS = __webpack_require__(6322);
15
+ // EXTERNAL MODULE: ./node_modules/mermaid/dist/chunks/mermaid.core/chunk-YTJNT7DU.mjs + 3 modules
16
+ var chunk_YTJNT7DU = __webpack_require__(3804);
17
17
  // EXTERNAL MODULE: ./node_modules/d3/src/index.js + 193 modules
18
18
  var src = __webpack_require__(8066);
19
19
  ;// ./node_modules/d3-sankey/node_modules/d3-array/src/min.js
@@ -737,23 +737,23 @@ function horizontalTarget(d) {
737
737
  .target(horizontalTarget);
738
738
  }
739
739
 
740
- ;// ./node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-ATFNWWW6.mjs
740
+ ;// ./node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-QLVOVGJD.mjs
741
741
 
742
742
 
743
743
  // src/diagrams/sankey/parser/sankey.jison
744
744
  var parser = function() {
745
- var o = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(k, v, o2, l) {
745
+ var o = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function(k, v, o2, l) {
746
746
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
747
747
  return o2;
748
748
  }, "o"), $V0 = [1, 9], $V1 = [1, 10], $V2 = [1, 5, 10, 12];
749
749
  var parser2 = {
750
- trace: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function trace() {
750
+ trace: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function trace() {
751
751
  }, "trace"),
752
752
  yy: {},
753
753
  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 },
754
754
  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" },
755
755
  productions_: [0, [3, 4], [6, 2], [9, 2], [9, 0], [7, 1], [7, 0], [8, 5], [15, 1], [15, 1], [16, 3], [17, 1]],
756
- performAction: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
756
+ performAction: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
757
757
  var $0 = $$.length - 1;
758
758
  switch (yystate) {
759
759
  case 7:
@@ -774,7 +774,7 @@ var parser = function() {
774
774
  }, "anonymous"),
775
775
  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])],
776
776
  defaultActions: { 11: [2, 1], 12: [2, 5] },
777
- parseError: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function parseError(str, hash) {
777
+ parseError: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function parseError(str, hash) {
778
778
  if (hash.recoverable) {
779
779
  this.trace(str);
780
780
  } else {
@@ -783,7 +783,7 @@ var parser = function() {
783
783
  throw error;
784
784
  }
785
785
  }, "parseError"),
786
- parse: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function parse(input) {
786
+ parse: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function parse(input) {
787
787
  var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
788
788
  var args = lstack.slice.call(arguments, 1);
789
789
  var lexer2 = Object.create(this.lexer);
@@ -812,7 +812,7 @@ var parser = function() {
812
812
  vstack.length = vstack.length - n;
813
813
  lstack.length = lstack.length - n;
814
814
  }
815
- (0,chunk_S24QXQKS/* __name */.K2)(popStack, "popStack");
815
+ (0,chunk_YTJNT7DU/* __name */.K2)(popStack, "popStack");
816
816
  function lex() {
817
817
  var token;
818
818
  token = tstack.pop() || lexer2.lex() || EOF;
@@ -825,7 +825,7 @@ var parser = function() {
825
825
  }
826
826
  return token;
827
827
  }
828
- (0,chunk_S24QXQKS/* __name */.K2)(lex, "lex");
828
+ (0,chunk_YTJNT7DU/* __name */.K2)(lex, "lex");
829
829
  var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
830
830
  while (true) {
831
831
  state = stack[stack.length - 1];
@@ -929,7 +929,7 @@ var parser = function() {
929
929
  var lexer = /* @__PURE__ */ function() {
930
930
  var lexer2 = {
931
931
  EOF: 1,
932
- parseError: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function parseError(str, hash) {
932
+ parseError: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function parseError(str, hash) {
933
933
  if (this.yy.parser) {
934
934
  this.yy.parser.parseError(str, hash);
935
935
  } else {
@@ -937,7 +937,7 @@ var parser = function() {
937
937
  }
938
938
  }, "parseError"),
939
939
  // resets the lexer, sets new input
940
- setInput: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(input, yy) {
940
+ setInput: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function(input, yy) {
941
941
  this.yy = yy || this.yy || {};
942
942
  this._input = input;
943
943
  this._more = this._backtrack = this.done = false;
@@ -957,7 +957,7 @@ var parser = function() {
957
957
  return this;
958
958
  }, "setInput"),
959
959
  // consumes and returns one char from the input
960
- input: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
960
+ input: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
961
961
  var ch = this._input[0];
962
962
  this.yytext += ch;
963
963
  this.yyleng++;
@@ -978,7 +978,7 @@ var parser = function() {
978
978
  return ch;
979
979
  }, "input"),
980
980
  // unshifts one char (or a string) into the input
981
- unput: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(ch) {
981
+ unput: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function(ch) {
982
982
  var len = ch.length;
983
983
  var lines = ch.split(/(?:\r\n?|\n)/g);
984
984
  this._input = ch + this._input;
@@ -1004,12 +1004,12 @@ var parser = function() {
1004
1004
  return this;
1005
1005
  }, "unput"),
1006
1006
  // When called from action, caches matched text and appends it on next action
1007
- more: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
1007
+ more: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
1008
1008
  this._more = true;
1009
1009
  return this;
1010
1010
  }, "more"),
1011
1011
  // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
1012
- reject: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
1012
+ reject: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
1013
1013
  if (this.options.backtrack_lexer) {
1014
1014
  this._backtrack = true;
1015
1015
  } else {
@@ -1022,16 +1022,16 @@ var parser = function() {
1022
1022
  return this;
1023
1023
  }, "reject"),
1024
1024
  // retain first n characters of the match
1025
- less: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(n) {
1025
+ less: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function(n) {
1026
1026
  this.unput(this.match.slice(n));
1027
1027
  }, "less"),
1028
1028
  // displays already matched input, i.e. for error messages
1029
- pastInput: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
1029
+ pastInput: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
1030
1030
  var past = this.matched.substr(0, this.matched.length - this.match.length);
1031
1031
  return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
1032
1032
  }, "pastInput"),
1033
1033
  // displays upcoming input, i.e. for error messages
1034
- upcomingInput: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
1034
+ upcomingInput: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
1035
1035
  var next = this.match;
1036
1036
  if (next.length < 20) {
1037
1037
  next += this._input.substr(0, 20 - next.length);
@@ -1039,13 +1039,13 @@ var parser = function() {
1039
1039
  return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
1040
1040
  }, "upcomingInput"),
1041
1041
  // displays the character position where the lexing error occurred, i.e. for error messages
1042
- showPosition: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
1042
+ showPosition: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
1043
1043
  var pre = this.pastInput();
1044
1044
  var c = new Array(pre.length + 1).join("-");
1045
1045
  return pre + this.upcomingInput() + "\n" + c + "^";
1046
1046
  }, "showPosition"),
1047
1047
  // test the lexed token: return FALSE when not a match, otherwise return token
1048
- test_match: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(match, indexed_rule) {
1048
+ test_match: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function(match, indexed_rule) {
1049
1049
  var token, lines, backup;
1050
1050
  if (this.options.backtrack_lexer) {
1051
1051
  backup = {
@@ -1108,7 +1108,7 @@ var parser = function() {
1108
1108
  return false;
1109
1109
  }, "test_match"),
1110
1110
  // return next match in input
1111
- next: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function() {
1111
+ next: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function() {
1112
1112
  if (this.done) {
1113
1113
  return this.EOF;
1114
1114
  }
@@ -1159,7 +1159,7 @@ var parser = function() {
1159
1159
  }
1160
1160
  }, "next"),
1161
1161
  // return next match that has a token
1162
- lex: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function lex() {
1162
+ lex: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function lex() {
1163
1163
  var r = this.next();
1164
1164
  if (r) {
1165
1165
  return r;
@@ -1168,11 +1168,11 @@ var parser = function() {
1168
1168
  }
1169
1169
  }, "lex"),
1170
1170
  // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
1171
- begin: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function begin(condition) {
1171
+ begin: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function begin(condition) {
1172
1172
  this.conditionStack.push(condition);
1173
1173
  }, "begin"),
1174
1174
  // pop the previously active lexer condition state off the condition stack
1175
- popState: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function popState() {
1175
+ popState: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function popState() {
1176
1176
  var n = this.conditionStack.length - 1;
1177
1177
  if (n > 0) {
1178
1178
  return this.conditionStack.pop();
@@ -1181,7 +1181,7 @@ var parser = function() {
1181
1181
  }
1182
1182
  }, "popState"),
1183
1183
  // produce the lexer rule set which is active for the currently active lexer condition state
1184
- _currentRules: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function _currentRules() {
1184
+ _currentRules: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function _currentRules() {
1185
1185
  if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
1186
1186
  return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
1187
1187
  } else {
@@ -1189,7 +1189,7 @@ var parser = function() {
1189
1189
  }
1190
1190
  }, "_currentRules"),
1191
1191
  // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
1192
- topState: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function topState(n) {
1192
+ topState: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function topState(n) {
1193
1193
  n = this.conditionStack.length - 1 - Math.abs(n || 0);
1194
1194
  if (n >= 0) {
1195
1195
  return this.conditionStack[n];
@@ -1198,15 +1198,15 @@ var parser = function() {
1198
1198
  }
1199
1199
  }, "topState"),
1200
1200
  // alias for begin(condition)
1201
- pushState: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function pushState(condition) {
1201
+ pushState: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function pushState(condition) {
1202
1202
  this.begin(condition);
1203
1203
  }, "pushState"),
1204
1204
  // return the number of states currently on the stack
1205
- stateStackSize: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function stateStackSize() {
1205
+ stateStackSize: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function stateStackSize() {
1206
1206
  return this.conditionStack.length;
1207
1207
  }, "stateStackSize"),
1208
1208
  options: { "case-insensitive": true },
1209
- performAction: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
1209
+ performAction: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
1210
1210
  var YYSTATE = YY_START;
1211
1211
  switch ($avoiding_name_collisions) {
1212
1212
  case 0:
@@ -1247,7 +1247,7 @@ var parser = function() {
1247
1247
  function Parser() {
1248
1248
  this.yy = {};
1249
1249
  }
1250
- (0,chunk_S24QXQKS/* __name */.K2)(Parser, "Parser");
1250
+ (0,chunk_YTJNT7DU/* __name */.K2)(Parser, "Parser");
1251
1251
  Parser.prototype = parser2;
1252
1252
  parser2.Parser = Parser;
1253
1253
  return new Parser();
@@ -1259,11 +1259,11 @@ var sankey_default = parser;
1259
1259
  var links = [];
1260
1260
  var nodes = [];
1261
1261
  var nodesMap = /* @__PURE__ */ new Map();
1262
- var clear2 = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(() => {
1262
+ var clear2 = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(() => {
1263
1263
  links = [];
1264
1264
  nodes = [];
1265
1265
  nodesMap = /* @__PURE__ */ new Map();
1266
- (0,chunk_S24QXQKS/* clear */.IU)();
1266
+ (0,chunk_YTJNT7DU/* clear */.IU)();
1267
1267
  }, "clear");
1268
1268
  var SankeyLink = class {
1269
1269
  constructor(source, target, value = 0) {
@@ -1272,10 +1272,10 @@ var SankeyLink = class {
1272
1272
  this.value = value;
1273
1273
  }
1274
1274
  static {
1275
- (0,chunk_S24QXQKS/* __name */.K2)(this, "SankeyLink");
1275
+ (0,chunk_YTJNT7DU/* __name */.K2)(this, "SankeyLink");
1276
1276
  }
1277
1277
  };
1278
- var addLink = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((source, target, value) => {
1278
+ var addLink = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((source, target, value) => {
1279
1279
  links.push(new SankeyLink(source, target, value));
1280
1280
  }, "addLink");
1281
1281
  var SankeyNode = class {
@@ -1283,11 +1283,11 @@ var SankeyNode = class {
1283
1283
  this.ID = ID;
1284
1284
  }
1285
1285
  static {
1286
- (0,chunk_S24QXQKS/* __name */.K2)(this, "SankeyNode");
1286
+ (0,chunk_YTJNT7DU/* __name */.K2)(this, "SankeyNode");
1287
1287
  }
1288
1288
  };
1289
- var findOrCreateNode = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((ID) => {
1290
- ID = chunk_S24QXQKS/* common_default */.Y2.sanitizeText(ID, (0,chunk_S24QXQKS/* getConfig2 */.D7)());
1289
+ var findOrCreateNode = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((ID) => {
1290
+ ID = chunk_YTJNT7DU/* common_default */.Y2.sanitizeText(ID, (0,chunk_YTJNT7DU/* getConfig2 */.D7)());
1291
1291
  let node = nodesMap.get(ID);
1292
1292
  if (node === void 0) {
1293
1293
  node = new SankeyNode(ID);
@@ -1296,9 +1296,9 @@ var findOrCreateNode = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((ID) =>
1296
1296
  }
1297
1297
  return node;
1298
1298
  }, "findOrCreateNode");
1299
- var getNodes = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(() => nodes, "getNodes");
1300
- var getLinks = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(() => links, "getLinks");
1301
- var getGraph = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(() => ({
1299
+ var getNodes = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(() => nodes, "getNodes");
1300
+ var getLinks = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(() => links, "getLinks");
1301
+ var getGraph = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(() => ({
1302
1302
  nodes: nodes.map((node) => ({ id: node.ID })),
1303
1303
  links: links.map((link) => ({
1304
1304
  source: link.source.ID,
@@ -1308,18 +1308,18 @@ var getGraph = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(() => ({
1308
1308
  }), "getGraph");
1309
1309
  var sankeyDB_default = {
1310
1310
  nodesMap,
1311
- getConfig: /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(() => (0,chunk_S24QXQKS/* getConfig2 */.D7)().sankey, "getConfig"),
1311
+ getConfig: /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(() => (0,chunk_YTJNT7DU/* getConfig2 */.D7)().sankey, "getConfig"),
1312
1312
  getNodes,
1313
1313
  getLinks,
1314
1314
  getGraph,
1315
1315
  addLink,
1316
1316
  findOrCreateNode,
1317
- getAccTitle: chunk_S24QXQKS/* getAccTitle */.iN,
1318
- setAccTitle: chunk_S24QXQKS/* setAccTitle */.SV,
1319
- getAccDescription: chunk_S24QXQKS/* getAccDescription */.m7,
1320
- setAccDescription: chunk_S24QXQKS/* setAccDescription */.EI,
1321
- getDiagramTitle: chunk_S24QXQKS/* getDiagramTitle */.ab,
1322
- setDiagramTitle: chunk_S24QXQKS/* setDiagramTitle */.ke,
1317
+ getAccTitle: chunk_YTJNT7DU/* getAccTitle */.iN,
1318
+ setAccTitle: chunk_YTJNT7DU/* setAccTitle */.SV,
1319
+ getAccDescription: chunk_YTJNT7DU/* getAccDescription */.m7,
1320
+ setAccDescription: chunk_YTJNT7DU/* setAccDescription */.EI,
1321
+ getDiagramTitle: chunk_YTJNT7DU/* getDiagramTitle */.ab,
1322
+ setDiagramTitle: chunk_YTJNT7DU/* setDiagramTitle */.ke,
1323
1323
  clear: clear2
1324
1324
  };
1325
1325
 
@@ -1330,7 +1330,7 @@ var sankeyDB_default = {
1330
1330
  // src/rendering-util/uid.ts
1331
1331
  var Uid = class _Uid {
1332
1332
  static {
1333
- (0,chunk_S24QXQKS/* __name */.K2)(this, "Uid");
1333
+ (0,chunk_YTJNT7DU/* __name */.K2)(this, "Uid");
1334
1334
  }
1335
1335
  static {
1336
1336
  this.count = 0;
@@ -1354,9 +1354,9 @@ var alignmentsMap = {
1354
1354
  center: center,
1355
1355
  justify: justify
1356
1356
  };
1357
- var draw = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(text, id, _version, diagObj) {
1358
- const { securityLevel, sankey: conf } = (0,chunk_S24QXQKS/* getConfig2 */.D7)();
1359
- const defaultSankeyConfig = chunk_S24QXQKS/* defaultConfig2 */.ME.sankey;
1357
+ var draw = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(function(text, id, _version, diagObj) {
1358
+ const { securityLevel, sankey: conf } = (0,chunk_YTJNT7DU/* getConfig2 */.D7)();
1359
+ const defaultSankeyConfig = chunk_YTJNT7DU/* defaultConfig2 */.ME.sankey;
1360
1360
  let sandboxElement;
1361
1361
  if (securityLevel === "sandbox") {
1362
1362
  sandboxElement = (0,src/* select */.Ltv)("#i" + id);
@@ -1384,14 +1384,14 @@ var draw = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(function(text, id,
1384
1384
  }).attr("x", (d) => d.x0).attr("y", (d) => d.y0).append("rect").attr("height", (d) => {
1385
1385
  return d.y1 - d.y0;
1386
1386
  }).attr("width", (d) => d.x1 - d.x0).attr("fill", (d) => colorScheme(d.id));
1387
- const getText = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)(({ id: id2, value }) => {
1387
+ const getText = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)(({ id: id2, value }) => {
1388
1388
  if (!showValues) {
1389
1389
  return id2;
1390
1390
  }
1391
1391
  return `${id2}
1392
1392
  ${prefix}${Math.round(value * 100) / 100}${suffix}`;
1393
1393
  }, "getText");
1394
- svg.append("g").attr("class", "node-labels").attr("font-family", "sans-serif").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);
1394
+ 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);
1395
1395
  const link = svg.append("g").attr("class", "links").attr("fill", "none").attr("stroke-opacity", 0.5).selectAll(".link").data(graph.links).join("g").attr("class", "link").style("mix-blend-mode", "multiply");
1396
1396
  const linkColor = conf?.linkColor ?? "gradient";
1397
1397
  if (linkColor === "gradient") {
@@ -1402,34 +1402,41 @@ ${prefix}${Math.round(value * 100) / 100}${suffix}`;
1402
1402
  let coloring;
1403
1403
  switch (linkColor) {
1404
1404
  case "gradient":
1405
- coloring = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((d) => d.uid, "coloring");
1405
+ coloring = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((d) => d.uid, "coloring");
1406
1406
  break;
1407
1407
  case "source":
1408
- coloring = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((d) => colorScheme(d.source.id), "coloring");
1408
+ coloring = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((d) => colorScheme(d.source.id), "coloring");
1409
1409
  break;
1410
1410
  case "target":
1411
- coloring = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((d) => colorScheme(d.target.id), "coloring");
1411
+ coloring = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((d) => colorScheme(d.target.id), "coloring");
1412
1412
  break;
1413
1413
  default:
1414
1414
  coloring = linkColor;
1415
1415
  }
1416
1416
  link.append("path").attr("d", sankeyLinkHorizontal()).attr("stroke", coloring).attr("stroke-width", (d) => Math.max(1, d.width));
1417
- (0,chunk_S24QXQKS/* setupGraphViewbox */.ot)(void 0, svg, 0, useMaxWidth);
1417
+ (0,chunk_YTJNT7DU/* setupGraphViewbox */.ot)(void 0, svg, 0, useMaxWidth);
1418
1418
  }, "draw");
1419
1419
  var sankeyRenderer_default = {
1420
1420
  draw
1421
1421
  };
1422
1422
 
1423
1423
  // src/diagrams/sankey/sankeyUtils.ts
1424
- var prepareTextForParsing = /* @__PURE__ */ (0,chunk_S24QXQKS/* __name */.K2)((text) => {
1424
+ var prepareTextForParsing = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((text) => {
1425
1425
  const textToParse = text.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g, "").replaceAll(/([\n\r])+/g, "\n").trim();
1426
1426
  return textToParse;
1427
1427
  }, "prepareTextForParsing");
1428
1428
 
1429
+ // src/diagrams/sankey/styles.js
1430
+ var getStyles = /* @__PURE__ */ (0,chunk_YTJNT7DU/* __name */.K2)((options) => `.label {
1431
+ font-family: ${options.fontFamily};
1432
+ }`, "getStyles");
1433
+ var styles_default = getStyles;
1434
+
1429
1435
  // src/diagrams/sankey/sankeyDiagram.ts
1430
1436
  var originalParse = sankey_default.parse.bind(sankey_default);
1431
1437
  sankey_default.parse = (text) => originalParse(prepareTextForParsing(text));
1432
1438
  var diagram = {
1439
+ styles: styles_default,
1433
1440
  parser: sankey_default,
1434
1441
  db: sankeyDB_default,
1435
1442
  renderer: sankeyRenderer_default
@@ -1441,4 +1448,4 @@ var diagram = {
1441
1448
 
1442
1449
  };
1443
1450
  ;
1444
- //# sourceMappingURL=11.node.js.map
1451
+ //# sourceMappingURL=870.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"870.node.js","mappings":";;;;;;;;;;;;;;;;;;;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnB6B;;AAE7B;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA,kCAAkC,GAAG;AACrC;AACA;;;ACtBe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACjBe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnBe;AACf;AACA;AACA;AACA;;;ACJuC;AACJ;AACE;;AAErC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,MAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf,sCAAsC;AACtC,eAAe;AACf,kBAAkB;AAClB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kEAAkE,QAAQ;AAC1E;;AAEA;AACA,qEAAqE,QAAQ;AAC7E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qEAAqE,QAAQ;AAC7E;;AAEA;AACA,qEAAqE,QAAQ;AAC7E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0BAA0B;AAC5C;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,MAAM;AACpC;AACA;AACA,qBAAqB,GAAG,2BAA2B,GAAG;AACtD;AACA;AACA;;AAEA,8BAA8B,MAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,MAAM;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,MAAM;AACpC,cAAc,GAAG;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,GAAG,iDAAiD,GAAG;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,GAAG;AACtC;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B,yBAAyB;AACtD;AACA,kBAAkB,SAAS,cAAc;AACzC;AACA;AACA,kBAAkB,SAAS,cAAc;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,0BAA0B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AChXA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,+CAAe,IAAI,EAAC;;;ACjIb;;;ACAP,6BAAe,sBAAS;AACxB;AACA;AACA;AACA;;;ACJO,SAAS,OAAC;AACjB;AACA;;AAEO,SAAS,OAAC;AACjB;AACA;;;ACN6B;AACK;AACI;AACe;AACT;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,SAAI;AACb;AACA;AACA,UAAU,OAAM;AAChB,UAAU,OAAM;AAChB;;AAEA;AACA,uBAAuB,KAAK;AAC5B,qCAAqC,QAAI;AACzC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iEAAiE,YAAQ;AACzE;;AAEA;AACA,iEAAiE,YAAQ;AACzE;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,SAAS,SAAI;AACb;;AAEO;AACP,SAAS,SAAI;AACb;;AAEO;AACP,UAAU,SAAI;AACd;AACA;AACA;AACA;;;ACnFwC;;AAExC;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAAe,gCAAW;AAC1B,SAAS,cAAc;AACvB;AACA;AACA;;;ACD8B;;AAE9B;AACA;AACA,0BAA0B,iCAAM;AAChC,sBAAsB,gBAAgB,KAAK;AAC3C;AACA,GAAG;AACH;AACA,2BAA2B,iCAAM;AACjC,KAAK;AACL,UAAU;AACV,gBAAgB,+TAA+T;AAC/U,kBAAkB,uLAAuL;AACzM;AACA,mCAAmC,iCAAM;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,cAAc,iBAAiB,IAAI,QAAQ,IAAI,WAAW,IAAI,mDAAmD,IAAI,+BAA+B,mBAAmB,mBAAmB,KAAK,aAAa,oCAAoC,aAAa,qBAAqB,WAAW,IAAI,WAAW,oBAAoB,oDAAoD,IAAI,wCAAwC,IAAI,aAAa,oBAAoB,aAAa,qBAAqB,wCAAwC;AAC/gB,sBAAsB,wBAAwB;AAC9C,gCAAgC,iCAAM;AACtC;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;AACL,2BAA2B,iCAAM;AACjC;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iCAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iCAAM;AACZ,iEAAiE;AACjE;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kCAAkC,iCAAM;AACxC;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA,gCAAgC,iCAAM;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,6BAA6B,iCAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,6BAA6B,iCAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,iCAAM;AAClC;AACA;AACA,OAAO;AACP;AACA,8BAA8B,iCAAM;AACpC;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA,4BAA4B,iCAAM;AAClC;AACA,OAAO;AACP;AACA,iCAAiC,iCAAM;AACvC;AACA;AACA,OAAO;AACP;AACA,qCAAqC,iCAAM;AAC3C;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oCAAoC,iCAAM;AAC1C;AACA;AACA;AACA,OAAO;AACP;AACA,kCAAkC,iCAAM;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,4BAA4B,iCAAM;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA,2BAA2B,iCAAM;AACjC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA,6BAA6B,iCAAM;AACnC;AACA,OAAO;AACP;AACA,gCAAgC,iCAAM;AACtC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA,qCAAqC,iCAAM;AAC3C;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,4DAA4D;AAC5D,gCAAgC,iCAAM;AACtC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA,iCAAiC,iCAAM;AACvC;AACA,OAAO;AACP;AACA,sCAAsC,iCAAM;AAC5C;AACA,OAAO;AACP,iBAAiB,0BAA0B;AAC3C,qCAAqC,iCAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,oBAAoB,SAAS,oDAAoD,oBAAoB,qCAAqC,eAAe;AACzJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,iCAAM;AACR;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,iCAAM;AACnC;AACA;AACA;AACA,EAAE,gCAAK;AACP,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iCAAM;AACV;AACA;AACA,8BAA8B,iCAAM;AACpC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI,iCAAM;AACV;AACA;AACA,uCAAuC,iCAAM;AAC7C,OAAO,qCAAc,kBAAkB,qCAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,+BAA+B,iCAAM;AACrC,+BAA+B,iCAAM;AACrC,+BAA+B,iCAAM;AACrC,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA,6BAA6B,iCAAM,OAAO,qCAAS;AACnD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,aAAa;AACb,mBAAmB;AACnB,mBAAmB;AACnB,iBAAiB;AACjB,iBAAiB;AACjB;AACA;;AAEA;AAKY;AAQO;;AAEnB;AACA;AACA;AACA,IAAI,iCAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,GAAG;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAY;AACpB,SAAS,KAAa;AACtB,UAAU,MAAc;AACxB,WAAW,OAAe;AAC1B;AACA,2BAA2B,iCAAM;AACjC,UAAU,8BAA8B,EAAE,qCAAS;AACnD,8BAA8B,qCAAa;AAC3C;AACA;AACA,qBAAqB,uBAAQ;AAC7B;AACA,6CAA6C,uBAAQ,mDAAmD,uBAAQ;AAChH,gEAAgE,GAAG,OAAO,uBAAQ,SAAS,GAAG;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAQ;AACzB;AACA;AACA;AACA;AACA,sBAAsB,6BAAc,CAAC,2BAAiB;AACtD;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH,kCAAkC,iCAAM,IAAI,gBAAgB;AAC5D;AACA;AACA;AACA,cAAc;AACd,EAAE,OAAO,EAAE,8BAA8B,EAAE,OAAO;AAClD,GAAG;AACH,iOAAiO,0BAA0B;AAC3P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,iCAAM;AACvC;AACA;AACA,iCAAiC,iCAAM;AACvC;AACA;AACA,iCAAiC,iCAAM;AACvC;AACA;AACA;AACA;AACA,gCAAgC,oBAAsB;AACtD,EAAE,4CAAiB;AACnB,CAAC;AACD;AACA;AACA;;AAEA;AACA,4CAA4C,iCAAM;AAClD;AACA;AACA,CAAC;;AAED;AACA,gCAAgC,iCAAM;AACtC,qBAAqB;AACrB,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGE","sources":["webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-array/src/min.js","webpack://@readme/markdown/./node_modules/d3-sankey/src/align.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-array/src/sum.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-array/src/max.js","webpack://@readme/markdown/./node_modules/d3-sankey/src/constant.js","webpack://@readme/markdown/./node_modules/d3-sankey/src/sankey.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-path/src/path.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-shape/src/array.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-shape/src/constant.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-shape/src/point.js","webpack://@readme/markdown/./node_modules/d3-sankey/node_modules/d3-shape/src/link/index.js","webpack://@readme/markdown/./node_modules/d3-sankey/src/sankeyLinkHorizontal.js","webpack://@readme/markdown/./node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-QLVOVGJD.mjs"],"sourcesContent":["export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function constant(x) {\n return function() {\n return x;\n };\n}\n","import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n","import {\n __name,\n clear,\n common_default,\n defaultConfig2 as defaultConfig,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/sankey/parser/sankey.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 9], $V1 = [1, 10], $V2 = [1, 5, 10, 12];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n 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 },\n 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\" },\n productions_: [0, [3, 4], [6, 2], [9, 2], [9, 0], [7, 1], [7, 0], [8, 5], [15, 1], [15, 1], [16, 3], [17, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 7:\n const source = yy.findOrCreateNode($$[$0 - 4].trim().replaceAll('\"\"', '\"'));\n const target = yy.findOrCreateNode($$[$0 - 2].trim().replaceAll('\"\"', '\"'));\n const value = parseFloat($$[$0].trim());\n yy.addLink(source, target, value);\n break;\n case 8:\n case 9:\n case 11:\n this.$ = $$[$0];\n break;\n case 10:\n this.$ = $$[$0 - 1];\n break;\n }\n }, \"anonymous\"),\n 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])],\n defaultActions: { 11: [2, 1], 12: [2, 5] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n 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\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"csv\");\n return 4;\n break;\n case 1:\n return 10;\n break;\n case 2:\n return 5;\n break;\n case 3:\n return 12;\n break;\n case 4:\n this.pushState(\"escaped_text\");\n return 18;\n break;\n case 5:\n return 20;\n break;\n case 6:\n this.popState(\"escaped_text\");\n return 18;\n break;\n case 7:\n return 19;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:sankey-beta\\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],\n conditions: { \"csv\": { \"rules\": [1, 2, 3, 4, 5, 6, 7], \"inclusive\": false }, \"escaped_text\": { \"rules\": [6, 7], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar sankey_default = parser;\n\n// src/diagrams/sankey/sankeyDB.ts\nvar links = [];\nvar nodes = [];\nvar nodesMap = /* @__PURE__ */ new Map();\nvar clear2 = /* @__PURE__ */ __name(() => {\n links = [];\n nodes = [];\n nodesMap = /* @__PURE__ */ new Map();\n clear();\n}, \"clear\");\nvar SankeyLink = class {\n constructor(source, target, value = 0) {\n this.source = source;\n this.target = target;\n this.value = value;\n }\n static {\n __name(this, \"SankeyLink\");\n }\n};\nvar addLink = /* @__PURE__ */ __name((source, target, value) => {\n links.push(new SankeyLink(source, target, value));\n}, \"addLink\");\nvar SankeyNode = class {\n constructor(ID) {\n this.ID = ID;\n }\n static {\n __name(this, \"SankeyNode\");\n }\n};\nvar findOrCreateNode = /* @__PURE__ */ __name((ID) => {\n ID = common_default.sanitizeText(ID, getConfig());\n let node = nodesMap.get(ID);\n if (node === void 0) {\n node = new SankeyNode(ID);\n nodesMap.set(ID, node);\n nodes.push(node);\n }\n return node;\n}, \"findOrCreateNode\");\nvar getNodes = /* @__PURE__ */ __name(() => nodes, \"getNodes\");\nvar getLinks = /* @__PURE__ */ __name(() => links, \"getLinks\");\nvar getGraph = /* @__PURE__ */ __name(() => ({\n nodes: nodes.map((node) => ({ id: node.ID })),\n links: links.map((link) => ({\n source: link.source.ID,\n target: link.target.ID,\n value: link.value\n }))\n}), \"getGraph\");\nvar sankeyDB_default = {\n nodesMap,\n getConfig: /* @__PURE__ */ __name(() => getConfig().sankey, \"getConfig\"),\n getNodes,\n getLinks,\n getGraph,\n addLink,\n findOrCreateNode,\n getAccTitle,\n setAccTitle,\n getAccDescription,\n setAccDescription,\n getDiagramTitle,\n setDiagramTitle,\n clear: clear2\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nimport {\n select as d3select,\n scaleOrdinal as d3scaleOrdinal,\n schemeTableau10 as d3schemeTableau10\n} from \"d3\";\nimport {\n sankey as d3Sankey,\n sankeyLinkHorizontal as d3SankeyLinkHorizontal,\n sankeyLeft as d3SankeyLeft,\n sankeyRight as d3SankeyRight,\n sankeyCenter as d3SankeyCenter,\n sankeyJustify as d3SankeyJustify\n} from \"d3-sankey\";\n\n// src/rendering-util/uid.ts\nvar Uid = class _Uid {\n static {\n __name(this, \"Uid\");\n }\n static {\n this.count = 0;\n }\n static next(name) {\n return new _Uid(name + ++_Uid.count);\n }\n constructor(id) {\n this.id = id;\n this.href = `#${id}`;\n }\n toString() {\n return \"url(\" + this.href + \")\";\n }\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nvar alignmentsMap = {\n left: d3SankeyLeft,\n right: d3SankeyRight,\n center: d3SankeyCenter,\n justify: d3SankeyJustify\n};\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n const { securityLevel, sankey: conf } = getConfig();\n const defaultSankeyConfig = defaultConfig.sankey;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n const width = conf?.width ?? defaultSankeyConfig.width;\n const height = conf?.height ?? defaultSankeyConfig.width;\n const useMaxWidth = conf?.useMaxWidth ?? defaultSankeyConfig.useMaxWidth;\n const nodeAlignment = conf?.nodeAlignment ?? defaultSankeyConfig.nodeAlignment;\n const prefix = conf?.prefix ?? defaultSankeyConfig.prefix;\n const suffix = conf?.suffix ?? defaultSankeyConfig.suffix;\n const showValues = conf?.showValues ?? defaultSankeyConfig.showValues;\n const graph = diagObj.db.getGraph();\n const nodeAlign = alignmentsMap[nodeAlignment];\n const nodeWidth = 10;\n const sankey = d3Sankey().nodeId((d) => d.id).nodeWidth(nodeWidth).nodePadding(10 + (showValues ? 15 : 0)).nodeAlign(nodeAlign).extent([\n [0, 0],\n [width, height]\n ]);\n sankey(graph);\n const colorScheme = d3scaleOrdinal(d3schemeTableau10);\n 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) {\n return \"translate(\" + d.x0 + \",\" + d.y0 + \")\";\n }).attr(\"x\", (d) => d.x0).attr(\"y\", (d) => d.y0).append(\"rect\").attr(\"height\", (d) => {\n return d.y1 - d.y0;\n }).attr(\"width\", (d) => d.x1 - d.x0).attr(\"fill\", (d) => colorScheme(d.id));\n const getText = /* @__PURE__ */ __name(({ id: id2, value }) => {\n if (!showValues) {\n return id2;\n }\n return `${id2}\n${prefix}${Math.round(value * 100) / 100}${suffix}`;\n }, \"getText\");\n 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);\n const link = svg.append(\"g\").attr(\"class\", \"links\").attr(\"fill\", \"none\").attr(\"stroke-opacity\", 0.5).selectAll(\".link\").data(graph.links).join(\"g\").attr(\"class\", \"link\").style(\"mix-blend-mode\", \"multiply\");\n const linkColor = conf?.linkColor ?? \"gradient\";\n if (linkColor === \"gradient\") {\n const gradient = link.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);\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", (d) => colorScheme(d.source.id));\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", (d) => colorScheme(d.target.id));\n }\n let coloring;\n switch (linkColor) {\n case \"gradient\":\n coloring = /* @__PURE__ */ __name((d) => d.uid, \"coloring\");\n break;\n case \"source\":\n coloring = /* @__PURE__ */ __name((d) => colorScheme(d.source.id), \"coloring\");\n break;\n case \"target\":\n coloring = /* @__PURE__ */ __name((d) => colorScheme(d.target.id), \"coloring\");\n break;\n default:\n coloring = linkColor;\n }\n link.append(\"path\").attr(\"d\", d3SankeyLinkHorizontal()).attr(\"stroke\", coloring).attr(\"stroke-width\", (d) => Math.max(1, d.width));\n setupGraphViewbox(void 0, svg, 0, useMaxWidth);\n}, \"draw\");\nvar sankeyRenderer_default = {\n draw\n};\n\n// src/diagrams/sankey/sankeyUtils.ts\nvar prepareTextForParsing = /* @__PURE__ */ __name((text) => {\n const textToParse = text.replaceAll(/^[^\\S\\n\\r]+|[^\\S\\n\\r]+$/g, \"\").replaceAll(/([\\n\\r])+/g, \"\\n\").trim();\n return textToParse;\n}, \"prepareTextForParsing\");\n\n// src/diagrams/sankey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n }`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/sankey/sankeyDiagram.ts\nvar originalParse = sankey_default.parse.bind(sankey_default);\nsankey_default.parse = (text) => originalParse(prepareTextForParsing(text));\nvar diagram = {\n styles: styles_default,\n parser: sankey_default,\n db: sankeyDB_default,\n renderer: sankeyRenderer_default\n};\nexport {\n diagram\n};\n"],"names":[],"sourceRoot":""}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ exports.id = 874;
3
+ exports.ids = [874];
4
+ exports.modules = {
5
+
6
+ /***/ 874:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ diagram: () => (/* binding */ diagram)
11
+ /* harmony export */ });
12
+ /* harmony import */ var _chunk_A2AXSNBT_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1359);
13
+ /* harmony import */ var _chunk_RZ5BOZE2_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5051);
14
+ /* harmony import */ var _chunk_TYCBKAJE_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4065);
15
+ /* harmony import */ var _chunk_IIMUDSI4_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3416);
16
+ /* harmony import */ var _chunk_VV3M67IP_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4746);
17
+ /* harmony import */ var _chunk_HRU6DDCH_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(778);
18
+ /* harmony import */ var _chunk_K557N5IZ_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7590);
19
+ /* harmony import */ var _chunk_H2D2JQ3I_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4059);
20
+ /* harmony import */ var _chunk_C3MQ5ANM_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6499);
21
+ /* harmony import */ var _chunk_O4NI6UNU_mjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8430);
22
+ /* harmony import */ var _chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3804);
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ // src/diagrams/class/classDiagram-v2.ts
36
+ var diagram = {
37
+ parser: _chunk_A2AXSNBT_mjs__WEBPACK_IMPORTED_MODULE_0__/* .classDiagram_default */ ._$,
38
+ get db() {
39
+ return new _chunk_A2AXSNBT_mjs__WEBPACK_IMPORTED_MODULE_0__/* .ClassDB */ .NM();
40
+ },
41
+ renderer: _chunk_A2AXSNBT_mjs__WEBPACK_IMPORTED_MODULE_0__/* .classRenderer_v3_unified_default */ .Lh,
42
+ styles: _chunk_A2AXSNBT_mjs__WEBPACK_IMPORTED_MODULE_0__/* .styles_default */ .tM,
43
+ init: /* @__PURE__ */ (0,_chunk_YTJNT7DU_mjs__WEBPACK_IMPORTED_MODULE_10__/* .__name */ .K2)((cnf) => {
44
+ if (!cnf.class) {
45
+ cnf.class = {};
46
+ }
47
+ cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
48
+ }, "init")
49
+ };
50
+
51
+
52
+
53
+ /***/ })
54
+
55
+ };
56
+ ;
57
+ //# sourceMappingURL=874.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"874.node.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAK8B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;;AAE9B;AACA;AACA,UAAU,+EAAoB;AAC9B;AACA,eAAe,kEAAO;AACtB,GAAG;AACH,YAAY,2FAAgC;AAC5C,UAAU,yEAAc;AACxB,wBAAwB,sEAAM;AAC9B;AACA;AACA;AACA;AACA,GAAG;AACH;AAGE","sources":["webpack://@readme/markdown/./node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-COTLJTTW.mjs"],"sourcesContent":["import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-A2AXSNBT.mjs\";\nimport \"./chunk-RZ5BOZE2.mjs\";\nimport \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/class/classDiagram-v2.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":[],"sourceRoot":""}