@orbcharts/plugins-basic 3.0.0-beta.8 → 3.0.0

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 (192) hide show
  1. package/dist/orbcharts-plugins-basic.es.js +13170 -10984
  2. package/dist/orbcharts-plugins-basic.umd.js +266 -98
  3. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseBars.d.ts +3 -3
  4. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseBarsTriangle.d.ts +3 -3
  5. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseDots.d.ts +3 -3
  6. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLineAreas.d.ts +3 -3
  7. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLines.d.ts +3 -3
  8. package/dist/src/base/BaseRacingBars.d.ts +23 -0
  9. package/dist/src/base/BaseRacingLabels.d.ts +20 -0
  10. package/dist/src/base/BaseRacingValueLabels.d.ts +20 -0
  11. package/dist/{orbcharts-plugins-basic/src/base/BaseStackedBar.d.ts → src/base/BaseStackedBars.d.ts} +7 -7
  12. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseValueAxis.d.ts +4 -7
  13. package/dist/src/base/BaseXAxis.d.ts +20 -0
  14. package/dist/src/base/BaseYAxis.d.ts +18 -0
  15. package/dist/{orbcharts-plugins-basic/src → src}/grid/defaults.d.ts +3 -3
  16. package/dist/{orbcharts-plugins-basic/src → src}/grid/gridObservables.d.ts +8 -1
  17. package/dist/{orbcharts-plugins-basic/src → src}/grid/index.d.ts +2 -2
  18. package/dist/src/grid/plugins/GroupZoom.d.ts +1 -0
  19. package/dist/src/grid/plugins/StackedBars.d.ts +1 -0
  20. package/dist/src/index.d.ts +7 -1
  21. package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/defaults.d.ts +2 -2
  22. package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/index.d.ts +1 -1
  23. package/dist/src/multiGrid/plugins/MultiStackedBars.d.ts +1 -0
  24. package/dist/src/multiValue/defaults.d.ts +13 -0
  25. package/dist/{orbcharts-plugins-basic/src → src}/multiValue/index.d.ts +5 -1
  26. package/dist/src/multiValue/multiValueObservables.d.ts +56 -0
  27. package/dist/src/multiValue/plugins/RacingBars.d.ts +1 -0
  28. package/dist/src/multiValue/plugins/RacingCounterTexts.d.ts +3 -0
  29. package/dist/src/multiValue/plugins/RacingValueAxis.d.ts +1 -0
  30. package/dist/src/multiValue/plugins/XAxis.d.ts +1 -0
  31. package/dist/src/multiValue/plugins/XYAxes.d.ts +1 -0
  32. package/dist/src/multiValue/plugins/XZoom.d.ts +1 -0
  33. package/dist/{orbcharts-plugins-basic/src → src}/relationship/defaults.d.ts +2 -1
  34. package/dist/{orbcharts-plugins-basic/src → src}/relationship/index.d.ts +1 -0
  35. package/dist/src/relationship/plugins/ForceDirectedBubbles.d.ts +3 -0
  36. package/dist/{orbcharts-plugins-basic/src → src}/utils/commonUtils.d.ts +1 -0
  37. package/dist/{orbcharts-plugins-basic/src → src}/utils/d3Graphics.d.ts +2 -1
  38. package/dist/{orbcharts-plugins-basic/src → src}/utils/d3Utils.d.ts +1 -0
  39. package/lib/core.ts +1 -1
  40. package/package.json +4 -4
  41. package/src/base/BaseBars.ts +15 -15
  42. package/src/base/BaseBarsTriangle.ts +15 -15
  43. package/src/base/BaseDots.ts +14 -14
  44. package/src/base/BaseGroupAxis.ts +18 -6
  45. package/src/base/BaseLineAreas.ts +12 -12
  46. package/src/base/BaseLines.ts +11 -11
  47. package/src/base/BaseRacingBars.ts +552 -0
  48. package/src/base/BaseRacingLabels.ts +396 -0
  49. package/src/base/BaseRacingValueLabels.ts +403 -0
  50. package/src/base/{BaseStackedBar.ts → BaseStackedBars.ts} +26 -26
  51. package/src/base/BaseTooltip.ts +2 -1
  52. package/src/base/BaseValueAxis.ts +70 -53
  53. package/src/base/BaseXAxis.ts +427 -0
  54. package/src/base/BaseYAxis.ts +389 -0
  55. package/src/grid/defaults.ts +44 -77
  56. package/src/grid/gridObservables.ts +58 -0
  57. package/src/grid/index.ts +2 -2
  58. package/src/grid/plugins/Bars.ts +2 -2
  59. package/src/grid/plugins/BarsPN.ts +2 -2
  60. package/src/grid/plugins/BarsTriangle.ts +2 -2
  61. package/src/grid/plugins/Dots.ts +2 -2
  62. package/src/grid/plugins/GridLegend.ts +7 -7
  63. package/src/grid/plugins/GroupAux.ts +41 -24
  64. package/src/grid/plugins/GroupAxis.ts +0 -24
  65. package/src/grid/plugins/{GridZoom.ts → GroupZoom.ts} +5 -5
  66. package/src/grid/plugins/LineAreas.ts +2 -2
  67. package/src/grid/plugins/Lines.ts +2 -2
  68. package/src/grid/plugins/{StackedBar.ts → StackedBars.ts} +9 -9
  69. package/src/multiGrid/defaults.ts +44 -24
  70. package/src/multiGrid/index.ts +1 -1
  71. package/src/multiGrid/multiGridObservables.ts +1 -0
  72. package/src/multiGrid/plugins/MultiBars.ts +3 -3
  73. package/src/multiGrid/plugins/MultiBarsTriangle.ts +3 -3
  74. package/src/multiGrid/plugins/MultiDots.ts +3 -3
  75. package/src/multiGrid/plugins/MultiGridLegend.ts +20 -10
  76. package/src/multiGrid/plugins/MultiLineAreas.ts +3 -3
  77. package/src/multiGrid/plugins/MultiLines.ts +3 -3
  78. package/src/multiGrid/plugins/{MultiStackedBar.ts → MultiStackedBars.ts} +10 -10
  79. package/src/multiGrid/plugins/OverlappingStackedValueAxes.ts +1 -0
  80. package/src/multiValue/defaults.ts +277 -12
  81. package/src/multiValue/index.ts +5 -1
  82. package/src/multiValue/multiValueObservables.ts +414 -44
  83. package/src/multiValue/plugins/OrdinalXAxis.ts +0 -0
  84. package/src/multiValue/plugins/RacingBars.ts +373 -0
  85. package/src/multiValue/plugins/RacingCounterAxis.ts +0 -0
  86. package/src/multiValue/plugins/RacingCounterTexts.ts +300 -0
  87. package/src/multiValue/plugins/RacingValueAxis.ts +115 -0
  88. package/src/multiValue/plugins/RankingAxis_legacy.ts +109 -0
  89. package/src/multiValue/plugins/Scatter.ts +13 -13
  90. package/src/multiValue/plugins/ScatterBubbles.ts +13 -13
  91. package/src/multiValue/plugins/XAxis.ts +108 -0
  92. package/src/multiValue/plugins/XYAux.ts +15 -14
  93. package/src/multiValue/plugins/XYAxes.ts +38 -528
  94. package/src/multiValue/plugins/XYAxes_legacy.ts +684 -0
  95. package/src/multiValue/plugins/{XYZoom.ts → XZoom.ts} +17 -17
  96. package/src/relationship/defaults.ts +129 -20
  97. package/src/relationship/index.ts +1 -0
  98. package/src/relationship/plugins/ForceDirected.ts +113 -87
  99. package/src/relationship/plugins/ForceDirectedBubbles.ts +1412 -0
  100. package/src/series/defaults.ts +52 -37
  101. package/src/series/plugins/Bubbles.ts +71 -39
  102. package/src/series/plugins/Pie.ts +5 -5
  103. package/src/series/plugins/PieEventTexts.ts +3 -3
  104. package/src/series/plugins/PieLabels.ts +5 -5
  105. package/src/series/plugins/Rose.ts +11 -11
  106. package/src/series/plugins/RoseLabels.ts +9 -9
  107. package/src/tree/defaults.ts +46 -22
  108. package/src/tree/plugins/TreeMap.ts +11 -3
  109. package/src/utils/commonUtils.ts +10 -1
  110. package/src/utils/d3Graphics.ts +4 -2
  111. package/src/utils/d3Utils.ts +18 -0
  112. package/src/utils/orbchartsUtils.ts +30 -16
  113. package/dist/orbcharts-plugins-basic/src/grid/plugins/GridZoom.d.ts +0 -1
  114. package/dist/orbcharts-plugins-basic/src/grid/plugins/StackedBar.d.ts +0 -1
  115. package/dist/orbcharts-plugins-basic/src/index.d.ts +0 -7
  116. package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiStackedBar.d.ts +0 -1
  117. package/dist/orbcharts-plugins-basic/src/multiValue/defaults.d.ts +0 -9
  118. package/dist/orbcharts-plugins-basic/src/multiValue/multiValueObservables.d.ts +0 -33
  119. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYZoom.d.ts +0 -1
  120. /package/dist/{orbcharts-plugins-basic/lib → lib}/core-types.d.ts +0 -0
  121. /package/dist/{orbcharts-plugins-basic/lib → lib}/core.d.ts +0 -0
  122. /package/dist/{orbcharts-plugins-basic/lib → lib}/plugins-basic-types.d.ts +0 -0
  123. /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseGroupAxis.d.ts +0 -0
  124. /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLegend.d.ts +0 -0
  125. /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseTooltip.d.ts +0 -0
  126. /package/dist/{orbcharts-plugins-basic/src → src}/base/types.d.ts +0 -0
  127. /package/dist/{orbcharts-plugins-basic/src → src}/const.d.ts +0 -0
  128. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/Bars.d.ts +0 -0
  129. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/BarsPN.d.ts +0 -0
  130. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/BarsTriangle.d.ts +0 -0
  131. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/Dots.d.ts +0 -0
  132. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GridLegend.d.ts +0 -0
  133. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GridTooltip.d.ts +0 -0
  134. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GroupAux.d.ts +0 -0
  135. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GroupAxis.d.ts +0 -0
  136. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/LineAreas.d.ts +0 -0
  137. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/Lines.d.ts +0 -0
  138. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/StackedValueAxis.d.ts +0 -0
  139. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/ValueAxis.d.ts +0 -0
  140. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/multiGridObservables.d.ts +0 -0
  141. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiBars.d.ts +0 -0
  142. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiBarsTriangle.d.ts +0 -0
  143. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiDots.d.ts +0 -0
  144. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiGridLegend.d.ts +0 -0
  145. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiGridTooltip.d.ts +0 -0
  146. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiGroupAxis.d.ts +0 -0
  147. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiLineAreas.d.ts +0 -0
  148. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiLines.d.ts +0 -0
  149. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiStackedValueAxis.d.ts +0 -0
  150. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiValueAxis.d.ts +0 -0
  151. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +0 -0
  152. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/OverlappingValueAxes.d.ts +0 -0
  153. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/MultiValueLegend.d.ts +0 -0
  154. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/MultiValueTooltip.d.ts +0 -0
  155. /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/Ranking.d.ts → src/multiValue/plugins/OrdinalBubbles.d.ts} +0 -0
  156. /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/RankingAxis.d.ts → src/multiValue/plugins/OrdinalXAxis.d.ts} +0 -0
  157. /package/dist/{orbcharts-plugins-basic/src/noneData/plugins/Container.d.ts → src/multiValue/plugins/RacingCounterAxis.d.ts} +0 -0
  158. /package/dist/{orbcharts-plugins-basic/src/noneData/plugins/Tooltip.d.ts → src/multiValue/plugins/RankingAxis_legacy.d.ts} +0 -0
  159. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/Scatter.d.ts +0 -0
  160. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/ScatterBubbles.d.ts +0 -0
  161. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/XYAux.d.ts +0 -0
  162. /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/XYAxes.d.ts → src/multiValue/plugins/XYAxes_legacy.d.ts} +0 -0
  163. /package/dist/{orbcharts-plugins-basic/src → src}/noneData/defaults.d.ts +0 -0
  164. /package/dist/{orbcharts-plugins-basic/src → src}/noneData/index.d.ts +0 -0
  165. /package/dist/{orbcharts-plugins-basic/src/relationship/plugins/ForceDirectedBubbles.d.ts → src/noneData/plugins/Container.d.ts} +0 -0
  166. /package/dist/{orbcharts-plugins-basic/src/series/plugins/Waffle.d.ts → src/noneData/plugins/Tooltip.d.ts} +0 -0
  167. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/plugins/ForceDirected.d.ts +0 -0
  168. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/plugins/RelationshipLegend.d.ts +0 -0
  169. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/plugins/RelationshipTooltip.d.ts +0 -0
  170. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/relationshipObservables.d.ts +0 -0
  171. /package/dist/{orbcharts-plugins-basic/src → src}/series/defaults.d.ts +0 -0
  172. /package/dist/{orbcharts-plugins-basic/src → src}/series/index.d.ts +0 -0
  173. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Bubbles.d.ts +0 -0
  174. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Pie.d.ts +0 -0
  175. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/PieEventTexts.d.ts +0 -0
  176. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/PieLabels.d.ts +0 -0
  177. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Rose.d.ts +0 -0
  178. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/RoseLabels.d.ts +0 -0
  179. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/SeriesLegend.d.ts +0 -0
  180. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/SeriesTooltip.d.ts +0 -0
  181. /package/{src/multiValue/plugins/Ranking.ts → dist/src/series/plugins/Waffle.d.ts} +0 -0
  182. /package/dist/{orbcharts-plugins-basic/src → src}/series/seriesObservables.d.ts +0 -0
  183. /package/dist/{orbcharts-plugins-basic/src → src}/series/seriesUtils.d.ts +0 -0
  184. /package/dist/{orbcharts-plugins-basic/src → src}/tree/defaults.d.ts +0 -0
  185. /package/dist/{orbcharts-plugins-basic/src → src}/tree/index.d.ts +0 -0
  186. /package/dist/{orbcharts-plugins-basic/src → src}/tree/plugins/TreeLegend.d.ts +0 -0
  187. /package/dist/{orbcharts-plugins-basic/src → src}/tree/plugins/TreeMap.d.ts +0 -0
  188. /package/dist/{orbcharts-plugins-basic/src → src}/tree/plugins/TreeTooltip.d.ts +0 -0
  189. /package/dist/{orbcharts-plugins-basic/src → src}/utils/observables.d.ts +0 -0
  190. /package/dist/{orbcharts-plugins-basic/src → src}/utils/orbchartsUtils.d.ts +0 -0
  191. /package/dist/{orbcharts-plugins-basic/vite.config.d.ts → vite.config.d.ts} +0 -0
  192. /package/src/multiValue/plugins/{RankingAxis.ts → OrdinalBubbles.ts} +0 -0
@@ -1,22 +1,31 @@
1
- (function(j,Tr){typeof exports=="object"&&typeof module<"u"?Tr(exports):typeof define=="function"&&define.amd?define(["exports"],Tr):(j=typeof globalThis<"u"?globalThis:j||self,Tr(j["orbcharts-plugins-basic"]={}))})(this,function(j){"use strict";const Tr={lineCurve:"curveLinear",lineWidth:2},Hp={lineCurve:"curveLinear",linearGradientOpacity:[1,0]},jp={radius:4,fillColorType:"white",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1},uu={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>t,labelPadding:20,labelRotate:0};uu.labelTextFormat.toString=()=>"text => text";const ca={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1},B2={...ca},qp={barWidth:0,barGroupPadding:10,barRadius:!1},Zp={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0]},cu={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};cu.tickFormat.toString=()=>"text => text";const fa={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};fa.tickFormat.toString=()=>"v => v";const Kp={...fa},Qp={},Jp={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},fu={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,i=e.textSizePx/2-r/2,o=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}">${t.groupLabel}</text></g>`,a=t.groups.reduce((c,f)=>{const h=`${f.seriesLabel}${f.value}`;return h.length>c.length?h:c},""),l=n.measureTextWidth(a,e.textSizePx)+e.textSizePx*2,u=t.groups.map((c,f)=>{const h=f*e.textSizePx*1.5,p=c.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
2
- <rect width="${r}" height="${r}" x="${i}" y="${h+i}" rx="${r/2}" fill="${c.color}"></rect>
3
- <text x="${e.textSizePx*1.5}" y="${h}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
4
- <tspan font-weight="${p?"bold":""}">${c.seriesLabel}</tspan>
5
- <tspan font-weight="bold" text-anchor="end" x="${l}">${c.value}</tspan>
1
+ (function(X,Mr){typeof exports=="object"&&typeof module<"u"?Mr(exports):typeof define=="function"&&define.amd?define(["exports"],Mr):(X=typeof globalThis<"u"?globalThis:X||self,Mr(X["orbcharts-plugins-basic"]={}))})(this,function(X){"use strict";const Mr={lineCurve:"curveLinear",lineWidth:2},pd={lineCurve:"curveLinear",linearGradientOpacity:[1,0]},dd={radius:4,fillColorType:"background",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1},Su={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>t,labelPadding:20,labelRotate:0};Su.labelTextFormat.toString=()=>"text => text";const va={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1},pS={...va},gd={barWidth:0,barGroupPadding:10,barRadius:!1},md={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0]},_u={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};_u.tickFormat.toString=()=>"text => text";const Sa={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};Sa.tickFormat.toString=()=>`num => {
2
+ if (num === null || Number.isNaN(num) == true) {
3
+ return num || 0
4
+ }
5
+ const parts = num.toString().split('.')
6
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
7
+ return parts.join('.')
8
+ }`;const yd={...Sa},bd={},xd={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},wu={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,i=e.textSizePx/2-r/2,o=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}" fill="${e.textColor}">${t.groupLabel}</text></g>`,a=n.measureTextWidth(t.groupLabel,e.textSizePx),s=t.group.reduce((h,f)=>{const p=`${f.seriesLabel}${n.toCurrency(f.value)}`,d=n.measureTextWidth(p,e.textSizePx);return d>h?d:h},0),u=Math.max(a,s)+e.textSizePx*3,c=t.group.map((h,f)=>{const p=f*e.textSizePx*1.5,d=h.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
9
+ <rect width="${r}" height="${r}" x="${i}" y="${p+i}" rx="${r/2}" fill="${h.color}"></rect>
10
+ <text x="${e.textSizePx*1.5}" y="${p}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
11
+ <tspan font-weight="${d?"bold":""}">${h.seriesLabel}</tspan>
12
+ <tspan font-weight="bold" text-anchor="end" x="${u}">${n.toCurrency(h.value)}</tspan>
6
13
  </text>
7
14
  </g>`}).join("");return`${o}
8
- ${u}`}};fu.renderFn.toString=()=>`(eventData, { styles, utils }) => {
15
+ ${c}`}};wu.renderFn.toString=()=>`(eventData, { styles, utils }) => {
9
16
  const bulletWidth = styles.textSizePx * 0.7
10
17
  const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
11
18
 
12
- const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}">\${eventData.groupLabel}</text></g>\`
13
- const maxLengthText = eventData.groups.reduce((acc, group) => {
14
- const text = \`\${group.seriesLabel}\${group.value}\`
15
- return text.length > acc.length ? text : acc
16
- }, '')
17
- const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
18
- const lineEndX = maxTextWidth + styles.textSizePx * 2
19
- const contentSvg = eventData.groups
19
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
20
+ const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
21
+ const listTextWidth = eventData.group.reduce((acc, group) => {
22
+ const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
23
+ const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
24
+ return _maxTextWidth > acc ? _maxTextWidth : acc
25
+ }, 0)
26
+ const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
27
+ const lineEndX = maxTextWidth + styles.textSizePx * 3
28
+ const contentSvg = eventData.group
20
29
  .map((group, i) => {
21
30
  const y = i * styles.textSizePx * 1.5
22
31
  const isHighlight = group.id === (eventData.datum && eventData.datum.id)
@@ -24,56 +33,65 @@ ${u}`}};fu.renderFn.toString=()=>`(eventData, { styles, utils }) => {
24
33
  <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
25
34
  <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
26
35
  <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
27
- <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${group.value}</tspan>
36
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
28
37
  </text>
29
38
  </g>\`
30
39
  })
31
40
  .join('')
32
41
  return \`\${titleSvg}
33
42
  \${contentSvg}\`
34
- }`;var hu=function(t,e){return hu=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},hu(t,e)};function Fe(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");hu(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function N2(t,e,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(f){a(f)}}function l(c){try{u(r.throw(c))}catch(f){a(f)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(t,e||[])).next())})}function td(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){n.label=u[1];break}if(u[0]===6&&n.label<o[1]){n.label=o[1],o=u;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(u);break}o[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],i=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Ar(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Bn(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function Pr(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}function Dr(t){return this instanceof Dr?(this.v=t,this):new Dr(t)}function F2(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(p){return function(d){return Promise.resolve(d).then(p,f)}}function s(p,d){r[p]&&(i[p]=function(m){return new Promise(function(g,y){o.push([p,m,g,y])>1||l(p,m)})},d&&(i[p]=d(i[p])))}function l(p,d){try{u(r[p](d))}catch(m){h(o[0][3],m)}}function u(p){p.value instanceof Dr?Promise.resolve(p.value.v).then(c,f):h(o[0][2],p)}function c(p){l("next",p)}function f(p){l("throw",p)}function h(p,d){p(d),o.shift(),o.length&&l(o[0][0],o[0][1])}}function O2(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Ar=="function"?Ar(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(a){return new Promise(function(s,l){a=t[o](a),i(s,l,a.done,a.value)})}}function i(o,a,s,l){Promise.resolve(l).then(function(u){o({value:u,done:s})},a)}}typeof SuppressedError=="function"&&SuppressedError;function xt(t){return typeof t=="function"}function pu(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var du=pu(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription:
43
+ }`;var Tu=function(t,e){return Tu=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Tu(t,e)};function Ge(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Tu(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function dS(t,e,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(h){a(h)}}function l(c){try{u(r.throw(c))}catch(h){a(h)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(t,e||[])).next())})}function $d(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){n.label=u[1];break}if(u[0]===6&&n.label<o[1]){n.label=o[1],o=u;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(u);break}o[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],i=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Lr(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Wn(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function kr(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}function Rr(t){return this instanceof Rr?(this.v=t,this):new Rr(t)}function gS(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(p){return function(d){return Promise.resolve(d).then(p,h)}}function s(p,d){r[p]&&(i[p]=function(g){return new Promise(function(m,b){o.push([p,g,m,b])>1||l(p,g)})},d&&(i[p]=d(i[p])))}function l(p,d){try{u(r[p](d))}catch(g){f(o[0][3],g)}}function u(p){p.value instanceof Rr?Promise.resolve(p.value.v).then(c,h):f(o[0][2],p)}function c(p){l("next",p)}function h(p){l("throw",p)}function f(p,d){p(d),o.shift(),o.length&&l(o[0][0],o[0][1])}}function mS(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Lr=="function"?Lr(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(a){return new Promise(function(s,l){a=t[o](a),i(s,l,a.done,a.value)})}}function i(o,a,s,l){Promise.resolve(l).then(function(u){o({value:u,done:s})},a)}}typeof SuppressedError=="function"&&SuppressedError;function xt(t){return typeof t=="function"}function Au(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Pu=Au(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription:
35
44
  `+n.map(function(r,i){return i+1+") "+r.toString()}).join(`
36
- `):"",this.name="UnsubscriptionError",this.errors=n}});function ha(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Ni=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=Ar(a),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(m){e={error:m}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else a.remove(this);var c=this.initialTeardown;if(xt(c))try{c()}catch(m){o=m instanceof du?m.errors:[m]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=Ar(f),p=h.next();!p.done;p=h.next()){var d=p.value;try{rd(d)}catch(m){o=o??[],m instanceof du?o=Pr(Pr([],Bn(o)),Bn(m.errors)):o.push(m)}}}catch(m){r={error:m}}finally{try{p&&!p.done&&(i=h.return)&&i.call(h)}finally{if(r)throw r.error}}}if(o)throw new du(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)rd(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&ha(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&ha(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),ed=Ni.EMPTY;function nd(t){return t instanceof Ni||t&&"closed"in t&&xt(t.remove)&&xt(t.add)&&xt(t.unsubscribe)}function rd(t){xt(t)?t():t.unsubscribe()}var id={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},od={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Pr([t,e],Bn(n)))},clearTimeout:function(t){var e=od.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function ad(t){od.setTimeout(function(){throw t})}function gu(){}function pa(t){t()}var mu=function(t){Fe(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,nd(n)&&n.add(r)):r.destination=X2,r}return e.create=function(n,r,i){return new Fi(n,r,i)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Ni),z2=Function.prototype.bind;function yu(t,e){return z2.call(t,e)}var G2=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){da(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){da(r)}else da(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){da(n)}},t}(),Fi=function(t){Fe(e,t);function e(n,r,i){var o=t.call(this)||this,a;if(xt(n)||!n)a={next:n??void 0,error:r??void 0,complete:i??void 0};else{var s;o&&id.useDeprecatedNextContext?(s=Object.create(n),s.unsubscribe=function(){return o.unsubscribe()},a={next:n.next&&yu(n.next,s),error:n.error&&yu(n.error,s),complete:n.complete&&yu(n.complete,s)}):a=n}return o.destination=new G2(a),o}return e}(mu);function da(t){ad(t)}function Y2(t){throw t}var X2={closed:!0,next:gu,error:Y2,complete:gu},bu=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Cr(t){return t}function W2(t){return t.length===0?Cr:t.length===1?t[0]:function(n){return t.reduce(function(r,i){return i(r)},n)}}var pt=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var i=this,o=U2(e)?e:new Fi(e,n,r);return pa(function(){var a=i,s=a.operator,l=a.source;o.add(s?s.call(o,l):l?i._subscribe(o):i._trySubscribe(o))}),o},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=sd(n),new n(function(i,o){var a=new Fi({next:function(s){try{e(s)}catch(l){o(l),a.unsubscribe()}},error:o,complete:i});r.subscribe(a)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[bu]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return W2(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=sd(e),new e(function(r,i){var o;n.subscribe(function(a){return o=a},function(a){return i(a)},function(){return r(o)})})},t.create=function(e){return new t(e)},t}();function sd(t){var e;return(e=t??id.Promise)!==null&&e!==void 0?e:Promise}function V2(t){return t&&xt(t.next)&&xt(t.error)&&xt(t.complete)}function U2(t){return t&&t instanceof mu||V2(t)&&nd(t)}function H2(t){return xt(t==null?void 0:t.lift)}function ce(t){return function(e){if(H2(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function ie(t,e,n,r,i){return new j2(t,e,n,r,i)}var j2=function(t){Fe(e,t);function e(n,r,i,o,a,s){var l=t.call(this,n)||this;return l.onFinalize=a,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=o?function(u){try{o(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=i?function(){try{i()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(mu),q2=pu(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),J=function(t){Fe(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new ld(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new q2},e.prototype.next=function(n){var r=this;pa(function(){var i,o;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var a=Ar(r.currentObservers),s=a.next();!s.done;s=a.next()){var l=s.value;l.next(n)}}catch(u){i={error:u}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}}})},e.prototype.error=function(n){var r=this;pa(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var i=r.observers;i.length;)i.shift().error(n)}})},e.prototype.complete=function(){var n=this;pa(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,o=i.hasError,a=i.isStopped,s=i.observers;return o||a?ed:(this.currentObservers=null,s.push(n),new Ni(function(){r.currentObservers=null,ha(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,o=r.thrownError,a=r.isStopped;i?n.error(o):a&&n.complete()},e.prototype.asObservable=function(){var n=new pt;return n.source=this,n},e.create=function(n,r){return new ld(n,r)},e}(pt),ld=function(t){Fe(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:ed},e}(J),ud=function(t){Fe(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,i=n.thrownError,o=n._value;if(r)throw i;return this._throwIfClosed(),o},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(J),xu={now:function(){return(xu.delegate||Date).now()},delegate:void 0},Z2=function(t){Fe(e,t);function e(n,r,i){n===void 0&&(n=1/0),r===void 0&&(r=1/0),i===void 0&&(i=xu);var o=t.call(this)||this;return o._bufferSize=n,o._windowTime=r,o._timestampProvider=i,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=r===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,r),o}return e.prototype.next=function(n){var r=this,i=r.isStopped,o=r._buffer,a=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;i||(o.push(n),!a&&o.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),i=this,o=i._infiniteTimeWindow,a=i._buffer,s=a.slice(),l=0;l<s.length&&!n.closed;l+=o?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,i=n._timestampProvider,o=n._buffer,a=n._infiniteTimeWindow,s=(a?1:2)*r;if(r<1/0&&s<o.length&&o.splice(0,o.length-s),!a){for(var l=i.now(),u=0,c=1;c<o.length&&o[c]<=l;c+=2)u=c;u&&o.splice(0,u+1)}},e}(J),K2=function(t){Fe(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(Ni),vu={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Pr([t,e],Bn(n)))},clearInterval:function(t){var e=vu.delegate;return((e==null?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0},Q2=function(t){Fe(e,t);function e(n,r){var i=t.call(this,n,r)||this;return i.scheduler=n,i.work=r,i.pending=!1,i}return e.prototype.schedule=function(n,r){var i;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,r)),this.pending=!0,this.delay=r,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(a,this.id,r),this},e.prototype.requestAsyncId=function(n,r,i){return i===void 0&&(i=0),vu.setInterval(n.flush.bind(n,this),i)},e.prototype.recycleAsyncId=function(n,r,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return r;r!=null&&vu.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(n,r);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var i=!1,o;try{this.work(n)}catch(a){i=!0,o=a||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,i=n.scheduler,o=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,ha(o,this),r!=null&&(this.id=this.recycleAsyncId(i,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(K2),cd=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=xu.now,t}(),J2=function(t){Fe(e,t);function e(n,r){r===void 0&&(r=cd.now);var i=t.call(this,n,r)||this;return i.actions=[],i._active=!1,i}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,i){for(;n=r.shift();)n.unsubscribe();throw i}},e}(cd),t_=new J2(Q2),$u=new pt(function(t){return t.complete()});function e_(t){return t&&xt(t.schedule)}function _u(t){return t[t.length-1]}function n_(t){return xt(_u(t))?t.pop():void 0}function Su(t){return e_(_u(t))?t.pop():void 0}function r_(t,e){return typeof _u(t)=="number"?t.pop():e}var wu=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function fd(t){return xt(t==null?void 0:t.then)}function hd(t){return xt(t[bu])}function pd(t){return Symbol.asyncIterator&&xt(t==null?void 0:t[Symbol.asyncIterator])}function dd(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function i_(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var gd=i_();function md(t){return xt(t==null?void 0:t[gd])}function yd(t){return F2(this,arguments,function(){var n,r,i,o;return td(this,function(a){switch(a.label){case 0:n=t.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,Dr(n.read())];case 3:return r=a.sent(),i=r.value,o=r.done,o?[4,Dr(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,Dr(i)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function bd(t){return xt(t==null?void 0:t.getReader)}function ye(t){if(t instanceof pt)return t;if(t!=null){if(hd(t))return o_(t);if(wu(t))return a_(t);if(fd(t))return s_(t);if(pd(t))return xd(t);if(md(t))return l_(t);if(bd(t))return u_(t)}throw dd(t)}function o_(t){return new pt(function(e){var n=t[bu]();if(xt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function a_(t){return new pt(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function s_(t){return new pt(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,ad)})}function l_(t){return new pt(function(e){var n,r;try{for(var i=Ar(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(s){n={error:s}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()})}function xd(t){return new pt(function(e){c_(t,e).catch(function(n){return e.error(n)})})}function u_(t){return xd(yd(t))}function c_(t,e){var n,r,i,o;return N2(this,void 0,void 0,function(){var a,s;return td(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=O2(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(a=r.value,e.next(a),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),i={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function xn(t,e,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var o=e.schedule(function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(o),!i)return o}function vd(t,e){return e===void 0&&(e=0),ce(function(n,r){n.subscribe(ie(r,function(i){return xn(r,t,function(){return r.next(i)},e)},function(){return xn(r,t,function(){return r.complete()},e)},function(i){return xn(r,t,function(){return r.error(i)},e)}))})}function $d(t,e){return e===void 0&&(e=0),ce(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function f_(t,e){return ye(t).pipe($d(e),vd(e))}function h_(t,e){return ye(t).pipe($d(e),vd(e))}function p_(t,e){return new pt(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function d_(t,e){return new pt(function(n){var r;return xn(n,e,function(){r=t[gd](),xn(n,e,function(){var i,o,a;try{i=r.next(),o=i.value,a=i.done}catch(s){n.error(s);return}a?n.complete():n.next(o)},0,!0)}),function(){return xt(r==null?void 0:r.return)&&r.return()}})}function _d(t,e){if(!t)throw new Error("Iterable cannot be null");return new pt(function(n){xn(n,e,function(){var r=t[Symbol.asyncIterator]();xn(n,e,function(){r.next().then(function(i){i.done?n.complete():n.next(i.value)})},0,!0)})})}function g_(t,e){return _d(yd(t),e)}function m_(t,e){if(t!=null){if(hd(t))return f_(t,e);if(wu(t))return p_(t,e);if(fd(t))return h_(t,e);if(pd(t))return _d(t,e);if(md(t))return d_(t,e);if(bd(t))return g_(t,e)}throw dd(t)}function ga(t,e){return e?m_(t,e):ye(t)}function ma(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Su(t);return ga(t,n)}var Sd=pu(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function E(t,e){return ce(function(n,r){var i=0;n.subscribe(ie(r,function(o){r.next(t.call(e,o,i++))}))})}var y_=Array.isArray;function b_(t,e){return y_(e)?t.apply(void 0,Pr([],Bn(e))):t(e)}function wd(t){return E(function(e){return b_(t,e)})}var x_=Array.isArray,v_=Object.getPrototypeOf,$_=Object.prototype,__=Object.keys;function S_(t){if(t.length===1){var e=t[0];if(x_(e))return{args:e,keys:null};if(w_(e)){var n=__(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function w_(t){return t&&typeof t=="object"&&v_(t)===$_}function T_(t,e){return t.reduce(function(n,r,i){return n[r]=e[i],n},{})}function Y(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Su(t),r=n_(t),i=S_(t),o=i.args,a=i.keys;if(o.length===0)return ga([],n);var s=new pt(A_(o,n,a?function(l){return T_(a,l)}:Cr));return r?s.pipe(wd(r)):s}function A_(t,e,n){return n===void 0&&(n=Cr),function(r){Td(e,function(){for(var i=t.length,o=new Array(i),a=i,s=i,l=function(c){Td(e,function(){var f=ga(t[c],e),h=!1;f.subscribe(ie(r,function(p){o[c]=p,h||(h=!0,s--),s||r.next(n(o.slice()))},function(){--a||r.complete()}))},r)},u=0;u<i;u++)l(u)},r)}}function Td(t,e,n){t?xn(n,t,e):e()}function P_(t,e,n,r,i,o,a,s){var l=[],u=0,c=0,f=!1,h=function(){f&&!l.length&&!u&&e.complete()},p=function(m){return u<r?d(m):l.push(m)},d=function(m){u++;var g=!1;ye(n(m,c++)).subscribe(ie(e,function(y){e.next(y)},function(){g=!0},void 0,function(){if(g)try{u--;for(var y=function(){var b=l.shift();a||d(b)};l.length&&u<r;)y();h()}catch(b){e.error(b)}}))};return t.subscribe(ie(e,p,function(){f=!0,h()})),function(){}}function Tu(t,e,n){return n===void 0&&(n=1/0),xt(e)?Tu(function(r,i){return E(function(o,a){return e(r,o,i,a)})(ye(t(r,i)))},n):(typeof e=="number"&&(n=e),ce(function(r,i){return P_(r,i,t,n)}))}function D_(t){return t===void 0&&(t=1/0),Tu(Cr,t)}function C_(t){return new pt(function(e){ye(t()).subscribe(e)})}var M_=["addListener","removeListener"],L_=["addEventListener","removeEventListener"],k_=["on","off"];function Au(t,e,n,r){if(xt(n)&&(r=n,n=void 0),r)return Au(t,e,n).pipe(wd(r));var i=Bn(I_(t)?L_.map(function(s){return function(l){return t[s](e,l,n)}}):R_(t)?M_.map(Ad(t,e)):E_(t)?k_.map(Ad(t,e)):[],2),o=i[0],a=i[1];if(!o&&wu(t))return Tu(function(s){return Au(s,e,n)})(ye(t));if(!o)throw new TypeError("Invalid event target");return new pt(function(s){var l=function(){for(var u=[],c=0;c<arguments.length;c++)u[c]=arguments[c];return s.next(1<u.length?u:u[0])};return o(l),function(){return a(l)}})}function Ad(t,e){return function(n){return function(r){return t[n](e,r)}}}function R_(t){return xt(t.addListener)&&xt(t.removeListener)}function E_(t){return xt(t.on)&&xt(t.off)}function I_(t){return xt(t.addEventListener)&&xt(t.removeEventListener)}function ya(t,e,n){return C_(function(){return t()?e:n})}function Pu(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Su(t),r=r_(t,1/0),i=t;return i.length?i.length===1?ye(i[0]):D_(r)(ga(i,n)):$u}function Mr(t,e){return ce(function(n,r){var i=0;n.subscribe(ie(r,function(o){return t.call(e,o,i++)&&r.next(o)}))})}function B_(t,e){return e===void 0&&(e=t_),ce(function(n,r){var i=null,o=null,a=null,s=function(){if(i){i.unsubscribe(),i=null;var u=o;o=null,r.next(u)}};function l(){var u=a+t,c=e.now();if(c<u){i=this.schedule(void 0,u-c),r.add(i);return}s()}n.subscribe(ie(r,function(u){o=u,a=e.now(),i||(i=e.schedule(l,t),r.add(i))},function(){s(),r.complete()},void 0,function(){o=i=null}))})}function N_(t){return ce(function(e,n){var r=!1;e.subscribe(ie(n,function(i){r=!0,n.next(i)},function(){r||n.next(t),n.complete()}))})}function F_(t){return t<=0?function(){return $u}:ce(function(e,n){var r=0;e.subscribe(ie(n,function(i){++r<=t&&(n.next(i),t<=r&&n.complete())}))})}function tt(t,e){return e===void 0&&(e=Cr),t=t??O_,ce(function(n,r){var i,o=!0;n.subscribe(ie(r,function(a){var s=e(a);(o||!t(i,s))&&(o=!1,i=s,r.next(a))}))})}function O_(t,e){return t===e}function z_(t){return t===void 0&&(t=G_),ce(function(e,n){var r=!1;e.subscribe(ie(n,function(i){r=!0,n.next(i)},function(){return r?n.complete():n.error(t())}))})}function G_(){return new Sd}function ba(t,e){var n=arguments.length>=2;return function(r){return r.pipe(Cr,F_(1),n?N_(e):z_(function(){return new Sd}))}}function Y_(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new J}:e,r=t.resetOnError,i=r===void 0?!0:r,o=t.resetOnComplete,a=o===void 0?!0:o,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,f,h,p=0,d=!1,m=!1,g=function(){f==null||f.unsubscribe(),f=void 0},y=function(){g(),c=h=void 0,d=m=!1},b=function(){var v=c;y(),v==null||v.unsubscribe()};return ce(function(v,x){p++,!m&&!d&&g();var _=h=h??n();x.add(function(){p--,p===0&&!m&&!d&&(f=Du(b,l))}),_.subscribe(x),!c&&p>0&&(c=new Fi({next:function(T){return _.next(T)},error:function(T){m=!0,g(),f=Du(y,i,T),_.error(T)},complete:function(){d=!0,g(),f=Du(y,a),_.complete()}}),ye(v).subscribe(c))})(u)}}function Du(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var i=new Fi({next:function(){i.unsubscribe(),t()}});return ye(e.apply(void 0,Pr([],Bn(n)))).subscribe(i)}}function mt(t,e,n){var r,i=!1;return r=t,Y_({connector:function(){return new Z2(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:i})}function G(t,e){return ce(function(n,r){var i=null,o=0,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(ie(r,function(l){i==null||i.unsubscribe();var u=0,c=o++;ye(t(l,c)).subscribe(i=ie(r,function(f){return r.next(e?e(l,f,c,u++):f)},function(){i=null,s()}))},function(){a=!0,s()}))})}function L(t){return ce(function(e,n){ye(t).subscribe(ie(n,function(){return n.complete()},gu)),!n.closed&&e.subscribe(n)})}const fe={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},X_={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},W_={gap:120,rowAmount:1,columnAmount:1},V_={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...fe},groupAxis:{...X_},separateSeries:!1},U_={type:"grid",visibleFilter:(t,e)=>!0,...V_,container:{...W_}};U_.visibleFilter.toString=()=>"(datum, context) => true";function Lr(t){return Object.prototype.toString.call(t)==="[object Object]"}function H_(t){return Object.prototype.toString.call(t)==="[object Function]"}function Cu(t,e){if(Lr(t)===!1||Lr(e)===!1)return Object.assign({},e);const n=(r,i)=>{const o=Object.assign({},i);for(let a of Object.keys(r)){if(!(a in i))continue;let s;Lr(r[a])&&Lr(i[a])?(s=n(r[a],i[a]),o[a]=s):o[a]=r[a]}return o};return n(t,e)}function j_(t,e){const n={string:i=>typeof i=="string",number:i=>typeof i=="number",boolean:i=>typeof i=="boolean",object:i=>Lr(i),"object[]":i=>Array.isArray(i)&&i.every(o=>Lr(o)),"string[]":i=>Array.isArray(i)&&i.every(o=>typeof o=="string"),"number[]":i=>Array.isArray(i)&&i.every(o=>typeof o=="number"),Function:i=>H_(i),null:i=>i===null,undefined:i=>i===void 0},r={ColorType:i=>i==="none"||i==="label"||i==="primary"||i==="secondary"||i==="white"||i==="background"};return Object.keys(t).find(i=>{if(e[i]){const o=e[i],a=t[i];if(o.toBeTypes){if(o.toBeTypes.some(s=>n[s](a))===!1)return!0}else if(o.toBe){const{toBe:s,test:l}=o;if(l(a)===!1)return!0}else if(o.toBeOption){const s=o.toBeOption;if(r[s](a)===!1)return!0}}return!1})}function q_(t,e){const n=j_(t,e);if(n){const r=e[n],i=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:i}}else return{status:"success",columnName:"",expectToBe:""}}function xa(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Z_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Pd(t){let e,n,r;t.length!==2?(e=xa,n=(s,l)=>xa(t(s),l),r=(s,l)=>t(s)-l):(e=t===xa||t===Z_?t:K_,n=t,r=t);function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const f=u+c>>>1;n(s[f],l)<0?u=f+1:c=f}while(u<c)}return u}function o(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const f=u+c>>>1;n(s[f],l)<=0?u=f+1:c=f}while(u<c)}return u}function a(s,l,u=0,c=s.length){const f=i(s,l,u,c-1);return f>u&&r(s[f-1],l)>-r(s[f],l)?f-1:f}return{left:i,center:a,right:o}}function K_(){return 0}function Q_(t){return t===null?NaN:+t}const J_=Pd(xa),Dd=J_.right;Pd(Q_).center;const tS=Math.sqrt(50),eS=Math.sqrt(10),nS=Math.sqrt(2);function va(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=tS?10:o>=eS?5:o>=nS?2:1;let s,l,u;return i<0?(u=Math.pow(10,-i)/a,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,i)*a,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?va(t,e,n*2):[s,l,u]}function rS(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[i,o,a]=r?va(e,t,n):va(t,e,n);if(!(o>=i))return[];const s=o-i+1,l=new Array(s);if(r)if(a<0)for(let u=0;u<s;++u)l[u]=(o-u)/-a;else for(let u=0;u<s;++u)l[u]=(o-u)*a;else if(a<0)for(let u=0;u<s;++u)l[u]=(i+u)/-a;else for(let u=0;u<s;++u)l[u]=(i+u)*a;return l}function Mu(t,e,n){return e=+e,t=+t,n=+n,va(t,e,n)[2]}function iS(t,e,n){e=+e,t=+t,n=+n;const r=e<t,i=r?Mu(e,t,n):Mu(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}var oS={value:()=>{}};function Cd(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new $a(n)}function $a(t){this._=t}function aS(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}$a.prototype=Cd.prototype={constructor:$a,on:function(t,e){var n=this._,r=aS(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(t=r[o]).type)&&(i=sS(n[i],t.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++o<a;)if(i=(t=r[o]).type)n[i]=Md(n[i],t.name,e);else if(e==null)for(i in n)n[i]=Md(n[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new $a(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};function sS(t,e){for(var n=0,r=t.length,i;n<r;++n)if((i=t[n]).name===e)return i.value}function Md(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=oS,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Lu="http://www.w3.org/1999/xhtml";const Ld={svg:"http://www.w3.org/2000/svg",xhtml:Lu,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function _a(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Ld.hasOwnProperty(e)?{space:Ld[e],local:t}:t}function lS(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Lu&&e.documentElement.namespaceURI===Lu?e.createElement(t):e.createElementNS(n,t)}}function uS(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function kd(t){var e=_a(t);return(e.local?uS:lS)(e)}function cS(){}function ku(t){return t==null?cS:function(){return this.querySelector(t)}}function fS(t){typeof t!="function"&&(t=ku(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=new Array(a),l,u,c=0;c<a;++c)(l=o[c])&&(u=t.call(l,l.__data__,c,o))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new Ae(r,this._parents)}function hS(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function pS(){return[]}function Rd(t){return t==null?pS:function(){return this.querySelectorAll(t)}}function dS(t){return function(){return hS(t.apply(this,arguments))}}function gS(t){typeof t=="function"?t=dS(t):t=Rd(t);for(var e=this._groups,n=e.length,r=[],i=[],o=0;o<n;++o)for(var a=e[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&(r.push(t.call(l,l.__data__,u,a)),i.push(l));return new Ae(r,i)}function Ed(t){return function(){return this.matches(t)}}function Id(t){return function(e){return e.matches(t)}}var mS=Array.prototype.find;function yS(t){return function(){return mS.call(this.children,t)}}function bS(){return this.firstElementChild}function xS(t){return this.select(t==null?bS:yS(typeof t=="function"?t:Id(t)))}var vS=Array.prototype.filter;function $S(){return Array.from(this.children)}function _S(t){return function(){return vS.call(this.children,t)}}function SS(t){return this.selectAll(t==null?$S:_S(typeof t=="function"?t:Id(t)))}function wS(t){typeof t!="function"&&(t=Ed(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new Ae(r,this._parents)}function Bd(t){return new Array(t.length)}function TS(){return new Ae(this._enter||this._groups.map(Bd),this._parents)}function Sa(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Sa.prototype={constructor:Sa,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function AS(t){return function(){return t}}function PS(t,e,n,r,i,o){for(var a=0,s,l=e.length,u=o.length;a<u;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new Sa(t,o[a]);for(;a<l;++a)(s=e[a])&&(i[a]=s)}function DS(t,e,n,r,i,o,a){var s,l,u=new Map,c=e.length,f=o.length,h=new Array(c),p;for(s=0;s<c;++s)(l=e[s])&&(h[s]=p=a.call(l,l.__data__,s,e)+"",u.has(p)?i[s]=l:u.set(p,l));for(s=0;s<f;++s)p=a.call(t,o[s],s,o)+"",(l=u.get(p))?(r[s]=l,l.__data__=o[s],u.delete(p)):n[s]=new Sa(t,o[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(h[s])===l&&(i[s]=l)}function CS(t){return t.__data__}function MS(t,e){if(!arguments.length)return Array.from(this,CS);var n=e?DS:PS,r=this._parents,i=this._groups;typeof t!="function"&&(t=AS(t));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),u=0;u<o;++u){var c=r[u],f=i[u],h=f.length,p=LS(t.call(c,c&&c.__data__,u,r)),d=p.length,m=s[u]=new Array(d),g=a[u]=new Array(d),y=l[u]=new Array(h);n(c,f,m,g,y,p,e);for(var b=0,v=0,x,_;b<d;++b)if(x=m[b]){for(b>=v&&(v=b+1);!(_=g[v])&&++v<d;);x._next=_||null}}return a=new Ae(a,r),a._enter=s,a._exit=l,a}function LS(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function kS(){return new Ae(this._exit||this._groups.map(Bd),this._parents)}function RS(t,e,n){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function ES(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var u=n[l],c=r[l],f=u.length,h=s[l]=new Array(f),p,d=0;d<f;++d)(p=u[d]||c[d])&&(h[d]=p);for(;l<i;++l)s[l]=n[l];return new Ae(s,this._parents)}function IS(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function BS(t){t||(t=NS);function e(f,h){return f&&h?t(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,l=i[o]=new Array(s),u,c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new Ae(i,this._parents).order()}function NS(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function FS(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function OS(){return Array.from(this)}function zS(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function GS(){let t=0;for(const e of this)++t;return t}function YS(){return!this.node()}function XS(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i=e[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&t.call(s,s.__data__,o,i);return this}function WS(t){return function(){this.removeAttribute(t)}}function VS(t){return function(){this.removeAttributeNS(t.space,t.local)}}function US(t,e){return function(){this.setAttribute(t,e)}}function HS(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function jS(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function qS(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function ZS(t,e){var n=_a(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?VS:WS:typeof e=="function"?n.local?qS:jS:n.local?HS:US)(n,e))}function Nd(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function KS(t){return function(){this.style.removeProperty(t)}}function QS(t,e,n){return function(){this.style.setProperty(t,e,n)}}function JS(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function tw(t,e,n){return arguments.length>1?this.each((e==null?KS:typeof e=="function"?JS:QS)(t,e,n??"")):kr(this.node(),t)}function kr(t,e){return t.style.getPropertyValue(e)||Nd(t).getComputedStyle(t,null).getPropertyValue(e)}function ew(t){return function(){delete this[t]}}function nw(t,e){return function(){this[t]=e}}function rw(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function iw(t,e){return arguments.length>1?this.each((e==null?ew:typeof e=="function"?rw:nw)(t,e)):this.node()[t]}function Fd(t){return t.trim().split(/^|\s+/)}function Ru(t){return t.classList||new Od(t)}function Od(t){this._node=t,this._names=Fd(t.getAttribute("class")||"")}Od.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function zd(t,e){for(var n=Ru(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function Gd(t,e){for(var n=Ru(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function ow(t){return function(){zd(this,t)}}function aw(t){return function(){Gd(this,t)}}function sw(t,e){return function(){(e.apply(this,arguments)?zd:Gd)(this,t)}}function lw(t,e){var n=Fd(t+"");if(arguments.length<2){for(var r=Ru(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof e=="function"?sw:e?ow:aw)(n,e))}function uw(){this.textContent=""}function cw(t){return function(){this.textContent=t}}function fw(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function hw(t){return arguments.length?this.each(t==null?uw:(typeof t=="function"?fw:cw)(t)):this.node().textContent}function pw(){this.innerHTML=""}function dw(t){return function(){this.innerHTML=t}}function gw(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function mw(t){return arguments.length?this.each(t==null?pw:(typeof t=="function"?gw:dw)(t)):this.node().innerHTML}function yw(){this.nextSibling&&this.parentNode.appendChild(this)}function bw(){return this.each(yw)}function xw(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function vw(){return this.each(xw)}function $w(t){var e=typeof t=="function"?t:kd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function _w(){return null}function Sw(t,e){var n=typeof t=="function"?t:kd(t),r=e==null?_w:typeof e=="function"?e:ku(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ww(){var t=this.parentNode;t&&t.removeChild(this)}function Tw(){return this.each(ww)}function Aw(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Pw(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Dw(t){return this.select(t?Pw:Aw)}function Cw(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Mw(t){return function(e){t.call(this,e,this.__data__)}}function Lw(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function kw(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n<i;++n)o=e[n],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):e[++r]=o;++r?e.length=r:delete this.__on}}}function Rw(t,e,n){return function(){var r=this.__on,i,o=Mw(e);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=e;return}}this.addEventListener(t.type,o,n),i={type:t.type,name:t.name,value:e,listener:o,options:n},r?r.push(i):this.__on=[i]}}function Ew(t,e,n){var r=Lw(t+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,u=s.length,c;l<u;++l)for(i=0,c=s[l];i<o;++i)if((a=r[i]).type===c.type&&a.name===c.name)return c.value}return}for(s=e?Rw:kw,i=0;i<o;++i)this.each(s(r[i],e,n));return this}function Yd(t,e,n){var r=Nd(t),i=r.CustomEvent;typeof i=="function"?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function Iw(t,e){return function(){return Yd(this,t,e)}}function Bw(t,e){return function(){return Yd(this,t,e.apply(this,arguments))}}function Nw(t,e){return this.each((typeof e=="function"?Bw:Iw)(t,e))}function*Fw(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var Ow=[null];function Ae(t,e){this._groups=t,this._parents=e}function Oi(){return new Ae([[document.documentElement]],Ow)}function zw(){return this}Ae.prototype=Oi.prototype={constructor:Ae,select:fS,selectAll:gS,selectChild:xS,selectChildren:SS,filter:wS,data:MS,enter:TS,exit:kS,join:RS,merge:ES,selection:zw,order:IS,sort:BS,call:FS,nodes:OS,node:zS,size:GS,empty:YS,each:XS,attr:ZS,style:tw,property:iw,classed:lw,text:hw,html:mw,raise:bw,lower:vw,append:$w,insert:Sw,remove:Tw,clone:Dw,datum:Cw,on:Ew,dispatch:Nw,[Symbol.iterator]:Fw};function Eu(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Xd(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function zi(){}var Gi=.7,wa=1/Gi,Rr="\\s*([+-]?\\d+)\\s*",Yi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Oe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Gw=/^#([0-9a-f]{3,8})$/,Yw=new RegExp(`^rgb\\(${Rr},${Rr},${Rr}\\)$`),Xw=new RegExp(`^rgb\\(${Oe},${Oe},${Oe}\\)$`),Ww=new RegExp(`^rgba\\(${Rr},${Rr},${Rr},${Yi}\\)$`),Vw=new RegExp(`^rgba\\(${Oe},${Oe},${Oe},${Yi}\\)$`),Uw=new RegExp(`^hsl\\(${Yi},${Oe},${Oe}\\)$`),Hw=new RegExp(`^hsla\\(${Yi},${Oe},${Oe},${Yi}\\)$`),Wd={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Eu(zi,Nn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Vd,formatHex:Vd,formatHex8:jw,formatHsl:qw,formatRgb:Ud,toString:Ud});function Vd(){return this.rgb().formatHex()}function jw(){return this.rgb().formatHex8()}function qw(){return Kd(this).formatHsl()}function Ud(){return this.rgb().formatRgb()}function Nn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Gw.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?Hd(e):n===3?new oe(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Ta(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Ta(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Yw.exec(t))?new oe(e[1],e[2],e[3],1):(e=Xw.exec(t))?new oe(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Ww.exec(t))?Ta(e[1],e[2],e[3],e[4]):(e=Vw.exec(t))?Ta(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Uw.exec(t))?Zd(e[1],e[2]/100,e[3]/100,1):(e=Hw.exec(t))?Zd(e[1],e[2]/100,e[3]/100,e[4]):Wd.hasOwnProperty(t)?Hd(Wd[t]):t==="transparent"?new oe(NaN,NaN,NaN,0):null}function Hd(t){return new oe(t>>16&255,t>>8&255,t&255,1)}function Ta(t,e,n,r){return r<=0&&(t=e=n=NaN),new oe(t,e,n,r)}function Zw(t){return t instanceof zi||(t=Nn(t)),t?(t=t.rgb(),new oe(t.r,t.g,t.b,t.opacity)):new oe}function Iu(t,e,n,r){return arguments.length===1?Zw(t):new oe(t,e,n,r??1)}function oe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Eu(oe,Iu,Xd(zi,{brighter(t){return t=t==null?wa:Math.pow(wa,t),new oe(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Gi:Math.pow(Gi,t),new oe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new oe(Fn(this.r),Fn(this.g),Fn(this.b),Aa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:jd,formatHex:jd,formatHex8:Kw,formatRgb:qd,toString:qd}));function jd(){return`#${On(this.r)}${On(this.g)}${On(this.b)}`}function Kw(){return`#${On(this.r)}${On(this.g)}${On(this.b)}${On((isNaN(this.opacity)?1:this.opacity)*255)}`}function qd(){const t=Aa(this.opacity);return`${t===1?"rgb(":"rgba("}${Fn(this.r)}, ${Fn(this.g)}, ${Fn(this.b)}${t===1?")":`, ${t})`}`}function Aa(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Fn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function On(t){return t=Fn(t),(t<16?"0":"")+t.toString(16)}function Zd(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Pe(t,e,n,r)}function Kd(t){if(t instanceof Pe)return new Pe(t.h,t.s,t.l,t.opacity);if(t instanceof zi||(t=Nn(t)),!t)return new Pe;if(t instanceof Pe)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(e===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-e)/s+2:a=(e-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new Pe(a,s,l,t.opacity)}function Qw(t,e,n,r){return arguments.length===1?Kd(t):new Pe(t,e,n,r??1)}function Pe(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Eu(Pe,Qw,Xd(zi,{brighter(t){return t=t==null?wa:Math.pow(wa,t),new Pe(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Gi:Math.pow(Gi,t),new Pe(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new oe(Bu(t>=240?t-240:t+120,i,r),Bu(t,i,r),Bu(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Pe(Qd(this.h),Pa(this.s),Pa(this.l),Aa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Aa(this.opacity);return`${t===1?"hsl(":"hsla("}${Qd(this.h)}, ${Pa(this.s)*100}%, ${Pa(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Qd(t){return t=(t||0)%360,t<0?t+360:t}function Pa(t){return Math.max(0,Math.min(1,t||0))}function Bu(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Nu=t=>()=>t;function Jw(t,e){return function(n){return t+n*e}}function tT(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function eT(t){return(t=+t)==1?Jd:function(e,n){return n-e?tT(e,n,t):Nu(isNaN(e)?n:e)}}function Jd(t,e){var n=e-t;return n?Jw(t,n):Nu(isNaN(t)?e:t)}const Da=function t(e){var n=eT(e);function r(i,o){var a=n((i=Iu(i)).r,(o=Iu(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),u=Jd(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=t,r}(1);function nT(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=t[i]*(1-o)+e[i]*o;return r}}function rT(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function iT(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,i=new Array(r),o=new Array(n),a;for(a=0;a<r;++a)i[a]=zu(t[a],e[a]);for(;a<n;++a)o[a]=e[a];return function(s){for(a=0;a<r;++a)o[a]=i[a](s);return o}}function oT(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function De(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function aT(t,e){var n={},r={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?n[i]=zu(t[i],e[i]):r[i]=e[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var Fu=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ou=new RegExp(Fu.source,"g");function sT(t){return function(){return t}}function lT(t){return function(e){return t(e)+""}}function tg(t,e){var n=Fu.lastIndex=Ou.lastIndex=0,r,i,o,a=-1,s=[],l=[];for(t=t+"",e=e+"";(r=Fu.exec(t))&&(i=Ou.exec(e));)(o=i.index)>n&&(o=e.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:De(r,i)})),n=Ou.lastIndex;return n<e.length&&(o=e.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?lT(l[0].x):sT(e):(e=l.length,function(u){for(var c=0,f;c<e;++c)s[(f=l[c]).i]=f.x(u);return s.join("")})}function zu(t,e){var n=typeof e,r;return e==null||n==="boolean"?Nu(e):(n==="number"?De:n==="string"?(r=Nn(e))?(e=r,Da):tg:e instanceof Nn?Da:e instanceof Date?oT:rT(e)?nT:Array.isArray(e)?iT:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?aT:De)(t,e)}function uT(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var eg=180/Math.PI,ng={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function rg(t,e,n,r,i,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*eg,skewX:Math.atan(l)*eg,scaleX:a,scaleY:s}}var Ca;function cT(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?ng:rg(e.a,e.b,e.c,e.d,e.e,e.f)}function fT(t){return t==null||(Ca||(Ca=document.createElementNS("http://www.w3.org/2000/svg","g")),Ca.setAttribute("transform",t),!(t=Ca.transform.baseVal.consolidate()))?ng:(t=t.matrix,rg(t.a,t.b,t.c,t.d,t.e,t.f))}function ig(t,e,n,r){function i(u){return u.length?u.pop()+" ":""}function o(u,c,f,h,p,d){if(u!==f||c!==h){var m=p.push("translate(",null,e,null,n);d.push({i:m-4,x:De(u,f)},{i:m-2,x:De(c,h)})}else(f||h)&&p.push("translate("+f+e+h+n)}function a(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:De(u,c)})):c&&f.push(i(f)+"rotate("+c+r)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:De(u,c)}):c&&f.push(i(f)+"skewX("+c+r)}function l(u,c,f,h,p,d){if(u!==f||c!==h){var m=p.push(i(p)+"scale(",null,",",null,")");d.push({i:m-4,x:De(u,f)},{i:m-2,x:De(c,h)})}else(f!==1||h!==1)&&p.push(i(p)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=t(u),c=t(c),o(u.translateX,u.translateY,c.translateX,c.translateY,f,h),a(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(p){for(var d=-1,m=h.length,g;++d<m;)f[(g=h[d]).i]=g.x(p);return f.join("")}}}var hT=ig(cT,"px, ","px)","deg)"),pT=ig(fT,", ",")",")"),Er=0,Xi=0,Wi=0,og=1e3,Ma,Vi,La=0,zn=0,ka=0,Ui=typeof performance=="object"&&performance.now?performance:Date,ag=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Gu(){return zn||(ag(dT),zn=Ui.now()+ka)}function dT(){zn=0}function Ra(){this._call=this._time=this._next=null}Ra.prototype=sg.prototype={constructor:Ra,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Gu():+n)+(e==null?0:+e),!this._next&&Vi!==this&&(Vi?Vi._next=this:Ma=this,Vi=this),this._call=t,this._time=n,Yu()},stop:function(){this._call&&(this._call=null,this._time=1/0,Yu())}};function sg(t,e,n){var r=new Ra;return r.restart(t,e,n),r}function gT(){Gu(),++Er;for(var t=Ma,e;t;)(e=zn-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Er}function lg(){zn=(La=Ui.now())+ka,Er=Xi=0;try{gT()}finally{Er=0,yT(),zn=0}}function mT(){var t=Ui.now(),e=t-La;e>og&&(ka-=e,La=t)}function yT(){for(var t,e=Ma,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Ma=n);Vi=t,Yu(r)}function Yu(t){if(!Er){Xi&&(Xi=clearTimeout(Xi));var e=t-zn;e>24?(t<1/0&&(Xi=setTimeout(lg,t-Ui.now()-ka)),Wi&&(Wi=clearInterval(Wi))):(Wi||(La=Ui.now(),Wi=setInterval(mT,og)),Er=1,ag(lg))}}function ug(t,e,n){var r=new Ra;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var bT=Cd("start","end","cancel","interrupt"),xT=[],cg=0,fg=1,Xu=2,Ea=3,hg=4,Wu=5,Ia=6;function Ba(t,e,n,r,i,o){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;vT(t,n,{name:e,index:r,group:i,on:bT,tween:xT,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:cg})}function Vu(t,e){var n=Ce(t,e);if(n.state>cg)throw new Error("too late; already scheduled");return n}function ze(t,e){var n=Ce(t,e);if(n.state>Ea)throw new Error("too late; already running");return n}function Ce(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function vT(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=sg(o,0,n.time);function o(u){n.state=fg,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var c,f,h,p;if(n.state!==fg)return l();for(c in r)if(p=r[c],p.name===n.name){if(p.state===Ea)return ug(a);p.state===hg?(p.state=Ia,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[c]):+c<e&&(p.state=Ia,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[c])}if(ug(function(){n.state===Ea&&(n.state=hg,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=Xu,n.on.call("start",t,t.__data__,n.index,n.group),n.state===Xu){for(n.state=Ea,i=new Array(h=n.tween.length),c=0,f=-1;c<h;++c)(p=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(i[++f]=p);i.length=f+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=Wu,1),f=-1,h=i.length;++f<h;)i[f].call(t,c);n.state===Wu&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Ia,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function $T(t,e){var n=t.__transition,r,i,o=!0,a;if(n){e=e==null?null:e+"";for(a in n){if((r=n[a]).name!==e){o=!1;continue}i=r.state>Xu&&r.state<Wu,r.state=Ia,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[a]}o&&delete t.__transition}}function _T(t){return this.each(function(){$T(this,t)})}function ST(t,e){var n,r;return function(){var i=ze(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===e){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function wT(t,e,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=ze(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=s;break}l===u&&i.push(s)}o.tween=i}}function TT(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Ce(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===t)return a.value;return null}return this.each((e==null?ST:wT)(n,t,e))}function Uu(t,e,n){var r=t._id;return t.each(function(){var i=ze(this,r);(i.value||(i.value={}))[e]=n.apply(this,arguments)}),function(i){return Ce(i,r).value[e]}}function pg(t,e){var n;return(typeof e=="number"?De:e instanceof Nn?Da:(n=Nn(e))?(e=n,Da):tg)(t,e)}function AT(t){return function(){this.removeAttribute(t)}}function PT(t){return function(){this.removeAttributeNS(t.space,t.local)}}function DT(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttribute(t);return a===i?null:a===r?o:o=e(r=a,n)}}function CT(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===r?o:o=e(r=a,n)}}function MT(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function LT(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function kT(t,e){var n=_a(t),r=n==="transform"?pT:pg;return this.attrTween(t,typeof e=="function"?(n.local?LT:MT)(n,r,Uu(this,"attr."+t,e)):e==null?(n.local?PT:AT)(n):(n.local?CT:DT)(n,r,e))}function RT(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function ET(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function IT(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&ET(t,o)),n}return i._value=e,i}function BT(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&RT(t,o)),n}return i._value=e,i}function NT(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=_a(t);return this.tween(n,(r.local?IT:BT)(r,e))}function FT(t,e){return function(){Vu(this,t).delay=+e.apply(this,arguments)}}function OT(t,e){return e=+e,function(){Vu(this,t).delay=e}}function zT(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?FT:OT)(e,t)):Ce(this.node(),e).delay}function GT(t,e){return function(){ze(this,t).duration=+e.apply(this,arguments)}}function YT(t,e){return e=+e,function(){ze(this,t).duration=e}}function XT(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?GT:YT)(e,t)):Ce(this.node(),e).duration}function WT(t,e){if(typeof e!="function")throw new Error;return function(){ze(this,t).ease=e}}function VT(t){var e=this._id;return arguments.length?this.each(WT(e,t)):Ce(this.node(),e).ease}function UT(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;ze(this,t).ease=n}}function HT(t){if(typeof t!="function")throw new Error;return this.each(UT(this._id,t))}function jT(t){typeof t!="function"&&(t=Ed(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new Je(r,this._parents,this._name,this._id)}function qT(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l=e[s],u=n[s],c=l.length,f=a[s]=new Array(c),h,p=0;p<c;++p)(h=l[p]||u[p])&&(f[p]=h);for(;s<r;++s)a[s]=e[s];return new Je(a,this._parents,this._name,this._id)}function ZT(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function KT(t,e,n){var r,i,o=ZT(e)?Vu:ze;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(e,n),a.on=i}}function QT(t,e){var n=this._id;return arguments.length<2?Ce(this.node(),n).on.on(t):this.each(KT(n,t,e))}function JT(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function tA(){return this.on("end.remove",JT(this._id))}function eA(t){var e=this._name,n=this._id;typeof t!="function"&&(t=ku(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],l=s.length,u=o[a]=new Array(l),c,f,h=0;h<l;++h)(c=s[h])&&(f=t.call(c,c.__data__,h,s))&&("__data__"in c&&(f.__data__=c.__data__),u[h]=f,Ba(u[h],e,n,h,u,Ce(c,n)));return new Je(o,this._parents,e,n)}function nA(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Rd(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l=r[s],u=l.length,c,f=0;f<u;++f)if(c=l[f]){for(var h=t.call(c,c.__data__,f,l),p,d=Ce(c,n),m=0,g=h.length;m<g;++m)(p=h[m])&&Ba(p,e,n,m,h,d);o.push(h),a.push(c)}return new Je(o,a,e,n)}var rA=Oi.prototype.constructor;function iA(){return new rA(this._groups,this._parents)}function oA(t,e){var n,r,i;return function(){var o=kr(this,t),a=(this.style.removeProperty(t),kr(this,t));return o===a?null:o===n&&a===r?i:i=e(n=o,r=a)}}function dg(t){return function(){this.style.removeProperty(t)}}function aA(t,e,n){var r,i=n+"",o;return function(){var a=kr(this,t);return a===i?null:a===r?o:o=e(r=a,n)}}function sA(t,e,n){var r,i,o;return function(){var a=kr(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),kr(this,t))),a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s))}}function lA(t,e){var n,r,i,o="style."+e,a="end."+o,s;return function(){var l=ze(this,t),u=l.on,c=l.value[o]==null?s||(s=dg(e)):void 0;(u!==n||i!==c)&&(r=(n=u).copy()).on(a,i=c),l.on=r}}function uA(t,e,n){var r=(t+="")=="transform"?hT:pg;return e==null?this.styleTween(t,oA(t,r)).on("end.style."+t,dg(t)):typeof e=="function"?this.styleTween(t,sA(t,r,Uu(this,"style."+t,e))).each(lA(this._id,t)):this.styleTween(t,aA(t,r,e),n).on("end.style."+t,null)}function cA(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function fA(t,e,n){var r,i;function o(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&cA(t,a,n)),r}return o._value=e,o}function hA(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,fA(t,e,n??""))}function pA(t){return function(){this.textContent=t}}function dA(t){return function(){var e=t(this);this.textContent=e??""}}function gA(t){return this.tween("text",typeof t=="function"?dA(Uu(this,"text",t)):pA(t==null?"":t+""))}function mA(t){return function(e){this.textContent=t.call(this,e)}}function yA(t){var e,n;function r(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&mA(i)),e}return r._value=t,r}function bA(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,yA(t))}function xA(){for(var t=this._name,e=this._id,n=gg(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)if(l=a[u]){var c=Ce(l,e);Ba(l,t,n,u,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Je(r,this._parents,t,n)}function vA(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){--i===0&&o()}};n.each(function(){var u=ze(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),i===0&&o()})}var $A=0;function Je(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function gg(){return++$A}var tn=Oi.prototype;Je.prototype={constructor:Je,select:eA,selectAll:nA,selectChild:tn.selectChild,selectChildren:tn.selectChildren,filter:jT,merge:qT,selection:iA,transition:xA,call:tn.call,nodes:tn.nodes,node:tn.node,size:tn.size,empty:tn.empty,each:tn.each,on:QT,attr:kT,attrTween:NT,style:uA,styleTween:hA,text:gA,textTween:bA,remove:tA,tween:TT,delay:zT,duration:XT,ease:VT,easeVarying:HT,end:vA,[Symbol.iterator]:tn[Symbol.iterator]};function _A(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var SA={time:null,delay:0,duration:250,ease:_A};function wA(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function TA(t){var e,n;t instanceof Je?(e=t._id,t=t._name):(e=gg(),(n=SA).time=Gu(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&Ba(l,t,e,u,a,n||wA(l,e));return new Je(r,this._parents,t,e)}Oi.prototype.interrupt=_T,Oi.prototype.transition=TA;function AA(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Na(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Ir(t){return t=Na(Math.abs(t)),t?t[1]:NaN}function PA(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),o.push(n.substring(i-=s,i+s)),!((l+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}function DA(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var CA=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Fa(t){if(!(e=CA.exec(t)))throw new Error("invalid format: "+t);var e;return new Hu({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Fa.prototype=Hu.prototype;function Hu(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Hu.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function MA(t){t:for(var e=t.length,n=1,r=-1,i;n<e;++n)switch(t[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var mg;function LA(t,e){var n=Na(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(mg=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Na(t,Math.max(0,e+o-1))[0]}function yg(t,e){var n=Na(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const bg={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:AA,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>yg(t*100,e),r:yg,s:LA,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function xg(t){return t}var vg=Array.prototype.map,$g=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function kA(t){var e=t.grouping===void 0||t.thousands===void 0?xg:PA(vg.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?xg:DA(vg.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(f){f=Fa(f);var h=f.fill,p=f.align,d=f.sign,m=f.symbol,g=f.zero,y=f.width,b=f.comma,v=f.precision,x=f.trim,_=f.type;_==="n"?(b=!0,_="g"):bg[_]||(v===void 0&&(v=12),x=!0,_="g"),(g||h==="0"&&p==="=")&&(g=!0,h="0",p="=");var T=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",S=m==="$"?r:/[%p]/.test(_)?a:"",A=bg[_],P=/[defgprs%]/.test(_);v=v===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v));function B($){var k=T,D=S,w,M,C;if(_==="c")D=A($)+D,$="";else{$=+$;var X=$<0||1/$<0;if($=isNaN($)?l:A(Math.abs($),v),x&&($=MA($)),X&&+$==0&&d!=="+"&&(X=!1),k=(X?d==="("?d:s:d==="-"||d==="("?"":d)+k,D=(_==="s"?$g[8+mg/3]:"")+D+(X&&d==="("?")":""),P){for(w=-1,M=$.length;++w<M;)if(C=$.charCodeAt(w),48>C||C>57){D=(C===46?i+$.slice(w+1):$.slice(w))+D,$=$.slice(0,w);break}}}b&&!g&&($=e($,1/0));var O=k.length+$.length+D.length,I=O<y?new Array(y-O+1).join(h):"";switch(b&&g&&($=e(I+$,I.length?y-D.length:1/0),I=""),p){case"<":$=k+$+D+I;break;case"=":$=k+I+$+D;break;case"^":$=I.slice(0,O=I.length>>1)+k+$+D+I.slice(O);break;default:$=I+k+$+D;break}return o($)}return B.toString=function(){return f+""},B}function c(f,h){var p=u((f=Fa(f),f.type="f",f)),d=Math.max(-8,Math.min(8,Math.floor(Ir(h)/3)))*3,m=Math.pow(10,-d),g=$g[8+d/3];return function(y){return p(m*y)+g}}return{format:u,formatPrefix:c}}var Oa,_g,Sg;RA({thousands:",",grouping:[3],currency:["$",""]});function RA(t){return Oa=kA(t),_g=Oa.format,Sg=Oa.formatPrefix,Oa}function EA(t){return Math.max(0,-Ir(Math.abs(t)))}function IA(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ir(e)/3)))*3-Ir(Math.abs(t)))}function BA(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Ir(e)-Ir(t))+1}function wg(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function NA(t){return function(){return t}}function FA(t){return+t}var Tg=[0,1];function Br(t){return t}function ju(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:NA(isNaN(e)?NaN:.5)}function OA(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function zA(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i<r?(r=ju(i,r),o=n(a,o)):(r=ju(r,i),o=n(o,a)),function(s){return o(r(s))}}function GA(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)i[a]=ju(t[a],t[a+1]),o[a]=n(e[a],e[a+1]);return function(s){var l=Dd(t,s,1,r)-1;return o[l](i[l](s))}}function YA(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function XA(){var t=Tg,e=Tg,n=zu,r,i,o,a=Br,s,l,u;function c(){var h=Math.min(t.length,e.length);return a!==Br&&(a=OA(t[0],t[h-1])),s=h>2?GA:zA,l=u=null,f}function f(h){return h==null||isNaN(h=+h)?o:(l||(l=s(t.map(r),e,n)))(r(a(h)))}return f.invert=function(h){return a(i((u||(u=s(e,t.map(r),De)))(h)))},f.domain=function(h){return arguments.length?(t=Array.from(h,FA),c()):t.slice()},f.range=function(h){return arguments.length?(e=Array.from(h),c()):e.slice()},f.rangeRound=function(h){return e=Array.from(h),n=uT,c()},f.clamp=function(h){return arguments.length?(a=h?!0:Br,c()):a!==Br},f.interpolate=function(h){return arguments.length?(n=h,c()):n},f.unknown=function(h){return arguments.length?(o=h,f):o},function(h,p){return r=h,i=p,c()}}function WA(){return XA()(Br,Br)}function VA(t,e,n,r){var i=iS(t,e,n),o;switch(r=Fa(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(o=IA(i,a))&&(r.precision=o),Sg(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=BA(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=EA(i))&&(r.precision=o-(r.type==="%")*2);break}}return _g(r)}function Ag(t){var e=t.domain;return t.ticks=function(n){var r=e();return rS(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return VA(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,o=r.length-1,a=r[i],s=r[o],l,u,c=10;for(s<a&&(u=a,a=s,s=u,u=i,i=o,o=u);c-- >0;){if(u=Mu(a,s,n),u===l)return r[i]=a,r[o]=s,e(r);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function Hi(){var t=WA();return t.copy=function(){return YA(t,Hi())},wg.apply(t,arguments),Ag(t)}function Pg(){var t=0,e=1,n=1,r=[.5],i=[0,1],o;function a(l){return l!=null&&l<=l?i[Dd(r,l,0,n)]:o}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return a}return a.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},a.range=function(l){return arguments.length?(n=(i=Array.from(l)).length-1,s()):i.slice()},a.invertExtent=function(l){var u=i.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},a.unknown=function(l){return arguments.length&&(o=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return Pg().domain([t,e]).range(i).unknown(o)},wg.apply(Ag(a),arguments)}function ji(t,e,n){this.k=t,this.x=e,this.y=n}ji.prototype={constructor:ji,scale:function(t){return t===1?this:new ji(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ji(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ji.prototype;function UA(t){const e=[0,0];return t.length?t.reduce((n,r)=>[r<n[0]?r:n[0],r>n[1]?r:n[1]],[t[0],t[0]]):e}function HA(t){let e=Math.floor(Math.sqrt(t)),n=Math.ceil(t/e);for(;e*n<t;)n++;return{rowAmount:e,columnAmount:n}}function Dg(t,e,n){const{gap:r}=e,{rowAmount:i,columnAmount:o}=e.rowAmount*e.columnAmount>=n?e:HA(n);return new Array(n).fill(null).map((a,s)=>{const l=s%o,u=Math.floor(s/o),c=(t.width-r*(o-1))/o,f=(t.height-r*(i-1))/i,h=l*c+l*r,p=u*f+u*r,d=[h,p],m=[c/t.width,f/t.height];return{slotIndex:s,rowIndex:u,columnIndex:l,translate:d,scale:m}})}var qu=function(t,e){return qu=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},qu(t,e)};function Ge(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");qu(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function jA(t,e,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(f){a(f)}}function l(c){try{u(r.throw(c))}catch(f){a(f)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(t,[])).next())})}function Cg(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){n.label=u[1];break}if(u[0]===6&&n.label<o[1]){n.label=o[1],o=u;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(u);break}o[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],i=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Nr(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Fr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function Or(t,e,n){if(arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}function zr(t){return this instanceof zr?(this.v=t,this):new zr(t)}function qA(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(p){return function(d){return Promise.resolve(d).then(p,f)}}function s(p,d){r[p]&&(i[p]=function(m){return new Promise(function(g,y){o.push([p,m,g,y])>1||l(p,m)})},d&&(i[p]=d(i[p])))}function l(p,d){try{u(r[p](d))}catch(m){h(o[0][3],m)}}function u(p){p.value instanceof zr?Promise.resolve(p.value.v).then(c,f):h(o[0][2],p)}function c(p){l("next",p)}function f(p){l("throw",p)}function h(p,d){p(d),o.shift(),o.length&&l(o[0][0],o[0][1])}}function ZA(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Nr=="function"?Nr(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(a){return new Promise(function(s,l){a=t[o](a),i(s,l,a.done,a.value)})}}function i(o,a,s,l){Promise.resolve(l).then(function(u){o({value:u,done:s})},a)}}function Mt(t){return typeof t=="function"}function Zu(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Ku=Zu(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
45
+ `):"",this.name="UnsubscriptionError",this.errors=n}});function _a(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var Vi=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=Lr(a),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else a.remove(this);var c=this.initialTeardown;if(xt(c))try{c()}catch(g){o=g instanceof Pu?g.errors:[g]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var f=Lr(h),p=f.next();!p.done;p=f.next()){var d=p.value;try{_d(d)}catch(g){o=o??[],g instanceof Pu?o=kr(kr([],Wn(o)),Wn(g.errors)):o.push(g)}}}catch(g){r={error:g}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}}if(o)throw new Pu(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)_d(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&_a(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&_a(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),vd=Vi.EMPTY;function Sd(t){return t instanceof Vi||t&&"closed"in t&&xt(t.remove)&&xt(t.add)&&xt(t.unsubscribe)}function _d(t){xt(t)?t():t.unsubscribe()}var wd={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Td={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,kr([t,e],Wn(n)))},clearTimeout:function(t){var e=Td.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Ad(t){Td.setTimeout(function(){throw t})}function Cu(){}function wa(t){t()}var Du=function(t){Ge(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,Sd(n)&&n.add(r)):r.destination=$S,r}return e.create=function(n,r,i){return new Ui(n,r,i)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Vi),yS=Function.prototype.bind;function Mu(t,e){return yS.call(t,e)}var bS=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){Ta(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){Ta(r)}else Ta(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){Ta(n)}},t}(),Ui=function(t){Ge(e,t);function e(n,r,i){var o=t.call(this)||this,a;if(xt(n)||!n)a={next:n??void 0,error:r??void 0,complete:i??void 0};else{var s;o&&wd.useDeprecatedNextContext?(s=Object.create(n),s.unsubscribe=function(){return o.unsubscribe()},a={next:n.next&&Mu(n.next,s),error:n.error&&Mu(n.error,s),complete:n.complete&&Mu(n.complete,s)}):a=n}return o.destination=new bS(a),o}return e}(Du);function Ta(t){Ad(t)}function xS(t){throw t}var $S={closed:!0,next:Cu,error:xS,complete:Cu},Lu=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Er(t){return t}function vS(t){return t.length===0?Er:t.length===1?t[0]:function(n){return t.reduce(function(r,i){return i(r)},n)}}var gt=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var i=this,o=_S(e)?e:new Ui(e,n,r);return wa(function(){var a=i,s=a.operator,l=a.source;o.add(s?s.call(o,l):l?i._subscribe(o):i._trySubscribe(o))}),o},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=Pd(n),new n(function(i,o){var a=new Ui({next:function(s){try{e(s)}catch(l){o(l),a.unsubscribe()}},error:o,complete:i});r.subscribe(a)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[Lu]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return vS(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=Pd(e),new e(function(r,i){var o;n.subscribe(function(a){return o=a},function(a){return i(a)},function(){return r(o)})})},t.create=function(e){return new t(e)},t}();function Pd(t){var e;return(e=t??wd.Promise)!==null&&e!==void 0?e:Promise}function SS(t){return t&&xt(t.next)&&xt(t.error)&&xt(t.complete)}function _S(t){return t&&t instanceof Du||SS(t)&&Sd(t)}function wS(t){return xt(t==null?void 0:t.lift)}function pe(t){return function(e){if(wS(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function ae(t,e,n,r,i){return new TS(t,e,n,r,i)}var TS=function(t){Ge(e,t);function e(n,r,i,o,a,s){var l=t.call(this,n)||this;return l.onFinalize=a,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=o?function(u){try{o(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=i?function(){try{i()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(Du),AS=Au(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Q=function(t){Ge(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Cd(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new AS},e.prototype.next=function(n){var r=this;wa(function(){var i,o;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var a=Lr(r.currentObservers),s=a.next();!s.done;s=a.next()){var l=s.value;l.next(n)}}catch(u){i={error:u}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}}})},e.prototype.error=function(n){var r=this;wa(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var i=r.observers;i.length;)i.shift().error(n)}})},e.prototype.complete=function(){var n=this;wa(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,o=i.hasError,a=i.isStopped,s=i.observers;return o||a?vd:(this.currentObservers=null,s.push(n),new Vi(function(){r.currentObservers=null,_a(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,o=r.thrownError,a=r.isStopped;i?n.error(o):a&&n.complete()},e.prototype.asObservable=function(){var n=new gt;return n.source=this,n},e.create=function(n,r){return new Cd(n,r)},e}(gt),Cd=function(t){Ge(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:vd},e}(Q),ku=function(t){Ge(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,i=n.thrownError,o=n._value;if(r)throw i;return this._throwIfClosed(),o},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Q),Ru={now:function(){return(Ru.delegate||Date).now()},delegate:void 0},PS=function(t){Ge(e,t);function e(n,r,i){n===void 0&&(n=1/0),r===void 0&&(r=1/0),i===void 0&&(i=Ru);var o=t.call(this)||this;return o._bufferSize=n,o._windowTime=r,o._timestampProvider=i,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=r===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,r),o}return e.prototype.next=function(n){var r=this,i=r.isStopped,o=r._buffer,a=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;i||(o.push(n),!a&&o.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),i=this,o=i._infiniteTimeWindow,a=i._buffer,s=a.slice(),l=0;l<s.length&&!n.closed;l+=o?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,i=n._timestampProvider,o=n._buffer,a=n._infiniteTimeWindow,s=(a?1:2)*r;if(r<1/0&&s<o.length&&o.splice(0,o.length-s),!a){for(var l=i.now(),u=0,c=1;c<o.length&&o[c]<=l;c+=2)u=c;u&&o.splice(0,u+1)}},e}(Q),CS=function(t){Ge(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(Vi),Eu={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,kr([t,e],Wn(n)))},clearInterval:function(t){var e=Eu.delegate;return((e==null?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0},DS=function(t){Ge(e,t);function e(n,r){var i=t.call(this,n,r)||this;return i.scheduler=n,i.work=r,i.pending=!1,i}return e.prototype.schedule=function(n,r){var i;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,r)),this.pending=!0,this.delay=r,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(a,this.id,r),this},e.prototype.requestAsyncId=function(n,r,i){return i===void 0&&(i=0),Eu.setInterval(n.flush.bind(n,this),i)},e.prototype.recycleAsyncId=function(n,r,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return r;r!=null&&Eu.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(n,r);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var i=!1,o;try{this.work(n)}catch(a){i=!0,o=a||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,i=n.scheduler,o=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,_a(o,this),r!=null&&(this.id=this.recycleAsyncId(i,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(CS),Dd=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=Ru.now,t}(),MS=function(t){Ge(e,t);function e(n,r){r===void 0&&(r=Dd.now);var i=t.call(this,n,r)||this;return i.actions=[],i._active=!1,i}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,i){for(;n=r.shift();)n.unsubscribe();throw i}},e}(Dd),LS=new MS(DS),Aa=new gt(function(t){return t.complete()});function kS(t){return t&&xt(t.schedule)}function Iu(t){return t[t.length-1]}function RS(t){return xt(Iu(t))?t.pop():void 0}function Bu(t){return kS(Iu(t))?t.pop():void 0}function ES(t,e){return typeof Iu(t)=="number"?t.pop():e}var Nu=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Md(t){return xt(t==null?void 0:t.then)}function Ld(t){return xt(t[Lu])}function kd(t){return Symbol.asyncIterator&&xt(t==null?void 0:t[Symbol.asyncIterator])}function Rd(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function IS(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Ed=IS();function Id(t){return xt(t==null?void 0:t[Ed])}function Bd(t){return gS(this,arguments,function(){var n,r,i,o;return $d(this,function(a){switch(a.label){case 0:n=t.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,Rr(n.read())];case 3:return r=a.sent(),i=r.value,o=r.done,o?[4,Rr(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,Rr(i)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function Nd(t){return xt(t==null?void 0:t.getReader)}function ve(t){if(t instanceof gt)return t;if(t!=null){if(Ld(t))return BS(t);if(Nu(t))return NS(t);if(Md(t))return FS(t);if(kd(t))return Fd(t);if(Id(t))return zS(t);if(Nd(t))return OS(t)}throw Rd(t)}function BS(t){return new gt(function(e){var n=t[Lu]();if(xt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function NS(t){return new gt(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function FS(t){return new gt(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,Ad)})}function zS(t){return new gt(function(e){var n,r;try{for(var i=Lr(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(s){n={error:s}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()})}function Fd(t){return new gt(function(e){GS(t,e).catch(function(n){return e.error(n)})})}function OS(t){return Fd(Bd(t))}function GS(t,e){var n,r,i,o;return dS(this,void 0,void 0,function(){var a,s;return $d(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=mS(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(a=r.value,e.next(a),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),i={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function wn(t,e,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var o=e.schedule(function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(o),!i)return o}function zd(t,e){return e===void 0&&(e=0),pe(function(n,r){n.subscribe(ae(r,function(i){return wn(r,t,function(){return r.next(i)},e)},function(){return wn(r,t,function(){return r.complete()},e)},function(i){return wn(r,t,function(){return r.error(i)},e)}))})}function Od(t,e){return e===void 0&&(e=0),pe(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function WS(t,e){return ve(t).pipe(Od(e),zd(e))}function YS(t,e){return ve(t).pipe(Od(e),zd(e))}function VS(t,e){return new gt(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function US(t,e){return new gt(function(n){var r;return wn(n,e,function(){r=t[Ed](),wn(n,e,function(){var i,o,a;try{i=r.next(),o=i.value,a=i.done}catch(s){n.error(s);return}a?n.complete():n.next(o)},0,!0)}),function(){return xt(r==null?void 0:r.return)&&r.return()}})}function Gd(t,e){if(!t)throw new Error("Iterable cannot be null");return new gt(function(n){wn(n,e,function(){var r=t[Symbol.asyncIterator]();wn(n,e,function(){r.next().then(function(i){i.done?n.complete():n.next(i.value)})},0,!0)})})}function XS(t,e){return Gd(Bd(t),e)}function jS(t,e){if(t!=null){if(Ld(t))return WS(t,e);if(Nu(t))return VS(t,e);if(Md(t))return YS(t,e);if(kd(t))return Gd(t,e);if(Id(t))return US(t,e);if(Nd(t))return XS(t,e)}throw Rd(t)}function Pa(t,e){return e?jS(t,e):ve(t)}function We(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Bu(t);return Pa(t,n)}var Wd=Au(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function L(t,e){return pe(function(n,r){var i=0;n.subscribe(ae(r,function(o){r.next(t.call(e,o,i++))}))})}var HS=Array.isArray;function qS(t,e){return HS(e)?t.apply(void 0,kr([],Wn(e))):t(e)}function Yd(t){return L(function(e){return qS(t,e)})}var ZS=Array.isArray,KS=Object.getPrototypeOf,QS=Object.prototype,JS=Object.keys;function t_(t){if(t.length===1){var e=t[0];if(ZS(e))return{args:e,keys:null};if(e_(e)){var n=JS(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function e_(t){return t&&typeof t=="object"&&KS(t)===QS}function n_(t,e){return t.reduce(function(n,r,i){return n[r]=e[i],n},{})}function O(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Bu(t),r=RS(t),i=t_(t),o=i.args,a=i.keys;if(o.length===0)return Pa([],n);var s=new gt(r_(o,n,a?function(l){return n_(a,l)}:Er));return r?s.pipe(Yd(r)):s}function r_(t,e,n){return n===void 0&&(n=Er),function(r){Vd(e,function(){for(var i=t.length,o=new Array(i),a=i,s=i,l=function(c){Vd(e,function(){var h=Pa(t[c],e),f=!1;h.subscribe(ae(r,function(p){o[c]=p,f||(f=!0,s--),s||r.next(n(o.slice()))},function(){--a||r.complete()}))},r)},u=0;u<i;u++)l(u)},r)}}function Vd(t,e,n){t?wn(n,t,e):e()}function i_(t,e,n,r,i,o,a,s){var l=[],u=0,c=0,h=!1,f=function(){h&&!l.length&&!u&&e.complete()},p=function(g){return u<r?d(g):l.push(g)},d=function(g){u++;var m=!1;ve(n(g,c++)).subscribe(ae(e,function(b){e.next(b)},function(){m=!0},void 0,function(){if(m)try{u--;for(var b=function(){var y=l.shift();a||d(y)};l.length&&u<r;)b();f()}catch(y){e.error(y)}}))};return t.subscribe(ae(e,p,function(){h=!0,f()})),function(){}}function Fu(t,e,n){return n===void 0&&(n=1/0),xt(e)?Fu(function(r,i){return L(function(o,a){return e(r,o,i,a)})(ve(t(r,i)))},n):(typeof e=="number"&&(n=e),pe(function(r,i){return i_(r,i,t,n)}))}function o_(t){return t===void 0&&(t=1/0),Fu(Er,t)}function a_(t){return new gt(function(e){ve(t()).subscribe(e)})}var s_=["addListener","removeListener"],l_=["addEventListener","removeEventListener"],u_=["on","off"];function zu(t,e,n,r){if(xt(n)&&(r=n,n=void 0),r)return zu(t,e,n).pipe(Yd(r));var i=Wn(h_(t)?l_.map(function(s){return function(l){return t[s](e,l,n)}}):c_(t)?s_.map(Ud(t,e)):f_(t)?u_.map(Ud(t,e)):[],2),o=i[0],a=i[1];if(!o&&Nu(t))return Fu(function(s){return zu(s,e,n)})(ve(t));if(!o)throw new TypeError("Invalid event target");return new gt(function(s){var l=function(){for(var u=[],c=0;c<arguments.length;c++)u[c]=arguments[c];return s.next(1<u.length?u:u[0])};return o(l),function(){return a(l)}})}function Ud(t,e){return function(n){return function(r){return t[n](e,r)}}}function c_(t){return xt(t.addListener)&&xt(t.removeListener)}function f_(t){return xt(t.on)&&xt(t.off)}function h_(t){return xt(t.addEventListener)&&xt(t.removeEventListener)}function Yn(t,e,n){return a_(function(){return t()?e:n})}function Ou(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Bu(t),r=ES(t,1/0),i=t;return i.length?i.length===1?ve(i[0]):o_(r)(Pa(i,n)):Aa}function Ir(t,e){return pe(function(n,r){var i=0;n.subscribe(ae(r,function(o){return t.call(e,o,i++)&&r.next(o)}))})}function p_(t,e){return e===void 0&&(e=LS),pe(function(n,r){var i=null,o=null,a=null,s=function(){if(i){i.unsubscribe(),i=null;var u=o;o=null,r.next(u)}};function l(){var u=a+t,c=e.now();if(c<u){i=this.schedule(void 0,u-c),r.add(i);return}s()}n.subscribe(ae(r,function(u){o=u,a=e.now(),i||(i=e.schedule(l,t),r.add(i))},function(){s(),r.complete()},void 0,function(){o=i=null}))})}function d_(t){return pe(function(e,n){var r=!1;e.subscribe(ae(n,function(i){r=!0,n.next(i)},function(){r||n.next(t),n.complete()}))})}function g_(t){return t<=0?function(){return Aa}:pe(function(e,n){var r=0;e.subscribe(ae(n,function(i){++r<=t&&(n.next(i),t<=r&&n.complete())}))})}function K(t,e){return e===void 0&&(e=Er),t=t??m_,pe(function(n,r){var i,o=!0;n.subscribe(ae(r,function(a){var s=e(a);(o||!t(i,s))&&(o=!1,i=s,r.next(a))}))})}function m_(t,e){return t===e}function y_(t){return t===void 0&&(t=b_),pe(function(e,n){var r=!1;e.subscribe(ae(n,function(i){r=!0,n.next(i)},function(){return r?n.complete():n.error(t())}))})}function b_(){return new Wd}function Xi(t,e){var n=arguments.length>=2;return function(r){return r.pipe(Er,g_(1),n?d_(e):y_(function(){return new Wd}))}}function x_(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Q}:e,r=t.resetOnError,i=r===void 0?!0:r,o=t.resetOnComplete,a=o===void 0?!0:o,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,h,f,p=0,d=!1,g=!1,m=function(){h==null||h.unsubscribe(),h=void 0},b=function(){m(),c=f=void 0,d=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return pe(function(x,$){p++,!g&&!d&&m();var S=f=f??n();$.add(function(){p--,p===0&&!g&&!d&&(h=Gu(y,l))}),S.subscribe($),!c&&p>0&&(c=new Ui({next:function(A){return S.next(A)},error:function(A){g=!0,m(),h=Gu(b,i,A),S.error(A)},complete:function(){d=!0,m(),h=Gu(b,a),S.complete()}}),ve(x).subscribe(c))})(u)}}function Gu(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var i=new Ui({next:function(){i.unsubscribe(),t()}});return ve(e.apply(void 0,kr([],Wn(n)))).subscribe(i)}}function st(t,e,n){var r,i=!1;return r=t,x_({connector:function(){return new PS(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:i})}function z(t,e){return pe(function(n,r){var i=null,o=0,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(ae(r,function(l){i==null||i.unsubscribe();var u=0,c=o++;ve(t(l,c)).subscribe(i=ae(r,function(h){return r.next(e?e(l,h,c,u++):h)},function(){i=null,s()}))},function(){a=!0,s()}))})}function D(t){return pe(function(e,n){ve(t).subscribe(ae(n,function(){return n.complete()},Cu)),!n.closed&&e.subscribe(n)})}const de={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},$_={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},v_={gap:120,rowAmount:1,columnAmount:1},S_={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...de},groupAxis:{...$_},separateSeries:!1},__={type:"grid",visibleFilter:(t,e)=>!0,...S_,container:{...v_}};__.visibleFilter.toString=()=>"(datum, context) => true";function Br(t){return Object.prototype.toString.call(t)==="[object Object]"}function w_(t){return Object.prototype.toString.call(t)==="[object Function]"}function Wu(t,e){if(Br(t)===!1||Br(e)===!1)return Object.assign({},e);const n=(r,i)=>{const o=Object.assign({},i);for(let a of Object.keys(r)){if(!(a in i))continue;let s;Br(r[a])&&Br(i[a])?(s=n(r[a],i[a]),o[a]=s):o[a]=r[a]}return o};return n(t,e)}function T_(t,e){const n={string:i=>typeof i=="string",number:i=>typeof i=="number",boolean:i=>typeof i=="boolean",object:i=>Br(i),"object[]":i=>Array.isArray(i)&&i.every(o=>Br(o)),"string[]":i=>Array.isArray(i)&&i.every(o=>typeof o=="string"),"number[]":i=>Array.isArray(i)&&i.every(o=>typeof o=="number"),Function:i=>w_(i),null:i=>i===null,undefined:i=>i===void 0},r={ColorType:i=>i==="none"||i==="label"||i==="primary"||i==="secondary"||i==="labelContrast"||i==="background"};return Object.keys(t).find(i=>{if(e[i]){const o=e[i],a=t[i];if(o.toBeTypes){if(o.toBeTypes.some(s=>n[s](a))===!1)return!0}else if(o.toBe){const{toBe:s,test:l}=o;if(l(a)===!1)return!0}else if(o.toBeOption){const s=o.toBeOption;if(r[s](a)===!1)return!0}}return!1})}function A_(t,e){const n=T_(t,e);if(n){const r=e[n],i=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:i}}else return{status:"success",columnName:"",expectToBe:""}}function Ca(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function P_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Xd(t){let e,n,r;t.length!==2?(e=Ca,n=(s,l)=>Ca(t(s),l),r=(s,l)=>t(s)-l):(e=t===Ca||t===P_?t:C_,n=t,r=t);function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const h=u+c>>>1;n(s[h],l)<0?u=h+1:c=h}while(u<c)}return u}function o(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const h=u+c>>>1;n(s[h],l)<=0?u=h+1:c=h}while(u<c)}return u}function a(s,l,u=0,c=s.length){const h=i(s,l,u,c-1);return h>u&&r(s[h-1],l)>-r(s[h],l)?h-1:h}return{left:i,center:a,right:o}}function C_(){return 0}function D_(t){return t===null?NaN:+t}const M_=Xd(Ca),jd=M_.right;Xd(D_).center;class Hd extends Map{constructor(e,n=R_){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(qd(this,e))}has(e){return super.has(qd(this,e))}set(e,n){return super.set(L_(this,e),n)}delete(e){return super.delete(k_(this,e))}}function qd({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function L_({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function k_({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function R_(t){return t!==null&&typeof t=="object"?t.valueOf():t}const E_=Math.sqrt(50),I_=Math.sqrt(10),B_=Math.sqrt(2);function Da(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=E_?10:o>=I_?5:o>=B_?2:1;let s,l,u;return i<0?(u=Math.pow(10,-i)/a,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,i)*a,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?Da(t,e,n*2):[s,l,u]}function N_(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[i,o,a]=r?Da(e,t,n):Da(t,e,n);if(!(o>=i))return[];const s=o-i+1,l=new Array(s);if(r)if(a<0)for(let u=0;u<s;++u)l[u]=(o-u)/-a;else for(let u=0;u<s;++u)l[u]=(o-u)*a;else if(a<0)for(let u=0;u<s;++u)l[u]=(i+u)/-a;else for(let u=0;u<s;++u)l[u]=(i+u)*a;return l}function Yu(t,e,n){return e=+e,t=+t,n=+n,Da(t,e,n)[2]}function F_(t,e,n){e=+e,t=+t,n=+n;const r=e<t,i=r?Yu(e,t,n):Yu(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}function z_(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,o=new Array(i);++r<i;)o[r]=t+r*n;return o}var O_={value:()=>{}};function Zd(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Ma(n)}function Ma(t){this._=t}function G_(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ma.prototype=Zd.prototype={constructor:Ma,on:function(t,e){var n=this._,r=G_(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(t=r[o]).type)&&(i=W_(n[i],t.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++o<a;)if(i=(t=r[o]).type)n[i]=Kd(n[i],t.name,e);else if(e==null)for(i in n)n[i]=Kd(n[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Ma(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};function W_(t,e){for(var n=0,r=t.length,i;n<r;++n)if((i=t[n]).name===e)return i.value}function Kd(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=O_,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Vu="http://www.w3.org/1999/xhtml";const Qd={svg:"http://www.w3.org/2000/svg",xhtml:Vu,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function La(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Qd.hasOwnProperty(e)?{space:Qd[e],local:t}:t}function Y_(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Vu&&e.documentElement.namespaceURI===Vu?e.createElement(t):e.createElementNS(n,t)}}function V_(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Jd(t){var e=La(t);return(e.local?V_:Y_)(e)}function U_(){}function Uu(t){return t==null?U_:function(){return this.querySelector(t)}}function X_(t){typeof t!="function"&&(t=Uu(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=new Array(a),l,u,c=0;c<a;++c)(l=o[c])&&(u=t.call(l,l.__data__,c,o))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new Ce(r,this._parents)}function j_(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function H_(){return[]}function tg(t){return t==null?H_:function(){return this.querySelectorAll(t)}}function q_(t){return function(){return j_(t.apply(this,arguments))}}function Z_(t){typeof t=="function"?t=q_(t):t=tg(t);for(var e=this._groups,n=e.length,r=[],i=[],o=0;o<n;++o)for(var a=e[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&(r.push(t.call(l,l.__data__,u,a)),i.push(l));return new Ce(r,i)}function eg(t){return function(){return this.matches(t)}}function ng(t){return function(e){return e.matches(t)}}var K_=Array.prototype.find;function Q_(t){return function(){return K_.call(this.children,t)}}function J_(){return this.firstElementChild}function tw(t){return this.select(t==null?J_:Q_(typeof t=="function"?t:ng(t)))}var ew=Array.prototype.filter;function nw(){return Array.from(this.children)}function rw(t){return function(){return ew.call(this.children,t)}}function iw(t){return this.selectAll(t==null?nw:rw(typeof t=="function"?t:ng(t)))}function ow(t){typeof t!="function"&&(t=eg(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new Ce(r,this._parents)}function rg(t){return new Array(t.length)}function aw(){return new Ce(this._enter||this._groups.map(rg),this._parents)}function ka(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ka.prototype={constructor:ka,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function sw(t){return function(){return t}}function lw(t,e,n,r,i,o){for(var a=0,s,l=e.length,u=o.length;a<u;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new ka(t,o[a]);for(;a<l;++a)(s=e[a])&&(i[a]=s)}function uw(t,e,n,r,i,o,a){var s,l,u=new Map,c=e.length,h=o.length,f=new Array(c),p;for(s=0;s<c;++s)(l=e[s])&&(f[s]=p=a.call(l,l.__data__,s,e)+"",u.has(p)?i[s]=l:u.set(p,l));for(s=0;s<h;++s)p=a.call(t,o[s],s,o)+"",(l=u.get(p))?(r[s]=l,l.__data__=o[s],u.delete(p)):n[s]=new ka(t,o[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(f[s])===l&&(i[s]=l)}function cw(t){return t.__data__}function fw(t,e){if(!arguments.length)return Array.from(this,cw);var n=e?uw:lw,r=this._parents,i=this._groups;typeof t!="function"&&(t=sw(t));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),u=0;u<o;++u){var c=r[u],h=i[u],f=h.length,p=hw(t.call(c,c&&c.__data__,u,r)),d=p.length,g=s[u]=new Array(d),m=a[u]=new Array(d),b=l[u]=new Array(f);n(c,h,g,m,b,p,e);for(var y=0,x=0,$,S;y<d;++y)if($=g[y]){for(y>=x&&(x=y+1);!(S=m[x])&&++x<d;);$._next=S||null}}return a=new Ce(a,r),a._enter=s,a._exit=l,a}function hw(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function pw(){return new Ce(this._exit||this._groups.map(rg),this._parents)}function dw(t,e,n){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function gw(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var u=n[l],c=r[l],h=u.length,f=s[l]=new Array(h),p,d=0;d<h;++d)(p=u[d]||c[d])&&(f[d]=p);for(;l<i;++l)s[l]=n[l];return new Ce(s,this._parents)}function mw(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function yw(t){t||(t=bw);function e(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,l=i[o]=new Array(s),u,c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new Ce(i,this._parents).order()}function bw(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function xw(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function $w(){return Array.from(this)}function vw(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function Sw(){let t=0;for(const e of this)++t;return t}function _w(){return!this.node()}function ww(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i=e[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&t.call(s,s.__data__,o,i);return this}function Tw(t){return function(){this.removeAttribute(t)}}function Aw(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Pw(t,e){return function(){this.setAttribute(t,e)}}function Cw(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Dw(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function Mw(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Lw(t,e){var n=La(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?Aw:Tw:typeof e=="function"?n.local?Mw:Dw:n.local?Cw:Pw)(n,e))}function ig(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function kw(t){return function(){this.style.removeProperty(t)}}function Rw(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Ew(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function Iw(t,e,n){return arguments.length>1?this.each((e==null?kw:typeof e=="function"?Ew:Rw)(t,e,n??"")):Nr(this.node(),t)}function Nr(t,e){return t.style.getPropertyValue(e)||ig(t).getComputedStyle(t,null).getPropertyValue(e)}function Bw(t){return function(){delete this[t]}}function Nw(t,e){return function(){this[t]=e}}function Fw(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function zw(t,e){return arguments.length>1?this.each((e==null?Bw:typeof e=="function"?Fw:Nw)(t,e)):this.node()[t]}function og(t){return t.trim().split(/^|\s+/)}function Xu(t){return t.classList||new ag(t)}function ag(t){this._node=t,this._names=og(t.getAttribute("class")||"")}ag.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function sg(t,e){for(var n=Xu(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function lg(t,e){for(var n=Xu(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function Ow(t){return function(){sg(this,t)}}function Gw(t){return function(){lg(this,t)}}function Ww(t,e){return function(){(e.apply(this,arguments)?sg:lg)(this,t)}}function Yw(t,e){var n=og(t+"");if(arguments.length<2){for(var r=Xu(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof e=="function"?Ww:e?Ow:Gw)(n,e))}function Vw(){this.textContent=""}function Uw(t){return function(){this.textContent=t}}function Xw(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function jw(t){return arguments.length?this.each(t==null?Vw:(typeof t=="function"?Xw:Uw)(t)):this.node().textContent}function Hw(){this.innerHTML=""}function qw(t){return function(){this.innerHTML=t}}function Zw(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function Kw(t){return arguments.length?this.each(t==null?Hw:(typeof t=="function"?Zw:qw)(t)):this.node().innerHTML}function Qw(){this.nextSibling&&this.parentNode.appendChild(this)}function Jw(){return this.each(Qw)}function tT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function eT(){return this.each(tT)}function nT(t){var e=typeof t=="function"?t:Jd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function rT(){return null}function iT(t,e){var n=typeof t=="function"?t:Jd(t),r=e==null?rT:typeof e=="function"?e:Uu(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function oT(){var t=this.parentNode;t&&t.removeChild(this)}function aT(){return this.each(oT)}function sT(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function lT(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function uT(t){return this.select(t?lT:sT)}function cT(t){return arguments.length?this.property("__data__",t):this.node().__data__}function fT(t){return function(e){t.call(this,e,this.__data__)}}function hT(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function pT(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n<i;++n)o=e[n],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):e[++r]=o;++r?e.length=r:delete this.__on}}}function dT(t,e,n){return function(){var r=this.__on,i,o=fT(e);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=e;return}}this.addEventListener(t.type,o,n),i={type:t.type,name:t.name,value:e,listener:o,options:n},r?r.push(i):this.__on=[i]}}function gT(t,e,n){var r=hT(t+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,u=s.length,c;l<u;++l)for(i=0,c=s[l];i<o;++i)if((a=r[i]).type===c.type&&a.name===c.name)return c.value}return}for(s=e?dT:pT,i=0;i<o;++i)this.each(s(r[i],e,n));return this}function ug(t,e,n){var r=ig(t),i=r.CustomEvent;typeof i=="function"?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function mT(t,e){return function(){return ug(this,t,e)}}function yT(t,e){return function(){return ug(this,t,e.apply(this,arguments))}}function bT(t,e){return this.each((typeof e=="function"?yT:mT)(t,e))}function*xT(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var $T=[null];function Ce(t,e){this._groups=t,this._parents=e}function ji(){return new Ce([[document.documentElement]],$T)}function vT(){return this}Ce.prototype=ji.prototype={constructor:Ce,select:X_,selectAll:Z_,selectChild:tw,selectChildren:iw,filter:ow,data:fw,enter:aw,exit:pw,join:dw,merge:gw,selection:vT,order:mw,sort:yw,call:xw,nodes:$w,node:vw,size:Sw,empty:_w,each:ww,attr:Lw,style:Iw,property:zw,classed:Yw,text:jw,html:Kw,raise:Jw,lower:eT,append:nT,insert:iT,remove:aT,clone:uT,datum:cT,on:gT,dispatch:bT,[Symbol.iterator]:xT};function ju(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function cg(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Hi(){}var qi=.7,Ra=1/qi,Fr="\\s*([+-]?\\d+)\\s*",Zi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ye="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ST=/^#([0-9a-f]{3,8})$/,_T=new RegExp(`^rgb\\(${Fr},${Fr},${Fr}\\)$`),wT=new RegExp(`^rgb\\(${Ye},${Ye},${Ye}\\)$`),TT=new RegExp(`^rgba\\(${Fr},${Fr},${Fr},${Zi}\\)$`),AT=new RegExp(`^rgba\\(${Ye},${Ye},${Ye},${Zi}\\)$`),PT=new RegExp(`^hsl\\(${Zi},${Ye},${Ye}\\)$`),CT=new RegExp(`^hsla\\(${Zi},${Ye},${Ye},${Zi}\\)$`),fg={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ju(Hi,Vn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:hg,formatHex:hg,formatHex8:DT,formatHsl:MT,formatRgb:pg,toString:pg});function hg(){return this.rgb().formatHex()}function DT(){return this.rgb().formatHex8()}function MT(){return bg(this).formatHsl()}function pg(){return this.rgb().formatRgb()}function Vn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=ST.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?dg(e):n===3?new se(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Ea(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Ea(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=_T.exec(t))?new se(e[1],e[2],e[3],1):(e=wT.exec(t))?new se(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=TT.exec(t))?Ea(e[1],e[2],e[3],e[4]):(e=AT.exec(t))?Ea(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=PT.exec(t))?yg(e[1],e[2]/100,e[3]/100,1):(e=CT.exec(t))?yg(e[1],e[2]/100,e[3]/100,e[4]):fg.hasOwnProperty(t)?dg(fg[t]):t==="transparent"?new se(NaN,NaN,NaN,0):null}function dg(t){return new se(t>>16&255,t>>8&255,t&255,1)}function Ea(t,e,n,r){return r<=0&&(t=e=n=NaN),new se(t,e,n,r)}function LT(t){return t instanceof Hi||(t=Vn(t)),t?(t=t.rgb(),new se(t.r,t.g,t.b,t.opacity)):new se}function Hu(t,e,n,r){return arguments.length===1?LT(t):new se(t,e,n,r??1)}function se(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ju(se,Hu,cg(Hi,{brighter(t){return t=t==null?Ra:Math.pow(Ra,t),new se(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?qi:Math.pow(qi,t),new se(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new se(Un(this.r),Un(this.g),Un(this.b),Ia(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gg,formatHex:gg,formatHex8:kT,formatRgb:mg,toString:mg}));function gg(){return`#${Xn(this.r)}${Xn(this.g)}${Xn(this.b)}`}function kT(){return`#${Xn(this.r)}${Xn(this.g)}${Xn(this.b)}${Xn((isNaN(this.opacity)?1:this.opacity)*255)}`}function mg(){const t=Ia(this.opacity);return`${t===1?"rgb(":"rgba("}${Un(this.r)}, ${Un(this.g)}, ${Un(this.b)}${t===1?")":`, ${t})`}`}function Ia(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Un(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Xn(t){return t=Un(t),(t<16?"0":"")+t.toString(16)}function yg(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new De(t,e,n,r)}function bg(t){if(t instanceof De)return new De(t.h,t.s,t.l,t.opacity);if(t instanceof Hi||(t=Vn(t)),!t)return new De;if(t instanceof De)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(e===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-e)/s+2:a=(e-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new De(a,s,l,t.opacity)}function RT(t,e,n,r){return arguments.length===1?bg(t):new De(t,e,n,r??1)}function De(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ju(De,RT,cg(Hi,{brighter(t){return t=t==null?Ra:Math.pow(Ra,t),new De(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?qi:Math.pow(qi,t),new De(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new se(qu(t>=240?t-240:t+120,i,r),qu(t,i,r),qu(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new De(xg(this.h),Ba(this.s),Ba(this.l),Ia(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Ia(this.opacity);return`${t===1?"hsl(":"hsla("}${xg(this.h)}, ${Ba(this.s)*100}%, ${Ba(this.l)*100}%${t===1?")":`, ${t})`}`}}));function xg(t){return t=(t||0)%360,t<0?t+360:t}function Ba(t){return Math.max(0,Math.min(1,t||0))}function qu(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Zu=t=>()=>t;function ET(t,e){return function(n){return t+n*e}}function IT(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function BT(t){return(t=+t)==1?$g:function(e,n){return n-e?IT(e,n,t):Zu(isNaN(e)?n:e)}}function $g(t,e){var n=e-t;return n?ET(t,n):Zu(isNaN(t)?e:t)}const Na=function t(e){var n=BT(e);function r(i,o){var a=n((i=Hu(i)).r,(o=Hu(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),u=$g(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=t,r}(1);function NT(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=t[i]*(1-o)+e[i]*o;return r}}function FT(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function zT(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,i=new Array(r),o=new Array(n),a;for(a=0;a<r;++a)i[a]=Ju(t[a],e[a]);for(;a<n;++a)o[a]=e[a];return function(s){for(a=0;a<r;++a)o[a]=i[a](s);return o}}function OT(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Me(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function GT(t,e){var n={},r={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?n[i]=Ju(t[i],e[i]):r[i]=e[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var Ku=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Qu=new RegExp(Ku.source,"g");function WT(t){return function(){return t}}function YT(t){return function(e){return t(e)+""}}function vg(t,e){var n=Ku.lastIndex=Qu.lastIndex=0,r,i,o,a=-1,s=[],l=[];for(t=t+"",e=e+"";(r=Ku.exec(t))&&(i=Qu.exec(e));)(o=i.index)>n&&(o=e.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:Me(r,i)})),n=Qu.lastIndex;return n<e.length&&(o=e.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?YT(l[0].x):WT(e):(e=l.length,function(u){for(var c=0,h;c<e;++c)s[(h=l[c]).i]=h.x(u);return s.join("")})}function Ju(t,e){var n=typeof e,r;return e==null||n==="boolean"?Zu(e):(n==="number"?Me:n==="string"?(r=Vn(e))?(e=r,Na):vg:e instanceof Vn?Na:e instanceof Date?OT:FT(e)?NT:Array.isArray(e)?zT:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?GT:Me)(t,e)}function VT(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var Sg=180/Math.PI,_g={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wg(t,e,n,r,i,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*Sg,skewX:Math.atan(l)*Sg,scaleX:a,scaleY:s}}var Fa;function UT(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?_g:wg(e.a,e.b,e.c,e.d,e.e,e.f)}function XT(t){return t==null||(Fa||(Fa=document.createElementNS("http://www.w3.org/2000/svg","g")),Fa.setAttribute("transform",t),!(t=Fa.transform.baseVal.consolidate()))?_g:(t=t.matrix,wg(t.a,t.b,t.c,t.d,t.e,t.f))}function Tg(t,e,n,r){function i(u){return u.length?u.pop()+" ":""}function o(u,c,h,f,p,d){if(u!==h||c!==f){var g=p.push("translate(",null,e,null,n);d.push({i:g-4,x:Me(u,h)},{i:g-2,x:Me(c,f)})}else(h||f)&&p.push("translate("+h+e+f+n)}function a(u,c,h,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:Me(u,c)})):c&&h.push(i(h)+"rotate("+c+r)}function s(u,c,h,f){u!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:Me(u,c)}):c&&h.push(i(h)+"skewX("+c+r)}function l(u,c,h,f,p,d){if(u!==h||c!==f){var g=p.push(i(p)+"scale(",null,",",null,")");d.push({i:g-4,x:Me(u,h)},{i:g-2,x:Me(c,f)})}else(h!==1||f!==1)&&p.push(i(p)+"scale("+h+","+f+")")}return function(u,c){var h=[],f=[];return u=t(u),c=t(c),o(u.translateX,u.translateY,c.translateX,c.translateY,h,f),a(u.rotate,c.rotate,h,f),s(u.skewX,c.skewX,h,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,h,f),u=c=null,function(p){for(var d=-1,g=f.length,m;++d<g;)h[(m=f[d]).i]=m.x(p);return h.join("")}}}var jT=Tg(UT,"px, ","px)","deg)"),HT=Tg(XT,", ",")",")"),zr=0,Ki=0,Qi=0,Ag=1e3,za,Ji,Oa=0,jn=0,Ga=0,to=typeof performance=="object"&&performance.now?performance:Date,Pg=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function tc(){return jn||(Pg(qT),jn=to.now()+Ga)}function qT(){jn=0}function Wa(){this._call=this._time=this._next=null}Wa.prototype=Cg.prototype={constructor:Wa,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?tc():+n)+(e==null?0:+e),!this._next&&Ji!==this&&(Ji?Ji._next=this:za=this,Ji=this),this._call=t,this._time=n,ec()},stop:function(){this._call&&(this._call=null,this._time=1/0,ec())}};function Cg(t,e,n){var r=new Wa;return r.restart(t,e,n),r}function ZT(){tc(),++zr;for(var t=za,e;t;)(e=jn-t._time)>=0&&t._call.call(void 0,e),t=t._next;--zr}function Dg(){jn=(Oa=to.now())+Ga,zr=Ki=0;try{ZT()}finally{zr=0,QT(),jn=0}}function KT(){var t=to.now(),e=t-Oa;e>Ag&&(Ga-=e,Oa=t)}function QT(){for(var t,e=za,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:za=n);Ji=t,ec(r)}function ec(t){if(!zr){Ki&&(Ki=clearTimeout(Ki));var e=t-jn;e>24?(t<1/0&&(Ki=setTimeout(Dg,t-to.now()-Ga)),Qi&&(Qi=clearInterval(Qi))):(Qi||(Oa=to.now(),Qi=setInterval(KT,Ag)),zr=1,Pg(Dg))}}function Mg(t,e,n){var r=new Wa;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var JT=Zd("start","end","cancel","interrupt"),tA=[],Lg=0,kg=1,nc=2,Ya=3,Rg=4,rc=5,Va=6;function Ua(t,e,n,r,i,o){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;eA(t,n,{name:e,index:r,group:i,on:JT,tween:tA,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Lg})}function ic(t,e){var n=Le(t,e);if(n.state>Lg)throw new Error("too late; already scheduled");return n}function Ve(t,e){var n=Le(t,e);if(n.state>Ya)throw new Error("too late; already running");return n}function Le(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function eA(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=Cg(o,0,n.time);function o(u){n.state=kg,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var c,h,f,p;if(n.state!==kg)return l();for(c in r)if(p=r[c],p.name===n.name){if(p.state===Ya)return Mg(a);p.state===Rg?(p.state=Va,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[c]):+c<e&&(p.state=Va,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[c])}if(Mg(function(){n.state===Ya&&(n.state=Rg,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=nc,n.on.call("start",t,t.__data__,n.index,n.group),n.state===nc){for(n.state=Ya,i=new Array(f=n.tween.length),c=0,h=-1;c<f;++c)(p=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(i[++h]=p);i.length=h+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=rc,1),h=-1,f=i.length;++h<f;)i[h].call(t,c);n.state===rc&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Va,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function nA(t,e){var n=t.__transition,r,i,o=!0,a;if(n){e=e==null?null:e+"";for(a in n){if((r=n[a]).name!==e){o=!1;continue}i=r.state>nc&&r.state<rc,r.state=Va,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[a]}o&&delete t.__transition}}function rA(t){return this.each(function(){nA(this,t)})}function iA(t,e){var n,r;return function(){var i=Ve(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===e){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function oA(t,e,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Ve(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=s;break}l===u&&i.push(s)}o.tween=i}}function aA(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Le(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===t)return a.value;return null}return this.each((e==null?iA:oA)(n,t,e))}function oc(t,e,n){var r=t._id;return t.each(function(){var i=Ve(this,r);(i.value||(i.value={}))[e]=n.apply(this,arguments)}),function(i){return Le(i,r).value[e]}}function Eg(t,e){var n;return(typeof e=="number"?Me:e instanceof Vn?Na:(n=Vn(e))?(e=n,Na):vg)(t,e)}function sA(t){return function(){this.removeAttribute(t)}}function lA(t){return function(){this.removeAttributeNS(t.space,t.local)}}function uA(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttribute(t);return a===i?null:a===r?o:o=e(r=a,n)}}function cA(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===r?o:o=e(r=a,n)}}function fA(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function hA(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function pA(t,e){var n=La(t),r=n==="transform"?HT:Eg;return this.attrTween(t,typeof e=="function"?(n.local?hA:fA)(n,r,oc(this,"attr."+t,e)):e==null?(n.local?lA:sA)(n):(n.local?cA:uA)(n,r,e))}function dA(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function gA(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function mA(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&gA(t,o)),n}return i._value=e,i}function yA(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&dA(t,o)),n}return i._value=e,i}function bA(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=La(t);return this.tween(n,(r.local?mA:yA)(r,e))}function xA(t,e){return function(){ic(this,t).delay=+e.apply(this,arguments)}}function $A(t,e){return e=+e,function(){ic(this,t).delay=e}}function vA(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?xA:$A)(e,t)):Le(this.node(),e).delay}function SA(t,e){return function(){Ve(this,t).duration=+e.apply(this,arguments)}}function _A(t,e){return e=+e,function(){Ve(this,t).duration=e}}function wA(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?SA:_A)(e,t)):Le(this.node(),e).duration}function TA(t,e){if(typeof e!="function")throw new Error;return function(){Ve(this,t).ease=e}}function AA(t){var e=this._id;return arguments.length?this.each(TA(e,t)):Le(this.node(),e).ease}function PA(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;Ve(this,t).ease=n}}function CA(t){if(typeof t!="function")throw new Error;return this.each(PA(this._id,t))}function DA(t){typeof t!="function"&&(t=eg(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new on(r,this._parents,this._name,this._id)}function MA(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l=e[s],u=n[s],c=l.length,h=a[s]=new Array(c),f,p=0;p<c;++p)(f=l[p]||u[p])&&(h[p]=f);for(;s<r;++s)a[s]=e[s];return new on(a,this._parents,this._name,this._id)}function LA(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function kA(t,e,n){var r,i,o=LA(e)?ic:Ve;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(e,n),a.on=i}}function RA(t,e){var n=this._id;return arguments.length<2?Le(this.node(),n).on.on(t):this.each(kA(n,t,e))}function EA(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function IA(){return this.on("end.remove",EA(this._id))}function BA(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Uu(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],l=s.length,u=o[a]=new Array(l),c,h,f=0;f<l;++f)(c=s[f])&&(h=t.call(c,c.__data__,f,s))&&("__data__"in c&&(h.__data__=c.__data__),u[f]=h,Ua(u[f],e,n,f,u,Le(c,n)));return new on(o,this._parents,e,n)}function NA(t){var e=this._name,n=this._id;typeof t!="function"&&(t=tg(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l=r[s],u=l.length,c,h=0;h<u;++h)if(c=l[h]){for(var f=t.call(c,c.__data__,h,l),p,d=Le(c,n),g=0,m=f.length;g<m;++g)(p=f[g])&&Ua(p,e,n,g,f,d);o.push(f),a.push(c)}return new on(o,a,e,n)}var FA=ji.prototype.constructor;function zA(){return new FA(this._groups,this._parents)}function OA(t,e){var n,r,i;return function(){var o=Nr(this,t),a=(this.style.removeProperty(t),Nr(this,t));return o===a?null:o===n&&a===r?i:i=e(n=o,r=a)}}function Ig(t){return function(){this.style.removeProperty(t)}}function GA(t,e,n){var r,i=n+"",o;return function(){var a=Nr(this,t);return a===i?null:a===r?o:o=e(r=a,n)}}function WA(t,e,n){var r,i,o;return function(){var a=Nr(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),Nr(this,t))),a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s))}}function YA(t,e){var n,r,i,o="style."+e,a="end."+o,s;return function(){var l=Ve(this,t),u=l.on,c=l.value[o]==null?s||(s=Ig(e)):void 0;(u!==n||i!==c)&&(r=(n=u).copy()).on(a,i=c),l.on=r}}function VA(t,e,n){var r=(t+="")=="transform"?jT:Eg;return e==null?this.styleTween(t,OA(t,r)).on("end.style."+t,Ig(t)):typeof e=="function"?this.styleTween(t,WA(t,r,oc(this,"style."+t,e))).each(YA(this._id,t)):this.styleTween(t,GA(t,r,e),n).on("end.style."+t,null)}function UA(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function XA(t,e,n){var r,i;function o(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&UA(t,a,n)),r}return o._value=e,o}function jA(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,XA(t,e,n??""))}function HA(t){return function(){this.textContent=t}}function qA(t){return function(){var e=t(this);this.textContent=e??""}}function ZA(t){return this.tween("text",typeof t=="function"?qA(oc(this,"text",t)):HA(t==null?"":t+""))}function KA(t){return function(e){this.textContent=t.call(this,e)}}function QA(t){var e,n;function r(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&KA(i)),e}return r._value=t,r}function JA(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,QA(t))}function tP(){for(var t=this._name,e=this._id,n=Bg(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)if(l=a[u]){var c=Le(l,e);Ua(l,t,n,u,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new on(r,this._parents,t,n)}function eP(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){--i===0&&o()}};n.each(function(){var u=Ve(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),i===0&&o()})}var nP=0;function on(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Bg(){return++nP}var an=ji.prototype;on.prototype={constructor:on,select:BA,selectAll:NA,selectChild:an.selectChild,selectChildren:an.selectChildren,filter:DA,merge:MA,selection:zA,transition:tP,call:an.call,nodes:an.nodes,node:an.node,size:an.size,empty:an.empty,each:an.each,on:RA,attr:pA,attrTween:bA,style:VA,styleTween:jA,text:ZA,textTween:JA,remove:IA,tween:aA,delay:vA,duration:wA,ease:AA,easeVarying:CA,end:eP,[Symbol.iterator]:an[Symbol.iterator]};function rP(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var iP={time:null,delay:0,duration:250,ease:rP};function oP(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function aP(t){var e,n;t instanceof on?(e=t._id,t=t._name):(e=Bg(),(n=iP).time=tc(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&Ua(l,t,e,u,a,n||oP(l,e));return new on(r,this._parents,t,e)}ji.prototype.interrupt=rA,ji.prototype.transition=aP;function sP(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Xa(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Or(t){return t=Xa(Math.abs(t)),t?t[1]:NaN}function lP(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),o.push(n.substring(i-=s,i+s)),!((l+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}function uP(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var cP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ja(t){if(!(e=cP.exec(t)))throw new Error("invalid format: "+t);var e;return new ac({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}ja.prototype=ac.prototype;function ac(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}ac.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function fP(t){t:for(var e=t.length,n=1,r=-1,i;n<e;++n)switch(t[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Ng;function hP(t,e){var n=Xa(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Ng=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Xa(t,Math.max(0,e+o-1))[0]}function Fg(t,e){var n=Xa(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const zg={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:sP,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Fg(t*100,e),r:Fg,s:hP,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Og(t){return t}var Gg=Array.prototype.map,Wg=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function pP(t){var e=t.grouping===void 0||t.thousands===void 0?Og:lP(Gg.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?Og:uP(Gg.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(h){h=ja(h);var f=h.fill,p=h.align,d=h.sign,g=h.symbol,m=h.zero,b=h.width,y=h.comma,x=h.precision,$=h.trim,S=h.type;S==="n"?(y=!0,S="g"):zg[S]||(x===void 0&&(x=12),$=!0,S="g"),(m||f==="0"&&p==="=")&&(m=!0,f="0",p="=");var A=g==="$"?n:g==="#"&&/[boxX]/.test(S)?"0"+S.toLowerCase():"",_=g==="$"?r:/[%p]/.test(S)?a:"",P=zg[S],M=/[defgprs%]/.test(S);x=x===void 0?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function R(v){var E=A,k=_,T,w,C;if(S==="c")k=P(v)+k,v="";else{v=+v;var F=v<0||1/v<0;if(v=isNaN(v)?l:P(Math.abs(v),x),$&&(v=fP(v)),F&&+v==0&&d!=="+"&&(F=!1),E=(F?d==="("?d:s:d==="-"||d==="("?"":d)+E,k=(S==="s"?Wg[8+Ng/3]:"")+k+(F&&d==="("?")":""),M){for(T=-1,w=v.length;++T<w;)if(C=v.charCodeAt(T),48>C||C>57){k=(C===46?i+v.slice(T+1):v.slice(T))+k,v=v.slice(0,T);break}}}y&&!m&&(v=e(v,1/0));var G=E.length+v.length+k.length,B=G<b?new Array(b-G+1).join(f):"";switch(y&&m&&(v=e(B+v,B.length?b-k.length:1/0),B=""),p){case"<":v=E+v+k+B;break;case"=":v=E+B+v+k;break;case"^":v=B.slice(0,G=B.length>>1)+E+v+k+B.slice(G);break;default:v=B+E+v+k;break}return o(v)}return R.toString=function(){return h+""},R}function c(h,f){var p=u((h=ja(h),h.type="f",h)),d=Math.max(-8,Math.min(8,Math.floor(Or(f)/3)))*3,g=Math.pow(10,-d),m=Wg[8+d/3];return function(b){return p(g*b)+m}}return{format:u,formatPrefix:c}}var Ha,Yg,Vg;dP({thousands:",",grouping:[3],currency:["$",""]});function dP(t){return Ha=pP(t),Yg=Ha.format,Vg=Ha.formatPrefix,Ha}function gP(t){return Math.max(0,-Or(Math.abs(t)))}function mP(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Or(e)/3)))*3-Or(Math.abs(t)))}function yP(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Or(e)-Or(t))+1}function qa(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const Ug=Symbol("implicit");function Xg(){var t=new Hd,e=[],n=[],r=Ug;function i(o){let a=t.get(o);if(a===void 0){if(r!==Ug)return r;t.set(o,a=e.push(o)-1)}return n[a%n.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new Hd;for(const a of o)t.has(a)||t.set(a,e.push(a)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return Xg(e,n).unknown(r)},qa.apply(i,arguments),i}function jg(){var t=Xg().unknown(void 0),e=t.domain,n=t.range,r=0,i=1,o,a,s=!1,l=0,u=0,c=.5;delete t.unknown;function h(){var f=e().length,p=i<r,d=p?i:r,g=p?r:i;o=(g-d)/Math.max(1,f-l+u*2),s&&(o=Math.floor(o)),d+=(g-d-o*(f-l))*c,a=o*(1-l),s&&(d=Math.round(d),a=Math.round(a));var m=z_(f).map(function(b){return d+o*b});return n(p?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),h()):e()},t.range=function(f){return arguments.length?([r,i]=f,r=+r,i=+i,h()):[r,i]},t.rangeRound=function(f){return[r,i]=f,r=+r,i=+i,s=!0,h()},t.bandwidth=function(){return a},t.step=function(){return o},t.round=function(f){return arguments.length?(s=!!f,h()):s},t.padding=function(f){return arguments.length?(l=Math.min(1,u=+f),h()):l},t.paddingInner=function(f){return arguments.length?(l=Math.min(1,f),h()):l},t.paddingOuter=function(f){return arguments.length?(u=+f,h()):u},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),h()):c},t.copy=function(){return jg(e(),[r,i]).round(s).paddingInner(l).paddingOuter(u).align(c)},qa.apply(h(),arguments)}function Hg(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return Hg(e())},t}function bP(){return Hg(jg.apply(null,arguments).paddingInner(1))}function xP(t){return function(){return t}}function $P(t){return+t}var qg=[0,1];function Gr(t){return t}function sc(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:xP(isNaN(e)?NaN:.5)}function vP(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function SP(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i<r?(r=sc(i,r),o=n(a,o)):(r=sc(r,i),o=n(o,a)),function(s){return o(r(s))}}function _P(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)i[a]=sc(t[a],t[a+1]),o[a]=n(e[a],e[a+1]);return function(s){var l=jd(t,s,1,r)-1;return o[l](i[l](s))}}function wP(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function TP(){var t=qg,e=qg,n=Ju,r,i,o,a=Gr,s,l,u;function c(){var f=Math.min(t.length,e.length);return a!==Gr&&(a=vP(t[0],t[f-1])),s=f>2?_P:SP,l=u=null,h}function h(f){return f==null||isNaN(f=+f)?o:(l||(l=s(t.map(r),e,n)))(r(a(f)))}return h.invert=function(f){return a(i((u||(u=s(e,t.map(r),Me)))(f)))},h.domain=function(f){return arguments.length?(t=Array.from(f,$P),c()):t.slice()},h.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},h.rangeRound=function(f){return e=Array.from(f),n=VT,c()},h.clamp=function(f){return arguments.length?(a=f?!0:Gr,c()):a!==Gr},h.interpolate=function(f){return arguments.length?(n=f,c()):n},h.unknown=function(f){return arguments.length?(o=f,h):o},function(f,p){return r=f,i=p,c()}}function AP(){return TP()(Gr,Gr)}function PP(t,e,n,r){var i=F_(t,e,n),o;switch(r=ja(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(o=mP(i,a))&&(r.precision=o),Vg(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=yP(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=gP(i))&&(r.precision=o-(r.type==="%")*2);break}}return Yg(r)}function Zg(t){var e=t.domain;return t.ticks=function(n){var r=e();return N_(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return PP(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,o=r.length-1,a=r[i],s=r[o],l,u,c=10;for(s<a&&(u=a,a=s,s=u,u=i,i=o,o=u);c-- >0;){if(u=Yu(a,s,n),u===l)return r[i]=a,r[o]=s,e(r);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function eo(){var t=AP();return t.copy=function(){return wP(t,eo())},qa.apply(t,arguments),Zg(t)}function Kg(){var t=0,e=1,n=1,r=[.5],i=[0,1],o;function a(l){return l!=null&&l<=l?i[jd(r,l,0,n)]:o}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return a}return a.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},a.range=function(l){return arguments.length?(n=(i=Array.from(l)).length-1,s()):i.slice()},a.invertExtent=function(l){var u=i.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},a.unknown=function(l){return arguments.length&&(o=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return Kg().domain([t,e]).range(i).unknown(o)},qa.apply(Zg(a),arguments)}function no(t,e,n){this.k=t,this.x=e,this.y=n}no.prototype={constructor:no,scale:function(t){return t===1?this:new no(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new no(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},no.prototype;function lc(t){const e=[0,0];return t.length?t.reduce((n,r)=>[r<n[0]?r:n[0],r>n[1]?r:n[1]],[t[0],t[0]]):e}function CP(t){let e=Math.floor(Math.sqrt(t)),n=Math.ceil(t/e);for(;e*n<t;)n++;return{rowAmount:e,columnAmount:n}}function Qg(t,e,n){const{gap:r}=e,{rowAmount:i,columnAmount:o}=e.rowAmount*e.columnAmount>=n?e:CP(n);return new Array(n).fill(null).map((a,s)=>{const l=s%o,u=Math.floor(s/o),c=(t.width-r*(o-1))/o,h=(t.height-r*(i-1))/i,f=l*c+l*r,p=u*h+u*r,d=[f,p],g=[c/t.width,h/t.height];return{slotIndex:s,rowIndex:u,columnIndex:l,translate:d,scale:g}})}var uc=function(t,e){return uc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},uc(t,e)};function Ue(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");uc(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function DP(t,e,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(h){a(h)}}function l(c){try{u(r.throw(c))}catch(h){a(h)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(t,[])).next())})}function Jg(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(n=0)),n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]<o[3])){n.label=u[1];break}if(u[0]===6&&n.label<o[1]){n.label=o[1],o=u;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(u);break}o[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(c){u=[6,c],i=0}finally{r=o=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Wr(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Yr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function Vr(t,e,n){if(arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}function Ur(t){return this instanceof Ur?(this.v=t,this):new Ur(t)}function MP(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(p){return function(d){return Promise.resolve(d).then(p,h)}}function s(p,d){r[p]&&(i[p]=function(g){return new Promise(function(m,b){o.push([p,g,m,b])>1||l(p,g)})},d&&(i[p]=d(i[p])))}function l(p,d){try{u(r[p](d))}catch(g){f(o[0][3],g)}}function u(p){p.value instanceof Ur?Promise.resolve(p.value.v).then(c,h):f(o[0][2],p)}function c(p){l("next",p)}function h(p){l("throw",p)}function f(p,d){p(d),o.shift(),o.length&&l(o[0][0],o[0][1])}}function LP(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Wr=="function"?Wr(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(a){return new Promise(function(s,l){a=t[o](a),i(s,l,a.done,a.value)})}}function i(o,a,s,l){Promise.resolve(l).then(function(u){o({value:u,done:s})},a)}}function Lt(t){return typeof t=="function"}function cc(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var fc=cc(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
37
46
  `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
38
- `):"",this.name="UnsubscriptionError",this.errors=e}});function za(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var qi=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=Nr(a),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(m){e={error:m}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else a.remove(this);var c=this.initialTeardown;if(Mt(c))try{c()}catch(m){o=m instanceof Ku?m.errors:[m]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=Nr(f),p=h.next();!p.done;p=h.next()){var d=p.value;try{kg(d)}catch(m){o=o??[],m instanceof Ku?o=Or(Or([],Fr(o)),Fr(m.errors)):o.push(m)}}}catch(m){r={error:m}}finally{try{p&&!p.done&&(i=h.return)&&i.call(h)}finally{if(r)throw r.error}}}if(o)throw new Ku(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)kg(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&za(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&za(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),Mg=qi.EMPTY;function Lg(t){return t instanceof qi||t&&"closed"in t&&Mt(t.remove)&&Mt(t.add)&&Mt(t.unsubscribe)}function kg(t){Mt(t)?t():t.unsubscribe()}var Rg={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},KA={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Or([t,e],Fr(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function Eg(t){KA.setTimeout(function(){throw t})}function Qu(){}function Ga(t){t()}var Ju=function(t){Ge(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,Lg(n)&&n.add(r)):r.destination=eP,r}return e.create=function(n,r,i){return new Zi(n,r,i)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(qi),QA=Function.prototype.bind;function tc(t,e){return QA.call(t,e)}var JA=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){Ya(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){Ya(r)}else Ya(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){Ya(n)}},t}(),Zi=function(t){Ge(e,t);function e(n,r,i){var o=t.call(this)||this,a;if(Mt(n)||!n)a={next:n??void 0,error:r??void 0,complete:i??void 0};else{var s;o&&Rg.useDeprecatedNextContext?(s=Object.create(n),s.unsubscribe=function(){return o.unsubscribe()},a={next:n.next&&tc(n.next,s),error:n.error&&tc(n.error,s),complete:n.complete&&tc(n.complete,s)}):a=n}return o.destination=new JA(a),o}return e}(Ju);function Ya(t){Eg(t)}function tP(t){throw t}var eP={closed:!0,next:Qu,error:tP,complete:Qu},ec=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Xa(t){return t}function nP(t){return t.length===0?Xa:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var he=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var i=this,o=iP(e)?e:new Zi(e,n,r);return Ga(function(){var a=i,s=a.operator,l=a.source;o.add(s?s.call(o,l):l?i._subscribe(o):i._trySubscribe(o))}),o},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=Ig(n),new n(function(i,o){var a=new Zi({next:function(s){try{e(s)}catch(l){o(l),a.unsubscribe()}},error:o,complete:i});r.subscribe(a)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[ec]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return nP(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=Ig(e),new e(function(r,i){var o;n.subscribe(function(a){return o=a},function(a){return i(a)},function(){return r(o)})})},t.create=function(e){return new t(e)},t}();function Ig(t){var e;return(e=t??Rg.Promise)!==null&&e!==void 0?e:Promise}function rP(t){return t&&Mt(t.next)&&Mt(t.error)&&Mt(t.complete)}function iP(t){return t&&t instanceof Ju||rP(t)&&Lg(t)}function oP(t){return Mt(t==null?void 0:t.lift)}function Gn(t){return function(e){if(oP(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Yn(t,e,n,r,i){return new aP(t,e,n,r,i)}var aP=function(t){Ge(e,t);function e(n,r,i,o,a,s){var l=t.call(this,n)||this;return l.onFinalize=a,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=o?function(u){try{o(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=i?function(){try{i()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(Ju),sP=Zu(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Gr=function(t){Ge(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Bg(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new sP},e.prototype.next=function(n){var r=this;Ga(function(){var i,o;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var a=Nr(r.currentObservers),s=a.next();!s.done;s=a.next()){var l=s.value;l.next(n)}}catch(u){i={error:u}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}}})},e.prototype.error=function(n){var r=this;Ga(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var i=r.observers;i.length;)i.shift().error(n)}})},e.prototype.complete=function(){var n=this;Ga(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,o=i.hasError,a=i.isStopped,s=i.observers;return o||a?Mg:(this.currentObservers=null,s.push(n),new qi(function(){r.currentObservers=null,za(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,o=r.thrownError,a=r.isStopped;i?n.error(o):a&&n.complete()},e.prototype.asObservable=function(){var n=new he;return n.source=this,n},e.create=function(n,r){return new Bg(n,r)},e}(he),Bg=function(t){Ge(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:Mg},e}(Gr),Ng=function(t){Ge(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,i=n.thrownError,o=n._value;if(r)throw i;return this._throwIfClosed(),o},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Gr),nc={now:function(){return(nc.delegate||Date).now()},delegate:void 0},lP=function(t){Ge(e,t);function e(n,r,i){n===void 0&&(n=1/0),r===void 0&&(r=1/0),i===void 0&&(i=nc);var o=t.call(this)||this;return o._bufferSize=n,o._windowTime=r,o._timestampProvider=i,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=r===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,r),o}return e.prototype.next=function(n){var r=this,i=r.isStopped,o=r._buffer,a=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;i||(o.push(n),!a&&o.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),i=this,o=i._infiniteTimeWindow,a=i._buffer,s=a.slice(),l=0;l<s.length&&!n.closed;l+=o?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,i=n._timestampProvider,o=n._buffer,a=n._infiniteTimeWindow,s=(a?1:2)*r;if(r<1/0&&s<o.length&&o.splice(0,o.length-s),!a){for(var l=i.now(),u=0,c=1;c<o.length&&o[c]<=l;c+=2)u=c;u&&o.splice(0,u+1)}},e}(Gr),uP=function(t){Ge(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(qi),Fg={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Or([t,e],Fr(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},cP=function(t){Ge(e,t);function e(n,r){var i=t.call(this,n,r)||this;return i.scheduler=n,i.work=r,i.pending=!1,i}return e.prototype.schedule=function(n,r){var i;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,r)),this.pending=!0,this.delay=r,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(a,this.id,r),this},e.prototype.requestAsyncId=function(n,r,i){return i===void 0&&(i=0),Fg.setInterval(n.flush.bind(n,this),i)},e.prototype.recycleAsyncId=function(n,r,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return r;r!=null&&Fg.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(n,r);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var i=!1,o;try{this.work(n)}catch(a){i=!0,o=a||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,i=n.scheduler,o=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,za(o,this),r!=null&&(this.id=this.recycleAsyncId(i,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(uP),Og=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=nc.now,t}(),fP=function(t){Ge(e,t);function e(n,r){r===void 0&&(r=Og.now);var i=t.call(this,n,r)||this;return i.actions=[],i._active=!1,i}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,i){for(;n=r.shift();)n.unsubscribe();throw i}},e}(Og);new fP(cP);function hP(t){return t&&Mt(t.schedule)}function zg(t){return t[t.length-1]}function pP(t){return Mt(zg(t))?t.pop():void 0}function dP(t){return hP(zg(t))?t.pop():void 0}var Gg=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Yg(t){return Mt(t==null?void 0:t.then)}function Xg(t){return Mt(t[ec])}function Wg(t){return Symbol.asyncIterator&&Mt(t==null?void 0:t[Symbol.asyncIterator])}function Vg(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function gP(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Ug=gP();function Hg(t){return Mt(t==null?void 0:t[Ug])}function jg(t){return qA(this,arguments,function(){var e,n,r,i;return Cg(this,function(o){switch(o.label){case 0:e=t.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,zr(e.read())];case 3:return n=o.sent(),r=n.value,i=n.done,i?[4,zr(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,zr(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function qg(t){return Mt(t==null?void 0:t.getReader)}function Xn(t){if(t instanceof he)return t;if(t!=null){if(Xg(t))return mP(t);if(Gg(t))return yP(t);if(Yg(t))return bP(t);if(Wg(t))return Zg(t);if(Hg(t))return xP(t);if(qg(t))return vP(t)}throw Vg(t)}function mP(t){return new he(function(e){var n=t[ec]();if(Mt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function yP(t){return new he(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function bP(t){return new he(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,Eg)})}function xP(t){return new he(function(e){var n,r;try{for(var i=Nr(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(s){n={error:s}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()})}function Zg(t){return new he(function(e){$P(t,e).catch(function(n){return e.error(n)})})}function vP(t){return Zg(jg(t))}function $P(t,e){var n,r,i,o;return jA(this,void 0,void 0,function(){var a,s;return Cg(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=ZA(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(a=r.value,e.next(a),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),i={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function vn(t,e,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var o=e.schedule(function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(o),!i)return o}function Kg(t,e){return e===void 0&&(e=0),Gn(function(n,r){n.subscribe(Yn(r,function(i){return vn(r,t,function(){return r.next(i)},e)},function(){return vn(r,t,function(){return r.complete()},e)},function(i){return vn(r,t,function(){return r.error(i)},e)}))})}function Qg(t,e){return e===void 0&&(e=0),Gn(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function _P(t,e){return Xn(t).pipe(Qg(e),Kg(e))}function SP(t,e){return Xn(t).pipe(Qg(e),Kg(e))}function wP(t,e){return new he(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function TP(t,e){return new he(function(n){var r;return vn(n,e,function(){r=t[Ug](),vn(n,e,function(){var i,o,a;try{i=r.next(),o=i.value,a=i.done}catch(s){n.error(s);return}a?n.complete():n.next(o)},0,!0)}),function(){return Mt(r==null?void 0:r.return)&&r.return()}})}function Jg(t,e){if(!t)throw new Error("Iterable cannot be null");return new he(function(n){vn(n,e,function(){var r=t[Symbol.asyncIterator]();vn(n,e,function(){r.next().then(function(i){i.done?n.complete():n.next(i.value)})},0,!0)})})}function AP(t,e){return Jg(jg(t),e)}function PP(t,e){if(t!=null){if(Xg(t))return _P(t,e);if(Gg(t))return wP(t,e);if(Yg(t))return SP(t,e);if(Wg(t))return Jg(t,e);if(Hg(t))return TP(t,e);if(qg(t))return AP(t,e)}throw Vg(t)}function t0(t,e){return e?PP(t,e):Xn(t)}Zu(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function Yr(t,e){return Gn(function(n,r){var i=0;n.subscribe(Yn(r,function(o){r.next(t.call(e,o,i++))}))})}var DP=Array.isArray;function CP(t,e){return DP(e)?t.apply(void 0,Or([],Fr(e))):t(e)}function MP(t){return Yr(function(e){return CP(t,e)})}var LP=Array.isArray,kP=Object.getPrototypeOf,RP=Object.prototype,EP=Object.keys;function IP(t){if(t.length===1){var e=t[0];if(LP(e))return{args:e,keys:null};if(BP(e)){var n=EP(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function BP(t){return t&&typeof t=="object"&&kP(t)===RP}function NP(t,e){return t.reduce(function(n,r,i){return n[r]=e[i],n},{})}function e0(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=dP(t),r=pP(t),i=IP(t),o=i.args,a=i.keys;if(o.length===0)return t0([],n);var s=new he(FP(o,n,a?function(l){return NP(a,l)}:Xa));return r?s.pipe(MP(r)):s}function FP(t,e,n){return n===void 0&&(n=Xa),function(r){n0(e,function(){for(var i=t.length,o=new Array(i),a=i,s=i,l=function(c){n0(e,function(){var f=t0(t[c],e),h=!1;f.subscribe(Yn(r,function(p){o[c]=p,h||(h=!0,s--),s||r.next(n(o.slice()))},function(){--a||r.complete()}))},r)},u=0;u<i;u++)l(u)},r)}}function n0(t,e,n){t?vn(n,t,e):e()}function OP(t,e){return e===void 0&&(e=Xa),t=t??zP,Gn(function(n,r){var i,o=!0;n.subscribe(Yn(r,function(a){var s=e(a);(o||!t(i,s))&&(o=!1,i=s,r.next(a))}))})}function zP(t,e){return t===e}function GP(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Gr}:e,r=t.resetOnError,i=r===void 0?!0:r,o=t.resetOnComplete,a=o===void 0?!0:o,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,f,h,p=0,d=!1,m=!1,g=function(){f==null||f.unsubscribe(),f=void 0},y=function(){g(),c=h=void 0,d=m=!1},b=function(){var v=c;y(),v==null||v.unsubscribe()};return Gn(function(v,x){p++,!m&&!d&&g();var _=h=h??n();x.add(function(){p--,p===0&&!m&&!d&&(f=rc(b,l))}),_.subscribe(x),!c&&p>0&&(c=new Zi({next:function(T){return _.next(T)},error:function(T){m=!0,g(),f=rc(y,i,T),_.error(T)},complete:function(){d=!0,g(),f=rc(y,a),_.complete()}}),Xn(v).subscribe(c))})(u)}}function rc(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var i=new Zi({next:function(){i.unsubscribe(),t()}});return Xn(e.apply(void 0,Or([],Fr(n)))).subscribe(i)}}function YP(t,e,n){var r,i=!1;return r=t,GP({connector:function(){return new lP(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:i})}function ic(t,e){return Gn(function(n,r){var i=null,o=0,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(Yn(r,function(l){i==null||i.unsubscribe();var u=0,c=o++;Xn(t(l,c)).subscribe(i=Yn(r,function(f){return r.next(e?e(l,f,c,u++):f)},function(){i=null,s()}))},function(){a=!0,s()}))})}function r0(t){return Gn(function(e,n){Xn(t).subscribe(Yn(n,function(){return n.complete()},Qu)),!n.closed&&e.subscribe(n)})}const XP=t=>t.pipe(Yr(e=>e.styles.textSize),OP(),Yr(e=>{let n=NaN;if(typeof e=="string")if(e.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(e)*r}else e.includes("px")&&(n=parseFloat(e));else if(typeof e=="number")return e;return n||14})),Ki=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=fe.scaleDomain,scaleRange:i=fe.scaleRange,reverse:o=!1})=>{const a=r[0]??fe.scaleDomain[0],s=r[1]??fe.scaleDomain[1],l=i[0]??fe.scaleRange[0],u=i[1]??fe.scaleRange[1];let c=a==="auto"?e<0?e:0:a==="min"?e:a,f=s==="auto"?t>=0?t:0:s==="max"?t:s;const h=t-(t-c)/(1-l),p=f/u;return o?Hi().domain([h,p]).range([n,0]):Hi().domain([h,p]).range([0,n])},i0=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=fe.scaleDomain,scaleRange:i=fe.scaleRange,reverse:o=!1})=>{e===t&&(t+=1,e-=1);const a=r[0]??fe.scaleDomain[0],s=r[1]??fe.scaleDomain[1],l=i[0]??fe.scaleRange[0],u=i[1]??fe.scaleRange[1];let c=a==="auto"?e<0?e:0:a==="min"?e:a,f=s==="auto"?t>=0?t:0:s==="max"?t:s;const h=t-(t-c)/(1-l),p=f/u;return o?Hi().domain([n,0]).range([h,p]):Hi().domain([0,n]).range([h,p])},o0=({axisLabels:t,axisWidth:e,padding:n=0,reverse:r=!1})=>{let i=t.map((l,u)=>u);r&&i.reverse();const o=i.length-1+n*2,a=e/o,s=a*n-a*.5;return Pg().domain([s,e-s]).range(i)},a0=({computedData$:t,fullDataFormatter$:e,layout$:n})=>e0({computedData:t,fullDataFormatter:e,layout:n}).pipe(ic(async r=>r),Yr(r=>{if(r.fullDataFormatter.separateSeries)return Dg(r.layout,r.fullDataFormatter.container,r.computedData.length);{const i=Dg(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((o,a)=>i[0])}})),s0=({fullDataFormatter$:t,layout$:e})=>{const n=new Gr;function r({xAxis:i,yAxis:o,width:a,height:s}){if(!i||!o)return{translate:[0,0],scale:[1,1],rotate:0,rotateX:0,rotateY:0,value:""};let l=0,u=0,c=0,f=0,h=0;return i.position==="bottom"?o.position==="left"?(f=180,u=s):o.position==="right"?(f=180,h=180,l=a,u=s):(f=180,u=s):i.position==="top"?o.position==="left"||(o.position==="right"?(h=180,l=a):(f=180,u=s)):i.position==="left"?o.position==="bottom"?(c=-90,u=s):o.position==="top"?(c=-90,h=180):(f=180,u=s):i.position==="right"?o.position==="bottom"?(c=-90,f=180,u=s,l=a):o.position==="top"?(c=-90,f=180,h=180,l=a):(f=180,u=s):(f=180,u=s),{translate:[l,u],scale:[1,1],rotate:c,rotateX:f,rotateY:h,value:`translate(${l}px, ${u}px) rotate(${c}deg) rotateX(${f}deg) rotateY(${h}deg)`}}return new he(i=>(e0({fullDataFormatter:t,layout:e}).pipe(r0(n),ic(async o=>o)).subscribe(o=>{const a=r({xAxis:o.fullDataFormatter.groupAxis,yAxis:o.fullDataFormatter.valueAxis,width:o.layout.width,height:o.layout.height});i.next(a)}),function(){n.next(void 0)}))},l0=({gridAxesTransform$:t})=>t.pipe(Yr(e=>{const n=[0,0],r=[1/e.scale[0],1/e.scale[1]],i=e.rotate*-1,o=e.rotateX*-1,a=e.rotateY*-1;return{translate:n,scale:r,rotate:i,rotateX:o,rotateY:a,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${o}deg) rotateY(${a}deg) rotate(${i}deg)`}}));function WP(t){return`[OrbCharts warn]: ${t.message}`}function VP({columnName:t,expectToBe:e,from:n}){return`Invalid value: '${t}' must be '${e}'
47
+ `):"",this.name="UnsubscriptionError",this.errors=e}});function Za(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var ro=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,i,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=Wr(a),l=s.next();!l.done;l=s.next()){var u=l.value;u.remove(this)}}catch(g){e={error:g}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}else a.remove(this);var c=this.initialTeardown;if(Lt(c))try{c()}catch(g){o=g instanceof fc?g.errors:[g]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var f=Wr(h),p=f.next();!p.done;p=f.next()){var d=p.value;try{n0(d)}catch(g){o=o??[],g instanceof fc?o=Vr(Vr([],Yr(o)),Yr(g.errors)):o.push(g)}}}catch(g){r={error:g}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}}if(o)throw new fc(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)n0(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&Za(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&Za(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),t0=ro.EMPTY;function e0(t){return t instanceof ro||t&&"closed"in t&&Lt(t.remove)&&Lt(t.add)&&Lt(t.unsubscribe)}function n0(t){Lt(t)?t():t.unsubscribe()}var r0={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},kP={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Vr([t,e],Yr(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function i0(t){kP.setTimeout(function(){throw t})}function hc(){}function Ka(t){t()}var pc=function(t){Ue(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,e0(n)&&n.add(r)):r.destination=BP,r}return e.create=function(n,r,i){return new io(n,r,i)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(ro),RP=Function.prototype.bind;function dc(t,e){return RP.call(t,e)}var EP=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){Qa(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){Qa(r)}else Qa(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){Qa(n)}},t}(),io=function(t){Ue(e,t);function e(n,r,i){var o=t.call(this)||this,a;if(Lt(n)||!n)a={next:n??void 0,error:r??void 0,complete:i??void 0};else{var s;o&&r0.useDeprecatedNextContext?(s=Object.create(n),s.unsubscribe=function(){return o.unsubscribe()},a={next:n.next&&dc(n.next,s),error:n.error&&dc(n.error,s),complete:n.complete&&dc(n.complete,s)}):a=n}return o.destination=new EP(a),o}return e}(pc);function Qa(t){i0(t)}function IP(t){throw t}var BP={closed:!0,next:hc,error:IP,complete:hc},gc=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Ja(t){return t}function NP(t){return t.length===0?Ja:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var ge=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var i=this,o=zP(e)?e:new io(e,n,r);return Ka(function(){var a=i,s=a.operator,l=a.source;o.add(s?s.call(o,l):l?i._subscribe(o):i._trySubscribe(o))}),o},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=o0(n),new n(function(i,o){var a=new io({next:function(s){try{e(s)}catch(l){o(l),a.unsubscribe()}},error:o,complete:i});r.subscribe(a)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[gc]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return NP(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=o0(e),new e(function(r,i){var o;n.subscribe(function(a){return o=a},function(a){return i(a)},function(){return r(o)})})},t.create=function(e){return new t(e)},t}();function o0(t){var e;return(e=t??r0.Promise)!==null&&e!==void 0?e:Promise}function FP(t){return t&&Lt(t.next)&&Lt(t.error)&&Lt(t.complete)}function zP(t){return t&&t instanceof pc||FP(t)&&e0(t)}function OP(t){return Lt(t==null?void 0:t.lift)}function Hn(t){return function(e){if(OP(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function qn(t,e,n,r,i){return new GP(t,e,n,r,i)}var GP=function(t){Ue(e,t);function e(n,r,i,o,a,s){var l=t.call(this,n)||this;return l.onFinalize=a,l.shouldUnsubscribe=s,l._next=r?function(u){try{r(u)}catch(c){n.error(c)}}:t.prototype._next,l._error=o?function(u){try{o(u)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,l._complete=i?function(){try{i()}catch(u){n.error(u)}finally{this.unsubscribe()}}:t.prototype._complete,l}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(pc),WP=cc(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Xr=function(t){Ue(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new a0(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new WP},e.prototype.next=function(n){var r=this;Ka(function(){var i,o;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var a=Wr(r.currentObservers),s=a.next();!s.done;s=a.next()){var l=s.value;l.next(n)}}catch(u){i={error:u}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}}})},e.prototype.error=function(n){var r=this;Ka(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var i=r.observers;i.length;)i.shift().error(n)}})},e.prototype.complete=function(){var n=this;Ka(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,i=this,o=i.hasError,a=i.isStopped,s=i.observers;return o||a?t0:(this.currentObservers=null,s.push(n),new ro(function(){r.currentObservers=null,Za(s,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,o=r.thrownError,a=r.isStopped;i?n.error(o):a&&n.complete()},e.prototype.asObservable=function(){var n=new ge;return n.source=this,n},e.create=function(n,r){return new a0(n,r)},e}(ge),a0=function(t){Ue(e,t);function e(n,r){var i=t.call(this)||this;return i.destination=n,i.source=r,i}return e.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},e.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:t0},e}(Xr),s0=function(t){Ue(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,i=n.thrownError,o=n._value;if(r)throw i;return this._throwIfClosed(),o},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Xr),mc={now:function(){return(mc.delegate||Date).now()},delegate:void 0},YP=function(t){Ue(e,t);function e(n,r,i){n===void 0&&(n=1/0),r===void 0&&(r=1/0),i===void 0&&(i=mc);var o=t.call(this)||this;return o._bufferSize=n,o._windowTime=r,o._timestampProvider=i,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=r===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,r),o}return e.prototype.next=function(n){var r=this,i=r.isStopped,o=r._buffer,a=r._infiniteTimeWindow,s=r._timestampProvider,l=r._windowTime;i||(o.push(n),!a&&o.push(s.now()+l)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),i=this,o=i._infiniteTimeWindow,a=i._buffer,s=a.slice(),l=0;l<s.length&&!n.closed;l+=o?1:2)n.next(s[l]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,i=n._timestampProvider,o=n._buffer,a=n._infiniteTimeWindow,s=(a?1:2)*r;if(r<1/0&&s<o.length&&o.splice(0,o.length-s),!a){for(var l=i.now(),u=0,c=1;c<o.length&&o[c]<=l;c+=2)u=c;u&&o.splice(0,u+1)}},e}(Xr),VP=function(t){Ue(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(ro),l0={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Vr([t,e],Yr(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},UP=function(t){Ue(e,t);function e(n,r){var i=t.call(this,n,r)||this;return i.scheduler=n,i.work=r,i.pending=!1,i}return e.prototype.schedule=function(n,r){var i;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,r)),this.pending=!0,this.delay=r,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(a,this.id,r),this},e.prototype.requestAsyncId=function(n,r,i){return i===void 0&&(i=0),l0.setInterval(n.flush.bind(n,this),i)},e.prototype.recycleAsyncId=function(n,r,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return r;r!=null&&l0.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(n,r);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var i=!1,o;try{this.work(n)}catch(a){i=!0,o=a||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,i=n.scheduler,o=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Za(o,this),r!=null&&(this.id=this.recycleAsyncId(i,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(VP),u0=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=mc.now,t}(),XP=function(t){Ue(e,t);function e(n,r){r===void 0&&(r=u0.now);var i=t.call(this,n,r)||this;return i.actions=[],i._active=!1,i}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,i){for(;n=r.shift();)n.unsubscribe();throw i}},e}(u0);new XP(UP);function jP(t){return t&&Lt(t.schedule)}function c0(t){return t[t.length-1]}function HP(t){return Lt(c0(t))?t.pop():void 0}function qP(t){return jP(c0(t))?t.pop():void 0}var f0=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function h0(t){return Lt(t==null?void 0:t.then)}function p0(t){return Lt(t[gc])}function d0(t){return Symbol.asyncIterator&&Lt(t==null?void 0:t[Symbol.asyncIterator])}function g0(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function ZP(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var m0=ZP();function y0(t){return Lt(t==null?void 0:t[m0])}function b0(t){return MP(this,arguments,function(){var e,n,r,i;return Jg(this,function(o){switch(o.label){case 0:e=t.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,Ur(e.read())];case 3:return n=o.sent(),r=n.value,i=n.done,i?[4,Ur(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,Ur(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function x0(t){return Lt(t==null?void 0:t.getReader)}function Zn(t){if(t instanceof ge)return t;if(t!=null){if(p0(t))return KP(t);if(f0(t))return QP(t);if(h0(t))return JP(t);if(d0(t))return $0(t);if(y0(t))return tC(t);if(x0(t))return eC(t)}throw g0(t)}function KP(t){return new ge(function(e){var n=t[gc]();if(Lt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function QP(t){return new ge(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function JP(t){return new ge(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,i0)})}function tC(t){return new ge(function(e){var n,r;try{for(var i=Wr(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(s){n={error:s}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()})}function $0(t){return new ge(function(e){nC(t,e).catch(function(n){return e.error(n)})})}function eC(t){return $0(b0(t))}function nC(t,e){var n,r,i,o;return DP(this,void 0,void 0,function(){var a,s;return Jg(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=LP(t),l.label=1;case 1:return[4,n.next()];case 2:if(r=l.sent(),!!r.done)return[3,4];if(a=r.value,e.next(a),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=l.sent(),i={error:s},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Tn(t,e,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var o=e.schedule(function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(o),!i)return o}function v0(t,e){return e===void 0&&(e=0),Hn(function(n,r){n.subscribe(qn(r,function(i){return Tn(r,t,function(){return r.next(i)},e)},function(){return Tn(r,t,function(){return r.complete()},e)},function(i){return Tn(r,t,function(){return r.error(i)},e)}))})}function S0(t,e){return e===void 0&&(e=0),Hn(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function rC(t,e){return Zn(t).pipe(S0(e),v0(e))}function iC(t,e){return Zn(t).pipe(S0(e),v0(e))}function oC(t,e){return new ge(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function aC(t,e){return new ge(function(n){var r;return Tn(n,e,function(){r=t[m0](),Tn(n,e,function(){var i,o,a;try{i=r.next(),o=i.value,a=i.done}catch(s){n.error(s);return}a?n.complete():n.next(o)},0,!0)}),function(){return Lt(r==null?void 0:r.return)&&r.return()}})}function _0(t,e){if(!t)throw new Error("Iterable cannot be null");return new ge(function(n){Tn(n,e,function(){var r=t[Symbol.asyncIterator]();Tn(n,e,function(){r.next().then(function(i){i.done?n.complete():n.next(i.value)})},0,!0)})})}function sC(t,e){return _0(b0(t),e)}function lC(t,e){if(t!=null){if(p0(t))return rC(t,e);if(f0(t))return oC(t,e);if(h0(t))return iC(t,e);if(d0(t))return _0(t,e);if(y0(t))return aC(t,e);if(x0(t))return sC(t,e)}throw g0(t)}function w0(t,e){return e?lC(t,e):Zn(t)}cc(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function jr(t,e){return Hn(function(n,r){var i=0;n.subscribe(qn(r,function(o){r.next(t.call(e,o,i++))}))})}var uC=Array.isArray;function cC(t,e){return uC(e)?t.apply(void 0,Vr([],Yr(e))):t(e)}function fC(t){return jr(function(e){return cC(t,e)})}var hC=Array.isArray,pC=Object.getPrototypeOf,dC=Object.prototype,gC=Object.keys;function mC(t){if(t.length===1){var e=t[0];if(hC(e))return{args:e,keys:null};if(yC(e)){var n=gC(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function yC(t){return t&&typeof t=="object"&&pC(t)===dC}function bC(t,e){return t.reduce(function(n,r,i){return n[r]=e[i],n},{})}function T0(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=qP(t),r=HP(t),i=mC(t),o=i.args,a=i.keys;if(o.length===0)return w0([],n);var s=new ge(xC(o,n,a?function(l){return bC(a,l)}:Ja));return r?s.pipe(fC(r)):s}function xC(t,e,n){return n===void 0&&(n=Ja),function(r){A0(e,function(){for(var i=t.length,o=new Array(i),a=i,s=i,l=function(c){A0(e,function(){var h=w0(t[c],e),f=!1;h.subscribe(qn(r,function(p){o[c]=p,f||(f=!0,s--),s||r.next(n(o.slice()))},function(){--a||r.complete()}))},r)},u=0;u<i;u++)l(u)},r)}}function A0(t,e,n){t?Tn(n,t,e):e()}function $C(t,e){return e===void 0&&(e=Ja),t=t??vC,Hn(function(n,r){var i,o=!0;n.subscribe(qn(r,function(a){var s=e(a);(o||!t(i,s))&&(o=!1,i=s,r.next(a))}))})}function vC(t,e){return t===e}function SC(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Xr}:e,r=t.resetOnError,i=r===void 0?!0:r,o=t.resetOnComplete,a=o===void 0?!0:o,s=t.resetOnRefCountZero,l=s===void 0?!0:s;return function(u){var c,h,f,p=0,d=!1,g=!1,m=function(){h==null||h.unsubscribe(),h=void 0},b=function(){m(),c=f=void 0,d=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return Hn(function(x,$){p++,!g&&!d&&m();var S=f=f??n();$.add(function(){p--,p===0&&!g&&!d&&(h=yc(y,l))}),S.subscribe($),!c&&p>0&&(c=new io({next:function(A){return S.next(A)},error:function(A){g=!0,m(),h=yc(b,i,A),S.error(A)},complete:function(){d=!0,m(),h=yc(b,a),S.complete()}}),Zn(x).subscribe(c))})(u)}}function yc(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var i=new io({next:function(){i.unsubscribe(),t()}});return Zn(e.apply(void 0,Vr([],Yr(n)))).subscribe(i)}}function _C(t,e,n){var r,i=!1;return r=t,SC({connector:function(){return new YP(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:i})}function bc(t,e){return Hn(function(n,r){var i=null,o=0,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(qn(r,function(l){i==null||i.unsubscribe();var u=0,c=o++;Zn(t(l,c)).subscribe(i=qn(r,function(h){return r.next(e?e(l,h,c,u++):h)},function(){i=null,s()}))},function(){a=!0,s()}))})}function P0(t){return Hn(function(e,n){Zn(t).subscribe(qn(n,function(){return n.complete()},hc)),!n.closed&&e.subscribe(n)})}const wC=t=>t.pipe(jr(e=>e.styles.textSize),$C(),jr(e=>{let n=NaN;if(typeof e=="string")if(e.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(e)*r}else e.includes("px")&&(n=parseFloat(e));else if(typeof e=="number")return e;return n||14})),xc=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=de.scaleDomain,scaleRange:i=de.scaleRange,reverse:o=!1})=>{const a=r[0]??de.scaleDomain[0],s=r[1]??de.scaleDomain[1],l=i[0]??de.scaleRange[0],u=i[1]??de.scaleRange[1];let c=a==="auto"?e<0?e:0:a==="min"?e:a,h=s==="auto"?t>=0?t:0:s==="max"?t:s;const f=t-(t-c)/(1-l),p=h/u;return o?eo().domain([f,p]).range([n,0]):eo().domain([f,p]).range([0,n])},C0=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=de.scaleDomain,scaleRange:i=de.scaleRange,reverse:o=!1})=>{e===t&&(t+=1,e-=1);const a=r[0]??de.scaleDomain[0],s=r[1]??de.scaleDomain[1],l=i[0]??de.scaleRange[0],u=i[1]??de.scaleRange[1];let c=a==="auto"?e<0?e:0:a==="min"?e:a,h=s==="auto"?t>=0?t:0:s==="max"?t:s;const f=t-(t-c)/(1-l),p=h/u;return o?eo().domain([n,0]).range([f,p]):eo().domain([0,n]).range([f,p])},TC=({axisLabels:t,axisWidth:e,padding:n=.5})=>{let r=[0,e];return bP().domain(t).range(r).padding(n)},D0=({axisLabels:t,axisWidth:e,padding:n=0,reverse:r=!1})=>{let i=t.map((l,u)=>u);r&&i.reverse();const o=i.length-1+n*2,a=e/o,s=a*n-a*.5;return Kg().domain([s,e-s]).range(i)},M0=({computedData$:t,fullDataFormatter$:e,layout$:n})=>T0({computedData:t,fullDataFormatter:e,layout:n}).pipe(bc(async r=>r),jr(r=>{if(r.fullDataFormatter.separateSeries)return Qg(r.layout,r.fullDataFormatter.container,r.computedData.length);{const i=Qg(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((o,a)=>i[0])}})),L0=({fullDataFormatter$:t,layout$:e})=>{const n=new Xr;function r({xAxis:i,yAxis:o,width:a,height:s}){if(!i||!o)return{translate:[0,0],scale:[1,1],rotate:0,rotateX:0,rotateY:0,value:""};let l=0,u=0,c=0,h=0,f=0;return i.position==="bottom"?o.position==="left"?(h=180,u=s):o.position==="right"?(h=180,f=180,l=a,u=s):(h=180,u=s):i.position==="top"?o.position==="left"||(o.position==="right"?(f=180,l=a):(h=180,u=s)):i.position==="left"?o.position==="bottom"?(c=-90,u=s):o.position==="top"?(c=-90,f=180):(h=180,u=s):i.position==="right"?o.position==="bottom"?(c=-90,h=180,u=s,l=a):o.position==="top"?(c=-90,h=180,f=180,l=a):(h=180,u=s):(h=180,u=s),{translate:[l,u],scale:[1,1],rotate:c,rotateX:h,rotateY:f,value:`translate(${l}px, ${u}px) rotate(${c}deg) rotateX(${h}deg) rotateY(${f}deg)`}}return new ge(i=>(T0({fullDataFormatter:t,layout:e}).pipe(P0(n),bc(async o=>o)).subscribe(o=>{const a=r({xAxis:o.fullDataFormatter.groupAxis,yAxis:o.fullDataFormatter.valueAxis,width:o.layout.width,height:o.layout.height});i.next(a)}),function(){n.next(void 0)}))},k0=({gridAxesTransform$:t})=>t.pipe(jr(e=>{const n=[0,0],r=[1/e.scale[0],1/e.scale[1]],i=e.rotate*-1,o=e.rotateX*-1,a=e.rotateY*-1;return{translate:n,scale:r,rotate:i,rotateX:o,rotateY:a,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${o}deg) rotateY(${a}deg) rotate(${i}deg)`}}));function AC(t){return`[OrbCharts warn]: ${t.message}`}function PC({columnName:t,expectToBe:e,from:n}){return`Invalid value: '${t}' must be '${e}'
39
48
 
40
- ----> find in '${n}'`}function UP({columnName:t,expectToBe:e,from:n}){return`Value is not correct: '${t}' suppose to be '${e}', it may cause unexpected errors.'
49
+ ----> find in '${n}'`}function CC({columnName:t,expectToBe:e,from:n}){return`Value is not correct: '${t}' suppose to be '${e}', it may cause unexpected errors.'
41
50
 
42
- ----> find in '${n}'`}function HP({chartType:t,config:e,initFn:n}){const r=new Gr,i=new WeakMap;let o=()=>{},a;const s=new Ng(e.defaultParams),l=new Ng({}),u=s.pipe(ic(c=>l.pipe(r0(r),Yr(f=>{try{const{status:h,columnName:p,expectToBe:d}=e.validator(f,{validateColumns:q_});if(h==="error")throw new Error(VP({columnName:p,expectToBe:d,from:`${e.name}.params$`}));h==="warning"&&console.warn(UP({columnName:p,expectToBe:d,from:`${e.name}.params$`}))}catch(h){console.error(WP(h))}return Cu(f,c)}))),YP(1));return{params$:l,name:e.name,chartType:t,defaultParams:e.defaultParams,layerIndex:e.layerIndex,init(){a&&(o=n(a)??(()=>{}),i.set(a.selection,a))},destroy(){o(),a&&(a.selection.remove(),a=void 0),r.next(void 0)},setPresetParams:c=>{s.next(Cu(c,e.defaultParams))},setContext:c=>{a=c,a.observer.fullParams$=u}}}const Xr=t=>function(e){return function(n){return class{constructor(){const r=HP({chartType:t,config:e,initFn:n});this.params$=r.params$,this.name=r.name,this.chartType=r.chartType,this.defaultParams=r.defaultParams,this.layerIndex=r.layerIndex,this.init=r.init,this.destroy=r.destroy,this.setPresetParams=r.setPresetParams,this.setContext=r.setContext}}}},$n=Xr("series"),ae=Xr("grid"),pe=Xr("multiGrid"),Wn=Xr("multiValue"),oc=Xr("relationship"),ac=Xr("tree");function St(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function u0(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Wa(t){let e,n,r;t.length!==2?(e=St,n=(s,l)=>St(t(s),l),r=(s,l)=>t(s)-l):(e=t===St||t===u0?t:jP,n=t,r=t);function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const f=u+c>>>1;n(s[f],l)<0?u=f+1:c=f}while(u<c)}return u}function o(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const f=u+c>>>1;n(s[f],l)<=0?u=f+1:c=f}while(u<c)}return u}function a(s,l,u=0,c=s.length){const f=i(s,l,u,c-1);return f>u&&r(s[f-1],l)>-r(s[f],l)?f-1:f}return{left:i,center:a,right:o}}function jP(){return 0}function Va(t){return t===null?NaN:+t}function*qP(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}const c0=Wa(St),f0=c0.right,ZP=c0.left,KP=Wa(Va).center,Vn=f0;function QP(t,e){if(!((e=+e)>=0))throw new RangeError("invalid r");let n=t.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!e)return t;const r=sc(e),i=t.slice();return r(t,i,0,n,1),r(i,t,0,n,1),r(t,i,0,n,1),t}const h0=p0(sc),JP=p0(tD);function p0(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:a}=e;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((a=Math.floor(a!==void 0?a:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!a||!n&&!r)return e;const s=n&&t(n),l=r&&t(r),u=i.slice();return s&&l?(Wr(s,u,i,o,a),Wr(s,i,u,o,a),Wr(s,u,i,o,a),Vr(l,i,u,o,a),Vr(l,u,i,o,a),Vr(l,i,u,o,a)):s?(Wr(s,i,u,o,a),Wr(s,u,i,o,a),Wr(s,i,u,o,a)):l&&(Vr(l,i,u,o,a),Vr(l,u,i,o,a),Vr(l,i,u,o,a)),e}}function Wr(t,e,n,r,i){for(let o=0,a=r*i;o<a;)t(e,n,o,o+=r,1)}function Vr(t,e,n,r,i){for(let o=0,a=r*i;o<r;++o)t(e,n,o,o+a,r)}function tD(t){const e=sc(t);return(n,r,i,o,a)=>{i<<=2,o<<=2,a<<=2,e(n,r,i+0,o+0,a),e(n,r,i+1,o+1,a),e(n,r,i+2,o+2,a),e(n,r,i+3,o+3,a)}}function sc(t){const e=Math.floor(t);if(e===t)return eD(t);const n=t-e,r=2*t+1;return(i,o,a,s,l)=>{if(!((s-=l)>=a))return;let u=e*o[a];const c=l*e,f=c+l;for(let h=a,p=a+c;h<p;h+=l)u+=o[Math.min(s,h)];for(let h=a,p=s;h<=p;h+=l)u+=o[Math.min(s,h+c)],i[h]=(u+n*(o[Math.max(a,h-f)]+o[Math.min(s,h+f)]))/r,u-=o[Math.max(a,h-c)]}}function eD(t){const e=2*t+1;return(n,r,i,o,a)=>{if(!((o-=a)>=i))return;let s=t*r[i];const l=a*t;for(let u=i,c=i+l;u<c;u+=a)s+=r[Math.min(o,u)];for(let u=i,c=o;u<=c;u+=a)s+=r[Math.min(o,u+l)],n[u]=s/e,s-=r[Math.max(i,u-l)]}}function Ua(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(i=+i)>=i&&++n}return n}function nD(t){return t.length|0}function rD(t){return!(t>0)}function iD(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function oD(t){return e=>t(...e)}function aD(...t){const e=typeof t[t.length-1]=="function"&&oD(t.pop());t=t.map(iD);const n=t.map(nD),r=t.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(rD))return o;for(;;){o.push(i.map((s,l)=>t[l][s]));let a=r;for(;++i[a]===n[a];){if(a===0)return e?o.map(e):o;i[a--]=0}}}function sD(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?i=>n+=+i||0:i=>n+=+e(i,r++,t)||0)}function d0(t,e){let n=0,r,i=0,o=0;if(e===void 0)for(let a of t)a!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,o+=r*(a-i));else{let a=-1;for(let s of t)(s=e(s,++a,t))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,o+=r*(s-i))}if(n>1)return o/(n-1)}function g0(t,e){const n=d0(t,e);return n&&Math.sqrt(n)}function Qi(t,e){let n,r;if(e===void 0)for(const i of t)i!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)));else{let i=-1;for(let o of t)(o=e(o,++i,t))!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}class Lt{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const n=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const o=n[i],a=e+o,s=Math.abs(e)<Math.abs(o)?e-(a-o):o-(a-e);s&&(n[r++]=s),e=a}return n[r]=e,this._n=r+1,this}valueOf(){const e=this._partials;let n=this._n,r,i,o,a=0;if(n>0){for(a=e[--n];n>0&&(r=a,i=e[--n],a=r+i,o=i-(a-r),!o););n>0&&(o<0&&e[n-1]<0||o>0&&e[n-1]>0)&&(i=o*2,r=a+i,i==r-a&&(a=r))}return a}}function lD(t,e){const n=new Lt;if(e===void 0)for(let r of t)(r=+r)&&n.add(r);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&n.add(i)}return+n}function uD(t,e){const n=new Lt;let r=-1;return Float64Array.from(t,e===void 0?i=>n.add(+i||0):i=>n.add(+e(i,++r,t)||0))}class Ji extends Map{constructor(e,n=b0){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(lc(this,e))}has(e){return super.has(lc(this,e))}set(e,n){return super.set(m0(this,e),n)}delete(e){return super.delete(y0(this,e))}}class Un extends Set{constructor(e,n=b0){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const r of e)this.add(r)}has(e){return super.has(lc(this,e))}add(e){return super.add(m0(this,e))}delete(e){return super.delete(y0(this,e))}}function lc({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function m0({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function y0({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function b0(t){return t!==null&&typeof t=="object"?t.valueOf():t}function Ur(t){return t}function x0(t,...e){return Hr(t,Ur,Ur,e)}function v0(t,...e){return Hr(t,Array.from,Ur,e)}function $0(t,e){for(let n=1,r=e.length;n<r;++n)t=t.flatMap(i=>i.pop().map(([o,a])=>[...i,o,a]));return t}function cD(t,...e){return $0(v0(t,...e),e)}function fD(t,e,...n){return $0(S0(t,e,...n),n)}function _0(t,e,...n){return Hr(t,Ur,e,n)}function S0(t,e,...n){return Hr(t,Array.from,e,n)}function hD(t,...e){return Hr(t,Ur,w0,e)}function pD(t,...e){return Hr(t,Array.from,w0,e)}function w0(t){if(t.length!==1)throw new Error("duplicate key");return t[0]}function Hr(t,e,n,r){return function i(o,a){if(a>=r.length)return n(o);const s=new Ji,l=r[a++];let u=-1;for(const c of o){const f=l(c,++u,o),h=s.get(f);h?h.push(c):s.set(f,[c])}for(const[c,f]of s)s.set(c,i(f,a));return e(s)}(t,0)}function T0(t,e){return Array.from(e,n=>t[n])}function uc(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){const r=Uint32Array.from(t,(i,o)=>o);return e.length>1?(e=e.map(i=>t.map(i)),r.sort((i,o)=>{for(const a of e){const s=jr(a[i],a[o]);if(s)return s}})):(n=t.map(n),r.sort((i,o)=>jr(n[i],n[o]))),T0(t,r)}return t.sort(cc(n))}function cc(t=St){if(t===St)return jr;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function jr(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function dD(t,e,n){return(e.length!==2?uc(_0(t,e,n),([r,i],[o,a])=>St(i,a)||St(r,o)):uc(x0(t,n),([r,i],[o,a])=>e(i,a)||St(r,o))).map(([r])=>r)}var gD=Array.prototype,mD=gD.slice;function fc(t){return()=>t}const yD=Math.sqrt(50),bD=Math.sqrt(10),xD=Math.sqrt(2);function Ha(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=yD?10:o>=bD?5:o>=xD?2:1;let s,l,u;return i<0?(u=Math.pow(10,-i)/a,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,i)*a,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?Ha(t,e,n*2):[s,l,u]}function Hn(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[i,o,a]=r?Ha(e,t,n):Ha(t,e,n);if(!(o>=i))return[];const s=o-i+1,l=new Array(s);if(r)if(a<0)for(let u=0;u<s;++u)l[u]=(o-u)/-a;else for(let u=0;u<s;++u)l[u]=(o-u)*a;else if(a<0)for(let u=0;u<s;++u)l[u]=(i+u)/-a;else for(let u=0;u<s;++u)l[u]=(i+u)*a;return l}function jn(t,e,n){return e=+e,t=+t,n=+n,Ha(t,e,n)[2]}function ja(t,e,n){e=+e,t=+t,n=+n;const r=e<t,i=r?jn(e,t,n):jn(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}function hc(t,e,n){let r;for(;;){const i=jn(t,e,n);if(i===r||i===0||!isFinite(i))return[t,e];i>0?(t=Math.floor(t/i)*i,e=Math.ceil(e/i)*i):i<0&&(t=Math.ceil(t*i)/i,e=Math.floor(e*i)/i),r=i}}function pc(t){return Math.max(1,Math.ceil(Math.log(Ua(t))/Math.LN2)+1)}function A0(){var t=Ur,e=Qi,n=pc;function r(i){Array.isArray(i)||(i=Array.from(i));var o,a=i.length,s,l,u=new Array(a);for(o=0;o<a;++o)u[o]=t(i[o],o,i);var c=e(u),f=c[0],h=c[1],p=n(u,f,h);if(!Array.isArray(p)){const v=h,x=+p;if(e===Qi&&([f,h]=hc(f,h,x)),p=Hn(f,h,x),p[0]<=f&&(l=jn(f,h,x)),p[p.length-1]>=h)if(v>=h&&e===Qi){const _=jn(f,h,x);isFinite(_)&&(_>0?h=(Math.floor(h/_)+1)*_:_<0&&(h=(Math.ceil(h*-_)+1)/-_))}else p.pop()}for(var d=p.length,m=0,g=d;p[m]<=f;)++m;for(;p[g-1]>h;)--g;(m||g<d)&&(p=p.slice(m,g),d=g-m);var y=new Array(d+1),b;for(o=0;o<=d;++o)b=y[o]=[],b.x0=o>0?p[o-1]:f,b.x1=o<d?p[o]:h;if(isFinite(l)){if(l>0)for(o=0;o<a;++o)(s=u[o])!=null&&f<=s&&s<=h&&y[Math.min(d,Math.floor((s-f)/l))].push(i[o]);else if(l<0){for(o=0;o<a;++o)if((s=u[o])!=null&&f<=s&&s<=h){const v=Math.floor((f-s)*l);y[Math.min(d,v+(p[v]<=s))].push(i[o])}}}else for(o=0;o<a;++o)(s=u[o])!=null&&f<=s&&s<=h&&y[Vn(p,s,0,d)].push(i[o]);return y}return r.value=function(i){return arguments.length?(t=typeof i=="function"?i:fc(i),r):t},r.domain=function(i){return arguments.length?(e=typeof i=="function"?i:fc([i[0],i[1]]),r):e},r.thresholds=function(i){return arguments.length?(n=typeof i=="function"?i:fc(Array.isArray(i)?mD.call(i):i),r):n},r}function to(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function dc(t,e){let n,r=-1,i=-1;if(e===void 0)for(const o of t)++i,o!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of t)(o=e(o,++i,t))!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);return r}function qa(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function gc(t,e){let n,r=-1,i=-1;if(e===void 0)for(const o of t)++i,o!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of t)(o=e(o,++i,t))!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);return r}function Za(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?jr:cc(i);r>n;){if(r-n>600){const l=r-n+1,u=e-n+1,c=Math.log(l),f=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*f*(l-f)/l)*(u-l/2<0?-1:1),p=Math.max(n,Math.floor(e-u*f/l+h)),d=Math.min(r,Math.floor(e+(l-u)*f/l+h));Za(t,e,p,d,i)}const o=t[e];let a=n,s=r;for(eo(t,n,e),i(t[r],o)>0&&eo(t,n,r);a<s;){for(eo(t,a,s),++a,--s;i(t[a],o)<0;)++a;for(;i(t[s],o)>0;)--s}i(t[n],o)===0?eo(t,n,s):(++s,eo(t,s,r)),s<=e&&(n=s+1),e<=s&&(r=s-1)}return t}function eo(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function P0(t,e=St){let n,r=!1;if(e.length===1){let i;for(const o of t){const a=e(o);(r?St(a,i)>0:St(a,a)===0)&&(n=o,i=a,r=!0)}}else for(const i of t)(r?e(i,n)>0:e(i,i)===0)&&(n=i,r=!0);return n}function no(t,e,n){if(t=Float64Array.from(qP(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return qa(t);if(e>=1)return to(t);var r,i=(r-1)*e,o=Math.floor(i),a=to(Za(t,o).subarray(0,o+1)),s=qa(t.subarray(o+1));return a+(s-a)*(i-o)}}function D0(t,e,n=Va){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,o=Math.floor(i),a=+n(t[o],o,t),s=+n(t[o+1],o+1,t);return a+(s-a)*(i-o)}}function C0(t,e,n=Va){if(!isNaN(e=+e)){if(r=Float64Array.from(t,(s,l)=>Va(n(t[l],l,t))),e<=0)return gc(r);if(e>=1)return dc(r);var r,i=Uint32Array.from(t,(s,l)=>l),o=r.length-1,a=Math.floor(o*e);return Za(i,a,0,o,(s,l)=>jr(r[s],r[l])),a=P0(i.subarray(0,a+1),s=>r[s]),a>=0?a:-1}}function vD(t,e,n){const r=Ua(t),i=no(t,.75)-no(t,.25);return r&&i?Math.ceil((n-e)/(2*i*Math.pow(r,-1/3))):1}function $D(t,e,n){const r=Ua(t),i=g0(t);return r&&i?Math.ceil((n-e)*Math.cbrt(r)/(3.49*i)):1}function _D(t,e){let n=0,r=0;if(e===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let o of t)(o=e(o,++i,t))!=null&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function SD(t,e){return no(t,.5,e)}function wD(t,e){return C0(t,.5,e)}function*TD(t){for(const e of t)yield*e}function mc(t){return Array.from(TD(t))}function AD(t,e){const n=new Ji;if(e===void 0)for(let o of t)o!=null&&o>=o&&n.set(o,(n.get(o)||0)+1);else{let o=-1;for(let a of t)(a=e(a,++o,t))!=null&&a>=a&&n.set(a,(n.get(a)||0)+1)}let r,i=0;for(const[o,a]of n)a>i&&(i=a,r=o);return r}function PD(t,e=DD){const n=[];let r,i=!1;for(const o of t)i&&n.push(e(r,o)),r=o,i=!0;return n}function DD(t,e){return[t,e]}function _n(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,o=new Array(i);++r<i;)o[r]=t+r*n;return o}function CD(t,e=St){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t);const r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=St);const i=(s,l)=>e(n[s],n[l]);let o,a;return t=Uint32Array.from(n,(s,l)=>l),t.sort(e===St?(s,l)=>jr(n[s],n[l]):cc(i)),t.forEach((s,l)=>{const u=i(s,o===void 0?s:o);u>=0?((o===void 0||u>0)&&(o=s,a=l),r[s]=a):r[s]=NaN}),r}function MD(t,e=St){let n,r=!1;if(e.length===1){let i;for(const o of t){const a=e(o);(r?St(a,i)<0:St(a,a)===0)&&(n=o,i=a,r=!0)}}else for(const i of t)(r?e(i,n)<0:e(i,i)===0)&&(n=i,r=!0);return n}function M0(t,e=St){if(e.length===1)return gc(t,e);let n,r=-1,i=-1;for(const o of t)++i,(r<0?e(o,o)===0:e(o,n)<0)&&(n=o,r=i);return r}function LD(t,e=St){if(e.length===1)return dc(t,e);let n,r=-1,i=-1;for(const o of t)++i,(r<0?e(o,o)===0:e(o,n)>0)&&(n=o,r=i);return r}function kD(t,e){const n=M0(t,e);return n<0?void 0:n}const RD=L0(Math.random);function L0(t){return function(n,r=0,i=n.length){let o=i-(r=+r);for(;o;){const a=t()*o--|0,s=n[o+r];n[o+r]=n[a+r],n[a+r]=s}return n}}function yc(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&(n+=i)}return n}function k0(t){if(!(o=t.length))return[];for(var e=-1,n=qa(t,ED),r=new Array(n);++e<n;)for(var i=-1,o,a=r[e]=new Array(o);++i<o;)a[i]=t[i][e];return r}function ED(t){return t.length}function ID(){return k0(arguments)}function BD(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(!e(r,++n,t))return!1;return!0}function ND(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(e(r,++n,t))return!0;return!1}function FD(t,e){if(typeof e!="function")throw new TypeError("test is not a function");const n=[];let r=-1;for(const i of t)e(i,++r,t)&&n.push(i);return n}function OD(t,e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");if(typeof e!="function")throw new TypeError("mapper is not a function");return Array.from(t,(n,r)=>e(n,r,t))}function zD(t,e,n){if(typeof e!="function")throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let i,o,a=-1;if(arguments.length<3){if({done:i,value:n}=r.next(),i)return;++a}for(;{done:i,value:o}=r.next(),!i;)n=e(n,o,++a,t);return n}function GD(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function YD(t,...e){t=new Un(t);for(const n of e)for(const r of n)t.delete(r);return t}function XD(t,e){const n=e[Symbol.iterator](),r=new Un;for(const i of t){if(r.has(i))return!1;let o,a;for(;({value:o,done:a}=n.next())&&!a;){if(Object.is(i,o))return!1;r.add(o)}}return!0}function WD(t,...e){t=new Un(t),e=e.map(VD);t:for(const n of t)for(const r of e)if(!r.has(n)){t.delete(n);continue t}return t}function VD(t){return t instanceof Un?t:new Un(t)}function R0(t,e){const n=t[Symbol.iterator](),r=new Set;for(const i of e){const o=E0(i);if(r.has(o))continue;let a,s;for(;{value:a,done:s}=n.next();){if(s)return!1;const l=E0(a);if(r.add(l),Object.is(o,l))break}}return!0}function E0(t){return t!==null&&typeof t=="object"?t.valueOf():t}function UD(t,e){return R0(e,t)}function HD(...t){const e=new Un;for(const n of t)for(const r of n)e.add(r);return e}function jD(t){return t}var Ka=1,Qa=2,bc=3,ro=4,I0=1e-6;function qD(t){return"translate("+t+",0)"}function ZD(t){return"translate(0,"+t+")"}function KD(t){return e=>+t(e)}function QD(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function JD(){return!this.__axis}function Ja(t,e){var n=[],r=null,i=null,o=6,a=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===Ka||t===ro?-1:1,c=t===ro||t===Qa?"x":"y",f=t===Ka||t===bc?qD:ZD;function h(p){var d=r??(e.ticks?e.ticks.apply(e,n):e.domain()),m=i??(e.tickFormat?e.tickFormat.apply(e,n):jD),g=Math.max(o,0)+s,y=e.range(),b=+y[0]+l,v=+y[y.length-1]+l,x=(e.bandwidth?QD:KD)(e.copy(),l),_=p.selection?p.selection():p,T=_.selectAll(".domain").data([null]),S=_.selectAll(".tick").data(d,e).order(),A=S.exit(),P=S.enter().append("g").attr("class","tick"),B=S.select("line"),$=S.select("text");T=T.merge(T.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),S=S.merge(P),B=B.merge(P.append("line").attr("stroke","currentColor").attr(c+"2",u*o)),$=$.merge(P.append("text").attr("fill","currentColor").attr(c,u*g).attr("dy",t===Ka?"0em":t===bc?"0.71em":"0.32em")),p!==_&&(T=T.transition(p),S=S.transition(p),B=B.transition(p),$=$.transition(p),A=A.transition(p).attr("opacity",I0).attr("transform",function(k){return isFinite(k=x(k))?f(k+l):this.getAttribute("transform")}),P.attr("opacity",I0).attr("transform",function(k){var D=this.parentNode.__axis;return f((D&&isFinite(D=D(k))?D:x(k))+l)})),A.remove(),T.attr("d",t===ro||t===Qa?a?"M"+u*a+","+b+"H"+l+"V"+v+"H"+u*a:"M"+l+","+b+"V"+v:a?"M"+b+","+u*a+"V"+l+"H"+v+"V"+u*a:"M"+b+","+l+"H"+v),S.attr("opacity",1).attr("transform",function(k){return f(x(k)+l)}),B.attr(c+"2",u*o),$.attr(c,u*g).text(m),_.filter(JD).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Qa?"start":t===ro?"end":"middle"),_.each(function(){this.__axis=x})}return h.scale=function(p){return arguments.length?(e=p,h):e},h.ticks=function(){return n=Array.from(arguments),h},h.tickArguments=function(p){return arguments.length?(n=p==null?[]:Array.from(p),h):n.slice()},h.tickValues=function(p){return arguments.length?(r=p==null?null:Array.from(p),h):r&&r.slice()},h.tickFormat=function(p){return arguments.length?(i=p,h):i},h.tickSize=function(p){return arguments.length?(o=a=+p,h):o},h.tickSizeInner=function(p){return arguments.length?(o=+p,h):o},h.tickSizeOuter=function(p){return arguments.length?(a=+p,h):a},h.tickPadding=function(p){return arguments.length?(s=+p,h):s},h.offset=function(p){return arguments.length?(l=+p,h):l},h}function tC(t){return Ja(Ka,t)}function eC(t){return Ja(Qa,t)}function xc(t){return Ja(bc,t)}function vc(t){return Ja(ro,t)}var nC={value:()=>{}};function qn(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new ts(n)}function ts(t){this._=t}function rC(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}ts.prototype=qn.prototype={constructor:ts,on:function(t,e){var n=this._,r=rC(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(t=r[o]).type)&&(i=iC(n[i],t.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++o<a;)if(i=(t=r[o]).type)n[i]=B0(n[i],t.name,e);else if(e==null)for(i in n)n[i]=B0(n[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ts(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};function iC(t,e){for(var n=0,r=t.length,i;n<r;++n)if((i=t[n]).name===e)return i.value}function B0(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=nC,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var $c="http://www.w3.org/1999/xhtml";const _c={svg:"http://www.w3.org/2000/svg",xhtml:$c,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function io(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),_c.hasOwnProperty(e)?{space:_c[e],local:t}:t}function oC(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===$c&&e.documentElement.namespaceURI===$c?e.createElement(t):e.createElementNS(n,t)}}function aC(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function es(t){var e=io(t);return(e.local?aC:oC)(e)}function sC(){}function ns(t){return t==null?sC:function(){return this.querySelector(t)}}function lC(t){typeof t!="function"&&(t=ns(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=new Array(a),l,u,c=0;c<a;++c)(l=o[c])&&(u=t.call(l,l.__data__,c,o))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new Ut(r,this._parents)}function N0(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function uC(){return[]}function Sc(t){return t==null?uC:function(){return this.querySelectorAll(t)}}function cC(t){return function(){return N0(t.apply(this,arguments))}}function fC(t){typeof t=="function"?t=cC(t):t=Sc(t);for(var e=this._groups,n=e.length,r=[],i=[],o=0;o<n;++o)for(var a=e[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&(r.push(t.call(l,l.__data__,u,a)),i.push(l));return new Ut(r,i)}function wc(t){return function(){return this.matches(t)}}function F0(t){return function(e){return e.matches(t)}}var hC=Array.prototype.find;function pC(t){return function(){return hC.call(this.children,t)}}function dC(){return this.firstElementChild}function gC(t){return this.select(t==null?dC:pC(typeof t=="function"?t:F0(t)))}var mC=Array.prototype.filter;function yC(){return Array.from(this.children)}function bC(t){return function(){return mC.call(this.children,t)}}function xC(t){return this.selectAll(t==null?yC:bC(typeof t=="function"?t:F0(t)))}function vC(t){typeof t!="function"&&(t=wc(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new Ut(r,this._parents)}function O0(t){return new Array(t.length)}function $C(){return new Ut(this._enter||this._groups.map(O0),this._parents)}function rs(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}rs.prototype={constructor:rs,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function _C(t){return function(){return t}}function SC(t,e,n,r,i,o){for(var a=0,s,l=e.length,u=o.length;a<u;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new rs(t,o[a]);for(;a<l;++a)(s=e[a])&&(i[a]=s)}function wC(t,e,n,r,i,o,a){var s,l,u=new Map,c=e.length,f=o.length,h=new Array(c),p;for(s=0;s<c;++s)(l=e[s])&&(h[s]=p=a.call(l,l.__data__,s,e)+"",u.has(p)?i[s]=l:u.set(p,l));for(s=0;s<f;++s)p=a.call(t,o[s],s,o)+"",(l=u.get(p))?(r[s]=l,l.__data__=o[s],u.delete(p)):n[s]=new rs(t,o[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(h[s])===l&&(i[s]=l)}function TC(t){return t.__data__}function AC(t,e){if(!arguments.length)return Array.from(this,TC);var n=e?wC:SC,r=this._parents,i=this._groups;typeof t!="function"&&(t=_C(t));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),u=0;u<o;++u){var c=r[u],f=i[u],h=f.length,p=PC(t.call(c,c&&c.__data__,u,r)),d=p.length,m=s[u]=new Array(d),g=a[u]=new Array(d),y=l[u]=new Array(h);n(c,f,m,g,y,p,e);for(var b=0,v=0,x,_;b<d;++b)if(x=m[b]){for(b>=v&&(v=b+1);!(_=g[v])&&++v<d;);x._next=_||null}}return a=new Ut(a,r),a._enter=s,a._exit=l,a}function PC(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function DC(){return new Ut(this._exit||this._groups.map(O0),this._parents)}function CC(t,e,n){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function MC(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var u=n[l],c=r[l],f=u.length,h=s[l]=new Array(f),p,d=0;d<f;++d)(p=u[d]||c[d])&&(h[d]=p);for(;l<i;++l)s[l]=n[l];return new Ut(s,this._parents)}function LC(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function kC(t){t||(t=RC);function e(f,h){return f&&h?t(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,l=i[o]=new Array(s),u,c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new Ut(i,this._parents).order()}function RC(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function EC(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function IC(){return Array.from(this)}function BC(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function NC(){let t=0;for(const e of this)++t;return t}function FC(){return!this.node()}function OC(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i=e[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&t.call(s,s.__data__,o,i);return this}function zC(t){return function(){this.removeAttribute(t)}}function GC(t){return function(){this.removeAttributeNS(t.space,t.local)}}function YC(t,e){return function(){this.setAttribute(t,e)}}function XC(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function WC(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function VC(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function UC(t,e){var n=io(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?GC:zC:typeof e=="function"?n.local?VC:WC:n.local?XC:YC)(n,e))}function Tc(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function HC(t){return function(){this.style.removeProperty(t)}}function jC(t,e,n){return function(){this.style.setProperty(t,e,n)}}function qC(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function ZC(t,e,n){return arguments.length>1?this.each((e==null?HC:typeof e=="function"?qC:jC)(t,e,n??"")):Zn(this.node(),t)}function Zn(t,e){return t.style.getPropertyValue(e)||Tc(t).getComputedStyle(t,null).getPropertyValue(e)}function KC(t){return function(){delete this[t]}}function QC(t,e){return function(){this[t]=e}}function JC(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function tM(t,e){return arguments.length>1?this.each((e==null?KC:typeof e=="function"?JC:QC)(t,e)):this.node()[t]}function z0(t){return t.trim().split(/^|\s+/)}function Ac(t){return t.classList||new G0(t)}function G0(t){this._node=t,this._names=z0(t.getAttribute("class")||"")}G0.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Y0(t,e){for(var n=Ac(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function X0(t,e){for(var n=Ac(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function eM(t){return function(){Y0(this,t)}}function nM(t){return function(){X0(this,t)}}function rM(t,e){return function(){(e.apply(this,arguments)?Y0:X0)(this,t)}}function iM(t,e){var n=z0(t+"");if(arguments.length<2){for(var r=Ac(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof e=="function"?rM:e?eM:nM)(n,e))}function oM(){this.textContent=""}function aM(t){return function(){this.textContent=t}}function sM(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function lM(t){return arguments.length?this.each(t==null?oM:(typeof t=="function"?sM:aM)(t)):this.node().textContent}function uM(){this.innerHTML=""}function cM(t){return function(){this.innerHTML=t}}function fM(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function hM(t){return arguments.length?this.each(t==null?uM:(typeof t=="function"?fM:cM)(t)):this.node().innerHTML}function pM(){this.nextSibling&&this.parentNode.appendChild(this)}function dM(){return this.each(pM)}function gM(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function mM(){return this.each(gM)}function yM(t){var e=typeof t=="function"?t:es(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function bM(){return null}function xM(t,e){var n=typeof t=="function"?t:es(t),r=e==null?bM:typeof e=="function"?e:ns(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function vM(){var t=this.parentNode;t&&t.removeChild(this)}function $M(){return this.each(vM)}function _M(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function SM(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function wM(t){return this.select(t?SM:_M)}function TM(t){return arguments.length?this.property("__data__",t):this.node().__data__}function AM(t){return function(e){t.call(this,e,this.__data__)}}function PM(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function DM(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n<i;++n)o=e[n],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):e[++r]=o;++r?e.length=r:delete this.__on}}}function CM(t,e,n){return function(){var r=this.__on,i,o=AM(e);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=e;return}}this.addEventListener(t.type,o,n),i={type:t.type,name:t.name,value:e,listener:o,options:n},r?r.push(i):this.__on=[i]}}function MM(t,e,n){var r=PM(t+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,u=s.length,c;l<u;++l)for(i=0,c=s[l];i<o;++i)if((a=r[i]).type===c.type&&a.name===c.name)return c.value}return}for(s=e?CM:DM,i=0;i<o;++i)this.each(s(r[i],e,n));return this}function W0(t,e,n){var r=Tc(t),i=r.CustomEvent;typeof i=="function"?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function LM(t,e){return function(){return W0(this,t,e)}}function kM(t,e){return function(){return W0(this,t,e.apply(this,arguments))}}function RM(t,e){return this.each((typeof e=="function"?kM:LM)(t,e))}function*EM(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var Pc=[null];function Ut(t,e){this._groups=t,this._parents=e}function Kn(){return new Ut([[document.documentElement]],Pc)}function IM(){return this}Ut.prototype=Kn.prototype={constructor:Ut,select:lC,selectAll:fC,selectChild:gC,selectChildren:xC,filter:vC,data:AC,enter:$C,exit:DC,join:CC,merge:MC,selection:IM,order:LC,sort:kC,call:EC,nodes:IC,node:BC,size:NC,empty:FC,each:OC,attr:UC,style:ZC,property:tM,classed:iM,text:lM,html:hM,raise:dM,lower:mM,append:yM,insert:xM,remove:$M,clone:wM,datum:TM,on:MM,dispatch:RM,[Symbol.iterator]:EM};function V(t){return typeof t=="string"?new Ut([[document.querySelector(t)]],[document.documentElement]):new Ut([[t]],Pc)}function BM(t){return V(es(t).call(document.documentElement))}var NM=0;function V0(){return new Dc}function Dc(){this._="@"+(++NM).toString(36)}Dc.prototype=V0.prototype={constructor:Dc,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};function U0(t){let e;for(;e=t.sourceEvent;)t=e;return t}function de(t,e){if(t=U0(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}function FM(t,e){return t.target&&(t=U0(t),e===void 0&&(e=t.currentTarget),t=t.touches||[t]),Array.from(t,n=>de(n,e))}function OM(t){return typeof t=="string"?new Ut([document.querySelectorAll(t)],[document.documentElement]):new Ut([N0(t)],Pc)}const zM={passive:!1},oo={capture:!0,passive:!1};function Cc(t){t.stopImmediatePropagation()}function qr(t){t.preventDefault(),t.stopImmediatePropagation()}function is(t){var e=t.document.documentElement,n=V(t).on("dragstart.drag",qr,oo);"onselectstart"in e?n.on("selectstart.drag",qr,oo):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function os(t,e){var n=t.document.documentElement,r=V(t).on("dragstart.drag",null);e&&(r.on("click.drag",qr,oo),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const as=t=>()=>t;function Mc(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Mc.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function GM(t){return!t.ctrlKey&&!t.button}function YM(){return this.parentNode}function XM(t,e){return e??{x:t.x,y:t.y}}function WM(){return navigator.maxTouchPoints||"ontouchstart"in this}function Lc(){var t=GM,e=YM,n=XM,r=WM,i={},o=qn("start","drag","end"),a=0,s,l,u,c,f=0;function h(x){x.on("mousedown.drag",p).filter(r).on("touchstart.drag",g).on("touchmove.drag",y,zM).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(x,_){if(!(c||!t.call(this,x,_))){var T=v(this,e.call(this,x,_),x,_,"mouse");T&&(V(x.view).on("mousemove.drag",d,oo).on("mouseup.drag",m,oo),is(x.view),Cc(x),u=!1,s=x.clientX,l=x.clientY,T("start",x))}}function d(x){if(qr(x),!u){var _=x.clientX-s,T=x.clientY-l;u=_*_+T*T>f}i.mouse("drag",x)}function m(x){V(x.view).on("mousemove.drag mouseup.drag",null),os(x.view,u),qr(x),i.mouse("end",x)}function g(x,_){if(t.call(this,x,_)){var T=x.changedTouches,S=e.call(this,x,_),A=T.length,P,B;for(P=0;P<A;++P)(B=v(this,S,x,_,T[P].identifier,T[P]))&&(Cc(x),B("start",x,T[P]))}}function y(x){var _=x.changedTouches,T=_.length,S,A;for(S=0;S<T;++S)(A=i[_[S].identifier])&&(qr(x),A("drag",x,_[S]))}function b(x){var _=x.changedTouches,T=_.length,S,A;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),S=0;S<T;++S)(A=i[_[S].identifier])&&(Cc(x),A("end",x,_[S]))}function v(x,_,T,S,A,P){var B=o.copy(),$=de(P||T,_),k,D,w;if((w=n.call(x,new Mc("beforestart",{sourceEvent:T,target:h,identifier:A,active:a,x:$[0],y:$[1],dx:0,dy:0,dispatch:B}),S))!=null)return k=w.x-$[0]||0,D=w.y-$[1]||0,function M(C,X,O){var I=$,N;switch(C){case"start":i[A]=M,N=a++;break;case"end":delete i[A],--a;case"drag":$=de(O||X,_),N=a;break}B.call(C,x,new Mc(C,{sourceEvent:X,subject:w,target:h,identifier:A,active:N,x:$[0]+k,y:$[1]+D,dx:$[0]-I[0],dy:$[1]-I[1],dispatch:B}),S)}}return h.filter=function(x){return arguments.length?(t=typeof x=="function"?x:as(!!x),h):t},h.container=function(x){return arguments.length?(e=typeof x=="function"?x:as(x),h):e},h.subject=function(x){return arguments.length?(n=typeof x=="function"?x:as(x),h):n},h.touchable=function(x){return arguments.length?(r=typeof x=="function"?x:as(!!x),h):r},h.on=function(){var x=o.on.apply(o,arguments);return x===o?h:x},h.clickDistance=function(x){return arguments.length?(f=(x=+x)*x,h):Math.sqrt(f)},h}function Zr(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function ao(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Sn(){}var Qn=.7,Kr=1/Qn,Qr="\\s*([+-]?\\d+)\\s*",so="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ye="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",VM=/^#([0-9a-f]{3,8})$/,UM=new RegExp(`^rgb\\(${Qr},${Qr},${Qr}\\)$`),HM=new RegExp(`^rgb\\(${Ye},${Ye},${Ye}\\)$`),jM=new RegExp(`^rgba\\(${Qr},${Qr},${Qr},${so}\\)$`),qM=new RegExp(`^rgba\\(${Ye},${Ye},${Ye},${so}\\)$`),ZM=new RegExp(`^hsl\\(${so},${Ye},${Ye}\\)$`),KM=new RegExp(`^hsla\\(${so},${Ye},${Ye},${so}\\)$`),H0={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Zr(Sn,wn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:j0,formatHex:j0,formatHex8:QM,formatHsl:JM,formatRgb:q0,toString:q0});function j0(){return this.rgb().formatHex()}function QM(){return this.rgb().formatHex8()}function JM(){return tm(this).formatHsl()}function q0(){return this.rgb().formatRgb()}function wn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=VM.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?Z0(e):n===3?new Et(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ss(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ss(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=UM.exec(t))?new Et(e[1],e[2],e[3],1):(e=HM.exec(t))?new Et(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=jM.exec(t))?ss(e[1],e[2],e[3],e[4]):(e=qM.exec(t))?ss(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=ZM.exec(t))?J0(e[1],e[2]/100,e[3]/100,1):(e=KM.exec(t))?J0(e[1],e[2]/100,e[3]/100,e[4]):H0.hasOwnProperty(t)?Z0(H0[t]):t==="transparent"?new Et(NaN,NaN,NaN,0):null}function Z0(t){return new Et(t>>16&255,t>>8&255,t&255,1)}function ss(t,e,n,r){return r<=0&&(t=e=n=NaN),new Et(t,e,n,r)}function kc(t){return t instanceof Sn||(t=wn(t)),t?(t=t.rgb(),new Et(t.r,t.g,t.b,t.opacity)):new Et}function Jr(t,e,n,r){return arguments.length===1?kc(t):new Et(t,e,n,r??1)}function Et(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Zr(Et,Jr,ao(Sn,{brighter(t){return t=t==null?Kr:Math.pow(Kr,t),new Et(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Qn:Math.pow(Qn,t),new Et(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Et(Jn(this.r),Jn(this.g),Jn(this.b),ls(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:K0,formatHex:K0,formatHex8:t3,formatRgb:Q0,toString:Q0}));function K0(){return`#${tr(this.r)}${tr(this.g)}${tr(this.b)}`}function t3(){return`#${tr(this.r)}${tr(this.g)}${tr(this.b)}${tr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Q0(){const t=ls(this.opacity);return`${t===1?"rgb(":"rgba("}${Jn(this.r)}, ${Jn(this.g)}, ${Jn(this.b)}${t===1?")":`, ${t})`}`}function ls(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Jn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tr(t){return t=Jn(t),(t<16?"0":"")+t.toString(16)}function J0(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Me(t,e,n,r)}function tm(t){if(t instanceof Me)return new Me(t.h,t.s,t.l,t.opacity);if(t instanceof Sn||(t=wn(t)),!t)return new Me;if(t instanceof Me)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(e===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-e)/s+2:a=(e-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new Me(a,s,l,t.opacity)}function us(t,e,n,r){return arguments.length===1?tm(t):new Me(t,e,n,r??1)}function Me(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Zr(Me,us,ao(Sn,{brighter(t){return t=t==null?Kr:Math.pow(Kr,t),new Me(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Qn:Math.pow(Qn,t),new Me(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Et(Rc(t>=240?t-240:t+120,i,r),Rc(t,i,r),Rc(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Me(em(this.h),cs(this.s),cs(this.l),ls(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=ls(this.opacity);return`${t===1?"hsl(":"hsla("}${em(this.h)}, ${cs(this.s)*100}%, ${cs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function em(t){return t=(t||0)%360,t<0?t+360:t}function cs(t){return Math.max(0,Math.min(1,t||0))}function Rc(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const nm=Math.PI/180,rm=180/Math.PI,fs=18,im=.96422,om=1,am=.82521,sm=4/29,ti=6/29,lm=3*ti*ti,e3=ti*ti*ti;function um(t){if(t instanceof Le)return new Le(t.l,t.a,t.b,t.opacity);if(t instanceof Xe)return fm(t);t instanceof Et||(t=kc(t));var e=Nc(t.r),n=Nc(t.g),r=Nc(t.b),i=Ec((.2225045*e+.7168786*n+.0606169*r)/om),o,a;return e===n&&n===r?o=a=i:(o=Ec((.4360747*e+.3850649*n+.1430804*r)/im),a=Ec((.0139322*e+.0971045*n+.7141733*r)/am)),new Le(116*i-16,500*(o-i),200*(i-a),t.opacity)}function n3(t,e){return new Le(t,0,0,e??1)}function hs(t,e,n,r){return arguments.length===1?um(t):new Le(t,e,n,r??1)}function Le(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Zr(Le,hs,ao(Sn,{brighter(t){return new Le(this.l+fs*(t??1),this.a,this.b,this.opacity)},darker(t){return new Le(this.l-fs*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=im*Ic(e),t=om*Ic(t),n=am*Ic(n),new Et(Bc(3.1338561*e-1.6168667*t-.4906146*n),Bc(-.9787684*e+1.9161415*t+.033454*n),Bc(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function Ec(t){return t>e3?Math.pow(t,1/3):t/lm+sm}function Ic(t){return t>ti?t*t*t:lm*(t-sm)}function Bc(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Nc(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function cm(t){if(t instanceof Xe)return new Xe(t.h,t.c,t.l,t.opacity);if(t instanceof Le||(t=um(t)),t.a===0&&t.b===0)return new Xe(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*rm;return new Xe(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function r3(t,e,n,r){return arguments.length===1?cm(t):new Xe(n,e,t,r??1)}function ps(t,e,n,r){return arguments.length===1?cm(t):new Xe(t,e,n,r??1)}function Xe(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function fm(t){if(isNaN(t.h))return new Le(t.l,0,0,t.opacity);var e=t.h*nm;return new Le(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Zr(Xe,ps,ao(Sn,{brighter(t){return new Xe(this.h,this.c,this.l+fs*(t??1),this.opacity)},darker(t){return new Xe(this.h,this.c,this.l-fs*(t??1),this.opacity)},rgb(){return fm(this).rgb()}}));var hm=-.14861,Fc=1.78277,Oc=-.29227,ds=-.90649,lo=1.97294,pm=lo*ds,dm=lo*Fc,gm=Fc*Oc-ds*hm;function i3(t){if(t instanceof er)return new er(t.h,t.s,t.l,t.opacity);t instanceof Et||(t=kc(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(gm*r+pm*e-dm*n)/(gm+pm-dm),o=r-i,a=(lo*(n-i)-Oc*o)/ds,s=Math.sqrt(a*a+o*o)/(lo*i*(1-i)),l=s?Math.atan2(a,o)*rm-120:NaN;return new er(l<0?l+360:l,s,i,t.opacity)}function ke(t,e,n,r){return arguments.length===1?i3(t):new er(t,e,n,r??1)}function er(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Zr(er,ke,ao(Sn,{brighter(t){return t=t==null?Kr:Math.pow(Kr,t),new er(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Qn:Math.pow(Qn,t),new er(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*nm,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Et(255*(e+n*(hm*r+Fc*i)),255*(e+n*(Oc*r+ds*i)),255*(e+n*(lo*r)),this.opacity)}}));function mm(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}function ym(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r<e-1?t[r+2]:2*o-i;return mm((n-r/e)*e,a,i,o,s)}}function bm(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],s=t[(r+2)%e];return mm((n-r/e)*e,i,o,a,s)}}const gs=t=>()=>t;function xm(t,e){return function(n){return t+n*e}}function o3(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function ms(t,e){var n=e-t;return n?xm(t,n>180||n<-180?n-360*Math.round(n/360):n):gs(isNaN(t)?e:t)}function a3(t){return(t=+t)==1?It:function(e,n){return n-e?o3(e,n,t):gs(isNaN(e)?n:e)}}function It(t,e){var n=e-t;return n?xm(t,n):gs(isNaN(t)?e:t)}const uo=function t(e){var n=a3(e);function r(i,o){var a=n((i=Jr(i)).r,(o=Jr(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),u=It(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=t,r}(1);function vm(t){return function(e){var n=e.length,r=new Array(n),i=new Array(n),o=new Array(n),a,s;for(a=0;a<n;++a)s=Jr(e[a]),r[a]=s.r||0,i[a]=s.g||0,o[a]=s.b||0;return r=t(r),i=t(i),o=t(o),s.opacity=1,function(l){return s.r=r(l),s.g=i(l),s.b=o(l),s+""}}}var $m=vm(ym),s3=vm(bm);function zc(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=t[i]*(1-o)+e[i]*o;return r}}function _m(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function l3(t,e){return(_m(e)?zc:Sm)(t,e)}function Sm(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,i=new Array(r),o=new Array(n),a;for(a=0;a<r;++a)i[a]=en(t[a],e[a]);for(;a<n;++a)o[a]=e[a];return function(s){for(a=0;a<r;++a)o[a]=i[a](s);return o}}function wm(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function be(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Tm(t,e){var n={},r={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?n[i]=en(t[i],e[i]):r[i]=e[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var Gc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Yc=new RegExp(Gc.source,"g");function u3(t){return function(){return t}}function c3(t){return function(e){return t(e)+""}}function Xc(t,e){var n=Gc.lastIndex=Yc.lastIndex=0,r,i,o,a=-1,s=[],l=[];for(t=t+"",e=e+"";(r=Gc.exec(t))&&(i=Yc.exec(e));)(o=i.index)>n&&(o=e.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:be(r,i)})),n=Yc.lastIndex;return n<e.length&&(o=e.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?c3(l[0].x):u3(e):(e=l.length,function(u){for(var c=0,f;c<e;++c)s[(f=l[c]).i]=f.x(u);return s.join("")})}function en(t,e){var n=typeof e,r;return e==null||n==="boolean"?gs(e):(n==="number"?be:n==="string"?(r=wn(e))?(e=r,uo):Xc:e instanceof wn?uo:e instanceof Date?wm:_m(e)?zc:Array.isArray(e)?Sm:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Tm:be)(t,e)}function f3(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}function h3(t,e){var n=ms(+t,+e);return function(r){var i=n(r);return i-360*Math.floor(i/360)}}function ys(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var Am=180/Math.PI,Wc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Pm(t,e,n,r,i,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*Am,skewX:Math.atan(l)*Am,scaleX:a,scaleY:s}}var bs;function p3(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Wc:Pm(e.a,e.b,e.c,e.d,e.e,e.f)}function d3(t){return t==null||(bs||(bs=document.createElementNS("http://www.w3.org/2000/svg","g")),bs.setAttribute("transform",t),!(t=bs.transform.baseVal.consolidate()))?Wc:(t=t.matrix,Pm(t.a,t.b,t.c,t.d,t.e,t.f))}function Dm(t,e,n,r){function i(u){return u.length?u.pop()+" ":""}function o(u,c,f,h,p,d){if(u!==f||c!==h){var m=p.push("translate(",null,e,null,n);d.push({i:m-4,x:be(u,f)},{i:m-2,x:be(c,h)})}else(f||h)&&p.push("translate("+f+e+h+n)}function a(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:be(u,c)})):c&&f.push(i(f)+"rotate("+c+r)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:be(u,c)}):c&&f.push(i(f)+"skewX("+c+r)}function l(u,c,f,h,p,d){if(u!==f||c!==h){var m=p.push(i(p)+"scale(",null,",",null,")");d.push({i:m-4,x:be(u,f)},{i:m-2,x:be(c,h)})}else(f!==1||h!==1)&&p.push(i(p)+"scale("+f+","+h+")")}return function(u,c){var f=[],h=[];return u=t(u),c=t(c),o(u.translateX,u.translateY,c.translateX,c.translateY,f,h),a(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(p){for(var d=-1,m=h.length,g;++d<m;)f[(g=h[d]).i]=g.x(p);return f.join("")}}}var Cm=Dm(p3,"px, ","px)","deg)"),Mm=Dm(d3,", ",")",")"),g3=1e-12;function Lm(t){return((t=Math.exp(t))+1/t)/2}function m3(t){return((t=Math.exp(t))-1/t)/2}function y3(t){return((t=Math.exp(2*t))-1)/(t+1)}const km=function t(e,n,r){function i(o,a){var s=o[0],l=o[1],u=o[2],c=a[0],f=a[1],h=a[2],p=c-s,d=f-l,m=p*p+d*d,g,y;if(m<g3)y=Math.log(h/u)/e,g=function(S){return[s+S*p,l+S*d,u*Math.exp(e*S*y)]};else{var b=Math.sqrt(m),v=(h*h-u*u+r*m)/(2*u*n*b),x=(h*h-u*u-r*m)/(2*h*n*b),_=Math.log(Math.sqrt(v*v+1)-v),T=Math.log(Math.sqrt(x*x+1)-x);y=(T-_)/e,g=function(S){var A=S*y,P=Lm(_),B=u/(n*b)*(P*y3(e*A+_)-m3(_));return[s+B*p,l+B*d,u*P/Lm(e*A+_)]}}return g.duration=y*1e3*e/Math.SQRT2,g}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,l=s*s;return t(a,s,l)},i}(Math.SQRT2,2,4);function Rm(t){return function(e,n){var r=t((e=us(e)).h,(n=us(n)).h),i=It(e.s,n.s),o=It(e.l,n.l),a=It(e.opacity,n.opacity);return function(s){return e.h=r(s),e.s=i(s),e.l=o(s),e.opacity=a(s),e+""}}}const b3=Rm(ms);var x3=Rm(It);function v3(t,e){var n=It((t=hs(t)).l,(e=hs(e)).l),r=It(t.a,e.a),i=It(t.b,e.b),o=It(t.opacity,e.opacity);return function(a){return t.l=n(a),t.a=r(a),t.b=i(a),t.opacity=o(a),t+""}}function Em(t){return function(e,n){var r=t((e=ps(e)).h,(n=ps(n)).h),i=It(e.c,n.c),o=It(e.l,n.l),a=It(e.opacity,n.opacity);return function(s){return e.h=r(s),e.c=i(s),e.l=o(s),e.opacity=a(s),e+""}}}const $3=Em(ms);var _3=Em(It);function Im(t){return function e(n){n=+n;function r(i,o){var a=t((i=ke(i)).h,(o=ke(o)).h),s=It(i.s,o.s),l=It(i.l,o.l),u=It(i.opacity,o.opacity);return function(c){return i.h=a(c),i.s=s(c),i.l=l(Math.pow(c,n)),i.opacity=u(c),i+""}}return r.gamma=e,r}(1)}const S3=Im(ms);var xs=Im(It);function Bm(t,e){e===void 0&&(e=t,t=en);for(var n=0,r=e.length-1,i=e[0],o=new Array(r<0?0:r);n<r;)o[n]=t(i,i=e[++n]);return function(a){var s=Math.max(0,Math.min(r-1,Math.floor(a*=r)));return o[s](a-s)}}function w3(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var ei=0,co=0,fo=0,Nm=1e3,vs,ho,$s=0,nr=0,_s=0,po=typeof performance=="object"&&performance.now?performance:Date,Fm=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function go(){return nr||(Fm(T3),nr=po.now()+_s)}function T3(){nr=0}function mo(){this._call=this._time=this._next=null}mo.prototype=Ss.prototype={constructor:mo,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?go():+n)+(e==null?0:+e),!this._next&&ho!==this&&(ho?ho._next=this:vs=this,ho=this),this._call=t,this._time=n,Vc()},stop:function(){this._call&&(this._call=null,this._time=1/0,Vc())}};function Ss(t,e,n){var r=new mo;return r.restart(t,e,n),r}function Om(){go(),++ei;for(var t=vs,e;t;)(e=nr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ei}function zm(){nr=($s=po.now())+_s,ei=co=0;try{Om()}finally{ei=0,P3(),nr=0}}function A3(){var t=po.now(),e=t-$s;e>Nm&&(_s-=e,$s=t)}function P3(){for(var t,e=vs,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:vs=n);ho=t,Vc(r)}function Vc(t){if(!ei){co&&(co=clearTimeout(co));var e=t-nr;e>24?(t<1/0&&(co=setTimeout(zm,t-po.now()-_s)),fo&&(fo=clearInterval(fo))):(fo||($s=po.now(),fo=setInterval(A3,Nm)),ei=1,Fm(zm))}}function Uc(t,e,n){var r=new mo;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}function D3(t,e,n){var r=new mo,i=e;return e==null?(r.restart(t,e,n),r):(r._restart=r.restart,r.restart=function(o,a,s){a=+a,s=s==null?go():+s,r._restart(function l(u){u+=i,r._restart(l,i+=a,s),o(u)},a,s)},r.restart(t,e,n),r)}var C3=qn("start","end","cancel","interrupt"),M3=[],Gm=0,Hc=1,jc=2,ws=3,Ym=4,qc=5,Ts=6;function As(t,e,n,r,i,o){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;L3(t,n,{name:e,index:r,group:i,on:C3,tween:M3,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Gm})}function Zc(t,e){var n=Re(t,e);if(n.state>Gm)throw new Error("too late; already scheduled");return n}function We(t,e){var n=Re(t,e);if(n.state>ws)throw new Error("too late; already running");return n}function Re(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function L3(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=Ss(o,0,n.time);function o(u){n.state=Hc,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var c,f,h,p;if(n.state!==Hc)return l();for(c in r)if(p=r[c],p.name===n.name){if(p.state===ws)return Uc(a);p.state===Ym?(p.state=Ts,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[c]):+c<e&&(p.state=Ts,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[c])}if(Uc(function(){n.state===ws&&(n.state=Ym,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=jc,n.on.call("start",t,t.__data__,n.index,n.group),n.state===jc){for(n.state=ws,i=new Array(h=n.tween.length),c=0,f=-1;c<h;++c)(p=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(i[++f]=p);i.length=f+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=qc,1),f=-1,h=i.length;++f<h;)i[f].call(t,c);n.state===qc&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Ts,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function rr(t,e){var n=t.__transition,r,i,o=!0,a;if(n){e=e==null?null:e+"";for(a in n){if((r=n[a]).name!==e){o=!1;continue}i=r.state>jc&&r.state<qc,r.state=Ts,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[a]}o&&delete t.__transition}}function k3(t){return this.each(function(){rr(this,t)})}function R3(t,e){var n,r;return function(){var i=We(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===e){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function E3(t,e,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=We(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=s;break}l===u&&i.push(s)}o.tween=i}}function I3(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Re(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===t)return a.value;return null}return this.each((e==null?R3:E3)(n,t,e))}function Kc(t,e,n){var r=t._id;return t.each(function(){var i=We(this,r);(i.value||(i.value={}))[e]=n.apply(this,arguments)}),function(i){return Re(i,r).value[e]}}function Xm(t,e){var n;return(typeof e=="number"?be:e instanceof wn?uo:(n=wn(e))?(e=n,uo):Xc)(t,e)}function B3(t){return function(){this.removeAttribute(t)}}function N3(t){return function(){this.removeAttributeNS(t.space,t.local)}}function F3(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttribute(t);return a===i?null:a===r?o:o=e(r=a,n)}}function O3(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===r?o:o=e(r=a,n)}}function z3(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function G3(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function Y3(t,e){var n=io(t),r=n==="transform"?Mm:Xm;return this.attrTween(t,typeof e=="function"?(n.local?G3:z3)(n,r,Kc(this,"attr."+t,e)):e==null?(n.local?N3:B3)(n):(n.local?O3:F3)(n,r,e))}function X3(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function W3(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function V3(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&W3(t,o)),n}return i._value=e,i}function U3(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&X3(t,o)),n}return i._value=e,i}function H3(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=io(t);return this.tween(n,(r.local?V3:U3)(r,e))}function j3(t,e){return function(){Zc(this,t).delay=+e.apply(this,arguments)}}function q3(t,e){return e=+e,function(){Zc(this,t).delay=e}}function Z3(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?j3:q3)(e,t)):Re(this.node(),e).delay}function K3(t,e){return function(){We(this,t).duration=+e.apply(this,arguments)}}function Q3(t,e){return e=+e,function(){We(this,t).duration=e}}function J3(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?K3:Q3)(e,t)):Re(this.node(),e).duration}function t5(t,e){if(typeof e!="function")throw new Error;return function(){We(this,t).ease=e}}function e5(t){var e=this._id;return arguments.length?this.each(t5(e,t)):Re(this.node(),e).ease}function n5(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;We(this,t).ease=n}}function r5(t){if(typeof t!="function")throw new Error;return this.each(n5(this._id,t))}function i5(t){typeof t!="function"&&(t=wc(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new Ve(r,this._parents,this._name,this._id)}function o5(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l=e[s],u=n[s],c=l.length,f=a[s]=new Array(c),h,p=0;p<c;++p)(h=l[p]||u[p])&&(f[p]=h);for(;s<r;++s)a[s]=e[s];return new Ve(a,this._parents,this._name,this._id)}function a5(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function s5(t,e,n){var r,i,o=a5(e)?Zc:We;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(e,n),a.on=i}}function l5(t,e){var n=this._id;return arguments.length<2?Re(this.node(),n).on.on(t):this.each(s5(n,t,e))}function u5(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function c5(){return this.on("end.remove",u5(this._id))}function f5(t){var e=this._name,n=this._id;typeof t!="function"&&(t=ns(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],l=s.length,u=o[a]=new Array(l),c,f,h=0;h<l;++h)(c=s[h])&&(f=t.call(c,c.__data__,h,s))&&("__data__"in c&&(f.__data__=c.__data__),u[h]=f,As(u[h],e,n,h,u,Re(c,n)));return new Ve(o,this._parents,e,n)}function h5(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Sc(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l=r[s],u=l.length,c,f=0;f<u;++f)if(c=l[f]){for(var h=t.call(c,c.__data__,f,l),p,d=Re(c,n),m=0,g=h.length;m<g;++m)(p=h[m])&&As(p,e,n,m,h,d);o.push(h),a.push(c)}return new Ve(o,a,e,n)}var p5=Kn.prototype.constructor;function d5(){return new p5(this._groups,this._parents)}function g5(t,e){var n,r,i;return function(){var o=Zn(this,t),a=(this.style.removeProperty(t),Zn(this,t));return o===a?null:o===n&&a===r?i:i=e(n=o,r=a)}}function Wm(t){return function(){this.style.removeProperty(t)}}function m5(t,e,n){var r,i=n+"",o;return function(){var a=Zn(this,t);return a===i?null:a===r?o:o=e(r=a,n)}}function y5(t,e,n){var r,i,o;return function(){var a=Zn(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),Zn(this,t))),a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s))}}function b5(t,e){var n,r,i,o="style."+e,a="end."+o,s;return function(){var l=We(this,t),u=l.on,c=l.value[o]==null?s||(s=Wm(e)):void 0;(u!==n||i!==c)&&(r=(n=u).copy()).on(a,i=c),l.on=r}}function x5(t,e,n){var r=(t+="")=="transform"?Cm:Xm;return e==null?this.styleTween(t,g5(t,r)).on("end.style."+t,Wm(t)):typeof e=="function"?this.styleTween(t,y5(t,r,Kc(this,"style."+t,e))).each(b5(this._id,t)):this.styleTween(t,m5(t,r,e),n).on("end.style."+t,null)}function v5(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function $5(t,e,n){var r,i;function o(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&v5(t,a,n)),r}return o._value=e,o}function _5(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,$5(t,e,n??""))}function S5(t){return function(){this.textContent=t}}function w5(t){return function(){var e=t(this);this.textContent=e??""}}function T5(t){return this.tween("text",typeof t=="function"?w5(Kc(this,"text",t)):S5(t==null?"":t+""))}function A5(t){return function(e){this.textContent=t.call(this,e)}}function P5(t){var e,n;function r(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&A5(i)),e}return r._value=t,r}function D5(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,P5(t))}function C5(){for(var t=this._name,e=this._id,n=Um(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)if(l=a[u]){var c=Re(l,e);As(l,t,n,u,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Ve(r,this._parents,t,n)}function M5(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){--i===0&&o()}};n.each(function(){var u=We(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),i===0&&o()})}var L5=0;function Ve(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Vm(t){return Kn().transition(t)}function Um(){return++L5}var nn=Kn.prototype;Ve.prototype=Vm.prototype={constructor:Ve,select:f5,selectAll:h5,selectChild:nn.selectChild,selectChildren:nn.selectChildren,filter:i5,merge:o5,selection:d5,transition:C5,call:nn.call,nodes:nn.nodes,node:nn.node,size:nn.size,empty:nn.empty,each:nn.each,on:l5,attr:Y3,attrTween:H3,style:x5,styleTween:_5,text:T5,textTween:D5,remove:c5,tween:I3,delay:Z3,duration:J3,ease:e5,easeVarying:r5,end:M5,[Symbol.iterator]:nn[Symbol.iterator]};const k5=t=>+t;function R5(t){return t*t}function E5(t){return t*(2-t)}function Hm(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function I5(t){return t*t*t}function B5(t){return--t*t*t+1}function yo(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Qc=3,N5=function t(e){e=+e;function n(r){return Math.pow(r,e)}return n.exponent=t,n}(Qc),F5=function t(e){e=+e;function n(r){return 1-Math.pow(1-r,e)}return n.exponent=t,n}(Qc),jm=function t(e){e=+e;function n(r){return((r*=2)<=1?Math.pow(r,e):2-Math.pow(2-r,e))/2}return n.exponent=t,n}(Qc),qm=Math.PI,Zm=qm/2;function O5(t){return+t==1?1:1-Math.cos(t*Zm)}function z5(t){return Math.sin(t*Zm)}function Km(t){return(1-Math.cos(qm*t))/2}function Tn(t){return(Math.pow(2,-10*t)-.0009765625)*1.0009775171065494}function G5(t){return Tn(1-+t)}function Y5(t){return 1-Tn(t)}function Qm(t){return((t*=2)<=1?Tn(1-t):2-Tn(t-1))/2}function X5(t){return 1-Math.sqrt(1-t*t)}function W5(t){return Math.sqrt(1- --t*t)}function Jm(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var Jc=4/11,V5=6/11,U5=8/11,H5=3/4,j5=9/11,q5=10/11,Z5=15/16,K5=21/22,Q5=63/64,Ps=1/Jc/Jc;function J5(t){return 1-bo(1-t)}function bo(t){return(t=+t)<Jc?Ps*t*t:t<U5?Ps*(t-=V5)*t+H5:t<q5?Ps*(t-=j5)*t+Z5:Ps*(t-=K5)*t+Q5}function tL(t){return((t*=2)<=1?1-bo(1-t):bo(t-1)+1)/2}var tf=1.70158,eL=function t(e){e=+e;function n(r){return(r=+r)*r*(e*(r-1)+r)}return n.overshoot=t,n}(tf),nL=function t(e){e=+e;function n(r){return--r*r*((r+1)*e+r)+1}return n.overshoot=t,n}(tf),ty=function t(e){e=+e;function n(r){return((r*=2)<1?r*r*((e+1)*r-e):(r-=2)*r*((e+1)*r+e)+2)/2}return n.overshoot=t,n}(tf),ni=2*Math.PI,ef=1,nf=.3,rL=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=ni);function i(o){return e*Tn(- --o)*Math.sin((r-o)/n)}return i.amplitude=function(o){return t(o,n*ni)},i.period=function(o){return t(e,o)},i}(ef,nf),ri=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=ni);function i(o){return 1-e*Tn(o=+o)*Math.sin((o+r)/n)}return i.amplitude=function(o){return t(o,n*ni)},i.period=function(o){return t(e,o)},i}(ef,nf),iL=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=ni);function i(o){return((o=o*2-1)<0?e*Tn(-o)*Math.sin((r-o)/n):2-e*Tn(o)*Math.sin((r+o)/n))/2}return i.amplitude=function(o){return t(o,n*ni)},i.period=function(o){return t(e,o)},i}(ef,nf),oL={time:null,delay:0,duration:250,ease:yo};function aL(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function sL(t){var e,n;t instanceof Ve?(e=t._id,t=t._name):(e=Um(),(n=oL).time=go(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&As(l,t,e,u,a,n||aL(l,e));return new Ve(r,this._parents,t,e)}Kn.prototype.interrupt=k3,Kn.prototype.transition=sL;var lL=[null];function uL(t,e){var n=t.__transition,r,i;if(n){e=e==null?null:e+"";for(i in n)if((r=n[i]).state>Hc&&r.name===e)return new Ve([[t]],lL,e,+i)}return null}const rf=t=>()=>t;function cL(t,{sourceEvent:e,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function fL(t){t.stopImmediatePropagation()}function of(t){t.preventDefault(),t.stopImmediatePropagation()}var ey={name:"drag"},af={name:"space"},ii={name:"handle"},oi={name:"center"};const{abs:ny,max:Gt,min:Yt}=Math;function ry(t){return[+t[0],+t[1]]}function sf(t){return[ry(t[0]),ry(t[1])]}var Ds={name:"x",handles:["w","e"].map(xo),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Cs={name:"y",handles:["n","s"].map(xo),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},hL={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(xo),input:function(t){return t==null?null:sf(t)},output:function(t){return t}},rn={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},iy={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},oy={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},pL={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},dL={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function xo(t){return{type:t}}function gL(t){return!t.ctrlKey&&!t.button}function mL(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function yL(){return navigator.maxTouchPoints||"ontouchstart"in this}function lf(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function bL(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function xL(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function vL(){return uf(Ds)}function $L(){return uf(Cs)}function _L(){return uf(hL)}function uf(t){var e=mL,n=gL,r=yL,i=!0,o=qn("start","brush","end"),a=6,s;function l(g){var y=g.property("__brush",m).selectAll(".overlay").data([xo("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",rn.overlay).merge(y).each(function(){var v=lf(this).extent;V(this).attr("x",v[0][0]).attr("y",v[0][1]).attr("width",v[1][0]-v[0][0]).attr("height",v[1][1]-v[0][1])}),g.selectAll(".selection").data([xo("selection")]).enter().append("rect").attr("class","selection").attr("cursor",rn.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var b=g.selectAll(".handle").data(t.handles,function(v){return v.type});b.exit().remove(),b.enter().append("rect").attr("class",function(v){return"handle handle--"+v.type}).attr("cursor",function(v){return rn[v.type]}),g.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(r).on("touchstart.brush",h).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}l.move=function(g,y,b){g.tween?g.on("start.brush",function(v){c(this,arguments).beforestart().start(v)}).on("interrupt.brush end.brush",function(v){c(this,arguments).end(v)}).tween("brush",function(){var v=this,x=v.__brush,_=c(v,arguments),T=x.selection,S=t.input(typeof y=="function"?y.apply(this,arguments):y,x.extent),A=en(T,S);function P(B){x.selection=B===1&&S===null?null:A(B),u.call(v),_.brush()}return T!==null&&S!==null?P:P(1)}):g.each(function(){var v=this,x=arguments,_=v.__brush,T=t.input(typeof y=="function"?y.apply(v,x):y,_.extent),S=c(v,x).beforestart();rr(v),_.selection=T===null?null:T,u.call(v),S.start(b).brush(b).end(b)})},l.clear=function(g,y){l.move(g,null,y)};function u(){var g=V(this),y=lf(this).selection;y?(g.selectAll(".selection").style("display",null).attr("x",y[0][0]).attr("y",y[0][1]).attr("width",y[1][0]-y[0][0]).attr("height",y[1][1]-y[0][1]),g.selectAll(".handle").style("display",null).attr("x",function(b){return b.type[b.type.length-1]==="e"?y[1][0]-a/2:y[0][0]-a/2}).attr("y",function(b){return b.type[0]==="s"?y[1][1]-a/2:y[0][1]-a/2}).attr("width",function(b){return b.type==="n"||b.type==="s"?y[1][0]-y[0][0]+a:a}).attr("height",function(b){return b.type==="e"||b.type==="w"?y[1][1]-y[0][1]+a:a})):g.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(g,y,b){var v=g.__brush.emitter;return v&&(!b||!v.clean)?v:new f(g,y,b)}function f(g,y,b){this.that=g,this.args=y,this.state=g.__brush,this.active=0,this.clean=b}f.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(g,y){return this.starting?(this.starting=!1,this.emit("start",g,y)):this.emit("brush",g),this},brush:function(g,y){return this.emit("brush",g,y),this},end:function(g,y){return--this.active===0&&(delete this.state.emitter,this.emit("end",g,y)),this},emit:function(g,y,b){var v=V(this.that).datum();o.call(g,this.that,new cL(g,{sourceEvent:y,target:l,selection:t.output(this.state.selection),mode:b,dispatch:o}),v)}};function h(g){if(s&&!g.touches||!n.apply(this,arguments))return;var y=this,b=g.target.__data__.type,v=(i&&g.metaKey?b="overlay":b)==="selection"?ey:i&&g.altKey?oi:ii,x=t===Cs?null:pL[b],_=t===Ds?null:dL[b],T=lf(y),S=T.extent,A=T.selection,P=S[0][0],B,$,k=S[0][1],D,w,M=S[1][0],C,X,O=S[1][1],I,N,R=0,F=0,H,it=x&&_&&i&&g.shiftKey,z,Q,W=Array.from(g.touches||[g],lt=>{const Dt=lt.identifier;return lt=de(lt,y),lt.point0=lt.slice(),lt.identifier=Dt,lt});rr(y);var Z=c(y,arguments,!0).beforestart();if(b==="overlay"){A&&(H=!0);const lt=[W[0],W[1]||W[0]];T.selection=A=[[B=t===Cs?P:Yt(lt[0][0],lt[1][0]),D=t===Ds?k:Yt(lt[0][1],lt[1][1])],[C=t===Cs?M:Gt(lt[0][0],lt[1][0]),I=t===Ds?O:Gt(lt[0][1],lt[1][1])]],W.length>1&&gt(g)}else B=A[0][0],D=A[0][1],C=A[1][0],I=A[1][1];$=B,w=D,X=C,N=I;var q=V(y).attr("pointer-events","none"),nt=q.selectAll(".overlay").attr("cursor",rn[b]);if(g.touches)Z.moved=U,Z.ended=ft;else{var st=V(g.view).on("mousemove.brush",U,!0).on("mouseup.brush",ft,!0);i&&st.on("keydown.brush",Rt,!0).on("keyup.brush",re,!0),is(g.view)}u.call(y),Z.start(g,v.name);function U(lt){for(const Dt of lt.changedTouches||[lt])for(const ua of W)ua.identifier===Dt.identifier&&(ua.cur=de(Dt,y));if(it&&!z&&!Q&&W.length===1){const Dt=W[0];ny(Dt.cur[0]-Dt[0])>ny(Dt.cur[1]-Dt[1])?Q=!0:z=!0}for(const Dt of W)Dt.cur&&(Dt[0]=Dt.cur[0],Dt[1]=Dt.cur[1]);H=!0,of(lt),gt(lt)}function gt(lt){const Dt=W[0],ua=Dt.point0;var In;switch(R=Dt[0]-ua[0],F=Dt[1]-ua[1],v){case af:case ey:{x&&(R=Gt(P-B,Yt(M-C,R)),$=B+R,X=C+R),_&&(F=Gt(k-D,Yt(O-I,F)),w=D+F,N=I+F);break}case ii:{W[1]?(x&&($=Gt(P,Yt(M,W[0][0])),X=Gt(P,Yt(M,W[1][0])),x=1),_&&(w=Gt(k,Yt(O,W[0][1])),N=Gt(k,Yt(O,W[1][1])),_=1)):(x<0?(R=Gt(P-B,Yt(M-B,R)),$=B+R,X=C):x>0&&(R=Gt(P-C,Yt(M-C,R)),$=B,X=C+R),_<0?(F=Gt(k-D,Yt(O-D,F)),w=D+F,N=I):_>0&&(F=Gt(k-I,Yt(O-I,F)),w=D,N=I+F));break}case oi:{x&&($=Gt(P,Yt(M,B-R*x)),X=Gt(P,Yt(M,C+R*x))),_&&(w=Gt(k,Yt(O,D-F*_)),N=Gt(k,Yt(O,I+F*_)));break}}X<$&&(x*=-1,In=B,B=C,C=In,In=$,$=X,X=In,b in iy&&nt.attr("cursor",rn[b=iy[b]])),N<w&&(_*=-1,In=D,D=I,I=In,In=w,w=N,N=In,b in oy&&nt.attr("cursor",rn[b=oy[b]])),T.selection&&(A=T.selection),z&&($=A[0][0],X=A[1][0]),Q&&(w=A[0][1],N=A[1][1]),(A[0][0]!==$||A[0][1]!==w||A[1][0]!==X||A[1][1]!==N)&&(T.selection=[[$,w],[X,N]],u.call(y),Z.brush(lt,v.name))}function ft(lt){if(fL(lt),lt.touches){if(lt.touches.length)return;s&&clearTimeout(s),s=setTimeout(function(){s=null},500)}else os(lt.view,H),st.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);q.attr("pointer-events","all"),nt.attr("cursor",rn.overlay),T.selection&&(A=T.selection),bL(A)&&(T.selection=null,u.call(y)),Z.end(lt,v.name)}function Rt(lt){switch(lt.keyCode){case 16:{it=x&&_;break}case 18:{v===ii&&(x&&(C=X-R*x,B=$+R*x),_&&(I=N-F*_,D=w+F*_),v=oi,gt(lt));break}case 32:{(v===ii||v===oi)&&(x<0?C=X-R:x>0&&(B=$-R),_<0?I=N-F:_>0&&(D=w-F),v=af,nt.attr("cursor",rn.selection),gt(lt));break}default:return}of(lt)}function re(lt){switch(lt.keyCode){case 16:{it&&(z=Q=it=!1,gt(lt));break}case 18:{v===oi&&(x<0?C=X:x>0&&(B=$),_<0?I=N:_>0&&(D=w),v=ii,gt(lt));break}case 32:{v===af&&(lt.altKey?(x&&(C=X-R*x,B=$+R*x),_&&(I=N-F*_,D=w+F*_),v=oi):(x<0?C=X:x>0&&(B=$),_<0?I=N:_>0&&(D=w),v=ii),nt.attr("cursor",rn[b]),gt(lt));break}default:return}of(lt)}}function p(g){c(this,arguments).moved(g)}function d(g){c(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=sf(e.apply(this,arguments)),g.dim=t,g}return l.extent=function(g){return arguments.length?(e=typeof g=="function"?g:rf(sf(g)),l):e},l.filter=function(g){return arguments.length?(n=typeof g=="function"?g:rf(!!g),l):n},l.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:rf(!!g),l):r},l.handleSize=function(g){return arguments.length?(a=+g,l):a},l.keyModifiers=function(g){return arguments.length?(i=!!g,l):i},l.on=function(){var g=o.on.apply(o,arguments);return g===o?l:g},l}var ay=Math.abs,ai=Math.cos,si=Math.sin,sy=Math.PI,Ms=sy/2,ly=sy*2,uy=Math.max,cf=1e-12;function ff(t,e){return Array.from({length:e-t},(n,r)=>t+r)}function SL(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}function wL(){return hf(!1,!1)}function TL(){return hf(!1,!0)}function AL(){return hf(!0,!1)}function hf(t,e){var n=0,r=null,i=null,o=null;function a(s){var l=s.length,u=new Array(l),c=ff(0,l),f=new Array(l*l),h=new Array(l),p=0,d;s=Float64Array.from({length:l*l},e?(m,g)=>s[g%l][g/l|0]:(m,g)=>s[g/l|0][g%l]);for(let m=0;m<l;++m){let g=0;for(let y=0;y<l;++y)g+=s[m*l+y]+t*s[y*l+m];p+=u[m]=g}p=uy(0,ly-n*l)/p,d=p?n:ly/l;{let m=0;r&&c.sort((g,y)=>r(u[g],u[y]));for(const g of c){const y=m;if(t){const b=ff(~l+1,l).filter(v=>v<0?s[~v*l+g]:s[g*l+v]);i&&b.sort((v,x)=>i(v<0?-s[~v*l+g]:s[g*l+v],x<0?-s[~x*l+g]:s[g*l+x]));for(const v of b)if(v<0){const x=f[~v*l+g]||(f[~v*l+g]={source:null,target:null});x.target={index:g,startAngle:m,endAngle:m+=s[~v*l+g]*p,value:s[~v*l+g]}}else{const x=f[g*l+v]||(f[g*l+v]={source:null,target:null});x.source={index:g,startAngle:m,endAngle:m+=s[g*l+v]*p,value:s[g*l+v]}}h[g]={index:g,startAngle:y,endAngle:m,value:u[g]}}else{const b=ff(0,l).filter(v=>s[g*l+v]||s[v*l+g]);i&&b.sort((v,x)=>i(s[g*l+v],s[g*l+x]));for(const v of b){let x;if(g<v?(x=f[g*l+v]||(f[g*l+v]={source:null,target:null}),x.source={index:g,startAngle:m,endAngle:m+=s[g*l+v]*p,value:s[g*l+v]}):(x=f[v*l+g]||(f[v*l+g]={source:null,target:null}),x.target={index:g,startAngle:m,endAngle:m+=s[g*l+v]*p,value:s[g*l+v]},g===v&&(x.source=x.target)),x.source&&x.target&&x.source.value<x.target.value){const _=x.source;x.source=x.target,x.target=_}}h[g]={index:g,startAngle:y,endAngle:m,value:u[g]}}m+=d}}return f=Object.values(f),f.groups=h,o?f.sort(o):f}return a.padAngle=function(s){return arguments.length?(n=uy(0,s),a):n},a.sortGroups=function(s){return arguments.length?(r=s,a):r},a.sortSubgroups=function(s){return arguments.length?(i=s,a):i},a.sortChords=function(s){return arguments.length?(s==null?o=null:(o=SL(s))._=s,a):o&&o._},a}const pf=Math.PI,df=2*pf,ir=1e-6,PL=df-ir;function cy(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function DL(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return cy;const n=10**e;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}let vo=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?cy:DL(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,r,i){this._append`Q${+e},${+n},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(e,n,r,i,o,a){this._append`C${+e},${+n},${+r},${+i},${this._x1=+o},${this._y1=+a}`}arcTo(e,n,r,i,o){if(e=+e,n=+n,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let a=this._x1,s=this._y1,l=r-e,u=i-n,c=a-e,f=s-n,h=c*c+f*f;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(h>ir)if(!(Math.abs(f*l-u*c)>ir)||!o)this._append`L${this._x1=e},${this._y1=n}`;else{let p=r-a,d=i-s,m=l*l+u*u,g=p*p+d*d,y=Math.sqrt(m),b=Math.sqrt(h),v=o*Math.tan((pf-Math.acos((m+h-g)/(2*y*b)))/2),x=v/b,_=v/y;Math.abs(x-1)>ir&&this._append`L${e+x*c},${n+x*f}`,this._append`A${o},${o},0,0,${+(f*p>c*d)},${this._x1=e+_*l},${this._y1=n+_*u}`}}arc(e,n,r,i,o,a){if(e=+e,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),l=r*Math.sin(i),u=e+s,c=n+l,f=1^a,h=a?i-o:o-i;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>ir||Math.abs(this._y1-c)>ir)&&this._append`L${u},${c}`,r&&(h<0&&(h=h%df+df),h>PL?this._append`A${r},${r},0,1,${f},${e-s},${n-l}A${r},${r},0,1,${f},${this._x1=u},${this._y1=c}`:h>ir&&this._append`A${r},${r},0,${+(h>=pf)},${f},${this._x1=e+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function gf(){return new vo}gf.prototype=vo.prototype;function CL(t=3){return new vo(+t)}var ML=Array.prototype.slice;function or(t){return function(){return t}}function LL(t){return t.source}function kL(t){return t.target}function fy(t){return t.radius}function RL(t){return t.startAngle}function EL(t){return t.endAngle}function IL(){return 0}function BL(){return 10}function hy(t){var e=LL,n=kL,r=fy,i=fy,o=RL,a=EL,s=IL,l=null;function u(){var c,f=e.apply(this,arguments),h=n.apply(this,arguments),p=s.apply(this,arguments)/2,d=ML.call(arguments),m=+r.apply(this,(d[0]=f,d)),g=o.apply(this,d)-Ms,y=a.apply(this,d)-Ms,b=+i.apply(this,(d[0]=h,d)),v=o.apply(this,d)-Ms,x=a.apply(this,d)-Ms;if(l||(l=c=gf()),p>cf&&(ay(y-g)>p*2+cf?y>g?(g+=p,y-=p):(g-=p,y+=p):g=y=(g+y)/2,ay(x-v)>p*2+cf?x>v?(v+=p,x-=p):(v-=p,x+=p):v=x=(v+x)/2),l.moveTo(m*ai(g),m*si(g)),l.arc(0,0,m,g,y),g!==v||y!==x)if(t){var _=+t.apply(this,arguments),T=b-_,S=(v+x)/2;l.quadraticCurveTo(0,0,T*ai(v),T*si(v)),l.lineTo(b*ai(S),b*si(S)),l.lineTo(T*ai(x),T*si(x))}else l.quadraticCurveTo(0,0,b*ai(v),b*si(v)),l.arc(0,0,b,v,x);if(l.quadraticCurveTo(0,0,m*ai(g),m*si(g)),l.closePath(),c)return l=null,c+""||null}return t&&(u.headRadius=function(c){return arguments.length?(t=typeof c=="function"?c:or(+c),u):t}),u.radius=function(c){return arguments.length?(r=i=typeof c=="function"?c:or(+c),u):r},u.sourceRadius=function(c){return arguments.length?(r=typeof c=="function"?c:or(+c),u):r},u.targetRadius=function(c){return arguments.length?(i=typeof c=="function"?c:or(+c),u):i},u.startAngle=function(c){return arguments.length?(o=typeof c=="function"?c:or(+c),u):o},u.endAngle=function(c){return arguments.length?(a=typeof c=="function"?c:or(+c),u):a},u.padAngle=function(c){return arguments.length?(s=typeof c=="function"?c:or(+c),u):s},u.source=function(c){return arguments.length?(e=c,u):e},u.target=function(c){return arguments.length?(n=c,u):n},u.context=function(c){return arguments.length?(l=c??null,u):l},u}function NL(){return hy()}function FL(){return hy(BL)}var OL=Array.prototype,py=OL.slice;function zL(t,e){return t-e}function GL(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}const An=t=>()=>t;function YL(t,e){for(var n=-1,r=e.length,i;++n<r;)if(i=XL(t,e[n]))return i;return 0}function XL(t,e){for(var n=e[0],r=e[1],i=-1,o=0,a=t.length,s=a-1;o<a;s=o++){var l=t[o],u=l[0],c=l[1],f=t[s],h=f[0],p=f[1];if(WL(l,f,e))return 0;c>r!=p>r&&n<(h-u)*(r-c)/(p-c)+u&&(i=-i)}return i}function WL(t,e,n){var r;return VL(t,e,n)&&UL(t[r=+(t[0]===e[0])],n[r],e[r])}function VL(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function UL(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function HL(){}var on=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function mf(){var t=1,e=1,n=pc,r=l;function i(u){var c=n(u);if(Array.isArray(c))c=c.slice().sort(zL);else{const f=Qi(u,jL);for(c=Hn(...hc(f[0],f[1],c),c);c[c.length-1]>=f[1];)c.pop();for(;c[1]<f[0];)c.shift()}return c.map(f=>o(u,f))}function o(u,c){const f=c==null?NaN:+c;if(isNaN(f))throw new Error(`invalid value: ${c}`);var h=[],p=[];return a(u,f,function(d){r(d,u,f),GL(d)>0?h.push([d]):p.push(d)}),p.forEach(function(d){for(var m=0,g=h.length,y;m<g;++m)if(YL((y=h[m])[0],d)!==-1){y.push(d);return}}),{type:"MultiPolygon",value:c,coordinates:h}}function a(u,c,f){var h=new Array,p=new Array,d,m,g,y,b,v;for(d=m=-1,y=ar(u[0],c),on[y<<1].forEach(x);++d<t-1;)g=y,y=ar(u[d+1],c),on[g|y<<1].forEach(x);for(on[y<<0].forEach(x);++m<e-1;){for(d=-1,y=ar(u[m*t+t],c),b=ar(u[m*t],c),on[y<<1|b<<2].forEach(x);++d<t-1;)g=y,y=ar(u[m*t+t+d+1],c),v=b,b=ar(u[m*t+d+1],c),on[g|y<<1|b<<2|v<<3].forEach(x);on[y|b<<3].forEach(x)}for(d=-1,b=u[m*t]>=c,on[b<<2].forEach(x);++d<t-1;)v=b,b=ar(u[m*t+d+1],c),on[b<<2|v<<3].forEach(x);on[b<<3].forEach(x);function x(_){var T=[_[0][0]+d,_[0][1]+m],S=[_[1][0]+d,_[1][1]+m],A=s(T),P=s(S),B,$;(B=p[A])?($=h[P])?(delete p[B.end],delete h[$.start],B===$?(B.ring.push(S),f(B.ring)):h[B.start]=p[$.end]={start:B.start,end:$.end,ring:B.ring.concat($.ring)}):(delete p[B.end],B.ring.push(S),p[B.end=P]=B):(B=h[P])?($=p[A])?(delete h[B.start],delete p[$.end],B===$?(B.ring.push(S),f(B.ring)):h[$.start]=p[B.end]={start:$.start,end:B.end,ring:$.ring.concat(B.ring)}):(delete h[B.start],B.ring.unshift(T),h[B.start=A]=B):h[A]=p[P]={start:A,end:P,ring:[T,S]}}}function s(u){return u[0]*2+u[1]*(t+1)*4}function l(u,c,f){u.forEach(function(h){var p=h[0],d=h[1],m=p|0,g=d|0,y=yf(c[g*t+m]);p>0&&p<t&&m===p&&(h[0]=dy(p,yf(c[g*t+m-1]),y,f)),d>0&&d<e&&g===d&&(h[1]=dy(d,yf(c[(g-1)*t+m]),y,f))})}return i.contour=o,i.size=function(u){if(!arguments.length)return[t,e];var c=Math.floor(u[0]),f=Math.floor(u[1]);if(!(c>=0&&f>=0))throw new Error("invalid size");return t=c,e=f,i},i.thresholds=function(u){return arguments.length?(n=typeof u=="function"?u:Array.isArray(u)?An(py.call(u)):An(u),i):n},i.smooth=function(u){return arguments.length?(r=u?l:HL,i):r===l},i}function jL(t){return isFinite(t)?t:NaN}function ar(t,e){return t==null?!1:+t>=e}function yf(t){return t==null||isNaN(t=+t)?-1/0:t}function dy(t,e,n,r){const i=r-e,o=n-e,a=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(a)?t:t+a-.5}function qL(t){return t[0]}function ZL(t){return t[1]}function KL(){return 1}function QL(){var t=qL,e=ZL,n=KL,r=960,i=500,o=20,a=2,s=o*3,l=r+s*2>>a,u=i+s*2>>a,c=An(20);function f(b){var v=new Float32Array(l*u),x=Math.pow(2,-a),_=-1;for(const D of b){var T=(t(D,++_,b)+s)*x,S=(e(D,_,b)+s)*x,A=+n(D,_,b);if(A&&T>=0&&T<l&&S>=0&&S<u){var P=Math.floor(T),B=Math.floor(S),$=T-P-.5,k=S-B-.5;v[P+B*l]+=(1-$)*(1-k)*A,v[P+1+B*l]+=$*(1-k)*A,v[P+1+(B+1)*l]+=$*k*A,v[P+(B+1)*l]+=(1-$)*k*A}}return h0({data:v,width:l,height:u},o*x),v}function h(b){var v=f(b),x=c(v),_=Math.pow(2,2*a);return Array.isArray(x)||(x=Hn(Number.MIN_VALUE,to(v)/_,x)),mf().size([l,u]).thresholds(x.map(T=>T*_))(v).map((T,S)=>(T.value=+x[S],p(T)))}h.contours=function(b){var v=f(b),x=mf().size([l,u]),_=Math.pow(2,2*a),T=S=>{S=+S;var A=p(x.contour(v,S*_));return A.value=S,A};return Object.defineProperty(T,"max",{get:()=>to(v)/_}),T};function p(b){return b.coordinates.forEach(d),b}function d(b){b.forEach(m)}function m(b){b.forEach(g)}function g(b){b[0]=b[0]*Math.pow(2,a)-s,b[1]=b[1]*Math.pow(2,a)-s}function y(){return s=o*3,l=r+s*2>>a,u=i+s*2>>a,h}return h.x=function(b){return arguments.length?(t=typeof b=="function"?b:An(+b),h):t},h.y=function(b){return arguments.length?(e=typeof b=="function"?b:An(+b),h):e},h.weight=function(b){return arguments.length?(n=typeof b=="function"?b:An(+b),h):n},h.size=function(b){if(!arguments.length)return[r,i];var v=+b[0],x=+b[1];if(!(v>=0&&x>=0))throw new Error("invalid size");return r=v,i=x,y()},h.cellSize=function(b){if(!arguments.length)return 1<<a;if(!((b=+b)>=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(b)/Math.LN2),y()},h.thresholds=function(b){return arguments.length?(c=typeof b=="function"?b:Array.isArray(b)?An(py.call(b)):An(b),h):c},h.bandwidth=function(b){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((b=+b)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*b*b+1)-1)/2,y()},h}const an=11102230246251565e-32,Xt=134217729,JL=(3+8*an)*an;function bf(t,e,n,r,i){let o,a,s,l,u=e[0],c=r[0],f=0,h=0;c>u==c>-u?(o=u,u=e[++f]):(o=c,c=r[++h]);let p=0;if(f<t&&h<n)for(c>u==c>-u?(a=u+o,s=o-(a-u),u=e[++f]):(a=c+o,s=o-(a-c),c=r[++h]),o=a,s!==0&&(i[p++]=s);f<t&&h<n;)c>u==c>-u?(a=o+u,l=a-o,s=o-(a-l)+(u-l),u=e[++f]):(a=o+c,l=a-o,s=o-(a-l)+(c-l),c=r[++h]),o=a,s!==0&&(i[p++]=s);for(;f<t;)a=o+u,l=a-o,s=o-(a-l)+(u-l),u=e[++f],o=a,s!==0&&(i[p++]=s);for(;h<n;)a=o+c,l=a-o,s=o-(a-l)+(c-l),c=r[++h],o=a,s!==0&&(i[p++]=s);return(o!==0||p===0)&&(i[p++]=o),p}function t6(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function $o(t){return new Float64Array(t)}const e6=(3+16*an)*an,n6=(2+12*an)*an,r6=(9+64*an)*an*an,li=$o(4),gy=$o(8),my=$o(12),yy=$o(16),Ht=$o(4);function i6(t,e,n,r,i,o,a){let s,l,u,c,f,h,p,d,m,g,y,b,v,x,_,T,S,A;const P=t-i,B=n-i,$=e-o,k=r-o;x=P*k,h=Xt*P,p=h-(h-P),d=P-p,h=Xt*k,m=h-(h-k),g=k-m,_=d*g-(x-p*m-d*m-p*g),T=$*B,h=Xt*$,p=h-(h-$),d=$-p,h=Xt*B,m=h-(h-B),g=B-m,S=d*g-(T-p*m-d*m-p*g),y=_-S,f=_-y,li[0]=_-(y+f)+(f-S),b=x+y,f=b-x,v=x-(b-f)+(y-f),y=v-T,f=v-y,li[1]=v-(y+f)+(f-T),A=b+y,f=A-b,li[2]=b-(A-f)+(y-f),li[3]=A;let D=t6(4,li),w=n6*a;if(D>=w||-D>=w||(f=t-P,s=t-(P+f)+(f-i),f=n-B,u=n-(B+f)+(f-i),f=e-$,l=e-($+f)+(f-o),f=r-k,c=r-(k+f)+(f-o),s===0&&l===0&&u===0&&c===0)||(w=r6*a+JL*Math.abs(D),D+=P*c+k*s-($*u+B*l),D>=w||-D>=w))return D;x=s*k,h=Xt*s,p=h-(h-s),d=s-p,h=Xt*k,m=h-(h-k),g=k-m,_=d*g-(x-p*m-d*m-p*g),T=l*B,h=Xt*l,p=h-(h-l),d=l-p,h=Xt*B,m=h-(h-B),g=B-m,S=d*g-(T-p*m-d*m-p*g),y=_-S,f=_-y,Ht[0]=_-(y+f)+(f-S),b=x+y,f=b-x,v=x-(b-f)+(y-f),y=v-T,f=v-y,Ht[1]=v-(y+f)+(f-T),A=b+y,f=A-b,Ht[2]=b-(A-f)+(y-f),Ht[3]=A;const M=bf(4,li,4,Ht,gy);x=P*c,h=Xt*P,p=h-(h-P),d=P-p,h=Xt*c,m=h-(h-c),g=c-m,_=d*g-(x-p*m-d*m-p*g),T=$*u,h=Xt*$,p=h-(h-$),d=$-p,h=Xt*u,m=h-(h-u),g=u-m,S=d*g-(T-p*m-d*m-p*g),y=_-S,f=_-y,Ht[0]=_-(y+f)+(f-S),b=x+y,f=b-x,v=x-(b-f)+(y-f),y=v-T,f=v-y,Ht[1]=v-(y+f)+(f-T),A=b+y,f=A-b,Ht[2]=b-(A-f)+(y-f),Ht[3]=A;const C=bf(M,gy,4,Ht,my);x=s*c,h=Xt*s,p=h-(h-s),d=s-p,h=Xt*c,m=h-(h-c),g=c-m,_=d*g-(x-p*m-d*m-p*g),T=l*u,h=Xt*l,p=h-(h-l),d=l-p,h=Xt*u,m=h-(h-u),g=u-m,S=d*g-(T-p*m-d*m-p*g),y=_-S,f=_-y,Ht[0]=_-(y+f)+(f-S),b=x+y,f=b-x,v=x-(b-f)+(y-f),y=v-T,f=v-y,Ht[1]=v-(y+f)+(f-T),A=b+y,f=A-b,Ht[2]=b-(A-f)+(y-f),Ht[3]=A;const X=bf(C,my,4,Ht,yy);return yy[X-1]}function Ls(t,e,n,r,i,o){const a=(e-o)*(n-i),s=(t-i)*(r-o),l=a-s,u=Math.abs(a+s);return Math.abs(l)>=e6*u?l:-i6(t,e,n,r,i,o,u)}const by=Math.pow(2,-52),ks=new Uint32Array(512);class Rs{static from(e,n=u6,r=c6){const i=e.length,o=new Float64Array(i*2);for(let a=0;a<i;a++){const s=e[a];o[2*a]=n(s),o[2*a+1]=r(s)}return new Rs(o)}constructor(e){const n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;const r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:o}=this,a=e.length>>1;let s=1/0,l=1/0,u=-1/0,c=-1/0;for(let P=0;P<a;P++){const B=e[2*P],$=e[2*P+1];B<s&&(s=B),$<l&&(l=$),B>u&&(u=B),$>c&&(c=$),this._ids[P]=P}const f=(s+u)/2,h=(l+c)/2;let p,d,m;for(let P=0,B=1/0;P<a;P++){const $=xf(f,h,e[2*P],e[2*P+1]);$<B&&(p=P,B=$)}const g=e[2*p],y=e[2*p+1];for(let P=0,B=1/0;P<a;P++){if(P===p)continue;const $=xf(g,y,e[2*P],e[2*P+1]);$<B&&$>0&&(d=P,B=$)}let b=e[2*d],v=e[2*d+1],x=1/0;for(let P=0;P<a;P++){if(P===p||P===d)continue;const B=s6(g,y,b,v,e[2*P],e[2*P+1]);B<x&&(m=P,x=B)}let _=e[2*m],T=e[2*m+1];if(x===1/0){for(let $=0;$<a;$++)this._dists[$]=e[2*$]-e[0]||e[2*$+1]-e[1];ui(this._ids,this._dists,0,a-1);const P=new Uint32Array(a);let B=0;for(let $=0,k=-1/0;$<a;$++){const D=this._ids[$],w=this._dists[D];w>k&&(P[B++]=D,k=w)}this.hull=P.subarray(0,B),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Ls(g,y,b,v,_,T)<0){const P=d,B=b,$=v;d=m,b=_,v=T,m=P,_=B,T=$}const S=l6(g,y,b,v,_,T);this._cx=S.x,this._cy=S.y;for(let P=0;P<a;P++)this._dists[P]=xf(e[2*P],e[2*P+1],S.x,S.y);ui(this._ids,this._dists,0,a-1),this._hullStart=p;let A=3;r[p]=n[m]=d,r[d]=n[p]=m,r[m]=n[d]=p,i[p]=0,i[d]=1,i[m]=2,o.fill(-1),o[this._hashKey(g,y)]=p,o[this._hashKey(b,v)]=d,o[this._hashKey(_,T)]=m,this.trianglesLen=0,this._addTriangle(p,d,m,-1,-1,-1);for(let P=0,B,$;P<this._ids.length;P++){const k=this._ids[P],D=e[2*k],w=e[2*k+1];if(P>0&&Math.abs(D-B)<=by&&Math.abs(w-$)<=by||(B=D,$=w,k===p||k===d||k===m))continue;let M=0;for(let N=0,R=this._hashKey(D,w);N<this._hashSize&&(M=o[(R+N)%this._hashSize],!(M!==-1&&M!==r[M]));N++);M=n[M];let C=M,X;for(;X=r[C],Ls(D,w,e[2*C],e[2*C+1],e[2*X],e[2*X+1])>=0;)if(C=X,C===M){C=-1;break}if(C===-1)continue;let O=this._addTriangle(C,k,r[C],-1,-1,i[C]);i[k]=this._legalize(O+2),i[C]=O,A++;let I=r[C];for(;X=r[I],Ls(D,w,e[2*I],e[2*I+1],e[2*X],e[2*X+1])<0;)O=this._addTriangle(I,k,X,i[k],-1,i[I]),i[k]=this._legalize(O+2),r[I]=I,A--,I=X;if(C===M)for(;X=n[C],Ls(D,w,e[2*X],e[2*X+1],e[2*C],e[2*C+1])<0;)O=this._addTriangle(X,k,C,-1,i[C],i[X]),this._legalize(O+2),i[X]=O,r[C]=C,A--,C=X;this._hullStart=n[k]=C,r[C]=n[I]=k,r[k]=I,o[this._hashKey(D,w)]=k,o[this._hashKey(e[2*C],e[2*C+1])]=C}this.hull=new Uint32Array(A);for(let P=0,B=this._hullStart;P<A;P++)this.hull[P]=B,B=r[B];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(o6(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:r,coords:i}=this;let o=0,a=0;for(;;){const s=r[e],l=e-e%3;if(a=l+(e+2)%3,s===-1){if(o===0)break;e=ks[--o];continue}const u=s-s%3,c=l+(e+1)%3,f=u+(s+2)%3,h=n[a],p=n[e],d=n[c],m=n[f];if(a6(i[2*h],i[2*h+1],i[2*p],i[2*p+1],i[2*d],i[2*d+1],i[2*m],i[2*m+1])){n[e]=m,n[s]=h;const y=r[f];if(y===-1){let v=this._hullStart;do{if(this._hullTri[v]===f){this._hullTri[v]=e;break}v=this._hullPrev[v]}while(v!==this._hullStart)}this._link(e,y),this._link(s,r[a]),this._link(a,f);const b=u+(s+1)%3;o<ks.length&&(ks[o++]=b)}else{if(o===0)break;e=ks[--o]}}return a}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,i,o,a){const s=this.trianglesLen;return this._triangles[s]=e,this._triangles[s+1]=n,this._triangles[s+2]=r,this._link(s,i),this._link(s+1,o),this._link(s+2,a),this.trianglesLen+=3,s}}function o6(t,e){const n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function xf(t,e,n,r){const i=t-n,o=e-r;return i*i+o*o}function a6(t,e,n,r,i,o,a,s){const l=t-a,u=e-s,c=n-a,f=r-s,h=i-a,p=o-s,d=l*l+u*u,m=c*c+f*f,g=h*h+p*p;return l*(f*g-m*p)-u*(c*g-m*h)+d*(c*p-f*h)<0}function s6(t,e,n,r,i,o){const a=n-t,s=r-e,l=i-t,u=o-e,c=a*a+s*s,f=l*l+u*u,h=.5/(a*u-s*l),p=(u*c-s*f)*h,d=(a*f-l*c)*h;return p*p+d*d}function l6(t,e,n,r,i,o){const a=n-t,s=r-e,l=i-t,u=o-e,c=a*a+s*s,f=l*l+u*u,h=.5/(a*u-s*l),p=t+(u*c-s*f)*h,d=e+(a*f-l*c)*h;return{x:p,y:d}}function ui(t,e,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){const o=t[i],a=e[o];let s=i-1;for(;s>=n&&e[t[s]]>a;)t[s+1]=t[s--];t[s+1]=o}else{const i=n+r>>1;let o=n+1,a=r;_o(t,i,o),e[t[n]]>e[t[r]]&&_o(t,n,r),e[t[o]]>e[t[r]]&&_o(t,o,r),e[t[n]]>e[t[o]]&&_o(t,n,o);const s=t[o],l=e[s];for(;;){do o++;while(e[t[o]]<l);do a--;while(e[t[a]]>l);if(a<o)break;_o(t,o,a)}t[n+1]=t[a],t[a]=s,r-o+1>=a-n?(ui(t,e,o,r),ui(t,e,n,a-1)):(ui(t,e,n,a-1),ui(t,e,o,r))}}function _o(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function u6(t){return t[0]}function c6(t){return t[1]}const xy=1e-6;class sr{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;const i=e+r,o=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${o}`:(Math.abs(this._x1-i)>xy||Math.abs(this._y1-o)>xy)&&(this._+="L"+i+","+o),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=o}`)}rect(e,n,r,i){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class vf{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}}class vy{constructor(e,[n,r,i,o]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((o=+o)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=i,this.xmin=n,this.ymax=o,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:n,triangles:r},vectors:i}=this;let o,a;const s=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,g=0,y=r.length,b,v;m<y;m+=3,g+=2){const x=r[m]*2,_=r[m+1]*2,T=r[m+2]*2,S=e[x],A=e[x+1],P=e[_],B=e[_+1],$=e[T],k=e[T+1],D=P-S,w=B-A,M=$-S,C=k-A,X=(D*C-w*M)*2;if(Math.abs(X)<1e-9){if(o===void 0){o=a=0;for(const I of n)o+=e[I*2],a+=e[I*2+1];o/=n.length,a/=n.length}const O=1e9*Math.sign((o-S)*C-(a-A)*M);b=(S+$)/2-O*C,v=(A+k)/2+O*M}else{const O=1/X,I=D*D+w*w,N=M*M+C*C;b=S+(C*I-w*N)*O,v=A+(D*N-M*I)*O}s[g]=b,s[g+1]=v}let l=n[n.length-1],u,c=l*4,f,h=e[2*l],p,d=e[2*l+1];i.fill(0);for(let m=0;m<n.length;++m)l=n[m],u=c,f=h,p=d,c=l*4,h=e[2*l],d=e[2*l+1],i[u+2]=i[c]=p-d,i[u+3]=i[c+1]=h-f}render(e){const n=e==null?e=new sr:void 0,{delaunay:{halfedges:r,inedges:i,hull:o},circumcenters:a,vectors:s}=this;if(o.length<=1)return null;for(let c=0,f=r.length;c<f;++c){const h=r[c];if(h<c)continue;const p=Math.floor(c/3)*2,d=Math.floor(h/3)*2,m=a[p],g=a[p+1],y=a[d],b=a[d+1];this._renderSegment(m,g,y,b,e)}let l,u=o[o.length-1];for(let c=0;c<o.length;++c){l=u,u=o[c];const f=Math.floor(i[u]/3)*2,h=a[f],p=a[f+1],d=l*4,m=this._project(h,p,s[d+2],s[d+3]);m&&this._renderSegment(h,p,m[0],m[1],e)}return n&&n.value()}renderBounds(e){const n=e==null?e=new sr:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){const r=n==null?n=new sr:void 0,i=this._clip(e);if(i===null||!i.length)return;n.moveTo(i[0],i[1]);let o=i.length;for(;i[0]===i[o-2]&&i[1]===i[o-1]&&o>1;)o-=2;for(let a=2;a<o;a+=2)(i[a]!==i[a-2]||i[a+1]!==i[a-1])&&n.lineTo(i[a],i[a+1]);return n.closePath(),r&&r.value()}*cellPolygons(){const{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){const i=this.cellPolygon(n);i&&(i.index=n,yield i)}}cellPolygon(e){const n=new vf;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,i,o){let a;const s=this._regioncode(e,n),l=this._regioncode(r,i);s===0&&l===0?(o.moveTo(e,n),o.lineTo(r,i)):(a=this._clipSegment(e,n,r,i,s,l))&&(o.moveTo(a[0],a[1]),o.lineTo(a[2],a[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){const n=this._clip(e);if(n)for(const r of this.delaunay.neighbors(e)){const i=this._clip(r);if(i){t:for(let o=0,a=n.length;o<a;o+=2)for(let s=0,l=i.length;s<l;s+=2)if(n[o]===i[s]&&n[o+1]===i[s+1]&&n[(o+2)%a]===i[(s+l-2)%l]&&n[(o+3)%a]===i[(s+l-1)%l]){yield r;break t}}}}_cell(e){const{circumcenters:n,delaunay:{inedges:r,halfedges:i,triangles:o}}=this,a=r[e];if(a===-1)return null;const s=[];let l=a;do{const u=Math.floor(l/3);if(s.push(n[u*2],n[u*2+1]),l=l%3===2?l-2:l+1,o[l]!==e)break;l=i[l]}while(l!==a&&l!==-1);return s}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(e);if(n===null)return null;const{vectors:r}=this,i=e*4;return this._simplify(r[i]||r[i+1]?this._clipInfinite(e,n,r[i],r[i+1],r[i+2],r[i+3]):this._clipFinite(e,n))}_clipFinite(e,n){const r=n.length;let i=null,o,a,s=n[r-2],l=n[r-1],u,c=this._regioncode(s,l),f,h=0;for(let p=0;p<r;p+=2)if(o=s,a=l,s=n[p],l=n[p+1],u=c,c=this._regioncode(s,l),u===0&&c===0)f=h,h=0,i?i.push(s,l):i=[s,l];else{let d,m,g,y,b;if(u===0){if((d=this._clipSegment(o,a,s,l,u,c))===null)continue;[m,g,y,b]=d}else{if((d=this._clipSegment(s,l,o,a,c,u))===null)continue;[y,b,m,g]=d,f=h,h=this._edgecode(m,g),f&&h&&this._edge(e,f,h,i,i.length),i?i.push(m,g):i=[m,g]}f=h,h=this._edgecode(y,b),f&&h&&this._edge(e,f,h,i,i.length),i?i.push(y,b):i=[y,b]}if(i)f=h,h=this._edgecode(i[0],i[1]),f&&h&&this._edge(e,f,h,i,i.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return i}_clipSegment(e,n,r,i,o,a){const s=o<a;for(s&&([e,n,r,i,o,a]=[r,i,e,n,a,o]);;){if(o===0&&a===0)return s?[r,i,e,n]:[e,n,r,i];if(o&a)return null;let l,u,c=o||a;c&8?(l=e+(r-e)*(this.ymax-n)/(i-n),u=this.ymax):c&4?(l=e+(r-e)*(this.ymin-n)/(i-n),u=this.ymin):c&2?(u=n+(i-n)*(this.xmax-e)/(r-e),l=this.xmax):(u=n+(i-n)*(this.xmin-e)/(r-e),l=this.xmin),o?(e=l,n=u,o=this._regioncode(e,n)):(r=l,i=u,a=this._regioncode(r,i))}}_clipInfinite(e,n,r,i,o,a){let s=Array.from(n),l;if((l=this._project(s[0],s[1],r,i))&&s.unshift(l[0],l[1]),(l=this._project(s[s.length-2],s[s.length-1],o,a))&&s.push(l[0],l[1]),s=this._clipFinite(e,s))for(let u=0,c=s.length,f,h=this._edgecode(s[c-2],s[c-1]);u<c;u+=2)f=h,h=this._edgecode(s[u],s[u+1]),f&&h&&(u=this._edge(e,f,h,s,u),c=s.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(e,n,r,i,o){for(;n!==r;){let a,s;switch(n){case 5:n=4;continue;case 4:n=6,a=this.xmax,s=this.ymin;break;case 6:n=2;continue;case 2:n=10,a=this.xmax,s=this.ymax;break;case 10:n=8;continue;case 8:n=9,a=this.xmin,s=this.ymax;break;case 9:n=1;continue;case 1:n=5,a=this.xmin,s=this.ymin;break}(i[o]!==a||i[o+1]!==s)&&this.contains(e,a,s)&&(i.splice(o,0,a,s),o+=2)}return o}_project(e,n,r,i){let o=1/0,a,s,l;if(i<0){if(n<=this.ymin)return null;(a=(this.ymin-n)/i)<o&&(l=this.ymin,s=e+(o=a)*r)}else if(i>0){if(n>=this.ymax)return null;(a=(this.ymax-n)/i)<o&&(l=this.ymax,s=e+(o=a)*r)}if(r>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/r)<o&&(s=this.xmax,l=n+(o=a)*i)}else if(r<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/r)<o&&(s=this.xmin,l=n+(o=a)*i)}return[s,l]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){const r=(n+2)%e.length,i=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[i]||e[n+1]===e[r+1]&&e[r+1]===e[i+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}}const f6=2*Math.PI,ci=Math.pow;function h6(t){return t[0]}function p6(t){return t[1]}function d6(t){const{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){const i=2*e[r],o=2*e[r+1],a=2*e[r+2];if((n[a]-n[i])*(n[o+1]-n[i+1])-(n[o]-n[i])*(n[a+1]-n[i+1])>1e-10)return!1}return!0}function g6(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class $f{static from(e,n=h6,r=p6,i){return new $f("length"in e?m6(e,n,r,i):Float64Array.from(y6(e,n,r,i)))}constructor(e){this._delaunator=new Rs(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&d6(e)){this.collinear=Int32Array.from({length:n.length/2},(h,p)=>p).sort((h,p)=>n[2*h]-n[2*p]||n[2*h+1]-n[2*p+1]);const l=this.collinear[0],u=this.collinear[this.collinear.length-1],c=[n[2*l],n[2*l+1],n[2*u],n[2*u+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let h=0,p=n.length/2;h<p;++h){const d=g6(n[2*h],n[2*h+1],f);n[2*h]=d[0],n[2*h+1]=d[1]}this._delaunator=new Rs(n)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),s=this._hullIndex.fill(-1);for(let l=0,u=r.length;l<u;++l){const c=o[l%3===2?l-2:l+1];(r[l]===-1||a[c]===-1)&&(a[c]=l)}for(let l=0,u=i.length;l<u;++l)s[i[l]]=l;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],a[i[0]]=1,i.length===2&&(a[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(e){return new vy(this,e)}*neighbors(e){const{inedges:n,hull:r,_hullIndex:i,halfedges:o,triangles:a,collinear:s}=this;if(s){const f=s.indexOf(e);f>0&&(yield s[f-1]),f<s.length-1&&(yield s[f+1]);return}const l=n[e];if(l===-1)return;let u=l,c=-1;do{if(yield c=a[u],u=u%3===2?u-2:u+1,a[u]!==e)return;if(u=o[u],u===-1){const f=r[(i[e]+1)%r.length];f!==c&&(yield f);return}}while(u!==l)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;const i=r;let o;for(;(o=this._step(r,e,n))>=0&&o!==r&&o!==i;)r=o;return o}_step(e,n,r){const{inedges:i,hull:o,_hullIndex:a,halfedges:s,triangles:l,points:u}=this;if(i[e]===-1||!u.length)return(e+1)%(u.length>>1);let c=e,f=ci(n-u[e*2],2)+ci(r-u[e*2+1],2);const h=i[e];let p=h;do{let d=l[p];const m=ci(n-u[d*2],2)+ci(r-u[d*2+1],2);if(m<f&&(f=m,c=d),p=p%3===2?p-2:p+1,l[p]!==e)break;if(p=s[p],p===-1){if(p=o[(a[e]+1)%o.length],p!==d&&ci(n-u[p*2],2)+ci(r-u[p*2+1],2)<f)return p;break}}while(p!==h);return c}render(e){const n=e==null?e=new sr:void 0,{points:r,halfedges:i,triangles:o}=this;for(let a=0,s=i.length;a<s;++a){const l=i[a];if(l<a)continue;const u=o[a]*2,c=o[l]*2;e.moveTo(r[u],r[u+1]),e.lineTo(r[c],r[c+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;const r=e==null?e=new sr:void 0,{points:i}=this;for(let o=0,a=i.length;o<a;o+=2){const s=i[o],l=i[o+1];e.moveTo(s+n,l),e.arc(s,l,n,0,f6)}return r&&r.value()}renderHull(e){const n=e==null?e=new sr:void 0,{hull:r,points:i}=this,o=r[0]*2,a=r.length;e.moveTo(i[o],i[o+1]);for(let s=1;s<a;++s){const l=2*r[s];e.lineTo(i[l],i[l+1])}return e.closePath(),n&&n.value()}hullPolygon(){const e=new vf;return this.renderHull(e),e.value()}renderTriangle(e,n){const r=n==null?n=new sr:void 0,{points:i,triangles:o}=this,a=o[e*=3]*2,s=o[e+1]*2,l=o[e+2]*2;return n.moveTo(i[a],i[a+1]),n.lineTo(i[s],i[s+1]),n.lineTo(i[l],i[l+1]),n.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){const n=new vf;return this.renderTriangle(e,n),n.value()}}function m6(t,e,n,r){const i=t.length,o=new Float64Array(i*2);for(let a=0;a<i;++a){const s=t[a];o[a*2]=e.call(r,s,a,t),o[a*2+1]=n.call(r,s,a,t)}return o}function*y6(t,e,n,r){let i=0;for(const o of t)yield e.call(r,o,i,t),yield n.call(r,o,i,t),++i}var $y={},_f={},Sf=34,So=10,wf=13;function _y(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function b6(t,e){var n=_y(t);return function(r,i){return e(n(r),i,t)}}function Sy(t){var e=Object.create(null),n=[];return t.forEach(function(r){for(var i in r)i in e||n.push(e[i]=i)}),n}function se(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function x6(t){return t<0?"-"+se(-t,6):t>9999?"+"+se(t,6):se(t,4)}function v6(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":x6(t.getUTCFullYear())+"-"+se(t.getUTCMonth()+1,2)+"-"+se(t.getUTCDate(),2)+(i?"T"+se(e,2)+":"+se(n,2)+":"+se(r,2)+"."+se(i,3)+"Z":r?"T"+se(e,2)+":"+se(n,2)+":"+se(r,2)+"Z":n||e?"T"+se(e,2)+":"+se(n,2)+"Z":"")}function Es(t){var e=new RegExp('["'+t+`
43
- \r]`),n=t.charCodeAt(0);function r(f,h){var p,d,m=i(f,function(g,y){if(p)return p(g,y-1);d=g,p=h?b6(g,h):_y(g)});return m.columns=d||[],m}function i(f,h){var p=[],d=f.length,m=0,g=0,y,b=d<=0,v=!1;f.charCodeAt(d-1)===So&&--d,f.charCodeAt(d-1)===wf&&--d;function x(){if(b)return _f;if(v)return v=!1,$y;var T,S=m,A;if(f.charCodeAt(S)===Sf){for(;m++<d&&f.charCodeAt(m)!==Sf||f.charCodeAt(++m)===Sf;);return(T=m)>=d?b=!0:(A=f.charCodeAt(m++))===So?v=!0:A===wf&&(v=!0,f.charCodeAt(m)===So&&++m),f.slice(S+1,T-1).replace(/""/g,'"')}for(;m<d;){if((A=f.charCodeAt(T=m++))===So)v=!0;else if(A===wf)v=!0,f.charCodeAt(m)===So&&++m;else if(A!==n)continue;return f.slice(S,T)}return b=!0,f.slice(S,d)}for(;(y=x())!==_f;){for(var _=[];y!==$y&&y!==_f;)_.push(y),y=x();h&&(_=h(_,g++))==null||p.push(_)}return p}function o(f,h){return f.map(function(p){return h.map(function(d){return c(p[d])}).join(t)})}function a(f,h){return h==null&&(h=Sy(f)),[h.map(c).join(t)].concat(o(f,h)).join(`
44
- `)}function s(f,h){return h==null&&(h=Sy(f)),o(f,h).join(`
45
- `)}function l(f){return f.map(u).join(`
46
- `)}function u(f){return f.map(c).join(t)}function c(f){return f==null?"":f instanceof Date?v6(f):e.test(f+="")?'"'+f.replace(/"/g,'""')+'"':f}return{parse:r,parseRows:i,format:a,formatBody:s,formatRows:l,formatRow:u,formatValue:c}}var lr=Es(","),wy=lr.parse,$6=lr.parseRows,_6=lr.format,S6=lr.formatBody,w6=lr.formatRows,T6=lr.formatRow,A6=lr.formatValue,ur=Es(" "),Ty=ur.parse,P6=ur.parseRows,D6=ur.format,C6=ur.formatBody,M6=ur.formatRows,L6=ur.formatRow,k6=ur.formatValue;function R6(t){for(var e in t){var n=t[e].trim(),r,i;if(!n)n=null;else if(n==="true")n=!0;else if(n==="false")n=!1;else if(n==="NaN")n=NaN;else if(!isNaN(r=+n))n=r;else if(i=n.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/))E6&&i[4]&&!i[7]&&(n=n.replace(/-/g,"/").replace(/T/," ")),n=new Date(n);else continue;t[e]=n}return t}const E6=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function I6(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}function B6(t,e){return fetch(t,e).then(I6)}function N6(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}function F6(t,e){return fetch(t,e).then(N6)}function O6(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Is(t,e){return fetch(t,e).then(O6)}function Ay(t){return function(e,n,r){return arguments.length===2&&typeof n=="function"&&(r=n,n=void 0),Is(e,n).then(function(i){return t(i,r)})}}function z6(t,e,n,r){arguments.length===3&&typeof n=="function"&&(r=n,n=void 0);var i=Es(t);return Is(e,n).then(function(o){return i.parse(o,r)})}var G6=Ay(wy),Y6=Ay(Ty);function X6(t,e){return new Promise(function(n,r){var i=new Image;for(var o in e)i[o]=e[o];i.onerror=r,i.onload=function(){n(i)},i.src=t})}function W6(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(!(t.status===204||t.status===205))return t.json()}function V6(t,e){return fetch(t,e).then(W6)}function Tf(t){return(e,n)=>Is(e,n).then(r=>new DOMParser().parseFromString(r,t))}const U6=Tf("application/xml");var H6=Tf("text/html"),j6=Tf("image/svg+xml");function Py(t,e){var n,r=1;t==null&&(t=0),e==null&&(e=0);function i(){var o,a=n.length,s,l=0,u=0;for(o=0;o<a;++o)s=n[o],l+=s.x,u+=s.y;for(l=(l/a-t)*r,u=(u/a-e)*r,o=0;o<a;++o)s=n[o],s.x-=l,s.y-=u}return i.initialize=function(o){n=o},i.x=function(o){return arguments.length?(t=+o,i):t},i.y=function(o){return arguments.length?(e=+o,i):e},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function q6(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return Dy(this.cover(e,n),e,n,t)}function Dy(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o=t._root,a={data:r},s=t._x0,l=t._y0,u=t._x1,c=t._y1,f,h,p,d,m,g,y,b;if(!o)return t._root=a,t;for(;o.length;)if((m=e>=(f=(s+u)/2))?s=f:u=f,(g=n>=(h=(l+c)/2))?l=h:c=h,i=o,!(o=o[y=g<<1|m]))return i[y]=a,t;if(p=+t._x.call(null,o.data),d=+t._y.call(null,o.data),e===p&&n===d)return a.next=o,i?i[y]=a:t._root=a,t;do i=i?i[y]=new Array(4):t._root=new Array(4),(m=e>=(f=(s+u)/2))?s=f:u=f,(g=n>=(h=(l+c)/2))?l=h:c=h;while((y=g<<1|m)===(b=(d>=h)<<1|p>=f));return i[b]=o,i[y]=a,t}function Z6(t){var e,n,r=t.length,i,o,a=new Array(r),s=new Array(r),l=1/0,u=1/0,c=-1/0,f=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,e=t[n]))||isNaN(o=+this._y.call(null,e))||(a[n]=i,s[n]=o,i<l&&(l=i),i>c&&(c=i),o<u&&(u=o),o>f&&(f=o));if(l>c||u>f)return this;for(this.cover(l,u).cover(c,f),n=0;n<r;++n)Dy(this,a[n],s[n],t[n]);return this}function K6(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,o=(r=Math.floor(e))+1;else{for(var a=i-n||1,s=this._root,l,u;n>t||t>=i||r>e||e>=o;)switch(u=(e<r)<<1|t<n,l=new Array(4),l[u]=s,s=l,a*=2,u){case 0:i=n+a,o=r+a;break;case 1:n=i-a,o=r+a;break;case 2:i=n+a,r=o-a;break;case 3:n=i-a,r=o-a;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this}function Q6(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t}function J6(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function jt(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function t8(t,e,n){var r,i=this._x0,o=this._y0,a,s,l,u,c=this._x1,f=this._y1,h=[],p=this._root,d,m;for(p&&h.push(new jt(p,i,o,c,f)),n==null?n=1/0:(i=t-n,o=e-n,c=t+n,f=e+n,n*=n);d=h.pop();)if(!(!(p=d.node)||(a=d.x0)>c||(s=d.y0)>f||(l=d.x1)<i||(u=d.y1)<o))if(p.length){var g=(a+l)/2,y=(s+u)/2;h.push(new jt(p[3],g,y,l,u),new jt(p[2],a,y,g,u),new jt(p[1],g,s,l,y),new jt(p[0],a,s,g,y)),(m=(e>=y)<<1|t>=g)&&(d=h[h.length-1],h[h.length-1]=h[h.length-1-m],h[h.length-1-m]=d)}else{var b=t-+this._x.call(null,p.data),v=e-+this._y.call(null,p.data),x=b*b+v*v;if(x<n){var _=Math.sqrt(n=x);i=t-_,o=e-_,c=t+_,f=e+_,r=p.data}}return r}function e8(t){if(isNaN(c=+this._x.call(null,t))||isNaN(f=+this._y.call(null,t)))return this;var e,n=this._root,r,i,o,a=this._x0,s=this._y0,l=this._x1,u=this._y1,c,f,h,p,d,m,g,y;if(!n)return this;if(n.length)for(;;){if((d=c>=(h=(a+l)/2))?a=h:l=h,(m=f>=(p=(s+u)/2))?s=p:u=p,e=n,!(n=n[g=m<<1|d]))return this;if(!n.length)break;(e[g+1&3]||e[g+2&3]||e[g+3&3])&&(r=e,y=g)}for(;n.data!==t;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):e?(o?e[g]=o:delete e[g],(n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[y]=n:this._root=n),this):(this._root=o,this)}function n8(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function r8(){return this._root}function i8(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t}function o8(t){var e=[],n,r=this._root,i,o,a,s,l;for(r&&e.push(new jt(r,this._x0,this._y0,this._x1,this._y1));n=e.pop();)if(!t(r=n.node,o=n.x0,a=n.y0,s=n.x1,l=n.y1)&&r.length){var u=(o+s)/2,c=(a+l)/2;(i=r[3])&&e.push(new jt(i,u,c,s,l)),(i=r[2])&&e.push(new jt(i,o,c,u,l)),(i=r[1])&&e.push(new jt(i,u,a,s,c)),(i=r[0])&&e.push(new jt(i,o,a,u,c))}return this}function a8(t){var e=[],n=[],r;for(this._root&&e.push(new jt(this._root,this._x0,this._y0,this._x1,this._y1));r=e.pop();){var i=r.node;if(i.length){var o,a=r.x0,s=r.y0,l=r.x1,u=r.y1,c=(a+l)/2,f=(s+u)/2;(o=i[0])&&e.push(new jt(o,a,s,c,f)),(o=i[1])&&e.push(new jt(o,c,s,l,f)),(o=i[2])&&e.push(new jt(o,a,f,c,u)),(o=i[3])&&e.push(new jt(o,c,f,l,u))}n.push(r)}for(;r=n.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function s8(t){return t[0]}function l8(t){return arguments.length?(this._x=t,this):this._x}function u8(t){return t[1]}function c8(t){return arguments.length?(this._y=t,this):this._y}function Bs(t,e,n){var r=new Af(e??s8,n??u8,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Af(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Cy(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var qt=Bs.prototype=Af.prototype;qt.copy=function(){var t=new Af(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,r;if(!e)return t;if(!e.length)return t._root=Cy(e),t;for(n=[{source:e,target:t._root=new Array(4)}];e=n.pop();)for(var i=0;i<4;++i)(r=e.source[i])&&(r.length?n.push({source:r,target:e.target[i]=new Array(4)}):e.target[i]=Cy(r));return t},qt.add=q6,qt.addAll=Z6,qt.cover=K6,qt.data=Q6,qt.extent=J6,qt.find=t8,qt.remove=e8,qt.removeAll=n8,qt.root=r8,qt.size=i8,qt.visit=o8,qt.visitAfter=a8,qt.x=l8,qt.y=c8;function kt(t){return function(){return t}}function Pn(t){return(t()-.5)*1e-6}function f8(t){return t.x+t.vx}function h8(t){return t.y+t.vy}function Pf(t){var e,n,r,i=1,o=1;typeof t!="function"&&(t=kt(t==null?1:+t));function a(){for(var u,c=e.length,f,h,p,d,m,g,y=0;y<o;++y)for(f=Bs(e,f8,h8).visitAfter(s),u=0;u<c;++u)h=e[u],m=n[h.index],g=m*m,p=h.x+h.vx,d=h.y+h.vy,f.visit(b);function b(v,x,_,T,S){var A=v.data,P=v.r,B=m+P;if(A){if(A.index>h.index){var $=p-A.x-A.vx,k=d-A.y-A.vy,D=$*$+k*k;D<B*B&&($===0&&($=Pn(r),D+=$*$),k===0&&(k=Pn(r),D+=k*k),D=(B-(D=Math.sqrt(D)))/D*i,h.vx+=($*=D)*(B=(P*=P)/(g+P)),h.vy+=(k*=D)*B,A.vx-=$*(B=1-B),A.vy-=k*B)}return}return x>p+B||T<p-B||_>d+B||S<d-B}}function s(u){if(u.data)return u.r=n[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function l(){if(e){var u,c=e.length,f;for(n=new Array(c),u=0;u<c;++u)f=e[u],n[f.index]=+t(f,u,e)}}return a.initialize=function(u,c){e=u,r=c,l()},a.iterations=function(u){return arguments.length?(o=+u,a):o},a.strength=function(u){return arguments.length?(i=+u,a):i},a.radius=function(u){return arguments.length?(t=typeof u=="function"?u:kt(+u),l(),a):t},a}function p8(t){return t.index}function My(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function Ly(t){var e=p8,n=f,r,i=kt(30),o,a,s,l,u,c=1;t==null&&(t=[]);function f(g){return 1/Math.min(s[g.source.index],s[g.target.index])}function h(g){for(var y=0,b=t.length;y<c;++y)for(var v=0,x,_,T,S,A,P,B;v<b;++v)x=t[v],_=x.source,T=x.target,S=T.x+T.vx-_.x-_.vx||Pn(u),A=T.y+T.vy-_.y-_.vy||Pn(u),P=Math.sqrt(S*S+A*A),P=(P-o[v])/P*g*r[v],S*=P,A*=P,T.vx-=S*(B=l[v]),T.vy-=A*B,_.vx+=S*(B=1-B),_.vy+=A*B}function p(){if(a){var g,y=a.length,b=t.length,v=new Map(a.map((_,T)=>[e(_,T,a),_])),x;for(g=0,s=new Array(y);g<b;++g)x=t[g],x.index=g,typeof x.source!="object"&&(x.source=My(v,x.source)),typeof x.target!="object"&&(x.target=My(v,x.target)),s[x.source.index]=(s[x.source.index]||0)+1,s[x.target.index]=(s[x.target.index]||0)+1;for(g=0,l=new Array(b);g<b;++g)x=t[g],l[g]=s[x.source.index]/(s[x.source.index]+s[x.target.index]);r=new Array(b),d(),o=new Array(b),m()}}function d(){if(a)for(var g=0,y=t.length;g<y;++g)r[g]=+n(t[g],g,t)}function m(){if(a)for(var g=0,y=t.length;g<y;++g)o[g]=+i(t[g],g,t)}return h.initialize=function(g,y){a=g,u=y,p()},h.links=function(g){return arguments.length?(t=g,p(),h):t},h.id=function(g){return arguments.length?(e=g,h):e},h.iterations=function(g){return arguments.length?(c=+g,h):c},h.strength=function(g){return arguments.length?(n=typeof g=="function"?g:kt(+g),d(),h):n},h.distance=function(g){return arguments.length?(i=typeof g=="function"?g:kt(+g),m(),h):i},h}const d8=1664525,g8=1013904223,ky=4294967296;function m8(){let t=1;return()=>(t=(d8*t+g8)%ky)/ky}function y8(t){return t.x}function b8(t){return t.y}var x8=10,v8=Math.PI*(3-Math.sqrt(5));function Df(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,l=Ss(f),u=qn("tick","end"),c=m8();t==null&&(t=[]);function f(){h(),u.call("tick",e),n<r&&(l.stop(),u.call("end",e))}function h(m){var g,y=t.length,b;m===void 0&&(m=1);for(var v=0;v<m;++v)for(n+=(o-n)*i,s.forEach(function(x){x(n)}),g=0;g<y;++g)b=t[g],b.fx==null?b.x+=b.vx*=a:(b.x=b.fx,b.vx=0),b.fy==null?b.y+=b.vy*=a:(b.y=b.fy,b.vy=0);return e}function p(){for(var m=0,g=t.length,y;m<g;++m){if(y=t[m],y.index=m,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var b=x8*Math.sqrt(.5+m),v=m*v8;y.x=b*Math.cos(v),y.y=b*Math.sin(v)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function d(m){return m.initialize&&m.initialize(t,c),m}return p(),e={tick:h,restart:function(){return l.restart(f),e},stop:function(){return l.stop(),e},nodes:function(m){return arguments.length?(t=m,p(),s.forEach(d),e):t},alpha:function(m){return arguments.length?(n=+m,e):n},alphaMin:function(m){return arguments.length?(r=+m,e):r},alphaDecay:function(m){return arguments.length?(i=+m,e):+i},alphaTarget:function(m){return arguments.length?(o=+m,e):o},velocityDecay:function(m){return arguments.length?(a=1-m,e):1-a},randomSource:function(m){return arguments.length?(c=m,s.forEach(d),e):c},force:function(m,g){return arguments.length>1?(g==null?s.delete(m):s.set(m,d(g)),e):s.get(m)},find:function(m,g,y){var b=0,v=t.length,x,_,T,S,A;for(y==null?y=1/0:y*=y,b=0;b<v;++b)S=t[b],x=m-S.x,_=g-S.y,T=x*x+_*_,T<y&&(A=S,y=T);return A},on:function(m,g){return arguments.length>1?(u.on(m,g),e):u.on(m)}}}function Cf(){var t,e,n,r,i=kt(-30),o,a=1,s=1/0,l=.81;function u(p){var d,m=t.length,g=Bs(t,y8,b8).visitAfter(f);for(r=p,d=0;d<m;++d)e=t[d],g.visit(h)}function c(){if(t){var p,d=t.length,m;for(o=new Array(d),p=0;p<d;++p)m=t[p],o[m.index]=+i(m,p,t)}}function f(p){var d=0,m,g,y=0,b,v,x;if(p.length){for(b=v=x=0;x<4;++x)(m=p[x])&&(g=Math.abs(m.value))&&(d+=m.value,y+=g,b+=g*m.x,v+=g*m.y);p.x=b/y,p.y=v/y}else{m=p,m.x=m.data.x,m.y=m.data.y;do d+=o[m.data.index];while(m=m.next)}p.value=d}function h(p,d,m,g){if(!p.value)return!0;var y=p.x-e.x,b=p.y-e.y,v=g-d,x=y*y+b*b;if(v*v/l<x)return x<s&&(y===0&&(y=Pn(n),x+=y*y),b===0&&(b=Pn(n),x+=b*b),x<a&&(x=Math.sqrt(a*x)),e.vx+=y*p.value*r/x,e.vy+=b*p.value*r/x),!0;if(p.length||x>=s)return;(p.data!==e||p.next)&&(y===0&&(y=Pn(n),x+=y*y),b===0&&(b=Pn(n),x+=b*b),x<a&&(x=Math.sqrt(a*x)));do p.data!==e&&(v=o[p.data.index]*r/x,e.vx+=y*v,e.vy+=b*v);while(p=p.next)}return u.initialize=function(p,d){t=p,n=d,c()},u.strength=function(p){return arguments.length?(i=typeof p=="function"?p:kt(+p),c(),u):i},u.distanceMin=function(p){return arguments.length?(a=p*p,u):Math.sqrt(a)},u.distanceMax=function(p){return arguments.length?(s=p*p,u):Math.sqrt(s)},u.theta=function(p){return arguments.length?(l=p*p,u):Math.sqrt(l)},u}function $8(t,e,n){var r,i=kt(.1),o,a;typeof t!="function"&&(t=kt(+t)),e==null&&(e=0),n==null&&(n=0);function s(u){for(var c=0,f=r.length;c<f;++c){var h=r[c],p=h.x-e||1e-6,d=h.y-n||1e-6,m=Math.sqrt(p*p+d*d),g=(a[c]-m)*o[c]*u/m;h.vx+=p*g,h.vy+=d*g}}function l(){if(r){var u,c=r.length;for(o=new Array(c),a=new Array(c),u=0;u<c;++u)a[u]=+t(r[u],u,r),o[u]=isNaN(a[u])?0:+i(r[u],u,r)}}return s.initialize=function(u){r=u,l()},s.strength=function(u){return arguments.length?(i=typeof u=="function"?u:kt(+u),l(),s):i},s.radius=function(u){return arguments.length?(t=typeof u=="function"?u:kt(+u),l(),s):t},s.x=function(u){return arguments.length?(e=+u,s):e},s.y=function(u){return arguments.length?(n=+u,s):n},s}function Ry(t){var e=kt(.1),n,r,i;typeof t!="function"&&(t=kt(t==null?0:+t));function o(s){for(var l=0,u=n.length,c;l<u;++l)c=n[l],c.vx+=(i[l]-c.x)*r[l]*s}function a(){if(n){var s,l=n.length;for(r=new Array(l),i=new Array(l),s=0;s<l;++s)r[s]=isNaN(i[s]=+t(n[s],s,n))?0:+e(n[s],s,n)}}return o.initialize=function(s){n=s,a()},o.strength=function(s){return arguments.length?(e=typeof s=="function"?s:kt(+s),a(),o):e},o.x=function(s){return arguments.length?(t=typeof s=="function"?s:kt(+s),a(),o):t},o}function Ey(t){var e=kt(.1),n,r,i;typeof t!="function"&&(t=kt(t==null?0:+t));function o(s){for(var l=0,u=n.length,c;l<u;++l)c=n[l],c.vy+=(i[l]-c.y)*r[l]*s}function a(){if(n){var s,l=n.length;for(r=new Array(l),i=new Array(l),s=0;s<l;++s)r[s]=isNaN(i[s]=+t(n[s],s,n))?0:+e(n[s],s,n)}}return o.initialize=function(s){n=s,a()},o.strength=function(s){return arguments.length?(e=typeof s=="function"?s:kt(+s),a(),o):e},o.y=function(s){return arguments.length?(t=typeof s=="function"?s:kt(+s),a(),o):t},o}function _8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Ns(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function fi(t){return t=Ns(Math.abs(t)),t?t[1]:NaN}function S8(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),o.push(n.substring(i-=s,i+s)),!((l+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}function w8(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var T8=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function hi(t){if(!(e=T8.exec(t)))throw new Error("invalid format: "+t);var e;return new Fs({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}hi.prototype=Fs.prototype;function Fs(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Fs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function A8(t){t:for(var e=t.length,n=1,r=-1,i;n<e;++n)switch(t[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Iy;function P8(t,e){var n=Ns(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(Iy=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Ns(t,Math.max(0,e+o-1))[0]}function By(t,e){var n=Ns(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Ny={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:_8,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>By(t*100,e),r:By,s:P8,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Fy(t){return t}var Oy=Array.prototype.map,zy=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Gy(t){var e=t.grouping===void 0||t.thousands===void 0?Fy:S8(Oy.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?Fy:w8(Oy.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(f){f=hi(f);var h=f.fill,p=f.align,d=f.sign,m=f.symbol,g=f.zero,y=f.width,b=f.comma,v=f.precision,x=f.trim,_=f.type;_==="n"?(b=!0,_="g"):Ny[_]||(v===void 0&&(v=12),x=!0,_="g"),(g||h==="0"&&p==="=")&&(g=!0,h="0",p="=");var T=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",S=m==="$"?r:/[%p]/.test(_)?a:"",A=Ny[_],P=/[defgprs%]/.test(_);v=v===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v));function B($){var k=T,D=S,w,M,C;if(_==="c")D=A($)+D,$="";else{$=+$;var X=$<0||1/$<0;if($=isNaN($)?l:A(Math.abs($),v),x&&($=A8($)),X&&+$==0&&d!=="+"&&(X=!1),k=(X?d==="("?d:s:d==="-"||d==="("?"":d)+k,D=(_==="s"?zy[8+Iy/3]:"")+D+(X&&d==="("?")":""),P){for(w=-1,M=$.length;++w<M;)if(C=$.charCodeAt(w),48>C||C>57){D=(C===46?i+$.slice(w+1):$.slice(w))+D,$=$.slice(0,w);break}}}b&&!g&&($=e($,1/0));var O=k.length+$.length+D.length,I=O<y?new Array(y-O+1).join(h):"";switch(b&&g&&($=e(I+$,I.length?y-D.length:1/0),I=""),p){case"<":$=k+$+D+I;break;case"=":$=k+I+$+D;break;case"^":$=I.slice(0,O=I.length>>1)+k+$+D+I.slice(O);break;default:$=I+k+$+D;break}return o($)}return B.toString=function(){return f+""},B}function c(f,h){var p=u((f=hi(f),f.type="f",f)),d=Math.max(-8,Math.min(8,Math.floor(fi(h)/3)))*3,m=Math.pow(10,-d),g=zy[8+d/3];return function(y){return p(m*y)+g}}return{format:u,formatPrefix:c}}var Os,wo,Mf;Yy({thousands:",",grouping:[3],currency:["$",""]});function Yy(t){return Os=Gy(t),wo=Os.format,Mf=Os.formatPrefix,Os}function Xy(t){return Math.max(0,-fi(Math.abs(t)))}function Wy(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(fi(e)/3)))*3-fi(Math.abs(t)))}function Vy(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,fi(e)-fi(t))+1}var ot=1e-6,To=1e-12,ht=Math.PI,At=ht/2,zs=ht/4,Zt=ht*2,vt=180/ht,at=ht/180,dt=Math.abs,pi=Math.atan,Kt=Math.atan2,rt=Math.cos,Gs=Math.ceil,Uy=Math.exp,Lf=Math.hypot,Ys=Math.log,kf=Math.pow,et=Math.sin,xe=Math.sign||function(t){return t>0?1:t<0?-1:0},Bt=Math.sqrt,Rf=Math.tan;function Hy(t){return t>1?0:t<-1?ht:Math.acos(t)}function Qt(t){return t>1?At:t<-1?-At:Math.asin(t)}function jy(t){return(t=et(t/2))*t}function wt(){}function Xs(t,e){t&&Zy.hasOwnProperty(t.type)&&Zy[t.type](t,e)}var qy={Feature:function(t,e){Xs(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)Xs(n[r].geometry,e)}},Zy={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){Ef(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Ef(n[r],e,0)},Polygon:function(t,e){Ky(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Ky(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)Xs(n[r],e)}};function Ef(t,e,n){var r=-1,i=t.length-n,o;for(e.lineStart();++r<i;)o=t[r],e.point(o[0],o[1],o[2]);e.lineEnd()}function Ky(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)Ef(t[n],e,1);e.polygonEnd()}function Ee(t,e){t&&qy.hasOwnProperty(t.type)?qy[t.type](t,e):Xs(t,e)}var Ws=new Lt,Vs=new Lt,Qy,Jy,If,Bf,Nf,Ue={point:wt,lineStart:wt,lineEnd:wt,polygonStart:function(){Ws=new Lt,Ue.lineStart=D8,Ue.lineEnd=C8},polygonEnd:function(){var t=+Ws;Vs.add(t<0?Zt+t:t),this.lineStart=this.lineEnd=this.point=wt},sphere:function(){Vs.add(Zt)}};function D8(){Ue.point=M8}function C8(){t1(Qy,Jy)}function M8(t,e){Ue.point=t1,Qy=t,Jy=e,t*=at,e*=at,If=t,Bf=rt(e=e/2+zs),Nf=et(e)}function t1(t,e){t*=at,e*=at,e=e/2+zs;var n=t-If,r=n>=0?1:-1,i=r*n,o=rt(e),a=et(e),s=Nf*a,l=Bf*o+s*rt(i),u=s*r*et(i);Ws.add(Kt(u,l)),If=t,Bf=o,Nf=a}function L8(t){return Vs=new Lt,Ee(t,Ue),Vs*2}function Us(t){return[Kt(t[1],t[0]),Qt(t[2])]}function cr(t){var e=t[0],n=t[1],r=rt(n);return[r*rt(e),r*et(e),et(n)]}function Hs(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function di(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ff(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function js(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function qs(t){var e=Bt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Tt,le,Pt,ge,fr,e1,n1,gi,Ao,Dn,sn,ln={point:Of,lineStart:i1,lineEnd:o1,polygonStart:function(){ln.point=a1,ln.lineStart=k8,ln.lineEnd=R8,Ao=new Lt,Ue.polygonStart()},polygonEnd:function(){Ue.polygonEnd(),ln.point=Of,ln.lineStart=i1,ln.lineEnd=o1,Ws<0?(Tt=-(Pt=180),le=-(ge=90)):Ao>ot?ge=90:Ao<-ot&&(le=-90),sn[0]=Tt,sn[1]=Pt},sphere:function(){Tt=-(Pt=180),le=-(ge=90)}};function Of(t,e){Dn.push(sn=[Tt=t,Pt=t]),e<le&&(le=e),e>ge&&(ge=e)}function r1(t,e){var n=cr([t*at,e*at]);if(gi){var r=di(gi,n),i=[r[1],-r[0],0],o=di(i,r);qs(o),o=Us(o);var a=t-fr,s=a>0?1:-1,l=o[0]*vt*s,u,c=dt(a)>180;c^(s*fr<l&&l<s*t)?(u=o[1]*vt,u>ge&&(ge=u)):(l=(l+360)%360-180,c^(s*fr<l&&l<s*t)?(u=-o[1]*vt,u<le&&(le=u)):(e<le&&(le=e),e>ge&&(ge=e))),c?t<fr?me(Tt,t)>me(Tt,Pt)&&(Pt=t):me(t,Pt)>me(Tt,Pt)&&(Tt=t):Pt>=Tt?(t<Tt&&(Tt=t),t>Pt&&(Pt=t)):t>fr?me(Tt,t)>me(Tt,Pt)&&(Pt=t):me(t,Pt)>me(Tt,Pt)&&(Tt=t)}else Dn.push(sn=[Tt=t,Pt=t]);e<le&&(le=e),e>ge&&(ge=e),gi=n,fr=t}function i1(){ln.point=r1}function o1(){sn[0]=Tt,sn[1]=Pt,ln.point=Of,gi=null}function a1(t,e){if(gi){var n=t-fr;Ao.add(dt(n)>180?n+(n>0?360:-360):n)}else e1=t,n1=e;Ue.point(t,e),r1(t,e)}function k8(){Ue.lineStart()}function R8(){a1(e1,n1),Ue.lineEnd(),dt(Ao)>ot&&(Tt=-(Pt=180)),sn[0]=Tt,sn[1]=Pt,gi=null}function me(t,e){return(e-=t)<0?e+360:e}function E8(t,e){return t[0]-e[0]}function s1(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function I8(t){var e,n,r,i,o,a,s;if(ge=Pt=-(Tt=le=1/0),Dn=[],Ee(t,ln),n=Dn.length){for(Dn.sort(E8),e=1,r=Dn[0],o=[r];e<n;++e)i=Dn[e],s1(r,i[0])||s1(r,i[1])?(me(r[0],i[1])>me(r[0],r[1])&&(r[1]=i[1]),me(i[0],r[1])>me(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=o.length-1,e=0,r=o[n];e<=n;r=i,++e)i=o[e],(s=me(r[1],i[0]))>a&&(a=s,Tt=i[0],Pt=r[1])}return Dn=sn=null,Tt===1/0||le===1/0?[[NaN,NaN],[NaN,NaN]]:[[Tt,le],[Pt,ge]]}var Po,Zs,Ks,Qs,Js,tl,el,nl,zf,Gf,Yf,l1,u1,Jt,te,ee,Ie={sphere:wt,point:Xf,lineStart:c1,lineEnd:f1,polygonStart:function(){Ie.lineStart=F8,Ie.lineEnd=O8},polygonEnd:function(){Ie.lineStart=c1,Ie.lineEnd=f1}};function Xf(t,e){t*=at,e*=at;var n=rt(e);Do(n*rt(t),n*et(t),et(e))}function Do(t,e,n){++Po,Ks+=(t-Ks)/Po,Qs+=(e-Qs)/Po,Js+=(n-Js)/Po}function c1(){Ie.point=B8}function B8(t,e){t*=at,e*=at;var n=rt(e);Jt=n*rt(t),te=n*et(t),ee=et(e),Ie.point=N8,Do(Jt,te,ee)}function N8(t,e){t*=at,e*=at;var n=rt(e),r=n*rt(t),i=n*et(t),o=et(e),a=Kt(Bt((a=te*o-ee*i)*a+(a=ee*r-Jt*o)*a+(a=Jt*i-te*r)*a),Jt*r+te*i+ee*o);Zs+=a,tl+=a*(Jt+(Jt=r)),el+=a*(te+(te=i)),nl+=a*(ee+(ee=o)),Do(Jt,te,ee)}function f1(){Ie.point=Xf}function F8(){Ie.point=z8}function O8(){h1(l1,u1),Ie.point=Xf}function z8(t,e){l1=t,u1=e,t*=at,e*=at,Ie.point=h1;var n=rt(e);Jt=n*rt(t),te=n*et(t),ee=et(e),Do(Jt,te,ee)}function h1(t,e){t*=at,e*=at;var n=rt(e),r=n*rt(t),i=n*et(t),o=et(e),a=te*o-ee*i,s=ee*r-Jt*o,l=Jt*i-te*r,u=Lf(a,s,l),c=Qt(u),f=u&&-c/u;zf.add(f*a),Gf.add(f*s),Yf.add(f*l),Zs+=c,tl+=c*(Jt+(Jt=r)),el+=c*(te+(te=i)),nl+=c*(ee+(ee=o)),Do(Jt,te,ee)}function G8(t){Po=Zs=Ks=Qs=Js=tl=el=nl=0,zf=new Lt,Gf=new Lt,Yf=new Lt,Ee(t,Ie);var e=+zf,n=+Gf,r=+Yf,i=Lf(e,n,r);return i<To&&(e=tl,n=el,r=nl,Zs<ot&&(e=Ks,n=Qs,r=Js),i=Lf(e,n,r),i<To)?[NaN,NaN]:[Kt(n,e)*vt,Qt(r/i)*vt]}function mi(t){return function(){return t}}function Wf(t,e){function n(r,i){return r=t(r,i),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,i){return r=e.invert(r,i),r&&t.invert(r[0],r[1])}),n}function Vf(t,e){return dt(t)>ht&&(t-=Math.round(t/Zt)*Zt),[t,e]}Vf.invert=Vf;function Uf(t,e,n){return(t%=Zt)?e||n?Wf(d1(t),g1(e,n)):d1(t):e||n?g1(e,n):Vf}function p1(t){return function(e,n){return e+=t,dt(e)>ht&&(e-=Math.round(e/Zt)*Zt),[e,n]}}function d1(t){var e=p1(t);return e.invert=p1(-t),e}function g1(t,e){var n=rt(t),r=et(t),i=rt(e),o=et(e);function a(s,l){var u=rt(l),c=rt(s)*u,f=et(s)*u,h=et(l),p=h*n+c*r;return[Kt(f*i-p*o,c*n-h*r),Qt(p*i+f*o)]}return a.invert=function(s,l){var u=rt(l),c=rt(s)*u,f=et(s)*u,h=et(l),p=h*i-f*o;return[Kt(f*i+h*o,c*n+p*r),Qt(p*n-c*r)]},a}function m1(t){t=Uf(t[0]*at,t[1]*at,t.length>2?t[2]*at:0);function e(n){return n=t(n[0]*at,n[1]*at),n[0]*=vt,n[1]*=vt,n}return e.invert=function(n){return n=t.invert(n[0]*at,n[1]*at),n[0]*=vt,n[1]*=vt,n},e}function y1(t,e,n,r,i,o){if(n){var a=rt(e),s=et(e),l=r*n;i==null?(i=e+r*Zt,o=e-l/2):(i=b1(a,i),o=b1(a,o),(r>0?i<o:i>o)&&(i+=r*Zt));for(var u,c=i;r>0?c>o:c<o;c-=l)u=Us([a,-s*rt(c),-s*et(c)]),t.point(u[0],u[1])}}function b1(t,e){e=cr(e),e[0]-=t,qs(e);var n=Hy(-e[1]);return((-e[2]<0?-n:n)+Zt-ot)%Zt}function Y8(){var t=mi([0,0]),e=mi(90),n=mi(2),r,i,o={point:a};function a(l,u){r.push(l=i(l,u)),l[0]*=vt,l[1]*=vt}function s(){var l=t.apply(this,arguments),u=e.apply(this,arguments)*at,c=n.apply(this,arguments)*at;return r=[],i=Uf(-l[0]*at,-l[1]*at,0).invert,y1(o,u,c,1),l={type:"Polygon",coordinates:[r]},r=i=null,l}return s.center=function(l){return arguments.length?(t=typeof l=="function"?l:mi([+l[0],+l[1]]),s):t},s.radius=function(l){return arguments.length?(e=typeof l=="function"?l:mi(+l),s):e},s.precision=function(l){return arguments.length?(n=typeof l=="function"?l:mi(+l),s):n},s}function x1(){var t=[],e;return{point:function(n,r,i){e.push([n,r,i])},lineStart:function(){t.push(e=[])},lineEnd:wt,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function rl(t,e){return dt(t[0]-e[0])<ot&&dt(t[1]-e[1])<ot}function il(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function v1(t,e,n,r,i){var o=[],a=[],s,l;if(t.forEach(function(d){if(!((m=d.length-1)<=0)){var m,g=d[0],y=d[m],b;if(rl(g,y)){if(!g[2]&&!y[2]){for(i.lineStart(),s=0;s<m;++s)i.point((g=d[s])[0],g[1]);i.lineEnd();return}y[0]+=2*ot}o.push(b=new il(g,d,null,!0)),a.push(b.o=new il(g,null,b,!1)),o.push(b=new il(y,d,null,!1)),a.push(b.o=new il(y,null,b,!0))}}),!!o.length){for(a.sort(e),$1(o),$1(a),s=0,l=a.length;s<l;++s)a[s].e=n=!n;for(var u=o[0],c,f;;){for(var h=u,p=!0;h.v;)if((h=h.n)===u)return;c=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(s=0,l=c.length;s<l;++s)i.point((f=c[s])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(c=h.p.z,s=c.length-1;s>=0;--s)i.point((f=c[s])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}h=h.o,c=h.z,p=!p}while(!h.v);i.lineEnd()}}}function $1(t){if(e=t.length){for(var e,n=0,r=t[0],i;++n<e;)r.n=i=t[n],i.p=r,r=i;r.n=i=t[0],i.p=r}}function Hf(t){return dt(t[0])<=ht?t[0]:xe(t[0])*((dt(t[0])+ht)%Zt-ht)}function _1(t,e){var n=Hf(e),r=e[1],i=et(r),o=[et(n),-rt(n),0],a=0,s=0,l=new Lt;i===1?r=At+ot:i===-1&&(r=-At-ot);for(var u=0,c=t.length;u<c;++u)if(h=(f=t[u]).length)for(var f,h,p=f[h-1],d=Hf(p),m=p[1]/2+zs,g=et(m),y=rt(m),b=0;b<h;++b,d=x,g=T,y=S,p=v){var v=f[b],x=Hf(v),_=v[1]/2+zs,T=et(_),S=rt(_),A=x-d,P=A>=0?1:-1,B=P*A,$=B>ht,k=g*T;if(l.add(Kt(k*P*et(B),y*S+k*rt(B))),a+=$?A+P*Zt:A,$^d>=n^x>=n){var D=di(cr(p),cr(v));qs(D);var w=di(o,D);qs(w);var M=($^A>=0?-1:1)*Qt(w[2]);(r>M||r===M&&(D[0]||D[1]))&&(s+=$^A>=0?1:-1)}}return(a<-ot||a<ot&&l<-To)^s&1}function S1(t,e,n,r){return function(i){var o=e(i),a=x1(),s=e(a),l=!1,u,c,f,h={point:p,lineStart:m,lineEnd:g,polygonStart:function(){h.point=y,h.lineStart=b,h.lineEnd=v,c=[],u=[]},polygonEnd:function(){h.point=p,h.lineStart=m,h.lineEnd=g,c=mc(c);var x=_1(u,r);c.length?(l||(i.polygonStart(),l=!0),v1(c,W8,x,n,i)):x&&(l||(i.polygonStart(),l=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),l&&(i.polygonEnd(),l=!1),c=u=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(x,_){t(x,_)&&i.point(x,_)}function d(x,_){o.point(x,_)}function m(){h.point=d,o.lineStart()}function g(){h.point=p,o.lineEnd()}function y(x,_){f.push([x,_]),s.point(x,_)}function b(){s.lineStart(),f=[]}function v(){y(f[0][0],f[0][1]),s.lineEnd();var x=s.clean(),_=a.result(),T,S=_.length,A,P,B;if(f.pop(),u.push(f),f=null,!!S){if(x&1){if(P=_[0],(A=P.length-1)>0){for(l||(i.polygonStart(),l=!0),i.lineStart(),T=0;T<A;++T)i.point((B=P[T])[0],B[1]);i.lineEnd()}return}S>1&&x&2&&_.push(_.pop().concat(_.shift())),c.push(_.filter(X8))}}return h}}function X8(t){return t.length>1}function W8(t,e){return((t=t.x)[0]<0?t[1]-At-ot:At-t[1])-((e=e.x)[0]<0?e[1]-At-ot:At-e[1])}const jf=S1(function(){return!0},V8,H8,[-ht,-At]);function V8(t){var e=NaN,n=NaN,r=NaN,i;return{lineStart:function(){t.lineStart(),i=1},point:function(o,a){var s=o>0?ht:-ht,l=dt(o-e);dt(l-ht)<ot?(t.point(e,n=(n+a)/2>0?At:-At),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(o,n),i=0):r!==s&&l>=ht&&(dt(e-r)<ot&&(e-=r*ot),dt(o-s)<ot&&(o-=s*ot),n=U8(e,n,o,a),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(s,n),i=0),t.point(e=o,n=a),r=s},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-i}}}function U8(t,e,n,r){var i,o,a=et(t-n);return dt(a)>ot?pi((et(e)*(o=rt(r))*et(n)-et(r)*(i=rt(e))*et(t))/(i*o*a)):(e+r)/2}function H8(t,e,n,r){var i;if(t==null)i=n*At,r.point(-ht,i),r.point(0,i),r.point(ht,i),r.point(ht,0),r.point(ht,-i),r.point(0,-i),r.point(-ht,-i),r.point(-ht,0),r.point(-ht,i);else if(dt(t[0]-e[0])>ot){var o=t[0]<e[0]?ht:-ht;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(e[0],e[1])}function w1(t){var e=rt(t),n=2*at,r=e>0,i=dt(e)>ot;function o(c,f,h,p){y1(p,t,n,h,c,f)}function a(c,f){return rt(c)*rt(f)>e}function s(c){var f,h,p,d,m;return{lineStart:function(){d=p=!1,m=1},point:function(g,y){var b=[g,y],v,x=a(g,y),_=r?x?0:u(g,y):x?u(g+(g<0?ht:-ht),y):0;if(!f&&(d=p=x)&&c.lineStart(),x!==p&&(v=l(f,b),(!v||rl(f,v)||rl(b,v))&&(b[2]=1)),x!==p)m=0,x?(c.lineStart(),v=l(b,f),c.point(v[0],v[1])):(v=l(f,b),c.point(v[0],v[1],2),c.lineEnd()),f=v;else if(i&&f&&r^x){var T;!(_&h)&&(T=l(b,f,!0))&&(m=0,r?(c.lineStart(),c.point(T[0][0],T[0][1]),c.point(T[1][0],T[1][1]),c.lineEnd()):(c.point(T[1][0],T[1][1]),c.lineEnd(),c.lineStart(),c.point(T[0][0],T[0][1],3)))}x&&(!f||!rl(f,b))&&c.point(b[0],b[1]),f=b,p=x,h=_},lineEnd:function(){p&&c.lineEnd(),f=null},clean:function(){return m|(d&&p)<<1}}}function l(c,f,h){var p=cr(c),d=cr(f),m=[1,0,0],g=di(p,d),y=Hs(g,g),b=g[0],v=y-b*b;if(!v)return!h&&c;var x=e*y/v,_=-e*b/v,T=di(m,g),S=js(m,x),A=js(g,_);Ff(S,A);var P=T,B=Hs(S,P),$=Hs(P,P),k=B*B-$*(Hs(S,S)-1);if(!(k<0)){var D=Bt(k),w=js(P,(-B-D)/$);if(Ff(w,S),w=Us(w),!h)return w;var M=c[0],C=f[0],X=c[1],O=f[1],I;C<M&&(I=M,M=C,C=I);var N=C-M,R=dt(N-ht)<ot,F=R||N<ot;if(!R&&O<X&&(I=X,X=O,O=I),F?R?X+O>0^w[1]<(dt(w[0]-M)<ot?X:O):X<=w[1]&&w[1]<=O:N>ht^(M<=w[0]&&w[0]<=C)){var H=js(P,(-B+D)/$);return Ff(H,S),[w,Us(H)]}}}function u(c,f){var h=r?t:ht-t,p=0;return c<-h?p|=1:c>h&&(p|=2),f<-h?p|=4:f>h&&(p|=8),p}return S1(a,s,o,r?[0,-t]:[-ht,t-ht])}function j8(t,e,n,r,i,o){var a=t[0],s=t[1],l=e[0],u=e[1],c=0,f=1,h=l-a,p=u-s,d;if(d=n-a,!(!h&&d>0)){if(d/=h,h<0){if(d<c)return;d<f&&(f=d)}else if(h>0){if(d>f)return;d>c&&(c=d)}if(d=i-a,!(!h&&d<0)){if(d/=h,h<0){if(d>f)return;d>c&&(c=d)}else if(h>0){if(d<c)return;d<f&&(f=d)}if(d=r-s,!(!p&&d>0)){if(d/=p,p<0){if(d<c)return;d<f&&(f=d)}else if(p>0){if(d>f)return;d>c&&(c=d)}if(d=o-s,!(!p&&d<0)){if(d/=p,p<0){if(d>f)return;d>c&&(c=d)}else if(p>0){if(d<c)return;d<f&&(f=d)}return c>0&&(t[0]=a+c*h,t[1]=s+c*p),f<1&&(e[0]=a+f*h,e[1]=s+f*p),!0}}}}}var Co=1e9,ol=-Co;function al(t,e,n,r){function i(u,c){return t<=u&&u<=n&&e<=c&&c<=r}function o(u,c,f,h){var p=0,d=0;if(u==null||(p=a(u,f))!==(d=a(c,f))||l(u,c)<0^f>0)do h.point(p===0||p===3?t:n,p>1?r:e);while((p=(p+f+4)%4)!==d);else h.point(c[0],c[1])}function a(u,c){return dt(u[0]-t)<ot?c>0?0:3:dt(u[0]-n)<ot?c>0?2:1:dt(u[1]-e)<ot?c>0?1:0:c>0?3:2}function s(u,c){return l(u.x,c.x)}function l(u,c){var f=a(u,1),h=a(c,1);return f!==h?f-h:f===0?c[1]-u[1]:f===1?u[0]-c[0]:f===2?u[1]-c[1]:c[0]-u[0]}return function(u){var c=u,f=x1(),h,p,d,m,g,y,b,v,x,_,T,S={point:A,lineStart:k,lineEnd:D,polygonStart:B,polygonEnd:$};function A(M,C){i(M,C)&&c.point(M,C)}function P(){for(var M=0,C=0,X=p.length;C<X;++C)for(var O=p[C],I=1,N=O.length,R=O[0],F,H,it=R[0],z=R[1];I<N;++I)F=it,H=z,R=O[I],it=R[0],z=R[1],H<=r?z>r&&(it-F)*(r-H)>(z-H)*(t-F)&&++M:z<=r&&(it-F)*(r-H)<(z-H)*(t-F)&&--M;return M}function B(){c=f,h=[],p=[],T=!0}function $(){var M=P(),C=T&&M,X=(h=mc(h)).length;(C||X)&&(u.polygonStart(),C&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),X&&v1(h,s,M,o,u),u.polygonEnd()),c=u,h=p=d=null}function k(){S.point=w,p&&p.push(d=[]),_=!0,x=!1,b=v=NaN}function D(){h&&(w(m,g),y&&x&&f.rejoin(),h.push(f.result())),S.point=A,x&&c.lineEnd()}function w(M,C){var X=i(M,C);if(p&&d.push([M,C]),_)m=M,g=C,y=X,_=!1,X&&(c.lineStart(),c.point(M,C));else if(X&&x)c.point(M,C);else{var O=[b=Math.max(ol,Math.min(Co,b)),v=Math.max(ol,Math.min(Co,v))],I=[M=Math.max(ol,Math.min(Co,M)),C=Math.max(ol,Math.min(Co,C))];j8(O,I,t,e,n,r)?(x||(c.lineStart(),c.point(O[0],O[1])),c.point(I[0],I[1]),X||c.lineEnd(),T=!1):X&&(c.lineStart(),c.point(M,C),T=!1)}b=M,v=C,x=X}return S}}function q8(){var t=0,e=0,n=960,r=500,i,o,a;return a={stream:function(s){return i&&o===s?i:i=al(t,e,n,r)(o=s)},extent:function(s){return arguments.length?(t=+s[0][0],e=+s[0][1],n=+s[1][0],r=+s[1][1],i=o=null,a):[[t,e],[n,r]]}}}var qf,Zf,sl,ll,yi={sphere:wt,point:wt,lineStart:Z8,lineEnd:wt,polygonStart:wt,polygonEnd:wt};function Z8(){yi.point=Q8,yi.lineEnd=K8}function K8(){yi.point=yi.lineEnd=wt}function Q8(t,e){t*=at,e*=at,Zf=t,sl=et(e),ll=rt(e),yi.point=J8}function J8(t,e){t*=at,e*=at;var n=et(e),r=rt(e),i=dt(t-Zf),o=rt(i),a=et(i),s=r*a,l=ll*n-sl*r*o,u=sl*n+ll*r*o;qf.add(Kt(Bt(s*s+l*l),u)),Zf=t,sl=n,ll=r}function T1(t){return qf=new Lt,Ee(t,yi),+qf}var Kf=[null,null],t4={type:"LineString",coordinates:Kf};function ul(t,e){return Kf[0]=t,Kf[1]=e,T1(t4)}var A1={Feature:function(t,e){return cl(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)if(cl(n[r].geometry,e))return!0;return!1}},P1={Sphere:function(){return!0},Point:function(t,e){return D1(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(D1(n[r],e))return!0;return!1},LineString:function(t,e){return C1(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(C1(n[r],e))return!0;return!1},Polygon:function(t,e){return M1(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(M1(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)if(cl(n[r],e))return!0;return!1}};function cl(t,e){return t&&P1.hasOwnProperty(t.type)?P1[t.type](t,e):!1}function D1(t,e){return ul(t,e)===0}function C1(t,e){for(var n,r,i,o=0,a=t.length;o<a;o++){if(r=ul(t[o],e),r===0||o>0&&(i=ul(t[o],t[o-1]),i>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<To*i))return!0;n=r}return!1}function M1(t,e){return!!_1(t.map(e4),L1(e))}function e4(t){return t=t.map(L1),t.pop(),t}function L1(t){return[t[0]*at,t[1]*at]}function n4(t,e){return(t&&A1.hasOwnProperty(t.type)?A1[t.type]:cl)(t,e)}function k1(t,e,n){var r=_n(t,e-ot,n).concat(e);return function(i){return r.map(function(o){return[i,o]})}}function R1(t,e,n){var r=_n(t,e-ot,n).concat(e);return function(i){return r.map(function(o){return[o,i]})}}function E1(){var t,e,n,r,i,o,a,s,l=10,u=l,c=90,f=360,h,p,d,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:b()}}function b(){return _n(Gs(r/c)*c,n,c).map(d).concat(_n(Gs(s/f)*f,a,f).map(m)).concat(_n(Gs(e/l)*l,t,l).filter(function(v){return dt(v%c)>ot}).map(h)).concat(_n(Gs(o/u)*u,i,u).filter(function(v){return dt(v%f)>ot}).map(p))}return y.lines=function(){return b().map(function(v){return{type:"LineString",coordinates:v}})},y.outline=function(){return{type:"Polygon",coordinates:[d(r).concat(m(a).slice(1),d(n).reverse().slice(1),m(s).reverse().slice(1))]}},y.extent=function(v){return arguments.length?y.extentMajor(v).extentMinor(v):y.extentMinor()},y.extentMajor=function(v){return arguments.length?(r=+v[0][0],n=+v[1][0],s=+v[0][1],a=+v[1][1],r>n&&(v=r,r=n,n=v),s>a&&(v=s,s=a,a=v),y.precision(g)):[[r,s],[n,a]]},y.extentMinor=function(v){return arguments.length?(e=+v[0][0],t=+v[1][0],o=+v[0][1],i=+v[1][1],e>t&&(v=e,e=t,t=v),o>i&&(v=o,o=i,i=v),y.precision(g)):[[e,o],[t,i]]},y.step=function(v){return arguments.length?y.stepMajor(v).stepMinor(v):y.stepMinor()},y.stepMajor=function(v){return arguments.length?(c=+v[0],f=+v[1],y):[c,f]},y.stepMinor=function(v){return arguments.length?(l=+v[0],u=+v[1],y):[l,u]},y.precision=function(v){return arguments.length?(g=+v,h=k1(o,i,90),p=R1(e,t,g),d=k1(s,a,90),m=R1(r,n,g),y):g},y.extentMajor([[-180,-90+ot],[180,90-ot]]).extentMinor([[-180,-80-ot],[180,80+ot]])}function r4(){return E1()()}function i4(t,e){var n=t[0]*at,r=t[1]*at,i=e[0]*at,o=e[1]*at,a=rt(r),s=et(r),l=rt(o),u=et(o),c=a*rt(n),f=a*et(n),h=l*rt(i),p=l*et(i),d=2*Qt(Bt(jy(o-r)+a*l*jy(i-n))),m=et(d),g=d?function(y){var b=et(y*=d)/m,v=et(d-y)/m,x=v*c+b*h,_=v*f+b*p,T=v*s+b*u;return[Kt(_,x)*vt,Kt(T,Bt(x*x+_*_))*vt]}:function(){return[n*vt,r*vt]};return g.distance=d,g}const Mo=t=>t;var Qf=new Lt,Jf=new Lt,I1,B1,th,eh,un={point:wt,lineStart:wt,lineEnd:wt,polygonStart:function(){un.lineStart=o4,un.lineEnd=s4},polygonEnd:function(){un.lineStart=un.lineEnd=un.point=wt,Qf.add(dt(Jf)),Jf=new Lt},result:function(){var t=Qf/2;return Qf=new Lt,t}};function o4(){un.point=a4}function a4(t,e){un.point=N1,I1=th=t,B1=eh=e}function N1(t,e){Jf.add(eh*t-th*e),th=t,eh=e}function s4(){N1(I1,B1)}var bi=1/0,fl=bi,Lo=-bi,hl=Lo,pl={point:l4,lineStart:wt,lineEnd:wt,polygonStart:wt,polygonEnd:wt,result:function(){var t=[[bi,fl],[Lo,hl]];return Lo=hl=-(fl=bi=1/0),t}};function l4(t,e){t<bi&&(bi=t),t>Lo&&(Lo=t),e<fl&&(fl=e),e>hl&&(hl=e)}var nh=0,rh=0,ko=0,dl=0,gl=0,xi=0,ih=0,oh=0,Ro=0,F1,O1,He,je,ve={point:hr,lineStart:z1,lineEnd:G1,polygonStart:function(){ve.lineStart=f4,ve.lineEnd=h4},polygonEnd:function(){ve.point=hr,ve.lineStart=z1,ve.lineEnd=G1},result:function(){var t=Ro?[ih/Ro,oh/Ro]:xi?[dl/xi,gl/xi]:ko?[nh/ko,rh/ko]:[NaN,NaN];return nh=rh=ko=dl=gl=xi=ih=oh=Ro=0,t}};function hr(t,e){nh+=t,rh+=e,++ko}function z1(){ve.point=u4}function u4(t,e){ve.point=c4,hr(He=t,je=e)}function c4(t,e){var n=t-He,r=e-je,i=Bt(n*n+r*r);dl+=i*(He+t)/2,gl+=i*(je+e)/2,xi+=i,hr(He=t,je=e)}function G1(){ve.point=hr}function f4(){ve.point=p4}function h4(){Y1(F1,O1)}function p4(t,e){ve.point=Y1,hr(F1=He=t,O1=je=e)}function Y1(t,e){var n=t-He,r=e-je,i=Bt(n*n+r*r);dl+=i*(He+t)/2,gl+=i*(je+e)/2,xi+=i,i=je*t-He*e,ih+=i*(He+t),oh+=i*(je+e),Ro+=i*3,hr(He=t,je=e)}function X1(t){this._context=t}X1.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Zt);break}}},result:wt};var ah=new Lt,sh,W1,V1,Eo,Io,Bo={point:wt,lineStart:function(){Bo.point=d4},lineEnd:function(){sh&&U1(W1,V1),Bo.point=wt},polygonStart:function(){sh=!0},polygonEnd:function(){sh=null},result:function(){var t=+ah;return ah=new Lt,t}};function d4(t,e){Bo.point=U1,W1=Eo=t,V1=Io=e}function U1(t,e){Eo-=t,Io-=e,ah.add(Bt(Eo*Eo+Io*Io)),Eo=t,Io=e}let H1,ml,j1,q1;class Z1{constructor(e){this._append=e==null?K1:g4(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==j1||this._append!==ml){const r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,j1=r,ml=this._append,q1=this._,this._=i}this._+=q1;break}}}result(){const e=this._;return this._="",e.length?e:null}}function K1(t){let e=1;this._+=t[0];for(const n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function g4(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return K1;if(e!==H1){const n=10**e;H1=e,ml=function(i){let o=1;this._+=i[0];for(const a=i.length;o<a;++o)this._+=Math.round(arguments[o]*n)/n+i[o]}}return ml}function m4(t,e){let n=3,r=4.5,i,o;function a(s){return s&&(typeof r=="function"&&o.pointRadius(+r.apply(this,arguments)),Ee(s,i(o))),o.result()}return a.area=function(s){return Ee(s,i(un)),un.result()},a.measure=function(s){return Ee(s,i(Bo)),Bo.result()},a.bounds=function(s){return Ee(s,i(pl)),pl.result()},a.centroid=function(s){return Ee(s,i(ve)),ve.result()},a.projection=function(s){return arguments.length?(i=s==null?(t=null,Mo):(t=s).stream,a):t},a.context=function(s){return arguments.length?(o=s==null?(e=null,new Z1(n)):new X1(e=s),typeof r!="function"&&o.pointRadius(r),a):e},a.pointRadius=function(s){return arguments.length?(r=typeof s=="function"?s:(o.pointRadius(+s),+s),a):r},a.digits=function(s){if(!arguments.length)return n;if(s==null)n=null;else{const l=Math.floor(s);if(!(l>=0))throw new RangeError(`invalid digits: ${s}`);n=l}return e===null&&(o=new Z1(n)),a},a.projection(t).digits(n).context(e)}function y4(t){return{stream:No(t)}}function No(t){return function(e){var n=new lh;for(var r in t)n[r]=t[r];return n.stream=e,n}}function lh(){}lh.prototype={constructor:lh,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function uh(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),Ee(n,t.stream(pl)),e(pl.result()),r!=null&&t.clipExtent(r),t}function yl(t,e,n){return uh(t,function(r){var i=e[1][0]-e[0][0],o=e[1][1]-e[0][1],a=Math.min(i/(r[1][0]-r[0][0]),o/(r[1][1]-r[0][1])),s=+e[0][0]+(i-a*(r[1][0]+r[0][0]))/2,l=+e[0][1]+(o-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([s,l])},n)}function ch(t,e,n){return yl(t,[[0,0],e],n)}function fh(t,e,n){return uh(t,function(r){var i=+e,o=i/(r[1][0]-r[0][0]),a=(i-o*(r[1][0]+r[0][0]))/2,s=-o*r[0][1];t.scale(150*o).translate([a,s])},n)}function hh(t,e,n){return uh(t,function(r){var i=+e,o=i/(r[1][1]-r[0][1]),a=-o*r[0][0],s=(i-o*(r[1][1]+r[0][1]))/2;t.scale(150*o).translate([a,s])},n)}var Q1=16,b4=rt(30*at);function J1(t,e){return+e?v4(t,e):x4(t)}function x4(t){return No({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function v4(t,e){function n(r,i,o,a,s,l,u,c,f,h,p,d,m,g){var y=u-r,b=c-i,v=y*y+b*b;if(v>4*e&&m--){var x=a+h,_=s+p,T=l+d,S=Bt(x*x+_*_+T*T),A=Qt(T/=S),P=dt(dt(T)-1)<ot||dt(o-f)<ot?(o+f)/2:Kt(_,x),B=t(P,A),$=B[0],k=B[1],D=$-r,w=k-i,M=b*D-y*w;(M*M/v>e||dt((y*D+b*w)/v-.5)>.3||a*h+s*p+l*d<b4)&&(n(r,i,o,a,s,l,$,k,P,x/=S,_/=S,T,m,g),g.point($,k),n($,k,P,x,_,T,u,c,f,h,p,d,m,g))}}return function(r){var i,o,a,s,l,u,c,f,h,p,d,m,g={point:y,lineStart:b,lineEnd:x,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=b}};function y(A,P){A=t(A,P),r.point(A[0],A[1])}function b(){f=NaN,g.point=v,r.lineStart()}function v(A,P){var B=cr([A,P]),$=t(A,P);n(f,h,c,p,d,m,f=$[0],h=$[1],c=A,p=B[0],d=B[1],m=B[2],Q1,r),r.point(f,h)}function x(){g.point=y,r.lineEnd()}function _(){b(),g.point=T,g.lineEnd=S}function T(A,P){v(i=A,P),o=f,a=h,s=p,l=d,u=m,g.point=v}function S(){n(f,h,c,p,d,m,o,a,i,s,l,u,Q1,r),g.lineEnd=x,x()}return g}}var $4=No({point:function(t,e){this.stream.point(t*at,e*at)}});function _4(t){return No({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function S4(t,e,n,r,i){function o(a,s){return a*=r,s*=i,[e+t*a,n-t*s]}return o.invert=function(a,s){return[(a-e)/t*r,(n-s)/t*i]},o}function tb(t,e,n,r,i,o){if(!o)return S4(t,e,n,r,i);var a=rt(o),s=et(o),l=a*t,u=s*t,c=a/t,f=s/t,h=(s*n-a*e)/t,p=(s*e+a*n)/t;function d(m,g){return m*=r,g*=i,[l*m-u*g+e,n-u*m-l*g]}return d.invert=function(m,g){return[r*(c*m-f*g+h),i*(p-f*m-c*g)]},d}function qe(t){return ph(function(){return t})()}function ph(t){var e,n=150,r=480,i=250,o=0,a=0,s=0,l=0,u=0,c,f=0,h=1,p=1,d=null,m=jf,g=null,y,b,v,x=Mo,_=.5,T,S,A,P,B;function $(M){return A(M[0]*at,M[1]*at)}function k(M){return M=A.invert(M[0],M[1]),M&&[M[0]*vt,M[1]*vt]}$.stream=function(M){return P&&B===M?P:P=$4(_4(c)(m(T(x(B=M)))))},$.preclip=function(M){return arguments.length?(m=M,d=void 0,w()):m},$.postclip=function(M){return arguments.length?(x=M,g=y=b=v=null,w()):x},$.clipAngle=function(M){return arguments.length?(m=+M?w1(d=M*at):(d=null,jf),w()):d*vt},$.clipExtent=function(M){return arguments.length?(x=M==null?(g=y=b=v=null,Mo):al(g=+M[0][0],y=+M[0][1],b=+M[1][0],v=+M[1][1]),w()):g==null?null:[[g,y],[b,v]]},$.scale=function(M){return arguments.length?(n=+M,D()):n},$.translate=function(M){return arguments.length?(r=+M[0],i=+M[1],D()):[r,i]},$.center=function(M){return arguments.length?(o=M[0]%360*at,a=M[1]%360*at,D()):[o*vt,a*vt]},$.rotate=function(M){return arguments.length?(s=M[0]%360*at,l=M[1]%360*at,u=M.length>2?M[2]%360*at:0,D()):[s*vt,l*vt,u*vt]},$.angle=function(M){return arguments.length?(f=M%360*at,D()):f*vt},$.reflectX=function(M){return arguments.length?(h=M?-1:1,D()):h<0},$.reflectY=function(M){return arguments.length?(p=M?-1:1,D()):p<0},$.precision=function(M){return arguments.length?(T=J1(S,_=M*M),w()):Bt(_)},$.fitExtent=function(M,C){return yl($,M,C)},$.fitSize=function(M,C){return ch($,M,C)},$.fitWidth=function(M,C){return fh($,M,C)},$.fitHeight=function(M,C){return hh($,M,C)};function D(){var M=tb(n,0,0,h,p,f).apply(null,e(o,a)),C=tb(n,r-M[0],i-M[1],h,p,f);return c=Uf(s,l,u),S=Wf(e,C),A=Wf(c,S),T=J1(S,_),w()}function w(){return P=B=null,$}return function(){return e=t.apply(this,arguments),$.invert=e.invert&&k,D()}}function dh(t){var e=0,n=ht/3,r=ph(t),i=r(e,n);return i.parallels=function(o){return arguments.length?r(e=o[0]*at,n=o[1]*at):[e*vt,n*vt]},i}function w4(t){var e=rt(t);function n(r,i){return[r*e,et(i)/e]}return n.invert=function(r,i){return[r/e,Qt(i*e)]},n}function eb(t,e){var n=et(t),r=(n+et(e))/2;if(dt(r)<ot)return w4(t);var i=1+n*(2*r-n),o=Bt(i)/r;function a(s,l){var u=Bt(i-2*r*et(l))/r;return[u*et(s*=r),o-u*rt(s)]}return a.invert=function(s,l){var u=o-l,c=Kt(s,dt(u))*xe(u);return u*r<0&&(c-=ht*xe(s)*xe(u)),[c/r,Qt((i-(s*s+u*u)*r*r)/(2*r))]},a}function bl(){return dh(eb).scale(155.424).center([0,33.6442])}function nb(){return bl().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function T4(t){var e=t.length;return{point:function(n,r){for(var i=-1;++i<e;)t[i].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function A4(){var t,e,n=nb(),r,i=bl().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,a=bl().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,l,u={point:function(h,p){l=[h,p]}};function c(h){var p=h[0],d=h[1];return l=null,r.point(p,d),l||(o.point(p,d),l)||(s.point(p,d),l)}c.invert=function(h){var p=n.scale(),d=n.translate(),m=(h[0]-d[0])/p,g=(h[1]-d[1])/p;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?i:g>=.166&&g<.234&&m>=-.214&&m<-.115?a:n).invert(h)},c.stream=function(h){return t&&e===h?t:t=T4([n.stream(e=h),i.stream(h),a.stream(h)])},c.precision=function(h){return arguments.length?(n.precision(h),i.precision(h),a.precision(h),f()):n.precision()},c.scale=function(h){return arguments.length?(n.scale(h),i.scale(h*.35),a.scale(h),c.translate(n.translate())):n.scale()},c.translate=function(h){if(!arguments.length)return n.translate();var p=n.scale(),d=+h[0],m=+h[1];return r=n.translate(h).clipExtent([[d-.455*p,m-.238*p],[d+.455*p,m+.238*p]]).stream(u),o=i.translate([d-.307*p,m+.201*p]).clipExtent([[d-.425*p+ot,m+.12*p+ot],[d-.214*p-ot,m+.234*p-ot]]).stream(u),s=a.translate([d-.205*p,m+.212*p]).clipExtent([[d-.214*p+ot,m+.166*p+ot],[d-.115*p-ot,m+.234*p-ot]]).stream(u),f()},c.fitExtent=function(h,p){return yl(c,h,p)},c.fitSize=function(h,p){return ch(c,h,p)},c.fitWidth=function(h,p){return fh(c,h,p)},c.fitHeight=function(h,p){return hh(c,h,p)};function f(){return t=e=null,c}return c.scale(1070)}function rb(t){return function(e,n){var r=rt(e),i=rt(n),o=t(r*i);return o===1/0?[2,0]:[o*i*et(e),o*et(n)]}}function Fo(t){return function(e,n){var r=Bt(e*e+n*n),i=t(r),o=et(i),a=rt(i);return[Kt(e*o,r*a),Qt(r&&n*o/r)]}}var gh=rb(function(t){return Bt(2/(1+t))});gh.invert=Fo(function(t){return 2*Qt(t/2)});function P4(){return qe(gh).scale(124.75).clipAngle(180-.001)}var mh=rb(function(t){return(t=Hy(t))&&t/et(t)});mh.invert=Fo(function(t){return t});function D4(){return qe(mh).scale(79.4188).clipAngle(180-.001)}function Oo(t,e){return[t,Ys(Rf((At+e)/2))]}Oo.invert=function(t,e){return[t,2*pi(Uy(e))-At]};function C4(){return ib(Oo).scale(961/Zt)}function ib(t){var e=qe(t),n=e.center,r=e.scale,i=e.translate,o=e.clipExtent,a=null,s,l,u;e.scale=function(f){return arguments.length?(r(f),c()):r()},e.translate=function(f){return arguments.length?(i(f),c()):i()},e.center=function(f){return arguments.length?(n(f),c()):n()},e.clipExtent=function(f){return arguments.length?(f==null?a=s=l=u=null:(a=+f[0][0],s=+f[0][1],l=+f[1][0],u=+f[1][1]),c()):a==null?null:[[a,s],[l,u]]};function c(){var f=ht*r(),h=e(m1(e.rotate()).invert([0,0]));return o(a==null?[[h[0]-f,h[1]-f],[h[0]+f,h[1]+f]]:t===Oo?[[Math.max(h[0]-f,a),s],[Math.min(h[0]+f,l),u]]:[[a,Math.max(h[1]-f,s)],[l,Math.min(h[1]+f,u)]])}return c()}function xl(t){return Rf((At+t)/2)}function ob(t,e){var n=rt(t),r=t===e?et(t):Ys(n/rt(e))/Ys(xl(e)/xl(t)),i=n*kf(xl(t),r)/r;if(!r)return Oo;function o(a,s){i>0?s<-At+ot&&(s=-At+ot):s>At-ot&&(s=At-ot);var l=i/kf(xl(s),r);return[l*et(r*a),i-l*rt(r*a)]}return o.invert=function(a,s){var l=i-s,u=xe(r)*Bt(a*a+l*l),c=Kt(a,dt(l))*xe(l);return l*r<0&&(c-=ht*xe(a)*xe(l)),[c/r,2*pi(kf(i/u,1/r))-At]},o}function M4(){return dh(ob).scale(109.5).parallels([30,30])}function zo(t,e){return[t,e]}zo.invert=zo;function L4(){return qe(zo).scale(152.63)}function ab(t,e){var n=rt(t),r=t===e?et(t):(n-rt(e))/(e-t),i=n/r+t;if(dt(r)<ot)return zo;function o(a,s){var l=i-s,u=r*a;return[l*et(u),i-l*rt(u)]}return o.invert=function(a,s){var l=i-s,u=Kt(a,dt(l))*xe(l);return l*r<0&&(u-=ht*xe(a)*xe(l)),[u/r,i-xe(r)*Bt(a*a+l*l)]},o}function k4(){return dh(ab).scale(131.154).center([0,13.9389])}var Go=1.340264,Yo=-.081106,Xo=893e-6,Wo=.003796,vl=Bt(3)/2,R4=12;function yh(t,e){var n=Qt(vl*et(e)),r=n*n,i=r*r*r;return[t*rt(n)/(vl*(Go+3*Yo*r+i*(7*Xo+9*Wo*r))),n*(Go+Yo*r+i*(Xo+Wo*r))]}yh.invert=function(t,e){for(var n=e,r=n*n,i=r*r*r,o=0,a,s,l;o<R4&&(s=n*(Go+Yo*r+i*(Xo+Wo*r))-e,l=Go+3*Yo*r+i*(7*Xo+9*Wo*r),n-=a=s/l,r=n*n,i=r*r*r,!(dt(a)<To));++o);return[vl*t*(Go+3*Yo*r+i*(7*Xo+9*Wo*r))/rt(n),Qt(et(n)/vl)]};function E4(){return qe(yh).scale(177.158)}function bh(t,e){var n=rt(e),r=rt(t)*n;return[n*et(t)/r,et(e)/r]}bh.invert=Fo(pi);function I4(){return qe(bh).scale(144.049).clipAngle(60)}function B4(){var t=1,e=0,n=0,r=1,i=1,o=0,a,s,l=null,u,c,f,h=1,p=1,d=No({point:function(x,_){var T=v([x,_]);this.stream.point(T[0],T[1])}}),m=Mo,g,y;function b(){return h=t*r,p=t*i,g=y=null,v}function v(x){var _=x[0]*h,T=x[1]*p;if(o){var S=T*a-_*s;_=_*a+T*s,T=S}return[_+e,T+n]}return v.invert=function(x){var _=x[0]-e,T=x[1]-n;if(o){var S=T*a+_*s;_=_*a-T*s,T=S}return[_/h,T/p]},v.stream=function(x){return g&&y===x?g:g=d(m(y=x))},v.postclip=function(x){return arguments.length?(m=x,l=u=c=f=null,b()):m},v.clipExtent=function(x){return arguments.length?(m=x==null?(l=u=c=f=null,Mo):al(l=+x[0][0],u=+x[0][1],c=+x[1][0],f=+x[1][1]),b()):l==null?null:[[l,u],[c,f]]},v.scale=function(x){return arguments.length?(t=+x,b()):t},v.translate=function(x){return arguments.length?(e=+x[0],n=+x[1],b()):[e,n]},v.angle=function(x){return arguments.length?(o=x%360*at,s=et(o),a=rt(o),b()):o*vt},v.reflectX=function(x){return arguments.length?(r=x?-1:1,b()):r<0},v.reflectY=function(x){return arguments.length?(i=x?-1:1,b()):i<0},v.fitExtent=function(x,_){return yl(v,x,_)},v.fitSize=function(x,_){return ch(v,x,_)},v.fitWidth=function(x,_){return fh(v,x,_)},v.fitHeight=function(x,_){return hh(v,x,_)},v}function xh(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),e*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}xh.invert=function(t,e){var n=e,r=25,i;do{var o=n*n,a=o*o;n-=i=(n*(1.007226+o*(.015085+a*(-.044475+.028874*o-.005916*a)))-e)/(1.007226+o*(.015085*3+a*(-.044475*7+.028874*9*o-.005916*11*a)))}while(dt(i)>ot&&--r>0);return[t/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};function N4(){return qe(xh).scale(175.295)}function vh(t,e){return[rt(e)*et(t),et(e)]}vh.invert=Fo(Qt);function F4(){return qe(vh).scale(249.5).clipAngle(90+ot)}function $h(t,e){var n=rt(e),r=1+rt(t)*n;return[n*et(t)/r,et(e)/r]}$h.invert=Fo(function(t){return 2*pi(t)});function O4(){return qe($h).scale(250).clipAngle(142)}function _h(t,e){return[Ys(Rf((At+e)/2)),-t]}_h.invert=function(t,e){return[-e,2*pi(Uy(t))-At]};function z4(){var t=ib(_h),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function G4(t,e){return t.parent===e.parent?1:2}function Y4(t){return t.reduce(X4,0)/t.length}function X4(t,e){return t+e.x}function W4(t){return 1+t.reduce(V4,0)}function V4(t,e){return Math.max(t,e.y)}function U4(t){for(var e;e=t.children;)t=e[0];return t}function H4(t){for(var e;e=t.children;)t=e[e.length-1];return t}function j4(){var t=G4,e=1,n=1,r=!1;function i(o){var a,s=0;o.eachAfter(function(h){var p=h.children;p?(h.x=Y4(p),h.y=W4(p)):(h.x=a?s+=t(h,a):0,h.y=0,a=h)});var l=U4(o),u=H4(o),c=l.x-t(l,u)/2,f=u.x+t(u,l)/2;return o.eachAfter(r?function(h){h.x=(h.x-o.x)*e,h.y=(o.y-h.y)*n}:function(h){h.x=(h.x-c)/(f-c)*e,h.y=(1-(o.y?h.y/o.y:1))*n})}return i.separation=function(o){return arguments.length?(t=o,i):t},i.size=function(o){return arguments.length?(r=!1,e=+o[0],n=+o[1],i):r?null:[e,n]},i.nodeSize=function(o){return arguments.length?(r=!0,e=+o[0],n=+o[1],i):r?[e,n]:null},i}function q4(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function Z4(){return this.eachAfter(q4)}function K4(t,e){let n=-1;for(const r of this)t.call(e,r,++n,this);return this}function Q4(t,e){for(var n=this,r=[n],i,o,a=-1;n=r.pop();)if(t.call(e,n,++a,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function J4(t,e){for(var n=this,r=[n],i=[],o,a,s,l=-1;n=r.pop();)if(i.push(n),o=n.children)for(a=0,s=o.length;a<s;++a)r.push(o[a]);for(;n=i.pop();)t.call(e,n,++l,this);return this}function t7(t,e){let n=-1;for(const r of this)if(t.call(e,r,++n,this))return r}function e7(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n})}function n7(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function r7(t){for(var e=this,n=i7(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r}function i7(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;for(t=n.pop(),e=r.pop();t===e;)i=t,t=n.pop(),e=r.pop();return i}function o7(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function a7(){return Array.from(this)}function s7(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function l7(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*u7(){var t=this,e,n=[t],r,i,o;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);while(n.length)}function $l(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=h7)):e===void 0&&(e=f7);for(var n=new pr(t),r,i=[n],o,a,s,l;r=i.pop();)if((a=e(r.data))&&(l=(a=Array.from(a)).length))for(r.children=a,s=l-1;s>=0;--s)i.push(o=a[s]=new pr(a[s])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(sb)}function c7(){return $l(this).eachBefore(p7)}function f7(t){return t.children}function h7(t){return Array.isArray(t)?t[1]:null}function p7(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function sb(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function pr(t){this.data=t,this.depth=this.height=0,this.parent=null}pr.prototype=$l.prototype={constructor:pr,count:Z4,each:K4,eachAfter:J4,eachBefore:Q4,find:t7,sum:e7,sort:n7,path:r7,ancestors:o7,descendants:a7,leaves:s7,links:l7,copy:c7,[Symbol.iterator]:u7};function _l(t){return t==null?null:lb(t)}function lb(t){if(typeof t!="function")throw new Error;return t}function dr(){return 0}function vi(t){return function(){return t}}const d7=1664525,g7=1013904223,ub=4294967296;function Sh(){let t=1;return()=>(t=(d7*t+g7)%ub)/ub}function m7(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function y7(t,e){let n=t.length,r,i;for(;n;)i=e()*n--|0,r=t[n],t[n]=t[i],t[i]=r;return t}function b7(t){return cb(t,Sh())}function cb(t,e){for(var n=0,r=(t=y7(Array.from(t),e)).length,i=[],o,a;n<r;)o=t[n],a&&fb(a,o)?++n:(a=v7(i=x7(i,o)),n=0);return a}function x7(t,e){var n,r;if(wh(e,t))return[e];for(n=0;n<t.length;++n)if(Sl(e,t[n])&&wh(Vo(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(Sl(Vo(t[n],t[r]),e)&&Sl(Vo(t[n],e),t[r])&&Sl(Vo(t[r],e),t[n])&&wh(hb(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function Sl(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function fb(t,e){var n=t.r-e.r+Math.max(t.r,e.r,1)*1e-9,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function wh(t,e){for(var n=0;n<e.length;++n)if(!fb(t,e[n]))return!1;return!0}function v7(t){switch(t.length){case 1:return $7(t[0]);case 2:return Vo(t[0],t[1]);case 3:return hb(t[0],t[1],t[2])}}function $7(t){return{x:t.x,y:t.y,r:t.r}}function Vo(t,e){var n=t.x,r=t.y,i=t.r,o=e.x,a=e.y,s=e.r,l=o-n,u=a-r,c=s-i,f=Math.sqrt(l*l+u*u);return{x:(n+o+l/f*c)/2,y:(r+a+u/f*c)/2,r:(f+i+s)/2}}function hb(t,e,n){var r=t.x,i=t.y,o=t.r,a=e.x,s=e.y,l=e.r,u=n.x,c=n.y,f=n.r,h=r-a,p=r-u,d=i-s,m=i-c,g=l-o,y=f-o,b=r*r+i*i-o*o,v=b-a*a-s*s+l*l,x=b-u*u-c*c+f*f,_=p*d-h*m,T=(d*x-m*v)/(_*2)-r,S=(m*g-d*y)/_,A=(p*v-h*x)/(_*2)-i,P=(h*y-p*g)/_,B=S*S+P*P-1,$=2*(o+T*S+A*P),k=T*T+A*A-o*o,D=-(Math.abs(B)>1e-6?($+Math.sqrt($*$-4*B*k))/(2*B):k/$);return{x:r+T+S*D,y:i+A+P*D,r:D}}function pb(t,e,n){var r=t.x-e.x,i,o,a=t.y-e.y,s,l,u=r*r+a*a;u?(o=e.r+n.r,o*=o,l=t.r+n.r,l*=l,o>l?(i=(u+l-o)/(2*u),s=Math.sqrt(Math.max(0,l/u-i*i)),n.x=t.x-i*r-s*a,n.y=t.y-i*a+s*r):(i=(u+o-l)/(2*u),s=Math.sqrt(Math.max(0,o/u-i*i)),n.x=e.x+i*r-s*a,n.y=e.y+i*a+s*r)):(n.x=e.x+n.r,n.y=e.y)}function db(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function gb(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,o=(e.y*n.r+n.y*e.r)/r;return i*i+o*o}function wl(t){this._=t,this.next=null,this.previous=null}function mb(t,e){if(!(o=(t=m7(t)).length))return 0;var n,r,i,o,a,s,l,u,c,f,h;if(n=t[0],n.x=0,n.y=0,!(o>1))return n.r;if(r=t[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;pb(r,n,i=t[2]),n=new wl(n),r=new wl(r),i=new wl(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;t:for(l=3;l<o;++l){pb(n._,r._,i=t[l]),i=new wl(i),u=r.next,c=n.previous,f=r._.r,h=n._.r;do if(f<=h){if(db(u._,i._)){r=u,n.next=r,r.previous=n,--l;continue t}f+=u._.r,u=u.next}else{if(db(c._,i._)){n=c,n.next=r,r.previous=n,--l;continue t}h+=c._.r,c=c.previous}while(u!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,a=gb(n);(i=i.next)!==r;)(s=gb(i))<a&&(n=i,a=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=cb(n,e),l=0;l<o;++l)n=t[l],n.x-=i.x,n.y-=i.y;return i.r}function _7(t){return mb(t,Sh()),t}function S7(t){return Math.sqrt(t.value)}function w7(){var t=null,e=1,n=1,r=dr;function i(o){const a=Sh();return o.x=e/2,o.y=n/2,t?o.eachBefore(yb(t)).eachAfter(Th(r,.5,a)).eachBefore(bb(1)):o.eachBefore(yb(S7)).eachAfter(Th(dr,1,a)).eachAfter(Th(r,o.r/Math.min(e,n),a)).eachBefore(bb(Math.min(e,n)/(2*o.r))),o}return i.radius=function(o){return arguments.length?(t=_l(o),i):t},i.size=function(o){return arguments.length?(e=+o[0],n=+o[1],i):[e,n]},i.padding=function(o){return arguments.length?(r=typeof o=="function"?o:vi(+o),i):r},i}function yb(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Th(t,e,n){return function(r){if(i=r.children){var i,o,a=i.length,s=t(r)*e||0,l;if(s)for(o=0;o<a;++o)i[o].r+=s;if(l=mb(i,n),s)for(o=0;o<a;++o)i[o].r-=s;r.r=l+s}}}function bb(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}function xb(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Uo(t,e,n,r,i){for(var o=t.children,a,s=-1,l=o.length,u=t.value&&(r-e)/t.value;++s<l;)a=o[s],a.y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*u}function T7(){var t=1,e=1,n=0,r=!1;function i(a){var s=a.height+1;return a.x0=a.y0=n,a.x1=t,a.y1=e/s,a.eachBefore(o(e,s)),r&&a.eachBefore(xb),a}function o(a,s){return function(l){l.children&&Uo(l,l.x0,a*(l.depth+1)/s,l.x1,a*(l.depth+2)/s);var u=l.x0,c=l.y0,f=l.x1-n,h=l.y1-n;f<u&&(u=f=(u+f)/2),h<c&&(c=h=(c+h)/2),l.x0=u,l.y0=c,l.x1=f,l.y1=h}}return i.round=function(a){return arguments.length?(r=!!a,i):r},i.size=function(a){return arguments.length?(t=+a[0],e=+a[1],i):[t,e]},i.padding=function(a){return arguments.length?(n=+a,i):n},i}var A7={depth:-1},vb={},Ah={};function P7(t){return t.id}function D7(t){return t.parentId}function C7(){var t=P7,e=D7,n;function r(i){var o=Array.from(i),a=t,s=e,l,u,c,f,h,p,d,m,g=new Map;if(n!=null){const y=o.map((x,_)=>M7(n(x,_,i))),b=y.map($b),v=new Set(y).add("");for(const x of b)v.has(x)||(v.add(x),y.push(x),b.push($b(x)),o.push(Ah));a=(x,_)=>y[_],s=(x,_)=>b[_]}for(c=0,l=o.length;c<l;++c)u=o[c],p=o[c]=new pr(u),(d=a(u,c,i))!=null&&(d+="")&&(m=p.id=d,g.set(m,g.has(m)?vb:p)),(d=s(u,c,i))!=null&&(d+="")&&(p.parent=d);for(c=0;c<l;++c)if(p=o[c],d=p.parent){if(h=g.get(d),!h)throw new Error("missing: "+d);if(h===vb)throw new Error("ambiguous: "+d);h.children?h.children.push(p):h.children=[p],p.parent=h}else{if(f)throw new Error("multiple roots");f=p}if(!f)throw new Error("no root");if(n!=null){for(;f.data===Ah&&f.children.length===1;)f=f.children[0],--l;for(let y=o.length-1;y>=0&&(p=o[y],p.data===Ah);--y)p.data=null}if(f.parent=A7,f.eachBefore(function(y){y.depth=y.parent.depth+1,--l}).eachBefore(sb),f.parent=null,l>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(t=_l(i),r):t},r.parentId=function(i){return arguments.length?(e=_l(i),r):e},r.path=function(i){return arguments.length?(n=_l(i),r):n},r}function M7(t){t=`${t}`;let e=t.length;return Ph(t,e-1)&&!Ph(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function $b(t){let e=t.length;if(e<2)return"";for(;--e>1&&!Ph(t,e););return t.slice(0,e)}function Ph(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function L7(t,e){return t.parent===e.parent?1:2}function Dh(t){var e=t.children;return e?e[0]:t.t}function Ch(t){var e=t.children;return e?e[e.length-1]:t.t}function k7(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function R7(t){for(var e=0,n=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=e,o.m+=e,e+=o.s+(n+=o.c)}function E7(t,e,n){return t.a.parent===e.parent?t.a:n}function Tl(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Tl.prototype=Object.create(pr.prototype);function I7(t){for(var e=new Tl(t,0),n,r=[e],i,o,a,s;n=r.pop();)if(o=n._.children)for(n.children=new Array(s=o.length),a=s-1;a>=0;--a)r.push(i=n.children[a]=new Tl(o[a],a)),i.parent=n;return(e.parent=new Tl(null,0)).children=[e],e}function B7(){var t=L7,e=1,n=1,r=null;function i(u){var c=I7(u);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)u.eachBefore(l);else{var f=u,h=u,p=u;u.eachBefore(function(b){b.x<f.x&&(f=b),b.x>h.x&&(h=b),b.depth>p.depth&&(p=b)});var d=f===h?1:t(f,h)/2,m=d-f.x,g=e/(h.x+d+m),y=n/(p.depth||1);u.eachBefore(function(b){b.x=(b.x+m)*g,b.y=b.depth*y})}return u}function o(u){var c=u.children,f=u.parent.children,h=u.i?f[u.i-1]:null;if(c){R7(u);var p=(c[0].z+c[c.length-1].z)/2;h?(u.z=h.z+t(u._,h._),u.m=u.z-p):u.z=p}else h&&(u.z=h.z+t(u._,h._));u.parent.A=s(u,h,u.parent.A||f[0])}function a(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u,c,f){if(c){for(var h=u,p=u,d=c,m=h.parent.children[0],g=h.m,y=p.m,b=d.m,v=m.m,x;d=Ch(d),h=Dh(h),d&&h;)m=Dh(m),p=Ch(p),p.a=u,x=d.z+b-h.z-g+t(d._,h._),x>0&&(k7(E7(d,u,f),u,x),g+=x,y+=x),b+=d.m,g+=h.m,v+=m.m,y+=p.m;d&&!Ch(p)&&(p.t=d,p.m+=b-y),h&&!Dh(m)&&(m.t=h,m.m+=g-v,f=u)}return f}function l(u){u.x*=e,u.y=u.depth*n}return i.separation=function(u){return arguments.length?(t=u,i):t},i.size=function(u){return arguments.length?(r=!1,e=+u[0],n=+u[1],i):r?null:[e,n]},i.nodeSize=function(u){return arguments.length?(r=!0,e=+u[0],n=+u[1],i):r?[e,n]:null},i}function Al(t,e,n,r,i){for(var o=t.children,a,s=-1,l=o.length,u=t.value&&(i-n)/t.value;++s<l;)a=o[s],a.x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*u}var _b=(1+Math.sqrt(5))/2;function Sb(t,e,n,r,i,o){for(var a=[],s=e.children,l,u,c=0,f=0,h=s.length,p,d,m=e.value,g,y,b,v,x,_,T;c<h;){p=i-n,d=o-r;do g=s[f++].value;while(!g&&f<h);for(y=b=g,_=Math.max(d/p,p/d)/(m*t),T=g*g*_,x=Math.max(b/T,T/y);f<h;++f){if(g+=u=s[f].value,u<y&&(y=u),u>b&&(b=u),T=g*g*_,v=Math.max(b/T,T/y),v>x){g-=u;break}x=v}a.push(l={value:g,dice:p<d,children:s.slice(c,f)}),l.dice?Uo(l,n,r,i,m?r+=d*g/m:o):Al(l,n,r,m?n+=p*g/m:i,o),m-=g,c=f}return a}const Mh=function t(e){function n(r,i,o,a,s){Sb(e,r,i,o,a,s)}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(_b);function wb(){var t=Mh,e=!1,n=1,r=1,i=[0],o=dr,a=dr,s=dr,l=dr,u=dr;function c(h){return h.x0=h.y0=0,h.x1=n,h.y1=r,h.eachBefore(f),i=[0],e&&h.eachBefore(xb),h}function f(h){var p=i[h.depth],d=h.x0+p,m=h.y0+p,g=h.x1-p,y=h.y1-p;g<d&&(d=g=(d+g)/2),y<m&&(m=y=(m+y)/2),h.x0=d,h.y0=m,h.x1=g,h.y1=y,h.children&&(p=i[h.depth+1]=o(h)/2,d+=u(h)-p,m+=a(h)-p,g-=s(h)-p,y-=l(h)-p,g<d&&(d=g=(d+g)/2),y<m&&(m=y=(m+y)/2),t(h,d,m,g,y))}return c.round=function(h){return arguments.length?(e=!!h,c):e},c.size=function(h){return arguments.length?(n=+h[0],r=+h[1],c):[n,r]},c.tile=function(h){return arguments.length?(t=lb(h),c):t},c.padding=function(h){return arguments.length?c.paddingInner(h).paddingOuter(h):c.paddingInner()},c.paddingInner=function(h){return arguments.length?(o=typeof h=="function"?h:vi(+h),c):o},c.paddingOuter=function(h){return arguments.length?c.paddingTop(h).paddingRight(h).paddingBottom(h).paddingLeft(h):c.paddingTop()},c.paddingTop=function(h){return arguments.length?(a=typeof h=="function"?h:vi(+h),c):a},c.paddingRight=function(h){return arguments.length?(s=typeof h=="function"?h:vi(+h),c):s},c.paddingBottom=function(h){return arguments.length?(l=typeof h=="function"?h:vi(+h),c):l},c.paddingLeft=function(h){return arguments.length?(u=typeof h=="function"?h:vi(+h),c):u},c}function N7(t,e,n,r,i){var o=t.children,a,s=o.length,l,u=new Array(s+1);for(u[0]=l=a=0;a<s;++a)u[a+1]=l+=o[a].value;c(0,s,t.value,e,n,r,i);function c(f,h,p,d,m,g,y){if(f>=h-1){var b=o[f];b.x0=d,b.y0=m,b.x1=g,b.y1=y;return}for(var v=u[f],x=p/2+v,_=f+1,T=h-1;_<T;){var S=_+T>>>1;u[S]<x?_=S+1:T=S}x-u[_-1]<u[_]-x&&f+1<_&&--_;var A=u[_]-v,P=p-A;if(g-d>y-m){var B=p?(d*P+g*A)/p:g;c(f,_,A,d,m,B,y),c(_,h,P,B,m,g,y)}else{var $=p?(m*P+y*A)/p:y;c(f,_,A,d,m,g,$),c(_,h,P,d,$,g,y)}}}function F7(t,e,n,r,i){(t.depth&1?Al:Uo)(t,e,n,r,i)}const O7=function t(e){function n(r,i,o,a,s){if((l=r._squarify)&&l.ratio===e)for(var l,u,c,f,h=-1,p,d=l.length,m=r.value;++h<d;){for(u=l[h],c=u.children,f=u.value=0,p=c.length;f<p;++f)u.value+=c[f].value;u.dice?Uo(u,i,o,a,m?o+=(s-o)*u.value/m:s):Al(u,i,o,m?i+=(a-i)*u.value/m:a,s),m-=u.value}else r._squarify=l=Sb(e,r,i,o,a,s),l.ratio=e}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(_b);function z7(t){for(var e=-1,n=t.length,r,i=t[n-1],o=0;++e<n;)r=i,i=t[e],o+=r[1]*i[0]-r[0]*i[1];return o/2}function G7(t){for(var e=-1,n=t.length,r=0,i=0,o,a=t[n-1],s,l=0;++e<n;)o=a,a=t[e],l+=s=o[0]*a[1]-a[0]*o[1],r+=(o[0]+a[0])*s,i+=(o[1]+a[1])*s;return l*=3,[r/l,i/l]}function Y7(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function X7(t,e){return t[0]-e[0]||t[1]-e[1]}function Tb(t){const e=t.length,n=[0,1];let r=2,i;for(i=2;i<e;++i){for(;r>1&&Y7(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function W7(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(X7),e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var o=Tb(r),a=Tb(i),s=a[0]===o[0],l=a[a.length-1]===o[o.length-1],u=[];for(e=o.length-1;e>=0;--e)u.push(t[r[o[e]][2]]);for(e=+s;e<a.length-l;++e)u.push(t[r[a[e]][2]]);return u}function V7(t,e){for(var n=t.length,r=t[n-1],i=e[0],o=e[1],a=r[0],s=r[1],l,u,c=!1,f=0;f<n;++f)r=t[f],l=r[0],u=r[1],u>o!=s>o&&i<(a-l)*(o-u)/(s-u)+l&&(c=!c),a=l,s=u;return c}function U7(t){for(var e=-1,n=t.length,r=t[n-1],i,o,a=r[0],s=r[1],l=0;++e<n;)i=a,o=s,r=t[e],a=r[0],s=r[1],i-=a,o-=s,l+=Math.hypot(i,o);return l}const Ot=Math.random,H7=function t(e){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,arguments.length===1?(i=r,r=0):i-=r,function(){return e()*i+r}}return n.source=t,n}(Ot),j7=function t(e){function n(r,i){return arguments.length<2&&(i=r,r=0),r=Math.floor(r),i=Math.floor(i)-r,function(){return Math.floor(e()*i+r)}}return n.source=t,n}(Ot),Lh=function t(e){function n(r,i){var o,a;return r=r==null?0:+r,i=i==null?1:+i,function(){var s;if(o!=null)s=o,o=null;else do o=e()*2-1,s=e()*2-1,a=o*o+s*s;while(!a||a>1);return r+i*s*Math.sqrt(-2*Math.log(a)/a)}}return n.source=t,n}(Ot),q7=function t(e){var n=Lh.source(e);function r(){var i=n.apply(this,arguments);return function(){return Math.exp(i())}}return r.source=t,r}(Ot),Ab=function t(e){function n(r){return(r=+r)<=0?()=>0:function(){for(var i=0,o=r;o>1;--o)i+=e();return i+o*e()}}return n.source=t,n}(Ot),Z7=function t(e){var n=Ab.source(e);function r(i){if((i=+i)==0)return e;var o=n(i);return function(){return o()/i}}return r.source=t,r}(Ot),K7=function t(e){function n(r){return function(){return-Math.log1p(-e())/r}}return n.source=t,n}(Ot),Q7=function t(e){function n(r){if((r=+r)<0)throw new RangeError("invalid alpha");return r=1/-r,function(){return Math.pow(1-e(),r)}}return n.source=t,n}(Ot),J7=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return function(){return Math.floor(e()+r)}}return n.source=t,n}(Ot),Pb=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return r===0?()=>1/0:r===1?()=>1:(r=Math.log1p(-r),function(){return 1+Math.floor(Math.log1p(-e())/r)})}return n.source=t,n}(Ot),kh=function t(e){var n=Lh.source(e)();function r(i,o){if((i=+i)<0)throw new RangeError("invalid k");if(i===0)return()=>0;if(o=o==null?1:+o,i===1)return()=>-Math.log1p(-e())*o;var a=(i<1?i+1:i)-1/3,s=1/(3*Math.sqrt(a)),l=i<1?()=>Math.pow(e(),1/i):()=>1;return function(){do{do var u=n(),c=1+s*u;while(c<=0);c*=c*c;var f=1-e()}while(f>=1-.0331*u*u*u*u&&Math.log(f)>=.5*u*u+a*(1-c+Math.log(c)));return a*c*l()*o}}return r.source=t,r}(Ot),Db=function t(e){var n=kh.source(e);function r(i,o){var a=n(i),s=n(o);return function(){var l=a();return l===0?0:l/(l+s())}}return r.source=t,r}(Ot),Cb=function t(e){var n=Pb.source(e),r=Db.source(e);function i(o,a){return o=+o,(a=+a)>=1?()=>o:a<=0?()=>0:function(){for(var s=0,l=o,u=a;l*u>16&&l*(1-u)>16;){var c=Math.floor((l+1)*u),f=r(c,l-c+1)();f<=u?(s+=c,l-=c,u=(u-f)/(1-f)):(l=c-1,u/=f)}for(var h=u<.5,p=h?u:1-u,d=n(p),m=d(),g=0;m<=l;++g)m+=d();return s+(h?g:l-g)}}return i.source=t,i}(Ot),tk=function t(e){function n(r,i,o){var a;return(r=+r)==0?a=s=>-Math.log(s):(r=1/r,a=s=>Math.pow(s,r)),i=i==null?0:+i,o=o==null?1:+o,function(){return i+o*a(-Math.log1p(-e()))}}return n.source=t,n}(Ot),ek=function t(e){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,function(){return r+i*Math.tan(Math.PI*e())}}return n.source=t,n}(Ot),nk=function t(e){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,function(){var o=e();return r+i*Math.log(o/(1-o))}}return n.source=t,n}(Ot),rk=function t(e){var n=kh.source(e),r=Cb.source(e);function i(o){return function(){for(var a=0,s=o;s>16;){var l=Math.floor(.875*s),u=n(l)();if(u>s)return a+r(l-1,s/u)();a+=l,s-=u}for(var c=-Math.log1p(-e()),f=0;c<=s;++f)c-=Math.log1p(-e());return a+f}}return i.source=t,i}(Ot),ik=1664525,ok=1013904223,Mb=1/4294967296;function ak(t=Math.random()){let e=(0<=t&&t<1?t/Mb:Math.abs(t))|0;return()=>(e=ik*e+ok|0,Mb*(e>>>0))}function $e(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function cn(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const Rh=Symbol("implicit");function Eh(){var t=new Ji,e=[],n=[],r=Rh;function i(o){let a=t.get(o);if(a===void 0){if(r!==Rh)return r;t.set(o,a=e.push(o)-1)}return n[a%n.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new Ji;for(const a of o)t.has(a)||t.set(a,e.push(a)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return Eh(e,n).unknown(r)},$e.apply(i,arguments),i}function Ih(){var t=Eh().unknown(void 0),e=t.domain,n=t.range,r=0,i=1,o,a,s=!1,l=0,u=0,c=.5;delete t.unknown;function f(){var h=e().length,p=i<r,d=p?i:r,m=p?r:i;o=(m-d)/Math.max(1,h-l+u*2),s&&(o=Math.floor(o)),d+=(m-d-o*(h-l))*c,a=o*(1-l),s&&(d=Math.round(d),a=Math.round(a));var g=_n(h).map(function(y){return d+o*y});return n(p?g.reverse():g)}return t.domain=function(h){return arguments.length?(e(h),f()):e()},t.range=function(h){return arguments.length?([r,i]=h,r=+r,i=+i,f()):[r,i]},t.rangeRound=function(h){return[r,i]=h,r=+r,i=+i,s=!0,f()},t.bandwidth=function(){return a},t.step=function(){return o},t.round=function(h){return arguments.length?(s=!!h,f()):s},t.padding=function(h){return arguments.length?(l=Math.min(1,u=+h),f()):l},t.paddingInner=function(h){return arguments.length?(l=Math.min(1,h),f()):l},t.paddingOuter=function(h){return arguments.length?(u=+h,f()):u},t.align=function(h){return arguments.length?(c=Math.max(0,Math.min(1,h)),f()):c},t.copy=function(){return Ih(e(),[r,i]).round(s).paddingInner(l).paddingOuter(u).align(c)},$e.apply(f(),arguments)}function Lb(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return Lb(e())},t}function Bh(){return Lb(Ih.apply(null,arguments).paddingInner(1))}function sk(t){return function(){return t}}function Pl(t){return+t}var kb=[0,1];function ne(t){return t}function Nh(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:sk(isNaN(e)?NaN:.5)}function lk(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function uk(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i<r?(r=Nh(i,r),o=n(a,o)):(r=Nh(r,i),o=n(o,a)),function(s){return o(r(s))}}function ck(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)i[a]=Nh(t[a],t[a+1]),o[a]=n(e[a],e[a+1]);return function(s){var l=Vn(t,s,1,r)-1;return o[l](i[l](s))}}function Ho(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Dl(){var t=kb,e=kb,n=en,r,i,o,a=ne,s,l,u;function c(){var h=Math.min(t.length,e.length);return a!==ne&&(a=lk(t[0],t[h-1])),s=h>2?ck:uk,l=u=null,f}function f(h){return h==null||isNaN(h=+h)?o:(l||(l=s(t.map(r),e,n)))(r(a(h)))}return f.invert=function(h){return a(i((u||(u=s(e,t.map(r),be)))(h)))},f.domain=function(h){return arguments.length?(t=Array.from(h,Pl),c()):t.slice()},f.range=function(h){return arguments.length?(e=Array.from(h),c()):e.slice()},f.rangeRound=function(h){return e=Array.from(h),n=ys,c()},f.clamp=function(h){return arguments.length?(a=h?!0:ne,c()):a!==ne},f.interpolate=function(h){return arguments.length?(n=h,c()):n},f.unknown=function(h){return arguments.length?(o=h,f):o},function(h,p){return r=h,i=p,c()}}function Fh(){return Dl()(ne,ne)}function Rb(t,e,n,r){var i=ja(t,e,n),o;switch(r=hi(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(o=Wy(i,a))&&(r.precision=o),Mf(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=Vy(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=Xy(i))&&(r.precision=o-(r.type==="%")*2);break}}return wo(r)}function Cn(t){var e=t.domain;return t.ticks=function(n){var r=e();return Hn(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return Rb(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,o=r.length-1,a=r[i],s=r[o],l,u,c=10;for(s<a&&(u=a,a=s,s=u,u=i,i=o,o=u);c-- >0;){if(u=jn(a,s,n),u===l)return r[i]=a,r[o]=s,e(r);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function $i(){var t=Fh();return t.copy=function(){return Ho(t,$i())},$e.apply(t,arguments),Cn(t)}function Eb(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,Pl),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return Eb(t).unknown(e)},t=arguments.length?Array.from(t,Pl):[0,1],Cn(n)}function Ib(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],o=t[r],a;return o<i&&(a=n,n=r,r=a,a=i,i=o,o=a),t[n]=e.floor(i),t[r]=e.ceil(o),t}function Bb(t){return Math.log(t)}function Nb(t){return Math.exp(t)}function fk(t){return-Math.log(-t)}function hk(t){return-Math.exp(-t)}function pk(t){return isFinite(t)?+("1e"+t):t<0?0:t}function dk(t){return t===10?pk:t===Math.E?Math.exp:e=>Math.pow(t,e)}function gk(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Fb(t){return(e,n)=>-t(-e,n)}function Oh(t){const e=t(Bb,Nb),n=e.domain;let r=10,i,o;function a(){return i=gk(r),o=dk(r),n()[0]<0?(i=Fb(i),o=Fb(o),t(fk,hk)):t(Bb,Nb),e}return e.base=function(s){return arguments.length?(r=+s,a()):r},e.domain=function(s){return arguments.length?(n(s),a()):n()},e.ticks=s=>{const l=n();let u=l[0],c=l[l.length-1];const f=c<u;f&&([u,c]=[c,u]);let h=i(u),p=i(c),d,m;const g=s==null?10:+s;let y=[];if(!(r%1)&&p-h<g){if(h=Math.floor(h),p=Math.ceil(p),u>0){for(;h<=p;++h)for(d=1;d<r;++d)if(m=h<0?d/o(-h):d*o(h),!(m<u)){if(m>c)break;y.push(m)}}else for(;h<=p;++h)for(d=r-1;d>=1;--d)if(m=h>0?d/o(-h):d*o(h),!(m<u)){if(m>c)break;y.push(m)}y.length*2<g&&(y=Hn(u,c,g))}else y=Hn(h,p,Math.min(p-h,g)).map(o);return f?y.reverse():y},e.tickFormat=(s,l)=>{if(s==null&&(s=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=hi(l)).precision==null&&(l.trim=!0),l=wo(l)),s===1/0)return l;const u=Math.max(1,r*s/e.ticks().length);return c=>{let f=c/o(Math.round(i(c)));return f*r<r-.5&&(f*=r),f<=u?l(c):""}},e.nice=()=>n(Ib(n(),{floor:s=>o(Math.floor(i(s))),ceil:s=>o(Math.ceil(i(s)))})),e}function Ob(){const t=Oh(Dl()).domain([1,10]);return t.copy=()=>Ho(t,Ob()).base(t.base()),$e.apply(t,arguments),t}function zb(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Gb(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function zh(t){var e=1,n=t(zb(e),Gb(e));return n.constant=function(r){return arguments.length?t(zb(e=+r),Gb(e)):e},Cn(n)}function Yb(){var t=zh(Dl());return t.copy=function(){return Ho(t,Yb()).constant(t.constant())},$e.apply(t,arguments)}function Xb(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function mk(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function yk(t){return t<0?-t*t:t*t}function Gh(t){var e=t(ne,ne),n=1;function r(){return n===1?t(ne,ne):n===.5?t(mk,yk):t(Xb(n),Xb(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},Cn(e)}function gr(){var t=Gh(Dl());return t.copy=function(){return Ho(t,gr()).exponent(t.exponent())},$e.apply(t,arguments),t}function bk(){return gr.apply(null,arguments).exponent(.5)}function Wb(t){return Math.sign(t)*t*t}function xk(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function Vb(){var t=Fh(),e=[0,1],n=!1,r;function i(o){var a=xk(t(o));return isNaN(a)?r:n?Math.round(a):a}return i.invert=function(o){return t.invert(Wb(o))},i.domain=function(o){return arguments.length?(t.domain(o),i):t.domain()},i.range=function(o){return arguments.length?(t.range((e=Array.from(o,Pl)).map(Wb)),i):e.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(n=!!o,i):n},i.clamp=function(o){return arguments.length?(t.clamp(o),i):t.clamp()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return Vb(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},$e.apply(i,arguments),Cn(i)}function Ub(){var t=[],e=[],n=[],r;function i(){var a=0,s=Math.max(1,e.length);for(n=new Array(s-1);++a<s;)n[a-1]=D0(t,a/s);return o}function o(a){return a==null||isNaN(a=+a)?r:e[Vn(n,a)]}return o.invertExtent=function(a){var s=e.indexOf(a);return s<0?[NaN,NaN]:[s>0?n[s-1]:t[0],s<n.length?n[s]:t[t.length-1]]},o.domain=function(a){if(!arguments.length)return t.slice();t=[];for(let s of a)s!=null&&!isNaN(s=+s)&&t.push(s);return t.sort(St),i()},o.range=function(a){return arguments.length?(e=Array.from(a),i()):e.slice()},o.unknown=function(a){return arguments.length?(r=a,o):r},o.quantiles=function(){return n.slice()},o.copy=function(){return Ub().domain(t).range(e).unknown(r)},$e.apply(o,arguments)}function Hb(){var t=0,e=1,n=1,r=[.5],i=[0,1],o;function a(l){return l!=null&&l<=l?i[Vn(r,l,0,n)]:o}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return a}return a.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},a.range=function(l){return arguments.length?(n=(i=Array.from(l)).length-1,s()):i.slice()},a.invertExtent=function(l){var u=i.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},a.unknown=function(l){return arguments.length&&(o=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return Hb().domain([t,e]).range(i).unknown(o)},$e.apply(Cn(a),arguments)}function jb(){var t=[.5],e=[0,1],n,r=1;function i(o){return o!=null&&o<=o?e[Vn(t,o,0,r)]:n}return i.domain=function(o){return arguments.length?(t=Array.from(o),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(o){return arguments.length?(e=Array.from(o),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(o){var a=e.indexOf(o);return[t[a-1],t[a]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return jb().domain(t).range(e).unknown(n)},$e.apply(i,arguments)}const Yh=new Date,Xh=new Date;function Ct(t,e,n,r){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{const a=i(o),s=i.ceil(o);return o-a<s-o?a:s},i.offset=(o,a)=>(e(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,s)=>{const l=[];if(o=i.ceil(o),s=s==null?1:Math.floor(s),!(o<a)||!(s>0))return l;let u;do l.push(u=new Date(+o)),e(o,s),t(o);while(u<o&&o<a);return l},i.filter=o=>Ct(a=>{if(a>=a)for(;t(a),!o(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;e(a,-1),!o(a););else for(;--s>=0;)for(;e(a,1),!o(a););}),n&&(i.count=(o,a)=>(Yh.setTime(+o),Xh.setTime(+a),t(Yh),t(Xh),Math.floor(n(Yh,Xh))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const _i=Ct(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);_i.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ct(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):_i);const qb=_i.range,fn=1e3,_e=fn*60,hn=_e*60,pn=hn*24,Wh=pn*7,Zb=pn*30,Vh=pn*365,dn=Ct(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*fn)},(t,e)=>(e-t)/fn,t=>t.getUTCSeconds()),Kb=dn.range,Cl=Ct(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*fn)},(t,e)=>{t.setTime(+t+e*_e)},(t,e)=>(e-t)/_e,t=>t.getMinutes()),vk=Cl.range,Ml=Ct(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*_e)},(t,e)=>(e-t)/_e,t=>t.getUTCMinutes()),$k=Ml.range,Ll=Ct(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*fn-t.getMinutes()*_e)},(t,e)=>{t.setTime(+t+e*hn)},(t,e)=>(e-t)/hn,t=>t.getHours()),_k=Ll.range,kl=Ct(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*hn)},(t,e)=>(e-t)/hn,t=>t.getUTCHours()),Sk=kl.range,Si=Ct(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*_e)/pn,t=>t.getDate()-1),wk=Si.range,jo=Ct(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/pn,t=>t.getUTCDate()-1),Tk=jo.range,Uh=Ct(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/pn,t=>Math.floor(t/pn)),Ak=Uh.range;function mr(t){return Ct(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*_e)/Wh)}const wi=mr(0),qo=mr(1),Qb=mr(2),Jb=mr(3),yr=mr(4),tx=mr(5),ex=mr(6),nx=wi.range,Pk=qo.range,Dk=Qb.range,Ck=Jb.range,Mk=yr.range,Lk=tx.range,kk=ex.range;function br(t){return Ct(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Wh)}const Ti=br(0),Zo=br(1),rx=br(2),ix=br(3),xr=br(4),ox=br(5),ax=br(6),sx=Ti.range,Rk=Zo.range,Ek=rx.range,Ik=ix.range,Bk=xr.range,Nk=ox.range,Fk=ax.range,Rl=Ct(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),Ok=Rl.range,El=Ct(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),zk=El.range,Ze=Ct(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Ze.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ct(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const Gk=Ze.range,Ke=Ct(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Ke.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ct(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const Yk=Ke.range;function lx(t,e,n,r,i,o){const a=[[dn,1,fn],[dn,5,5*fn],[dn,15,15*fn],[dn,30,30*fn],[o,1,_e],[o,5,5*_e],[o,15,15*_e],[o,30,30*_e],[i,1,hn],[i,3,3*hn],[i,6,6*hn],[i,12,12*hn],[r,1,pn],[r,2,2*pn],[n,1,Wh],[e,1,Zb],[e,3,3*Zb],[t,1,Vh]];function s(u,c,f){const h=c<u;h&&([u,c]=[c,u]);const p=f&&typeof f.range=="function"?f:l(u,c,f),d=p?p.range(u,+c+1):[];return h?d.reverse():d}function l(u,c,f){const h=Math.abs(c-u)/f,p=Wa(([,,g])=>g).right(a,h);if(p===a.length)return t.every(ja(u/Vh,c/Vh,f));if(p===0)return _i.every(Math.max(ja(u,c,f),1));const[d,m]=a[h/a[p-1][2]<a[p][2]/h?p-1:p];return d.every(m)}return[s,l]}const[ux,cx]=lx(Ke,El,Ti,Uh,kl,Ml),[fx,hx]=lx(Ze,Rl,wi,Si,Ll,Cl);function Hh(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function jh(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ko(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function px(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,o=t.days,a=t.shortDays,s=t.months,l=t.shortMonths,u=Qo(i),c=Jo(i),f=Qo(o),h=Jo(o),p=Qo(a),d=Jo(a),m=Qo(s),g=Jo(s),y=Qo(l),b=Jo(l),v={a:X,A:O,b:I,B:N,c:null,d:xx,e:xx,f:f9,g:$9,G:S9,H:l9,I:u9,j:c9,L:vx,m:h9,M:p9,p:R,q:F,Q:Ax,s:Px,S:d9,u:g9,U:m9,V:y9,w:b9,W:x9,x:null,X:null,y:v9,Y:_9,Z:w9,"%":Tx},x={a:H,A:it,b:z,B:Q,c:null,d:_x,e:_x,f:D9,g:F9,G:z9,H:T9,I:A9,j:P9,L:Sx,m:C9,M:M9,p:W,q:Z,Q:Ax,s:Px,S:L9,u:k9,U:R9,V:E9,w:I9,W:B9,x:null,X:null,y:N9,Y:O9,Z:G9,"%":Tx},_={a:B,A:$,b:k,B:D,c:w,d:yx,e:yx,f:i9,g:mx,G:gx,H:bx,I:bx,j:t9,L:r9,m:Jk,M:e9,p:P,q:Qk,Q:a9,s:s9,S:n9,u:Hk,U:jk,V:qk,w:Uk,W:Zk,x:M,X:C,y:mx,Y:gx,Z:Kk,"%":o9};v.x=T(n,v),v.X=T(r,v),v.c=T(e,v),x.x=T(n,x),x.X=T(r,x),x.c=T(e,x);function T(q,nt){return function(st){var U=[],gt=-1,ft=0,Rt=q.length,re,lt,Dt;for(st instanceof Date||(st=new Date(+st));++gt<Rt;)q.charCodeAt(gt)===37&&(U.push(q.slice(ft,gt)),(lt=dx[re=q.charAt(++gt)])!=null?re=q.charAt(++gt):lt=re==="e"?" ":"0",(Dt=nt[re])&&(re=Dt(st,lt)),U.push(re),ft=gt+1);return U.push(q.slice(ft,gt)),U.join("")}}function S(q,nt){return function(st){var U=Ko(1900,void 0,1),gt=A(U,q,st+="",0),ft,Rt;if(gt!=st.length)return null;if("Q"in U)return new Date(U.Q);if("s"in U)return new Date(U.s*1e3+("L"in U?U.L:0));if(nt&&!("Z"in U)&&(U.Z=0),"p"in U&&(U.H=U.H%12+U.p*12),U.m===void 0&&(U.m="q"in U?U.q:0),"V"in U){if(U.V<1||U.V>53)return null;"w"in U||(U.w=1),"Z"in U?(ft=jh(Ko(U.y,0,1)),Rt=ft.getUTCDay(),ft=Rt>4||Rt===0?Zo.ceil(ft):Zo(ft),ft=jo.offset(ft,(U.V-1)*7),U.y=ft.getUTCFullYear(),U.m=ft.getUTCMonth(),U.d=ft.getUTCDate()+(U.w+6)%7):(ft=Hh(Ko(U.y,0,1)),Rt=ft.getDay(),ft=Rt>4||Rt===0?qo.ceil(ft):qo(ft),ft=Si.offset(ft,(U.V-1)*7),U.y=ft.getFullYear(),U.m=ft.getMonth(),U.d=ft.getDate()+(U.w+6)%7)}else("W"in U||"U"in U)&&("w"in U||(U.w="u"in U?U.u%7:"W"in U?1:0),Rt="Z"in U?jh(Ko(U.y,0,1)).getUTCDay():Hh(Ko(U.y,0,1)).getDay(),U.m=0,U.d="W"in U?(U.w+6)%7+U.W*7-(Rt+5)%7:U.w+U.U*7-(Rt+6)%7);return"Z"in U?(U.H+=U.Z/100|0,U.M+=U.Z%100,jh(U)):Hh(U)}}function A(q,nt,st,U){for(var gt=0,ft=nt.length,Rt=st.length,re,lt;gt<ft;){if(U>=Rt)return-1;if(re=nt.charCodeAt(gt++),re===37){if(re=nt.charAt(gt++),lt=_[re in dx?nt.charAt(gt++):re],!lt||(U=lt(q,st,U))<0)return-1}else if(re!=st.charCodeAt(U++))return-1}return U}function P(q,nt,st){var U=u.exec(nt.slice(st));return U?(q.p=c.get(U[0].toLowerCase()),st+U[0].length):-1}function B(q,nt,st){var U=p.exec(nt.slice(st));return U?(q.w=d.get(U[0].toLowerCase()),st+U[0].length):-1}function $(q,nt,st){var U=f.exec(nt.slice(st));return U?(q.w=h.get(U[0].toLowerCase()),st+U[0].length):-1}function k(q,nt,st){var U=y.exec(nt.slice(st));return U?(q.m=b.get(U[0].toLowerCase()),st+U[0].length):-1}function D(q,nt,st){var U=m.exec(nt.slice(st));return U?(q.m=g.get(U[0].toLowerCase()),st+U[0].length):-1}function w(q,nt,st){return A(q,e,nt,st)}function M(q,nt,st){return A(q,n,nt,st)}function C(q,nt,st){return A(q,r,nt,st)}function X(q){return a[q.getDay()]}function O(q){return o[q.getDay()]}function I(q){return l[q.getMonth()]}function N(q){return s[q.getMonth()]}function R(q){return i[+(q.getHours()>=12)]}function F(q){return 1+~~(q.getMonth()/3)}function H(q){return a[q.getUTCDay()]}function it(q){return o[q.getUTCDay()]}function z(q){return l[q.getUTCMonth()]}function Q(q){return s[q.getUTCMonth()]}function W(q){return i[+(q.getUTCHours()>=12)]}function Z(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var nt=T(q+="",v);return nt.toString=function(){return q},nt},parse:function(q){var nt=S(q+="",!1);return nt.toString=function(){return q},nt},utcFormat:function(q){var nt=T(q+="",x);return nt.toString=function(){return q},nt},utcParse:function(q){var nt=S(q+="",!0);return nt.toString=function(){return q},nt}}}var dx={"-":"",_:" ",0:"0"},Nt=/^\s*\d+/,Xk=/^%/,Wk=/[\\^$*+?|[\]().{}]/g;function yt(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(e)+i:i)}function Vk(t){return t.replace(Wk,"\\$&")}function Qo(t){return new RegExp("^(?:"+t.map(Vk).join("|")+")","i")}function Jo(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function Uk(t,e,n){var r=Nt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Hk(t,e,n){var r=Nt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function jk(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function qk(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Zk(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function gx(t,e,n){var r=Nt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function mx(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Kk(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Qk(t,e,n){var r=Nt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Jk(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function yx(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function t9(t,e,n){var r=Nt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function bx(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function e9(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function n9(t,e,n){var r=Nt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function r9(t,e,n){var r=Nt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function i9(t,e,n){var r=Nt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function o9(t,e,n){var r=Xk.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function a9(t,e,n){var r=Nt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function s9(t,e,n){var r=Nt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function xx(t,e){return yt(t.getDate(),e,2)}function l9(t,e){return yt(t.getHours(),e,2)}function u9(t,e){return yt(t.getHours()%12||12,e,2)}function c9(t,e){return yt(1+Si.count(Ze(t),t),e,3)}function vx(t,e){return yt(t.getMilliseconds(),e,3)}function f9(t,e){return vx(t,e)+"000"}function h9(t,e){return yt(t.getMonth()+1,e,2)}function p9(t,e){return yt(t.getMinutes(),e,2)}function d9(t,e){return yt(t.getSeconds(),e,2)}function g9(t){var e=t.getDay();return e===0?7:e}function m9(t,e){return yt(wi.count(Ze(t)-1,t),e,2)}function $x(t){var e=t.getDay();return e>=4||e===0?yr(t):yr.ceil(t)}function y9(t,e){return t=$x(t),yt(yr.count(Ze(t),t)+(Ze(t).getDay()===4),e,2)}function b9(t){return t.getDay()}function x9(t,e){return yt(qo.count(Ze(t)-1,t),e,2)}function v9(t,e){return yt(t.getFullYear()%100,e,2)}function $9(t,e){return t=$x(t),yt(t.getFullYear()%100,e,2)}function _9(t,e){return yt(t.getFullYear()%1e4,e,4)}function S9(t,e){var n=t.getDay();return t=n>=4||n===0?yr(t):yr.ceil(t),yt(t.getFullYear()%1e4,e,4)}function w9(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+yt(e/60|0,"0",2)+yt(e%60,"0",2)}function _x(t,e){return yt(t.getUTCDate(),e,2)}function T9(t,e){return yt(t.getUTCHours(),e,2)}function A9(t,e){return yt(t.getUTCHours()%12||12,e,2)}function P9(t,e){return yt(1+jo.count(Ke(t),t),e,3)}function Sx(t,e){return yt(t.getUTCMilliseconds(),e,3)}function D9(t,e){return Sx(t,e)+"000"}function C9(t,e){return yt(t.getUTCMonth()+1,e,2)}function M9(t,e){return yt(t.getUTCMinutes(),e,2)}function L9(t,e){return yt(t.getUTCSeconds(),e,2)}function k9(t){var e=t.getUTCDay();return e===0?7:e}function R9(t,e){return yt(Ti.count(Ke(t)-1,t),e,2)}function wx(t){var e=t.getUTCDay();return e>=4||e===0?xr(t):xr.ceil(t)}function E9(t,e){return t=wx(t),yt(xr.count(Ke(t),t)+(Ke(t).getUTCDay()===4),e,2)}function I9(t){return t.getUTCDay()}function B9(t,e){return yt(Zo.count(Ke(t)-1,t),e,2)}function N9(t,e){return yt(t.getUTCFullYear()%100,e,2)}function F9(t,e){return t=wx(t),yt(t.getUTCFullYear()%100,e,2)}function O9(t,e){return yt(t.getUTCFullYear()%1e4,e,4)}function z9(t,e){var n=t.getUTCDay();return t=n>=4||n===0?xr(t):xr.ceil(t),yt(t.getUTCFullYear()%1e4,e,4)}function G9(){return"+0000"}function Tx(){return"%"}function Ax(t){return+t}function Px(t){return Math.floor(+t/1e3)}var Ai,qh,Dx,Il,Zh;Cx({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Cx(t){return Ai=px(t),qh=Ai.format,Dx=Ai.parse,Il=Ai.utcFormat,Zh=Ai.utcParse,Ai}var Mx="%Y-%m-%dT%H:%M:%S.%LZ";function Y9(t){return t.toISOString()}var X9=Date.prototype.toISOString?Y9:Il(Mx);const W9=X9;function V9(t){var e=new Date(t);return isNaN(e)?null:e}var U9=+new Date("2000-01-01T00:00:00.000Z")?V9:Zh(Mx);const H9=U9;function j9(t){return new Date(t)}function q9(t){return t instanceof Date?+t:+new Date(+t)}function Kh(t,e,n,r,i,o,a,s,l,u){var c=Fh(),f=c.invert,h=c.domain,p=u(".%L"),d=u(":%S"),m=u("%I:%M"),g=u("%I %p"),y=u("%a %d"),b=u("%b %d"),v=u("%B"),x=u("%Y");function _(T){return(l(T)<T?p:s(T)<T?d:a(T)<T?m:o(T)<T?g:r(T)<T?i(T)<T?y:b:n(T)<T?v:x)(T)}return c.invert=function(T){return new Date(f(T))},c.domain=function(T){return arguments.length?h(Array.from(T,q9)):h().map(j9)},c.ticks=function(T){var S=h();return t(S[0],S[S.length-1],T??10)},c.tickFormat=function(T,S){return S==null?_:u(S)},c.nice=function(T){var S=h();return(!T||typeof T.range!="function")&&(T=e(S[0],S[S.length-1],T??10)),T?h(Ib(S,T)):c},c.copy=function(){return Ho(c,Kh(t,e,n,r,i,o,a,s,l,u))},c}function Z9(){return $e.apply(Kh(fx,hx,Ze,Rl,wi,Si,Ll,Cl,dn,qh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function K9(){return $e.apply(Kh(ux,cx,Ke,El,Ti,jo,kl,Ml,dn,Il).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Bl(){var t=0,e=1,n,r,i,o,a=ne,s=!1,l;function u(f){return f==null||isNaN(f=+f)?l:a(i===0?.5:(f=(o(f)-n)*i,s?Math.max(0,Math.min(1,f)):f))}u.domain=function(f){return arguments.length?([t,e]=f,n=o(t=+t),r=o(e=+e),i=n===r?0:1/(r-n),u):[t,e]},u.clamp=function(f){return arguments.length?(s=!!f,u):s},u.interpolator=function(f){return arguments.length?(a=f,u):a};function c(f){return function(h){var p,d;return arguments.length?([p,d]=h,a=f(p,d),u):[a(0),a(1)]}}return u.range=c(en),u.rangeRound=c(ys),u.unknown=function(f){return arguments.length?(l=f,u):l},function(f){return o=f,n=f(t),r=f(e),i=n===r?0:1/(r-n),u}}function Mn(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Lx(){var t=Cn(Bl()(ne));return t.copy=function(){return Mn(t,Lx())},cn.apply(t,arguments)}function kx(){var t=Oh(Bl()).domain([1,10]);return t.copy=function(){return Mn(t,kx()).base(t.base())},cn.apply(t,arguments)}function Rx(){var t=zh(Bl());return t.copy=function(){return Mn(t,Rx()).constant(t.constant())},cn.apply(t,arguments)}function Qh(){var t=Gh(Bl());return t.copy=function(){return Mn(t,Qh()).exponent(t.exponent())},cn.apply(t,arguments)}function Q9(){return Qh.apply(null,arguments).exponent(.5)}function Ex(){var t=[],e=ne;function n(r){if(r!=null&&!isNaN(r=+r))return e((Vn(t,r,1)-1)/(t.length-1))}return n.domain=function(r){if(!arguments.length)return t.slice();t=[];for(let i of r)i!=null&&!isNaN(i=+i)&&t.push(i);return t.sort(St),n},n.interpolator=function(r){return arguments.length?(e=r,n):e},n.range=function(){return t.map((r,i)=>e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,o)=>no(t,o/r))},n.copy=function(){return Ex(e).domain(t)},cn.apply(n,arguments)}function Nl(){var t=0,e=.5,n=1,r=1,i,o,a,s,l,u=ne,c,f=!1,h;function p(m){return isNaN(m=+m)?h:(m=.5+((m=+c(m))-o)*(r*m<r*o?s:l),u(f?Math.max(0,Math.min(1,m)):m))}p.domain=function(m){return arguments.length?([t,e,n]=m,i=c(t=+t),o=c(e=+e),a=c(n=+n),s=i===o?0:.5/(o-i),l=o===a?0:.5/(a-o),r=o<i?-1:1,p):[t,e,n]},p.clamp=function(m){return arguments.length?(f=!!m,p):f},p.interpolator=function(m){return arguments.length?(u=m,p):u};function d(m){return function(g){var y,b,v;return arguments.length?([y,b,v]=g,u=Bm(m,[y,b,v]),p):[u(0),u(.5),u(1)]}}return p.range=d(en),p.rangeRound=d(ys),p.unknown=function(m){return arguments.length?(h=m,p):h},function(m){return c=m,i=m(t),o=m(e),a=m(n),s=i===o?0:.5/(o-i),l=o===a?0:.5/(a-o),r=o<i?-1:1,p}}function Ix(){var t=Cn(Nl()(ne));return t.copy=function(){return Mn(t,Ix())},cn.apply(t,arguments)}function Bx(){var t=Oh(Nl()).domain([.1,1,10]);return t.copy=function(){return Mn(t,Bx()).base(t.base())},cn.apply(t,arguments)}function Nx(){var t=zh(Nl());return t.copy=function(){return Mn(t,Nx()).constant(t.constant())},cn.apply(t,arguments)}function Jh(){var t=Gh(Nl());return t.copy=function(){return Mn(t,Jh()).exponent(t.exponent())},cn.apply(t,arguments)}function J9(){return Jh.apply(null,arguments).exponent(.5)}function ct(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}const tR=ct("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),eR=ct("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),nR=ct("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),rR=ct("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),iR=ct("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),oR=ct("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),aR=ct("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),sR=ct("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),lR=ct("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),uR=ct("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),cR=ct("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),$t=t=>$m(t[t.length-1]);var Fx=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(ct);const fR=$t(Fx);var Ox=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(ct);const hR=$t(Ox);var zx=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(ct);const pR=$t(zx);var Gx=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(ct);const dR=$t(Gx);var Yx=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(ct);const gR=$t(Yx);var Xx=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(ct);const mR=$t(Xx);var Wx=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(ct);const yR=$t(Wx);var Vx=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(ct);const bR=$t(Vx);var Ux=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(ct);const xR=$t(Ux);var Hx=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(ct);const vR=$t(Hx);var jx=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(ct);const $R=$t(jx);var qx=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(ct);const _R=$t(qx);var Zx=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(ct);const SR=$t(Zx);var Kx=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(ct);const wR=$t(Kx);var Qx=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(ct);const TR=$t(Qx);var Jx=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(ct);const AR=$t(Jx);var tv=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(ct);const PR=$t(tv);var ev=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(ct);const DR=$t(ev);var nv=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(ct);const CR=$t(nv);var rv=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(ct);const MR=$t(rv);var iv=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(ct);const LR=$t(iv);var ov=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(ct);const kR=$t(ov);var av=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(ct);const RR=$t(av);var sv=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(ct);const ER=$t(sv);var lv=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(ct);const IR=$t(lv);var uv=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(ct);const BR=$t(uv);var cv=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(ct);const NR=$t(cv);function FR(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}const OR=xs(ke(300,.5,0),ke(-240,.5,1));var zR=xs(ke(-100,.75,.35),ke(80,1.5,.8)),GR=xs(ke(260,.75,.35),ke(80,1.5,.8)),Fl=ke();function YR(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Fl.h=360*t-100,Fl.s=1.5-1.5*e,Fl.l=.8-.9*e,Fl+""}var Ol=Jr(),XR=Math.PI/3,WR=Math.PI*2/3;function VR(t){var e;return t=(.5-t)*Math.PI,Ol.r=255*(e=Math.sin(t))*e,Ol.g=255*(e=Math.sin(t+XR))*e,Ol.b=255*(e=Math.sin(t+WR))*e,Ol+""}function UR(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function zl(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}const HR=zl(ct("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var jR=zl(ct("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),qR=zl(ct("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),ZR=zl(ct("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ut(t){return function(){return t}}const fv=Math.abs,Wt=Math.atan2,gn=Math.cos,KR=Math.max,Pi=Math.min,ue=Math.sin,_t=Math.sqrt,Vt=1e-12,Ln=Math.PI,Gl=Ln/2,kn=2*Ln;function QR(t){return t>1?0:t<-1?Ln:Math.acos(t)}function hv(t){return t>=1?Gl:t<=-1?-Gl:Math.asin(t)}function ta(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new vo(e)}function JR(t){return t.innerRadius}function tE(t){return t.outerRadius}function eE(t){return t.startAngle}function nE(t){return t.endAngle}function rE(t){return t&&t.padAngle}function iE(t,e,n,r,i,o,a,s){var l=n-t,u=r-e,c=a-i,f=s-o,h=f*l-c*u;if(!(h*h<Vt))return h=(c*(e-o)-f*(t-i))/h,[t+h*l,e+h*u]}function Yl(t,e,n,r,i,o,a){var s=t-n,l=e-r,u=(a?o:-o)/_t(s*s+l*l),c=u*l,f=-u*s,h=t+c,p=e+f,d=n+c,m=r+f,g=(h+d)/2,y=(p+m)/2,b=d-h,v=m-p,x=b*b+v*v,_=i-o,T=h*m-d*p,S=(v<0?-1:1)*_t(KR(0,_*_*x-T*T)),A=(T*v-b*S)/x,P=(-T*b-v*S)/x,B=(T*v+b*S)/x,$=(-T*b+v*S)/x,k=A-g,D=P-y,w=B-g,M=$-y;return k*k+D*D>w*w+M*M&&(A=B,P=$),{cx:A,cy:P,x01:-c,y01:-f,x11:A*(i/_-1),y11:P*(i/_-1)}}function Xl(){var t=JR,e=tE,n=ut(0),r=null,i=eE,o=nE,a=rE,s=null,l=ta(u);function u(){var c,f,h=+t.apply(this,arguments),p=+e.apply(this,arguments),d=i.apply(this,arguments)-Gl,m=o.apply(this,arguments)-Gl,g=fv(m-d),y=m>d;if(s||(s=c=l()),p<h&&(f=p,p=h,h=f),!(p>Vt))s.moveTo(0,0);else if(g>kn-Vt)s.moveTo(p*gn(d),p*ue(d)),s.arc(0,0,p,d,m,!y),h>Vt&&(s.moveTo(h*gn(m),h*ue(m)),s.arc(0,0,h,m,d,y));else{var b=d,v=m,x=d,_=m,T=g,S=g,A=a.apply(this,arguments)/2,P=A>Vt&&(r?+r.apply(this,arguments):_t(h*h+p*p)),B=Pi(fv(p-h)/2,+n.apply(this,arguments)),$=B,k=B,D,w;if(P>Vt){var M=hv(P/h*ue(A)),C=hv(P/p*ue(A));(T-=M*2)>Vt?(M*=y?1:-1,x+=M,_-=M):(T=0,x=_=(d+m)/2),(S-=C*2)>Vt?(C*=y?1:-1,b+=C,v-=C):(S=0,b=v=(d+m)/2)}var X=p*gn(b),O=p*ue(b),I=h*gn(_),N=h*ue(_);if(B>Vt){var R=p*gn(v),F=p*ue(v),H=h*gn(x),it=h*ue(x),z;if(g<Ln)if(z=iE(X,O,H,it,R,F,I,N)){var Q=X-z[0],W=O-z[1],Z=R-z[0],q=F-z[1],nt=1/ue(QR((Q*Z+W*q)/(_t(Q*Q+W*W)*_t(Z*Z+q*q)))/2),st=_t(z[0]*z[0]+z[1]*z[1]);$=Pi(B,(h-st)/(nt-1)),k=Pi(B,(p-st)/(nt+1))}else $=k=0}S>Vt?k>Vt?(D=Yl(H,it,X,O,p,k,y),w=Yl(R,F,I,N,p,k,y),s.moveTo(D.cx+D.x01,D.cy+D.y01),k<B?s.arc(D.cx,D.cy,k,Wt(D.y01,D.x01),Wt(w.y01,w.x01),!y):(s.arc(D.cx,D.cy,k,Wt(D.y01,D.x01),Wt(D.y11,D.x11),!y),s.arc(0,0,p,Wt(D.cy+D.y11,D.cx+D.x11),Wt(w.cy+w.y11,w.cx+w.x11),!y),s.arc(w.cx,w.cy,k,Wt(w.y11,w.x11),Wt(w.y01,w.x01),!y))):(s.moveTo(X,O),s.arc(0,0,p,b,v,!y)):s.moveTo(X,O),!(h>Vt)||!(T>Vt)?s.lineTo(I,N):$>Vt?(D=Yl(I,N,R,F,h,-$,y),w=Yl(X,O,H,it,h,-$,y),s.lineTo(D.cx+D.x01,D.cy+D.y01),$<B?s.arc(D.cx,D.cy,$,Wt(D.y01,D.x01),Wt(w.y01,w.x01),!y):(s.arc(D.cx,D.cy,$,Wt(D.y01,D.x01),Wt(D.y11,D.x11),!y),s.arc(0,0,h,Wt(D.cy+D.y11,D.cx+D.x11),Wt(w.cy+w.y11,w.cx+w.x11),y),s.arc(w.cx,w.cy,$,Wt(w.y11,w.x11),Wt(w.y01,w.x01),!y))):s.arc(0,0,h,_,x,y)}if(s.closePath(),c)return s=null,c+""||null}return u.centroid=function(){var c=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,f=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-Ln/2;return[gn(f)*c,ue(f)*c]},u.innerRadius=function(c){return arguments.length?(t=typeof c=="function"?c:ut(+c),u):t},u.outerRadius=function(c){return arguments.length?(e=typeof c=="function"?c:ut(+c),u):e},u.cornerRadius=function(c){return arguments.length?(n=typeof c=="function"?c:ut(+c),u):n},u.padRadius=function(c){return arguments.length?(r=c==null?null:typeof c=="function"?c:ut(+c),u):r},u.startAngle=function(c){return arguments.length?(i=typeof c=="function"?c:ut(+c),u):i},u.endAngle=function(c){return arguments.length?(o=typeof c=="function"?c:ut(+c),u):o},u.padAngle=function(c){return arguments.length?(a=typeof c=="function"?c:ut(+c),u):a},u.context=function(c){return arguments.length?(s=c??null,u):s},u}var oE=Array.prototype.slice;function Wl(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function pv(t){this._context=t}pv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Vl(t){return new pv(t)}function tp(t){return t[0]}function ep(t){return t[1]}function Ul(t,e){var n=ut(!0),r=null,i=Vl,o=null,a=ta(s);t=typeof t=="function"?t:t===void 0?tp:ut(t),e=typeof e=="function"?e:e===void 0?ep:ut(e);function s(l){var u,c=(l=Wl(l)).length,f,h=!1,p;for(r==null&&(o=i(p=a())),u=0;u<=c;++u)!(u<c&&n(f=l[u],u,l))===h&&((h=!h)?o.lineStart():o.lineEnd()),h&&o.point(+t(f,u,l),+e(f,u,l));if(p)return o=null,p+""||null}return s.x=function(l){return arguments.length?(t=typeof l=="function"?l:ut(+l),s):t},s.y=function(l){return arguments.length?(e=typeof l=="function"?l:ut(+l),s):e},s.defined=function(l){return arguments.length?(n=typeof l=="function"?l:ut(!!l),s):n},s.curve=function(l){return arguments.length?(i=l,r!=null&&(o=i(r)),s):i},s.context=function(l){return arguments.length?(l==null?r=o=null:o=i(r=l),s):r},s}function np(t,e,n){var r=null,i=ut(!0),o=null,a=Vl,s=null,l=ta(u);t=typeof t=="function"?t:t===void 0?tp:ut(+t),e=typeof e=="function"?e:ut(e===void 0?0:+e),n=typeof n=="function"?n:n===void 0?ep:ut(+n);function u(f){var h,p,d,m=(f=Wl(f)).length,g,y=!1,b,v=new Array(m),x=new Array(m);for(o==null&&(s=a(b=l())),h=0;h<=m;++h){if(!(h<m&&i(g=f[h],h,f))===y)if(y=!y)p=h,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),d=h-1;d>=p;--d)s.point(v[d],x[d]);s.lineEnd(),s.areaEnd()}y&&(v[h]=+t(g,h,f),x[h]=+e(g,h,f),s.point(r?+r(g,h,f):v[h],n?+n(g,h,f):x[h]))}if(b)return s=null,b+""||null}function c(){return Ul().defined(i).curve(a).context(o)}return u.x=function(f){return arguments.length?(t=typeof f=="function"?f:ut(+f),r=null,u):t},u.x0=function(f){return arguments.length?(t=typeof f=="function"?f:ut(+f),u):t},u.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ut(+f),u):r},u.y=function(f){return arguments.length?(e=typeof f=="function"?f:ut(+f),n=null,u):e},u.y0=function(f){return arguments.length?(e=typeof f=="function"?f:ut(+f),u):e},u.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ut(+f),u):n},u.lineX0=u.lineY0=function(){return c().x(t).y(e)},u.lineY1=function(){return c().x(t).y(n)},u.lineX1=function(){return c().x(r).y(e)},u.defined=function(f){return arguments.length?(i=typeof f=="function"?f:ut(!!f),u):i},u.curve=function(f){return arguments.length?(a=f,o!=null&&(s=a(o)),u):a},u.context=function(f){return arguments.length?(f==null?o=s=null:s=a(o=f),u):o},u}function aE(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function sE(t){return t}function dv(){var t=sE,e=aE,n=null,r=ut(0),i=ut(kn),o=ut(0);function a(s){var l,u=(s=Wl(s)).length,c,f,h=0,p=new Array(u),d=new Array(u),m=+r.apply(this,arguments),g=Math.min(kn,Math.max(-kn,i.apply(this,arguments)-m)),y,b=Math.min(Math.abs(g)/u,o.apply(this,arguments)),v=b*(g<0?-1:1),x;for(l=0;l<u;++l)(x=d[p[l]=l]=+t(s[l],l,s))>0&&(h+=x);for(e!=null?p.sort(function(_,T){return e(d[_],d[T])}):n!=null&&p.sort(function(_,T){return n(s[_],s[T])}),l=0,f=h?(g-u*v)/h:0;l<u;++l,m=y)c=p[l],x=d[c],y=m+(x>0?x*f:0)+v,d[c]={data:s[c],index:l,value:x,startAngle:m,endAngle:y,padAngle:b};return d}return a.value=function(s){return arguments.length?(t=typeof s=="function"?s:ut(+s),a):t},a.sortValues=function(s){return arguments.length?(e=s,n=null,a):e},a.sort=function(s){return arguments.length?(n=s,e=null,a):n},a.startAngle=function(s){return arguments.length?(r=typeof s=="function"?s:ut(+s),a):r},a.endAngle=function(s){return arguments.length?(i=typeof s=="function"?s:ut(+s),a):i},a.padAngle=function(s){return arguments.length?(o=typeof s=="function"?s:ut(+s),a):o},a}var gv=rp(Vl);function mv(t){this._curve=t}mv.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function rp(t){function e(n){return new mv(t(n))}return e._curve=t,e}function ea(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(n){return arguments.length?e(rp(n)):e()._curve},t}function yv(){return ea(Ul().curve(gv))}function bv(){var t=np().curve(gv),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return ea(n())},delete t.lineX0,t.lineEndAngle=function(){return ea(r())},delete t.lineX1,t.lineInnerRadius=function(){return ea(i())},delete t.lineY0,t.lineOuterRadius=function(){return ea(o())},delete t.lineY1,t.curve=function(a){return arguments.length?e(rp(a)):e()._curve},t}function na(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}class xv{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}class lE{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,n){if(e=+e,n=+n,this._point===0)this._point=1;else{const r=na(this._x0,this._y0),i=na(this._x0,this._y0=(this._y0+n)/2),o=na(e,this._y0),a=na(e,n);this._context.moveTo(...r),this._context.bezierCurveTo(...i,...o,...a)}this._x0=e,this._y0=n}}function vv(t){return new xv(t,!0)}function $v(t){return new xv(t,!1)}function uE(t){return new lE(t)}function cE(t){return t.source}function fE(t){return t.target}function Hl(t){let e=cE,n=fE,r=tp,i=ep,o=null,a=null,s=ta(l);function l(){let u;const c=oE.call(arguments),f=e.apply(this,c),h=n.apply(this,c);if(o==null&&(a=t(u=s())),a.lineStart(),c[0]=f,a.point(+r.apply(this,c),+i.apply(this,c)),c[0]=h,a.point(+r.apply(this,c),+i.apply(this,c)),a.lineEnd(),u)return a=null,u+""||null}return l.source=function(u){return arguments.length?(e=u,l):e},l.target=function(u){return arguments.length?(n=u,l):n},l.x=function(u){return arguments.length?(r=typeof u=="function"?u:ut(+u),l):r},l.y=function(u){return arguments.length?(i=typeof u=="function"?u:ut(+u),l):i},l.context=function(u){return arguments.length?(u==null?o=a=null:a=t(o=u),l):o},l}function hE(){return Hl(vv)}function pE(){return Hl($v)}function dE(){const t=Hl(uE);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const gE=_t(3),_v={draw(t,e){const n=_t(e+Pi(e/28,.75))*.59436,r=n/2,i=r*gE;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-i,-r),t.lineTo(i,r),t.moveTo(-i,r),t.lineTo(i,-r)}},jl={draw(t,e){const n=_t(e/Ln);t.moveTo(n,0),t.arc(0,0,n,0,kn)}},Sv={draw(t,e){const n=_t(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},wv=_t(1/3),mE=wv*2,Tv={draw(t,e){const n=_t(e/mE),r=n*wv;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},Av={draw(t,e){const n=_t(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}},Pv={draw(t,e){const n=_t(e-Pi(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}},Dv={draw(t,e){const n=_t(e),r=-n/2;t.rect(r,r,n,n)}},Cv={draw(t,e){const n=_t(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}},yE=.8908130915292852,Mv=ue(Ln/10)/ue(7*Ln/10),bE=ue(kn/10)*Mv,xE=-gn(kn/10)*Mv,Lv={draw(t,e){const n=_t(e*yE),r=bE*n,i=xE*n;t.moveTo(0,-n),t.lineTo(r,i);for(let o=1;o<5;++o){const a=kn*o/5,s=gn(a),l=ue(a);t.lineTo(l*n,-s*n),t.lineTo(s*r-l*i,l*r+s*i)}t.closePath()}},ip=_t(3),kv={draw(t,e){const n=-_t(e/(ip*3));t.moveTo(0,n*2),t.lineTo(-ip*n,-n),t.lineTo(ip*n,-n),t.closePath()}},vE=_t(3),Rv={draw(t,e){const n=_t(e)*.6824,r=n/2,i=n*vE/2;t.moveTo(0,-n),t.lineTo(i,r),t.lineTo(-i,r),t.closePath()}},Se=-.5,we=_t(3)/2,op=1/_t(12),$E=(op/2+1)*3,Ev={draw(t,e){const n=_t(e/$E),r=n/2,i=n*op,o=r,a=n*op+n,s=-o,l=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(s,l),t.lineTo(Se*r-we*i,we*r+Se*i),t.lineTo(Se*o-we*a,we*o+Se*a),t.lineTo(Se*s-we*l,we*s+Se*l),t.lineTo(Se*r+we*i,Se*i-we*r),t.lineTo(Se*o+we*a,Se*a-we*o),t.lineTo(Se*s+we*l,Se*l-we*s),t.closePath()}},ap={draw(t,e){const n=_t(e-Pi(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}},Iv=[jl,Sv,Tv,Dv,Lv,kv,Ev],_E=[jl,Pv,ap,Rv,_v,Cv,Av];function SE(t,e){let n=null,r=ta(i);t=typeof t=="function"?t:ut(t||jl),e=typeof e=="function"?e:ut(e===void 0?64:+e);function i(){let o;if(n||(n=o=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),o)return n=null,o+""||null}return i.type=function(o){return arguments.length?(t=typeof o=="function"?o:ut(o),i):t},i.size=function(o){return arguments.length?(e=typeof o=="function"?o:ut(+o),i):e},i.context=function(o){return arguments.length?(n=o??null,i):n},i}function Rn(){}function ql(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Zl(t){this._context=t}Zl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ql(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ql(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function wE(t){return new Zl(t)}function Bv(t){this._context=t}Bv.prototype={areaStart:Rn,areaEnd:Rn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ql(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function TE(t){return new Bv(t)}function Nv(t){this._context=t}Nv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:ql(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function AE(t){return new Nv(t)}function Fv(t,e){this._basis=new Zl(t),this._beta=e}Fv.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],i=e[0],o=t[n]-r,a=e[n]-i,s=-1,l;++s<=n;)l=s/n,this._basis.point(this._beta*t[s]+(1-this._beta)*(r+l*o),this._beta*e[s]+(1-this._beta)*(i+l*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const PE=function t(e){function n(r){return e===1?new Zl(r):new Fv(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function Kl(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function sp(t,e){this._context=t,this._k=(1-e)/6}sp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Kl(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Kl(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const DE=function t(e){function n(r){return new sp(r,e)}return n.tension=function(r){return t(+r)},n}(0);function lp(t,e){this._context=t,this._k=(1-e)/6}lp.prototype={areaStart:Rn,areaEnd:Rn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Kl(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const CE=function t(e){function n(r){return new lp(r,e)}return n.tension=function(r){return t(+r)},n}(0);function up(t,e){this._context=t,this._k=(1-e)/6}up.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Kl(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ME=function t(e){function n(r){return new up(r,e)}return n.tension=function(r){return t(+r)},n}(0);function cp(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>Vt){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Vt){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*u+t._x1*t._l23_2a-e*t._l12_2a)/c,a=(a*u+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function Ov(t,e){this._context=t,this._alpha=e}Ov.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:cp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const LE=function t(e){function n(r){return e?new Ov(r,e):new sp(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function zv(t,e){this._context=t,this._alpha=e}zv.prototype={areaStart:Rn,areaEnd:Rn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:cp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const kE=function t(e){function n(r){return e?new zv(r,e):new lp(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function Gv(t,e){this._context=t,this._alpha=e}Gv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:cp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const RE=function t(e){function n(r){return e?new Gv(r,e):new up(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function Yv(t){this._context=t}Yv.prototype={areaStart:Rn,areaEnd:Rn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function EE(t){return new Yv(t)}function Xv(t){return t<0?-1:1}function Wv(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(Xv(o)+Xv(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function Vv(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function fp(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,s=(o-r)/3;t._context.bezierCurveTo(r+s,i+s*e,o-s,a-s*n,o,a)}function Ql(t){this._context=t}Ql.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:fp(this,this._t0,Vv(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,fp(this,Vv(this,n=Wv(this,t,e)),n);break;default:fp(this,this._t0,n=Wv(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function Uv(t){this._context=new Hv(t)}(Uv.prototype=Object.create(Ql.prototype)).point=function(t,e){Ql.prototype.point.call(this,e,t)};function Hv(t){this._context=t}Hv.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,o){this._context.bezierCurveTo(e,t,r,n,o,i)}};function IE(t){return new Ql(t)}function BE(t){return new Uv(t)}function jv(t){this._context=t}jv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=qv(t),i=qv(e),o=0,a=1;a<n;++o,++a)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[a],e[a]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function qv(t){var e,n=t.length-1,r,i=new Array(n),o=new Array(n),a=new Array(n);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e<n-1;++e)i[e]=1,o[e]=4,a[e]=4*t[e]+2*t[e+1];for(i[n-1]=2,o[n-1]=7,a[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=i[e]/o[e-1],o[e]-=r,a[e]-=r*a[e-1];for(i[n-1]=a[n-1]/o[n-1],e=n-2;e>=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[n-1]=(t[n]+i[n-1])/2,e=0;e<n-1;++e)o[e]=2*t[e+1]-i[e+1];return[i,o]}function NE(t){return new jv(t)}function Jl(t,e){this._context=t,this._t=e}Jl.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function FE(t){return new Jl(t,.5)}function OE(t){return new Jl(t,0)}function zE(t){return new Jl(t,1)}function Di(t,e){if((a=t.length)>1)for(var n=1,r,i,o=t[e[0]],a,s=o.length;n<a;++n)for(i=o,o=t[e[n]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Ci(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function GE(t,e){return t[e]}function YE(t){const e=[];return e.key=t,e}function XE(){var t=ut([]),e=Ci,n=Di,r=GE;function i(o){var a=Array.from(t.apply(this,arguments),YE),s,l=a.length,u=-1,c;for(const f of o)for(s=0,++u;s<l;++s)(a[s][u]=[0,+r(f,a[s].key,u,o)]).data=f;for(s=0,c=Wl(e(a));s<l;++s)a[c[s]].index=s;return n(a,c),a}return i.keys=function(o){return arguments.length?(t=typeof o=="function"?o:ut(Array.from(o)),i):t},i.value=function(o){return arguments.length?(r=typeof o=="function"?o:ut(+o),i):r},i.order=function(o){return arguments.length?(e=o==null?Ci:typeof o=="function"?o:ut(Array.from(o)),i):e},i.offset=function(o){return arguments.length?(n=o??Di,i):n},i}function WE(t,e){if((r=t.length)>0){for(var n,r,i=0,o=t[0].length,a;i<o;++i){for(a=n=0;n<r;++n)a+=t[n][i][1]||0;if(a)for(n=0;n<r;++n)t[n][i][1]/=a}Di(t,e)}}function VE(t,e){if((l=t.length)>0)for(var n,r=0,i,o,a,s,l,u=t[e[0]].length;r<u;++r)for(a=s=0,n=0;n<l;++n)(o=(i=t[e[n]][r])[1]-i[0])>0?(i[0]=a,i[1]=a+=o):o<0?(i[1]=s,i[0]=s+=o):(i[0]=0,i[1]=o)}function UE(t,e){if((i=t.length)>0){for(var n=0,r=t[e[0]],i,o=r.length;n<o;++n){for(var a=0,s=0;a<i;++a)s+=t[a][n][1]||0;r[n][1]+=r[n][0]=-s/2}Di(t,e)}}function HE(t,e){if(!(!((a=t.length)>0)||!((o=(i=t[e[0]]).length)>0))){for(var n=0,r=1,i,o,a;r<o;++r){for(var s=0,l=0,u=0;s<a;++s){for(var c=t[e[s]],f=c[r][1]||0,h=c[r-1][1]||0,p=(f-h)/2,d=0;d<s;++d){var m=t[e[d]],g=m[r][1]||0,y=m[r-1][1]||0;p+=g-y}l+=f,u+=p*f}i[r-1][1]+=i[r-1][0]=n,l&&(n-=u/l)}i[r-1][1]+=i[r-1][0]=n,Di(t,e)}}function Zv(t){var e=t.map(jE);return Ci(t).sort(function(n,r){return e[n]-e[r]})}function jE(t){for(var e=-1,n=0,r=t.length,i,o=-1/0;++e<r;)(i=+t[e][1])>o&&(o=i,n=e);return n}function Kv(t){var e=t.map(Qv);return Ci(t).sort(function(n,r){return e[n]-e[r]})}function Qv(t){for(var e=0,n=-1,r=t.length,i;++n<r;)(i=+t[n][1])&&(e+=i);return e}function qE(t){return Kv(t).reverse()}function ZE(t){var e=t.length,n,r,i=t.map(Qv),o=Zv(t),a=0,s=0,l=[],u=[];for(n=0;n<e;++n)r=o[n],a<s?(a+=i[r],l.push(r)):(s+=i[r],u.push(r));return u.reverse().concat(l)}function KE(t){return Ci(t).reverse()}const tu=t=>()=>t;function QE(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Qe(t,e,n){this.k=t,this.x=e,this.y=n}Qe.prototype={constructor:Qe,scale:function(t){return t===1?this:new Qe(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qe(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ra=new Qe(1,0,0);Jv.prototype=Qe.prototype;function Jv(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ra;return t.__zoom}function hp(t){t.stopImmediatePropagation()}function ia(t){t.preventDefault(),t.stopImmediatePropagation()}function JE(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function tI(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function t$(){return this.__zoom||ra}function eI(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function nI(){return navigator.maxTouchPoints||"ontouchstart"in this}function rI(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function vr(){var t=JE,e=tI,n=rI,r=eI,i=nI,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,l=km,u=qn("start","zoom","end"),c,f,h,p=500,d=150,m=0,g=10;function y(w){w.property("__zoom",t$).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",P).on("dblclick.zoom",B).filter(i).on("touchstart.zoom",$).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",D).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(w,M,C,X){var O=w.selection?w.selection():w;O.property("__zoom",t$),w!==O?_(w,M,C,X):O.interrupt().each(function(){T(this,arguments).event(X).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},y.scaleBy=function(w,M,C,X){y.scaleTo(w,function(){var O=this.__zoom.k,I=typeof M=="function"?M.apply(this,arguments):M;return O*I},C,X)},y.scaleTo=function(w,M,C,X){y.transform(w,function(){var O=e.apply(this,arguments),I=this.__zoom,N=C==null?x(O):typeof C=="function"?C.apply(this,arguments):C,R=I.invert(N),F=typeof M=="function"?M.apply(this,arguments):M;return n(v(b(I,F),N,R),O,a)},C,X)},y.translateBy=function(w,M,C,X){y.transform(w,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof C=="function"?C.apply(this,arguments):C),e.apply(this,arguments),a)},null,X)},y.translateTo=function(w,M,C,X,O){y.transform(w,function(){var I=e.apply(this,arguments),N=this.__zoom,R=X==null?x(I):typeof X=="function"?X.apply(this,arguments):X;return n(ra.translate(R[0],R[1]).scale(N.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof C=="function"?-C.apply(this,arguments):-C),I,a)},X,O)};function b(w,M){return M=Math.max(o[0],Math.min(o[1],M)),M===w.k?w:new Qe(M,w.x,w.y)}function v(w,M,C){var X=M[0]-C[0]*w.k,O=M[1]-C[1]*w.k;return X===w.x&&O===w.y?w:new Qe(w.k,X,O)}function x(w){return[(+w[0][0]+ +w[1][0])/2,(+w[0][1]+ +w[1][1])/2]}function _(w,M,C,X){w.on("start.zoom",function(){T(this,arguments).event(X).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(X).end()}).tween("zoom",function(){var O=this,I=arguments,N=T(O,I).event(X),R=e.apply(O,I),F=C==null?x(R):typeof C=="function"?C.apply(O,I):C,H=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),it=O.__zoom,z=typeof M=="function"?M.apply(O,I):M,Q=l(it.invert(F).concat(H/it.k),z.invert(F).concat(H/z.k));return function(W){if(W===1)W=z;else{var Z=Q(W),q=H/Z[2];W=new Qe(q,F[0]-Z[0]*q,F[1]-Z[1]*q)}N.zoom(null,W)}})}function T(w,M,C){return!C&&w.__zooming||new S(w,M)}function S(w,M){this.that=w,this.args=M,this.active=0,this.sourceEvent=null,this.extent=e.apply(w,M),this.taps=0}S.prototype={event:function(w){return w&&(this.sourceEvent=w),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(w,M){return this.mouse&&w!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&w!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&w!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(w){var M=V(this.that).datum();u.call(w,this.that,new QE(w,{sourceEvent:this.sourceEvent,target:y,type:w,transform:this.that.__zoom,dispatch:u}),M)}};function A(w,...M){if(!t.apply(this,arguments))return;var C=T(this,M).event(w),X=this.__zoom,O=Math.max(o[0],Math.min(o[1],X.k*Math.pow(2,r.apply(this,arguments)))),I=de(w);if(C.wheel)(C.mouse[0][0]!==I[0]||C.mouse[0][1]!==I[1])&&(C.mouse[1]=X.invert(C.mouse[0]=I)),clearTimeout(C.wheel);else{if(X.k===O)return;C.mouse=[I,X.invert(I)],rr(this),C.start()}ia(w),C.wheel=setTimeout(N,d),C.zoom("mouse",n(v(b(X,O),C.mouse[0],C.mouse[1]),C.extent,a));function N(){C.wheel=null,C.end()}}function P(w,...M){if(h||!t.apply(this,arguments))return;var C=w.currentTarget,X=T(this,M,!0).event(w),O=V(w.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",H,!0),I=de(w,C),N=w.clientX,R=w.clientY;is(w.view),hp(w),X.mouse=[I,this.__zoom.invert(I)],rr(this),X.start();function F(it){if(ia(it),!X.moved){var z=it.clientX-N,Q=it.clientY-R;X.moved=z*z+Q*Q>m}X.event(it).zoom("mouse",n(v(X.that.__zoom,X.mouse[0]=de(it,C),X.mouse[1]),X.extent,a))}function H(it){O.on("mousemove.zoom mouseup.zoom",null),os(it.view,X.moved),ia(it),X.event(it).end()}}function B(w,...M){if(t.apply(this,arguments)){var C=this.__zoom,X=de(w.changedTouches?w.changedTouches[0]:w,this),O=C.invert(X),I=C.k*(w.shiftKey?.5:2),N=n(v(b(C,I),X,O),e.apply(this,M),a);ia(w),s>0?V(this).transition().duration(s).call(_,N,X,w):V(this).call(y.transform,N,X,w)}}function $(w,...M){if(t.apply(this,arguments)){var C=w.touches,X=C.length,O=T(this,M,w.changedTouches.length===X).event(w),I,N,R,F;for(hp(w),N=0;N<X;++N)R=C[N],F=de(R,this),F=[F,this.__zoom.invert(F),R.identifier],O.touch0?!O.touch1&&O.touch0[2]!==F[2]&&(O.touch1=F,O.taps=0):(O.touch0=F,I=!0,O.taps=1+!!c);c&&(c=clearTimeout(c)),I&&(O.taps<2&&(f=F[0],c=setTimeout(function(){c=null},p)),rr(this),O.start())}}function k(w,...M){if(this.__zooming){var C=T(this,M).event(w),X=w.changedTouches,O=X.length,I,N,R,F;for(ia(w),I=0;I<O;++I)N=X[I],R=de(N,this),C.touch0&&C.touch0[2]===N.identifier?C.touch0[0]=R:C.touch1&&C.touch1[2]===N.identifier&&(C.touch1[0]=R);if(N=C.that.__zoom,C.touch1){var H=C.touch0[0],it=C.touch0[1],z=C.touch1[0],Q=C.touch1[1],W=(W=z[0]-H[0])*W+(W=z[1]-H[1])*W,Z=(Z=Q[0]-it[0])*Z+(Z=Q[1]-it[1])*Z;N=b(N,Math.sqrt(W/Z)),R=[(H[0]+z[0])/2,(H[1]+z[1])/2],F=[(it[0]+Q[0])/2,(it[1]+Q[1])/2]}else if(C.touch0)R=C.touch0[0],F=C.touch0[1];else return;C.zoom("touch",n(v(N,R,F),C.extent,a))}}function D(w,...M){if(this.__zooming){var C=T(this,M).event(w),X=w.changedTouches,O=X.length,I,N;for(hp(w),h&&clearTimeout(h),h=setTimeout(function(){h=null},p),I=0;I<O;++I)N=X[I],C.touch0&&C.touch0[2]===N.identifier?delete C.touch0:C.touch1&&C.touch1[2]===N.identifier&&delete C.touch1;if(C.touch1&&!C.touch0&&(C.touch0=C.touch1,delete C.touch1),C.touch0)C.touch0[1]=this.__zoom.invert(C.touch0[0]);else if(C.end(),C.taps===2&&(N=de(N,this),Math.hypot(f[0]-N[0],f[1]-N[1])<g)){var R=V(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return y.wheelDelta=function(w){return arguments.length?(r=typeof w=="function"?w:tu(+w),y):r},y.filter=function(w){return arguments.length?(t=typeof w=="function"?w:tu(!!w),y):t},y.touchable=function(w){return arguments.length?(i=typeof w=="function"?w:tu(!!w),y):i},y.extent=function(w){return arguments.length?(e=typeof w=="function"?w:tu([[+w[0][0],+w[0][1]],[+w[1][0],+w[1][1]]]),y):e},y.scaleExtent=function(w){return arguments.length?(o[0]=+w[0],o[1]=+w[1],y):[o[0],o[1]]},y.translateExtent=function(w){return arguments.length?(a[0][0]=+w[0][0],a[1][0]=+w[1][0],a[0][1]=+w[0][1],a[1][1]=+w[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(w){return arguments.length?(n=w,y):n},y.duration=function(w){return arguments.length?(s=+w,y):s},y.interpolate=function(w){return arguments.length?(l=w,y):l},y.on=function(){var w=u.on.apply(u,arguments);return w===u?y:w},y.clickDistance=function(w){return arguments.length?(m=(w=+w)*w,y):Math.sqrt(m)},y.tapDistance=function(w){return arguments.length?(g=+w,y):g},y}const pp=Object.freeze(Object.defineProperty({__proto__:null,Adder:Lt,Delaunay:$f,FormatSpecifier:Fs,InternMap:Ji,InternSet:Un,Node:pr,Path:vo,Voronoi:vy,ZoomTransform:Qe,active:uL,arc:Xl,area:np,areaRadial:bv,ascending:St,autoType:R6,axisBottom:xc,axisLeft:vc,axisRight:eC,axisTop:tC,bin:A0,bisect:Vn,bisectCenter:KP,bisectLeft:ZP,bisectRight:f0,bisector:Wa,blob:B6,blur:QP,blur2:h0,blurImage:JP,brush:_L,brushSelection:xL,brushX:vL,brushY:$L,buffer:F6,chord:wL,chordDirected:AL,chordTranspose:TL,cluster:j4,color:wn,contourDensity:QL,contours:mf,count:Ua,create:BM,creator:es,cross:aD,csv:G6,csvFormat:_6,csvFormatBody:S6,csvFormatRow:T6,csvFormatRows:w6,csvFormatValue:A6,csvParse:wy,csvParseRows:$6,cubehelix:ke,cumsum:sD,curveBasis:wE,curveBasisClosed:TE,curveBasisOpen:AE,curveBumpX:vv,curveBumpY:$v,curveBundle:PE,curveCardinal:DE,curveCardinalClosed:CE,curveCardinalOpen:ME,curveCatmullRom:LE,curveCatmullRomClosed:kE,curveCatmullRomOpen:RE,curveLinear:Vl,curveLinearClosed:EE,curveMonotoneX:IE,curveMonotoneY:BE,curveNatural:NE,curveStep:FE,curveStepAfter:zE,curveStepBefore:OE,descending:u0,deviation:g0,difference:YD,disjoint:XD,dispatch:qn,drag:Lc,dragDisable:is,dragEnable:os,dsv:z6,dsvFormat:Es,easeBack:ty,easeBackIn:eL,easeBackInOut:ty,easeBackOut:nL,easeBounce:bo,easeBounceIn:J5,easeBounceInOut:tL,easeBounceOut:bo,easeCircle:Jm,easeCircleIn:X5,easeCircleInOut:Jm,easeCircleOut:W5,easeCubic:yo,easeCubicIn:I5,easeCubicInOut:yo,easeCubicOut:B5,easeElastic:ri,easeElasticIn:rL,easeElasticInOut:iL,easeElasticOut:ri,easeExp:Qm,easeExpIn:G5,easeExpInOut:Qm,easeExpOut:Y5,easeLinear:k5,easePoly:jm,easePolyIn:N5,easePolyInOut:jm,easePolyOut:F5,easeQuad:Hm,easeQuadIn:R5,easeQuadInOut:Hm,easeQuadOut:E5,easeSin:Km,easeSinIn:O5,easeSinInOut:Km,easeSinOut:z5,every:BD,extent:Qi,fcumsum:uD,filter:FD,flatGroup:cD,flatRollup:fD,forceCenter:Py,forceCollide:Pf,forceLink:Ly,forceManyBody:Cf,forceRadial:$8,forceSimulation:Df,forceX:Ry,forceY:Ey,get format(){return wo},formatDefaultLocale:Yy,formatLocale:Gy,get formatPrefix(){return Mf},formatSpecifier:hi,fsum:lD,geoAlbers:nb,geoAlbersUsa:A4,geoArea:L8,geoAzimuthalEqualArea:P4,geoAzimuthalEqualAreaRaw:gh,geoAzimuthalEquidistant:D4,geoAzimuthalEquidistantRaw:mh,geoBounds:I8,geoCentroid:G8,geoCircle:Y8,geoClipAntimeridian:jf,geoClipCircle:w1,geoClipExtent:q8,geoClipRectangle:al,geoConicConformal:M4,geoConicConformalRaw:ob,geoConicEqualArea:bl,geoConicEqualAreaRaw:eb,geoConicEquidistant:k4,geoConicEquidistantRaw:ab,geoContains:n4,geoDistance:ul,geoEqualEarth:E4,geoEqualEarthRaw:yh,geoEquirectangular:L4,geoEquirectangularRaw:zo,geoGnomonic:I4,geoGnomonicRaw:bh,geoGraticule:E1,geoGraticule10:r4,geoIdentity:B4,geoInterpolate:i4,geoLength:T1,geoMercator:C4,geoMercatorRaw:Oo,geoNaturalEarth1:N4,geoNaturalEarth1Raw:xh,geoOrthographic:F4,geoOrthographicRaw:vh,geoPath:m4,geoProjection:qe,geoProjectionMutator:ph,geoRotation:m1,geoStereographic:O4,geoStereographicRaw:$h,geoStream:Ee,geoTransform:y4,geoTransverseMercator:z4,geoTransverseMercatorRaw:_h,gray:n3,greatest:P0,greatestIndex:LD,group:x0,groupSort:dD,groups:v0,hcl:ps,hierarchy:$l,histogram:A0,hsl:us,html:H6,image:X6,index:hD,indexes:pD,interpolate:en,interpolateArray:l3,interpolateBasis:ym,interpolateBasisClosed:bm,interpolateBlues:kR,interpolateBrBG:fR,interpolateBuGn:vR,interpolateBuPu:$R,interpolateCividis:FR,interpolateCool:GR,interpolateCubehelix:S3,interpolateCubehelixDefault:OR,interpolateCubehelixLong:xs,interpolateDate:wm,interpolateDiscrete:f3,interpolateGnBu:_R,interpolateGreens:RR,interpolateGreys:ER,interpolateHcl:$3,interpolateHclLong:_3,interpolateHsl:b3,interpolateHslLong:x3,interpolateHue:h3,interpolateInferno:qR,interpolateLab:v3,interpolateMagma:jR,interpolateNumber:be,interpolateNumberArray:zc,interpolateObject:Tm,interpolateOrRd:SR,interpolateOranges:NR,interpolatePRGn:hR,interpolatePiYG:pR,interpolatePlasma:ZR,interpolatePuBu:TR,interpolatePuBuGn:wR,interpolatePuOr:dR,interpolatePuRd:AR,interpolatePurples:IR,interpolateRainbow:YR,interpolateRdBu:gR,interpolateRdGy:mR,interpolateRdPu:PR,interpolateRdYlBu:yR,interpolateRdYlGn:bR,interpolateReds:BR,interpolateRgb:uo,interpolateRgbBasis:$m,interpolateRgbBasisClosed:s3,interpolateRound:ys,interpolateSinebow:VR,interpolateSpectral:xR,interpolateString:Xc,interpolateTransformCss:Cm,interpolateTransformSvg:Mm,interpolateTurbo:UR,interpolateViridis:HR,interpolateWarm:zR,interpolateYlGn:CR,interpolateYlGnBu:DR,interpolateYlOrBr:MR,interpolateYlOrRd:LR,interpolateZoom:km,interrupt:rr,intersection:WD,interval:D3,isoFormat:W9,isoParse:H9,json:V6,lab:hs,lch:r3,least:MD,leastIndex:M0,line:Ul,lineRadial:yv,link:Hl,linkHorizontal:hE,linkRadial:dE,linkVertical:pE,local:V0,map:OD,matcher:wc,max:to,maxIndex:dc,mean:_D,median:SD,medianIndex:wD,merge:mc,min:qa,minIndex:gc,mode:AD,namespace:io,namespaces:_c,nice:hc,now:go,pack:w7,packEnclose:b7,packSiblings:_7,pairs:PD,partition:T7,path:gf,pathRound:CL,permute:T0,pie:dv,piecewise:Bm,pointRadial:na,pointer:de,pointers:FM,polygonArea:z7,polygonCentroid:G7,polygonContains:V7,polygonHull:W7,polygonLength:U7,precisionFixed:Xy,precisionPrefix:Wy,precisionRound:Vy,quadtree:Bs,quantile:no,quantileIndex:C0,quantileSorted:D0,quantize:w3,quickselect:Za,radialArea:bv,radialLine:yv,randomBates:Z7,randomBernoulli:J7,randomBeta:Db,randomBinomial:Cb,randomCauchy:ek,randomExponential:K7,randomGamma:kh,randomGeometric:Pb,randomInt:j7,randomIrwinHall:Ab,randomLcg:ak,randomLogNormal:q7,randomLogistic:nk,randomNormal:Lh,randomPareto:Q7,randomPoisson:rk,randomUniform:H7,randomWeibull:tk,range:_n,rank:CD,reduce:zD,reverse:GD,rgb:Jr,ribbon:NL,ribbonArrow:FL,rollup:_0,rollups:S0,scaleBand:Ih,scaleDiverging:Ix,scaleDivergingLog:Bx,scaleDivergingPow:Jh,scaleDivergingSqrt:J9,scaleDivergingSymlog:Nx,scaleIdentity:Eb,scaleImplicit:Rh,scaleLinear:$i,scaleLog:Ob,scaleOrdinal:Eh,scalePoint:Bh,scalePow:gr,scaleQuantile:Ub,scaleQuantize:Hb,scaleRadial:Vb,scaleSequential:Lx,scaleSequentialLog:kx,scaleSequentialPow:Qh,scaleSequentialQuantile:Ex,scaleSequentialSqrt:Q9,scaleSequentialSymlog:Rx,scaleSqrt:bk,scaleSymlog:Yb,scaleThreshold:jb,scaleTime:Z9,scaleUtc:K9,scan:kD,schemeAccent:eR,schemeBlues:ov,schemeBrBG:Fx,schemeBuGn:Hx,schemeBuPu:jx,schemeCategory10:tR,schemeDark2:nR,schemeGnBu:qx,schemeGreens:av,schemeGreys:sv,schemeObservable10:rR,schemeOrRd:Zx,schemeOranges:cv,schemePRGn:Ox,schemePaired:iR,schemePastel1:oR,schemePastel2:aR,schemePiYG:zx,schemePuBu:Qx,schemePuBuGn:Kx,schemePuOr:Gx,schemePuRd:Jx,schemePurples:lv,schemeRdBu:Yx,schemeRdGy:Xx,schemeRdPu:tv,schemeRdYlBu:Wx,schemeRdYlGn:Vx,schemeReds:uv,schemeSet1:sR,schemeSet2:lR,schemeSet3:uR,schemeSpectral:Ux,schemeTableau10:cR,schemeYlGn:nv,schemeYlGnBu:ev,schemeYlOrBr:rv,schemeYlOrRd:iv,select:V,selectAll:OM,selection:Kn,selector:ns,selectorAll:Sc,shuffle:RD,shuffler:L0,some:ND,sort:uc,stack:XE,stackOffsetDiverging:VE,stackOffsetExpand:WE,stackOffsetNone:Di,stackOffsetSilhouette:UE,stackOffsetWiggle:HE,stackOrderAppearance:Zv,stackOrderAscending:Kv,stackOrderDescending:qE,stackOrderInsideOut:ZE,stackOrderNone:Ci,stackOrderReverse:KE,stratify:C7,style:Zn,subset:UD,sum:yc,superset:R0,svg:j6,symbol:SE,symbolAsterisk:_v,symbolCircle:jl,symbolCross:Sv,symbolDiamond:Tv,symbolDiamond2:Av,symbolPlus:Pv,symbolSquare:Dv,symbolSquare2:Cv,symbolStar:Lv,symbolTimes:ap,symbolTriangle:kv,symbolTriangle2:Rv,symbolWye:Ev,symbolX:ap,symbols:Iv,symbolsFill:Iv,symbolsStroke:_E,text:Is,thresholdFreedmanDiaconis:vD,thresholdScott:$D,thresholdSturges:pc,tickFormat:Rb,tickIncrement:jn,tickStep:ja,ticks:Hn,timeDay:Si,timeDays:wk,get timeFormat(){return qh},timeFormatDefaultLocale:Cx,timeFormatLocale:px,timeFriday:tx,timeFridays:Lk,timeHour:Ll,timeHours:_k,timeInterval:Ct,timeMillisecond:_i,timeMilliseconds:qb,timeMinute:Cl,timeMinutes:vk,timeMonday:qo,timeMondays:Pk,timeMonth:Rl,timeMonths:Ok,get timeParse(){return Dx},timeSaturday:ex,timeSaturdays:kk,timeSecond:dn,timeSeconds:Kb,timeSunday:wi,timeSundays:nx,timeThursday:yr,timeThursdays:Mk,timeTickInterval:hx,timeTicks:fx,timeTuesday:Qb,timeTuesdays:Dk,timeWednesday:Jb,timeWednesdays:Ck,timeWeek:wi,timeWeeks:nx,timeYear:Ze,timeYears:Gk,timeout:Uc,timer:Ss,timerFlush:Om,transition:Vm,transpose:k0,tree:B7,treemap:wb,treemapBinary:N7,treemapDice:Uo,treemapResquarify:O7,treemapSlice:Al,treemapSliceDice:F7,treemapSquarify:Mh,tsv:Y6,tsvFormat:D6,tsvFormatBody:C6,tsvFormatRow:L6,tsvFormatRows:M6,tsvFormatValue:k6,tsvParse:Ty,tsvParseRows:P6,union:HD,unixDay:Uh,unixDays:Ak,utcDay:jo,utcDays:Tk,get utcFormat(){return Il},utcFriday:ox,utcFridays:Nk,utcHour:kl,utcHours:Sk,utcMillisecond:_i,utcMilliseconds:qb,utcMinute:Ml,utcMinutes:$k,utcMonday:Zo,utcMondays:Rk,utcMonth:El,utcMonths:zk,get utcParse(){return Zh},utcSaturday:ax,utcSaturdays:Fk,utcSecond:dn,utcSeconds:Kb,utcSunday:Ti,utcSundays:sx,utcThursday:xr,utcThursdays:Bk,utcTickInterval:cx,utcTicks:ux,utcTuesday:rx,utcTuesdays:Ek,utcWednesday:ix,utcWednesdays:Ik,utcWeek:Ti,utcWeeks:sx,utcYear:Ke,utcYears:Yk,variance:d0,window:Tc,xml:U6,zip:ID,zoom:vr,zoomIdentity:ra,zoomTransform:Jv},Symbol.toStringTag,{value:"Module"}));function e$(t){try{return t.node().getBBox()}catch(e){throw new Error(e)}}function iI(t,e){function n(i){var s;const o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+i+"</svg>";const a=document.createDocumentFragment();for(;a&&((s=o==null?void 0:o.firstChild)!=null&&s.firstChild);)a.appendChild(o.firstChild.firstChild);return a}const r=t.node();for(;r.hasChildNodes();)r.removeChild(r.firstChild);t.node().appendChild(n(e))}function oa(t){return t.substring(0,4)!=="ease"?yo:pp[t]??yo}function eu({axisWidth:t,innerRadius:e,outerRadius:n,padAngle:r,cornerRadius:i}){const o=$i().domain([0,1]).range([0,t/2]),a=o(n);return Xl().innerRadius(o(e)).outerRadius(a).padAngle(r).padRadius(a).cornerRadius(i)}const $r=(t,e)=>{if(e instanceof Function){const n=e(t);return String(n??"")}return wo(e)(t)};function aa(t,e=10){var i;const n=document.createElement("canvas").getContext("2d");return(((i=n==null?void 0:n.measureText(t))==null?void 0:i.width)??0)*e/10}function bt(t,e){const n=e.colors[e.colorScheme];return t==="label"?n.label[0]:t=="none"?"none":n[t]!=null?n[t]:n.primary}function zt({datum:t,colorType:e,fullChartParams:n}){return e==="label"?t.color?t.color:n.colors[n.colorScheme].label[0]:e=="none"?"none":n.colors[n.colorScheme][e]!=null?n.colors[n.colorScheme][e]:n.colors[n.colorScheme].primary}function K(t,e,n){const r=n?`--${n}`:"";return`orbcharts-${t}__${e}${r}`}function Be(t,e){const r=Math.random().toString(36).substr(2,5);return K(t,e,r)}function sa(t,e){let n=new pt(()=>{});return t.each(function(){const r=Au(this,e);n=Pu(n,r)}),n}const _r=({selection:t,pluginName:e,clipPathID:n,seriesLabels$:r,gridContainerPosition$:i,gridAxesTransform$:o,gridGraphicTransform$:a})=>{const s=K(e,"series"),l=K(e,"axes"),u=K(e,"graphic"),c=r.pipe(E((d,m)=>t.selectAll(`g.${s}`).data(d,g=>g).join(g=>g.append("g").classed(s,!0).each((y,b,v)=>{V(v[b]).selectAll(`g.${l}`).data([b]).join(x=>x.append("g").classed(l,!0).attr("clip-path",`url(#${n})`).each((_,T,S)=>{V(S[T]).selectAll("defs").data([T]).join("defs"),V(S[T]).selectAll("g").data([T]).join("g").classed(u,!0)}),x=>x,x=>x.remove())}),g=>g,g=>g.remove())),mt(1));Y({seriesSelection:c,gridContainerPosition:i}).pipe(G(async d=>d)).subscribe(d=>{d.seriesSelection.transition().attr("transform",(m,g)=>{const y=d.gridContainerPosition[g]??d.gridContainerPosition[0],b=y.translate,v=y.scale;return`translate(${b[0]}, ${b[1]}) scale(${v[0]}, ${v[1]})`})});const f=Y({seriesSelection:c,gridAxesTransform:o}).pipe(G(async d=>d),E(d=>d.seriesSelection.select(`g.${l}`).style("transform",d.gridAxesTransform.value)),mt(1)),h=f.pipe(E(d=>d.select("defs")),mt(1)),p=Y({axesSelection:f,gridGraphicTransform:a}).pipe(G(async d=>d),E(d=>{const m=d.axesSelection.select(`g.${u}`);return m.transition().duration(50).style("transform",d.gridGraphicTransform.value),m}),mt(1));return{seriesSelection$:c,axesSelection$:f,defsSelection$:h,graphicGSelection$:p}},n$=({fullDataFormatter$:t,gridAxesSize$:e,computedData$:n,fullChartParams$:r,gridContainerPosition$:i,layout$:o})=>{const a=new J,s=Y({fullDataFormatter:t,gridAxesSize:e,computedData:n}).pipe(G(async h=>h),E(h=>{const p=h.computedData[0]?h.computedData[0].length-1:0,d=h.fullDataFormatter.groupAxis.scaleDomain[0]-h.fullDataFormatter.groupAxis.scalePadding,m=h.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?p+h.fullDataFormatter.groupAxis.scalePadding:h.fullDataFormatter.groupAxis.scaleDomain[1]+h.fullDataFormatter.groupAxis.scalePadding;return[d,m]}),mt(1)),l=Y({fullDataFormatter:t,computedData:n}).pipe(G(async h=>h),E(h=>h.fullDataFormatter.seriesDirection==="row"?(h.computedData[0]??[]).map(p=>p.groupLabel):h.computedData.map(p=>p[0].groupLabel))),u=Y({groupScaleDomain:s,groupLabels:l}).pipe(G(async h=>h),E(h=>h.groupLabels.filter((p,d)=>d>=h.groupScaleDomain[0]&&d<=h.groupScaleDomain[1]))),c=i.pipe(E(h=>h.reduce((d,m)=>m.columnIndex>d?m.columnIndex:d,0)+1),tt()),f=i.pipe(E(h=>h.reduce((d,m)=>m.rowIndex>d?m.rowIndex:d,0)+1),tt());return new pt(h=>{Y({dataFormatter:t,axisSize:e,fullChartParams:r,scaleRangeGroupLabels:u,groupLabels:l,groupScaleDomain:s,columnAmount:c,rowAmount:f,layout:o}).pipe(L(a),G(async p=>p)).subscribe(p=>{const d=p.dataFormatter.valueAxis.position==="right"||p.dataFormatter.valueAxis.position==="bottom",m=o0({axisLabels:p.scaleRangeGroupLabels,axisWidth:p.axisSize.width,padding:p.dataFormatter.groupAxis.scalePadding,reverse:d}),g=b=>p.dataFormatter.groupAxis.position==="bottom"||p.dataFormatter.groupAxis.position==="top"?b.offsetX-p.fullChartParams.padding.left:b.offsetY-p.fullChartParams.padding.top,y=b=>{const v={offsetX:b.offsetX*p.columnAmount%p.layout.rootWidth,offsetY:b.offsetY*p.rowAmount%p.layout.rootHeight},x=g(v),_=m(x),T=Math.ceil(p.groupScaleDomain[0]),S=_+T;return{groupIndex:S,groupLabel:p.groupLabels[S]??""}};return h.next(y),function(){a.next(void 0)}})})},oI=({rootSelection:t,fullDataFormatter$:e,gridAxesSize$:n,computedData$:r,fullChartParams$:i,gridContainerPosition$:o,layout$:a})=>{const s=sa(t,"mousemove"),l=Y({fullDataFormatter:e,gridAxesSize:n,computedData:r}).pipe(G(async b=>b),E(b=>{const v=b.computedData[0]?b.computedData[0].length-1:0,x=b.fullDataFormatter.groupAxis.scaleDomain[0]-b.fullDataFormatter.groupAxis.scalePadding,_=b.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?v+b.fullDataFormatter.groupAxis.scalePadding:b.fullDataFormatter.groupAxis.scaleDomain[1]+b.fullDataFormatter.groupAxis.scalePadding;return[x,_]}),mt(1)),u=Y({fullDataFormatter:e,computedData:r}).pipe(G(async b=>b),E(b=>b.fullDataFormatter.seriesDirection==="row"?(b.computedData[0]??[]).map(v=>v.groupLabel):b.computedData.map(v=>v[0].groupLabel))),c=Y({groupScaleDomain:l,groupLabels:u}).pipe(G(async b=>b),E(b=>b.groupLabels.filter((v,x)=>x>=b.groupScaleDomain[0]&&x<=b.groupScaleDomain[1]))),f=e.pipe(E(b=>b.valueAxis.position==="right"||b.valueAxis.position==="bottom")),h=Y({reverse:f,gridAxesSize:n,scaleRangeGroupLabels:c,fullDataFormatter:e}).pipe(G(async b=>b),E(b=>o0({axisLabels:b.scaleRangeGroupLabels,axisWidth:b.gridAxesSize.width,padding:b.fullDataFormatter.groupAxis.scalePadding,reverse:b.reverse}))),p=o.pipe(E(b=>b.reduce((x,_)=>_.columnIndex>x?_.columnIndex:x,0)+1),tt()),d=o.pipe(E(b=>b.reduce((x,_)=>_.rowIndex>x?_.rowIndex:x,0)+1),tt()),m=Y({fullDataFormatter:e,fullChartParams:i,rootMousemove:s,columnAmount:p,rowAmount:d,layout:a}).pipe(G(async b=>b),E(b=>{const v={offsetX:b.rootMousemove.offsetX*b.columnAmount%b.layout.rootWidth,offsetY:b.rootMousemove.offsetY*b.rowAmount%b.layout.rootHeight};return b.fullDataFormatter.groupAxis.position==="bottom"||b.fullDataFormatter.groupAxis.position==="top"?v.offsetX-b.fullChartParams.padding.left:v.offsetY-b.fullChartParams.padding.top})),g=Y({xIndexScale:h,axisValue:m,groupScaleDomain:l}).pipe(G(async b=>b),E(b=>{const v=b.xIndexScale(b.axisValue),x=Math.ceil(b.groupScaleDomain[0]);return v+x})),y=Y({groupIndex:g,groupLabels:u}).pipe(G(async b=>b),E(b=>b.groupLabels[b.groupIndex]??""));return Y({groupIndex:g,groupLabel:y}).pipe(G(async b=>b),E(b=>({groupIndex:b.groupIndex,groupLabel:b.groupLabel})))};function aI(t="curveLinear"){return Ul().x(e=>e.axisX).y(e=>e.axisY).curve(pp[t])}function sI(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function lI({selection:t,pathClassName:e,segmentData:n,linePath:r,params:i}){return t.selectAll("path").data(n,(a,s)=>a.length?`${a[0].id}_${a[a.length-1].id}`:s).join(a=>a.append("path").classed(e,!0).attr("fill","none").attr("pointer-events","visibleStroke").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),a=>a,a=>a.remove()).attr("stroke-width",i.lineWidth).attr("stroke",(a,s)=>a[0]&&a[0].color).attr("d",a=>r(a))}function uI({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{r===e?V(o[i]).style("opacity",1):V(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}function cI({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(i=>i.append("clipPath"),i=>i,i=>i.remove()).attr("id",i=>i.id).each((i,o,a)=>{V(a[o]).selectAll("rect").data([i]).join(s=>{const l=s.append("rect");return l.transition().duration(n).ease(oa(r)).tween("tween",(u,c,f)=>h=>{const p=u.width*h;l.attr("x",0).attr("y",0).attr("width",d=>p).attr("height",d=>d.height)}),l},s=>s.attr("x",0).attr("y",0).attr("width",l=>l.width).attr("height",l=>l.height),s=>s.remove())})}const r$=(t,{selection:e,computedData$:n,computedLayoutData$:r,visibleComputedData$:i,visibleComputedLayoutData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:f,gridAxesTransform$:h,gridGraphicTransform$:p,gridAxesSize$:d,gridHighlight$:m,gridContainerPosition$:g,allContainerPosition$:y,layout$:b,event$:v})=>{const x=new J,_=Be(t,"clipPath-box"),T=K(t,"path"),{seriesSelection$:S,axesSelection$:A,defsSelection$:P,graphicGSelection$:B}=_r({selection:e,pluginName:t,clipPathID:_,seriesLabels$:a,gridContainerPosition$:g,gridAxesTransform$:h,gridGraphicTransform$:p}),$=new pt(O=>{const I=u.pipe(L(x)).subscribe(N=>{if(!N)return;const R=aI(N.lineCurve);O.next(R)});return()=>{I.unsubscribe()}}),k=f.pipe(E(O=>O.transitionDuration),tt()),D=f.pipe(E(O=>O.transitionEase),tt());Y({defsSelection:P,seriesLabels:a,axisSize:d,transitionDuration:k,transitionEase:D}).pipe(L(x),G(async O=>O)).subscribe(O=>{const N=[{id:_,width:O.axisSize.width,height:O.axisSize.height}].concat(O.seriesLabels.map(R=>({id:`orbcharts__clipPath_${R}`,width:O.axisSize.width,height:O.axisSize.height})));cI({defsSelection:O.defsSelection,clipPathData:N,transitionDuration:O.transitionDuration,transitionEase:O.transitionEase})});const w=n.pipe(E(O=>{const I=new Map;return O.flat().forEach(N=>I.set(N.id,N)),I})),M=n$({fullDataFormatter$:c,gridAxesSize$:d,computedData$:n,fullChartParams$:f,gridContainerPosition$:y,layout$:b}),C=f.pipe(L(x),E(O=>O.highlightTarget),tt()),X=Y({graphicGSelection:B,visibleComputedLayoutData:o,linePath:$,params:u}).pipe(L(x),G(async O=>O),E(O=>{let I=[];return O.graphicGSelection.each((N,R,F)=>{const H=sI(O.visibleComputedLayoutData[R]??[]);I[R]=lI({selection:V(F[R]),pathClassName:T,linePath:O.linePath,segmentData:H,params:O.params})}),I}));return Y({pathSelectionArr:X,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:C,gridGroupPositionFn:M}).pipe(L(x),G(async O=>O)).subscribe(O=>{O.pathSelectionArr.forEach(I=>{I.on("mouseover",(N,R)=>{N.stopPropagation();const F=R[0]?R[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=O.gridGroupPositionFn(N),W=O.GroupDataMap.get(it).find(Z=>Z.seriesLabel===F)??R[0];v.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:O.highlightTarget,datum:W,gridIndex:W.gridIndex,series:O.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:O.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:N,data:O.computedData})}).on("mousemove",(N,R)=>{N.stopPropagation();const F=R[0]?R[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=O.gridGroupPositionFn(N),W=O.GroupDataMap.get(it).find(Z=>Z.seriesLabel===F)??R[0];v.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:O.highlightTarget,datum:W,gridIndex:W.gridIndex,series:O.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:O.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:N,data:O.computedData})}).on("mouseout",(N,R)=>{N.stopPropagation();const F=R[0]?R[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=O.gridGroupPositionFn(N),W=O.GroupDataMap.get(it).find(Z=>Z.seriesLabel===F)??R[0];v.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:O.highlightTarget,datum:W,gridIndex:W.gridIndex,series:O.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:O.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:N,data:O.computedData})}).on("click",(N,R)=>{N.stopPropagation();const F=R[0]?R[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=O.gridGroupPositionFn(N),W=O.GroupDataMap.get(it).find(Z=>Z.seriesLabel===F)??R[0];v.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:O.highlightTarget,datum:W,gridIndex:W.gridIndex,series:O.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:O.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:N,data:O.computedData})})})}),f.pipe(L(x),Mr(O=>O.highlightTarget==="series"),G(O=>Y({graphicGSelection:B,gridHighlight:m,DataMap:w,fullChartParams:f}).pipe(L(x),G(async I=>I)))).subscribe(O=>{const I=O.gridHighlight[0]?O.gridHighlight[0].seriesLabel:null;uI({selection:O.graphicGSelection,seriesLabel:I,fullChartParams:O.fullChartParams})}),()=>{x.next(void 0)}},i$=0,mn=2,o$=3,a$=4,Te=5,nu=6,dp=7,Mi=8,Li=9,s$="Lines",fI=ae({name:s$,defaultParams:Tr,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})})(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new J,a=r$(s$,{selection:t,computedData$:r.computedData$,computedLayoutData$:r.computedLayoutData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,allContainerPosition$:r.gridContainerPosition$,layout$:r.layout$,event$:i.event$});return()=>{o.next(void 0),a()}});function hI(t="curveLinear",e){return np().x(n=>n.axisX).y0(n=>e).y1(n=>n.axisY).curve(pp[t])}function pI(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function dI({selection:t,pathClassName:e,segmentData:n,areaPath:r,linearGradientIds:i,params:o}){return t.selectAll("path").data(n,(s,l)=>s.length?`${s[0].id}_${s[s.length-1].id}`:l).join(s=>s.append("path").classed(e,!0).attr("fill","none").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),s=>s,s=>s.remove()).attr("fill",(s,l)=>s[0]?`url(#${i[s[0].seriesIndex]})`:"").attr("d",s=>r(s))}function gI({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{r===e?V(o[i]).style("opacity",1):V(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}function mI({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(i=>i.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),i=>i,i=>i.remove()).attr("id",(i,o)=>i[0]?n[i[0].seriesIndex]:"").html((i,o)=>{const a=i[0]?i[0].color:"";return`
51
+ ----> find in '${n}'`}function DC({chartType:t,config:e,initFn:n}){const r=new Xr,i=new WeakMap;let o=()=>{},a;const s=new s0(e.defaultParams),l=new s0({}),u=s.pipe(bc(c=>l.pipe(P0(r),jr(h=>{try{const{status:f,columnName:p,expectToBe:d}=e.validator(h,{validateColumns:A_});if(f==="error")throw new Error(PC({columnName:p,expectToBe:d,from:`${e.name}.params$`}));f==="warning"&&console.warn(CC({columnName:p,expectToBe:d,from:`${e.name}.params$`}))}catch(f){console.error(AC(f))}return Wu(h,c)}))),_C(1));return{params$:l,name:e.name,chartType:t,defaultParams:e.defaultParams,layerIndex:e.layerIndex,init(){a&&(o=n(a)??(()=>{}),i.set(a.selection,a))},destroy(){o(),a&&(a.selection.remove(),a=void 0),r.next(void 0)},setPresetParams:c=>{s.next(Wu(c,e.defaultParams))},setContext:c=>{a=c,a.observer.fullParams$=u}}}const Hr=t=>function(e){return function(n){return class{constructor(){const r=DC({chartType:t,config:e,initFn:n});this.params$=r.params$,this.name=r.name,this.chartType=r.chartType,this.defaultParams=r.defaultParams,this.layerIndex=r.layerIndex,this.init=r.init,this.destroy=r.destroy,this.setPresetParams=r.setPresetParams,this.setContext=r.setContext}}}},An=Hr("series"),le=Hr("grid"),me=Hr("multiGrid"),ke=Hr("multiValue"),ts=Hr("relationship"),$c=Hr("tree");function wt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function R0(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,n,r;t.length!==2?(e=wt,n=(s,l)=>wt(t(s),l),r=(s,l)=>t(s)-l):(e=t===wt||t===R0?t:MC,n=t,r=t);function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const h=u+c>>>1;n(s[h],l)<0?u=h+1:c=h}while(u<c)}return u}function o(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{const h=u+c>>>1;n(s[h],l)<=0?u=h+1:c=h}while(u<c)}return u}function a(s,l,u=0,c=s.length){const h=i(s,l,u,c-1);return h>u&&r(s[h-1],l)>-r(s[h],l)?h-1:h}return{left:i,center:a,right:o}}function MC(){return 0}function ns(t){return t===null?NaN:+t}function*LC(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}const E0=es(wt),I0=E0.right,kC=E0.left,RC=es(ns).center,Kn=I0;function EC(t,e){if(!((e=+e)>=0))throw new RangeError("invalid r");let n=t.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!e)return t;const r=vc(e),i=t.slice();return r(t,i,0,n,1),r(i,t,0,n,1),r(t,i,0,n,1),t}const B0=N0(vc),IC=N0(BC);function N0(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:a}=e;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((a=Math.floor(a!==void 0?a:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!a||!n&&!r)return e;const s=n&&t(n),l=r&&t(r),u=i.slice();return s&&l?(qr(s,u,i,o,a),qr(s,i,u,o,a),qr(s,u,i,o,a),Zr(l,i,u,o,a),Zr(l,u,i,o,a),Zr(l,i,u,o,a)):s?(qr(s,i,u,o,a),qr(s,u,i,o,a),qr(s,i,u,o,a)):l&&(Zr(l,i,u,o,a),Zr(l,u,i,o,a),Zr(l,i,u,o,a)),e}}function qr(t,e,n,r,i){for(let o=0,a=r*i;o<a;)t(e,n,o,o+=r,1)}function Zr(t,e,n,r,i){for(let o=0,a=r*i;o<r;++o)t(e,n,o,o+a,r)}function BC(t){const e=vc(t);return(n,r,i,o,a)=>{i<<=2,o<<=2,a<<=2,e(n,r,i+0,o+0,a),e(n,r,i+1,o+1,a),e(n,r,i+2,o+2,a),e(n,r,i+3,o+3,a)}}function vc(t){const e=Math.floor(t);if(e===t)return NC(t);const n=t-e,r=2*t+1;return(i,o,a,s,l)=>{if(!((s-=l)>=a))return;let u=e*o[a];const c=l*e,h=c+l;for(let f=a,p=a+c;f<p;f+=l)u+=o[Math.min(s,f)];for(let f=a,p=s;f<=p;f+=l)u+=o[Math.min(s,f+c)],i[f]=(u+n*(o[Math.max(a,f-h)]+o[Math.min(s,f+h)]))/r,u-=o[Math.max(a,f-c)]}}function NC(t){const e=2*t+1;return(n,r,i,o,a)=>{if(!((o-=a)>=i))return;let s=t*r[i];const l=a*t;for(let u=i,c=i+l;u<c;u+=a)s+=r[Math.min(o,u)];for(let u=i,c=o;u<=c;u+=a)s+=r[Math.min(o,u+l)],n[u]=s/e,s-=r[Math.max(i,u-l)]}}function rs(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(i=+i)>=i&&++n}return n}function FC(t){return t.length|0}function zC(t){return!(t>0)}function OC(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function GC(t){return e=>t(...e)}function WC(...t){const e=typeof t[t.length-1]=="function"&&GC(t.pop());t=t.map(OC);const n=t.map(FC),r=t.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(zC))return o;for(;;){o.push(i.map((s,l)=>t[l][s]));let a=r;for(;++i[a]===n[a];){if(a===0)return e?o.map(e):o;i[a--]=0}}}function YC(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?i=>n+=+i||0:i=>n+=+e(i,r++,t)||0)}function F0(t,e){let n=0,r,i=0,o=0;if(e===void 0)for(let a of t)a!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,o+=r*(a-i));else{let a=-1;for(let s of t)(s=e(s,++a,t))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,o+=r*(s-i))}if(n>1)return o/(n-1)}function z0(t,e){const n=F0(t,e);return n&&Math.sqrt(n)}function oo(t,e){let n,r;if(e===void 0)for(const i of t)i!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)));else{let i=-1;for(let o of t)(o=e(o,++i,t))!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}class kt{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const n=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const o=n[i],a=e+o,s=Math.abs(e)<Math.abs(o)?e-(a-o):o-(a-e);s&&(n[r++]=s),e=a}return n[r]=e,this._n=r+1,this}valueOf(){const e=this._partials;let n=this._n,r,i,o,a=0;if(n>0){for(a=e[--n];n>0&&(r=a,i=e[--n],a=r+i,o=i-(a-r),!o););n>0&&(o<0&&e[n-1]<0||o>0&&e[n-1]>0)&&(i=o*2,r=a+i,i==r-a&&(a=r))}return a}}function VC(t,e){const n=new kt;if(e===void 0)for(let r of t)(r=+r)&&n.add(r);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&n.add(i)}return+n}function UC(t,e){const n=new kt;let r=-1;return Float64Array.from(t,e===void 0?i=>n.add(+i||0):i=>n.add(+e(i,++r,t)||0))}class ao extends Map{constructor(e,n=W0){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(Sc(this,e))}has(e){return super.has(Sc(this,e))}set(e,n){return super.set(O0(this,e),n)}delete(e){return super.delete(G0(this,e))}}class Qn extends Set{constructor(e,n=W0){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const r of e)this.add(r)}has(e){return super.has(Sc(this,e))}add(e){return super.add(O0(this,e))}delete(e){return super.delete(G0(this,e))}}function Sc({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function O0({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function G0({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function W0(t){return t!==null&&typeof t=="object"?t.valueOf():t}function Kr(t){return t}function Y0(t,...e){return Qr(t,Kr,Kr,e)}function V0(t,...e){return Qr(t,Array.from,Kr,e)}function U0(t,e){for(let n=1,r=e.length;n<r;++n)t=t.flatMap(i=>i.pop().map(([o,a])=>[...i,o,a]));return t}function XC(t,...e){return U0(V0(t,...e),e)}function jC(t,e,...n){return U0(j0(t,e,...n),n)}function X0(t,e,...n){return Qr(t,Kr,e,n)}function j0(t,e,...n){return Qr(t,Array.from,e,n)}function HC(t,...e){return Qr(t,Kr,H0,e)}function qC(t,...e){return Qr(t,Array.from,H0,e)}function H0(t){if(t.length!==1)throw new Error("duplicate key");return t[0]}function Qr(t,e,n,r){return function i(o,a){if(a>=r.length)return n(o);const s=new ao,l=r[a++];let u=-1;for(const c of o){const h=l(c,++u,o),f=s.get(h);f?f.push(c):s.set(h,[c])}for(const[c,h]of s)s.set(c,i(h,a));return e(s)}(t,0)}function q0(t,e){return Array.from(e,n=>t[n])}function _c(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){const r=Uint32Array.from(t,(i,o)=>o);return e.length>1?(e=e.map(i=>t.map(i)),r.sort((i,o)=>{for(const a of e){const s=Jr(a[i],a[o]);if(s)return s}})):(n=t.map(n),r.sort((i,o)=>Jr(n[i],n[o]))),q0(t,r)}return t.sort(wc(n))}function wc(t=wt){if(t===wt)return Jr;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function Jr(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function ZC(t,e,n){return(e.length!==2?_c(X0(t,e,n),([r,i],[o,a])=>wt(i,a)||wt(r,o)):_c(Y0(t,n),([r,i],[o,a])=>e(i,a)||wt(r,o))).map(([r])=>r)}var KC=Array.prototype,QC=KC.slice;function Tc(t){return()=>t}const JC=Math.sqrt(50),tD=Math.sqrt(10),eD=Math.sqrt(2);function is(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=JC?10:o>=tD?5:o>=eD?2:1;let s,l,u;return i<0?(u=Math.pow(10,-i)/a,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,i)*a,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=n&&n<2?is(t,e,n*2):[s,l,u]}function Jn(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[i,o,a]=r?is(e,t,n):is(t,e,n);if(!(o>=i))return[];const s=o-i+1,l=new Array(s);if(r)if(a<0)for(let u=0;u<s;++u)l[u]=(o-u)/-a;else for(let u=0;u<s;++u)l[u]=(o-u)*a;else if(a<0)for(let u=0;u<s;++u)l[u]=(i+u)/-a;else for(let u=0;u<s;++u)l[u]=(i+u)*a;return l}function tr(t,e,n){return e=+e,t=+t,n=+n,is(t,e,n)[2]}function os(t,e,n){e=+e,t=+t,n=+n;const r=e<t,i=r?tr(e,t,n):tr(t,e,n);return(r?-1:1)*(i<0?1/-i:i)}function Ac(t,e,n){let r;for(;;){const i=tr(t,e,n);if(i===r||i===0||!isFinite(i))return[t,e];i>0?(t=Math.floor(t/i)*i,e=Math.ceil(e/i)*i):i<0&&(t=Math.ceil(t*i)/i,e=Math.floor(e*i)/i),r=i}}function Pc(t){return Math.max(1,Math.ceil(Math.log(rs(t))/Math.LN2)+1)}function Z0(){var t=Kr,e=oo,n=Pc;function r(i){Array.isArray(i)||(i=Array.from(i));var o,a=i.length,s,l,u=new Array(a);for(o=0;o<a;++o)u[o]=t(i[o],o,i);var c=e(u),h=c[0],f=c[1],p=n(u,h,f);if(!Array.isArray(p)){const x=f,$=+p;if(e===oo&&([h,f]=Ac(h,f,$)),p=Jn(h,f,$),p[0]<=h&&(l=tr(h,f,$)),p[p.length-1]>=f)if(x>=f&&e===oo){const S=tr(h,f,$);isFinite(S)&&(S>0?f=(Math.floor(f/S)+1)*S:S<0&&(f=(Math.ceil(f*-S)+1)/-S))}else p.pop()}for(var d=p.length,g=0,m=d;p[g]<=h;)++g;for(;p[m-1]>f;)--m;(g||m<d)&&(p=p.slice(g,m),d=m-g);var b=new Array(d+1),y;for(o=0;o<=d;++o)y=b[o]=[],y.x0=o>0?p[o-1]:h,y.x1=o<d?p[o]:f;if(isFinite(l)){if(l>0)for(o=0;o<a;++o)(s=u[o])!=null&&h<=s&&s<=f&&b[Math.min(d,Math.floor((s-h)/l))].push(i[o]);else if(l<0){for(o=0;o<a;++o)if((s=u[o])!=null&&h<=s&&s<=f){const x=Math.floor((h-s)*l);b[Math.min(d,x+(p[x]<=s))].push(i[o])}}}else for(o=0;o<a;++o)(s=u[o])!=null&&h<=s&&s<=f&&b[Kn(p,s,0,d)].push(i[o]);return b}return r.value=function(i){return arguments.length?(t=typeof i=="function"?i:Tc(i),r):t},r.domain=function(i){return arguments.length?(e=typeof i=="function"?i:Tc([i[0],i[1]]),r):e},r.thresholds=function(i){return arguments.length?(n=typeof i=="function"?i:Tc(Array.isArray(i)?QC.call(i):i),r):n},r}function so(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function Cc(t,e){let n,r=-1,i=-1;if(e===void 0)for(const o of t)++i,o!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of t)(o=e(o,++i,t))!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);return r}function as(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Dc(t,e){let n,r=-1,i=-1;if(e===void 0)for(const o of t)++i,o!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of t)(o=e(o,++i,t))!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);return r}function ss(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?Jr:wc(i);r>n;){if(r-n>600){const l=r-n+1,u=e-n+1,c=Math.log(l),h=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*h*(l-h)/l)*(u-l/2<0?-1:1),p=Math.max(n,Math.floor(e-u*h/l+f)),d=Math.min(r,Math.floor(e+(l-u)*h/l+f));ss(t,e,p,d,i)}const o=t[e];let a=n,s=r;for(lo(t,n,e),i(t[r],o)>0&&lo(t,n,r);a<s;){for(lo(t,a,s),++a,--s;i(t[a],o)<0;)++a;for(;i(t[s],o)>0;)--s}i(t[n],o)===0?lo(t,n,s):(++s,lo(t,s,r)),s<=e&&(n=s+1),e<=s&&(r=s-1)}return t}function lo(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function K0(t,e=wt){let n,r=!1;if(e.length===1){let i;for(const o of t){const a=e(o);(r?wt(a,i)>0:wt(a,a)===0)&&(n=o,i=a,r=!0)}}else for(const i of t)(r?e(i,n)>0:e(i,i)===0)&&(n=i,r=!0);return n}function uo(t,e,n){if(t=Float64Array.from(LC(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return as(t);if(e>=1)return so(t);var r,i=(r-1)*e,o=Math.floor(i),a=so(ss(t,o).subarray(0,o+1)),s=as(t.subarray(o+1));return a+(s-a)*(i-o)}}function Q0(t,e,n=ns){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,o=Math.floor(i),a=+n(t[o],o,t),s=+n(t[o+1],o+1,t);return a+(s-a)*(i-o)}}function J0(t,e,n=ns){if(!isNaN(e=+e)){if(r=Float64Array.from(t,(s,l)=>ns(n(t[l],l,t))),e<=0)return Dc(r);if(e>=1)return Cc(r);var r,i=Uint32Array.from(t,(s,l)=>l),o=r.length-1,a=Math.floor(o*e);return ss(i,a,0,o,(s,l)=>Jr(r[s],r[l])),a=K0(i.subarray(0,a+1),s=>r[s]),a>=0?a:-1}}function nD(t,e,n){const r=rs(t),i=uo(t,.75)-uo(t,.25);return r&&i?Math.ceil((n-e)/(2*i*Math.pow(r,-1/3))):1}function rD(t,e,n){const r=rs(t),i=z0(t);return r&&i?Math.ceil((n-e)*Math.cbrt(r)/(3.49*i)):1}function iD(t,e){let n=0,r=0;if(e===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let o of t)(o=e(o,++i,t))!=null&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function oD(t,e){return uo(t,.5,e)}function aD(t,e){return J0(t,.5,e)}function*sD(t){for(const e of t)yield*e}function Mc(t){return Array.from(sD(t))}function lD(t,e){const n=new ao;if(e===void 0)for(let o of t)o!=null&&o>=o&&n.set(o,(n.get(o)||0)+1);else{let o=-1;for(let a of t)(a=e(a,++o,t))!=null&&a>=a&&n.set(a,(n.get(a)||0)+1)}let r,i=0;for(const[o,a]of n)a>i&&(i=a,r=o);return r}function uD(t,e=cD){const n=[];let r,i=!1;for(const o of t)i&&n.push(e(r,o)),r=o,i=!0;return n}function cD(t,e){return[t,e]}function Pn(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,o=new Array(i);++r<i;)o[r]=t+r*n;return o}function fD(t,e=wt){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t);const r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=wt);const i=(s,l)=>e(n[s],n[l]);let o,a;return t=Uint32Array.from(n,(s,l)=>l),t.sort(e===wt?(s,l)=>Jr(n[s],n[l]):wc(i)),t.forEach((s,l)=>{const u=i(s,o===void 0?s:o);u>=0?((o===void 0||u>0)&&(o=s,a=l),r[s]=a):r[s]=NaN}),r}function hD(t,e=wt){let n,r=!1;if(e.length===1){let i;for(const o of t){const a=e(o);(r?wt(a,i)<0:wt(a,a)===0)&&(n=o,i=a,r=!0)}}else for(const i of t)(r?e(i,n)<0:e(i,i)===0)&&(n=i,r=!0);return n}function tm(t,e=wt){if(e.length===1)return Dc(t,e);let n,r=-1,i=-1;for(const o of t)++i,(r<0?e(o,o)===0:e(o,n)<0)&&(n=o,r=i);return r}function pD(t,e=wt){if(e.length===1)return Cc(t,e);let n,r=-1,i=-1;for(const o of t)++i,(r<0?e(o,o)===0:e(o,n)>0)&&(n=o,r=i);return r}function dD(t,e){const n=tm(t,e);return n<0?void 0:n}const gD=em(Math.random);function em(t){return function(n,r=0,i=n.length){let o=i-(r=+r);for(;o;){const a=t()*o--|0,s=n[o+r];n[o+r]=n[a+r],n[a+r]=s}return n}}function Lc(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let i of t)(i=+e(i,++r,t))&&(n+=i)}return n}function nm(t){if(!(o=t.length))return[];for(var e=-1,n=as(t,mD),r=new Array(n);++e<n;)for(var i=-1,o,a=r[e]=new Array(o);++i<o;)a[i]=t[i][e];return r}function mD(t){return t.length}function yD(){return nm(arguments)}function bD(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(!e(r,++n,t))return!1;return!0}function xD(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(e(r,++n,t))return!0;return!1}function $D(t,e){if(typeof e!="function")throw new TypeError("test is not a function");const n=[];let r=-1;for(const i of t)e(i,++r,t)&&n.push(i);return n}function vD(t,e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");if(typeof e!="function")throw new TypeError("mapper is not a function");return Array.from(t,(n,r)=>e(n,r,t))}function SD(t,e,n){if(typeof e!="function")throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let i,o,a=-1;if(arguments.length<3){if({done:i,value:n}=r.next(),i)return;++a}for(;{done:i,value:o}=r.next(),!i;)n=e(n,o,++a,t);return n}function _D(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function wD(t,...e){t=new Qn(t);for(const n of e)for(const r of n)t.delete(r);return t}function TD(t,e){const n=e[Symbol.iterator](),r=new Qn;for(const i of t){if(r.has(i))return!1;let o,a;for(;({value:o,done:a}=n.next())&&!a;){if(Object.is(i,o))return!1;r.add(o)}}return!0}function AD(t,...e){t=new Qn(t),e=e.map(PD);t:for(const n of t)for(const r of e)if(!r.has(n)){t.delete(n);continue t}return t}function PD(t){return t instanceof Qn?t:new Qn(t)}function rm(t,e){const n=t[Symbol.iterator](),r=new Set;for(const i of e){const o=im(i);if(r.has(o))continue;let a,s;for(;{value:a,done:s}=n.next();){if(s)return!1;const l=im(a);if(r.add(l),Object.is(o,l))break}}return!0}function im(t){return t!==null&&typeof t=="object"?t.valueOf():t}function CD(t,e){return rm(e,t)}function DD(...t){const e=new Qn;for(const n of t)for(const r of n)e.add(r);return e}function MD(t){return t}var ls=1,us=2,kc=3,co=4,om=1e-6;function LD(t){return"translate("+t+",0)"}function kD(t){return"translate(0,"+t+")"}function RD(t){return e=>+t(e)}function ED(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function ID(){return!this.__axis}function cs(t,e){var n=[],r=null,i=null,o=6,a=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===ls||t===co?-1:1,c=t===co||t===us?"x":"y",h=t===ls||t===kc?LD:kD;function f(p){var d=r??(e.ticks?e.ticks.apply(e,n):e.domain()),g=i??(e.tickFormat?e.tickFormat.apply(e,n):MD),m=Math.max(o,0)+s,b=e.range(),y=+b[0]+l,x=+b[b.length-1]+l,$=(e.bandwidth?ED:RD)(e.copy(),l),S=p.selection?p.selection():p,A=S.selectAll(".domain").data([null]),_=S.selectAll(".tick").data(d,e).order(),P=_.exit(),M=_.enter().append("g").attr("class","tick"),R=_.select("line"),v=_.select("text");A=A.merge(A.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(M),R=R.merge(M.append("line").attr("stroke","currentColor").attr(c+"2",u*o)),v=v.merge(M.append("text").attr("fill","currentColor").attr(c,u*m).attr("dy",t===ls?"0em":t===kc?"0.71em":"0.32em")),p!==S&&(A=A.transition(p),_=_.transition(p),R=R.transition(p),v=v.transition(p),P=P.transition(p).attr("opacity",om).attr("transform",function(E){return isFinite(E=$(E))?h(E+l):this.getAttribute("transform")}),M.attr("opacity",om).attr("transform",function(E){var k=this.parentNode.__axis;return h((k&&isFinite(k=k(E))?k:$(E))+l)})),P.remove(),A.attr("d",t===co||t===us?a?"M"+u*a+","+y+"H"+l+"V"+x+"H"+u*a:"M"+l+","+y+"V"+x:a?"M"+y+","+u*a+"V"+l+"H"+x+"V"+u*a:"M"+y+","+l+"H"+x),_.attr("opacity",1).attr("transform",function(E){return h($(E)+l)}),R.attr(c+"2",u*o),v.attr(c,u*m).text(g),S.filter(ID).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===us?"start":t===co?"end":"middle"),S.each(function(){this.__axis=$})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(n=p==null?[]:Array.from(p),f):n.slice()},f.tickValues=function(p){return arguments.length?(r=p==null?null:Array.from(p),f):r&&r.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(o=a=+p,f):o},f.tickSizeInner=function(p){return arguments.length?(o=+p,f):o},f.tickSizeOuter=function(p){return arguments.length?(a=+p,f):a},f.tickPadding=function(p){return arguments.length?(s=+p,f):s},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function Rc(t){return cs(ls,t)}function BD(t){return cs(us,t)}function am(t){return cs(kc,t)}function Ec(t){return cs(co,t)}var ND={value:()=>{}};function er(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new fs(n)}function fs(t){this._=t}function FD(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}fs.prototype=er.prototype={constructor:fs,on:function(t,e){var n=this._,r=FD(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(t=r[o]).type)&&(i=zD(n[i],t.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++o<a;)if(i=(t=r[o]).type)n[i]=sm(n[i],t.name,e);else if(e==null)for(i in n)n[i]=sm(n[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new fs(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(e,n)}};function zD(t,e){for(var n=0,r=t.length,i;n<r;++n)if((i=t[n]).name===e)return i.value}function sm(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=ND,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Ic="http://www.w3.org/1999/xhtml";const Bc={svg:"http://www.w3.org/2000/svg",xhtml:Ic,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function fo(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Bc.hasOwnProperty(e)?{space:Bc[e],local:t}:t}function OD(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Ic&&e.documentElement.namespaceURI===Ic?e.createElement(t):e.createElementNS(n,t)}}function GD(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function hs(t){var e=fo(t);return(e.local?GD:OD)(e)}function WD(){}function ps(t){return t==null?WD:function(){return this.querySelector(t)}}function YD(t){typeof t!="function"&&(t=ps(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=new Array(a),l,u,c=0;c<a;++c)(l=o[c])&&(u=t.call(l,l.__data__,c,o))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new jt(r,this._parents)}function lm(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function VD(){return[]}function Nc(t){return t==null?VD:function(){return this.querySelectorAll(t)}}function UD(t){return function(){return lm(t.apply(this,arguments))}}function XD(t){typeof t=="function"?t=UD(t):t=Nc(t);for(var e=this._groups,n=e.length,r=[],i=[],o=0;o<n;++o)for(var a=e[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&(r.push(t.call(l,l.__data__,u,a)),i.push(l));return new jt(r,i)}function Fc(t){return function(){return this.matches(t)}}function um(t){return function(e){return e.matches(t)}}var jD=Array.prototype.find;function HD(t){return function(){return jD.call(this.children,t)}}function qD(){return this.firstElementChild}function ZD(t){return this.select(t==null?qD:HD(typeof t=="function"?t:um(t)))}var KD=Array.prototype.filter;function QD(){return Array.from(this.children)}function JD(t){return function(){return KD.call(this.children,t)}}function tM(t){return this.selectAll(t==null?QD:JD(typeof t=="function"?t:um(t)))}function eM(t){typeof t!="function"&&(t=Fc(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new jt(r,this._parents)}function cm(t){return new Array(t.length)}function nM(){return new jt(this._enter||this._groups.map(cm),this._parents)}function ds(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ds.prototype={constructor:ds,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function rM(t){return function(){return t}}function iM(t,e,n,r,i,o){for(var a=0,s,l=e.length,u=o.length;a<u;++a)(s=e[a])?(s.__data__=o[a],r[a]=s):n[a]=new ds(t,o[a]);for(;a<l;++a)(s=e[a])&&(i[a]=s)}function oM(t,e,n,r,i,o,a){var s,l,u=new Map,c=e.length,h=o.length,f=new Array(c),p;for(s=0;s<c;++s)(l=e[s])&&(f[s]=p=a.call(l,l.__data__,s,e)+"",u.has(p)?i[s]=l:u.set(p,l));for(s=0;s<h;++s)p=a.call(t,o[s],s,o)+"",(l=u.get(p))?(r[s]=l,l.__data__=o[s],u.delete(p)):n[s]=new ds(t,o[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(f[s])===l&&(i[s]=l)}function aM(t){return t.__data__}function sM(t,e){if(!arguments.length)return Array.from(this,aM);var n=e?oM:iM,r=this._parents,i=this._groups;typeof t!="function"&&(t=rM(t));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),u=0;u<o;++u){var c=r[u],h=i[u],f=h.length,p=lM(t.call(c,c&&c.__data__,u,r)),d=p.length,g=s[u]=new Array(d),m=a[u]=new Array(d),b=l[u]=new Array(f);n(c,h,g,m,b,p,e);for(var y=0,x=0,$,S;y<d;++y)if($=g[y]){for(y>=x&&(x=y+1);!(S=m[x])&&++x<d;);$._next=S||null}}return a=new jt(a,r),a._enter=s,a._exit=l,a}function lM(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function uM(){return new jt(this._exit||this._groups.map(cm),this._parents)}function cM(t,e,n){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function fM(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var u=n[l],c=r[l],h=u.length,f=s[l]=new Array(h),p,d=0;d<h;++d)(p=u[d]||c[d])&&(f[d]=p);for(;l<i;++l)s[l]=n[l];return new jt(s,this._parents)}function hM(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function pM(t){t||(t=dM);function e(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,l=i[o]=new Array(s),u,c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new jt(i,this._parents).order()}function dM(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function gM(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function mM(){return Array.from(this)}function yM(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function bM(){let t=0;for(const e of this)++t;return t}function xM(){return!this.node()}function $M(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i=e[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&t.call(s,s.__data__,o,i);return this}function vM(t){return function(){this.removeAttribute(t)}}function SM(t){return function(){this.removeAttributeNS(t.space,t.local)}}function _M(t,e){return function(){this.setAttribute(t,e)}}function wM(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function TM(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function AM(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function PM(t,e){var n=fo(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?SM:vM:typeof e=="function"?n.local?AM:TM:n.local?wM:_M)(n,e))}function zc(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function CM(t){return function(){this.style.removeProperty(t)}}function DM(t,e,n){return function(){this.style.setProperty(t,e,n)}}function MM(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function LM(t,e,n){return arguments.length>1?this.each((e==null?CM:typeof e=="function"?MM:DM)(t,e,n??"")):nr(this.node(),t)}function nr(t,e){return t.style.getPropertyValue(e)||zc(t).getComputedStyle(t,null).getPropertyValue(e)}function kM(t){return function(){delete this[t]}}function RM(t,e){return function(){this[t]=e}}function EM(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function IM(t,e){return arguments.length>1?this.each((e==null?kM:typeof e=="function"?EM:RM)(t,e)):this.node()[t]}function fm(t){return t.trim().split(/^|\s+/)}function Oc(t){return t.classList||new hm(t)}function hm(t){this._node=t,this._names=fm(t.getAttribute("class")||"")}hm.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function pm(t,e){for(var n=Oc(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function dm(t,e){for(var n=Oc(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function BM(t){return function(){pm(this,t)}}function NM(t){return function(){dm(this,t)}}function FM(t,e){return function(){(e.apply(this,arguments)?pm:dm)(this,t)}}function zM(t,e){var n=fm(t+"");if(arguments.length<2){for(var r=Oc(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof e=="function"?FM:e?BM:NM)(n,e))}function OM(){this.textContent=""}function GM(t){return function(){this.textContent=t}}function WM(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function YM(t){return arguments.length?this.each(t==null?OM:(typeof t=="function"?WM:GM)(t)):this.node().textContent}function VM(){this.innerHTML=""}function UM(t){return function(){this.innerHTML=t}}function XM(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function jM(t){return arguments.length?this.each(t==null?VM:(typeof t=="function"?XM:UM)(t)):this.node().innerHTML}function HM(){this.nextSibling&&this.parentNode.appendChild(this)}function qM(){return this.each(HM)}function ZM(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function KM(){return this.each(ZM)}function QM(t){var e=typeof t=="function"?t:hs(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function JM(){return null}function tL(t,e){var n=typeof t=="function"?t:hs(t),r=e==null?JM:typeof e=="function"?e:ps(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function eL(){var t=this.parentNode;t&&t.removeChild(this)}function nL(){return this.each(eL)}function rL(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function iL(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oL(t){return this.select(t?iL:rL)}function aL(t){return arguments.length?this.property("__data__",t):this.node().__data__}function sL(t){return function(e){t.call(this,e,this.__data__)}}function lL(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function uL(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n<i;++n)o=e[n],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):e[++r]=o;++r?e.length=r:delete this.__on}}}function cL(t,e,n){return function(){var r=this.__on,i,o=sL(e);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=e;return}}this.addEventListener(t.type,o,n),i={type:t.type,name:t.name,value:e,listener:o,options:n},r?r.push(i):this.__on=[i]}}function fL(t,e,n){var r=lL(t+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,u=s.length,c;l<u;++l)for(i=0,c=s[l];i<o;++i)if((a=r[i]).type===c.type&&a.name===c.name)return c.value}return}for(s=e?cL:uL,i=0;i<o;++i)this.each(s(r[i],e,n));return this}function gm(t,e,n){var r=zc(t),i=r.CustomEvent;typeof i=="function"?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function hL(t,e){return function(){return gm(this,t,e)}}function pL(t,e){return function(){return gm(this,t,e.apply(this,arguments))}}function dL(t,e){return this.each((typeof e=="function"?pL:hL)(t,e))}function*gL(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var Gc=[null];function jt(t,e){this._groups=t,this._parents=e}function rr(){return new jt([[document.documentElement]],Gc)}function mL(){return this}jt.prototype=rr.prototype={constructor:jt,select:YD,selectAll:XD,selectChild:ZD,selectChildren:tM,filter:eM,data:sM,enter:nM,exit:uM,join:cM,merge:fM,selection:mL,order:hM,sort:pM,call:gM,nodes:mM,node:yM,size:bM,empty:xM,each:$M,attr:PM,style:LM,property:IM,classed:zM,text:YM,html:jM,raise:qM,lower:KM,append:QM,insert:tL,remove:nL,clone:oL,datum:aL,on:fL,dispatch:dL,[Symbol.iterator]:gL};function U(t){return typeof t=="string"?new jt([[document.querySelector(t)]],[document.documentElement]):new jt([[t]],Gc)}function yL(t){return U(hs(t).call(document.documentElement))}var bL=0;function mm(){return new Wc}function Wc(){this._="@"+(++bL).toString(36)}Wc.prototype=mm.prototype={constructor:Wc,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};function ym(t){let e;for(;e=t.sourceEvent;)t=e;return t}function ye(t,e){if(t=ym(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}function xL(t,e){return t.target&&(t=ym(t),e===void 0&&(e=t.currentTarget),t=t.touches||[t]),Array.from(t,n=>ye(n,e))}function $L(t){return typeof t=="string"?new jt([document.querySelectorAll(t)],[document.documentElement]):new jt([lm(t)],Gc)}const vL={passive:!1},ho={capture:!0,passive:!1};function Yc(t){t.stopImmediatePropagation()}function ti(t){t.preventDefault(),t.stopImmediatePropagation()}function gs(t){var e=t.document.documentElement,n=U(t).on("dragstart.drag",ti,ho);"onselectstart"in e?n.on("selectstart.drag",ti,ho):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function ms(t,e){var n=t.document.documentElement,r=U(t).on("dragstart.drag",null);e&&(r.on("click.drag",ti,ho),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const ys=t=>()=>t;function Vc(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Vc.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function SL(t){return!t.ctrlKey&&!t.button}function _L(){return this.parentNode}function wL(t,e){return e??{x:t.x,y:t.y}}function TL(){return navigator.maxTouchPoints||"ontouchstart"in this}function bs(){var t=SL,e=_L,n=wL,r=TL,i={},o=er("start","drag","end"),a=0,s,l,u,c,h=0;function f($){$.on("mousedown.drag",p).filter(r).on("touchstart.drag",m).on("touchmove.drag",b,vL).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p($,S){if(!(c||!t.call(this,$,S))){var A=x(this,e.call(this,$,S),$,S,"mouse");A&&(U($.view).on("mousemove.drag",d,ho).on("mouseup.drag",g,ho),gs($.view),Yc($),u=!1,s=$.clientX,l=$.clientY,A("start",$))}}function d($){if(ti($),!u){var S=$.clientX-s,A=$.clientY-l;u=S*S+A*A>h}i.mouse("drag",$)}function g($){U($.view).on("mousemove.drag mouseup.drag",null),ms($.view,u),ti($),i.mouse("end",$)}function m($,S){if(t.call(this,$,S)){var A=$.changedTouches,_=e.call(this,$,S),P=A.length,M,R;for(M=0;M<P;++M)(R=x(this,_,$,S,A[M].identifier,A[M]))&&(Yc($),R("start",$,A[M]))}}function b($){var S=$.changedTouches,A=S.length,_,P;for(_=0;_<A;++_)(P=i[S[_].identifier])&&(ti($),P("drag",$,S[_]))}function y($){var S=$.changedTouches,A=S.length,_,P;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),_=0;_<A;++_)(P=i[S[_].identifier])&&(Yc($),P("end",$,S[_]))}function x($,S,A,_,P,M){var R=o.copy(),v=ye(M||A,S),E,k,T;if((T=n.call($,new Vc("beforestart",{sourceEvent:A,target:f,identifier:P,active:a,x:v[0],y:v[1],dx:0,dy:0,dispatch:R}),_))!=null)return E=T.x-v[0]||0,k=T.y-v[1]||0,function w(C,F,G){var B=v,N;switch(C){case"start":i[P]=w,N=a++;break;case"end":delete i[P],--a;case"drag":v=ye(G||F,S),N=a;break}R.call(C,$,new Vc(C,{sourceEvent:F,subject:T,target:f,identifier:P,active:N,x:v[0]+E,y:v[1]+k,dx:v[0]-B[0],dy:v[1]-B[1],dispatch:R}),_)}}return f.filter=function($){return arguments.length?(t=typeof $=="function"?$:ys(!!$),f):t},f.container=function($){return arguments.length?(e=typeof $=="function"?$:ys($),f):e},f.subject=function($){return arguments.length?(n=typeof $=="function"?$:ys($),f):n},f.touchable=function($){return arguments.length?(r=typeof $=="function"?$:ys(!!$),f):r},f.on=function(){var $=o.on.apply(o,arguments);return $===o?f:$},f.clickDistance=function($){return arguments.length?(h=($=+$)*$,f):Math.sqrt(h)},f}function ei(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function po(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Cn(){}var ir=.7,ni=1/ir,ri="\\s*([+-]?\\d+)\\s*",go="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Xe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",AL=/^#([0-9a-f]{3,8})$/,PL=new RegExp(`^rgb\\(${ri},${ri},${ri}\\)$`),CL=new RegExp(`^rgb\\(${Xe},${Xe},${Xe}\\)$`),DL=new RegExp(`^rgba\\(${ri},${ri},${ri},${go}\\)$`),ML=new RegExp(`^rgba\\(${Xe},${Xe},${Xe},${go}\\)$`),LL=new RegExp(`^hsl\\(${go},${Xe},${Xe}\\)$`),kL=new RegExp(`^hsla\\(${go},${Xe},${Xe},${go}\\)$`),bm={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ei(Cn,Dn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xm,formatHex:xm,formatHex8:RL,formatHsl:EL,formatRgb:$m,toString:$m});function xm(){return this.rgb().formatHex()}function RL(){return this.rgb().formatHex8()}function EL(){return Tm(this).formatHsl()}function $m(){return this.rgb().formatRgb()}function Dn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=AL.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?vm(e):n===3?new It(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?xs(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?xs(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=PL.exec(t))?new It(e[1],e[2],e[3],1):(e=CL.exec(t))?new It(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=DL.exec(t))?xs(e[1],e[2],e[3],e[4]):(e=ML.exec(t))?xs(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=LL.exec(t))?wm(e[1],e[2]/100,e[3]/100,1):(e=kL.exec(t))?wm(e[1],e[2]/100,e[3]/100,e[4]):bm.hasOwnProperty(t)?vm(bm[t]):t==="transparent"?new It(NaN,NaN,NaN,0):null}function vm(t){return new It(t>>16&255,t>>8&255,t&255,1)}function xs(t,e,n,r){return r<=0&&(t=e=n=NaN),new It(t,e,n,r)}function Uc(t){return t instanceof Cn||(t=Dn(t)),t?(t=t.rgb(),new It(t.r,t.g,t.b,t.opacity)):new It}function ii(t,e,n,r){return arguments.length===1?Uc(t):new It(t,e,n,r??1)}function It(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ei(It,ii,po(Cn,{brighter(t){return t=t==null?ni:Math.pow(ni,t),new It(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ir:Math.pow(ir,t),new It(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new It(or(this.r),or(this.g),or(this.b),$s(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Sm,formatHex:Sm,formatHex8:IL,formatRgb:_m,toString:_m}));function Sm(){return`#${ar(this.r)}${ar(this.g)}${ar(this.b)}`}function IL(){return`#${ar(this.r)}${ar(this.g)}${ar(this.b)}${ar((isNaN(this.opacity)?1:this.opacity)*255)}`}function _m(){const t=$s(this.opacity);return`${t===1?"rgb(":"rgba("}${or(this.r)}, ${or(this.g)}, ${or(this.b)}${t===1?")":`, ${t})`}`}function $s(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function or(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ar(t){return t=or(t),(t<16?"0":"")+t.toString(16)}function wm(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Re(t,e,n,r)}function Tm(t){if(t instanceof Re)return new Re(t.h,t.s,t.l,t.opacity);if(t instanceof Cn||(t=Dn(t)),!t)return new Re;if(t instanceof Re)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(e===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-e)/s+2:a=(e-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new Re(a,s,l,t.opacity)}function vs(t,e,n,r){return arguments.length===1?Tm(t):new Re(t,e,n,r??1)}function Re(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ei(Re,vs,po(Cn,{brighter(t){return t=t==null?ni:Math.pow(ni,t),new Re(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ir:Math.pow(ir,t),new Re(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new It(Xc(t>=240?t-240:t+120,i,r),Xc(t,i,r),Xc(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Re(Am(this.h),Ss(this.s),Ss(this.l),$s(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=$s(this.opacity);return`${t===1?"hsl(":"hsla("}${Am(this.h)}, ${Ss(this.s)*100}%, ${Ss(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Am(t){return t=(t||0)%360,t<0?t+360:t}function Ss(t){return Math.max(0,Math.min(1,t||0))}function Xc(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Pm=Math.PI/180,Cm=180/Math.PI,_s=18,Dm=.96422,Mm=1,Lm=.82521,km=4/29,oi=6/29,Rm=3*oi*oi,BL=oi*oi*oi;function Em(t){if(t instanceof Ee)return new Ee(t.l,t.a,t.b,t.opacity);if(t instanceof je)return Bm(t);t instanceof It||(t=Uc(t));var e=Zc(t.r),n=Zc(t.g),r=Zc(t.b),i=jc((.2225045*e+.7168786*n+.0606169*r)/Mm),o,a;return e===n&&n===r?o=a=i:(o=jc((.4360747*e+.3850649*n+.1430804*r)/Dm),a=jc((.0139322*e+.0971045*n+.7141733*r)/Lm)),new Ee(116*i-16,500*(o-i),200*(i-a),t.opacity)}function NL(t,e){return new Ee(t,0,0,e??1)}function mo(t,e,n,r){return arguments.length===1?Em(t):new Ee(t,e,n,r??1)}function Ee(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}ei(Ee,mo,po(Cn,{brighter(t){return new Ee(this.l+_s*(t??1),this.a,this.b,this.opacity)},darker(t){return new Ee(this.l-_s*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=Dm*Hc(e),t=Mm*Hc(t),n=Lm*Hc(n),new It(qc(3.1338561*e-1.6168667*t-.4906146*n),qc(-.9787684*e+1.9161415*t+.033454*n),qc(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function jc(t){return t>BL?Math.pow(t,1/3):t/Rm+km}function Hc(t){return t>oi?t*t*t:Rm*(t-km)}function qc(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Zc(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Im(t){if(t instanceof je)return new je(t.h,t.c,t.l,t.opacity);if(t instanceof Ee||(t=Em(t)),t.a===0&&t.b===0)return new je(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Cm;return new je(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function FL(t,e,n,r){return arguments.length===1?Im(t):new je(n,e,t,r??1)}function ws(t,e,n,r){return arguments.length===1?Im(t):new je(t,e,n,r??1)}function je(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function Bm(t){if(isNaN(t.h))return new Ee(t.l,0,0,t.opacity);var e=t.h*Pm;return new Ee(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}ei(je,ws,po(Cn,{brighter(t){return new je(this.h,this.c,this.l+_s*(t??1),this.opacity)},darker(t){return new je(this.h,this.c,this.l-_s*(t??1),this.opacity)},rgb(){return Bm(this).rgb()}}));var Nm=-.14861,Kc=1.78277,Qc=-.29227,Ts=-.90649,yo=1.97294,Fm=yo*Ts,zm=yo*Kc,Om=Kc*Qc-Ts*Nm;function zL(t){if(t instanceof sr)return new sr(t.h,t.s,t.l,t.opacity);t instanceof It||(t=Uc(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(Om*r+Fm*e-zm*n)/(Om+Fm-zm),o=r-i,a=(yo*(n-i)-Qc*o)/Ts,s=Math.sqrt(a*a+o*o)/(yo*i*(1-i)),l=s?Math.atan2(a,o)*Cm-120:NaN;return new sr(l<0?l+360:l,s,i,t.opacity)}function Ie(t,e,n,r){return arguments.length===1?zL(t):new sr(t,e,n,r??1)}function sr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ei(sr,Ie,po(Cn,{brighter(t){return t=t==null?ni:Math.pow(ni,t),new sr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ir:Math.pow(ir,t),new sr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*Pm,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new It(255*(e+n*(Nm*r+Kc*i)),255*(e+n*(Qc*r+Ts*i)),255*(e+n*(yo*r)),this.opacity)}}));function Gm(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}function Wm(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,s=r<e-1?t[r+2]:2*o-i;return Gm((n-r/e)*e,a,i,o,s)}}function Ym(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],o=t[r%e],a=t[(r+1)%e],s=t[(r+2)%e];return Gm((n-r/e)*e,i,o,a,s)}}const As=t=>()=>t;function Vm(t,e){return function(n){return t+n*e}}function OL(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function Ps(t,e){var n=e-t;return n?Vm(t,n>180||n<-180?n-360*Math.round(n/360):n):As(isNaN(t)?e:t)}function GL(t){return(t=+t)==1?Bt:function(e,n){return n-e?OL(e,n,t):As(isNaN(e)?n:e)}}function Bt(t,e){var n=e-t;return n?Vm(t,n):As(isNaN(t)?e:t)}const bo=function t(e){var n=GL(e);function r(i,o){var a=n((i=ii(i)).r,(o=ii(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),u=Bt(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+""}}return r.gamma=t,r}(1);function Um(t){return function(e){var n=e.length,r=new Array(n),i=new Array(n),o=new Array(n),a,s;for(a=0;a<n;++a)s=ii(e[a]),r[a]=s.r||0,i[a]=s.g||0,o[a]=s.b||0;return r=t(r),i=t(i),o=t(o),s.opacity=1,function(l){return s.r=r(l),s.g=i(l),s.b=o(l),s+""}}}var Xm=Um(Wm),WL=Um(Ym);function Jc(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=t[i]*(1-o)+e[i]*o;return r}}function jm(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function YL(t,e){return(jm(e)?Jc:Hm)(t,e)}function Hm(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,i=new Array(r),o=new Array(n),a;for(a=0;a<r;++a)i[a]=sn(t[a],e[a]);for(;a<n;++a)o[a]=e[a];return function(s){for(a=0;a<r;++a)o[a]=i[a](s);return o}}function qm(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function be(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Zm(t,e){var n={},r={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?n[i]=sn(t[i],e[i]):r[i]=e[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var tf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ef=new RegExp(tf.source,"g");function VL(t){return function(){return t}}function UL(t){return function(e){return t(e)+""}}function nf(t,e){var n=tf.lastIndex=ef.lastIndex=0,r,i,o,a=-1,s=[],l=[];for(t=t+"",e=e+"";(r=tf.exec(t))&&(i=ef.exec(e));)(o=i.index)>n&&(o=e.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:be(r,i)})),n=ef.lastIndex;return n<e.length&&(o=e.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?UL(l[0].x):VL(e):(e=l.length,function(u){for(var c=0,h;c<e;++c)s[(h=l[c]).i]=h.x(u);return s.join("")})}function sn(t,e){var n=typeof e,r;return e==null||n==="boolean"?As(e):(n==="number"?be:n==="string"?(r=Dn(e))?(e=r,bo):nf:e instanceof Dn?bo:e instanceof Date?qm:jm(e)?Jc:Array.isArray(e)?Hm:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Zm:be)(t,e)}function XL(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}function jL(t,e){var n=Ps(+t,+e);return function(r){var i=n(r);return i-360*Math.floor(i/360)}}function xo(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var Km=180/Math.PI,rf={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Qm(t,e,n,r,i,o){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*n+e*r)&&(n-=t*l,r-=e*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),t*r<e*n&&(t=-t,e=-e,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(e,t)*Km,skewX:Math.atan(l)*Km,scaleX:a,scaleY:s}}var Cs;function HL(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?rf:Qm(e.a,e.b,e.c,e.d,e.e,e.f)}function qL(t){return t==null||(Cs||(Cs=document.createElementNS("http://www.w3.org/2000/svg","g")),Cs.setAttribute("transform",t),!(t=Cs.transform.baseVal.consolidate()))?rf:(t=t.matrix,Qm(t.a,t.b,t.c,t.d,t.e,t.f))}function Jm(t,e,n,r){function i(u){return u.length?u.pop()+" ":""}function o(u,c,h,f,p,d){if(u!==h||c!==f){var g=p.push("translate(",null,e,null,n);d.push({i:g-4,x:be(u,h)},{i:g-2,x:be(c,f)})}else(h||f)&&p.push("translate("+h+e+f+n)}function a(u,c,h,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:be(u,c)})):c&&h.push(i(h)+"rotate("+c+r)}function s(u,c,h,f){u!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:be(u,c)}):c&&h.push(i(h)+"skewX("+c+r)}function l(u,c,h,f,p,d){if(u!==h||c!==f){var g=p.push(i(p)+"scale(",null,",",null,")");d.push({i:g-4,x:be(u,h)},{i:g-2,x:be(c,f)})}else(h!==1||f!==1)&&p.push(i(p)+"scale("+h+","+f+")")}return function(u,c){var h=[],f=[];return u=t(u),c=t(c),o(u.translateX,u.translateY,c.translateX,c.translateY,h,f),a(u.rotate,c.rotate,h,f),s(u.skewX,c.skewX,h,f),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,h,f),u=c=null,function(p){for(var d=-1,g=f.length,m;++d<g;)h[(m=f[d]).i]=m.x(p);return h.join("")}}}var ty=Jm(HL,"px, ","px)","deg)"),ey=Jm(qL,", ",")",")"),ZL=1e-12;function ny(t){return((t=Math.exp(t))+1/t)/2}function KL(t){return((t=Math.exp(t))-1/t)/2}function QL(t){return((t=Math.exp(2*t))-1)/(t+1)}const ry=function t(e,n,r){function i(o,a){var s=o[0],l=o[1],u=o[2],c=a[0],h=a[1],f=a[2],p=c-s,d=h-l,g=p*p+d*d,m,b;if(g<ZL)b=Math.log(f/u)/e,m=function(_){return[s+_*p,l+_*d,u*Math.exp(e*_*b)]};else{var y=Math.sqrt(g),x=(f*f-u*u+r*g)/(2*u*n*y),$=(f*f-u*u-r*g)/(2*f*n*y),S=Math.log(Math.sqrt(x*x+1)-x),A=Math.log(Math.sqrt($*$+1)-$);b=(A-S)/e,m=function(_){var P=_*b,M=ny(S),R=u/(n*y)*(M*QL(e*P+S)-KL(S));return[s+R*p,l+R*d,u*M/ny(e*P+S)]}}return m.duration=b*1e3*e/Math.SQRT2,m}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,l=s*s;return t(a,s,l)},i}(Math.SQRT2,2,4);function iy(t){return function(e,n){var r=t((e=vs(e)).h,(n=vs(n)).h),i=Bt(e.s,n.s),o=Bt(e.l,n.l),a=Bt(e.opacity,n.opacity);return function(s){return e.h=r(s),e.s=i(s),e.l=o(s),e.opacity=a(s),e+""}}}const JL=iy(Ps);var t3=iy(Bt);function e3(t,e){var n=Bt((t=mo(t)).l,(e=mo(e)).l),r=Bt(t.a,e.a),i=Bt(t.b,e.b),o=Bt(t.opacity,e.opacity);return function(a){return t.l=n(a),t.a=r(a),t.b=i(a),t.opacity=o(a),t+""}}function oy(t){return function(e,n){var r=t((e=ws(e)).h,(n=ws(n)).h),i=Bt(e.c,n.c),o=Bt(e.l,n.l),a=Bt(e.opacity,n.opacity);return function(s){return e.h=r(s),e.c=i(s),e.l=o(s),e.opacity=a(s),e+""}}}const n3=oy(Ps);var r3=oy(Bt);function ay(t){return function e(n){n=+n;function r(i,o){var a=t((i=Ie(i)).h,(o=Ie(o)).h),s=Bt(i.s,o.s),l=Bt(i.l,o.l),u=Bt(i.opacity,o.opacity);return function(c){return i.h=a(c),i.s=s(c),i.l=l(Math.pow(c,n)),i.opacity=u(c),i+""}}return r.gamma=e,r}(1)}const i3=ay(Ps);var Ds=ay(Bt);function sy(t,e){e===void 0&&(e=t,t=sn);for(var n=0,r=e.length-1,i=e[0],o=new Array(r<0?0:r);n<r;)o[n]=t(i,i=e[++n]);return function(a){var s=Math.max(0,Math.min(r-1,Math.floor(a*=r)));return o[s](a-s)}}function o3(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var ai=0,$o=0,vo=0,ly=1e3,Ms,So,Ls=0,lr=0,ks=0,_o=typeof performance=="object"&&performance.now?performance:Date,uy=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function wo(){return lr||(uy(a3),lr=_o.now()+ks)}function a3(){lr=0}function To(){this._call=this._time=this._next=null}To.prototype=Rs.prototype={constructor:To,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?wo():+n)+(e==null?0:+e),!this._next&&So!==this&&(So?So._next=this:Ms=this,So=this),this._call=t,this._time=n,of()},stop:function(){this._call&&(this._call=null,this._time=1/0,of())}};function Rs(t,e,n){var r=new To;return r.restart(t,e,n),r}function cy(){wo(),++ai;for(var t=Ms,e;t;)(e=lr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ai}function fy(){lr=(Ls=_o.now())+ks,ai=$o=0;try{cy()}finally{ai=0,l3(),lr=0}}function s3(){var t=_o.now(),e=t-Ls;e>ly&&(ks-=e,Ls=t)}function l3(){for(var t,e=Ms,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Ms=n);So=t,of(r)}function of(t){if(!ai){$o&&($o=clearTimeout($o));var e=t-lr;e>24?(t<1/0&&($o=setTimeout(fy,t-_o.now()-ks)),vo&&(vo=clearInterval(vo))):(vo||(Ls=_o.now(),vo=setInterval(s3,ly)),ai=1,uy(fy))}}function af(t,e,n){var r=new To;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}function u3(t,e,n){var r=new To,i=e;return e==null?(r.restart(t,e,n),r):(r._restart=r.restart,r.restart=function(o,a,s){a=+a,s=s==null?wo():+s,r._restart(function l(u){u+=i,r._restart(l,i+=a,s),o(u)},a,s)},r.restart(t,e,n),r)}var c3=er("start","end","cancel","interrupt"),f3=[],hy=0,sf=1,lf=2,Es=3,py=4,uf=5,Is=6;function Bs(t,e,n,r,i,o){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;h3(t,n,{name:e,index:r,group:i,on:c3,tween:f3,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:hy})}function cf(t,e){var n=Be(t,e);if(n.state>hy)throw new Error("too late; already scheduled");return n}function He(t,e){var n=Be(t,e);if(n.state>Es)throw new Error("too late; already running");return n}function Be(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function h3(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=Rs(o,0,n.time);function o(u){n.state=sf,n.timer.restart(a,n.delay,n.time),n.delay<=u&&a(u-n.delay)}function a(u){var c,h,f,p;if(n.state!==sf)return l();for(c in r)if(p=r[c],p.name===n.name){if(p.state===Es)return af(a);p.state===py?(p.state=Is,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete r[c]):+c<e&&(p.state=Is,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete r[c])}if(af(function(){n.state===Es&&(n.state=py,n.timer.restart(s,n.delay,n.time),s(u))}),n.state=lf,n.on.call("start",t,t.__data__,n.index,n.group),n.state===lf){for(n.state=Es,i=new Array(f=n.tween.length),c=0,h=-1;c<f;++c)(p=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(i[++h]=p);i.length=h+1}}function s(u){for(var c=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(l),n.state=uf,1),h=-1,f=i.length;++h<f;)i[h].call(t,c);n.state===uf&&(n.on.call("end",t,t.__data__,n.index,n.group),l())}function l(){n.state=Is,n.timer.stop(),delete r[e];for(var u in r)return;delete t.__transition}}function ur(t,e){var n=t.__transition,r,i,o=!0,a;if(n){e=e==null?null:e+"";for(a in n){if((r=n[a]).name!==e){o=!1;continue}i=r.state>lf&&r.state<uf,r.state=Is,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[a]}o&&delete t.__transition}}function p3(t){return this.each(function(){ur(this,t)})}function d3(t,e){var n,r;return function(){var i=He(this,t),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===e){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function g3(t,e,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=He(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:e,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=s;break}l===u&&i.push(s)}o.tween=i}}function m3(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Be(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===t)return a.value;return null}return this.each((e==null?d3:g3)(n,t,e))}function ff(t,e,n){var r=t._id;return t.each(function(){var i=He(this,r);(i.value||(i.value={}))[e]=n.apply(this,arguments)}),function(i){return Be(i,r).value[e]}}function dy(t,e){var n;return(typeof e=="number"?be:e instanceof Dn?bo:(n=Dn(e))?(e=n,bo):nf)(t,e)}function y3(t){return function(){this.removeAttribute(t)}}function b3(t){return function(){this.removeAttributeNS(t.space,t.local)}}function x3(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttribute(t);return a===i?null:a===r?o:o=e(r=a,n)}}function $3(t,e,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(t.space,t.local);return a===i?null:a===r?o:o=e(r=a,n)}}function v3(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function S3(t,e,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s)))}}function _3(t,e){var n=fo(t),r=n==="transform"?ey:dy;return this.attrTween(t,typeof e=="function"?(n.local?S3:v3)(n,r,ff(this,"attr."+t,e)):e==null?(n.local?b3:y3)(n):(n.local?$3:x3)(n,r,e))}function w3(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function T3(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function A3(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&T3(t,o)),n}return i._value=e,i}function P3(t,e){var n,r;function i(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&w3(t,o)),n}return i._value=e,i}function C3(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=fo(t);return this.tween(n,(r.local?A3:P3)(r,e))}function D3(t,e){return function(){cf(this,t).delay=+e.apply(this,arguments)}}function M3(t,e){return e=+e,function(){cf(this,t).delay=e}}function L3(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?D3:M3)(e,t)):Be(this.node(),e).delay}function k3(t,e){return function(){He(this,t).duration=+e.apply(this,arguments)}}function R3(t,e){return e=+e,function(){He(this,t).duration=e}}function E3(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?k3:R3)(e,t)):Be(this.node(),e).duration}function I3(t,e){if(typeof e!="function")throw new Error;return function(){He(this,t).ease=e}}function B3(t){var e=this._id;return arguments.length?this.each(I3(e,t)):Be(this.node(),e).ease}function N3(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;He(this,t).ease=n}}function F3(t){if(typeof t!="function")throw new Error;return this.each(N3(this._id,t))}function z3(t){typeof t!="function"&&(t=Fc(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var o=e[i],a=o.length,s=r[i]=[],l,u=0;u<a;++u)(l=o[u])&&t.call(l,l.__data__,u,o)&&s.push(l);return new qe(r,this._parents,this._name,this._id)}function O3(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l=e[s],u=n[s],c=l.length,h=a[s]=new Array(c),f,p=0;p<c;++p)(f=l[p]||u[p])&&(h[p]=f);for(;s<r;++s)a[s]=e[s];return new qe(a,this._parents,this._name,this._id)}function G3(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function W3(t,e,n){var r,i,o=G3(e)?cf:He;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(e,n),a.on=i}}function Y3(t,e){var n=this._id;return arguments.length<2?Be(this.node(),n).on.on(t):this.each(W3(n,t,e))}function V3(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function U3(){return this.on("end.remove",V3(this._id))}function X3(t){var e=this._name,n=this._id;typeof t!="function"&&(t=ps(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],l=s.length,u=o[a]=new Array(l),c,h,f=0;f<l;++f)(c=s[f])&&(h=t.call(c,c.__data__,f,s))&&("__data__"in c&&(h.__data__=c.__data__),u[f]=h,Bs(u[f],e,n,f,u,Be(c,n)));return new qe(o,this._parents,e,n)}function j3(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Nc(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l=r[s],u=l.length,c,h=0;h<u;++h)if(c=l[h]){for(var f=t.call(c,c.__data__,h,l),p,d=Be(c,n),g=0,m=f.length;g<m;++g)(p=f[g])&&Bs(p,e,n,g,f,d);o.push(f),a.push(c)}return new qe(o,a,e,n)}var H3=rr.prototype.constructor;function q3(){return new H3(this._groups,this._parents)}function Z3(t,e){var n,r,i;return function(){var o=nr(this,t),a=(this.style.removeProperty(t),nr(this,t));return o===a?null:o===n&&a===r?i:i=e(n=o,r=a)}}function gy(t){return function(){this.style.removeProperty(t)}}function K3(t,e,n){var r,i=n+"",o;return function(){var a=nr(this,t);return a===i?null:a===r?o:o=e(r=a,n)}}function Q3(t,e,n){var r,i,o;return function(){var a=nr(this,t),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),nr(this,t))),a===l?null:a===r&&l===i?o:(i=l,o=e(r=a,s))}}function J3(t,e){var n,r,i,o="style."+e,a="end."+o,s;return function(){var l=He(this,t),u=l.on,c=l.value[o]==null?s||(s=gy(e)):void 0;(u!==n||i!==c)&&(r=(n=u).copy()).on(a,i=c),l.on=r}}function t5(t,e,n){var r=(t+="")=="transform"?ty:dy;return e==null?this.styleTween(t,Z3(t,r)).on("end.style."+t,gy(t)):typeof e=="function"?this.styleTween(t,Q3(t,r,ff(this,"style."+t,e))).each(J3(this._id,t)):this.styleTween(t,K3(t,r,e),n).on("end.style."+t,null)}function e5(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function n5(t,e,n){var r,i;function o(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&e5(t,a,n)),r}return o._value=e,o}function r5(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,n5(t,e,n??""))}function i5(t){return function(){this.textContent=t}}function o5(t){return function(){var e=t(this);this.textContent=e??""}}function a5(t){return this.tween("text",typeof t=="function"?o5(ff(this,"text",t)):i5(t==null?"":t+""))}function s5(t){return function(e){this.textContent=t.call(this,e)}}function l5(t){var e,n;function r(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&s5(i)),e}return r._value=t,r}function u5(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,l5(t))}function c5(){for(var t=this._name,e=this._id,n=yy(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)if(l=a[u]){var c=Be(l,e);Bs(l,t,n,u,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new qe(r,this._parents,t,n)}function f5(){var t,e,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){--i===0&&o()}};n.each(function(){var u=He(this,r),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),i===0&&o()})}var h5=0;function qe(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function my(t){return rr().transition(t)}function yy(){return++h5}var ln=rr.prototype;qe.prototype=my.prototype={constructor:qe,select:X3,selectAll:j3,selectChild:ln.selectChild,selectChildren:ln.selectChildren,filter:z3,merge:O3,selection:q3,transition:c5,call:ln.call,nodes:ln.nodes,node:ln.node,size:ln.size,empty:ln.empty,each:ln.each,on:Y3,attr:_3,attrTween:C3,style:t5,styleTween:r5,text:a5,textTween:u5,remove:U3,tween:m3,delay:L3,duration:E3,ease:B3,easeVarying:F3,end:f5,[Symbol.iterator]:ln[Symbol.iterator]};const Ze=t=>+t;function p5(t){return t*t}function d5(t){return t*(2-t)}function by(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function g5(t){return t*t*t}function m5(t){return--t*t*t+1}function Ao(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var hf=3,y5=function t(e){e=+e;function n(r){return Math.pow(r,e)}return n.exponent=t,n}(hf),b5=function t(e){e=+e;function n(r){return 1-Math.pow(1-r,e)}return n.exponent=t,n}(hf),xy=function t(e){e=+e;function n(r){return((r*=2)<=1?Math.pow(r,e):2-Math.pow(2-r,e))/2}return n.exponent=t,n}(hf),$y=Math.PI,vy=$y/2;function x5(t){return+t==1?1:1-Math.cos(t*vy)}function $5(t){return Math.sin(t*vy)}function Sy(t){return(1-Math.cos($y*t))/2}function Mn(t){return(Math.pow(2,-10*t)-.0009765625)*1.0009775171065494}function v5(t){return Mn(1-+t)}function S5(t){return 1-Mn(t)}function _y(t){return((t*=2)<=1?Mn(1-t):2-Mn(t-1))/2}function _5(t){return 1-Math.sqrt(1-t*t)}function w5(t){return Math.sqrt(1- --t*t)}function wy(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var pf=4/11,T5=6/11,A5=8/11,P5=3/4,C5=9/11,D5=10/11,M5=15/16,L5=21/22,k5=63/64,Ns=1/pf/pf;function R5(t){return 1-Po(1-t)}function Po(t){return(t=+t)<pf?Ns*t*t:t<A5?Ns*(t-=T5)*t+P5:t<D5?Ns*(t-=C5)*t+M5:Ns*(t-=L5)*t+k5}function E5(t){return((t*=2)<=1?1-Po(1-t):Po(t-1)+1)/2}var df=1.70158,I5=function t(e){e=+e;function n(r){return(r=+r)*r*(e*(r-1)+r)}return n.overshoot=t,n}(df),B5=function t(e){e=+e;function n(r){return--r*r*((r+1)*e+r)+1}return n.overshoot=t,n}(df),Ty=function t(e){e=+e;function n(r){return((r*=2)<1?r*r*((e+1)*r-e):(r-=2)*r*((e+1)*r+e)+2)/2}return n.overshoot=t,n}(df),si=2*Math.PI,gf=1,mf=.3,N5=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=si);function i(o){return e*Mn(- --o)*Math.sin((r-o)/n)}return i.amplitude=function(o){return t(o,n*si)},i.period=function(o){return t(e,o)},i}(gf,mf),cr=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=si);function i(o){return 1-e*Mn(o=+o)*Math.sin((o+r)/n)}return i.amplitude=function(o){return t(o,n*si)},i.period=function(o){return t(e,o)},i}(gf,mf),F5=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=si);function i(o){return((o=o*2-1)<0?e*Mn(-o)*Math.sin((r-o)/n):2-e*Mn(o)*Math.sin((r+o)/n))/2}return i.amplitude=function(o){return t(o,n*si)},i.period=function(o){return t(e,o)},i}(gf,mf),z5={time:null,delay:0,duration:250,ease:Ao};function O5(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function G5(t){var e,n;t instanceof qe?(e=t._id,t=t._name):(e=yy(),(n=z5).time=wo(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,u=0;u<s;++u)(l=a[u])&&Bs(l,t,e,u,a,n||O5(l,e));return new qe(r,this._parents,t,e)}rr.prototype.interrupt=p3,rr.prototype.transition=G5;var W5=[null];function Y5(t,e){var n=t.__transition,r,i;if(n){e=e==null?null:e+"";for(i in n)if((r=n[i]).state>sf&&r.name===e)return new qe([[t]],W5,e,+i)}return null}const yf=t=>()=>t;function V5(t,{sourceEvent:e,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function U5(t){t.stopImmediatePropagation()}function bf(t){t.preventDefault(),t.stopImmediatePropagation()}var Ay={name:"drag"},xf={name:"space"},li={name:"handle"},ui={name:"center"};const{abs:Py,max:Gt,min:Wt}=Math;function Cy(t){return[+t[0],+t[1]]}function $f(t){return[Cy(t[0]),Cy(t[1])]}var Fs={name:"x",handles:["w","e"].map(Co),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},zs={name:"y",handles:["n","s"].map(Co),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},X5={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Co),input:function(t){return t==null?null:$f(t)},output:function(t){return t}},un={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Dy={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},My={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},j5={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},H5={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Co(t){return{type:t}}function q5(t){return!t.ctrlKey&&!t.button}function Z5(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function K5(){return navigator.maxTouchPoints||"ontouchstart"in this}function vf(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function Q5(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function J5(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function t6(){return Sf(Fs)}function e6(){return Sf(zs)}function n6(){return Sf(X5)}function Sf(t){var e=Z5,n=q5,r=K5,i=!0,o=er("start","brush","end"),a=6,s;function l(m){var b=m.property("__brush",g).selectAll(".overlay").data([Co("overlay")]);b.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",un.overlay).merge(b).each(function(){var x=vf(this).extent;U(this).attr("x",x[0][0]).attr("y",x[0][1]).attr("width",x[1][0]-x[0][0]).attr("height",x[1][1]-x[0][1])}),m.selectAll(".selection").data([Co("selection")]).enter().append("rect").attr("class","selection").attr("cursor",un.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var y=m.selectAll(".handle").data(t.handles,function(x){return x.type});y.exit().remove(),y.enter().append("rect").attr("class",function(x){return"handle handle--"+x.type}).attr("cursor",function(x){return un[x.type]}),m.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(r).on("touchstart.brush",f).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}l.move=function(m,b,y){m.tween?m.on("start.brush",function(x){c(this,arguments).beforestart().start(x)}).on("interrupt.brush end.brush",function(x){c(this,arguments).end(x)}).tween("brush",function(){var x=this,$=x.__brush,S=c(x,arguments),A=$.selection,_=t.input(typeof b=="function"?b.apply(this,arguments):b,$.extent),P=sn(A,_);function M(R){$.selection=R===1&&_===null?null:P(R),u.call(x),S.brush()}return A!==null&&_!==null?M:M(1)}):m.each(function(){var x=this,$=arguments,S=x.__brush,A=t.input(typeof b=="function"?b.apply(x,$):b,S.extent),_=c(x,$).beforestart();ur(x),S.selection=A===null?null:A,u.call(x),_.start(y).brush(y).end(y)})},l.clear=function(m,b){l.move(m,null,b)};function u(){var m=U(this),b=vf(this).selection;b?(m.selectAll(".selection").style("display",null).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1]),m.selectAll(".handle").style("display",null).attr("x",function(y){return y.type[y.type.length-1]==="e"?b[1][0]-a/2:b[0][0]-a/2}).attr("y",function(y){return y.type[0]==="s"?b[1][1]-a/2:b[0][1]-a/2}).attr("width",function(y){return y.type==="n"||y.type==="s"?b[1][0]-b[0][0]+a:a}).attr("height",function(y){return y.type==="e"||y.type==="w"?b[1][1]-b[0][1]+a:a})):m.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(m,b,y){var x=m.__brush.emitter;return x&&(!y||!x.clean)?x:new h(m,b,y)}function h(m,b,y){this.that=m,this.args=b,this.state=m.__brush,this.active=0,this.clean=y}h.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(m,b){return this.starting?(this.starting=!1,this.emit("start",m,b)):this.emit("brush",m),this},brush:function(m,b){return this.emit("brush",m,b),this},end:function(m,b){return--this.active===0&&(delete this.state.emitter,this.emit("end",m,b)),this},emit:function(m,b,y){var x=U(this.that).datum();o.call(m,this.that,new V5(m,{sourceEvent:b,target:l,selection:t.output(this.state.selection),mode:y,dispatch:o}),x)}};function f(m){if(s&&!m.touches||!n.apply(this,arguments))return;var b=this,y=m.target.__data__.type,x=(i&&m.metaKey?y="overlay":y)==="selection"?Ay:i&&m.altKey?ui:li,$=t===zs?null:j5[y],S=t===Fs?null:H5[y],A=vf(b),_=A.extent,P=A.selection,M=_[0][0],R,v,E=_[0][1],k,T,w=_[1][0],C,F,G=_[1][1],B,N,I=0,W=0,H,it=$&&S&&i&&m.shiftKey,Y,tt,V=Array.from(m.touches||[m],ut=>{const Dt=ut.identifier;return ut=ye(ut,b),ut.point0=ut.slice(),ut.identifier=Dt,ut});ur(b);var J=c(b,arguments,!0).beforestart();if(y==="overlay"){P&&(H=!0);const ut=[V[0],V[1]||V[0]];A.selection=P=[[R=t===zs?M:Wt(ut[0][0],ut[1][0]),k=t===Fs?E:Wt(ut[0][1],ut[1][1])],[C=t===zs?w:Gt(ut[0][0],ut[1][0]),B=t===Fs?G:Gt(ut[0][1],ut[1][1])]],V.length>1&&mt(m)}else R=P[0][0],k=P[0][1],C=P[1][0],B=P[1][1];v=R,T=k,F=C,N=B;var Z=U(b).attr("pointer-events","none"),nt=Z.selectAll(".overlay").attr("cursor",un[y]);if(m.touches)J.moved=j,J.ended=ht;else{var lt=U(m.view).on("mousemove.brush",j,!0).on("mouseup.brush",ht,!0);i&&lt.on("keydown.brush",Et,!0).on("keyup.brush",oe,!0),gs(m.view)}u.call(b),J.start(m,x.name);function j(ut){for(const Dt of ut.changedTouches||[ut])for(const $a of V)$a.identifier===Dt.identifier&&($a.cur=ye(Dt,b));if(it&&!Y&&!tt&&V.length===1){const Dt=V[0];Py(Dt.cur[0]-Dt[0])>Py(Dt.cur[1]-Dt[1])?tt=!0:Y=!0}for(const Dt of V)Dt.cur&&(Dt[0]=Dt.cur[0],Dt[1]=Dt.cur[1]);H=!0,bf(ut),mt(ut)}function mt(ut){const Dt=V[0],$a=Dt.point0;var Gn;switch(I=Dt[0]-$a[0],W=Dt[1]-$a[1],x){case xf:case Ay:{$&&(I=Gt(M-R,Wt(w-C,I)),v=R+I,F=C+I),S&&(W=Gt(E-k,Wt(G-B,W)),T=k+W,N=B+W);break}case li:{V[1]?($&&(v=Gt(M,Wt(w,V[0][0])),F=Gt(M,Wt(w,V[1][0])),$=1),S&&(T=Gt(E,Wt(G,V[0][1])),N=Gt(E,Wt(G,V[1][1])),S=1)):($<0?(I=Gt(M-R,Wt(w-R,I)),v=R+I,F=C):$>0&&(I=Gt(M-C,Wt(w-C,I)),v=R,F=C+I),S<0?(W=Gt(E-k,Wt(G-k,W)),T=k+W,N=B):S>0&&(W=Gt(E-B,Wt(G-B,W)),T=k,N=B+W));break}case ui:{$&&(v=Gt(M,Wt(w,R-I*$)),F=Gt(M,Wt(w,C+I*$))),S&&(T=Gt(E,Wt(G,k-W*S)),N=Gt(E,Wt(G,B+W*S)));break}}F<v&&($*=-1,Gn=R,R=C,C=Gn,Gn=v,v=F,F=Gn,y in Dy&&nt.attr("cursor",un[y=Dy[y]])),N<T&&(S*=-1,Gn=k,k=B,B=Gn,Gn=T,T=N,N=Gn,y in My&&nt.attr("cursor",un[y=My[y]])),A.selection&&(P=A.selection),Y&&(v=P[0][0],F=P[1][0]),tt&&(T=P[0][1],N=P[1][1]),(P[0][0]!==v||P[0][1]!==T||P[1][0]!==F||P[1][1]!==N)&&(A.selection=[[v,T],[F,N]],u.call(b),J.brush(ut,x.name))}function ht(ut){if(U5(ut),ut.touches){if(ut.touches.length)return;s&&clearTimeout(s),s=setTimeout(function(){s=null},500)}else ms(ut.view,H),lt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Z.attr("pointer-events","all"),nt.attr("cursor",un.overlay),A.selection&&(P=A.selection),Q5(P)&&(A.selection=null,u.call(b)),J.end(ut,x.name)}function Et(ut){switch(ut.keyCode){case 16:{it=$&&S;break}case 18:{x===li&&($&&(C=F-I*$,R=v+I*$),S&&(B=N-W*S,k=T+W*S),x=ui,mt(ut));break}case 32:{(x===li||x===ui)&&($<0?C=F-I:$>0&&(R=v-I),S<0?B=N-W:S>0&&(k=T-W),x=xf,nt.attr("cursor",un.selection),mt(ut));break}default:return}bf(ut)}function oe(ut){switch(ut.keyCode){case 16:{it&&(Y=tt=it=!1,mt(ut));break}case 18:{x===ui&&($<0?C=F:$>0&&(R=v),S<0?B=N:S>0&&(k=T),x=li,mt(ut));break}case 32:{x===xf&&(ut.altKey?($&&(C=F-I*$,R=v+I*$),S&&(B=N-W*S,k=T+W*S),x=ui):($<0?C=F:$>0&&(R=v),S<0?B=N:S>0&&(k=T),x=li),nt.attr("cursor",un[y]),mt(ut));break}default:return}bf(ut)}}function p(m){c(this,arguments).moved(m)}function d(m){c(this,arguments).ended(m)}function g(){var m=this.__brush||{selection:null};return m.extent=$f(e.apply(this,arguments)),m.dim=t,m}return l.extent=function(m){return arguments.length?(e=typeof m=="function"?m:yf($f(m)),l):e},l.filter=function(m){return arguments.length?(n=typeof m=="function"?m:yf(!!m),l):n},l.touchable=function(m){return arguments.length?(r=typeof m=="function"?m:yf(!!m),l):r},l.handleSize=function(m){return arguments.length?(a=+m,l):a},l.keyModifiers=function(m){return arguments.length?(i=!!m,l):i},l.on=function(){var m=o.on.apply(o,arguments);return m===o?l:m},l}var Ly=Math.abs,ci=Math.cos,fi=Math.sin,ky=Math.PI,Os=ky/2,Ry=ky*2,Ey=Math.max,_f=1e-12;function wf(t,e){return Array.from({length:e-t},(n,r)=>t+r)}function r6(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}function i6(){return Tf(!1,!1)}function o6(){return Tf(!1,!0)}function a6(){return Tf(!0,!1)}function Tf(t,e){var n=0,r=null,i=null,o=null;function a(s){var l=s.length,u=new Array(l),c=wf(0,l),h=new Array(l*l),f=new Array(l),p=0,d;s=Float64Array.from({length:l*l},e?(g,m)=>s[m%l][m/l|0]:(g,m)=>s[m/l|0][m%l]);for(let g=0;g<l;++g){let m=0;for(let b=0;b<l;++b)m+=s[g*l+b]+t*s[b*l+g];p+=u[g]=m}p=Ey(0,Ry-n*l)/p,d=p?n:Ry/l;{let g=0;r&&c.sort((m,b)=>r(u[m],u[b]));for(const m of c){const b=g;if(t){const y=wf(~l+1,l).filter(x=>x<0?s[~x*l+m]:s[m*l+x]);i&&y.sort((x,$)=>i(x<0?-s[~x*l+m]:s[m*l+x],$<0?-s[~$*l+m]:s[m*l+$]));for(const x of y)if(x<0){const $=h[~x*l+m]||(h[~x*l+m]={source:null,target:null});$.target={index:m,startAngle:g,endAngle:g+=s[~x*l+m]*p,value:s[~x*l+m]}}else{const $=h[m*l+x]||(h[m*l+x]={source:null,target:null});$.source={index:m,startAngle:g,endAngle:g+=s[m*l+x]*p,value:s[m*l+x]}}f[m]={index:m,startAngle:b,endAngle:g,value:u[m]}}else{const y=wf(0,l).filter(x=>s[m*l+x]||s[x*l+m]);i&&y.sort((x,$)=>i(s[m*l+x],s[m*l+$]));for(const x of y){let $;if(m<x?($=h[m*l+x]||(h[m*l+x]={source:null,target:null}),$.source={index:m,startAngle:g,endAngle:g+=s[m*l+x]*p,value:s[m*l+x]}):($=h[x*l+m]||(h[x*l+m]={source:null,target:null}),$.target={index:m,startAngle:g,endAngle:g+=s[m*l+x]*p,value:s[m*l+x]},m===x&&($.source=$.target)),$.source&&$.target&&$.source.value<$.target.value){const S=$.source;$.source=$.target,$.target=S}}f[m]={index:m,startAngle:b,endAngle:g,value:u[m]}}g+=d}}return h=Object.values(h),h.groups=f,o?h.sort(o):h}return a.padAngle=function(s){return arguments.length?(n=Ey(0,s),a):n},a.sortGroups=function(s){return arguments.length?(r=s,a):r},a.sortSubgroups=function(s){return arguments.length?(i=s,a):i},a.sortChords=function(s){return arguments.length?(s==null?o=null:(o=r6(s))._=s,a):o&&o._},a}const Af=Math.PI,Pf=2*Af,fr=1e-6,s6=Pf-fr;function Iy(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function l6(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Iy;const n=10**e;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}let Do=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?Iy:l6(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,r,i){this._append`Q${+e},${+n},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(e,n,r,i,o,a){this._append`C${+e},${+n},${+r},${+i},${this._x1=+o},${this._y1=+a}`}arcTo(e,n,r,i,o){if(e=+e,n=+n,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let a=this._x1,s=this._y1,l=r-e,u=i-n,c=a-e,h=s-n,f=c*c+h*h;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(f>fr)if(!(Math.abs(h*l-u*c)>fr)||!o)this._append`L${this._x1=e},${this._y1=n}`;else{let p=r-a,d=i-s,g=l*l+u*u,m=p*p+d*d,b=Math.sqrt(g),y=Math.sqrt(f),x=o*Math.tan((Af-Math.acos((g+f-m)/(2*b*y)))/2),$=x/y,S=x/b;Math.abs($-1)>fr&&this._append`L${e+$*c},${n+$*h}`,this._append`A${o},${o},0,0,${+(h*p>c*d)},${this._x1=e+S*l},${this._y1=n+S*u}`}}arc(e,n,r,i,o,a){if(e=+e,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),l=r*Math.sin(i),u=e+s,c=n+l,h=1^a,f=a?i-o:o-i;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>fr||Math.abs(this._y1-c)>fr)&&this._append`L${u},${c}`,r&&(f<0&&(f=f%Pf+Pf),f>s6?this._append`A${r},${r},0,1,${h},${e-s},${n-l}A${r},${r},0,1,${h},${this._x1=u},${this._y1=c}`:f>fr&&this._append`A${r},${r},0,${+(f>=Af)},${h},${this._x1=e+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function Cf(){return new Do}Cf.prototype=Do.prototype;function u6(t=3){return new Do(+t)}var c6=Array.prototype.slice;function hr(t){return function(){return t}}function f6(t){return t.source}function h6(t){return t.target}function By(t){return t.radius}function p6(t){return t.startAngle}function d6(t){return t.endAngle}function g6(){return 0}function m6(){return 10}function Ny(t){var e=f6,n=h6,r=By,i=By,o=p6,a=d6,s=g6,l=null;function u(){var c,h=e.apply(this,arguments),f=n.apply(this,arguments),p=s.apply(this,arguments)/2,d=c6.call(arguments),g=+r.apply(this,(d[0]=h,d)),m=o.apply(this,d)-Os,b=a.apply(this,d)-Os,y=+i.apply(this,(d[0]=f,d)),x=o.apply(this,d)-Os,$=a.apply(this,d)-Os;if(l||(l=c=Cf()),p>_f&&(Ly(b-m)>p*2+_f?b>m?(m+=p,b-=p):(m-=p,b+=p):m=b=(m+b)/2,Ly($-x)>p*2+_f?$>x?(x+=p,$-=p):(x-=p,$+=p):x=$=(x+$)/2),l.moveTo(g*ci(m),g*fi(m)),l.arc(0,0,g,m,b),m!==x||b!==$)if(t){var S=+t.apply(this,arguments),A=y-S,_=(x+$)/2;l.quadraticCurveTo(0,0,A*ci(x),A*fi(x)),l.lineTo(y*ci(_),y*fi(_)),l.lineTo(A*ci($),A*fi($))}else l.quadraticCurveTo(0,0,y*ci(x),y*fi(x)),l.arc(0,0,y,x,$);if(l.quadraticCurveTo(0,0,g*ci(m),g*fi(m)),l.closePath(),c)return l=null,c+""||null}return t&&(u.headRadius=function(c){return arguments.length?(t=typeof c=="function"?c:hr(+c),u):t}),u.radius=function(c){return arguments.length?(r=i=typeof c=="function"?c:hr(+c),u):r},u.sourceRadius=function(c){return arguments.length?(r=typeof c=="function"?c:hr(+c),u):r},u.targetRadius=function(c){return arguments.length?(i=typeof c=="function"?c:hr(+c),u):i},u.startAngle=function(c){return arguments.length?(o=typeof c=="function"?c:hr(+c),u):o},u.endAngle=function(c){return arguments.length?(a=typeof c=="function"?c:hr(+c),u):a},u.padAngle=function(c){return arguments.length?(s=typeof c=="function"?c:hr(+c),u):s},u.source=function(c){return arguments.length?(e=c,u):e},u.target=function(c){return arguments.length?(n=c,u):n},u.context=function(c){return arguments.length?(l=c??null,u):l},u}function y6(){return Ny()}function b6(){return Ny(m6)}var x6=Array.prototype,Fy=x6.slice;function $6(t,e){return t-e}function v6(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}const Ln=t=>()=>t;function S6(t,e){for(var n=-1,r=e.length,i;++n<r;)if(i=_6(t,e[n]))return i;return 0}function _6(t,e){for(var n=e[0],r=e[1],i=-1,o=0,a=t.length,s=a-1;o<a;s=o++){var l=t[o],u=l[0],c=l[1],h=t[s],f=h[0],p=h[1];if(w6(l,h,e))return 0;c>r!=p>r&&n<(f-u)*(r-c)/(p-c)+u&&(i=-i)}return i}function w6(t,e,n){var r;return T6(t,e,n)&&A6(t[r=+(t[0]===e[0])],n[r],e[r])}function T6(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function A6(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function P6(){}var cn=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Df(){var t=1,e=1,n=Pc,r=l;function i(u){var c=n(u);if(Array.isArray(c))c=c.slice().sort($6);else{const h=oo(u,C6);for(c=Jn(...Ac(h[0],h[1],c),c);c[c.length-1]>=h[1];)c.pop();for(;c[1]<h[0];)c.shift()}return c.map(h=>o(u,h))}function o(u,c){const h=c==null?NaN:+c;if(isNaN(h))throw new Error(`invalid value: ${c}`);var f=[],p=[];return a(u,h,function(d){r(d,u,h),v6(d)>0?f.push([d]):p.push(d)}),p.forEach(function(d){for(var g=0,m=f.length,b;g<m;++g)if(S6((b=f[g])[0],d)!==-1){b.push(d);return}}),{type:"MultiPolygon",value:c,coordinates:f}}function a(u,c,h){var f=new Array,p=new Array,d,g,m,b,y,x;for(d=g=-1,b=pr(u[0],c),cn[b<<1].forEach($);++d<t-1;)m=b,b=pr(u[d+1],c),cn[m|b<<1].forEach($);for(cn[b<<0].forEach($);++g<e-1;){for(d=-1,b=pr(u[g*t+t],c),y=pr(u[g*t],c),cn[b<<1|y<<2].forEach($);++d<t-1;)m=b,b=pr(u[g*t+t+d+1],c),x=y,y=pr(u[g*t+d+1],c),cn[m|b<<1|y<<2|x<<3].forEach($);cn[b|y<<3].forEach($)}for(d=-1,y=u[g*t]>=c,cn[y<<2].forEach($);++d<t-1;)x=y,y=pr(u[g*t+d+1],c),cn[y<<2|x<<3].forEach($);cn[y<<3].forEach($);function $(S){var A=[S[0][0]+d,S[0][1]+g],_=[S[1][0]+d,S[1][1]+g],P=s(A),M=s(_),R,v;(R=p[P])?(v=f[M])?(delete p[R.end],delete f[v.start],R===v?(R.ring.push(_),h(R.ring)):f[R.start]=p[v.end]={start:R.start,end:v.end,ring:R.ring.concat(v.ring)}):(delete p[R.end],R.ring.push(_),p[R.end=M]=R):(R=f[M])?(v=p[P])?(delete f[R.start],delete p[v.end],R===v?(R.ring.push(_),h(R.ring)):f[v.start]=p[R.end]={start:v.start,end:R.end,ring:v.ring.concat(R.ring)}):(delete f[R.start],R.ring.unshift(A),f[R.start=P]=R):f[P]=p[M]={start:P,end:M,ring:[A,_]}}}function s(u){return u[0]*2+u[1]*(t+1)*4}function l(u,c,h){u.forEach(function(f){var p=f[0],d=f[1],g=p|0,m=d|0,b=Mf(c[m*t+g]);p>0&&p<t&&g===p&&(f[0]=zy(p,Mf(c[m*t+g-1]),b,h)),d>0&&d<e&&m===d&&(f[1]=zy(d,Mf(c[(m-1)*t+g]),b,h))})}return i.contour=o,i.size=function(u){if(!arguments.length)return[t,e];var c=Math.floor(u[0]),h=Math.floor(u[1]);if(!(c>=0&&h>=0))throw new Error("invalid size");return t=c,e=h,i},i.thresholds=function(u){return arguments.length?(n=typeof u=="function"?u:Array.isArray(u)?Ln(Fy.call(u)):Ln(u),i):n},i.smooth=function(u){return arguments.length?(r=u?l:P6,i):r===l},i}function C6(t){return isFinite(t)?t:NaN}function pr(t,e){return t==null?!1:+t>=e}function Mf(t){return t==null||isNaN(t=+t)?-1/0:t}function zy(t,e,n,r){const i=r-e,o=n-e,a=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(a)?t:t+a-.5}function D6(t){return t[0]}function M6(t){return t[1]}function L6(){return 1}function k6(){var t=D6,e=M6,n=L6,r=960,i=500,o=20,a=2,s=o*3,l=r+s*2>>a,u=i+s*2>>a,c=Ln(20);function h(y){var x=new Float32Array(l*u),$=Math.pow(2,-a),S=-1;for(const k of y){var A=(t(k,++S,y)+s)*$,_=(e(k,S,y)+s)*$,P=+n(k,S,y);if(P&&A>=0&&A<l&&_>=0&&_<u){var M=Math.floor(A),R=Math.floor(_),v=A-M-.5,E=_-R-.5;x[M+R*l]+=(1-v)*(1-E)*P,x[M+1+R*l]+=v*(1-E)*P,x[M+1+(R+1)*l]+=v*E*P,x[M+(R+1)*l]+=(1-v)*E*P}}return B0({data:x,width:l,height:u},o*$),x}function f(y){var x=h(y),$=c(x),S=Math.pow(2,2*a);return Array.isArray($)||($=Jn(Number.MIN_VALUE,so(x)/S,$)),Df().size([l,u]).thresholds($.map(A=>A*S))(x).map((A,_)=>(A.value=+$[_],p(A)))}f.contours=function(y){var x=h(y),$=Df().size([l,u]),S=Math.pow(2,2*a),A=_=>{_=+_;var P=p($.contour(x,_*S));return P.value=_,P};return Object.defineProperty(A,"max",{get:()=>so(x)/S}),A};function p(y){return y.coordinates.forEach(d),y}function d(y){y.forEach(g)}function g(y){y.forEach(m)}function m(y){y[0]=y[0]*Math.pow(2,a)-s,y[1]=y[1]*Math.pow(2,a)-s}function b(){return s=o*3,l=r+s*2>>a,u=i+s*2>>a,f}return f.x=function(y){return arguments.length?(t=typeof y=="function"?y:Ln(+y),f):t},f.y=function(y){return arguments.length?(e=typeof y=="function"?y:Ln(+y),f):e},f.weight=function(y){return arguments.length?(n=typeof y=="function"?y:Ln(+y),f):n},f.size=function(y){if(!arguments.length)return[r,i];var x=+y[0],$=+y[1];if(!(x>=0&&$>=0))throw new Error("invalid size");return r=x,i=$,b()},f.cellSize=function(y){if(!arguments.length)return 1<<a;if(!((y=+y)>=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(y)/Math.LN2),b()},f.thresholds=function(y){return arguments.length?(c=typeof y=="function"?y:Array.isArray(y)?Ln(Fy.call(y)):Ln(y),f):c},f.bandwidth=function(y){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((y=+y)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*y*y+1)-1)/2,b()},f}const fn=11102230246251565e-32,Yt=134217729,R6=(3+8*fn)*fn;function Lf(t,e,n,r,i){let o,a,s,l,u=e[0],c=r[0],h=0,f=0;c>u==c>-u?(o=u,u=e[++h]):(o=c,c=r[++f]);let p=0;if(h<t&&f<n)for(c>u==c>-u?(a=u+o,s=o-(a-u),u=e[++h]):(a=c+o,s=o-(a-c),c=r[++f]),o=a,s!==0&&(i[p++]=s);h<t&&f<n;)c>u==c>-u?(a=o+u,l=a-o,s=o-(a-l)+(u-l),u=e[++h]):(a=o+c,l=a-o,s=o-(a-l)+(c-l),c=r[++f]),o=a,s!==0&&(i[p++]=s);for(;h<t;)a=o+u,l=a-o,s=o-(a-l)+(u-l),u=e[++h],o=a,s!==0&&(i[p++]=s);for(;f<n;)a=o+c,l=a-o,s=o-(a-l)+(c-l),c=r[++f],o=a,s!==0&&(i[p++]=s);return(o!==0||p===0)&&(i[p++]=o),p}function E6(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function Mo(t){return new Float64Array(t)}const I6=(3+16*fn)*fn,B6=(2+12*fn)*fn,N6=(9+64*fn)*fn*fn,hi=Mo(4),Oy=Mo(8),Gy=Mo(12),Wy=Mo(16),Ht=Mo(4);function F6(t,e,n,r,i,o,a){let s,l,u,c,h,f,p,d,g,m,b,y,x,$,S,A,_,P;const M=t-i,R=n-i,v=e-o,E=r-o;$=M*E,f=Yt*M,p=f-(f-M),d=M-p,f=Yt*E,g=f-(f-E),m=E-g,S=d*m-($-p*g-d*g-p*m),A=v*R,f=Yt*v,p=f-(f-v),d=v-p,f=Yt*R,g=f-(f-R),m=R-g,_=d*m-(A-p*g-d*g-p*m),b=S-_,h=S-b,hi[0]=S-(b+h)+(h-_),y=$+b,h=y-$,x=$-(y-h)+(b-h),b=x-A,h=x-b,hi[1]=x-(b+h)+(h-A),P=y+b,h=P-y,hi[2]=y-(P-h)+(b-h),hi[3]=P;let k=E6(4,hi),T=B6*a;if(k>=T||-k>=T||(h=t-M,s=t-(M+h)+(h-i),h=n-R,u=n-(R+h)+(h-i),h=e-v,l=e-(v+h)+(h-o),h=r-E,c=r-(E+h)+(h-o),s===0&&l===0&&u===0&&c===0)||(T=N6*a+R6*Math.abs(k),k+=M*c+E*s-(v*u+R*l),k>=T||-k>=T))return k;$=s*E,f=Yt*s,p=f-(f-s),d=s-p,f=Yt*E,g=f-(f-E),m=E-g,S=d*m-($-p*g-d*g-p*m),A=l*R,f=Yt*l,p=f-(f-l),d=l-p,f=Yt*R,g=f-(f-R),m=R-g,_=d*m-(A-p*g-d*g-p*m),b=S-_,h=S-b,Ht[0]=S-(b+h)+(h-_),y=$+b,h=y-$,x=$-(y-h)+(b-h),b=x-A,h=x-b,Ht[1]=x-(b+h)+(h-A),P=y+b,h=P-y,Ht[2]=y-(P-h)+(b-h),Ht[3]=P;const w=Lf(4,hi,4,Ht,Oy);$=M*c,f=Yt*M,p=f-(f-M),d=M-p,f=Yt*c,g=f-(f-c),m=c-g,S=d*m-($-p*g-d*g-p*m),A=v*u,f=Yt*v,p=f-(f-v),d=v-p,f=Yt*u,g=f-(f-u),m=u-g,_=d*m-(A-p*g-d*g-p*m),b=S-_,h=S-b,Ht[0]=S-(b+h)+(h-_),y=$+b,h=y-$,x=$-(y-h)+(b-h),b=x-A,h=x-b,Ht[1]=x-(b+h)+(h-A),P=y+b,h=P-y,Ht[2]=y-(P-h)+(b-h),Ht[3]=P;const C=Lf(w,Oy,4,Ht,Gy);$=s*c,f=Yt*s,p=f-(f-s),d=s-p,f=Yt*c,g=f-(f-c),m=c-g,S=d*m-($-p*g-d*g-p*m),A=l*u,f=Yt*l,p=f-(f-l),d=l-p,f=Yt*u,g=f-(f-u),m=u-g,_=d*m-(A-p*g-d*g-p*m),b=S-_,h=S-b,Ht[0]=S-(b+h)+(h-_),y=$+b,h=y-$,x=$-(y-h)+(b-h),b=x-A,h=x-b,Ht[1]=x-(b+h)+(h-A),P=y+b,h=P-y,Ht[2]=y-(P-h)+(b-h),Ht[3]=P;const F=Lf(C,Gy,4,Ht,Wy);return Wy[F-1]}function Gs(t,e,n,r,i,o){const a=(e-o)*(n-i),s=(t-i)*(r-o),l=a-s,u=Math.abs(a+s);return Math.abs(l)>=I6*u?l:-F6(t,e,n,r,i,o,u)}const Yy=Math.pow(2,-52),Ws=new Uint32Array(512);class Ys{static from(e,n=Y6,r=V6){const i=e.length,o=new Float64Array(i*2);for(let a=0;a<i;a++){const s=e[a];o[2*a]=n(s),o[2*a+1]=r(s)}return new Ys(o)}constructor(e){const n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;const r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:o}=this,a=e.length>>1;let s=1/0,l=1/0,u=-1/0,c=-1/0;for(let M=0;M<a;M++){const R=e[2*M],v=e[2*M+1];R<s&&(s=R),v<l&&(l=v),R>u&&(u=R),v>c&&(c=v),this._ids[M]=M}const h=(s+u)/2,f=(l+c)/2;let p,d,g;for(let M=0,R=1/0;M<a;M++){const v=kf(h,f,e[2*M],e[2*M+1]);v<R&&(p=M,R=v)}const m=e[2*p],b=e[2*p+1];for(let M=0,R=1/0;M<a;M++){if(M===p)continue;const v=kf(m,b,e[2*M],e[2*M+1]);v<R&&v>0&&(d=M,R=v)}let y=e[2*d],x=e[2*d+1],$=1/0;for(let M=0;M<a;M++){if(M===p||M===d)continue;const R=G6(m,b,y,x,e[2*M],e[2*M+1]);R<$&&(g=M,$=R)}let S=e[2*g],A=e[2*g+1];if($===1/0){for(let v=0;v<a;v++)this._dists[v]=e[2*v]-e[0]||e[2*v+1]-e[1];pi(this._ids,this._dists,0,a-1);const M=new Uint32Array(a);let R=0;for(let v=0,E=-1/0;v<a;v++){const k=this._ids[v],T=this._dists[k];T>E&&(M[R++]=k,E=T)}this.hull=M.subarray(0,R),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Gs(m,b,y,x,S,A)<0){const M=d,R=y,v=x;d=g,y=S,x=A,g=M,S=R,A=v}const _=W6(m,b,y,x,S,A);this._cx=_.x,this._cy=_.y;for(let M=0;M<a;M++)this._dists[M]=kf(e[2*M],e[2*M+1],_.x,_.y);pi(this._ids,this._dists,0,a-1),this._hullStart=p;let P=3;r[p]=n[g]=d,r[d]=n[p]=g,r[g]=n[d]=p,i[p]=0,i[d]=1,i[g]=2,o.fill(-1),o[this._hashKey(m,b)]=p,o[this._hashKey(y,x)]=d,o[this._hashKey(S,A)]=g,this.trianglesLen=0,this._addTriangle(p,d,g,-1,-1,-1);for(let M=0,R,v;M<this._ids.length;M++){const E=this._ids[M],k=e[2*E],T=e[2*E+1];if(M>0&&Math.abs(k-R)<=Yy&&Math.abs(T-v)<=Yy||(R=k,v=T,E===p||E===d||E===g))continue;let w=0;for(let N=0,I=this._hashKey(k,T);N<this._hashSize&&(w=o[(I+N)%this._hashSize],!(w!==-1&&w!==r[w]));N++);w=n[w];let C=w,F;for(;F=r[C],Gs(k,T,e[2*C],e[2*C+1],e[2*F],e[2*F+1])>=0;)if(C=F,C===w){C=-1;break}if(C===-1)continue;let G=this._addTriangle(C,E,r[C],-1,-1,i[C]);i[E]=this._legalize(G+2),i[C]=G,P++;let B=r[C];for(;F=r[B],Gs(k,T,e[2*B],e[2*B+1],e[2*F],e[2*F+1])<0;)G=this._addTriangle(B,E,F,i[E],-1,i[B]),i[E]=this._legalize(G+2),r[B]=B,P--,B=F;if(C===w)for(;F=n[C],Gs(k,T,e[2*F],e[2*F+1],e[2*C],e[2*C+1])<0;)G=this._addTriangle(F,E,C,-1,i[C],i[F]),this._legalize(G+2),i[F]=G,r[C]=C,P--,C=F;this._hullStart=n[E]=C,r[C]=n[B]=E,r[E]=B,o[this._hashKey(k,T)]=E,o[this._hashKey(e[2*C],e[2*C+1])]=C}this.hull=new Uint32Array(P);for(let M=0,R=this._hullStart;M<P;M++)this.hull[M]=R,R=r[R];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(z6(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:r,coords:i}=this;let o=0,a=0;for(;;){const s=r[e],l=e-e%3;if(a=l+(e+2)%3,s===-1){if(o===0)break;e=Ws[--o];continue}const u=s-s%3,c=l+(e+1)%3,h=u+(s+2)%3,f=n[a],p=n[e],d=n[c],g=n[h];if(O6(i[2*f],i[2*f+1],i[2*p],i[2*p+1],i[2*d],i[2*d+1],i[2*g],i[2*g+1])){n[e]=g,n[s]=f;const b=r[h];if(b===-1){let x=this._hullStart;do{if(this._hullTri[x]===h){this._hullTri[x]=e;break}x=this._hullPrev[x]}while(x!==this._hullStart)}this._link(e,b),this._link(s,r[a]),this._link(a,h);const y=u+(s+1)%3;o<Ws.length&&(Ws[o++]=y)}else{if(o===0)break;e=Ws[--o]}}return a}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,i,o,a){const s=this.trianglesLen;return this._triangles[s]=e,this._triangles[s+1]=n,this._triangles[s+2]=r,this._link(s,i),this._link(s+1,o),this._link(s+2,a),this.trianglesLen+=3,s}}function z6(t,e){const n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function kf(t,e,n,r){const i=t-n,o=e-r;return i*i+o*o}function O6(t,e,n,r,i,o,a,s){const l=t-a,u=e-s,c=n-a,h=r-s,f=i-a,p=o-s,d=l*l+u*u,g=c*c+h*h,m=f*f+p*p;return l*(h*m-g*p)-u*(c*m-g*f)+d*(c*p-h*f)<0}function G6(t,e,n,r,i,o){const a=n-t,s=r-e,l=i-t,u=o-e,c=a*a+s*s,h=l*l+u*u,f=.5/(a*u-s*l),p=(u*c-s*h)*f,d=(a*h-l*c)*f;return p*p+d*d}function W6(t,e,n,r,i,o){const a=n-t,s=r-e,l=i-t,u=o-e,c=a*a+s*s,h=l*l+u*u,f=.5/(a*u-s*l),p=t+(u*c-s*h)*f,d=e+(a*h-l*c)*f;return{x:p,y:d}}function pi(t,e,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){const o=t[i],a=e[o];let s=i-1;for(;s>=n&&e[t[s]]>a;)t[s+1]=t[s--];t[s+1]=o}else{const i=n+r>>1;let o=n+1,a=r;Lo(t,i,o),e[t[n]]>e[t[r]]&&Lo(t,n,r),e[t[o]]>e[t[r]]&&Lo(t,o,r),e[t[n]]>e[t[o]]&&Lo(t,n,o);const s=t[o],l=e[s];for(;;){do o++;while(e[t[o]]<l);do a--;while(e[t[a]]>l);if(a<o)break;Lo(t,o,a)}t[n+1]=t[a],t[a]=s,r-o+1>=a-n?(pi(t,e,o,r),pi(t,e,n,a-1)):(pi(t,e,n,a-1),pi(t,e,o,r))}}function Lo(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Y6(t){return t[0]}function V6(t){return t[1]}const Vy=1e-6;class dr{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;const i=e+r,o=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${o}`:(Math.abs(this._x1-i)>Vy||Math.abs(this._y1-o)>Vy)&&(this._+="L"+i+","+o),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=o}`)}rect(e,n,r,i){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class Rf{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}}class Uy{constructor(e,[n,r,i,o]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((o=+o)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=i,this.xmin=n,this.ymax=o,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:n,triangles:r},vectors:i}=this;let o,a;const s=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let g=0,m=0,b=r.length,y,x;g<b;g+=3,m+=2){const $=r[g]*2,S=r[g+1]*2,A=r[g+2]*2,_=e[$],P=e[$+1],M=e[S],R=e[S+1],v=e[A],E=e[A+1],k=M-_,T=R-P,w=v-_,C=E-P,F=(k*C-T*w)*2;if(Math.abs(F)<1e-9){if(o===void 0){o=a=0;for(const B of n)o+=e[B*2],a+=e[B*2+1];o/=n.length,a/=n.length}const G=1e9*Math.sign((o-_)*C-(a-P)*w);y=(_+v)/2-G*C,x=(P+E)/2+G*w}else{const G=1/F,B=k*k+T*T,N=w*w+C*C;y=_+(C*B-T*N)*G,x=P+(k*N-w*B)*G}s[m]=y,s[m+1]=x}let l=n[n.length-1],u,c=l*4,h,f=e[2*l],p,d=e[2*l+1];i.fill(0);for(let g=0;g<n.length;++g)l=n[g],u=c,h=f,p=d,c=l*4,f=e[2*l],d=e[2*l+1],i[u+2]=i[c]=p-d,i[u+3]=i[c+1]=f-h}render(e){const n=e==null?e=new dr:void 0,{delaunay:{halfedges:r,inedges:i,hull:o},circumcenters:a,vectors:s}=this;if(o.length<=1)return null;for(let c=0,h=r.length;c<h;++c){const f=r[c];if(f<c)continue;const p=Math.floor(c/3)*2,d=Math.floor(f/3)*2,g=a[p],m=a[p+1],b=a[d],y=a[d+1];this._renderSegment(g,m,b,y,e)}let l,u=o[o.length-1];for(let c=0;c<o.length;++c){l=u,u=o[c];const h=Math.floor(i[u]/3)*2,f=a[h],p=a[h+1],d=l*4,g=this._project(f,p,s[d+2],s[d+3]);g&&this._renderSegment(f,p,g[0],g[1],e)}return n&&n.value()}renderBounds(e){const n=e==null?e=new dr:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){const r=n==null?n=new dr:void 0,i=this._clip(e);if(i===null||!i.length)return;n.moveTo(i[0],i[1]);let o=i.length;for(;i[0]===i[o-2]&&i[1]===i[o-1]&&o>1;)o-=2;for(let a=2;a<o;a+=2)(i[a]!==i[a-2]||i[a+1]!==i[a-1])&&n.lineTo(i[a],i[a+1]);return n.closePath(),r&&r.value()}*cellPolygons(){const{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){const i=this.cellPolygon(n);i&&(i.index=n,yield i)}}cellPolygon(e){const n=new Rf;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,i,o){let a;const s=this._regioncode(e,n),l=this._regioncode(r,i);s===0&&l===0?(o.moveTo(e,n),o.lineTo(r,i)):(a=this._clipSegment(e,n,r,i,s,l))&&(o.moveTo(a[0],a[1]),o.lineTo(a[2],a[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){const n=this._clip(e);if(n)for(const r of this.delaunay.neighbors(e)){const i=this._clip(r);if(i){t:for(let o=0,a=n.length;o<a;o+=2)for(let s=0,l=i.length;s<l;s+=2)if(n[o]===i[s]&&n[o+1]===i[s+1]&&n[(o+2)%a]===i[(s+l-2)%l]&&n[(o+3)%a]===i[(s+l-1)%l]){yield r;break t}}}}_cell(e){const{circumcenters:n,delaunay:{inedges:r,halfedges:i,triangles:o}}=this,a=r[e];if(a===-1)return null;const s=[];let l=a;do{const u=Math.floor(l/3);if(s.push(n[u*2],n[u*2+1]),l=l%3===2?l-2:l+1,o[l]!==e)break;l=i[l]}while(l!==a&&l!==-1);return s}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(e);if(n===null)return null;const{vectors:r}=this,i=e*4;return this._simplify(r[i]||r[i+1]?this._clipInfinite(e,n,r[i],r[i+1],r[i+2],r[i+3]):this._clipFinite(e,n))}_clipFinite(e,n){const r=n.length;let i=null,o,a,s=n[r-2],l=n[r-1],u,c=this._regioncode(s,l),h,f=0;for(let p=0;p<r;p+=2)if(o=s,a=l,s=n[p],l=n[p+1],u=c,c=this._regioncode(s,l),u===0&&c===0)h=f,f=0,i?i.push(s,l):i=[s,l];else{let d,g,m,b,y;if(u===0){if((d=this._clipSegment(o,a,s,l,u,c))===null)continue;[g,m,b,y]=d}else{if((d=this._clipSegment(s,l,o,a,c,u))===null)continue;[b,y,g,m]=d,h=f,f=this._edgecode(g,m),h&&f&&this._edge(e,h,f,i,i.length),i?i.push(g,m):i=[g,m]}h=f,f=this._edgecode(b,y),h&&f&&this._edge(e,h,f,i,i.length),i?i.push(b,y):i=[b,y]}if(i)h=f,f=this._edgecode(i[0],i[1]),h&&f&&this._edge(e,h,f,i,i.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return i}_clipSegment(e,n,r,i,o,a){const s=o<a;for(s&&([e,n,r,i,o,a]=[r,i,e,n,a,o]);;){if(o===0&&a===0)return s?[r,i,e,n]:[e,n,r,i];if(o&a)return null;let l,u,c=o||a;c&8?(l=e+(r-e)*(this.ymax-n)/(i-n),u=this.ymax):c&4?(l=e+(r-e)*(this.ymin-n)/(i-n),u=this.ymin):c&2?(u=n+(i-n)*(this.xmax-e)/(r-e),l=this.xmax):(u=n+(i-n)*(this.xmin-e)/(r-e),l=this.xmin),o?(e=l,n=u,o=this._regioncode(e,n)):(r=l,i=u,a=this._regioncode(r,i))}}_clipInfinite(e,n,r,i,o,a){let s=Array.from(n),l;if((l=this._project(s[0],s[1],r,i))&&s.unshift(l[0],l[1]),(l=this._project(s[s.length-2],s[s.length-1],o,a))&&s.push(l[0],l[1]),s=this._clipFinite(e,s))for(let u=0,c=s.length,h,f=this._edgecode(s[c-2],s[c-1]);u<c;u+=2)h=f,f=this._edgecode(s[u],s[u+1]),h&&f&&(u=this._edge(e,h,f,s,u),c=s.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(e,n,r,i,o){for(;n!==r;){let a,s;switch(n){case 5:n=4;continue;case 4:n=6,a=this.xmax,s=this.ymin;break;case 6:n=2;continue;case 2:n=10,a=this.xmax,s=this.ymax;break;case 10:n=8;continue;case 8:n=9,a=this.xmin,s=this.ymax;break;case 9:n=1;continue;case 1:n=5,a=this.xmin,s=this.ymin;break}(i[o]!==a||i[o+1]!==s)&&this.contains(e,a,s)&&(i.splice(o,0,a,s),o+=2)}return o}_project(e,n,r,i){let o=1/0,a,s,l;if(i<0){if(n<=this.ymin)return null;(a=(this.ymin-n)/i)<o&&(l=this.ymin,s=e+(o=a)*r)}else if(i>0){if(n>=this.ymax)return null;(a=(this.ymax-n)/i)<o&&(l=this.ymax,s=e+(o=a)*r)}if(r>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/r)<o&&(s=this.xmax,l=n+(o=a)*i)}else if(r<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/r)<o&&(s=this.xmin,l=n+(o=a)*i)}return[s,l]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){const r=(n+2)%e.length,i=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[i]||e[n+1]===e[r+1]&&e[r+1]===e[i+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}}const U6=2*Math.PI,di=Math.pow;function X6(t){return t[0]}function j6(t){return t[1]}function H6(t){const{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){const i=2*e[r],o=2*e[r+1],a=2*e[r+2];if((n[a]-n[i])*(n[o+1]-n[i+1])-(n[o]-n[i])*(n[a+1]-n[i+1])>1e-10)return!1}return!0}function q6(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class Ef{static from(e,n=X6,r=j6,i){return new Ef("length"in e?Z6(e,n,r,i):Float64Array.from(K6(e,n,r,i)))}constructor(e){this._delaunator=new Ys(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&H6(e)){this.collinear=Int32Array.from({length:n.length/2},(f,p)=>p).sort((f,p)=>n[2*f]-n[2*p]||n[2*f+1]-n[2*p+1]);const l=this.collinear[0],u=this.collinear[this.collinear.length-1],c=[n[2*l],n[2*l+1],n[2*u],n[2*u+1]],h=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let f=0,p=n.length/2;f<p;++f){const d=q6(n[2*f],n[2*f+1],h);n[2*f]=d[0],n[2*f+1]=d[1]}this._delaunator=new Ys(n)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),s=this._hullIndex.fill(-1);for(let l=0,u=r.length;l<u;++l){const c=o[l%3===2?l-2:l+1];(r[l]===-1||a[c]===-1)&&(a[c]=l)}for(let l=0,u=i.length;l<u;++l)s[i[l]]=l;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],a[i[0]]=1,i.length===2&&(a[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(e){return new Uy(this,e)}*neighbors(e){const{inedges:n,hull:r,_hullIndex:i,halfedges:o,triangles:a,collinear:s}=this;if(s){const h=s.indexOf(e);h>0&&(yield s[h-1]),h<s.length-1&&(yield s[h+1]);return}const l=n[e];if(l===-1)return;let u=l,c=-1;do{if(yield c=a[u],u=u%3===2?u-2:u+1,a[u]!==e)return;if(u=o[u],u===-1){const h=r[(i[e]+1)%r.length];h!==c&&(yield h);return}}while(u!==l)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;const i=r;let o;for(;(o=this._step(r,e,n))>=0&&o!==r&&o!==i;)r=o;return o}_step(e,n,r){const{inedges:i,hull:o,_hullIndex:a,halfedges:s,triangles:l,points:u}=this;if(i[e]===-1||!u.length)return(e+1)%(u.length>>1);let c=e,h=di(n-u[e*2],2)+di(r-u[e*2+1],2);const f=i[e];let p=f;do{let d=l[p];const g=di(n-u[d*2],2)+di(r-u[d*2+1],2);if(g<h&&(h=g,c=d),p=p%3===2?p-2:p+1,l[p]!==e)break;if(p=s[p],p===-1){if(p=o[(a[e]+1)%o.length],p!==d&&di(n-u[p*2],2)+di(r-u[p*2+1],2)<h)return p;break}}while(p!==f);return c}render(e){const n=e==null?e=new dr:void 0,{points:r,halfedges:i,triangles:o}=this;for(let a=0,s=i.length;a<s;++a){const l=i[a];if(l<a)continue;const u=o[a]*2,c=o[l]*2;e.moveTo(r[u],r[u+1]),e.lineTo(r[c],r[c+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;const r=e==null?e=new dr:void 0,{points:i}=this;for(let o=0,a=i.length;o<a;o+=2){const s=i[o],l=i[o+1];e.moveTo(s+n,l),e.arc(s,l,n,0,U6)}return r&&r.value()}renderHull(e){const n=e==null?e=new dr:void 0,{hull:r,points:i}=this,o=r[0]*2,a=r.length;e.moveTo(i[o],i[o+1]);for(let s=1;s<a;++s){const l=2*r[s];e.lineTo(i[l],i[l+1])}return e.closePath(),n&&n.value()}hullPolygon(){const e=new Rf;return this.renderHull(e),e.value()}renderTriangle(e,n){const r=n==null?n=new dr:void 0,{points:i,triangles:o}=this,a=o[e*=3]*2,s=o[e+1]*2,l=o[e+2]*2;return n.moveTo(i[a],i[a+1]),n.lineTo(i[s],i[s+1]),n.lineTo(i[l],i[l+1]),n.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){const n=new Rf;return this.renderTriangle(e,n),n.value()}}function Z6(t,e,n,r){const i=t.length,o=new Float64Array(i*2);for(let a=0;a<i;++a){const s=t[a];o[a*2]=e.call(r,s,a,t),o[a*2+1]=n.call(r,s,a,t)}return o}function*K6(t,e,n,r){let i=0;for(const o of t)yield e.call(r,o,i,t),yield n.call(r,o,i,t),++i}var Xy={},If={},Bf=34,ko=10,Nf=13;function jy(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function Q6(t,e){var n=jy(t);return function(r,i){return e(n(r),i,t)}}function Hy(t){var e=Object.create(null),n=[];return t.forEach(function(r){for(var i in r)i in e||n.push(e[i]=i)}),n}function ue(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function J6(t){return t<0?"-"+ue(-t,6):t>9999?"+"+ue(t,6):ue(t,4)}function t8(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":J6(t.getUTCFullYear())+"-"+ue(t.getUTCMonth()+1,2)+"-"+ue(t.getUTCDate(),2)+(i?"T"+ue(e,2)+":"+ue(n,2)+":"+ue(r,2)+"."+ue(i,3)+"Z":r?"T"+ue(e,2)+":"+ue(n,2)+":"+ue(r,2)+"Z":n||e?"T"+ue(e,2)+":"+ue(n,2)+"Z":"")}function Vs(t){var e=new RegExp('["'+t+`
52
+ \r]`),n=t.charCodeAt(0);function r(h,f){var p,d,g=i(h,function(m,b){if(p)return p(m,b-1);d=m,p=f?Q6(m,f):jy(m)});return g.columns=d||[],g}function i(h,f){var p=[],d=h.length,g=0,m=0,b,y=d<=0,x=!1;h.charCodeAt(d-1)===ko&&--d,h.charCodeAt(d-1)===Nf&&--d;function $(){if(y)return If;if(x)return x=!1,Xy;var A,_=g,P;if(h.charCodeAt(_)===Bf){for(;g++<d&&h.charCodeAt(g)!==Bf||h.charCodeAt(++g)===Bf;);return(A=g)>=d?y=!0:(P=h.charCodeAt(g++))===ko?x=!0:P===Nf&&(x=!0,h.charCodeAt(g)===ko&&++g),h.slice(_+1,A-1).replace(/""/g,'"')}for(;g<d;){if((P=h.charCodeAt(A=g++))===ko)x=!0;else if(P===Nf)x=!0,h.charCodeAt(g)===ko&&++g;else if(P!==n)continue;return h.slice(_,A)}return y=!0,h.slice(_,d)}for(;(b=$())!==If;){for(var S=[];b!==Xy&&b!==If;)S.push(b),b=$();f&&(S=f(S,m++))==null||p.push(S)}return p}function o(h,f){return h.map(function(p){return f.map(function(d){return c(p[d])}).join(t)})}function a(h,f){return f==null&&(f=Hy(h)),[f.map(c).join(t)].concat(o(h,f)).join(`
53
+ `)}function s(h,f){return f==null&&(f=Hy(h)),o(h,f).join(`
54
+ `)}function l(h){return h.map(u).join(`
55
+ `)}function u(h){return h.map(c).join(t)}function c(h){return h==null?"":h instanceof Date?t8(h):e.test(h+="")?'"'+h.replace(/"/g,'""')+'"':h}return{parse:r,parseRows:i,format:a,formatBody:s,formatRows:l,formatRow:u,formatValue:c}}var gr=Vs(","),qy=gr.parse,e8=gr.parseRows,n8=gr.format,r8=gr.formatBody,i8=gr.formatRows,o8=gr.formatRow,a8=gr.formatValue,mr=Vs(" "),Zy=mr.parse,s8=mr.parseRows,l8=mr.format,u8=mr.formatBody,c8=mr.formatRows,f8=mr.formatRow,h8=mr.formatValue;function p8(t){for(var e in t){var n=t[e].trim(),r,i;if(!n)n=null;else if(n==="true")n=!0;else if(n==="false")n=!1;else if(n==="NaN")n=NaN;else if(!isNaN(r=+n))n=r;else if(i=n.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/))d8&&i[4]&&!i[7]&&(n=n.replace(/-/g,"/").replace(/T/," ")),n=new Date(n);else continue;t[e]=n}return t}const d8=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function g8(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}function m8(t,e){return fetch(t,e).then(g8)}function y8(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}function b8(t,e){return fetch(t,e).then(y8)}function x8(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Us(t,e){return fetch(t,e).then(x8)}function Ky(t){return function(e,n,r){return arguments.length===2&&typeof n=="function"&&(r=n,n=void 0),Us(e,n).then(function(i){return t(i,r)})}}function $8(t,e,n,r){arguments.length===3&&typeof n=="function"&&(r=n,n=void 0);var i=Vs(t);return Us(e,n).then(function(o){return i.parse(o,r)})}var v8=Ky(qy),S8=Ky(Zy);function _8(t,e){return new Promise(function(n,r){var i=new Image;for(var o in e)i[o]=e[o];i.onerror=r,i.onload=function(){n(i)},i.src=t})}function w8(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(!(t.status===204||t.status===205))return t.json()}function T8(t,e){return fetch(t,e).then(w8)}function Ff(t){return(e,n)=>Us(e,n).then(r=>new DOMParser().parseFromString(r,t))}const A8=Ff("application/xml");var P8=Ff("text/html"),C8=Ff("image/svg+xml");function zf(t,e){var n,r=1;t==null&&(t=0),e==null&&(e=0);function i(){var o,a=n.length,s,l=0,u=0;for(o=0;o<a;++o)s=n[o],l+=s.x,u+=s.y;for(l=(l/a-t)*r,u=(u/a-e)*r,o=0;o<a;++o)s=n[o],s.x-=l,s.y-=u}return i.initialize=function(o){n=o},i.x=function(o){return arguments.length?(t=+o,i):t},i.y=function(o){return arguments.length?(e=+o,i):e},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function D8(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return Qy(this.cover(e,n),e,n,t)}function Qy(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,o=t._root,a={data:r},s=t._x0,l=t._y0,u=t._x1,c=t._y1,h,f,p,d,g,m,b,y;if(!o)return t._root=a,t;for(;o.length;)if((g=e>=(h=(s+u)/2))?s=h:u=h,(m=n>=(f=(l+c)/2))?l=f:c=f,i=o,!(o=o[b=m<<1|g]))return i[b]=a,t;if(p=+t._x.call(null,o.data),d=+t._y.call(null,o.data),e===p&&n===d)return a.next=o,i?i[b]=a:t._root=a,t;do i=i?i[b]=new Array(4):t._root=new Array(4),(g=e>=(h=(s+u)/2))?s=h:u=h,(m=n>=(f=(l+c)/2))?l=f:c=f;while((b=m<<1|g)===(y=(d>=f)<<1|p>=h));return i[y]=o,i[b]=a,t}function M8(t){var e,n,r=t.length,i,o,a=new Array(r),s=new Array(r),l=1/0,u=1/0,c=-1/0,h=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,e=t[n]))||isNaN(o=+this._y.call(null,e))||(a[n]=i,s[n]=o,i<l&&(l=i),i>c&&(c=i),o<u&&(u=o),o>h&&(h=o));if(l>c||u>h)return this;for(this.cover(l,u).cover(c,h),n=0;n<r;++n)Qy(this,a[n],s[n],t[n]);return this}function L8(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,o=(r=Math.floor(e))+1;else{for(var a=i-n||1,s=this._root,l,u;n>t||t>=i||r>e||e>=o;)switch(u=(e<r)<<1|t<n,l=new Array(4),l[u]=s,s=l,a*=2,u){case 0:i=n+a,o=r+a;break;case 1:n=i-a,o=r+a;break;case 2:i=n+a,r=o-a;break;case 3:n=i-a,r=o-a;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this}function k8(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t}function R8(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function qt(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function E8(t,e,n){var r,i=this._x0,o=this._y0,a,s,l,u,c=this._x1,h=this._y1,f=[],p=this._root,d,g;for(p&&f.push(new qt(p,i,o,c,h)),n==null?n=1/0:(i=t-n,o=e-n,c=t+n,h=e+n,n*=n);d=f.pop();)if(!(!(p=d.node)||(a=d.x0)>c||(s=d.y0)>h||(l=d.x1)<i||(u=d.y1)<o))if(p.length){var m=(a+l)/2,b=(s+u)/2;f.push(new qt(p[3],m,b,l,u),new qt(p[2],a,b,m,u),new qt(p[1],m,s,l,b),new qt(p[0],a,s,m,b)),(g=(e>=b)<<1|t>=m)&&(d=f[f.length-1],f[f.length-1]=f[f.length-1-g],f[f.length-1-g]=d)}else{var y=t-+this._x.call(null,p.data),x=e-+this._y.call(null,p.data),$=y*y+x*x;if($<n){var S=Math.sqrt(n=$);i=t-S,o=e-S,c=t+S,h=e+S,r=p.data}}return r}function I8(t){if(isNaN(c=+this._x.call(null,t))||isNaN(h=+this._y.call(null,t)))return this;var e,n=this._root,r,i,o,a=this._x0,s=this._y0,l=this._x1,u=this._y1,c,h,f,p,d,g,m,b;if(!n)return this;if(n.length)for(;;){if((d=c>=(f=(a+l)/2))?a=f:l=f,(g=h>=(p=(s+u)/2))?s=p:u=p,e=n,!(n=n[m=g<<1|d]))return this;if(!n.length)break;(e[m+1&3]||e[m+2&3]||e[m+3&3])&&(r=e,b=m)}for(;n.data!==t;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):e?(o?e[m]=o:delete e[m],(n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[b]=n:this._root=n),this):(this._root=o,this)}function B8(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function N8(){return this._root}function F8(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t}function z8(t){var e=[],n,r=this._root,i,o,a,s,l;for(r&&e.push(new qt(r,this._x0,this._y0,this._x1,this._y1));n=e.pop();)if(!t(r=n.node,o=n.x0,a=n.y0,s=n.x1,l=n.y1)&&r.length){var u=(o+s)/2,c=(a+l)/2;(i=r[3])&&e.push(new qt(i,u,c,s,l)),(i=r[2])&&e.push(new qt(i,o,c,u,l)),(i=r[1])&&e.push(new qt(i,u,a,s,c)),(i=r[0])&&e.push(new qt(i,o,a,u,c))}return this}function O8(t){var e=[],n=[],r;for(this._root&&e.push(new qt(this._root,this._x0,this._y0,this._x1,this._y1));r=e.pop();){var i=r.node;if(i.length){var o,a=r.x0,s=r.y0,l=r.x1,u=r.y1,c=(a+l)/2,h=(s+u)/2;(o=i[0])&&e.push(new qt(o,a,s,c,h)),(o=i[1])&&e.push(new qt(o,c,s,l,h)),(o=i[2])&&e.push(new qt(o,a,h,c,u)),(o=i[3])&&e.push(new qt(o,c,h,l,u))}n.push(r)}for(;r=n.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function G8(t){return t[0]}function W8(t){return arguments.length?(this._x=t,this):this._x}function Y8(t){return t[1]}function V8(t){return arguments.length?(this._y=t,this):this._y}function Xs(t,e,n){var r=new Of(e??G8,n??Y8,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Of(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Jy(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Zt=Xs.prototype=Of.prototype;Zt.copy=function(){var t=new Of(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,r;if(!e)return t;if(!e.length)return t._root=Jy(e),t;for(n=[{source:e,target:t._root=new Array(4)}];e=n.pop();)for(var i=0;i<4;++i)(r=e.source[i])&&(r.length?n.push({source:r,target:e.target[i]=new Array(4)}):e.target[i]=Jy(r));return t},Zt.add=D8,Zt.addAll=M8,Zt.cover=L8,Zt.data=k8,Zt.extent=R8,Zt.find=E8,Zt.remove=I8,Zt.removeAll=B8,Zt.root=N8,Zt.size=F8,Zt.visit=z8,Zt.visitAfter=O8,Zt.x=W8,Zt.y=V8;function Rt(t){return function(){return t}}function kn(t){return(t()-.5)*1e-6}function U8(t){return t.x+t.vx}function X8(t){return t.y+t.vy}function js(t){var e,n,r,i=1,o=1;typeof t!="function"&&(t=Rt(t==null?1:+t));function a(){for(var u,c=e.length,h,f,p,d,g,m,b=0;b<o;++b)for(h=Xs(e,U8,X8).visitAfter(s),u=0;u<c;++u)f=e[u],g=n[f.index],m=g*g,p=f.x+f.vx,d=f.y+f.vy,h.visit(y);function y(x,$,S,A,_){var P=x.data,M=x.r,R=g+M;if(P){if(P.index>f.index){var v=p-P.x-P.vx,E=d-P.y-P.vy,k=v*v+E*E;k<R*R&&(v===0&&(v=kn(r),k+=v*v),E===0&&(E=kn(r),k+=E*E),k=(R-(k=Math.sqrt(k)))/k*i,f.vx+=(v*=k)*(R=(M*=M)/(m+M)),f.vy+=(E*=k)*R,P.vx-=v*(R=1-R),P.vy-=E*R)}return}return $>p+R||A<p-R||S>d+R||_<d-R}}function s(u){if(u.data)return u.r=n[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function l(){if(e){var u,c=e.length,h;for(n=new Array(c),u=0;u<c;++u)h=e[u],n[h.index]=+t(h,u,e)}}return a.initialize=function(u,c){e=u,r=c,l()},a.iterations=function(u){return arguments.length?(o=+u,a):o},a.strength=function(u){return arguments.length?(i=+u,a):i},a.radius=function(u){return arguments.length?(t=typeof u=="function"?u:Rt(+u),l(),a):t},a}function j8(t){return t.index}function t1(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function Gf(t){var e=j8,n=h,r,i=Rt(30),o,a,s,l,u,c=1;t==null&&(t=[]);function h(m){return 1/Math.min(s[m.source.index],s[m.target.index])}function f(m){for(var b=0,y=t.length;b<c;++b)for(var x=0,$,S,A,_,P,M,R;x<y;++x)$=t[x],S=$.source,A=$.target,_=A.x+A.vx-S.x-S.vx||kn(u),P=A.y+A.vy-S.y-S.vy||kn(u),M=Math.sqrt(_*_+P*P),M=(M-o[x])/M*m*r[x],_*=M,P*=M,A.vx-=_*(R=l[x]),A.vy-=P*R,S.vx+=_*(R=1-R),S.vy+=P*R}function p(){if(a){var m,b=a.length,y=t.length,x=new Map(a.map((S,A)=>[e(S,A,a),S])),$;for(m=0,s=new Array(b);m<y;++m)$=t[m],$.index=m,typeof $.source!="object"&&($.source=t1(x,$.source)),typeof $.target!="object"&&($.target=t1(x,$.target)),s[$.source.index]=(s[$.source.index]||0)+1,s[$.target.index]=(s[$.target.index]||0)+1;for(m=0,l=new Array(y);m<y;++m)$=t[m],l[m]=s[$.source.index]/(s[$.source.index]+s[$.target.index]);r=new Array(y),d(),o=new Array(y),g()}}function d(){if(a)for(var m=0,b=t.length;m<b;++m)r[m]=+n(t[m],m,t)}function g(){if(a)for(var m=0,b=t.length;m<b;++m)o[m]=+i(t[m],m,t)}return f.initialize=function(m,b){a=m,u=b,p()},f.links=function(m){return arguments.length?(t=m,p(),f):t},f.id=function(m){return arguments.length?(e=m,f):e},f.iterations=function(m){return arguments.length?(c=+m,f):c},f.strength=function(m){return arguments.length?(n=typeof m=="function"?m:Rt(+m),d(),f):n},f.distance=function(m){return arguments.length?(i=typeof m=="function"?m:Rt(+m),g(),f):i},f}const H8=1664525,q8=1013904223,e1=4294967296;function Z8(){let t=1;return()=>(t=(H8*t+q8)%e1)/e1}function K8(t){return t.x}function Q8(t){return t.y}var J8=10,t4=Math.PI*(3-Math.sqrt(5));function Hs(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,l=Rs(h),u=er("tick","end"),c=Z8();t==null&&(t=[]);function h(){f(),u.call("tick",e),n<r&&(l.stop(),u.call("end",e))}function f(g){var m,b=t.length,y;g===void 0&&(g=1);for(var x=0;x<g;++x)for(n+=(o-n)*i,s.forEach(function($){$(n)}),m=0;m<b;++m)y=t[m],y.fx==null?y.x+=y.vx*=a:(y.x=y.fx,y.vx=0),y.fy==null?y.y+=y.vy*=a:(y.y=y.fy,y.vy=0);return e}function p(){for(var g=0,m=t.length,b;g<m;++g){if(b=t[g],b.index=g,b.fx!=null&&(b.x=b.fx),b.fy!=null&&(b.y=b.fy),isNaN(b.x)||isNaN(b.y)){var y=J8*Math.sqrt(.5+g),x=g*t4;b.x=y*Math.cos(x),b.y=y*Math.sin(x)}(isNaN(b.vx)||isNaN(b.vy))&&(b.vx=b.vy=0)}}function d(g){return g.initialize&&g.initialize(t,c),g}return p(),e={tick:f,restart:function(){return l.restart(h),e},stop:function(){return l.stop(),e},nodes:function(g){return arguments.length?(t=g,p(),s.forEach(d),e):t},alpha:function(g){return arguments.length?(n=+g,e):n},alphaMin:function(g){return arguments.length?(r=+g,e):r},alphaDecay:function(g){return arguments.length?(i=+g,e):+i},alphaTarget:function(g){return arguments.length?(o=+g,e):o},velocityDecay:function(g){return arguments.length?(a=1-g,e):1-a},randomSource:function(g){return arguments.length?(c=g,s.forEach(d),e):c},force:function(g,m){return arguments.length>1?(m==null?s.delete(g):s.set(g,d(m)),e):s.get(g)},find:function(g,m,b){var y=0,x=t.length,$,S,A,_,P;for(b==null?b=1/0:b*=b,y=0;y<x;++y)_=t[y],$=g-_.x,S=m-_.y,A=$*$+S*S,A<b&&(P=_,b=A);return P},on:function(g,m){return arguments.length>1?(u.on(g,m),e):u.on(g)}}}function qs(){var t,e,n,r,i=Rt(-30),o,a=1,s=1/0,l=.81;function u(p){var d,g=t.length,m=Xs(t,K8,Q8).visitAfter(h);for(r=p,d=0;d<g;++d)e=t[d],m.visit(f)}function c(){if(t){var p,d=t.length,g;for(o=new Array(d),p=0;p<d;++p)g=t[p],o[g.index]=+i(g,p,t)}}function h(p){var d=0,g,m,b=0,y,x,$;if(p.length){for(y=x=$=0;$<4;++$)(g=p[$])&&(m=Math.abs(g.value))&&(d+=g.value,b+=m,y+=m*g.x,x+=m*g.y);p.x=y/b,p.y=x/b}else{g=p,g.x=g.data.x,g.y=g.data.y;do d+=o[g.data.index];while(g=g.next)}p.value=d}function f(p,d,g,m){if(!p.value)return!0;var b=p.x-e.x,y=p.y-e.y,x=m-d,$=b*b+y*y;if(x*x/l<$)return $<s&&(b===0&&(b=kn(n),$+=b*b),y===0&&(y=kn(n),$+=y*y),$<a&&($=Math.sqrt(a*$)),e.vx+=b*p.value*r/$,e.vy+=y*p.value*r/$),!0;if(p.length||$>=s)return;(p.data!==e||p.next)&&(b===0&&(b=kn(n),$+=b*b),y===0&&(y=kn(n),$+=y*y),$<a&&($=Math.sqrt(a*$)));do p.data!==e&&(x=o[p.data.index]*r/$,e.vx+=b*x,e.vy+=y*x);while(p=p.next)}return u.initialize=function(p,d){t=p,n=d,c()},u.strength=function(p){return arguments.length?(i=typeof p=="function"?p:Rt(+p),c(),u):i},u.distanceMin=function(p){return arguments.length?(a=p*p,u):Math.sqrt(a)},u.distanceMax=function(p){return arguments.length?(s=p*p,u):Math.sqrt(s)},u.theta=function(p){return arguments.length?(l=p*p,u):Math.sqrt(l)},u}function e4(t,e,n){var r,i=Rt(.1),o,a;typeof t!="function"&&(t=Rt(+t)),e==null&&(e=0),n==null&&(n=0);function s(u){for(var c=0,h=r.length;c<h;++c){var f=r[c],p=f.x-e||1e-6,d=f.y-n||1e-6,g=Math.sqrt(p*p+d*d),m=(a[c]-g)*o[c]*u/g;f.vx+=p*m,f.vy+=d*m}}function l(){if(r){var u,c=r.length;for(o=new Array(c),a=new Array(c),u=0;u<c;++u)a[u]=+t(r[u],u,r),o[u]=isNaN(a[u])?0:+i(r[u],u,r)}}return s.initialize=function(u){r=u,l()},s.strength=function(u){return arguments.length?(i=typeof u=="function"?u:Rt(+u),l(),s):i},s.radius=function(u){return arguments.length?(t=typeof u=="function"?u:Rt(+u),l(),s):t},s.x=function(u){return arguments.length?(e=+u,s):e},s.y=function(u){return arguments.length?(n=+u,s):n},s}function n1(t){var e=Rt(.1),n,r,i;typeof t!="function"&&(t=Rt(t==null?0:+t));function o(s){for(var l=0,u=n.length,c;l<u;++l)c=n[l],c.vx+=(i[l]-c.x)*r[l]*s}function a(){if(n){var s,l=n.length;for(r=new Array(l),i=new Array(l),s=0;s<l;++s)r[s]=isNaN(i[s]=+t(n[s],s,n))?0:+e(n[s],s,n)}}return o.initialize=function(s){n=s,a()},o.strength=function(s){return arguments.length?(e=typeof s=="function"?s:Rt(+s),a(),o):e},o.x=function(s){return arguments.length?(t=typeof s=="function"?s:Rt(+s),a(),o):t},o}function r1(t){var e=Rt(.1),n,r,i;typeof t!="function"&&(t=Rt(t==null?0:+t));function o(s){for(var l=0,u=n.length,c;l<u;++l)c=n[l],c.vy+=(i[l]-c.y)*r[l]*s}function a(){if(n){var s,l=n.length;for(r=new Array(l),i=new Array(l),s=0;s<l;++s)r[s]=isNaN(i[s]=+t(n[s],s,n))?0:+e(n[s],s,n)}}return o.initialize=function(s){n=s,a()},o.strength=function(s){return arguments.length?(e=typeof s=="function"?s:Rt(+s),a(),o):e},o.y=function(s){return arguments.length?(t=typeof s=="function"?s:Rt(+s),a(),o):t},o}function n4(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Zs(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function gi(t){return t=Zs(Math.abs(t)),t?t[1]:NaN}function r4(t,e){return function(n,r){for(var i=n.length,o=[],a=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),o.push(n.substring(i-=s,i+s)),!((l+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(e)}}function i4(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var o4=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function mi(t){if(!(e=o4.exec(t)))throw new Error("invalid format: "+t);var e;return new Ks({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}mi.prototype=Ks.prototype;function Ks(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Ks.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function a4(t){t:for(var e=t.length,n=1,r=-1,i;n<e;++n)switch(t[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var i1;function s4(t,e){var n=Zs(t,e);if(!n)return t+"";var r=n[0],i=n[1],o=i-(i1=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Zs(t,Math.max(0,e+o-1))[0]}function o1(t,e){var n=Zs(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const a1={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:n4,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>o1(t*100,e),r:o1,s:s4,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function s1(t){return t}var l1=Array.prototype.map,u1=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function c1(t){var e=t.grouping===void 0||t.thousands===void 0?s1:r4(l1.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?s1:i4(l1.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(h){h=mi(h);var f=h.fill,p=h.align,d=h.sign,g=h.symbol,m=h.zero,b=h.width,y=h.comma,x=h.precision,$=h.trim,S=h.type;S==="n"?(y=!0,S="g"):a1[S]||(x===void 0&&(x=12),$=!0,S="g"),(m||f==="0"&&p==="=")&&(m=!0,f="0",p="=");var A=g==="$"?n:g==="#"&&/[boxX]/.test(S)?"0"+S.toLowerCase():"",_=g==="$"?r:/[%p]/.test(S)?a:"",P=a1[S],M=/[defgprs%]/.test(S);x=x===void 0?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function R(v){var E=A,k=_,T,w,C;if(S==="c")k=P(v)+k,v="";else{v=+v;var F=v<0||1/v<0;if(v=isNaN(v)?l:P(Math.abs(v),x),$&&(v=a4(v)),F&&+v==0&&d!=="+"&&(F=!1),E=(F?d==="("?d:s:d==="-"||d==="("?"":d)+E,k=(S==="s"?u1[8+i1/3]:"")+k+(F&&d==="("?")":""),M){for(T=-1,w=v.length;++T<w;)if(C=v.charCodeAt(T),48>C||C>57){k=(C===46?i+v.slice(T+1):v.slice(T))+k,v=v.slice(0,T);break}}}y&&!m&&(v=e(v,1/0));var G=E.length+v.length+k.length,B=G<b?new Array(b-G+1).join(f):"";switch(y&&m&&(v=e(B+v,B.length?b-k.length:1/0),B=""),p){case"<":v=E+v+k+B;break;case"=":v=E+B+v+k;break;case"^":v=B.slice(0,G=B.length>>1)+E+v+k+B.slice(G);break;default:v=B+E+v+k;break}return o(v)}return R.toString=function(){return h+""},R}function c(h,f){var p=u((h=mi(h),h.type="f",h)),d=Math.max(-8,Math.min(8,Math.floor(gi(f)/3)))*3,g=Math.pow(10,-d),m=u1[8+d/3];return function(b){return p(g*b)+m}}return{format:u,formatPrefix:c}}var Qs,Ro,Wf;f1({thousands:",",grouping:[3],currency:["$",""]});function f1(t){return Qs=c1(t),Ro=Qs.format,Wf=Qs.formatPrefix,Qs}function h1(t){return Math.max(0,-gi(Math.abs(t)))}function p1(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(gi(e)/3)))*3-gi(Math.abs(t)))}function d1(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,gi(e)-gi(t))+1}var ot=1e-6,Eo=1e-12,pt=Math.PI,Pt=pt/2,Js=pt/4,Kt=pt*2,$t=180/pt,at=pt/180,dt=Math.abs,yi=Math.atan,Qt=Math.atan2,rt=Math.cos,tl=Math.ceil,g1=Math.exp,Yf=Math.hypot,el=Math.log,Vf=Math.pow,et=Math.sin,Se=Math.sign||function(t){return t>0?1:t<0?-1:0},Nt=Math.sqrt,Uf=Math.tan;function m1(t){return t>1?0:t<-1?pt:Math.acos(t)}function Jt(t){return t>1?Pt:t<-1?-Pt:Math.asin(t)}function y1(t){return(t=et(t/2))*t}function Tt(){}function nl(t,e){t&&x1.hasOwnProperty(t.type)&&x1[t.type](t,e)}var b1={Feature:function(t,e){nl(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)nl(n[r].geometry,e)}},x1={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){Xf(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Xf(n[r],e,0)},Polygon:function(t,e){$1(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)$1(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)nl(n[r],e)}};function Xf(t,e,n){var r=-1,i=t.length-n,o;for(e.lineStart();++r<i;)o=t[r],e.point(o[0],o[1],o[2]);e.lineEnd()}function $1(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)Xf(t[n],e,1);e.polygonEnd()}function Ne(t,e){t&&b1.hasOwnProperty(t.type)?b1[t.type](t,e):nl(t,e)}var rl=new kt,il=new kt,v1,S1,jf,Hf,qf,Ke={point:Tt,lineStart:Tt,lineEnd:Tt,polygonStart:function(){rl=new kt,Ke.lineStart=l4,Ke.lineEnd=u4},polygonEnd:function(){var t=+rl;il.add(t<0?Kt+t:t),this.lineStart=this.lineEnd=this.point=Tt},sphere:function(){il.add(Kt)}};function l4(){Ke.point=c4}function u4(){_1(v1,S1)}function c4(t,e){Ke.point=_1,v1=t,S1=e,t*=at,e*=at,jf=t,Hf=rt(e=e/2+Js),qf=et(e)}function _1(t,e){t*=at,e*=at,e=e/2+Js;var n=t-jf,r=n>=0?1:-1,i=r*n,o=rt(e),a=et(e),s=qf*a,l=Hf*o+s*rt(i),u=s*r*et(i);rl.add(Qt(u,l)),jf=t,Hf=o,qf=a}function f4(t){return il=new kt,Ne(t,Ke),il*2}function ol(t){return[Qt(t[1],t[0]),Jt(t[2])]}function yr(t){var e=t[0],n=t[1],r=rt(n);return[r*rt(e),r*et(e),et(n)]}function al(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function bi(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Zf(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function sl(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function ll(t){var e=Nt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var At,ce,Ct,xe,br,w1,T1,xi,Io,Rn,hn,pn={point:Kf,lineStart:P1,lineEnd:C1,polygonStart:function(){pn.point=D1,pn.lineStart=h4,pn.lineEnd=p4,Io=new kt,Ke.polygonStart()},polygonEnd:function(){Ke.polygonEnd(),pn.point=Kf,pn.lineStart=P1,pn.lineEnd=C1,rl<0?(At=-(Ct=180),ce=-(xe=90)):Io>ot?xe=90:Io<-ot&&(ce=-90),hn[0]=At,hn[1]=Ct},sphere:function(){At=-(Ct=180),ce=-(xe=90)}};function Kf(t,e){Rn.push(hn=[At=t,Ct=t]),e<ce&&(ce=e),e>xe&&(xe=e)}function A1(t,e){var n=yr([t*at,e*at]);if(xi){var r=bi(xi,n),i=[r[1],-r[0],0],o=bi(i,r);ll(o),o=ol(o);var a=t-br,s=a>0?1:-1,l=o[0]*$t*s,u,c=dt(a)>180;c^(s*br<l&&l<s*t)?(u=o[1]*$t,u>xe&&(xe=u)):(l=(l+360)%360-180,c^(s*br<l&&l<s*t)?(u=-o[1]*$t,u<ce&&(ce=u)):(e<ce&&(ce=e),e>xe&&(xe=e))),c?t<br?$e(At,t)>$e(At,Ct)&&(Ct=t):$e(t,Ct)>$e(At,Ct)&&(At=t):Ct>=At?(t<At&&(At=t),t>Ct&&(Ct=t)):t>br?$e(At,t)>$e(At,Ct)&&(Ct=t):$e(t,Ct)>$e(At,Ct)&&(At=t)}else Rn.push(hn=[At=t,Ct=t]);e<ce&&(ce=e),e>xe&&(xe=e),xi=n,br=t}function P1(){pn.point=A1}function C1(){hn[0]=At,hn[1]=Ct,pn.point=Kf,xi=null}function D1(t,e){if(xi){var n=t-br;Io.add(dt(n)>180?n+(n>0?360:-360):n)}else w1=t,T1=e;Ke.point(t,e),A1(t,e)}function h4(){Ke.lineStart()}function p4(){D1(w1,T1),Ke.lineEnd(),dt(Io)>ot&&(At=-(Ct=180)),hn[0]=At,hn[1]=Ct,xi=null}function $e(t,e){return(e-=t)<0?e+360:e}function d4(t,e){return t[0]-e[0]}function M1(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function g4(t){var e,n,r,i,o,a,s;if(xe=Ct=-(At=ce=1/0),Rn=[],Ne(t,pn),n=Rn.length){for(Rn.sort(d4),e=1,r=Rn[0],o=[r];e<n;++e)i=Rn[e],M1(r,i[0])||M1(r,i[1])?($e(r[0],i[1])>$e(r[0],r[1])&&(r[1]=i[1]),$e(i[0],r[1])>$e(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=o.length-1,e=0,r=o[n];e<=n;r=i,++e)i=o[e],(s=$e(r[1],i[0]))>a&&(a=s,At=i[0],Ct=r[1])}return Rn=hn=null,At===1/0||ce===1/0?[[NaN,NaN],[NaN,NaN]]:[[At,ce],[Ct,xe]]}var Bo,ul,cl,fl,hl,pl,dl,gl,Qf,Jf,th,L1,k1,te,ee,ne,Fe={sphere:Tt,point:eh,lineStart:R1,lineEnd:E1,polygonStart:function(){Fe.lineStart=b4,Fe.lineEnd=x4},polygonEnd:function(){Fe.lineStart=R1,Fe.lineEnd=E1}};function eh(t,e){t*=at,e*=at;var n=rt(e);No(n*rt(t),n*et(t),et(e))}function No(t,e,n){++Bo,cl+=(t-cl)/Bo,fl+=(e-fl)/Bo,hl+=(n-hl)/Bo}function R1(){Fe.point=m4}function m4(t,e){t*=at,e*=at;var n=rt(e);te=n*rt(t),ee=n*et(t),ne=et(e),Fe.point=y4,No(te,ee,ne)}function y4(t,e){t*=at,e*=at;var n=rt(e),r=n*rt(t),i=n*et(t),o=et(e),a=Qt(Nt((a=ee*o-ne*i)*a+(a=ne*r-te*o)*a+(a=te*i-ee*r)*a),te*r+ee*i+ne*o);ul+=a,pl+=a*(te+(te=r)),dl+=a*(ee+(ee=i)),gl+=a*(ne+(ne=o)),No(te,ee,ne)}function E1(){Fe.point=eh}function b4(){Fe.point=$4}function x4(){I1(L1,k1),Fe.point=eh}function $4(t,e){L1=t,k1=e,t*=at,e*=at,Fe.point=I1;var n=rt(e);te=n*rt(t),ee=n*et(t),ne=et(e),No(te,ee,ne)}function I1(t,e){t*=at,e*=at;var n=rt(e),r=n*rt(t),i=n*et(t),o=et(e),a=ee*o-ne*i,s=ne*r-te*o,l=te*i-ee*r,u=Yf(a,s,l),c=Jt(u),h=u&&-c/u;Qf.add(h*a),Jf.add(h*s),th.add(h*l),ul+=c,pl+=c*(te+(te=r)),dl+=c*(ee+(ee=i)),gl+=c*(ne+(ne=o)),No(te,ee,ne)}function v4(t){Bo=ul=cl=fl=hl=pl=dl=gl=0,Qf=new kt,Jf=new kt,th=new kt,Ne(t,Fe);var e=+Qf,n=+Jf,r=+th,i=Yf(e,n,r);return i<Eo&&(e=pl,n=dl,r=gl,ul<ot&&(e=cl,n=fl,r=hl),i=Yf(e,n,r),i<Eo)?[NaN,NaN]:[Qt(n,e)*$t,Jt(r/i)*$t]}function $i(t){return function(){return t}}function nh(t,e){function n(r,i){return r=t(r,i),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,i){return r=e.invert(r,i),r&&t.invert(r[0],r[1])}),n}function rh(t,e){return dt(t)>pt&&(t-=Math.round(t/Kt)*Kt),[t,e]}rh.invert=rh;function ih(t,e,n){return(t%=Kt)?e||n?nh(N1(t),F1(e,n)):N1(t):e||n?F1(e,n):rh}function B1(t){return function(e,n){return e+=t,dt(e)>pt&&(e-=Math.round(e/Kt)*Kt),[e,n]}}function N1(t){var e=B1(t);return e.invert=B1(-t),e}function F1(t,e){var n=rt(t),r=et(t),i=rt(e),o=et(e);function a(s,l){var u=rt(l),c=rt(s)*u,h=et(s)*u,f=et(l),p=f*n+c*r;return[Qt(h*i-p*o,c*n-f*r),Jt(p*i+h*o)]}return a.invert=function(s,l){var u=rt(l),c=rt(s)*u,h=et(s)*u,f=et(l),p=f*i-h*o;return[Qt(h*i+f*o,c*n+p*r),Jt(p*n-c*r)]},a}function z1(t){t=ih(t[0]*at,t[1]*at,t.length>2?t[2]*at:0);function e(n){return n=t(n[0]*at,n[1]*at),n[0]*=$t,n[1]*=$t,n}return e.invert=function(n){return n=t.invert(n[0]*at,n[1]*at),n[0]*=$t,n[1]*=$t,n},e}function O1(t,e,n,r,i,o){if(n){var a=rt(e),s=et(e),l=r*n;i==null?(i=e+r*Kt,o=e-l/2):(i=G1(a,i),o=G1(a,o),(r>0?i<o:i>o)&&(i+=r*Kt));for(var u,c=i;r>0?c>o:c<o;c-=l)u=ol([a,-s*rt(c),-s*et(c)]),t.point(u[0],u[1])}}function G1(t,e){e=yr(e),e[0]-=t,ll(e);var n=m1(-e[1]);return((-e[2]<0?-n:n)+Kt-ot)%Kt}function S4(){var t=$i([0,0]),e=$i(90),n=$i(2),r,i,o={point:a};function a(l,u){r.push(l=i(l,u)),l[0]*=$t,l[1]*=$t}function s(){var l=t.apply(this,arguments),u=e.apply(this,arguments)*at,c=n.apply(this,arguments)*at;return r=[],i=ih(-l[0]*at,-l[1]*at,0).invert,O1(o,u,c,1),l={type:"Polygon",coordinates:[r]},r=i=null,l}return s.center=function(l){return arguments.length?(t=typeof l=="function"?l:$i([+l[0],+l[1]]),s):t},s.radius=function(l){return arguments.length?(e=typeof l=="function"?l:$i(+l),s):e},s.precision=function(l){return arguments.length?(n=typeof l=="function"?l:$i(+l),s):n},s}function W1(){var t=[],e;return{point:function(n,r,i){e.push([n,r,i])},lineStart:function(){t.push(e=[])},lineEnd:Tt,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function ml(t,e){return dt(t[0]-e[0])<ot&&dt(t[1]-e[1])<ot}function yl(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Y1(t,e,n,r,i){var o=[],a=[],s,l;if(t.forEach(function(d){if(!((g=d.length-1)<=0)){var g,m=d[0],b=d[g],y;if(ml(m,b)){if(!m[2]&&!b[2]){for(i.lineStart(),s=0;s<g;++s)i.point((m=d[s])[0],m[1]);i.lineEnd();return}b[0]+=2*ot}o.push(y=new yl(m,d,null,!0)),a.push(y.o=new yl(m,null,y,!1)),o.push(y=new yl(b,d,null,!1)),a.push(y.o=new yl(b,null,y,!0))}}),!!o.length){for(a.sort(e),V1(o),V1(a),s=0,l=a.length;s<l;++s)a[s].e=n=!n;for(var u=o[0],c,h;;){for(var f=u,p=!0;f.v;)if((f=f.n)===u)return;c=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(s=0,l=c.length;s<l;++s)i.point((h=c[s])[0],h[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(p)for(c=f.p.z,s=c.length-1;s>=0;--s)i.point((h=c[s])[0],h[1]);else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,c=f.z,p=!p}while(!f.v);i.lineEnd()}}}function V1(t){if(e=t.length){for(var e,n=0,r=t[0],i;++n<e;)r.n=i=t[n],i.p=r,r=i;r.n=i=t[0],i.p=r}}function oh(t){return dt(t[0])<=pt?t[0]:Se(t[0])*((dt(t[0])+pt)%Kt-pt)}function U1(t,e){var n=oh(e),r=e[1],i=et(r),o=[et(n),-rt(n),0],a=0,s=0,l=new kt;i===1?r=Pt+ot:i===-1&&(r=-Pt-ot);for(var u=0,c=t.length;u<c;++u)if(f=(h=t[u]).length)for(var h,f,p=h[f-1],d=oh(p),g=p[1]/2+Js,m=et(g),b=rt(g),y=0;y<f;++y,d=$,m=A,b=_,p=x){var x=h[y],$=oh(x),S=x[1]/2+Js,A=et(S),_=rt(S),P=$-d,M=P>=0?1:-1,R=M*P,v=R>pt,E=m*A;if(l.add(Qt(E*M*et(R),b*_+E*rt(R))),a+=v?P+M*Kt:P,v^d>=n^$>=n){var k=bi(yr(p),yr(x));ll(k);var T=bi(o,k);ll(T);var w=(v^P>=0?-1:1)*Jt(T[2]);(r>w||r===w&&(k[0]||k[1]))&&(s+=v^P>=0?1:-1)}}return(a<-ot||a<ot&&l<-Eo)^s&1}function X1(t,e,n,r){return function(i){var o=e(i),a=W1(),s=e(a),l=!1,u,c,h,f={point:p,lineStart:g,lineEnd:m,polygonStart:function(){f.point=b,f.lineStart=y,f.lineEnd=x,c=[],u=[]},polygonEnd:function(){f.point=p,f.lineStart=g,f.lineEnd=m,c=Mc(c);var $=U1(u,r);c.length?(l||(i.polygonStart(),l=!0),Y1(c,w4,$,n,i)):$&&(l||(i.polygonStart(),l=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),l&&(i.polygonEnd(),l=!1),c=u=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p($,S){t($,S)&&i.point($,S)}function d($,S){o.point($,S)}function g(){f.point=d,o.lineStart()}function m(){f.point=p,o.lineEnd()}function b($,S){h.push([$,S]),s.point($,S)}function y(){s.lineStart(),h=[]}function x(){b(h[0][0],h[0][1]),s.lineEnd();var $=s.clean(),S=a.result(),A,_=S.length,P,M,R;if(h.pop(),u.push(h),h=null,!!_){if($&1){if(M=S[0],(P=M.length-1)>0){for(l||(i.polygonStart(),l=!0),i.lineStart(),A=0;A<P;++A)i.point((R=M[A])[0],R[1]);i.lineEnd()}return}_>1&&$&2&&S.push(S.pop().concat(S.shift())),c.push(S.filter(_4))}}return f}}function _4(t){return t.length>1}function w4(t,e){return((t=t.x)[0]<0?t[1]-Pt-ot:Pt-t[1])-((e=e.x)[0]<0?e[1]-Pt-ot:Pt-e[1])}const ah=X1(function(){return!0},T4,P4,[-pt,-Pt]);function T4(t){var e=NaN,n=NaN,r=NaN,i;return{lineStart:function(){t.lineStart(),i=1},point:function(o,a){var s=o>0?pt:-pt,l=dt(o-e);dt(l-pt)<ot?(t.point(e,n=(n+a)/2>0?Pt:-Pt),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(o,n),i=0):r!==s&&l>=pt&&(dt(e-r)<ot&&(e-=r*ot),dt(o-s)<ot&&(o-=s*ot),n=A4(e,n,o,a),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(s,n),i=0),t.point(e=o,n=a),r=s},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-i}}}function A4(t,e,n,r){var i,o,a=et(t-n);return dt(a)>ot?yi((et(e)*(o=rt(r))*et(n)-et(r)*(i=rt(e))*et(t))/(i*o*a)):(e+r)/2}function P4(t,e,n,r){var i;if(t==null)i=n*Pt,r.point(-pt,i),r.point(0,i),r.point(pt,i),r.point(pt,0),r.point(pt,-i),r.point(0,-i),r.point(-pt,-i),r.point(-pt,0),r.point(-pt,i);else if(dt(t[0]-e[0])>ot){var o=t[0]<e[0]?pt:-pt;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(e[0],e[1])}function j1(t){var e=rt(t),n=2*at,r=e>0,i=dt(e)>ot;function o(c,h,f,p){O1(p,t,n,f,c,h)}function a(c,h){return rt(c)*rt(h)>e}function s(c){var h,f,p,d,g;return{lineStart:function(){d=p=!1,g=1},point:function(m,b){var y=[m,b],x,$=a(m,b),S=r?$?0:u(m,b):$?u(m+(m<0?pt:-pt),b):0;if(!h&&(d=p=$)&&c.lineStart(),$!==p&&(x=l(h,y),(!x||ml(h,x)||ml(y,x))&&(y[2]=1)),$!==p)g=0,$?(c.lineStart(),x=l(y,h),c.point(x[0],x[1])):(x=l(h,y),c.point(x[0],x[1],2),c.lineEnd()),h=x;else if(i&&h&&r^$){var A;!(S&f)&&(A=l(y,h,!0))&&(g=0,r?(c.lineStart(),c.point(A[0][0],A[0][1]),c.point(A[1][0],A[1][1]),c.lineEnd()):(c.point(A[1][0],A[1][1]),c.lineEnd(),c.lineStart(),c.point(A[0][0],A[0][1],3)))}$&&(!h||!ml(h,y))&&c.point(y[0],y[1]),h=y,p=$,f=S},lineEnd:function(){p&&c.lineEnd(),h=null},clean:function(){return g|(d&&p)<<1}}}function l(c,h,f){var p=yr(c),d=yr(h),g=[1,0,0],m=bi(p,d),b=al(m,m),y=m[0],x=b-y*y;if(!x)return!f&&c;var $=e*b/x,S=-e*y/x,A=bi(g,m),_=sl(g,$),P=sl(m,S);Zf(_,P);var M=A,R=al(_,M),v=al(M,M),E=R*R-v*(al(_,_)-1);if(!(E<0)){var k=Nt(E),T=sl(M,(-R-k)/v);if(Zf(T,_),T=ol(T),!f)return T;var w=c[0],C=h[0],F=c[1],G=h[1],B;C<w&&(B=w,w=C,C=B);var N=C-w,I=dt(N-pt)<ot,W=I||N<ot;if(!I&&G<F&&(B=F,F=G,G=B),W?I?F+G>0^T[1]<(dt(T[0]-w)<ot?F:G):F<=T[1]&&T[1]<=G:N>pt^(w<=T[0]&&T[0]<=C)){var H=sl(M,(-R+k)/v);return Zf(H,_),[T,ol(H)]}}}function u(c,h){var f=r?t:pt-t,p=0;return c<-f?p|=1:c>f&&(p|=2),h<-f?p|=4:h>f&&(p|=8),p}return X1(a,s,o,r?[0,-t]:[-pt,t-pt])}function C4(t,e,n,r,i,o){var a=t[0],s=t[1],l=e[0],u=e[1],c=0,h=1,f=l-a,p=u-s,d;if(d=n-a,!(!f&&d>0)){if(d/=f,f<0){if(d<c)return;d<h&&(h=d)}else if(f>0){if(d>h)return;d>c&&(c=d)}if(d=i-a,!(!f&&d<0)){if(d/=f,f<0){if(d>h)return;d>c&&(c=d)}else if(f>0){if(d<c)return;d<h&&(h=d)}if(d=r-s,!(!p&&d>0)){if(d/=p,p<0){if(d<c)return;d<h&&(h=d)}else if(p>0){if(d>h)return;d>c&&(c=d)}if(d=o-s,!(!p&&d<0)){if(d/=p,p<0){if(d>h)return;d>c&&(c=d)}else if(p>0){if(d<c)return;d<h&&(h=d)}return c>0&&(t[0]=a+c*f,t[1]=s+c*p),h<1&&(e[0]=a+h*f,e[1]=s+h*p),!0}}}}}var Fo=1e9,bl=-Fo;function xl(t,e,n,r){function i(u,c){return t<=u&&u<=n&&e<=c&&c<=r}function o(u,c,h,f){var p=0,d=0;if(u==null||(p=a(u,h))!==(d=a(c,h))||l(u,c)<0^h>0)do f.point(p===0||p===3?t:n,p>1?r:e);while((p=(p+h+4)%4)!==d);else f.point(c[0],c[1])}function a(u,c){return dt(u[0]-t)<ot?c>0?0:3:dt(u[0]-n)<ot?c>0?2:1:dt(u[1]-e)<ot?c>0?1:0:c>0?3:2}function s(u,c){return l(u.x,c.x)}function l(u,c){var h=a(u,1),f=a(c,1);return h!==f?h-f:h===0?c[1]-u[1]:h===1?u[0]-c[0]:h===2?u[1]-c[1]:c[0]-u[0]}return function(u){var c=u,h=W1(),f,p,d,g,m,b,y,x,$,S,A,_={point:P,lineStart:E,lineEnd:k,polygonStart:R,polygonEnd:v};function P(w,C){i(w,C)&&c.point(w,C)}function M(){for(var w=0,C=0,F=p.length;C<F;++C)for(var G=p[C],B=1,N=G.length,I=G[0],W,H,it=I[0],Y=I[1];B<N;++B)W=it,H=Y,I=G[B],it=I[0],Y=I[1],H<=r?Y>r&&(it-W)*(r-H)>(Y-H)*(t-W)&&++w:Y<=r&&(it-W)*(r-H)<(Y-H)*(t-W)&&--w;return w}function R(){c=h,f=[],p=[],A=!0}function v(){var w=M(),C=A&&w,F=(f=Mc(f)).length;(C||F)&&(u.polygonStart(),C&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),F&&Y1(f,s,w,o,u),u.polygonEnd()),c=u,f=p=d=null}function E(){_.point=T,p&&p.push(d=[]),S=!0,$=!1,y=x=NaN}function k(){f&&(T(g,m),b&&$&&h.rejoin(),f.push(h.result())),_.point=P,$&&c.lineEnd()}function T(w,C){var F=i(w,C);if(p&&d.push([w,C]),S)g=w,m=C,b=F,S=!1,F&&(c.lineStart(),c.point(w,C));else if(F&&$)c.point(w,C);else{var G=[y=Math.max(bl,Math.min(Fo,y)),x=Math.max(bl,Math.min(Fo,x))],B=[w=Math.max(bl,Math.min(Fo,w)),C=Math.max(bl,Math.min(Fo,C))];C4(G,B,t,e,n,r)?($||(c.lineStart(),c.point(G[0],G[1])),c.point(B[0],B[1]),F||c.lineEnd(),A=!1):F&&(c.lineStart(),c.point(w,C),A=!1)}y=w,x=C,$=F}return _}}function D4(){var t=0,e=0,n=960,r=500,i,o,a;return a={stream:function(s){return i&&o===s?i:i=xl(t,e,n,r)(o=s)},extent:function(s){return arguments.length?(t=+s[0][0],e=+s[0][1],n=+s[1][0],r=+s[1][1],i=o=null,a):[[t,e],[n,r]]}}}var sh,lh,$l,vl,vi={sphere:Tt,point:Tt,lineStart:M4,lineEnd:Tt,polygonStart:Tt,polygonEnd:Tt};function M4(){vi.point=k4,vi.lineEnd=L4}function L4(){vi.point=vi.lineEnd=Tt}function k4(t,e){t*=at,e*=at,lh=t,$l=et(e),vl=rt(e),vi.point=R4}function R4(t,e){t*=at,e*=at;var n=et(e),r=rt(e),i=dt(t-lh),o=rt(i),a=et(i),s=r*a,l=vl*n-$l*r*o,u=$l*n+vl*r*o;sh.add(Qt(Nt(s*s+l*l),u)),lh=t,$l=n,vl=r}function H1(t){return sh=new kt,Ne(t,vi),+sh}var uh=[null,null],E4={type:"LineString",coordinates:uh};function Sl(t,e){return uh[0]=t,uh[1]=e,H1(E4)}var q1={Feature:function(t,e){return _l(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)if(_l(n[r].geometry,e))return!0;return!1}},Z1={Sphere:function(){return!0},Point:function(t,e){return K1(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(K1(n[r],e))return!0;return!1},LineString:function(t,e){return Q1(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Q1(n[r],e))return!0;return!1},Polygon:function(t,e){return J1(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(J1(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)if(_l(n[r],e))return!0;return!1}};function _l(t,e){return t&&Z1.hasOwnProperty(t.type)?Z1[t.type](t,e):!1}function K1(t,e){return Sl(t,e)===0}function Q1(t,e){for(var n,r,i,o=0,a=t.length;o<a;o++){if(r=Sl(t[o],e),r===0||o>0&&(i=Sl(t[o],t[o-1]),i>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<Eo*i))return!0;n=r}return!1}function J1(t,e){return!!U1(t.map(I4),tb(e))}function I4(t){return t=t.map(tb),t.pop(),t}function tb(t){return[t[0]*at,t[1]*at]}function B4(t,e){return(t&&q1.hasOwnProperty(t.type)?q1[t.type]:_l)(t,e)}function eb(t,e,n){var r=Pn(t,e-ot,n).concat(e);return function(i){return r.map(function(o){return[i,o]})}}function nb(t,e,n){var r=Pn(t,e-ot,n).concat(e);return function(i){return r.map(function(o){return[o,i]})}}function rb(){var t,e,n,r,i,o,a,s,l=10,u=l,c=90,h=360,f,p,d,g,m=2.5;function b(){return{type:"MultiLineString",coordinates:y()}}function y(){return Pn(tl(r/c)*c,n,c).map(d).concat(Pn(tl(s/h)*h,a,h).map(g)).concat(Pn(tl(e/l)*l,t,l).filter(function(x){return dt(x%c)>ot}).map(f)).concat(Pn(tl(o/u)*u,i,u).filter(function(x){return dt(x%h)>ot}).map(p))}return b.lines=function(){return y().map(function(x){return{type:"LineString",coordinates:x}})},b.outline=function(){return{type:"Polygon",coordinates:[d(r).concat(g(a).slice(1),d(n).reverse().slice(1),g(s).reverse().slice(1))]}},b.extent=function(x){return arguments.length?b.extentMajor(x).extentMinor(x):b.extentMinor()},b.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],s=+x[0][1],a=+x[1][1],r>n&&(x=r,r=n,n=x),s>a&&(x=s,s=a,a=x),b.precision(m)):[[r,s],[n,a]]},b.extentMinor=function(x){return arguments.length?(e=+x[0][0],t=+x[1][0],o=+x[0][1],i=+x[1][1],e>t&&(x=e,e=t,t=x),o>i&&(x=o,o=i,i=x),b.precision(m)):[[e,o],[t,i]]},b.step=function(x){return arguments.length?b.stepMajor(x).stepMinor(x):b.stepMinor()},b.stepMajor=function(x){return arguments.length?(c=+x[0],h=+x[1],b):[c,h]},b.stepMinor=function(x){return arguments.length?(l=+x[0],u=+x[1],b):[l,u]},b.precision=function(x){return arguments.length?(m=+x,f=eb(o,i,90),p=nb(e,t,m),d=eb(s,a,90),g=nb(r,n,m),b):m},b.extentMajor([[-180,-90+ot],[180,90-ot]]).extentMinor([[-180,-80-ot],[180,80+ot]])}function N4(){return rb()()}function F4(t,e){var n=t[0]*at,r=t[1]*at,i=e[0]*at,o=e[1]*at,a=rt(r),s=et(r),l=rt(o),u=et(o),c=a*rt(n),h=a*et(n),f=l*rt(i),p=l*et(i),d=2*Jt(Nt(y1(o-r)+a*l*y1(i-n))),g=et(d),m=d?function(b){var y=et(b*=d)/g,x=et(d-b)/g,$=x*c+y*f,S=x*h+y*p,A=x*s+y*u;return[Qt(S,$)*$t,Qt(A,Nt($*$+S*S))*$t]}:function(){return[n*$t,r*$t]};return m.distance=d,m}const zo=t=>t;var ch=new kt,fh=new kt,ib,ob,hh,ph,dn={point:Tt,lineStart:Tt,lineEnd:Tt,polygonStart:function(){dn.lineStart=z4,dn.lineEnd=G4},polygonEnd:function(){dn.lineStart=dn.lineEnd=dn.point=Tt,ch.add(dt(fh)),fh=new kt},result:function(){var t=ch/2;return ch=new kt,t}};function z4(){dn.point=O4}function O4(t,e){dn.point=ab,ib=hh=t,ob=ph=e}function ab(t,e){fh.add(ph*t-hh*e),hh=t,ph=e}function G4(){ab(ib,ob)}var Si=1/0,wl=Si,Oo=-Si,Tl=Oo,Al={point:W4,lineStart:Tt,lineEnd:Tt,polygonStart:Tt,polygonEnd:Tt,result:function(){var t=[[Si,wl],[Oo,Tl]];return Oo=Tl=-(wl=Si=1/0),t}};function W4(t,e){t<Si&&(Si=t),t>Oo&&(Oo=t),e<wl&&(wl=e),e>Tl&&(Tl=e)}var dh=0,gh=0,Go=0,Pl=0,Cl=0,_i=0,mh=0,yh=0,Wo=0,sb,lb,Qe,Je,_e={point:xr,lineStart:ub,lineEnd:cb,polygonStart:function(){_e.lineStart=U4,_e.lineEnd=X4},polygonEnd:function(){_e.point=xr,_e.lineStart=ub,_e.lineEnd=cb},result:function(){var t=Wo?[mh/Wo,yh/Wo]:_i?[Pl/_i,Cl/_i]:Go?[dh/Go,gh/Go]:[NaN,NaN];return dh=gh=Go=Pl=Cl=_i=mh=yh=Wo=0,t}};function xr(t,e){dh+=t,gh+=e,++Go}function ub(){_e.point=Y4}function Y4(t,e){_e.point=V4,xr(Qe=t,Je=e)}function V4(t,e){var n=t-Qe,r=e-Je,i=Nt(n*n+r*r);Pl+=i*(Qe+t)/2,Cl+=i*(Je+e)/2,_i+=i,xr(Qe=t,Je=e)}function cb(){_e.point=xr}function U4(){_e.point=j4}function X4(){fb(sb,lb)}function j4(t,e){_e.point=fb,xr(sb=Qe=t,lb=Je=e)}function fb(t,e){var n=t-Qe,r=e-Je,i=Nt(n*n+r*r);Pl+=i*(Qe+t)/2,Cl+=i*(Je+e)/2,_i+=i,i=Je*t-Qe*e,mh+=i*(Qe+t),yh+=i*(Je+e),Wo+=i*3,xr(Qe=t,Je=e)}function hb(t){this._context=t}hb.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Kt);break}}},result:Tt};var bh=new kt,xh,pb,db,Yo,Vo,Uo={point:Tt,lineStart:function(){Uo.point=H4},lineEnd:function(){xh&&gb(pb,db),Uo.point=Tt},polygonStart:function(){xh=!0},polygonEnd:function(){xh=null},result:function(){var t=+bh;return bh=new kt,t}};function H4(t,e){Uo.point=gb,pb=Yo=t,db=Vo=e}function gb(t,e){Yo-=t,Vo-=e,bh.add(Nt(Yo*Yo+Vo*Vo)),Yo=t,Vo=e}let mb,Dl,yb,bb;class xb{constructor(e){this._append=e==null?$b:q4(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==yb||this._append!==Dl){const r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,yb=r,Dl=this._append,bb=this._,this._=i}this._+=bb;break}}}result(){const e=this._;return this._="",e.length?e:null}}function $b(t){let e=1;this._+=t[0];for(const n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function q4(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return $b;if(e!==mb){const n=10**e;mb=e,Dl=function(i){let o=1;this._+=i[0];for(const a=i.length;o<a;++o)this._+=Math.round(arguments[o]*n)/n+i[o]}}return Dl}function Z4(t,e){let n=3,r=4.5,i,o;function a(s){return s&&(typeof r=="function"&&o.pointRadius(+r.apply(this,arguments)),Ne(s,i(o))),o.result()}return a.area=function(s){return Ne(s,i(dn)),dn.result()},a.measure=function(s){return Ne(s,i(Uo)),Uo.result()},a.bounds=function(s){return Ne(s,i(Al)),Al.result()},a.centroid=function(s){return Ne(s,i(_e)),_e.result()},a.projection=function(s){return arguments.length?(i=s==null?(t=null,zo):(t=s).stream,a):t},a.context=function(s){return arguments.length?(o=s==null?(e=null,new xb(n)):new hb(e=s),typeof r!="function"&&o.pointRadius(r),a):e},a.pointRadius=function(s){return arguments.length?(r=typeof s=="function"?s:(o.pointRadius(+s),+s),a):r},a.digits=function(s){if(!arguments.length)return n;if(s==null)n=null;else{const l=Math.floor(s);if(!(l>=0))throw new RangeError(`invalid digits: ${s}`);n=l}return e===null&&(o=new xb(n)),a},a.projection(t).digits(n).context(e)}function K4(t){return{stream:Xo(t)}}function Xo(t){return function(e){var n=new $h;for(var r in t)n[r]=t[r];return n.stream=e,n}}function $h(){}$h.prototype={constructor:$h,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function vh(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),Ne(n,t.stream(Al)),e(Al.result()),r!=null&&t.clipExtent(r),t}function Ml(t,e,n){return vh(t,function(r){var i=e[1][0]-e[0][0],o=e[1][1]-e[0][1],a=Math.min(i/(r[1][0]-r[0][0]),o/(r[1][1]-r[0][1])),s=+e[0][0]+(i-a*(r[1][0]+r[0][0]))/2,l=+e[0][1]+(o-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([s,l])},n)}function Sh(t,e,n){return Ml(t,[[0,0],e],n)}function _h(t,e,n){return vh(t,function(r){var i=+e,o=i/(r[1][0]-r[0][0]),a=(i-o*(r[1][0]+r[0][0]))/2,s=-o*r[0][1];t.scale(150*o).translate([a,s])},n)}function wh(t,e,n){return vh(t,function(r){var i=+e,o=i/(r[1][1]-r[0][1]),a=-o*r[0][0],s=(i-o*(r[1][1]+r[0][1]))/2;t.scale(150*o).translate([a,s])},n)}var vb=16,Q4=rt(30*at);function Sb(t,e){return+e?tk(t,e):J4(t)}function J4(t){return Xo({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function tk(t,e){function n(r,i,o,a,s,l,u,c,h,f,p,d,g,m){var b=u-r,y=c-i,x=b*b+y*y;if(x>4*e&&g--){var $=a+f,S=s+p,A=l+d,_=Nt($*$+S*S+A*A),P=Jt(A/=_),M=dt(dt(A)-1)<ot||dt(o-h)<ot?(o+h)/2:Qt(S,$),R=t(M,P),v=R[0],E=R[1],k=v-r,T=E-i,w=y*k-b*T;(w*w/x>e||dt((b*k+y*T)/x-.5)>.3||a*f+s*p+l*d<Q4)&&(n(r,i,o,a,s,l,v,E,M,$/=_,S/=_,A,g,m),m.point(v,E),n(v,E,M,$,S,A,u,c,h,f,p,d,g,m))}}return function(r){var i,o,a,s,l,u,c,h,f,p,d,g,m={point:b,lineStart:y,lineEnd:$,polygonStart:function(){r.polygonStart(),m.lineStart=S},polygonEnd:function(){r.polygonEnd(),m.lineStart=y}};function b(P,M){P=t(P,M),r.point(P[0],P[1])}function y(){h=NaN,m.point=x,r.lineStart()}function x(P,M){var R=yr([P,M]),v=t(P,M);n(h,f,c,p,d,g,h=v[0],f=v[1],c=P,p=R[0],d=R[1],g=R[2],vb,r),r.point(h,f)}function $(){m.point=b,r.lineEnd()}function S(){y(),m.point=A,m.lineEnd=_}function A(P,M){x(i=P,M),o=h,a=f,s=p,l=d,u=g,m.point=x}function _(){n(h,f,c,p,d,g,o,a,i,s,l,u,vb,r),m.lineEnd=$,$()}return m}}var ek=Xo({point:function(t,e){this.stream.point(t*at,e*at)}});function nk(t){return Xo({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function rk(t,e,n,r,i){function o(a,s){return a*=r,s*=i,[e+t*a,n-t*s]}return o.invert=function(a,s){return[(a-e)/t*r,(n-s)/t*i]},o}function _b(t,e,n,r,i,o){if(!o)return rk(t,e,n,r,i);var a=rt(o),s=et(o),l=a*t,u=s*t,c=a/t,h=s/t,f=(s*n-a*e)/t,p=(s*e+a*n)/t;function d(g,m){return g*=r,m*=i,[l*g-u*m+e,n-u*g-l*m]}return d.invert=function(g,m){return[r*(c*g-h*m+f),i*(p-h*g-c*m)]},d}function tn(t){return Th(function(){return t})()}function Th(t){var e,n=150,r=480,i=250,o=0,a=0,s=0,l=0,u=0,c,h=0,f=1,p=1,d=null,g=ah,m=null,b,y,x,$=zo,S=.5,A,_,P,M,R;function v(w){return P(w[0]*at,w[1]*at)}function E(w){return w=P.invert(w[0],w[1]),w&&[w[0]*$t,w[1]*$t]}v.stream=function(w){return M&&R===w?M:M=ek(nk(c)(g(A($(R=w)))))},v.preclip=function(w){return arguments.length?(g=w,d=void 0,T()):g},v.postclip=function(w){return arguments.length?($=w,m=b=y=x=null,T()):$},v.clipAngle=function(w){return arguments.length?(g=+w?j1(d=w*at):(d=null,ah),T()):d*$t},v.clipExtent=function(w){return arguments.length?($=w==null?(m=b=y=x=null,zo):xl(m=+w[0][0],b=+w[0][1],y=+w[1][0],x=+w[1][1]),T()):m==null?null:[[m,b],[y,x]]},v.scale=function(w){return arguments.length?(n=+w,k()):n},v.translate=function(w){return arguments.length?(r=+w[0],i=+w[1],k()):[r,i]},v.center=function(w){return arguments.length?(o=w[0]%360*at,a=w[1]%360*at,k()):[o*$t,a*$t]},v.rotate=function(w){return arguments.length?(s=w[0]%360*at,l=w[1]%360*at,u=w.length>2?w[2]%360*at:0,k()):[s*$t,l*$t,u*$t]},v.angle=function(w){return arguments.length?(h=w%360*at,k()):h*$t},v.reflectX=function(w){return arguments.length?(f=w?-1:1,k()):f<0},v.reflectY=function(w){return arguments.length?(p=w?-1:1,k()):p<0},v.precision=function(w){return arguments.length?(A=Sb(_,S=w*w),T()):Nt(S)},v.fitExtent=function(w,C){return Ml(v,w,C)},v.fitSize=function(w,C){return Sh(v,w,C)},v.fitWidth=function(w,C){return _h(v,w,C)},v.fitHeight=function(w,C){return wh(v,w,C)};function k(){var w=_b(n,0,0,f,p,h).apply(null,e(o,a)),C=_b(n,r-w[0],i-w[1],f,p,h);return c=ih(s,l,u),_=nh(e,C),P=nh(c,_),A=Sb(_,S),T()}function T(){return M=R=null,v}return function(){return e=t.apply(this,arguments),v.invert=e.invert&&E,k()}}function Ah(t){var e=0,n=pt/3,r=Th(t),i=r(e,n);return i.parallels=function(o){return arguments.length?r(e=o[0]*at,n=o[1]*at):[e*$t,n*$t]},i}function ik(t){var e=rt(t);function n(r,i){return[r*e,et(i)/e]}return n.invert=function(r,i){return[r/e,Jt(i*e)]},n}function wb(t,e){var n=et(t),r=(n+et(e))/2;if(dt(r)<ot)return ik(t);var i=1+n*(2*r-n),o=Nt(i)/r;function a(s,l){var u=Nt(i-2*r*et(l))/r;return[u*et(s*=r),o-u*rt(s)]}return a.invert=function(s,l){var u=o-l,c=Qt(s,dt(u))*Se(u);return u*r<0&&(c-=pt*Se(s)*Se(u)),[c/r,Jt((i-(s*s+u*u)*r*r)/(2*r))]},a}function Ll(){return Ah(wb).scale(155.424).center([0,33.6442])}function Tb(){return Ll().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function ok(t){var e=t.length;return{point:function(n,r){for(var i=-1;++i<e;)t[i].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function ak(){var t,e,n=Tb(),r,i=Ll().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,a=Ll().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,l,u={point:function(f,p){l=[f,p]}};function c(f){var p=f[0],d=f[1];return l=null,r.point(p,d),l||(o.point(p,d),l)||(s.point(p,d),l)}c.invert=function(f){var p=n.scale(),d=n.translate(),g=(f[0]-d[0])/p,m=(f[1]-d[1])/p;return(m>=.12&&m<.234&&g>=-.425&&g<-.214?i:m>=.166&&m<.234&&g>=-.214&&g<-.115?a:n).invert(f)},c.stream=function(f){return t&&e===f?t:t=ok([n.stream(e=f),i.stream(f),a.stream(f)])},c.precision=function(f){return arguments.length?(n.precision(f),i.precision(f),a.precision(f),h()):n.precision()},c.scale=function(f){return arguments.length?(n.scale(f),i.scale(f*.35),a.scale(f),c.translate(n.translate())):n.scale()},c.translate=function(f){if(!arguments.length)return n.translate();var p=n.scale(),d=+f[0],g=+f[1];return r=n.translate(f).clipExtent([[d-.455*p,g-.238*p],[d+.455*p,g+.238*p]]).stream(u),o=i.translate([d-.307*p,g+.201*p]).clipExtent([[d-.425*p+ot,g+.12*p+ot],[d-.214*p-ot,g+.234*p-ot]]).stream(u),s=a.translate([d-.205*p,g+.212*p]).clipExtent([[d-.214*p+ot,g+.166*p+ot],[d-.115*p-ot,g+.234*p-ot]]).stream(u),h()},c.fitExtent=function(f,p){return Ml(c,f,p)},c.fitSize=function(f,p){return Sh(c,f,p)},c.fitWidth=function(f,p){return _h(c,f,p)},c.fitHeight=function(f,p){return wh(c,f,p)};function h(){return t=e=null,c}return c.scale(1070)}function Ab(t){return function(e,n){var r=rt(e),i=rt(n),o=t(r*i);return o===1/0?[2,0]:[o*i*et(e),o*et(n)]}}function jo(t){return function(e,n){var r=Nt(e*e+n*n),i=t(r),o=et(i),a=rt(i);return[Qt(e*o,r*a),Jt(r&&n*o/r)]}}var Ph=Ab(function(t){return Nt(2/(1+t))});Ph.invert=jo(function(t){return 2*Jt(t/2)});function sk(){return tn(Ph).scale(124.75).clipAngle(180-.001)}var Ch=Ab(function(t){return(t=m1(t))&&t/et(t)});Ch.invert=jo(function(t){return t});function lk(){return tn(Ch).scale(79.4188).clipAngle(180-.001)}function Ho(t,e){return[t,el(Uf((Pt+e)/2))]}Ho.invert=function(t,e){return[t,2*yi(g1(e))-Pt]};function uk(){return Pb(Ho).scale(961/Kt)}function Pb(t){var e=tn(t),n=e.center,r=e.scale,i=e.translate,o=e.clipExtent,a=null,s,l,u;e.scale=function(h){return arguments.length?(r(h),c()):r()},e.translate=function(h){return arguments.length?(i(h),c()):i()},e.center=function(h){return arguments.length?(n(h),c()):n()},e.clipExtent=function(h){return arguments.length?(h==null?a=s=l=u=null:(a=+h[0][0],s=+h[0][1],l=+h[1][0],u=+h[1][1]),c()):a==null?null:[[a,s],[l,u]]};function c(){var h=pt*r(),f=e(z1(e.rotate()).invert([0,0]));return o(a==null?[[f[0]-h,f[1]-h],[f[0]+h,f[1]+h]]:t===Ho?[[Math.max(f[0]-h,a),s],[Math.min(f[0]+h,l),u]]:[[a,Math.max(f[1]-h,s)],[l,Math.min(f[1]+h,u)]])}return c()}function kl(t){return Uf((Pt+t)/2)}function Cb(t,e){var n=rt(t),r=t===e?et(t):el(n/rt(e))/el(kl(e)/kl(t)),i=n*Vf(kl(t),r)/r;if(!r)return Ho;function o(a,s){i>0?s<-Pt+ot&&(s=-Pt+ot):s>Pt-ot&&(s=Pt-ot);var l=i/Vf(kl(s),r);return[l*et(r*a),i-l*rt(r*a)]}return o.invert=function(a,s){var l=i-s,u=Se(r)*Nt(a*a+l*l),c=Qt(a,dt(l))*Se(l);return l*r<0&&(c-=pt*Se(a)*Se(l)),[c/r,2*yi(Vf(i/u,1/r))-Pt]},o}function ck(){return Ah(Cb).scale(109.5).parallels([30,30])}function qo(t,e){return[t,e]}qo.invert=qo;function fk(){return tn(qo).scale(152.63)}function Db(t,e){var n=rt(t),r=t===e?et(t):(n-rt(e))/(e-t),i=n/r+t;if(dt(r)<ot)return qo;function o(a,s){var l=i-s,u=r*a;return[l*et(u),i-l*rt(u)]}return o.invert=function(a,s){var l=i-s,u=Qt(a,dt(l))*Se(l);return l*r<0&&(u-=pt*Se(a)*Se(l)),[u/r,i-Se(r)*Nt(a*a+l*l)]},o}function hk(){return Ah(Db).scale(131.154).center([0,13.9389])}var Zo=1.340264,Ko=-.081106,Qo=893e-6,Jo=.003796,Rl=Nt(3)/2,pk=12;function Dh(t,e){var n=Jt(Rl*et(e)),r=n*n,i=r*r*r;return[t*rt(n)/(Rl*(Zo+3*Ko*r+i*(7*Qo+9*Jo*r))),n*(Zo+Ko*r+i*(Qo+Jo*r))]}Dh.invert=function(t,e){for(var n=e,r=n*n,i=r*r*r,o=0,a,s,l;o<pk&&(s=n*(Zo+Ko*r+i*(Qo+Jo*r))-e,l=Zo+3*Ko*r+i*(7*Qo+9*Jo*r),n-=a=s/l,r=n*n,i=r*r*r,!(dt(a)<Eo));++o);return[Rl*t*(Zo+3*Ko*r+i*(7*Qo+9*Jo*r))/rt(n),Jt(et(n)/Rl)]};function dk(){return tn(Dh).scale(177.158)}function Mh(t,e){var n=rt(e),r=rt(t)*n;return[n*et(t)/r,et(e)/r]}Mh.invert=jo(yi);function gk(){return tn(Mh).scale(144.049).clipAngle(60)}function mk(){var t=1,e=0,n=0,r=1,i=1,o=0,a,s,l=null,u,c,h,f=1,p=1,d=Xo({point:function($,S){var A=x([$,S]);this.stream.point(A[0],A[1])}}),g=zo,m,b;function y(){return f=t*r,p=t*i,m=b=null,x}function x($){var S=$[0]*f,A=$[1]*p;if(o){var _=A*a-S*s;S=S*a+A*s,A=_}return[S+e,A+n]}return x.invert=function($){var S=$[0]-e,A=$[1]-n;if(o){var _=A*a+S*s;S=S*a-A*s,A=_}return[S/f,A/p]},x.stream=function($){return m&&b===$?m:m=d(g(b=$))},x.postclip=function($){return arguments.length?(g=$,l=u=c=h=null,y()):g},x.clipExtent=function($){return arguments.length?(g=$==null?(l=u=c=h=null,zo):xl(l=+$[0][0],u=+$[0][1],c=+$[1][0],h=+$[1][1]),y()):l==null?null:[[l,u],[c,h]]},x.scale=function($){return arguments.length?(t=+$,y()):t},x.translate=function($){return arguments.length?(e=+$[0],n=+$[1],y()):[e,n]},x.angle=function($){return arguments.length?(o=$%360*at,s=et(o),a=rt(o),y()):o*$t},x.reflectX=function($){return arguments.length?(r=$?-1:1,y()):r<0},x.reflectY=function($){return arguments.length?(i=$?-1:1,y()):i<0},x.fitExtent=function($,S){return Ml(x,$,S)},x.fitSize=function($,S){return Sh(x,$,S)},x.fitWidth=function($,S){return _h(x,$,S)},x.fitHeight=function($,S){return wh(x,$,S)},x}function Lh(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),e*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}Lh.invert=function(t,e){var n=e,r=25,i;do{var o=n*n,a=o*o;n-=i=(n*(1.007226+o*(.015085+a*(-.044475+.028874*o-.005916*a)))-e)/(1.007226+o*(.015085*3+a*(-.044475*7+.028874*9*o-.005916*11*a)))}while(dt(i)>ot&&--r>0);return[t/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};function yk(){return tn(Lh).scale(175.295)}function kh(t,e){return[rt(e)*et(t),et(e)]}kh.invert=jo(Jt);function bk(){return tn(kh).scale(249.5).clipAngle(90+ot)}function Rh(t,e){var n=rt(e),r=1+rt(t)*n;return[n*et(t)/r,et(e)/r]}Rh.invert=jo(function(t){return 2*yi(t)});function xk(){return tn(Rh).scale(250).clipAngle(142)}function Eh(t,e){return[el(Uf((Pt+e)/2)),-t]}Eh.invert=function(t,e){return[-e,2*yi(g1(t))-Pt]};function $k(){var t=Pb(Eh),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function vk(t,e){return t.parent===e.parent?1:2}function Sk(t){return t.reduce(_k,0)/t.length}function _k(t,e){return t+e.x}function wk(t){return 1+t.reduce(Tk,0)}function Tk(t,e){return Math.max(t,e.y)}function Ak(t){for(var e;e=t.children;)t=e[0];return t}function Pk(t){for(var e;e=t.children;)t=e[e.length-1];return t}function Ck(){var t=vk,e=1,n=1,r=!1;function i(o){var a,s=0;o.eachAfter(function(f){var p=f.children;p?(f.x=Sk(p),f.y=wk(p)):(f.x=a?s+=t(f,a):0,f.y=0,a=f)});var l=Ak(o),u=Pk(o),c=l.x-t(l,u)/2,h=u.x+t(u,l)/2;return o.eachAfter(r?function(f){f.x=(f.x-o.x)*e,f.y=(o.y-f.y)*n}:function(f){f.x=(f.x-c)/(h-c)*e,f.y=(1-(o.y?f.y/o.y:1))*n})}return i.separation=function(o){return arguments.length?(t=o,i):t},i.size=function(o){return arguments.length?(r=!1,e=+o[0],n=+o[1],i):r?null:[e,n]},i.nodeSize=function(o){return arguments.length?(r=!0,e=+o[0],n=+o[1],i):r?[e,n]:null},i}function Dk(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function Mk(){return this.eachAfter(Dk)}function Lk(t,e){let n=-1;for(const r of this)t.call(e,r,++n,this);return this}function kk(t,e){for(var n=this,r=[n],i,o,a=-1;n=r.pop();)if(t.call(e,n,++a,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function Rk(t,e){for(var n=this,r=[n],i=[],o,a,s,l=-1;n=r.pop();)if(i.push(n),o=n.children)for(a=0,s=o.length;a<s;++a)r.push(o[a]);for(;n=i.pop();)t.call(e,n,++l,this);return this}function Ek(t,e){let n=-1;for(const r of this)if(t.call(e,r,++n,this))return r}function Ik(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n})}function Bk(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Nk(t){for(var e=this,n=Fk(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r}function Fk(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;for(t=n.pop(),e=r.pop();t===e;)i=t,t=n.pop(),e=r.pop();return i}function zk(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Ok(){return Array.from(this)}function Gk(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Wk(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*Yk(){var t=this,e,n=[t],r,i,o;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);while(n.length)}function El(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=Xk)):e===void 0&&(e=Uk);for(var n=new $r(t),r,i=[n],o,a,s,l;r=i.pop();)if((a=e(r.data))&&(l=(a=Array.from(a)).length))for(r.children=a,s=l-1;s>=0;--s)i.push(o=a[s]=new $r(a[s])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(Mb)}function Vk(){return El(this).eachBefore(jk)}function Uk(t){return t.children}function Xk(t){return Array.isArray(t)?t[1]:null}function jk(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Mb(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function $r(t){this.data=t,this.depth=this.height=0,this.parent=null}$r.prototype=El.prototype={constructor:$r,count:Mk,each:Lk,eachAfter:Rk,eachBefore:kk,find:Ek,sum:Ik,sort:Bk,path:Nk,ancestors:zk,descendants:Ok,leaves:Gk,links:Wk,copy:Vk,[Symbol.iterator]:Yk};function Il(t){return t==null?null:Lb(t)}function Lb(t){if(typeof t!="function")throw new Error;return t}function vr(){return 0}function wi(t){return function(){return t}}const Hk=1664525,qk=1013904223,kb=4294967296;function Ih(){let t=1;return()=>(t=(Hk*t+qk)%kb)/kb}function Zk(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Kk(t,e){let n=t.length,r,i;for(;n;)i=e()*n--|0,r=t[n],t[n]=t[i],t[i]=r;return t}function Qk(t){return Rb(t,Ih())}function Rb(t,e){for(var n=0,r=(t=Kk(Array.from(t),e)).length,i=[],o,a;n<r;)o=t[n],a&&Eb(a,o)?++n:(a=t7(i=Jk(i,o)),n=0);return a}function Jk(t,e){var n,r;if(Bh(e,t))return[e];for(n=0;n<t.length;++n)if(Bl(e,t[n])&&Bh(ta(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(Bl(ta(t[n],t[r]),e)&&Bl(ta(t[n],e),t[r])&&Bl(ta(t[r],e),t[n])&&Bh(Ib(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function Bl(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function Eb(t,e){var n=t.r-e.r+Math.max(t.r,e.r,1)*1e-9,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Bh(t,e){for(var n=0;n<e.length;++n)if(!Eb(t,e[n]))return!1;return!0}function t7(t){switch(t.length){case 1:return e7(t[0]);case 2:return ta(t[0],t[1]);case 3:return Ib(t[0],t[1],t[2])}}function e7(t){return{x:t.x,y:t.y,r:t.r}}function ta(t,e){var n=t.x,r=t.y,i=t.r,o=e.x,a=e.y,s=e.r,l=o-n,u=a-r,c=s-i,h=Math.sqrt(l*l+u*u);return{x:(n+o+l/h*c)/2,y:(r+a+u/h*c)/2,r:(h+i+s)/2}}function Ib(t,e,n){var r=t.x,i=t.y,o=t.r,a=e.x,s=e.y,l=e.r,u=n.x,c=n.y,h=n.r,f=r-a,p=r-u,d=i-s,g=i-c,m=l-o,b=h-o,y=r*r+i*i-o*o,x=y-a*a-s*s+l*l,$=y-u*u-c*c+h*h,S=p*d-f*g,A=(d*$-g*x)/(S*2)-r,_=(g*m-d*b)/S,P=(p*x-f*$)/(S*2)-i,M=(f*b-p*m)/S,R=_*_+M*M-1,v=2*(o+A*_+P*M),E=A*A+P*P-o*o,k=-(Math.abs(R)>1e-6?(v+Math.sqrt(v*v-4*R*E))/(2*R):E/v);return{x:r+A+_*k,y:i+P+M*k,r:k}}function Bb(t,e,n){var r=t.x-e.x,i,o,a=t.y-e.y,s,l,u=r*r+a*a;u?(o=e.r+n.r,o*=o,l=t.r+n.r,l*=l,o>l?(i=(u+l-o)/(2*u),s=Math.sqrt(Math.max(0,l/u-i*i)),n.x=t.x-i*r-s*a,n.y=t.y-i*a+s*r):(i=(u+o-l)/(2*u),s=Math.sqrt(Math.max(0,o/u-i*i)),n.x=e.x+i*r-s*a,n.y=e.y+i*a+s*r)):(n.x=e.x+n.r,n.y=e.y)}function Nb(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Fb(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,o=(e.y*n.r+n.y*e.r)/r;return i*i+o*o}function Nl(t){this._=t,this.next=null,this.previous=null}function zb(t,e){if(!(o=(t=Zk(t)).length))return 0;var n,r,i,o,a,s,l,u,c,h,f;if(n=t[0],n.x=0,n.y=0,!(o>1))return n.r;if(r=t[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;Bb(r,n,i=t[2]),n=new Nl(n),r=new Nl(r),i=new Nl(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;t:for(l=3;l<o;++l){Bb(n._,r._,i=t[l]),i=new Nl(i),u=r.next,c=n.previous,h=r._.r,f=n._.r;do if(h<=f){if(Nb(u._,i._)){r=u,n.next=r,r.previous=n,--l;continue t}h+=u._.r,u=u.next}else{if(Nb(c._,i._)){n=c,n.next=r,r.previous=n,--l;continue t}f+=c._.r,c=c.previous}while(u!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,a=Fb(n);(i=i.next)!==r;)(s=Fb(i))<a&&(n=i,a=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=Rb(n,e),l=0;l<o;++l)n=t[l],n.x-=i.x,n.y-=i.y;return i.r}function n7(t){return zb(t,Ih()),t}function r7(t){return Math.sqrt(t.value)}function i7(){var t=null,e=1,n=1,r=vr;function i(o){const a=Ih();return o.x=e/2,o.y=n/2,t?o.eachBefore(Ob(t)).eachAfter(Nh(r,.5,a)).eachBefore(Gb(1)):o.eachBefore(Ob(r7)).eachAfter(Nh(vr,1,a)).eachAfter(Nh(r,o.r/Math.min(e,n),a)).eachBefore(Gb(Math.min(e,n)/(2*o.r))),o}return i.radius=function(o){return arguments.length?(t=Il(o),i):t},i.size=function(o){return arguments.length?(e=+o[0],n=+o[1],i):[e,n]},i.padding=function(o){return arguments.length?(r=typeof o=="function"?o:wi(+o),i):r},i}function Ob(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Nh(t,e,n){return function(r){if(i=r.children){var i,o,a=i.length,s=t(r)*e||0,l;if(s)for(o=0;o<a;++o)i[o].r+=s;if(l=zb(i,n),s)for(o=0;o<a;++o)i[o].r-=s;r.r=l+s}}}function Gb(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}function Wb(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function ea(t,e,n,r,i){for(var o=t.children,a,s=-1,l=o.length,u=t.value&&(r-e)/t.value;++s<l;)a=o[s],a.y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*u}function o7(){var t=1,e=1,n=0,r=!1;function i(a){var s=a.height+1;return a.x0=a.y0=n,a.x1=t,a.y1=e/s,a.eachBefore(o(e,s)),r&&a.eachBefore(Wb),a}function o(a,s){return function(l){l.children&&ea(l,l.x0,a*(l.depth+1)/s,l.x1,a*(l.depth+2)/s);var u=l.x0,c=l.y0,h=l.x1-n,f=l.y1-n;h<u&&(u=h=(u+h)/2),f<c&&(c=f=(c+f)/2),l.x0=u,l.y0=c,l.x1=h,l.y1=f}}return i.round=function(a){return arguments.length?(r=!!a,i):r},i.size=function(a){return arguments.length?(t=+a[0],e=+a[1],i):[t,e]},i.padding=function(a){return arguments.length?(n=+a,i):n},i}var a7={depth:-1},Yb={},Fh={};function s7(t){return t.id}function l7(t){return t.parentId}function u7(){var t=s7,e=l7,n;function r(i){var o=Array.from(i),a=t,s=e,l,u,c,h,f,p,d,g,m=new Map;if(n!=null){const b=o.map(($,S)=>c7(n($,S,i))),y=b.map(Vb),x=new Set(b).add("");for(const $ of y)x.has($)||(x.add($),b.push($),y.push(Vb($)),o.push(Fh));a=($,S)=>b[S],s=($,S)=>y[S]}for(c=0,l=o.length;c<l;++c)u=o[c],p=o[c]=new $r(u),(d=a(u,c,i))!=null&&(d+="")&&(g=p.id=d,m.set(g,m.has(g)?Yb:p)),(d=s(u,c,i))!=null&&(d+="")&&(p.parent=d);for(c=0;c<l;++c)if(p=o[c],d=p.parent){if(f=m.get(d),!f)throw new Error("missing: "+d);if(f===Yb)throw new Error("ambiguous: "+d);f.children?f.children.push(p):f.children=[p],p.parent=f}else{if(h)throw new Error("multiple roots");h=p}if(!h)throw new Error("no root");if(n!=null){for(;h.data===Fh&&h.children.length===1;)h=h.children[0],--l;for(let b=o.length-1;b>=0&&(p=o[b],p.data===Fh);--b)p.data=null}if(h.parent=a7,h.eachBefore(function(b){b.depth=b.parent.depth+1,--l}).eachBefore(Mb),h.parent=null,l>0)throw new Error("cycle");return h}return r.id=function(i){return arguments.length?(t=Il(i),r):t},r.parentId=function(i){return arguments.length?(e=Il(i),r):e},r.path=function(i){return arguments.length?(n=Il(i),r):n},r}function c7(t){t=`${t}`;let e=t.length;return zh(t,e-1)&&!zh(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function Vb(t){let e=t.length;if(e<2)return"";for(;--e>1&&!zh(t,e););return t.slice(0,e)}function zh(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function f7(t,e){return t.parent===e.parent?1:2}function Oh(t){var e=t.children;return e?e[0]:t.t}function Gh(t){var e=t.children;return e?e[e.length-1]:t.t}function h7(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function p7(t){for(var e=0,n=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=e,o.m+=e,e+=o.s+(n+=o.c)}function d7(t,e,n){return t.a.parent===e.parent?t.a:n}function Fl(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Fl.prototype=Object.create($r.prototype);function g7(t){for(var e=new Fl(t,0),n,r=[e],i,o,a,s;n=r.pop();)if(o=n._.children)for(n.children=new Array(s=o.length),a=s-1;a>=0;--a)r.push(i=n.children[a]=new Fl(o[a],a)),i.parent=n;return(e.parent=new Fl(null,0)).children=[e],e}function m7(){var t=f7,e=1,n=1,r=null;function i(u){var c=g7(u);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)u.eachBefore(l);else{var h=u,f=u,p=u;u.eachBefore(function(y){y.x<h.x&&(h=y),y.x>f.x&&(f=y),y.depth>p.depth&&(p=y)});var d=h===f?1:t(h,f)/2,g=d-h.x,m=e/(f.x+d+g),b=n/(p.depth||1);u.eachBefore(function(y){y.x=(y.x+g)*m,y.y=y.depth*b})}return u}function o(u){var c=u.children,h=u.parent.children,f=u.i?h[u.i-1]:null;if(c){p7(u);var p=(c[0].z+c[c.length-1].z)/2;f?(u.z=f.z+t(u._,f._),u.m=u.z-p):u.z=p}else f&&(u.z=f.z+t(u._,f._));u.parent.A=s(u,f,u.parent.A||h[0])}function a(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u,c,h){if(c){for(var f=u,p=u,d=c,g=f.parent.children[0],m=f.m,b=p.m,y=d.m,x=g.m,$;d=Gh(d),f=Oh(f),d&&f;)g=Oh(g),p=Gh(p),p.a=u,$=d.z+y-f.z-m+t(d._,f._),$>0&&(h7(d7(d,u,h),u,$),m+=$,b+=$),y+=d.m,m+=f.m,x+=g.m,b+=p.m;d&&!Gh(p)&&(p.t=d,p.m+=y-b),f&&!Oh(g)&&(g.t=f,g.m+=m-x,h=u)}return h}function l(u){u.x*=e,u.y=u.depth*n}return i.separation=function(u){return arguments.length?(t=u,i):t},i.size=function(u){return arguments.length?(r=!1,e=+u[0],n=+u[1],i):r?null:[e,n]},i.nodeSize=function(u){return arguments.length?(r=!0,e=+u[0],n=+u[1],i):r?[e,n]:null},i}function zl(t,e,n,r,i){for(var o=t.children,a,s=-1,l=o.length,u=t.value&&(i-n)/t.value;++s<l;)a=o[s],a.x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*u}var Ub=(1+Math.sqrt(5))/2;function Xb(t,e,n,r,i,o){for(var a=[],s=e.children,l,u,c=0,h=0,f=s.length,p,d,g=e.value,m,b,y,x,$,S,A;c<f;){p=i-n,d=o-r;do m=s[h++].value;while(!m&&h<f);for(b=y=m,S=Math.max(d/p,p/d)/(g*t),A=m*m*S,$=Math.max(y/A,A/b);h<f;++h){if(m+=u=s[h].value,u<b&&(b=u),u>y&&(y=u),A=m*m*S,x=Math.max(y/A,A/b),x>$){m-=u;break}$=x}a.push(l={value:m,dice:p<d,children:s.slice(c,h)}),l.dice?ea(l,n,r,i,g?r+=d*m/g:o):zl(l,n,r,g?n+=p*m/g:i,o),g-=m,c=h}return a}const Wh=function t(e){function n(r,i,o,a,s){Xb(e,r,i,o,a,s)}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(Ub);function jb(){var t=Wh,e=!1,n=1,r=1,i=[0],o=vr,a=vr,s=vr,l=vr,u=vr;function c(f){return f.x0=f.y0=0,f.x1=n,f.y1=r,f.eachBefore(h),i=[0],e&&f.eachBefore(Wb),f}function h(f){var p=i[f.depth],d=f.x0+p,g=f.y0+p,m=f.x1-p,b=f.y1-p;m<d&&(d=m=(d+m)/2),b<g&&(g=b=(g+b)/2),f.x0=d,f.y0=g,f.x1=m,f.y1=b,f.children&&(p=i[f.depth+1]=o(f)/2,d+=u(f)-p,g+=a(f)-p,m-=s(f)-p,b-=l(f)-p,m<d&&(d=m=(d+m)/2),b<g&&(g=b=(g+b)/2),t(f,d,g,m,b))}return c.round=function(f){return arguments.length?(e=!!f,c):e},c.size=function(f){return arguments.length?(n=+f[0],r=+f[1],c):[n,r]},c.tile=function(f){return arguments.length?(t=Lb(f),c):t},c.padding=function(f){return arguments.length?c.paddingInner(f).paddingOuter(f):c.paddingInner()},c.paddingInner=function(f){return arguments.length?(o=typeof f=="function"?f:wi(+f),c):o},c.paddingOuter=function(f){return arguments.length?c.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):c.paddingTop()},c.paddingTop=function(f){return arguments.length?(a=typeof f=="function"?f:wi(+f),c):a},c.paddingRight=function(f){return arguments.length?(s=typeof f=="function"?f:wi(+f),c):s},c.paddingBottom=function(f){return arguments.length?(l=typeof f=="function"?f:wi(+f),c):l},c.paddingLeft=function(f){return arguments.length?(u=typeof f=="function"?f:wi(+f),c):u},c}function y7(t,e,n,r,i){var o=t.children,a,s=o.length,l,u=new Array(s+1);for(u[0]=l=a=0;a<s;++a)u[a+1]=l+=o[a].value;c(0,s,t.value,e,n,r,i);function c(h,f,p,d,g,m,b){if(h>=f-1){var y=o[h];y.x0=d,y.y0=g,y.x1=m,y.y1=b;return}for(var x=u[h],$=p/2+x,S=h+1,A=f-1;S<A;){var _=S+A>>>1;u[_]<$?S=_+1:A=_}$-u[S-1]<u[S]-$&&h+1<S&&--S;var P=u[S]-x,M=p-P;if(m-d>b-g){var R=p?(d*M+m*P)/p:m;c(h,S,P,d,g,R,b),c(S,f,M,R,g,m,b)}else{var v=p?(g*M+b*P)/p:b;c(h,S,P,d,g,m,v),c(S,f,M,d,v,m,b)}}}function b7(t,e,n,r,i){(t.depth&1?zl:ea)(t,e,n,r,i)}const x7=function t(e){function n(r,i,o,a,s){if((l=r._squarify)&&l.ratio===e)for(var l,u,c,h,f=-1,p,d=l.length,g=r.value;++f<d;){for(u=l[f],c=u.children,h=u.value=0,p=c.length;h<p;++h)u.value+=c[h].value;u.dice?ea(u,i,o,a,g?o+=(s-o)*u.value/g:s):zl(u,i,o,g?i+=(a-i)*u.value/g:a,s),g-=u.value}else r._squarify=l=Xb(e,r,i,o,a,s),l.ratio=e}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(Ub);function $7(t){for(var e=-1,n=t.length,r,i=t[n-1],o=0;++e<n;)r=i,i=t[e],o+=r[1]*i[0]-r[0]*i[1];return o/2}function v7(t){for(var e=-1,n=t.length,r=0,i=0,o,a=t[n-1],s,l=0;++e<n;)o=a,a=t[e],l+=s=o[0]*a[1]-a[0]*o[1],r+=(o[0]+a[0])*s,i+=(o[1]+a[1])*s;return l*=3,[r/l,i/l]}function S7(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function _7(t,e){return t[0]-e[0]||t[1]-e[1]}function Hb(t){const e=t.length,n=[0,1];let r=2,i;for(i=2;i<e;++i){for(;r>1&&S7(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function w7(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(_7),e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var o=Hb(r),a=Hb(i),s=a[0]===o[0],l=a[a.length-1]===o[o.length-1],u=[];for(e=o.length-1;e>=0;--e)u.push(t[r[o[e]][2]]);for(e=+s;e<a.length-l;++e)u.push(t[r[a[e]][2]]);return u}function T7(t,e){for(var n=t.length,r=t[n-1],i=e[0],o=e[1],a=r[0],s=r[1],l,u,c=!1,h=0;h<n;++h)r=t[h],l=r[0],u=r[1],u>o!=s>o&&i<(a-l)*(o-u)/(s-u)+l&&(c=!c),a=l,s=u;return c}function A7(t){for(var e=-1,n=t.length,r=t[n-1],i,o,a=r[0],s=r[1],l=0;++e<n;)i=a,o=s,r=t[e],a=r[0],s=r[1],i-=a,o-=s,l+=Math.hypot(i,o);return l}const Ot=Math.random,P7=function t(e){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,arguments.length===1?(i=r,r=0):i-=r,function(){return e()*i+r}}return n.source=t,n}(Ot),C7=function t(e){function n(r,i){return arguments.length<2&&(i=r,r=0),r=Math.floor(r),i=Math.floor(i)-r,function(){return Math.floor(e()*i+r)}}return n.source=t,n}(Ot),Yh=function t(e){function n(r,i){var o,a;return r=r==null?0:+r,i=i==null?1:+i,function(){var s;if(o!=null)s=o,o=null;else do o=e()*2-1,s=e()*2-1,a=o*o+s*s;while(!a||a>1);return r+i*s*Math.sqrt(-2*Math.log(a)/a)}}return n.source=t,n}(Ot),D7=function t(e){var n=Yh.source(e);function r(){var i=n.apply(this,arguments);return function(){return Math.exp(i())}}return r.source=t,r}(Ot),qb=function t(e){function n(r){return(r=+r)<=0?()=>0:function(){for(var i=0,o=r;o>1;--o)i+=e();return i+o*e()}}return n.source=t,n}(Ot),M7=function t(e){var n=qb.source(e);function r(i){if((i=+i)==0)return e;var o=n(i);return function(){return o()/i}}return r.source=t,r}(Ot),L7=function t(e){function n(r){return function(){return-Math.log1p(-e())/r}}return n.source=t,n}(Ot),k7=function t(e){function n(r){if((r=+r)<0)throw new RangeError("invalid alpha");return r=1/-r,function(){return Math.pow(1-e(),r)}}return n.source=t,n}(Ot),R7=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return function(){return Math.floor(e()+r)}}return n.source=t,n}(Ot),Zb=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return r===0?()=>1/0:r===1?()=>1:(r=Math.log1p(-r),function(){return 1+Math.floor(Math.log1p(-e())/r)})}return n.source=t,n}(Ot),Vh=function t(e){var n=Yh.source(e)();function r(i,o){if((i=+i)<0)throw new RangeError("invalid k");if(i===0)return()=>0;if(o=o==null?1:+o,i===1)return()=>-Math.log1p(-e())*o;var a=(i<1?i+1:i)-1/3,s=1/(3*Math.sqrt(a)),l=i<1?()=>Math.pow(e(),1/i):()=>1;return function(){do{do var u=n(),c=1+s*u;while(c<=0);c*=c*c;var h=1-e()}while(h>=1-.0331*u*u*u*u&&Math.log(h)>=.5*u*u+a*(1-c+Math.log(c)));return a*c*l()*o}}return r.source=t,r}(Ot),Kb=function t(e){var n=Vh.source(e);function r(i,o){var a=n(i),s=n(o);return function(){var l=a();return l===0?0:l/(l+s())}}return r.source=t,r}(Ot),Qb=function t(e){var n=Zb.source(e),r=Kb.source(e);function i(o,a){return o=+o,(a=+a)>=1?()=>o:a<=0?()=>0:function(){for(var s=0,l=o,u=a;l*u>16&&l*(1-u)>16;){var c=Math.floor((l+1)*u),h=r(c,l-c+1)();h<=u?(s+=c,l-=c,u=(u-h)/(1-h)):(l=c-1,u/=h)}for(var f=u<.5,p=f?u:1-u,d=n(p),g=d(),m=0;g<=l;++m)g+=d();return s+(f?m:l-m)}}return i.source=t,i}(Ot),E7=function t(e){function n(r,i,o){var a;return(r=+r)==0?a=s=>-Math.log(s):(r=1/r,a=s=>Math.pow(s,r)),i=i==null?0:+i,o=o==null?1:+o,function(){return i+o*a(-Math.log1p(-e()))}}return n.source=t,n}(Ot),I7=function t(e){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,function(){return r+i*Math.tan(Math.PI*e())}}return n.source=t,n}(Ot),B7=function t(e){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,function(){var o=e();return r+i*Math.log(o/(1-o))}}return n.source=t,n}(Ot),N7=function t(e){var n=Vh.source(e),r=Qb.source(e);function i(o){return function(){for(var a=0,s=o;s>16;){var l=Math.floor(.875*s),u=n(l)();if(u>s)return a+r(l-1,s/u)();a+=l,s-=u}for(var c=-Math.log1p(-e()),h=0;c<=s;++h)c-=Math.log1p(-e());return a+h}}return i.source=t,i}(Ot),F7=1664525,z7=1013904223,Jb=1/4294967296;function O7(t=Math.random()){let e=(0<=t&&t<1?t/Jb:Math.abs(t))|0;return()=>(e=F7*e+z7|0,Jb*(e>>>0))}function we(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function gn(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const Uh=Symbol("implicit");function Xh(){var t=new ao,e=[],n=[],r=Uh;function i(o){let a=t.get(o);if(a===void 0){if(r!==Uh)return r;t.set(o,a=e.push(o)-1)}return n[a%n.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new ao;for(const a of o)t.has(a)||t.set(a,e.push(a)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return Xh(e,n).unknown(r)},we.apply(i,arguments),i}function jh(){var t=Xh().unknown(void 0),e=t.domain,n=t.range,r=0,i=1,o,a,s=!1,l=0,u=0,c=.5;delete t.unknown;function h(){var f=e().length,p=i<r,d=p?i:r,g=p?r:i;o=(g-d)/Math.max(1,f-l+u*2),s&&(o=Math.floor(o)),d+=(g-d-o*(f-l))*c,a=o*(1-l),s&&(d=Math.round(d),a=Math.round(a));var m=Pn(f).map(function(b){return d+o*b});return n(p?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),h()):e()},t.range=function(f){return arguments.length?([r,i]=f,r=+r,i=+i,h()):[r,i]},t.rangeRound=function(f){return[r,i]=f,r=+r,i=+i,s=!0,h()},t.bandwidth=function(){return a},t.step=function(){return o},t.round=function(f){return arguments.length?(s=!!f,h()):s},t.padding=function(f){return arguments.length?(l=Math.min(1,u=+f),h()):l},t.paddingInner=function(f){return arguments.length?(l=Math.min(1,f),h()):l},t.paddingOuter=function(f){return arguments.length?(u=+f,h()):u},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),h()):c},t.copy=function(){return jh(e(),[r,i]).round(s).paddingInner(l).paddingOuter(u).align(c)},we.apply(h(),arguments)}function tx(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return tx(e())},t}function Hh(){return tx(jh.apply(null,arguments).paddingInner(1))}function G7(t){return function(){return t}}function Ol(t){return+t}var ex=[0,1];function re(t){return t}function qh(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:G7(isNaN(e)?NaN:.5)}function W7(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Y7(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i<r?(r=qh(i,r),o=n(a,o)):(r=qh(r,i),o=n(o,a)),function(s){return o(r(s))}}function V7(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<r;)i[a]=qh(t[a],t[a+1]),o[a]=n(e[a],e[a+1]);return function(s){var l=Kn(t,s,1,r)-1;return o[l](i[l](s))}}function na(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Gl(){var t=ex,e=ex,n=sn,r,i,o,a=re,s,l,u;function c(){var f=Math.min(t.length,e.length);return a!==re&&(a=W7(t[0],t[f-1])),s=f>2?V7:Y7,l=u=null,h}function h(f){return f==null||isNaN(f=+f)?o:(l||(l=s(t.map(r),e,n)))(r(a(f)))}return h.invert=function(f){return a(i((u||(u=s(e,t.map(r),be)))(f)))},h.domain=function(f){return arguments.length?(t=Array.from(f,Ol),c()):t.slice()},h.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},h.rangeRound=function(f){return e=Array.from(f),n=xo,c()},h.clamp=function(f){return arguments.length?(a=f?!0:re,c()):a!==re},h.interpolate=function(f){return arguments.length?(n=f,c()):n},h.unknown=function(f){return arguments.length?(o=f,h):o},function(f,p){return r=f,i=p,c()}}function Zh(){return Gl()(re,re)}function nx(t,e,n,r){var i=os(t,e,n),o;switch(r=mi(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(o=p1(i,a))&&(r.precision=o),Wf(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=d1(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=h1(i))&&(r.precision=o-(r.type==="%")*2);break}}return Ro(r)}function En(t){var e=t.domain;return t.ticks=function(n){var r=e();return Jn(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return nx(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,o=r.length-1,a=r[i],s=r[o],l,u,c=10;for(s<a&&(u=a,a=s,s=u,u=i,i=o,o=u);c-- >0;){if(u=tr(a,s,n),u===l)return r[i]=a,r[o]=s,e(r);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;l=u}return t},t}function Sr(){var t=Zh();return t.copy=function(){return na(t,Sr())},we.apply(t,arguments),En(t)}function rx(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,Ol),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return rx(t).unknown(e)},t=arguments.length?Array.from(t,Ol):[0,1],En(n)}function ix(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],o=t[r],a;return o<i&&(a=n,n=r,r=a,a=i,i=o,o=a),t[n]=e.floor(i),t[r]=e.ceil(o),t}function ox(t){return Math.log(t)}function ax(t){return Math.exp(t)}function U7(t){return-Math.log(-t)}function X7(t){return-Math.exp(-t)}function j7(t){return isFinite(t)?+("1e"+t):t<0?0:t}function H7(t){return t===10?j7:t===Math.E?Math.exp:e=>Math.pow(t,e)}function q7(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function sx(t){return(e,n)=>-t(-e,n)}function Kh(t){const e=t(ox,ax),n=e.domain;let r=10,i,o;function a(){return i=q7(r),o=H7(r),n()[0]<0?(i=sx(i),o=sx(o),t(U7,X7)):t(ox,ax),e}return e.base=function(s){return arguments.length?(r=+s,a()):r},e.domain=function(s){return arguments.length?(n(s),a()):n()},e.ticks=s=>{const l=n();let u=l[0],c=l[l.length-1];const h=c<u;h&&([u,c]=[c,u]);let f=i(u),p=i(c),d,g;const m=s==null?10:+s;let b=[];if(!(r%1)&&p-f<m){if(f=Math.floor(f),p=Math.ceil(p),u>0){for(;f<=p;++f)for(d=1;d<r;++d)if(g=f<0?d/o(-f):d*o(f),!(g<u)){if(g>c)break;b.push(g)}}else for(;f<=p;++f)for(d=r-1;d>=1;--d)if(g=f>0?d/o(-f):d*o(f),!(g<u)){if(g>c)break;b.push(g)}b.length*2<m&&(b=Jn(u,c,m))}else b=Jn(f,p,Math.min(p-f,m)).map(o);return h?b.reverse():b},e.tickFormat=(s,l)=>{if(s==null&&(s=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=mi(l)).precision==null&&(l.trim=!0),l=Ro(l)),s===1/0)return l;const u=Math.max(1,r*s/e.ticks().length);return c=>{let h=c/o(Math.round(i(c)));return h*r<r-.5&&(h*=r),h<=u?l(c):""}},e.nice=()=>n(ix(n(),{floor:s=>o(Math.floor(i(s))),ceil:s=>o(Math.ceil(i(s)))})),e}function lx(){const t=Kh(Gl()).domain([1,10]);return t.copy=()=>na(t,lx()).base(t.base()),we.apply(t,arguments),t}function ux(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function cx(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Qh(t){var e=1,n=t(ux(e),cx(e));return n.constant=function(r){return arguments.length?t(ux(e=+r),cx(e)):e},En(n)}function fx(){var t=Qh(Gl());return t.copy=function(){return na(t,fx()).constant(t.constant())},we.apply(t,arguments)}function hx(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function Z7(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function K7(t){return t<0?-t*t:t*t}function Jh(t){var e=t(re,re),n=1;function r(){return n===1?t(re,re):n===.5?t(Z7,K7):t(hx(n),hx(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},En(e)}function In(){var t=Jh(Gl());return t.copy=function(){return na(t,In()).exponent(t.exponent())},we.apply(t,arguments),t}function Q7(){return In.apply(null,arguments).exponent(.5)}function px(t){return Math.sign(t)*t*t}function J7(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function dx(){var t=Zh(),e=[0,1],n=!1,r;function i(o){var a=J7(t(o));return isNaN(a)?r:n?Math.round(a):a}return i.invert=function(o){return t.invert(px(o))},i.domain=function(o){return arguments.length?(t.domain(o),i):t.domain()},i.range=function(o){return arguments.length?(t.range((e=Array.from(o,Ol)).map(px)),i):e.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(n=!!o,i):n},i.clamp=function(o){return arguments.length?(t.clamp(o),i):t.clamp()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return dx(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},we.apply(i,arguments),En(i)}function gx(){var t=[],e=[],n=[],r;function i(){var a=0,s=Math.max(1,e.length);for(n=new Array(s-1);++a<s;)n[a-1]=Q0(t,a/s);return o}function o(a){return a==null||isNaN(a=+a)?r:e[Kn(n,a)]}return o.invertExtent=function(a){var s=e.indexOf(a);return s<0?[NaN,NaN]:[s>0?n[s-1]:t[0],s<n.length?n[s]:t[t.length-1]]},o.domain=function(a){if(!arguments.length)return t.slice();t=[];for(let s of a)s!=null&&!isNaN(s=+s)&&t.push(s);return t.sort(wt),i()},o.range=function(a){return arguments.length?(e=Array.from(a),i()):e.slice()},o.unknown=function(a){return arguments.length?(r=a,o):r},o.quantiles=function(){return n.slice()},o.copy=function(){return gx().domain(t).range(e).unknown(r)},we.apply(o,arguments)}function mx(){var t=0,e=1,n=1,r=[.5],i=[0,1],o;function a(l){return l!=null&&l<=l?i[Kn(r,l,0,n)]:o}function s(){var l=-1;for(r=new Array(n);++l<n;)r[l]=((l+1)*e-(l-n)*t)/(n+1);return a}return a.domain=function(l){return arguments.length?([t,e]=l,t=+t,e=+e,s()):[t,e]},a.range=function(l){return arguments.length?(n=(i=Array.from(l)).length-1,s()):i.slice()},a.invertExtent=function(l){var u=i.indexOf(l);return u<0?[NaN,NaN]:u<1?[t,r[0]]:u>=n?[r[n-1],e]:[r[u-1],r[u]]},a.unknown=function(l){return arguments.length&&(o=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return mx().domain([t,e]).range(i).unknown(o)},we.apply(En(a),arguments)}function yx(){var t=[.5],e=[0,1],n,r=1;function i(o){return o!=null&&o<=o?e[Kn(t,o,0,r)]:n}return i.domain=function(o){return arguments.length?(t=Array.from(o),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(o){return arguments.length?(e=Array.from(o),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(o){var a=e.indexOf(o);return[t[a-1],t[a]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return yx().domain(t).range(e).unknown(n)},we.apply(i,arguments)}const tp=new Date,ep=new Date;function Mt(t,e,n,r){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{const a=i(o),s=i.ceil(o);return o-a<s-o?a:s},i.offset=(o,a)=>(e(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,s)=>{const l=[];if(o=i.ceil(o),s=s==null?1:Math.floor(s),!(o<a)||!(s>0))return l;let u;do l.push(u=new Date(+o)),e(o,s),t(o);while(u<o&&o<a);return l},i.filter=o=>Mt(a=>{if(a>=a)for(;t(a),!o(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;e(a,-1),!o(a););else for(;--s>=0;)for(;e(a,1),!o(a););}),n&&(i.count=(o,a)=>(tp.setTime(+o),ep.setTime(+a),t(tp),t(ep),Math.floor(n(tp,ep))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const Ti=Mt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ti.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Mt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Ti);const bx=Ti.range,mn=1e3,Te=mn*60,yn=Te*60,bn=yn*24,np=bn*7,xx=bn*30,rp=bn*365,xn=Mt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mn)},(t,e)=>(e-t)/mn,t=>t.getUTCSeconds()),$x=xn.range,Wl=Mt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mn)},(t,e)=>{t.setTime(+t+e*Te)},(t,e)=>(e-t)/Te,t=>t.getMinutes()),tR=Wl.range,Yl=Mt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Te)},(t,e)=>(e-t)/Te,t=>t.getUTCMinutes()),eR=Yl.range,Vl=Mt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mn-t.getMinutes()*Te)},(t,e)=>{t.setTime(+t+e*yn)},(t,e)=>(e-t)/yn,t=>t.getHours()),nR=Vl.range,Ul=Mt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*yn)},(t,e)=>(e-t)/yn,t=>t.getUTCHours()),rR=Ul.range,Ai=Mt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Te)/bn,t=>t.getDate()-1),iR=Ai.range,ra=Mt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/bn,t=>t.getUTCDate()-1),oR=ra.range,ip=Mt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/bn,t=>Math.floor(t/bn)),aR=ip.range;function _r(t){return Mt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Te)/np)}const Pi=_r(0),ia=_r(1),vx=_r(2),Sx=_r(3),wr=_r(4),_x=_r(5),wx=_r(6),Tx=Pi.range,sR=ia.range,lR=vx.range,uR=Sx.range,cR=wr.range,fR=_x.range,hR=wx.range;function Tr(t){return Mt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/np)}const Ci=Tr(0),oa=Tr(1),Ax=Tr(2),Px=Tr(3),Ar=Tr(4),Cx=Tr(5),Dx=Tr(6),Mx=Ci.range,pR=oa.range,dR=Ax.range,gR=Px.range,mR=Ar.range,yR=Cx.range,bR=Dx.range,Xl=Mt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),xR=Xl.range,jl=Mt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),$R=jl.range,en=Mt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());en.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Mt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const vR=en.range,nn=Mt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());nn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Mt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const SR=nn.range;function Lx(t,e,n,r,i,o){const a=[[xn,1,mn],[xn,5,5*mn],[xn,15,15*mn],[xn,30,30*mn],[o,1,Te],[o,5,5*Te],[o,15,15*Te],[o,30,30*Te],[i,1,yn],[i,3,3*yn],[i,6,6*yn],[i,12,12*yn],[r,1,bn],[r,2,2*bn],[n,1,np],[e,1,xx],[e,3,3*xx],[t,1,rp]];function s(u,c,h){const f=c<u;f&&([u,c]=[c,u]);const p=h&&typeof h.range=="function"?h:l(u,c,h),d=p?p.range(u,+c+1):[];return f?d.reverse():d}function l(u,c,h){const f=Math.abs(c-u)/h,p=es(([,,m])=>m).right(a,f);if(p===a.length)return t.every(os(u/rp,c/rp,h));if(p===0)return Ti.every(Math.max(os(u,c,h),1));const[d,g]=a[f/a[p-1][2]<a[p][2]/f?p-1:p];return d.every(g)}return[s,l]}const[kx,Rx]=Lx(nn,jl,Ci,ip,Ul,Yl),[Ex,Ix]=Lx(en,Xl,Pi,Ai,Vl,Wl);function op(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function ap(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function aa(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Bx(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,o=t.days,a=t.shortDays,s=t.months,l=t.shortMonths,u=sa(i),c=la(i),h=sa(o),f=la(o),p=sa(a),d=la(a),g=sa(s),m=la(s),b=sa(l),y=la(l),x={a:F,A:G,b:B,B:N,c:null,d:Wx,e:Wx,f:UR,g:e9,G:r9,H:WR,I:YR,j:VR,L:Yx,m:XR,M:jR,p:I,q:W,Q:qx,s:Zx,S:HR,u:qR,U:ZR,V:KR,w:QR,W:JR,x:null,X:null,y:t9,Y:n9,Z:i9,"%":Hx},$={a:H,A:it,b:Y,B:tt,c:null,d:Ux,e:Ux,f:l9,g:b9,G:$9,H:o9,I:a9,j:s9,L:Xx,m:u9,M:c9,p:V,q:J,Q:qx,s:Zx,S:f9,u:h9,U:p9,V:d9,w:g9,W:m9,x:null,X:null,y:y9,Y:x9,Z:v9,"%":Hx},S={a:R,A:v,b:E,B:k,c:T,d:Ox,e:Ox,f:FR,g:zx,G:Fx,H:Gx,I:Gx,j:ER,L:NR,m:RR,M:IR,p:M,q:kR,Q:OR,s:GR,S:BR,u:PR,U:CR,V:DR,w:AR,W:MR,x:w,X:C,y:zx,Y:Fx,Z:LR,"%":zR};x.x=A(n,x),x.X=A(r,x),x.c=A(e,x),$.x=A(n,$),$.X=A(r,$),$.c=A(e,$);function A(Z,nt){return function(lt){var j=[],mt=-1,ht=0,Et=Z.length,oe,ut,Dt;for(lt instanceof Date||(lt=new Date(+lt));++mt<Et;)Z.charCodeAt(mt)===37&&(j.push(Z.slice(ht,mt)),(ut=Nx[oe=Z.charAt(++mt)])!=null?oe=Z.charAt(++mt):ut=oe==="e"?" ":"0",(Dt=nt[oe])&&(oe=Dt(lt,ut)),j.push(oe),ht=mt+1);return j.push(Z.slice(ht,mt)),j.join("")}}function _(Z,nt){return function(lt){var j=aa(1900,void 0,1),mt=P(j,Z,lt+="",0),ht,Et;if(mt!=lt.length)return null;if("Q"in j)return new Date(j.Q);if("s"in j)return new Date(j.s*1e3+("L"in j?j.L:0));if(nt&&!("Z"in j)&&(j.Z=0),"p"in j&&(j.H=j.H%12+j.p*12),j.m===void 0&&(j.m="q"in j?j.q:0),"V"in j){if(j.V<1||j.V>53)return null;"w"in j||(j.w=1),"Z"in j?(ht=ap(aa(j.y,0,1)),Et=ht.getUTCDay(),ht=Et>4||Et===0?oa.ceil(ht):oa(ht),ht=ra.offset(ht,(j.V-1)*7),j.y=ht.getUTCFullYear(),j.m=ht.getUTCMonth(),j.d=ht.getUTCDate()+(j.w+6)%7):(ht=op(aa(j.y,0,1)),Et=ht.getDay(),ht=Et>4||Et===0?ia.ceil(ht):ia(ht),ht=Ai.offset(ht,(j.V-1)*7),j.y=ht.getFullYear(),j.m=ht.getMonth(),j.d=ht.getDate()+(j.w+6)%7)}else("W"in j||"U"in j)&&("w"in j||(j.w="u"in j?j.u%7:"W"in j?1:0),Et="Z"in j?ap(aa(j.y,0,1)).getUTCDay():op(aa(j.y,0,1)).getDay(),j.m=0,j.d="W"in j?(j.w+6)%7+j.W*7-(Et+5)%7:j.w+j.U*7-(Et+6)%7);return"Z"in j?(j.H+=j.Z/100|0,j.M+=j.Z%100,ap(j)):op(j)}}function P(Z,nt,lt,j){for(var mt=0,ht=nt.length,Et=lt.length,oe,ut;mt<ht;){if(j>=Et)return-1;if(oe=nt.charCodeAt(mt++),oe===37){if(oe=nt.charAt(mt++),ut=S[oe in Nx?nt.charAt(mt++):oe],!ut||(j=ut(Z,lt,j))<0)return-1}else if(oe!=lt.charCodeAt(j++))return-1}return j}function M(Z,nt,lt){var j=u.exec(nt.slice(lt));return j?(Z.p=c.get(j[0].toLowerCase()),lt+j[0].length):-1}function R(Z,nt,lt){var j=p.exec(nt.slice(lt));return j?(Z.w=d.get(j[0].toLowerCase()),lt+j[0].length):-1}function v(Z,nt,lt){var j=h.exec(nt.slice(lt));return j?(Z.w=f.get(j[0].toLowerCase()),lt+j[0].length):-1}function E(Z,nt,lt){var j=b.exec(nt.slice(lt));return j?(Z.m=y.get(j[0].toLowerCase()),lt+j[0].length):-1}function k(Z,nt,lt){var j=g.exec(nt.slice(lt));return j?(Z.m=m.get(j[0].toLowerCase()),lt+j[0].length):-1}function T(Z,nt,lt){return P(Z,e,nt,lt)}function w(Z,nt,lt){return P(Z,n,nt,lt)}function C(Z,nt,lt){return P(Z,r,nt,lt)}function F(Z){return a[Z.getDay()]}function G(Z){return o[Z.getDay()]}function B(Z){return l[Z.getMonth()]}function N(Z){return s[Z.getMonth()]}function I(Z){return i[+(Z.getHours()>=12)]}function W(Z){return 1+~~(Z.getMonth()/3)}function H(Z){return a[Z.getUTCDay()]}function it(Z){return o[Z.getUTCDay()]}function Y(Z){return l[Z.getUTCMonth()]}function tt(Z){return s[Z.getUTCMonth()]}function V(Z){return i[+(Z.getUTCHours()>=12)]}function J(Z){return 1+~~(Z.getUTCMonth()/3)}return{format:function(Z){var nt=A(Z+="",x);return nt.toString=function(){return Z},nt},parse:function(Z){var nt=_(Z+="",!1);return nt.toString=function(){return Z},nt},utcFormat:function(Z){var nt=A(Z+="",$);return nt.toString=function(){return Z},nt},utcParse:function(Z){var nt=_(Z+="",!0);return nt.toString=function(){return Z},nt}}}var Nx={"-":"",_:" ",0:"0"},Ft=/^\s*\d+/,_R=/^%/,wR=/[\\^$*+?|[\]().{}]/g;function yt(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(e)+i:i)}function TR(t){return t.replace(wR,"\\$&")}function sa(t){return new RegExp("^(?:"+t.map(TR).join("|")+")","i")}function la(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function AR(t,e,n){var r=Ft.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function PR(t,e,n){var r=Ft.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function CR(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function DR(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function MR(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Fx(t,e,n){var r=Ft.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function zx(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function LR(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function kR(t,e,n){var r=Ft.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function RR(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ox(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ER(t,e,n){var r=Ft.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Gx(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function IR(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function BR(t,e,n){var r=Ft.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function NR(t,e,n){var r=Ft.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function FR(t,e,n){var r=Ft.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function zR(t,e,n){var r=_R.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function OR(t,e,n){var r=Ft.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function GR(t,e,n){var r=Ft.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Wx(t,e){return yt(t.getDate(),e,2)}function WR(t,e){return yt(t.getHours(),e,2)}function YR(t,e){return yt(t.getHours()%12||12,e,2)}function VR(t,e){return yt(1+Ai.count(en(t),t),e,3)}function Yx(t,e){return yt(t.getMilliseconds(),e,3)}function UR(t,e){return Yx(t,e)+"000"}function XR(t,e){return yt(t.getMonth()+1,e,2)}function jR(t,e){return yt(t.getMinutes(),e,2)}function HR(t,e){return yt(t.getSeconds(),e,2)}function qR(t){var e=t.getDay();return e===0?7:e}function ZR(t,e){return yt(Pi.count(en(t)-1,t),e,2)}function Vx(t){var e=t.getDay();return e>=4||e===0?wr(t):wr.ceil(t)}function KR(t,e){return t=Vx(t),yt(wr.count(en(t),t)+(en(t).getDay()===4),e,2)}function QR(t){return t.getDay()}function JR(t,e){return yt(ia.count(en(t)-1,t),e,2)}function t9(t,e){return yt(t.getFullYear()%100,e,2)}function e9(t,e){return t=Vx(t),yt(t.getFullYear()%100,e,2)}function n9(t,e){return yt(t.getFullYear()%1e4,e,4)}function r9(t,e){var n=t.getDay();return t=n>=4||n===0?wr(t):wr.ceil(t),yt(t.getFullYear()%1e4,e,4)}function i9(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+yt(e/60|0,"0",2)+yt(e%60,"0",2)}function Ux(t,e){return yt(t.getUTCDate(),e,2)}function o9(t,e){return yt(t.getUTCHours(),e,2)}function a9(t,e){return yt(t.getUTCHours()%12||12,e,2)}function s9(t,e){return yt(1+ra.count(nn(t),t),e,3)}function Xx(t,e){return yt(t.getUTCMilliseconds(),e,3)}function l9(t,e){return Xx(t,e)+"000"}function u9(t,e){return yt(t.getUTCMonth()+1,e,2)}function c9(t,e){return yt(t.getUTCMinutes(),e,2)}function f9(t,e){return yt(t.getUTCSeconds(),e,2)}function h9(t){var e=t.getUTCDay();return e===0?7:e}function p9(t,e){return yt(Ci.count(nn(t)-1,t),e,2)}function jx(t){var e=t.getUTCDay();return e>=4||e===0?Ar(t):Ar.ceil(t)}function d9(t,e){return t=jx(t),yt(Ar.count(nn(t),t)+(nn(t).getUTCDay()===4),e,2)}function g9(t){return t.getUTCDay()}function m9(t,e){return yt(oa.count(nn(t)-1,t),e,2)}function y9(t,e){return yt(t.getUTCFullYear()%100,e,2)}function b9(t,e){return t=jx(t),yt(t.getUTCFullYear()%100,e,2)}function x9(t,e){return yt(t.getUTCFullYear()%1e4,e,4)}function $9(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Ar(t):Ar.ceil(t),yt(t.getUTCFullYear()%1e4,e,4)}function v9(){return"+0000"}function Hx(){return"%"}function qx(t){return+t}function Zx(t){return Math.floor(+t/1e3)}var Di,sp,Kx,Hl,lp;Qx({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Qx(t){return Di=Bx(t),sp=Di.format,Kx=Di.parse,Hl=Di.utcFormat,lp=Di.utcParse,Di}var Jx="%Y-%m-%dT%H:%M:%S.%LZ";function S9(t){return t.toISOString()}var _9=Date.prototype.toISOString?S9:Hl(Jx);const w9=_9;function T9(t){var e=new Date(t);return isNaN(e)?null:e}var A9=+new Date("2000-01-01T00:00:00.000Z")?T9:lp(Jx);const P9=A9;function C9(t){return new Date(t)}function D9(t){return t instanceof Date?+t:+new Date(+t)}function up(t,e,n,r,i,o,a,s,l,u){var c=Zh(),h=c.invert,f=c.domain,p=u(".%L"),d=u(":%S"),g=u("%I:%M"),m=u("%I %p"),b=u("%a %d"),y=u("%b %d"),x=u("%B"),$=u("%Y");function S(A){return(l(A)<A?p:s(A)<A?d:a(A)<A?g:o(A)<A?m:r(A)<A?i(A)<A?b:y:n(A)<A?x:$)(A)}return c.invert=function(A){return new Date(h(A))},c.domain=function(A){return arguments.length?f(Array.from(A,D9)):f().map(C9)},c.ticks=function(A){var _=f();return t(_[0],_[_.length-1],A??10)},c.tickFormat=function(A,_){return _==null?S:u(_)},c.nice=function(A){var _=f();return(!A||typeof A.range!="function")&&(A=e(_[0],_[_.length-1],A??10)),A?f(ix(_,A)):c},c.copy=function(){return na(c,up(t,e,n,r,i,o,a,s,l,u))},c}function M9(){return we.apply(up(Ex,Ix,en,Xl,Pi,Ai,Vl,Wl,xn,sp).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function L9(){return we.apply(up(kx,Rx,nn,jl,Ci,ra,Ul,Yl,xn,Hl).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function ql(){var t=0,e=1,n,r,i,o,a=re,s=!1,l;function u(h){return h==null||isNaN(h=+h)?l:a(i===0?.5:(h=(o(h)-n)*i,s?Math.max(0,Math.min(1,h)):h))}u.domain=function(h){return arguments.length?([t,e]=h,n=o(t=+t),r=o(e=+e),i=n===r?0:1/(r-n),u):[t,e]},u.clamp=function(h){return arguments.length?(s=!!h,u):s},u.interpolator=function(h){return arguments.length?(a=h,u):a};function c(h){return function(f){var p,d;return arguments.length?([p,d]=f,a=h(p,d),u):[a(0),a(1)]}}return u.range=c(sn),u.rangeRound=c(xo),u.unknown=function(h){return arguments.length?(l=h,u):l},function(h){return o=h,n=h(t),r=h(e),i=n===r?0:1/(r-n),u}}function Bn(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function t$(){var t=En(ql()(re));return t.copy=function(){return Bn(t,t$())},gn.apply(t,arguments)}function e$(){var t=Kh(ql()).domain([1,10]);return t.copy=function(){return Bn(t,e$()).base(t.base())},gn.apply(t,arguments)}function n$(){var t=Qh(ql());return t.copy=function(){return Bn(t,n$()).constant(t.constant())},gn.apply(t,arguments)}function cp(){var t=Jh(ql());return t.copy=function(){return Bn(t,cp()).exponent(t.exponent())},gn.apply(t,arguments)}function k9(){return cp.apply(null,arguments).exponent(.5)}function r$(){var t=[],e=re;function n(r){if(r!=null&&!isNaN(r=+r))return e((Kn(t,r,1)-1)/(t.length-1))}return n.domain=function(r){if(!arguments.length)return t.slice();t=[];for(let i of r)i!=null&&!isNaN(i=+i)&&t.push(i);return t.sort(wt),n},n.interpolator=function(r){return arguments.length?(e=r,n):e},n.range=function(){return t.map((r,i)=>e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,o)=>uo(t,o/r))},n.copy=function(){return r$(e).domain(t)},gn.apply(n,arguments)}function Zl(){var t=0,e=.5,n=1,r=1,i,o,a,s,l,u=re,c,h=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-o)*(r*g<r*o?s:l),u(h?Math.max(0,Math.min(1,g)):g))}p.domain=function(g){return arguments.length?([t,e,n]=g,i=c(t=+t),o=c(e=+e),a=c(n=+n),s=i===o?0:.5/(o-i),l=o===a?0:.5/(a-o),r=o<i?-1:1,p):[t,e,n]},p.clamp=function(g){return arguments.length?(h=!!g,p):h},p.interpolator=function(g){return arguments.length?(u=g,p):u};function d(g){return function(m){var b,y,x;return arguments.length?([b,y,x]=m,u=sy(g,[b,y,x]),p):[u(0),u(.5),u(1)]}}return p.range=d(sn),p.rangeRound=d(xo),p.unknown=function(g){return arguments.length?(f=g,p):f},function(g){return c=g,i=g(t),o=g(e),a=g(n),s=i===o?0:.5/(o-i),l=o===a?0:.5/(a-o),r=o<i?-1:1,p}}function i$(){var t=En(Zl()(re));return t.copy=function(){return Bn(t,i$())},gn.apply(t,arguments)}function o$(){var t=Kh(Zl()).domain([.1,1,10]);return t.copy=function(){return Bn(t,o$()).base(t.base())},gn.apply(t,arguments)}function a$(){var t=Qh(Zl());return t.copy=function(){return Bn(t,a$()).constant(t.constant())},gn.apply(t,arguments)}function fp(){var t=Jh(Zl());return t.copy=function(){return Bn(t,fp()).exponent(t.exponent())},gn.apply(t,arguments)}function R9(){return fp.apply(null,arguments).exponent(.5)}function ft(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}const E9=ft("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),I9=ft("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),B9=ft("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),N9=ft("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),F9=ft("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),z9=ft("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),O9=ft("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),G9=ft("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),W9=ft("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),Y9=ft("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),V9=ft("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),vt=t=>Xm(t[t.length-1]);var s$=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(ft);const U9=vt(s$);var l$=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(ft);const X9=vt(l$);var u$=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(ft);const j9=vt(u$);var c$=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(ft);const H9=vt(c$);var f$=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(ft);const q9=vt(f$);var h$=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(ft);const Z9=vt(h$);var p$=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(ft);const K9=vt(p$);var d$=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(ft);const Q9=vt(d$);var g$=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(ft);const J9=vt(g$);var m$=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(ft);const tE=vt(m$);var y$=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(ft);const eE=vt(y$);var b$=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(ft);const nE=vt(b$);var x$=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(ft);const rE=vt(x$);var $$=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(ft);const iE=vt($$);var v$=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(ft);const oE=vt(v$);var S$=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(ft);const aE=vt(S$);var _$=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(ft);const sE=vt(_$);var w$=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(ft);const lE=vt(w$);var T$=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(ft);const uE=vt(T$);var A$=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(ft);const cE=vt(A$);var P$=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(ft);const fE=vt(P$);var C$=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(ft);const hE=vt(C$);var D$=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(ft);const pE=vt(D$);var M$=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(ft);const dE=vt(M$);var L$=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(ft);const gE=vt(L$);var k$=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(ft);const mE=vt(k$);var R$=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(ft);const yE=vt(R$);function bE(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}const xE=Ds(Ie(300,.5,0),Ie(-240,.5,1));var $E=Ds(Ie(-100,.75,.35),Ie(80,1.5,.8)),vE=Ds(Ie(260,.75,.35),Ie(80,1.5,.8)),Kl=Ie();function SE(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Kl.h=360*t-100,Kl.s=1.5-1.5*e,Kl.l=.8-.9*e,Kl+""}var Ql=ii(),_E=Math.PI/3,wE=Math.PI*2/3;function TE(t){var e;return t=(.5-t)*Math.PI,Ql.r=255*(e=Math.sin(t))*e,Ql.g=255*(e=Math.sin(t+_E))*e,Ql.b=255*(e=Math.sin(t+wE))*e,Ql+""}function AE(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function Jl(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}const PE=Jl(ft("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var CE=Jl(ft("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),DE=Jl(ft("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),ME=Jl(ft("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ct(t){return function(){return t}}const E$=Math.abs,Vt=Math.atan2,$n=Math.cos,LE=Math.max,Mi=Math.min,fe=Math.sin,_t=Math.sqrt,Ut=1e-12,Nn=Math.PI,tu=Nn/2,Fn=2*Nn;function kE(t){return t>1?0:t<-1?Nn:Math.acos(t)}function I$(t){return t>=1?tu:t<=-1?-tu:Math.asin(t)}function ua(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Do(e)}function RE(t){return t.innerRadius}function EE(t){return t.outerRadius}function IE(t){return t.startAngle}function BE(t){return t.endAngle}function NE(t){return t&&t.padAngle}function FE(t,e,n,r,i,o,a,s){var l=n-t,u=r-e,c=a-i,h=s-o,f=h*l-c*u;if(!(f*f<Ut))return f=(c*(e-o)-h*(t-i))/f,[t+f*l,e+f*u]}function eu(t,e,n,r,i,o,a){var s=t-n,l=e-r,u=(a?o:-o)/_t(s*s+l*l),c=u*l,h=-u*s,f=t+c,p=e+h,d=n+c,g=r+h,m=(f+d)/2,b=(p+g)/2,y=d-f,x=g-p,$=y*y+x*x,S=i-o,A=f*g-d*p,_=(x<0?-1:1)*_t(LE(0,S*S*$-A*A)),P=(A*x-y*_)/$,M=(-A*y-x*_)/$,R=(A*x+y*_)/$,v=(-A*y+x*_)/$,E=P-m,k=M-b,T=R-m,w=v-b;return E*E+k*k>T*T+w*w&&(P=R,M=v),{cx:P,cy:M,x01:-c,y01:-h,x11:P*(i/S-1),y11:M*(i/S-1)}}function nu(){var t=RE,e=EE,n=ct(0),r=null,i=IE,o=BE,a=NE,s=null,l=ua(u);function u(){var c,h,f=+t.apply(this,arguments),p=+e.apply(this,arguments),d=i.apply(this,arguments)-tu,g=o.apply(this,arguments)-tu,m=E$(g-d),b=g>d;if(s||(s=c=l()),p<f&&(h=p,p=f,f=h),!(p>Ut))s.moveTo(0,0);else if(m>Fn-Ut)s.moveTo(p*$n(d),p*fe(d)),s.arc(0,0,p,d,g,!b),f>Ut&&(s.moveTo(f*$n(g),f*fe(g)),s.arc(0,0,f,g,d,b));else{var y=d,x=g,$=d,S=g,A=m,_=m,P=a.apply(this,arguments)/2,M=P>Ut&&(r?+r.apply(this,arguments):_t(f*f+p*p)),R=Mi(E$(p-f)/2,+n.apply(this,arguments)),v=R,E=R,k,T;if(M>Ut){var w=I$(M/f*fe(P)),C=I$(M/p*fe(P));(A-=w*2)>Ut?(w*=b?1:-1,$+=w,S-=w):(A=0,$=S=(d+g)/2),(_-=C*2)>Ut?(C*=b?1:-1,y+=C,x-=C):(_=0,y=x=(d+g)/2)}var F=p*$n(y),G=p*fe(y),B=f*$n(S),N=f*fe(S);if(R>Ut){var I=p*$n(x),W=p*fe(x),H=f*$n($),it=f*fe($),Y;if(m<Nn)if(Y=FE(F,G,H,it,I,W,B,N)){var tt=F-Y[0],V=G-Y[1],J=I-Y[0],Z=W-Y[1],nt=1/fe(kE((tt*J+V*Z)/(_t(tt*tt+V*V)*_t(J*J+Z*Z)))/2),lt=_t(Y[0]*Y[0]+Y[1]*Y[1]);v=Mi(R,(f-lt)/(nt-1)),E=Mi(R,(p-lt)/(nt+1))}else v=E=0}_>Ut?E>Ut?(k=eu(H,it,F,G,p,E,b),T=eu(I,W,B,N,p,E,b),s.moveTo(k.cx+k.x01,k.cy+k.y01),E<R?s.arc(k.cx,k.cy,E,Vt(k.y01,k.x01),Vt(T.y01,T.x01),!b):(s.arc(k.cx,k.cy,E,Vt(k.y01,k.x01),Vt(k.y11,k.x11),!b),s.arc(0,0,p,Vt(k.cy+k.y11,k.cx+k.x11),Vt(T.cy+T.y11,T.cx+T.x11),!b),s.arc(T.cx,T.cy,E,Vt(T.y11,T.x11),Vt(T.y01,T.x01),!b))):(s.moveTo(F,G),s.arc(0,0,p,y,x,!b)):s.moveTo(F,G),!(f>Ut)||!(A>Ut)?s.lineTo(B,N):v>Ut?(k=eu(B,N,I,W,f,-v,b),T=eu(F,G,H,it,f,-v,b),s.lineTo(k.cx+k.x01,k.cy+k.y01),v<R?s.arc(k.cx,k.cy,v,Vt(k.y01,k.x01),Vt(T.y01,T.x01),!b):(s.arc(k.cx,k.cy,v,Vt(k.y01,k.x01),Vt(k.y11,k.x11),!b),s.arc(0,0,f,Vt(k.cy+k.y11,k.cx+k.x11),Vt(T.cy+T.y11,T.cx+T.x11),b),s.arc(T.cx,T.cy,v,Vt(T.y11,T.x11),Vt(T.y01,T.x01),!b))):s.arc(0,0,f,S,$,b)}if(s.closePath(),c)return s=null,c+""||null}return u.centroid=function(){var c=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,h=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-Nn/2;return[$n(h)*c,fe(h)*c]},u.innerRadius=function(c){return arguments.length?(t=typeof c=="function"?c:ct(+c),u):t},u.outerRadius=function(c){return arguments.length?(e=typeof c=="function"?c:ct(+c),u):e},u.cornerRadius=function(c){return arguments.length?(n=typeof c=="function"?c:ct(+c),u):n},u.padRadius=function(c){return arguments.length?(r=c==null?null:typeof c=="function"?c:ct(+c),u):r},u.startAngle=function(c){return arguments.length?(i=typeof c=="function"?c:ct(+c),u):i},u.endAngle=function(c){return arguments.length?(o=typeof c=="function"?c:ct(+c),u):o},u.padAngle=function(c){return arguments.length?(a=typeof c=="function"?c:ct(+c),u):a},u.context=function(c){return arguments.length?(s=c??null,u):s},u}var zE=Array.prototype.slice;function ru(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function B$(t){this._context=t}B$.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function iu(t){return new B$(t)}function hp(t){return t[0]}function pp(t){return t[1]}function ou(t,e){var n=ct(!0),r=null,i=iu,o=null,a=ua(s);t=typeof t=="function"?t:t===void 0?hp:ct(t),e=typeof e=="function"?e:e===void 0?pp:ct(e);function s(l){var u,c=(l=ru(l)).length,h,f=!1,p;for(r==null&&(o=i(p=a())),u=0;u<=c;++u)!(u<c&&n(h=l[u],u,l))===f&&((f=!f)?o.lineStart():o.lineEnd()),f&&o.point(+t(h,u,l),+e(h,u,l));if(p)return o=null,p+""||null}return s.x=function(l){return arguments.length?(t=typeof l=="function"?l:ct(+l),s):t},s.y=function(l){return arguments.length?(e=typeof l=="function"?l:ct(+l),s):e},s.defined=function(l){return arguments.length?(n=typeof l=="function"?l:ct(!!l),s):n},s.curve=function(l){return arguments.length?(i=l,r!=null&&(o=i(r)),s):i},s.context=function(l){return arguments.length?(l==null?r=o=null:o=i(r=l),s):r},s}function dp(t,e,n){var r=null,i=ct(!0),o=null,a=iu,s=null,l=ua(u);t=typeof t=="function"?t:t===void 0?hp:ct(+t),e=typeof e=="function"?e:ct(e===void 0?0:+e),n=typeof n=="function"?n:n===void 0?pp:ct(+n);function u(h){var f,p,d,g=(h=ru(h)).length,m,b=!1,y,x=new Array(g),$=new Array(g);for(o==null&&(s=a(y=l())),f=0;f<=g;++f){if(!(f<g&&i(m=h[f],f,h))===b)if(b=!b)p=f,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),d=f-1;d>=p;--d)s.point(x[d],$[d]);s.lineEnd(),s.areaEnd()}b&&(x[f]=+t(m,f,h),$[f]=+e(m,f,h),s.point(r?+r(m,f,h):x[f],n?+n(m,f,h):$[f]))}if(y)return s=null,y+""||null}function c(){return ou().defined(i).curve(a).context(o)}return u.x=function(h){return arguments.length?(t=typeof h=="function"?h:ct(+h),r=null,u):t},u.x0=function(h){return arguments.length?(t=typeof h=="function"?h:ct(+h),u):t},u.x1=function(h){return arguments.length?(r=h==null?null:typeof h=="function"?h:ct(+h),u):r},u.y=function(h){return arguments.length?(e=typeof h=="function"?h:ct(+h),n=null,u):e},u.y0=function(h){return arguments.length?(e=typeof h=="function"?h:ct(+h),u):e},u.y1=function(h){return arguments.length?(n=h==null?null:typeof h=="function"?h:ct(+h),u):n},u.lineX0=u.lineY0=function(){return c().x(t).y(e)},u.lineY1=function(){return c().x(t).y(n)},u.lineX1=function(){return c().x(r).y(e)},u.defined=function(h){return arguments.length?(i=typeof h=="function"?h:ct(!!h),u):i},u.curve=function(h){return arguments.length?(a=h,o!=null&&(s=a(o)),u):a},u.context=function(h){return arguments.length?(h==null?o=s=null:s=a(o=h),u):o},u}function OE(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function GE(t){return t}function N$(){var t=GE,e=OE,n=null,r=ct(0),i=ct(Fn),o=ct(0);function a(s){var l,u=(s=ru(s)).length,c,h,f=0,p=new Array(u),d=new Array(u),g=+r.apply(this,arguments),m=Math.min(Fn,Math.max(-Fn,i.apply(this,arguments)-g)),b,y=Math.min(Math.abs(m)/u,o.apply(this,arguments)),x=y*(m<0?-1:1),$;for(l=0;l<u;++l)($=d[p[l]=l]=+t(s[l],l,s))>0&&(f+=$);for(e!=null?p.sort(function(S,A){return e(d[S],d[A])}):n!=null&&p.sort(function(S,A){return n(s[S],s[A])}),l=0,h=f?(m-u*x)/f:0;l<u;++l,g=b)c=p[l],$=d[c],b=g+($>0?$*h:0)+x,d[c]={data:s[c],index:l,value:$,startAngle:g,endAngle:b,padAngle:y};return d}return a.value=function(s){return arguments.length?(t=typeof s=="function"?s:ct(+s),a):t},a.sortValues=function(s){return arguments.length?(e=s,n=null,a):e},a.sort=function(s){return arguments.length?(n=s,e=null,a):n},a.startAngle=function(s){return arguments.length?(r=typeof s=="function"?s:ct(+s),a):r},a.endAngle=function(s){return arguments.length?(i=typeof s=="function"?s:ct(+s),a):i},a.padAngle=function(s){return arguments.length?(o=typeof s=="function"?s:ct(+s),a):o},a}var F$=gp(iu);function z$(t){this._curve=t}z$.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function gp(t){function e(n){return new z$(t(n))}return e._curve=t,e}function ca(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(n){return arguments.length?e(gp(n)):e()._curve},t}function O$(){return ca(ou().curve(F$))}function G$(){var t=dp().curve(F$),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return ca(n())},delete t.lineX0,t.lineEndAngle=function(){return ca(r())},delete t.lineX1,t.lineInnerRadius=function(){return ca(i())},delete t.lineY0,t.lineOuterRadius=function(){return ca(o())},delete t.lineY1,t.curve=function(a){return arguments.length?e(gp(a)):e()._curve},t}function fa(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}class W${constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}class WE{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,n){if(e=+e,n=+n,this._point===0)this._point=1;else{const r=fa(this._x0,this._y0),i=fa(this._x0,this._y0=(this._y0+n)/2),o=fa(e,this._y0),a=fa(e,n);this._context.moveTo(...r),this._context.bezierCurveTo(...i,...o,...a)}this._x0=e,this._y0=n}}function Y$(t){return new W$(t,!0)}function V$(t){return new W$(t,!1)}function YE(t){return new WE(t)}function VE(t){return t.source}function UE(t){return t.target}function au(t){let e=VE,n=UE,r=hp,i=pp,o=null,a=null,s=ua(l);function l(){let u;const c=zE.call(arguments),h=e.apply(this,c),f=n.apply(this,c);if(o==null&&(a=t(u=s())),a.lineStart(),c[0]=h,a.point(+r.apply(this,c),+i.apply(this,c)),c[0]=f,a.point(+r.apply(this,c),+i.apply(this,c)),a.lineEnd(),u)return a=null,u+""||null}return l.source=function(u){return arguments.length?(e=u,l):e},l.target=function(u){return arguments.length?(n=u,l):n},l.x=function(u){return arguments.length?(r=typeof u=="function"?u:ct(+u),l):r},l.y=function(u){return arguments.length?(i=typeof u=="function"?u:ct(+u),l):i},l.context=function(u){return arguments.length?(u==null?o=a=null:a=t(o=u),l):o},l}function XE(){return au(Y$)}function jE(){return au(V$)}function HE(){const t=au(YE);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const qE=_t(3),U$={draw(t,e){const n=_t(e+Mi(e/28,.75))*.59436,r=n/2,i=r*qE;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-i,-r),t.lineTo(i,r),t.moveTo(-i,r),t.lineTo(i,-r)}},su={draw(t,e){const n=_t(e/Nn);t.moveTo(n,0),t.arc(0,0,n,0,Fn)}},X$={draw(t,e){const n=_t(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},j$=_t(1/3),ZE=j$*2,H$={draw(t,e){const n=_t(e/ZE),r=n*j$;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},q$={draw(t,e){const n=_t(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}},Z$={draw(t,e){const n=_t(e-Mi(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}},K$={draw(t,e){const n=_t(e),r=-n/2;t.rect(r,r,n,n)}},Q$={draw(t,e){const n=_t(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}},KE=.8908130915292852,J$=fe(Nn/10)/fe(7*Nn/10),QE=fe(Fn/10)*J$,JE=-$n(Fn/10)*J$,tv={draw(t,e){const n=_t(e*KE),r=QE*n,i=JE*n;t.moveTo(0,-n),t.lineTo(r,i);for(let o=1;o<5;++o){const a=Fn*o/5,s=$n(a),l=fe(a);t.lineTo(l*n,-s*n),t.lineTo(s*r-l*i,l*r+s*i)}t.closePath()}},mp=_t(3),ev={draw(t,e){const n=-_t(e/(mp*3));t.moveTo(0,n*2),t.lineTo(-mp*n,-n),t.lineTo(mp*n,-n),t.closePath()}},tI=_t(3),nv={draw(t,e){const n=_t(e)*.6824,r=n/2,i=n*tI/2;t.moveTo(0,-n),t.lineTo(i,r),t.lineTo(-i,r),t.closePath()}},Ae=-.5,Pe=_t(3)/2,yp=1/_t(12),eI=(yp/2+1)*3,rv={draw(t,e){const n=_t(e/eI),r=n/2,i=n*yp,o=r,a=n*yp+n,s=-o,l=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(s,l),t.lineTo(Ae*r-Pe*i,Pe*r+Ae*i),t.lineTo(Ae*o-Pe*a,Pe*o+Ae*a),t.lineTo(Ae*s-Pe*l,Pe*s+Ae*l),t.lineTo(Ae*r+Pe*i,Ae*i-Pe*r),t.lineTo(Ae*o+Pe*a,Ae*a-Pe*o),t.lineTo(Ae*s+Pe*l,Ae*l-Pe*s),t.closePath()}},bp={draw(t,e){const n=_t(e-Mi(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}},iv=[su,X$,H$,K$,tv,ev,rv],nI=[su,Z$,bp,nv,U$,Q$,q$];function rI(t,e){let n=null,r=ua(i);t=typeof t=="function"?t:ct(t||su),e=typeof e=="function"?e:ct(e===void 0?64:+e);function i(){let o;if(n||(n=o=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),o)return n=null,o+""||null}return i.type=function(o){return arguments.length?(t=typeof o=="function"?o:ct(o),i):t},i.size=function(o){return arguments.length?(e=typeof o=="function"?o:ct(+o),i):e},i.context=function(o){return arguments.length?(n=o??null,i):n},i}function zn(){}function lu(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function uu(t){this._context=t}uu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lu(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lu(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function iI(t){return new uu(t)}function ov(t){this._context=t}ov.prototype={areaStart:zn,areaEnd:zn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:lu(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function oI(t){return new ov(t)}function av(t){this._context=t}av.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:lu(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function aI(t){return new av(t)}function sv(t,e){this._basis=new uu(t),this._beta=e}sv.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],i=e[0],o=t[n]-r,a=e[n]-i,s=-1,l;++s<=n;)l=s/n,this._basis.point(this._beta*t[s]+(1-this._beta)*(r+l*o),this._beta*e[s]+(1-this._beta)*(i+l*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const sI=function t(e){function n(r){return e===1?new uu(r):new sv(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function cu(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function xp(t,e){this._context=t,this._k=(1-e)/6}xp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:cu(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:cu(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const lI=function t(e){function n(r){return new xp(r,e)}return n.tension=function(r){return t(+r)},n}(0);function $p(t,e){this._context=t,this._k=(1-e)/6}$p.prototype={areaStart:zn,areaEnd:zn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:cu(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const uI=function t(e){function n(r){return new $p(r,e)}return n.tension=function(r){return t(+r)},n}(0);function vp(t,e){this._context=t,this._k=(1-e)/6}vp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:cu(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cI=function t(e){function n(r){return new vp(r,e)}return n.tension=function(r){return t(+r)},n}(0);function Sp(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>Ut){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Ut){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*u+t._x1*t._l23_2a-e*t._l12_2a)/c,a=(a*u+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function lv(t,e){this._context=t,this._alpha=e}lv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Sp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const fI=function t(e){function n(r){return e?new lv(r,e):new xp(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function uv(t,e){this._context=t,this._alpha=e}uv.prototype={areaStart:zn,areaEnd:zn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Sp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const hI=function t(e){function n(r){return e?new uv(r,e):new $p(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function cv(t,e){this._context=t,this._alpha=e}cv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Sp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const pI=function t(e){function n(r){return e?new cv(r,e):new vp(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function fv(t){this._context=t}fv.prototype={areaStart:zn,areaEnd:zn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function dI(t){return new fv(t)}function hv(t){return t<0?-1:1}function pv(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(hv(o)+hv(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function dv(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function _p(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,s=(o-r)/3;t._context.bezierCurveTo(r+s,i+s*e,o-s,a-s*n,o,a)}function fu(t){this._context=t}fu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:_p(this,this._t0,dv(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,_p(this,dv(this,n=pv(this,t,e)),n);break;default:_p(this,this._t0,n=pv(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function gv(t){this._context=new mv(t)}(gv.prototype=Object.create(fu.prototype)).point=function(t,e){fu.prototype.point.call(this,e,t)};function mv(t){this._context=t}mv.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,o){this._context.bezierCurveTo(e,t,r,n,o,i)}};function gI(t){return new fu(t)}function mI(t){return new gv(t)}function yv(t){this._context=t}yv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=bv(t),i=bv(e),o=0,a=1;a<n;++o,++a)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[a],e[a]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function bv(t){var e,n=t.length-1,r,i=new Array(n),o=new Array(n),a=new Array(n);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e<n-1;++e)i[e]=1,o[e]=4,a[e]=4*t[e]+2*t[e+1];for(i[n-1]=2,o[n-1]=7,a[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=i[e]/o[e-1],o[e]-=r,a[e]-=r*a[e-1];for(i[n-1]=a[n-1]/o[n-1],e=n-2;e>=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[n-1]=(t[n]+i[n-1])/2,e=0;e<n-1;++e)o[e]=2*t[e+1]-i[e+1];return[i,o]}function yI(t){return new yv(t)}function hu(t,e){this._context=t,this._t=e}hu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function bI(t){return new hu(t,.5)}function xI(t){return new hu(t,0)}function $I(t){return new hu(t,1)}function Li(t,e){if((a=t.length)>1)for(var n=1,r,i,o=t[e[0]],a,s=o.length;n<a;++n)for(i=o,o=t[e[n]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function ki(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function vI(t,e){return t[e]}function SI(t){const e=[];return e.key=t,e}function _I(){var t=ct([]),e=ki,n=Li,r=vI;function i(o){var a=Array.from(t.apply(this,arguments),SI),s,l=a.length,u=-1,c;for(const h of o)for(s=0,++u;s<l;++s)(a[s][u]=[0,+r(h,a[s].key,u,o)]).data=h;for(s=0,c=ru(e(a));s<l;++s)a[c[s]].index=s;return n(a,c),a}return i.keys=function(o){return arguments.length?(t=typeof o=="function"?o:ct(Array.from(o)),i):t},i.value=function(o){return arguments.length?(r=typeof o=="function"?o:ct(+o),i):r},i.order=function(o){return arguments.length?(e=o==null?ki:typeof o=="function"?o:ct(Array.from(o)),i):e},i.offset=function(o){return arguments.length?(n=o??Li,i):n},i}function wI(t,e){if((r=t.length)>0){for(var n,r,i=0,o=t[0].length,a;i<o;++i){for(a=n=0;n<r;++n)a+=t[n][i][1]||0;if(a)for(n=0;n<r;++n)t[n][i][1]/=a}Li(t,e)}}function TI(t,e){if((l=t.length)>0)for(var n,r=0,i,o,a,s,l,u=t[e[0]].length;r<u;++r)for(a=s=0,n=0;n<l;++n)(o=(i=t[e[n]][r])[1]-i[0])>0?(i[0]=a,i[1]=a+=o):o<0?(i[1]=s,i[0]=s+=o):(i[0]=0,i[1]=o)}function AI(t,e){if((i=t.length)>0){for(var n=0,r=t[e[0]],i,o=r.length;n<o;++n){for(var a=0,s=0;a<i;++a)s+=t[a][n][1]||0;r[n][1]+=r[n][0]=-s/2}Li(t,e)}}function PI(t,e){if(!(!((a=t.length)>0)||!((o=(i=t[e[0]]).length)>0))){for(var n=0,r=1,i,o,a;r<o;++r){for(var s=0,l=0,u=0;s<a;++s){for(var c=t[e[s]],h=c[r][1]||0,f=c[r-1][1]||0,p=(h-f)/2,d=0;d<s;++d){var g=t[e[d]],m=g[r][1]||0,b=g[r-1][1]||0;p+=m-b}l+=h,u+=p*h}i[r-1][1]+=i[r-1][0]=n,l&&(n-=u/l)}i[r-1][1]+=i[r-1][0]=n,Li(t,e)}}function xv(t){var e=t.map(CI);return ki(t).sort(function(n,r){return e[n]-e[r]})}function CI(t){for(var e=-1,n=0,r=t.length,i,o=-1/0;++e<r;)(i=+t[e][1])>o&&(o=i,n=e);return n}function $v(t){var e=t.map(vv);return ki(t).sort(function(n,r){return e[n]-e[r]})}function vv(t){for(var e=0,n=-1,r=t.length,i;++n<r;)(i=+t[n][1])&&(e+=i);return e}function DI(t){return $v(t).reverse()}function MI(t){var e=t.length,n,r,i=t.map(vv),o=xv(t),a=0,s=0,l=[],u=[];for(n=0;n<e;++n)r=o[n],a<s?(a+=i[r],l.push(r)):(s+=i[r],u.push(r));return u.reverse().concat(l)}function LI(t){return ki(t).reverse()}const pu=t=>()=>t;function kI(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function rn(t,e,n){this.k=t,this.x=e,this.y=n}rn.prototype={constructor:rn,scale:function(t){return t===1?this:new rn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new rn(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ri=new rn(1,0,0);Sv.prototype=rn.prototype;function Sv(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ri;return t.__zoom}function wp(t){t.stopImmediatePropagation()}function ha(t){t.preventDefault(),t.stopImmediatePropagation()}function RI(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function EI(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function _v(){return this.__zoom||Ri}function II(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function BI(){return navigator.maxTouchPoints||"ontouchstart"in this}function NI(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],a=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function vn(){var t=RI,e=EI,n=NI,r=II,i=BI,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,l=ry,u=er("start","zoom","end"),c,h,f,p=500,d=150,g=0,m=10;function b(T){T.property("__zoom",_v).on("wheel.zoom",P,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",R).filter(i).on("touchstart.zoom",v).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",k).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(T,w,C,F){var G=T.selection?T.selection():T;G.property("__zoom",_v),T!==G?S(T,w,C,F):G.interrupt().each(function(){A(this,arguments).event(F).start().zoom(null,typeof w=="function"?w.apply(this,arguments):w).end()})},b.scaleBy=function(T,w,C,F){b.scaleTo(T,function(){var G=this.__zoom.k,B=typeof w=="function"?w.apply(this,arguments):w;return G*B},C,F)},b.scaleTo=function(T,w,C,F){b.transform(T,function(){var G=e.apply(this,arguments),B=this.__zoom,N=C==null?$(G):typeof C=="function"?C.apply(this,arguments):C,I=B.invert(N),W=typeof w=="function"?w.apply(this,arguments):w;return n(x(y(B,W),N,I),G,a)},C,F)},b.translateBy=function(T,w,C,F){b.transform(T,function(){return n(this.__zoom.translate(typeof w=="function"?w.apply(this,arguments):w,typeof C=="function"?C.apply(this,arguments):C),e.apply(this,arguments),a)},null,F)},b.translateTo=function(T,w,C,F,G){b.transform(T,function(){var B=e.apply(this,arguments),N=this.__zoom,I=F==null?$(B):typeof F=="function"?F.apply(this,arguments):F;return n(Ri.translate(I[0],I[1]).scale(N.k).translate(typeof w=="function"?-w.apply(this,arguments):-w,typeof C=="function"?-C.apply(this,arguments):-C),B,a)},F,G)};function y(T,w){return w=Math.max(o[0],Math.min(o[1],w)),w===T.k?T:new rn(w,T.x,T.y)}function x(T,w,C){var F=w[0]-C[0]*T.k,G=w[1]-C[1]*T.k;return F===T.x&&G===T.y?T:new rn(T.k,F,G)}function $(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function S(T,w,C,F){T.on("start.zoom",function(){A(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(F).end()}).tween("zoom",function(){var G=this,B=arguments,N=A(G,B).event(F),I=e.apply(G,B),W=C==null?$(I):typeof C=="function"?C.apply(G,B):C,H=Math.max(I[1][0]-I[0][0],I[1][1]-I[0][1]),it=G.__zoom,Y=typeof w=="function"?w.apply(G,B):w,tt=l(it.invert(W).concat(H/it.k),Y.invert(W).concat(H/Y.k));return function(V){if(V===1)V=Y;else{var J=tt(V),Z=H/J[2];V=new rn(Z,W[0]-J[0]*Z,W[1]-J[1]*Z)}N.zoom(null,V)}})}function A(T,w,C){return!C&&T.__zooming||new _(T,w)}function _(T,w){this.that=T,this.args=w,this.active=0,this.sourceEvent=null,this.extent=e.apply(T,w),this.taps=0}_.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,w){return this.mouse&&T!=="mouse"&&(this.mouse[1]=w.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=w.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=w.invert(this.touch1[0])),this.that.__zoom=w,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var w=U(this.that).datum();u.call(T,this.that,new kI(T,{sourceEvent:this.sourceEvent,target:b,type:T,transform:this.that.__zoom,dispatch:u}),w)}};function P(T,...w){if(!t.apply(this,arguments))return;var C=A(this,w).event(T),F=this.__zoom,G=Math.max(o[0],Math.min(o[1],F.k*Math.pow(2,r.apply(this,arguments)))),B=ye(T);if(C.wheel)(C.mouse[0][0]!==B[0]||C.mouse[0][1]!==B[1])&&(C.mouse[1]=F.invert(C.mouse[0]=B)),clearTimeout(C.wheel);else{if(F.k===G)return;C.mouse=[B,F.invert(B)],ur(this),C.start()}ha(T),C.wheel=setTimeout(N,d),C.zoom("mouse",n(x(y(F,G),C.mouse[0],C.mouse[1]),C.extent,a));function N(){C.wheel=null,C.end()}}function M(T,...w){if(f||!t.apply(this,arguments))return;var C=T.currentTarget,F=A(this,w,!0).event(T),G=U(T.view).on("mousemove.zoom",W,!0).on("mouseup.zoom",H,!0),B=ye(T,C),N=T.clientX,I=T.clientY;gs(T.view),wp(T),F.mouse=[B,this.__zoom.invert(B)],ur(this),F.start();function W(it){if(ha(it),!F.moved){var Y=it.clientX-N,tt=it.clientY-I;F.moved=Y*Y+tt*tt>g}F.event(it).zoom("mouse",n(x(F.that.__zoom,F.mouse[0]=ye(it,C),F.mouse[1]),F.extent,a))}function H(it){G.on("mousemove.zoom mouseup.zoom",null),ms(it.view,F.moved),ha(it),F.event(it).end()}}function R(T,...w){if(t.apply(this,arguments)){var C=this.__zoom,F=ye(T.changedTouches?T.changedTouches[0]:T,this),G=C.invert(F),B=C.k*(T.shiftKey?.5:2),N=n(x(y(C,B),F,G),e.apply(this,w),a);ha(T),s>0?U(this).transition().duration(s).call(S,N,F,T):U(this).call(b.transform,N,F,T)}}function v(T,...w){if(t.apply(this,arguments)){var C=T.touches,F=C.length,G=A(this,w,T.changedTouches.length===F).event(T),B,N,I,W;for(wp(T),N=0;N<F;++N)I=C[N],W=ye(I,this),W=[W,this.__zoom.invert(W),I.identifier],G.touch0?!G.touch1&&G.touch0[2]!==W[2]&&(G.touch1=W,G.taps=0):(G.touch0=W,B=!0,G.taps=1+!!c);c&&(c=clearTimeout(c)),B&&(G.taps<2&&(h=W[0],c=setTimeout(function(){c=null},p)),ur(this),G.start())}}function E(T,...w){if(this.__zooming){var C=A(this,w).event(T),F=T.changedTouches,G=F.length,B,N,I,W;for(ha(T),B=0;B<G;++B)N=F[B],I=ye(N,this),C.touch0&&C.touch0[2]===N.identifier?C.touch0[0]=I:C.touch1&&C.touch1[2]===N.identifier&&(C.touch1[0]=I);if(N=C.that.__zoom,C.touch1){var H=C.touch0[0],it=C.touch0[1],Y=C.touch1[0],tt=C.touch1[1],V=(V=Y[0]-H[0])*V+(V=Y[1]-H[1])*V,J=(J=tt[0]-it[0])*J+(J=tt[1]-it[1])*J;N=y(N,Math.sqrt(V/J)),I=[(H[0]+Y[0])/2,(H[1]+Y[1])/2],W=[(it[0]+tt[0])/2,(it[1]+tt[1])/2]}else if(C.touch0)I=C.touch0[0],W=C.touch0[1];else return;C.zoom("touch",n(x(N,I,W),C.extent,a))}}function k(T,...w){if(this.__zooming){var C=A(this,w).event(T),F=T.changedTouches,G=F.length,B,N;for(wp(T),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),B=0;B<G;++B)N=F[B],C.touch0&&C.touch0[2]===N.identifier?delete C.touch0:C.touch1&&C.touch1[2]===N.identifier&&delete C.touch1;if(C.touch1&&!C.touch0&&(C.touch0=C.touch1,delete C.touch1),C.touch0)C.touch0[1]=this.__zoom.invert(C.touch0[0]);else if(C.end(),C.taps===2&&(N=ye(N,this),Math.hypot(h[0]-N[0],h[1]-N[1])<m)){var I=U(this).on("dblclick.zoom");I&&I.apply(this,arguments)}}}return b.wheelDelta=function(T){return arguments.length?(r=typeof T=="function"?T:pu(+T),b):r},b.filter=function(T){return arguments.length?(t=typeof T=="function"?T:pu(!!T),b):t},b.touchable=function(T){return arguments.length?(i=typeof T=="function"?T:pu(!!T),b):i},b.extent=function(T){return arguments.length?(e=typeof T=="function"?T:pu([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),b):e},b.scaleExtent=function(T){return arguments.length?(o[0]=+T[0],o[1]=+T[1],b):[o[0],o[1]]},b.translateExtent=function(T){return arguments.length?(a[0][0]=+T[0][0],a[1][0]=+T[1][0],a[0][1]=+T[0][1],a[1][1]=+T[1][1],b):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},b.constrain=function(T){return arguments.length?(n=T,b):n},b.duration=function(T){return arguments.length?(s=+T,b):s},b.interpolate=function(T){return arguments.length?(l=T,b):l},b.on=function(){var T=u.on.apply(u,arguments);return T===u?b:T},b.clickDistance=function(T){return arguments.length?(g=(T=+T)*T,b):Math.sqrt(g)},b.tapDistance=function(T){return arguments.length?(m=+T,b):m},b}const Tp=Object.freeze(Object.defineProperty({__proto__:null,Adder:kt,Delaunay:Ef,FormatSpecifier:Ks,InternMap:ao,InternSet:Qn,Node:$r,Path:Do,Voronoi:Uy,ZoomTransform:rn,active:Y5,arc:nu,area:dp,areaRadial:G$,ascending:wt,autoType:p8,axisBottom:am,axisLeft:Ec,axisRight:BD,axisTop:Rc,bin:Z0,bisect:Kn,bisectCenter:RC,bisectLeft:kC,bisectRight:I0,bisector:es,blob:m8,blur:EC,blur2:B0,blurImage:IC,brush:n6,brushSelection:J5,brushX:t6,brushY:e6,buffer:b8,chord:i6,chordDirected:a6,chordTranspose:o6,cluster:Ck,color:Dn,contourDensity:k6,contours:Df,count:rs,create:yL,creator:hs,cross:WC,csv:v8,csvFormat:n8,csvFormatBody:r8,csvFormatRow:o8,csvFormatRows:i8,csvFormatValue:a8,csvParse:qy,csvParseRows:e8,cubehelix:Ie,cumsum:YC,curveBasis:iI,curveBasisClosed:oI,curveBasisOpen:aI,curveBumpX:Y$,curveBumpY:V$,curveBundle:sI,curveCardinal:lI,curveCardinalClosed:uI,curveCardinalOpen:cI,curveCatmullRom:fI,curveCatmullRomClosed:hI,curveCatmullRomOpen:pI,curveLinear:iu,curveLinearClosed:dI,curveMonotoneX:gI,curveMonotoneY:mI,curveNatural:yI,curveStep:bI,curveStepAfter:$I,curveStepBefore:xI,descending:R0,deviation:z0,difference:wD,disjoint:TD,dispatch:er,drag:bs,dragDisable:gs,dragEnable:ms,dsv:$8,dsvFormat:Vs,easeBack:Ty,easeBackIn:I5,easeBackInOut:Ty,easeBackOut:B5,easeBounce:Po,easeBounceIn:R5,easeBounceInOut:E5,easeBounceOut:Po,easeCircle:wy,easeCircleIn:_5,easeCircleInOut:wy,easeCircleOut:w5,easeCubic:Ao,easeCubicIn:g5,easeCubicInOut:Ao,easeCubicOut:m5,easeElastic:cr,easeElasticIn:N5,easeElasticInOut:F5,easeElasticOut:cr,easeExp:_y,easeExpIn:v5,easeExpInOut:_y,easeExpOut:S5,easeLinear:Ze,easePoly:xy,easePolyIn:y5,easePolyInOut:xy,easePolyOut:b5,easeQuad:by,easeQuadIn:p5,easeQuadInOut:by,easeQuadOut:d5,easeSin:Sy,easeSinIn:x5,easeSinInOut:Sy,easeSinOut:$5,every:bD,extent:oo,fcumsum:UC,filter:$D,flatGroup:XC,flatRollup:jC,forceCenter:zf,forceCollide:js,forceLink:Gf,forceManyBody:qs,forceRadial:e4,forceSimulation:Hs,forceX:n1,forceY:r1,get format(){return Ro},formatDefaultLocale:f1,formatLocale:c1,get formatPrefix(){return Wf},formatSpecifier:mi,fsum:VC,geoAlbers:Tb,geoAlbersUsa:ak,geoArea:f4,geoAzimuthalEqualArea:sk,geoAzimuthalEqualAreaRaw:Ph,geoAzimuthalEquidistant:lk,geoAzimuthalEquidistantRaw:Ch,geoBounds:g4,geoCentroid:v4,geoCircle:S4,geoClipAntimeridian:ah,geoClipCircle:j1,geoClipExtent:D4,geoClipRectangle:xl,geoConicConformal:ck,geoConicConformalRaw:Cb,geoConicEqualArea:Ll,geoConicEqualAreaRaw:wb,geoConicEquidistant:hk,geoConicEquidistantRaw:Db,geoContains:B4,geoDistance:Sl,geoEqualEarth:dk,geoEqualEarthRaw:Dh,geoEquirectangular:fk,geoEquirectangularRaw:qo,geoGnomonic:gk,geoGnomonicRaw:Mh,geoGraticule:rb,geoGraticule10:N4,geoIdentity:mk,geoInterpolate:F4,geoLength:H1,geoMercator:uk,geoMercatorRaw:Ho,geoNaturalEarth1:yk,geoNaturalEarth1Raw:Lh,geoOrthographic:bk,geoOrthographicRaw:kh,geoPath:Z4,geoProjection:tn,geoProjectionMutator:Th,geoRotation:z1,geoStereographic:xk,geoStereographicRaw:Rh,geoStream:Ne,geoTransform:K4,geoTransverseMercator:$k,geoTransverseMercatorRaw:Eh,gray:NL,greatest:K0,greatestIndex:pD,group:Y0,groupSort:ZC,groups:V0,hcl:ws,hierarchy:El,histogram:Z0,hsl:vs,html:P8,image:_8,index:HC,indexes:qC,interpolate:sn,interpolateArray:YL,interpolateBasis:Wm,interpolateBasisClosed:Ym,interpolateBlues:hE,interpolateBrBG:U9,interpolateBuGn:tE,interpolateBuPu:eE,interpolateCividis:bE,interpolateCool:vE,interpolateCubehelix:i3,interpolateCubehelixDefault:xE,interpolateCubehelixLong:Ds,interpolateDate:qm,interpolateDiscrete:XL,interpolateGnBu:nE,interpolateGreens:pE,interpolateGreys:dE,interpolateHcl:n3,interpolateHclLong:r3,interpolateHsl:JL,interpolateHslLong:t3,interpolateHue:jL,interpolateInferno:DE,interpolateLab:e3,interpolateMagma:CE,interpolateNumber:be,interpolateNumberArray:Jc,interpolateObject:Zm,interpolateOrRd:rE,interpolateOranges:yE,interpolatePRGn:X9,interpolatePiYG:j9,interpolatePlasma:ME,interpolatePuBu:oE,interpolatePuBuGn:iE,interpolatePuOr:H9,interpolatePuRd:aE,interpolatePurples:gE,interpolateRainbow:SE,interpolateRdBu:q9,interpolateRdGy:Z9,interpolateRdPu:sE,interpolateRdYlBu:K9,interpolateRdYlGn:Q9,interpolateReds:mE,interpolateRgb:bo,interpolateRgbBasis:Xm,interpolateRgbBasisClosed:WL,interpolateRound:xo,interpolateSinebow:TE,interpolateSpectral:J9,interpolateString:nf,interpolateTransformCss:ty,interpolateTransformSvg:ey,interpolateTurbo:AE,interpolateViridis:PE,interpolateWarm:$E,interpolateYlGn:uE,interpolateYlGnBu:lE,interpolateYlOrBr:cE,interpolateYlOrRd:fE,interpolateZoom:ry,interrupt:ur,intersection:AD,interval:u3,isoFormat:w9,isoParse:P9,json:T8,lab:mo,lch:FL,least:hD,leastIndex:tm,line:ou,lineRadial:O$,link:au,linkHorizontal:XE,linkRadial:HE,linkVertical:jE,local:mm,map:vD,matcher:Fc,max:so,maxIndex:Cc,mean:iD,median:oD,medianIndex:aD,merge:Mc,min:as,minIndex:Dc,mode:lD,namespace:fo,namespaces:Bc,nice:Ac,now:wo,pack:i7,packEnclose:Qk,packSiblings:n7,pairs:uD,partition:o7,path:Cf,pathRound:u6,permute:q0,pie:N$,piecewise:sy,pointRadial:fa,pointer:ye,pointers:xL,polygonArea:$7,polygonCentroid:v7,polygonContains:T7,polygonHull:w7,polygonLength:A7,precisionFixed:h1,precisionPrefix:p1,precisionRound:d1,quadtree:Xs,quantile:uo,quantileIndex:J0,quantileSorted:Q0,quantize:o3,quickselect:ss,radialArea:G$,radialLine:O$,randomBates:M7,randomBernoulli:R7,randomBeta:Kb,randomBinomial:Qb,randomCauchy:I7,randomExponential:L7,randomGamma:Vh,randomGeometric:Zb,randomInt:C7,randomIrwinHall:qb,randomLcg:O7,randomLogNormal:D7,randomLogistic:B7,randomNormal:Yh,randomPareto:k7,randomPoisson:N7,randomUniform:P7,randomWeibull:E7,range:Pn,rank:fD,reduce:SD,reverse:_D,rgb:ii,ribbon:y6,ribbonArrow:b6,rollup:X0,rollups:j0,scaleBand:jh,scaleDiverging:i$,scaleDivergingLog:o$,scaleDivergingPow:fp,scaleDivergingSqrt:R9,scaleDivergingSymlog:a$,scaleIdentity:rx,scaleImplicit:Uh,scaleLinear:Sr,scaleLog:lx,scaleOrdinal:Xh,scalePoint:Hh,scalePow:In,scaleQuantile:gx,scaleQuantize:mx,scaleRadial:dx,scaleSequential:t$,scaleSequentialLog:e$,scaleSequentialPow:cp,scaleSequentialQuantile:r$,scaleSequentialSqrt:k9,scaleSequentialSymlog:n$,scaleSqrt:Q7,scaleSymlog:fx,scaleThreshold:yx,scaleTime:M9,scaleUtc:L9,scan:dD,schemeAccent:I9,schemeBlues:C$,schemeBrBG:s$,schemeBuGn:m$,schemeBuPu:y$,schemeCategory10:E9,schemeDark2:B9,schemeGnBu:b$,schemeGreens:D$,schemeGreys:M$,schemeObservable10:N9,schemeOrRd:x$,schemeOranges:R$,schemePRGn:l$,schemePaired:F9,schemePastel1:z9,schemePastel2:O9,schemePiYG:u$,schemePuBu:v$,schemePuBuGn:$$,schemePuOr:c$,schemePuRd:S$,schemePurples:L$,schemeRdBu:f$,schemeRdGy:h$,schemeRdPu:_$,schemeRdYlBu:p$,schemeRdYlGn:d$,schemeReds:k$,schemeSet1:G9,schemeSet2:W9,schemeSet3:Y9,schemeSpectral:g$,schemeTableau10:V9,schemeYlGn:T$,schemeYlGnBu:w$,schemeYlOrBr:A$,schemeYlOrRd:P$,select:U,selectAll:$L,selection:rr,selector:ps,selectorAll:Nc,shuffle:gD,shuffler:em,some:xD,sort:_c,stack:_I,stackOffsetDiverging:TI,stackOffsetExpand:wI,stackOffsetNone:Li,stackOffsetSilhouette:AI,stackOffsetWiggle:PI,stackOrderAppearance:xv,stackOrderAscending:$v,stackOrderDescending:DI,stackOrderInsideOut:MI,stackOrderNone:ki,stackOrderReverse:LI,stratify:u7,style:nr,subset:CD,sum:Lc,superset:rm,svg:C8,symbol:rI,symbolAsterisk:U$,symbolCircle:su,symbolCross:X$,symbolDiamond:H$,symbolDiamond2:q$,symbolPlus:Z$,symbolSquare:K$,symbolSquare2:Q$,symbolStar:tv,symbolTimes:bp,symbolTriangle:ev,symbolTriangle2:nv,symbolWye:rv,symbolX:bp,symbols:iv,symbolsFill:iv,symbolsStroke:nI,text:Us,thresholdFreedmanDiaconis:nD,thresholdScott:rD,thresholdSturges:Pc,tickFormat:nx,tickIncrement:tr,tickStep:os,ticks:Jn,timeDay:Ai,timeDays:iR,get timeFormat(){return sp},timeFormatDefaultLocale:Qx,timeFormatLocale:Bx,timeFriday:_x,timeFridays:fR,timeHour:Vl,timeHours:nR,timeInterval:Mt,timeMillisecond:Ti,timeMilliseconds:bx,timeMinute:Wl,timeMinutes:tR,timeMonday:ia,timeMondays:sR,timeMonth:Xl,timeMonths:xR,get timeParse(){return Kx},timeSaturday:wx,timeSaturdays:hR,timeSecond:xn,timeSeconds:$x,timeSunday:Pi,timeSundays:Tx,timeThursday:wr,timeThursdays:cR,timeTickInterval:Ix,timeTicks:Ex,timeTuesday:vx,timeTuesdays:lR,timeWednesday:Sx,timeWednesdays:uR,timeWeek:Pi,timeWeeks:Tx,timeYear:en,timeYears:vR,timeout:af,timer:Rs,timerFlush:cy,transition:my,transpose:nm,tree:m7,treemap:jb,treemapBinary:y7,treemapDice:ea,treemapResquarify:x7,treemapSlice:zl,treemapSliceDice:b7,treemapSquarify:Wh,tsv:S8,tsvFormat:l8,tsvFormatBody:u8,tsvFormatRow:f8,tsvFormatRows:c8,tsvFormatValue:h8,tsvParse:Zy,tsvParseRows:s8,union:DD,unixDay:ip,unixDays:aR,utcDay:ra,utcDays:oR,get utcFormat(){return Hl},utcFriday:Cx,utcFridays:yR,utcHour:Ul,utcHours:rR,utcMillisecond:Ti,utcMilliseconds:bx,utcMinute:Yl,utcMinutes:eR,utcMonday:oa,utcMondays:pR,utcMonth:jl,utcMonths:$R,get utcParse(){return lp},utcSaturday:Dx,utcSaturdays:bR,utcSecond:xn,utcSeconds:$x,utcSunday:Ci,utcSundays:Mx,utcThursday:Ar,utcThursdays:mR,utcTickInterval:Rx,utcTicks:kx,utcTuesday:Ax,utcTuesdays:dR,utcWednesday:Px,utcWednesdays:gR,utcWeek:Ci,utcWeeks:Mx,utcYear:nn,utcYears:SR,variance:F0,window:zc,xml:A8,zip:yD,zoom:vn,zoomIdentity:Ri,zoomTransform:Sv},Symbol.toStringTag,{value:"Module"}));function wv(t){try{return t.node().getBBox()}catch(e){throw new Error(e)}}function FI(t,e){function n(i){var s;const o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+i+"</svg>";const a=document.createDocumentFragment();for(;a&&((s=o==null?void 0:o.firstChild)!=null&&s.firstChild);)a.appendChild(o.firstChild.firstChild);return a}const r=t.node();for(;r.hasChildNodes();)r.removeChild(r.firstChild);t.node().appendChild(n(e))}function pa(t){return t.substring(0,4)!=="ease"?Ao:Tp[t]??Ao}function du({axisWidth:t,innerRadius:e,outerRadius:n,padAngle:r,cornerRadius:i}){const o=Sr().domain([0,1]).range([0,t/2]),a=o(n);return nu().innerRadius(o(e)).outerRadius(a).padAngle(r).padRadius(a).cornerRadius(i)}const On=(t,e)=>{if(e instanceof Function){const n=e(t);return String(n??"")}return Ro(e)(t)};function Ap(t){return!(mo(t).l<=60)}function da(t,e=10){var i;const n=document.createElement("canvas").getContext("2d");return(((i=n==null?void 0:n.measureText(t))==null?void 0:i.width)??0)*e/10}function zI(t){if(t===null||Number.isNaN(t)==!0)return String(t||0);const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")}function bt(t,e){const n=e.colors[e.colorScheme];return t==="label"?n.label[0]:t==="labelContrast"?Ap(n.label[0])?n.labelContrast[1]:n.labelContrast[0]:t=="none"?"none":n[t]!=null?n[t]:n.primary}function St({datum:t,colorType:e,fullChartParams:n}){const r=n.colors[n.colorScheme];if(e==="label"){const i=t.color;return i||r.label[0]}else if(e==="labelContrast"){const i=t.color;return i?Ap(i)?r.labelContrast[1]:r.labelContrast[0]:Ap(r.label[0])?r.labelContrast[1]:r.labelContrast[0]}return e=="none"?"none":r[e]!=null?r[e]:r.primary}function q(t,e,n){const r=n?`--${n}`:"";return`orbcharts-${t}__${e}${r}`}function ie(t,e){const r=Math.random().toString(36).substr(2,5);return q(t,e,r)}function ga(t,e){let n=new gt(()=>{});return t.each(function(){const r=zu(this,e);n=Ou(n,r)}),n}const Pr=({selection:t,pluginName:e,clipPathID:n,seriesLabels$:r,gridContainerPosition$:i,gridAxesTransform$:o,gridGraphicTransform$:a})=>{const s=q(e,"series"),l=q(e,"axes"),u=q(e,"graphic"),c=r.pipe(L((d,g)=>t.selectAll(`g.${s}`).data(d,m=>m).join(m=>m.append("g").classed(s,!0).each((b,y,x)=>{U(x[y]).selectAll(`g.${l}`).data([y]).join($=>$.append("g").classed(l,!0).attr("clip-path",`url(#${n})`).each((S,A,_)=>{U(_[A]).selectAll("defs").data([A]).join("defs"),U(_[A]).selectAll("g").data([A]).join("g").classed(u,!0)}),$=>$,$=>$.remove())}),m=>m,m=>m.remove())),st(1));O({seriesSelection:c,gridContainerPosition:i}).pipe(z(async d=>d)).subscribe(d=>{d.seriesSelection.transition().attr("transform",(g,m)=>{const b=d.gridContainerPosition[m]??d.gridContainerPosition[0],y=b.translate,x=b.scale;return`translate(${y[0]}, ${y[1]}) scale(${x[0]}, ${x[1]})`})});const h=O({seriesSelection:c,gridAxesTransform:o}).pipe(z(async d=>d),L(d=>d.seriesSelection.select(`g.${l}`).style("transform",d.gridAxesTransform.value)),st(1)),f=h.pipe(L(d=>d.select("defs")),st(1)),p=O({axesSelection:h,gridGraphicTransform:a}).pipe(z(async d=>d),L(d=>{const g=d.axesSelection.select(`g.${u}`);return g.transition().duration(50).style("transform",d.gridGraphicTransform.value),g}),st(1));return{seriesSelection$:c,axesSelection$:h,defsSelection$:f,graphicGSelection$:p}},OI=({selection:t,pluginName:e,computedData$:n,gridContainerPosition$:r,isSeriesSeprate$:i})=>{const o=q(e,"container"),a=O({computedData:n.pipe(K((s,l)=>s.length===l.length)),isSeriesSeprate:i}).pipe(z(async s=>s),L(s=>s.isSeriesSeprate?s.computedData:[s.computedData[0]]),L((s,l)=>t.selectAll(`g.${o}`).data(s,u=>u[0]?u[0].seriesIndex:l).join("g").classed(o,!0)),st(1));return O({containerSelection:a,gridContainerPosition:r}).pipe(z(async s=>s)).subscribe(s=>{s.containerSelection.attr("transform",(l,u)=>{const c=s.gridContainerPosition[u]??s.gridContainerPosition[0],h=c.translate,f=c.scale;return`translate(${h[0]}, ${h[1]}) scale(${f[0]}, ${f[1]})`})}),a},Tv=({fullDataFormatter$:t,gridAxesSize$:e,computedData$:n,fullChartParams$:r,gridContainerPosition$:i,layout$:o})=>{const a=new Q,s=O({fullDataFormatter:t,gridAxesSize:e,computedData:n}).pipe(z(async f=>f),L(f=>{const p=f.computedData[0]?f.computedData[0].length-1:0,d=f.fullDataFormatter.groupAxis.scaleDomain[0]-f.fullDataFormatter.groupAxis.scalePadding,g=f.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?p+f.fullDataFormatter.groupAxis.scalePadding:f.fullDataFormatter.groupAxis.scaleDomain[1]+f.fullDataFormatter.groupAxis.scalePadding;return[d,g]}),st(1)),l=O({fullDataFormatter:t,computedData:n}).pipe(z(async f=>f),L(f=>f.fullDataFormatter.seriesDirection==="row"?(f.computedData[0]??[]).map(p=>p.groupLabel):f.computedData.map(p=>p[0].groupLabel))),u=O({groupScaleDomain:s,groupLabels:l}).pipe(z(async f=>f),L(f=>f.groupLabels.filter((p,d)=>d>=f.groupScaleDomain[0]&&d<=f.groupScaleDomain[1]))),c=i.pipe(L(f=>f.reduce((d,g)=>g.columnIndex>d?g.columnIndex:d,0)+1),K()),h=i.pipe(L(f=>f.reduce((d,g)=>g.rowIndex>d?g.rowIndex:d,0)+1),K());return new gt(f=>{O({dataFormatter:t,axisSize:e,fullChartParams:r,scaleRangeGroupLabels:u,groupLabels:l,groupScaleDomain:s,columnAmount:c,rowAmount:h,layout:o}).pipe(D(a),z(async p=>p)).subscribe(p=>{const d=p.dataFormatter.valueAxis.position==="right"||p.dataFormatter.valueAxis.position==="bottom",g=D0({axisLabels:p.scaleRangeGroupLabels,axisWidth:p.axisSize.width,padding:p.dataFormatter.groupAxis.scalePadding,reverse:d}),m=y=>p.dataFormatter.groupAxis.position==="bottom"||p.dataFormatter.groupAxis.position==="top"?y.offsetX-p.fullChartParams.padding.left:y.offsetY-p.fullChartParams.padding.top,b=y=>{const x={offsetX:y.offsetX*p.columnAmount%p.layout.rootWidth,offsetY:y.offsetY*p.rowAmount%p.layout.rootHeight},$=m(x),S=g($),A=Math.ceil(p.groupScaleDomain[0]),_=S+A;return{groupIndex:_,groupLabel:p.groupLabels[_]??""}};return f.next(b),function(){a.next(void 0)}})})},GI=({rootSelection:t,fullDataFormatter$:e,gridAxesSize$:n,computedData$:r,fullChartParams$:i,gridContainerPosition$:o,layout$:a})=>{const s=ga(t,"mousemove"),l=O({fullDataFormatter:e,gridAxesSize:n,computedData:r}).pipe(z(async y=>y),L(y=>{const x=y.computedData[0]?y.computedData[0].length-1:0,$=y.fullDataFormatter.groupAxis.scaleDomain[0]-y.fullDataFormatter.groupAxis.scalePadding,S=y.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?x+y.fullDataFormatter.groupAxis.scalePadding:y.fullDataFormatter.groupAxis.scaleDomain[1]+y.fullDataFormatter.groupAxis.scalePadding;return[$,S]}),st(1)),u=O({fullDataFormatter:e,computedData:r}).pipe(z(async y=>y),L(y=>y.fullDataFormatter.seriesDirection==="row"?(y.computedData[0]??[]).map(x=>x.groupLabel):y.computedData.map(x=>x[0].groupLabel))),c=O({groupScaleDomain:l,groupLabels:u}).pipe(z(async y=>y),L(y=>y.groupLabels.filter((x,$)=>$>=y.groupScaleDomain[0]&&$<=y.groupScaleDomain[1]))),h=e.pipe(L(y=>y.valueAxis.position==="right"||y.valueAxis.position==="bottom")),f=O({reverse:h,gridAxesSize:n,scaleRangeGroupLabels:c,fullDataFormatter:e}).pipe(z(async y=>y),L(y=>D0({axisLabels:y.scaleRangeGroupLabels,axisWidth:y.gridAxesSize.width,padding:y.fullDataFormatter.groupAxis.scalePadding,reverse:y.reverse}))),p=o.pipe(L(y=>y.reduce(($,S)=>S.columnIndex>$?S.columnIndex:$,0)+1),K()),d=o.pipe(L(y=>y.reduce(($,S)=>S.rowIndex>$?S.rowIndex:$,0)+1),K()),g=O({fullDataFormatter:e,fullChartParams:i,rootMousemove:s,columnAmount:p,rowAmount:d,layout:a}).pipe(z(async y=>y),L(y=>{const x={offsetX:y.rootMousemove.offsetX*y.columnAmount%y.layout.rootWidth,offsetY:y.rootMousemove.offsetY*y.rowAmount%y.layout.rootHeight};return y.fullDataFormatter.groupAxis.position==="bottom"||y.fullDataFormatter.groupAxis.position==="top"?x.offsetX-y.fullChartParams.padding.left:x.offsetY-y.fullChartParams.padding.top})),m=O({xIndexScale:f,axisValue:g,groupScaleDomain:l}).pipe(z(async y=>y),L(y=>{const x=y.xIndexScale(y.axisValue),$=Math.ceil(y.groupScaleDomain[0]);return x+$})),b=O({groupIndex:m,groupLabels:u}).pipe(z(async y=>y),L(y=>y.groupLabels[y.groupIndex]??""));return O({groupIndex:m,groupLabel:b}).pipe(z(async y=>y),L(y=>({groupIndex:y.groupIndex,groupLabel:y.groupLabel})))};function WI(t="curveLinear"){return ou().x(e=>e.axisX).y(e=>e.axisY).curve(Tp[t])}function YI(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function VI({selection:t,pathClassName:e,segmentData:n,linePath:r,params:i}){return t.selectAll("path").data(n,(a,s)=>a.length?`${a[0].id}_${a[a.length-1].id}`:s).join(a=>a.append("path").classed(e,!0).attr("fill","none").attr("pointer-events","visibleStroke").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),a=>a,a=>a.remove()).attr("stroke-width",i.lineWidth).attr("stroke",(a,s)=>a[0]&&a[0].color).attr("d",a=>r(a))}function UI({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{r===e?U(o[i]).style("opacity",1):U(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}function XI({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(i=>i.append("clipPath"),i=>i,i=>i.remove()).attr("id",i=>i.id).each((i,o,a)=>{U(a[o]).selectAll("rect").data([i]).join(s=>{const l=s.append("rect");return l.transition().duration(n).ease(pa(r)).tween("tween",(u,c,h)=>f=>{const p=u.width*f;l.attr("x",0).attr("y",0).attr("width",d=>p).attr("height",d=>d.height)}),l},s=>s.attr("x",0).attr("y",0).attr("width",l=>l.width).attr("height",l=>l.height),s=>s.remove())})}const Av=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:h,gridAxesTransform$:f,gridGraphicTransform$:p,gridAxesSize$:d,gridHighlight$:g,gridContainerPosition$:m,allContainerPosition$:b,layout$:y,event$:x})=>{const $=new Q,S=ie(t,"clipPath-box"),A=q(t,"path"),{seriesSelection$:_,axesSelection$:P,defsSelection$:M,graphicGSelection$:R}=Pr({selection:e,pluginName:t,clipPathID:S,seriesLabels$:a,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:p}),v=new gt(G=>{const B=u.pipe(D($)).subscribe(N=>{if(!N)return;const I=WI(N.lineCurve);G.next(I)});return()=>{B.unsubscribe()}}),E=h.pipe(L(G=>G.transitionDuration),K()),k=h.pipe(L(G=>G.transitionEase),K());O({defsSelection:M,seriesLabels:a,axisSize:d,transitionDuration:E,transitionEase:k}).pipe(D($),z(async G=>G)).subscribe(G=>{const N=[{id:S,width:G.axisSize.width,height:G.axisSize.height}].concat(G.seriesLabels.map(I=>({id:`orbcharts__clipPath_${I}`,width:G.axisSize.width,height:G.axisSize.height})));XI({defsSelection:G.defsSelection,clipPathData:N,transitionDuration:G.transitionDuration,transitionEase:G.transitionEase})});const T=n.pipe(L(G=>{const B=new Map;return G.flat().forEach(N=>B.set(N.id,N)),B})),w=Tv({fullDataFormatter$:c,gridAxesSize$:d,computedData$:n,fullChartParams$:h,gridContainerPosition$:b,layout$:y}),C=h.pipe(D($),L(G=>G.highlightTarget),K()),F=O({graphicGSelection:R,visibleComputedAxesData:o,linePath:v,params:u}).pipe(D($),z(async G=>G),L(G=>{let B=[];return G.graphicGSelection.each((N,I,W)=>{const H=YI(G.visibleComputedAxesData[I]??[]);B[I]=VI({selection:U(W[I]),pathClassName:A,linePath:G.linePath,segmentData:H,params:G.params})}),B}));return O({pathSelectionArr:F,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:C,gridGroupPositionFn:w}).pipe(D($),z(async G=>G)).subscribe(G=>{G.pathSelectionArr.forEach(B=>{B.on("mouseover",(N,I)=>{N.stopPropagation();const W=I[0]?I[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=G.gridGroupPositionFn(N),V=G.GroupDataMap.get(it).find(J=>J.seriesLabel===W)??I[0];x.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:G.highlightTarget,datum:V,gridIndex:V.gridIndex,series:G.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:G.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:N,data:G.computedData})}).on("mousemove",(N,I)=>{N.stopPropagation();const W=I[0]?I[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=G.gridGroupPositionFn(N),V=G.GroupDataMap.get(it).find(J=>J.seriesLabel===W)??I[0];x.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:G.highlightTarget,datum:V,gridIndex:V.gridIndex,series:G.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:G.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:N,data:G.computedData})}).on("mouseout",(N,I)=>{N.stopPropagation();const W=I[0]?I[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=G.gridGroupPositionFn(N),V=G.GroupDataMap.get(it).find(J=>J.seriesLabel===W)??I[0];x.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:G.highlightTarget,datum:V,gridIndex:V.gridIndex,series:G.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:G.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:N,data:G.computedData})}).on("click",(N,I)=>{N.stopPropagation();const W=I[0]?I[0].seriesLabel:"",{groupIndex:H,groupLabel:it}=G.gridGroupPositionFn(N),V=G.GroupDataMap.get(it).find(J=>J.seriesLabel===W)??I[0];x.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:G.highlightTarget,datum:V,gridIndex:V.gridIndex,series:G.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:G.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:N,data:G.computedData})})})}),h.pipe(D($),Ir(G=>G.highlightTarget==="series"),z(G=>O({graphicGSelection:R,gridHighlight:g,DataMap:T,fullChartParams:h}).pipe(D($),z(async B=>B)))).subscribe(G=>{const B=G.gridHighlight[0]?G.gridHighlight[0].seriesLabel:null;UI({selection:G.graphicGSelection,seriesLabel:B,fullChartParams:G.fullChartParams})}),()=>{$.next(void 0)}},Pv=0,ze=2,Cv=3,Dv=4,he=5,gu=6,mu=7,Ei=8,Ii=9,Mv="Lines",jI=le({name:Mv,defaultParams:Mr,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})})(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new Q,a=Av(Mv,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,allContainerPosition$:r.gridContainerPosition$,layout$:r.layout$,event$:i.event$});return()=>{o.next(void 0),a()}});function HI(t="curveLinear",e){return dp().x(n=>n.axisX).y0(n=>e).y1(n=>n.axisY).curve(Tp[t])}function qI(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function ZI({selection:t,pathClassName:e,segmentData:n,areaPath:r,linearGradientIds:i,params:o}){return t.selectAll("path").data(n,(s,l)=>s.length?`${s[0].id}_${s[s.length-1].id}`:l).join(s=>s.append("path").classed(e,!0).attr("fill","none").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),s=>s,s=>s.remove()).attr("fill",(s,l)=>s[0]?`url(#${i[s[0].seriesIndex]})`:"").attr("d",s=>r(s))}function KI({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{r===e?U(o[i]).style("opacity",1):U(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}function QI({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(i=>i.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),i=>i,i=>i.remove()).attr("id",(i,o)=>i[0]?n[i[0].seriesIndex]:"").html((i,o)=>{const a=i[0]?i[0].color:"";return`
47
56
  <stop offset="0%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[0]}"/>
48
57
  <stop offset="100%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[1]}"/>
49
- `})}function yI({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(i=>i.append("clipPath"),i=>i,i=>i.remove()).attr("id",i=>i.id).each((i,o,a)=>{V(a[o]).selectAll("rect").data([i]).join(s=>{const l=s.append("rect");return l.transition().duration(n).ease(oa(r)).tween("tween",(u,c,f)=>h=>{const p=u.width*h;l.attr("x",0).attr("y",0).attr("width",d=>p).attr("height",d=>d.height)}),l},s=>s.attr("x",0).attr("y",0).attr("width",l=>l.width).attr("height",l=>l.height),s=>s.remove())})}const l$=(t,{selection:e,computedData$:n,computedLayoutData$:r,visibleComputedData$:i,visibleComputedLayoutData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:f,gridAxesTransform$:h,gridGraphicTransform$:p,gridAxesSize$:d,gridHighlight$:m,gridContainerPosition$:g,layout$:y,event$:b})=>{const v=new J,x=Be(t,"clipPath-box"),_=K(t,"path"),{seriesSelection$:T,axesSelection$:S,defsSelection$:A,graphicGSelection$:P}=_r({selection:e,pluginName:t,clipPathID:x,seriesLabels$:a,gridContainerPosition$:g,gridAxesTransform$:h,gridGraphicTransform$:p}),B=p.pipe(L(v),E(I=>-I.translate[1]/I.scale[1])),$=new pt(I=>{const N=Y({fullParams:u,valueAxisStart:B}).pipe(L(v)).subscribe(R=>{const F=hI(R.fullParams.lineCurve,R.valueAxisStart);I.next(F)});return()=>{N.unsubscribe()}}),k=f.pipe(E(I=>I.transitionDuration),tt()),D=f.pipe(E(I=>I.transitionEase),tt());Y({defsSelection:A,seriesLabels:a,axisSize:d,transitionDuration:k,transitionEase:D}).pipe(L(v),G(async I=>I)).subscribe(I=>{const R=[{id:x,width:I.axisSize.width,height:I.axisSize.height}].concat(I.seriesLabels.map(F=>({id:`orbcharts__clipPath_${F}`,width:I.axisSize.width,height:I.axisSize.height})));yI({defsSelection:I.defsSelection,clipPathData:R,transitionDuration:I.transitionDuration,transitionEase:I.transitionEase})});const w=n.pipe(E(I=>{const N=new Map;return I.flat().forEach(R=>N.set(R.id,R)),N})),M=n$({fullDataFormatter$:c,gridAxesSize$:d,computedData$:n,fullChartParams$:f,gridContainerPosition$:g,layout$:y}),C=f.pipe(L(v),E(I=>I.highlightTarget),tt()),X=a.pipe(L(v),E(I=>I.map((N,R)=>Be(t,`lineargradient-${N}`)))),O=Y({graphicGSelection:P,defsSelection:A,visibleComputedLayoutData:o,linearGradientIds:X,areaPath:$,params:u}).pipe(L(v),G(async I=>I),E(I=>{let N=[];return I.graphicGSelection.each((R,F,H)=>{const it=pI(I.visibleComputedLayoutData[F]??[]);N[F]=dI({selection:V(H[F]),pathClassName:_,areaPath:I.areaPath,segmentData:it,linearGradientIds:I.linearGradientIds,params:I.params}),mI({defsSelection:I.defsSelection,computedData:I.visibleComputedLayoutData,linearGradientIds:I.linearGradientIds,params:I.params})}),N}));return Y({pathSelectionArr:O,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:C,gridGroupPositionFn:M}).pipe(L(v),G(async I=>I)).subscribe(I=>{I.pathSelectionArr.forEach(N=>{N.on("mouseover",(R,F)=>{const H=F[0]?F[0].seriesLabel:"",{groupIndex:it,groupLabel:z}=I.gridGroupPositionFn(R),Z=I.GroupDataMap.get(z).find(q=>q.seriesLabel===H)??F[0];b.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:I.highlightTarget,datum:Z,gridIndex:Z.gridIndex,series:I.SeriesDataMap.get(Z.seriesLabel),seriesIndex:Z.seriesIndex,seriesLabel:Z.seriesLabel,groups:I.GroupDataMap.get(Z.groupLabel),groupIndex:Z.groupIndex,groupLabel:Z.groupLabel,event:R,data:I.computedData})}).on("mousemove",(R,F)=>{const H=F[0]?F[0].seriesLabel:"",{groupIndex:it,groupLabel:z}=I.gridGroupPositionFn(R),Z=I.GroupDataMap.get(z).find(q=>q.seriesLabel===H)??F[0];b.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:I.highlightTarget,datum:Z,gridIndex:Z.gridIndex,series:I.SeriesDataMap.get(Z.seriesLabel),seriesIndex:Z.seriesIndex,seriesLabel:Z.seriesLabel,groups:I.GroupDataMap.get(Z.groupLabel),groupIndex:Z.groupIndex,groupLabel:Z.groupLabel,event:R,data:I.computedData})}).on("mouseout",(R,F)=>{const H=F[0]?F[0].seriesLabel:"",{groupIndex:it,groupLabel:z}=I.gridGroupPositionFn(R),Z=I.GroupDataMap.get(z).find(q=>q.seriesLabel===H)??F[0];b.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:I.highlightTarget,datum:Z,gridIndex:Z.gridIndex,series:I.SeriesDataMap.get(Z.seriesLabel),seriesIndex:Z.seriesIndex,seriesLabel:Z.seriesLabel,groups:I.GroupDataMap.get(Z.groupLabel),groupIndex:Z.groupIndex,groupLabel:Z.groupLabel,event:R,data:I.computedData})}).on("click",(R,F)=>{const H=F[0]?F[0].seriesLabel:"",{groupIndex:it,groupLabel:z}=I.gridGroupPositionFn(R),Z=I.GroupDataMap.get(z).find(q=>q.seriesLabel===H)??F[0];b.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:I.highlightTarget,datum:Z,gridIndex:Z.gridIndex,series:I.SeriesDataMap.get(Z.seriesLabel),seriesIndex:Z.seriesIndex,seriesLabel:Z.seriesLabel,groups:I.GroupDataMap.get(Z.groupLabel),groupIndex:Z.groupIndex,groupLabel:Z.groupLabel,event:R,data:I.computedData})})})}),f.pipe(L(v),Mr(I=>I.highlightTarget==="series"),G(I=>Y({graphicGSelection:P,gridHighlight:m,DataMap:w,fullChartParams:f}).pipe(L(v),G(async N=>N)))).subscribe(I=>{const N=I.gridHighlight[0]?I.gridHighlight[0].seriesLabel:null;gI({selection:I.graphicGSelection,seriesLabel:N,fullChartParams:I.fullChartParams})}),()=>{v.next(void 0)}},u$="LineAreas",bI=ae({name:u$,defaultParams:Hp,layerIndex:a$,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new J,o=l$(u$,{selection:t,computedData$:n.computedData$,visibleComputedData$:n.visibleComputedData$,computedLayoutData$:n.computedLayoutData$,visibleComputedLayoutData$:n.visibleComputedLayoutData$,seriesLabels$:n.seriesLabels$,SeriesDataMap$:n.SeriesDataMap$,GroupDataMap$:n.GroupDataMap$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridGraphicTransform$:n.gridGraphicTransform$,gridAxesSize$:n.gridAxesSize$,gridHighlight$:n.gridHighlight$,gridContainerPosition$:n.gridContainerPosition$,allContainerPosition$:n.gridContainerPosition$,layout$:n.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),c$=.3;function f$({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:i=0}){const a=((e>1?t/(e-1):t)-i)/n-r;return a>1?a:1}function xI(t,e,n){const r=t/2,i=t*e.length+n.barPadding*e.length;return Bh().domain(e).range([-i/2+r,i/2-r])}function vI(t,e){return t<=1?0:e/(t-1)*c$}function $I(t,e){return t<=1?e:e*(1-c$)}function _I({graphicGSelection:t,rectClassName:e,visibleComputedLayoutData:n,zeroYArr:r,groupLabels:i,barScale:o,params:a,chartParams:s,barWidth:l,transformedBarRadius:u,delayGroup:c,transitionItem:f,isSeriesSeprate:h}){const p=l/2;return t.each((m,g,y)=>{V(y[g]).selectAll(`rect.${e}`).data(n[g]??[],b=>b.id).join(b=>b.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",v=>1),b=>b,b=>b.remove()).attr("transform",(b,v)=>`translate(${(b?b.axisX:0)-p}, 0)`).attr("fill",b=>b.color).attr("y",b=>b.axisY<r[g]?b.axisY:r[g]).attr("x",b=>h?0:o(b.seriesLabel)).attr("width",l).attr("rx",u[g][0]??1).attr("ry",u[g][1]??1).transition().duration(f).ease(oa(s.transitionEase)).delay((b,v)=>b.groupIndex*c).attr("height",b=>Math.abs(b.axisYFromZero)||1)}),t.selectAll(`rect.${e}`)}function SI({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{V(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function wI({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?V(o[i]).style("opacity",1):V(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const gp=(t,{selection:e,computedData$:n,computedLayoutData$:r,visibleComputedData$:i,visibleComputedLayoutData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullChartParams$:c,gridAxesTransform$:f,gridGraphicTransform$:h,gridGraphicReverseScale$:p,gridAxesSize$:d,gridHighlight$:m,gridContainerPosition$:g,isSeriesSeprate$:y,event$:b})=>{const v=new J,x=Be(t,"clipPath-box"),_=K(t,"rect"),{seriesSelection$:T,axesSelection$:S,defsSelection$:A,graphicGSelection$:P}=_r({selection:e,pluginName:t,clipPathID:x,seriesLabels$:a,gridContainerPosition$:g,gridAxesTransform$:f,gridGraphicTransform$:h}),B=o.pipe(L(v),E(N=>N.map(R=>R[0]?R[0].axisY-R[0].axisYFromZero:0)),tt()),$=Y({computedData:n,visibleComputedData:i,params:u,gridAxesSize:d,isSeriesSeprate:y}).pipe(L(v),G(async N=>N),E(N=>N.params.barWidth?N.params.barWidth:N.isSeriesSeprate?f$({axisWidth:N.gridAxesSize.width,groupAmount:N.computedData[0]?N.computedData[0].length:0,barAmountOfGroup:1,barPadding:N.params.barPadding,barGroupPadding:N.params.barGroupPadding}):f$({axisWidth:N.gridAxesSize.width,groupAmount:N.computedData[0]?N.computedData[0].length:0,barAmountOfGroup:N.visibleComputedData.length,barPadding:N.params.barPadding,barGroupPadding:N.params.barGroupPadding})),tt()),k=Y({computedData:n,barWidth:$,params:u,gridGraphicReverseScale:p}).pipe(L(v),G(async N=>N),E(N=>{const R=N.barWidth/2,F=N.params.barRadius===!0?R:N.params.barRadius===!1?0:typeof N.params.barRadius=="number"?N.params.barRadius:0;return N.computedData.map((H,it)=>{const z=N.gridGraphicReverseScale[it]??N.gridGraphicReverseScale[0];let Q=F*z[0],W=F*z[1];if(Q>R){const Z=R/Q;Q=Q*Z,W=W*Z}return[Q,W]})})),D=i.pipe(L(v),E(N=>{const R=new Set;return N.forEach(F=>{F.forEach(H=>{R.add(H.groupLabel)})}),Array.from(R)})),w=Y({seriesLabels:a,barWidth:$,params:u}).pipe(L(v),G(async N=>N),E(N=>xI(N.barWidth,N.seriesLabels,N.params))),M=c.pipe(L(v),E(N=>N.transitionDuration),tt()),C=new pt(N=>{Y({groupLabels:D,transitionDuration:M}).pipe(G(async R=>R)).subscribe(R=>{const F=vI(R.groupLabels.length,R.transitionDuration);N.next(F)})}).pipe(L(v),tt()),X=new pt(N=>{Y({groupLabels:D,transitionDuration:M}).pipe(G(async R=>R)).subscribe(R=>{const F=$I(R.groupLabels.length,R.transitionDuration);N.next(F)})}).pipe(L(v),tt());Y({defsSelection:A,gridAxesSize:d}).pipe(L(v),G(async N=>N)).subscribe(N=>{const R=[{id:x,width:N.gridAxesSize.width,height:N.gridAxesSize.height}];SI({defsSelection:N.defsSelection,clipPathData:R})});const O=c.pipe(L(v),E(N=>N.highlightTarget),tt()),I=Y({graphicGSelection:P,visibleComputedLayoutData:o,zeroYArr:B,groupLabels:D,barScale:w,params:u,chartParams:c,highlightTarget:O,barWidth:$,transformedBarRadius:k,delayGroup:C,transitionItem:X,isSeriesSeprate:y}).pipe(L(v),G(async N=>N),E(N=>_I({graphicGSelection:N.graphicGSelection,rectClassName:_,visibleComputedLayoutData:N.visibleComputedLayoutData,zeroYArr:N.zeroYArr,groupLabels:N.groupLabels,barScale:N.barScale,params:N.params,chartParams:N.chartParams,barWidth:N.barWidth,transformedBarRadius:N.transformedBarRadius,delayGroup:N.delayGroup,transitionItem:N.transitionItem,isSeriesSeprate:N.isSeriesSeprate})));return Y({barSelection:I,computedData:n,highlightTarget:O,SeriesDataMap:s,GroupDataMap:l}).pipe(L(v),G(async N=>N)).subscribe(N=>{N.barSelection.on("mouseover",(R,F)=>{R.stopPropagation(),b.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:N.highlightTarget,datum:F,gridIndex:F.gridIndex,series:N.SeriesDataMap.get(F.seriesLabel),seriesIndex:F.seriesIndex,seriesLabel:F.seriesLabel,groups:N.GroupDataMap.get(F.groupLabel),groupIndex:F.groupIndex,groupLabel:F.groupLabel,event:R,data:N.computedData})}).on("mousemove",(R,F)=>{R.stopPropagation(),b.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:N.highlightTarget,datum:F,gridIndex:F.gridIndex,series:N.SeriesDataMap.get(F.seriesLabel),seriesIndex:F.seriesIndex,seriesLabel:F.seriesLabel,groups:N.GroupDataMap.get(F.groupLabel),groupIndex:F.groupIndex,groupLabel:F.groupLabel,event:R,data:N.computedData})}).on("mouseout",(R,F)=>{R.stopPropagation(),b.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:N.highlightTarget,datum:F,gridIndex:F.gridIndex,series:N.SeriesDataMap.get(F.seriesLabel),seriesIndex:F.seriesIndex,seriesLabel:F.seriesLabel,groups:N.GroupDataMap.get(F.groupLabel),groupIndex:F.groupIndex,groupLabel:F.groupLabel,event:R,data:N.computedData})}).on("click",(R,F)=>{R.stopPropagation(),b.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:N.highlightTarget,datum:F,gridIndex:F.gridIndex,series:N.SeriesDataMap.get(F.seriesLabel),seriesIndex:F.seriesIndex,seriesLabel:F.seriesLabel,groups:N.GroupDataMap.get(F.groupLabel),groupIndex:F.groupIndex,groupLabel:F.groupLabel,event:R,data:N.computedData})})}),Y({barSelection:I,highlight:m.pipe(E(N=>N.map(R=>R.id))),fullChartParams:c}).pipe(L(v),G(async N=>N)).subscribe(N=>{wI({selection:N.barSelection,ids:N.highlight,fullChartParams:N.fullChartParams})}),()=>{v.next(void 0)}},h$="Bars",TI=ae({name:h$,defaultParams:ca,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=gp(h$,{selection:t,computedData$:r.computedData$,computedLayoutData$:r.computedLayoutData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{i.next(void 0),o()}}),p$="BarsPN",AI=ae({name:p$,defaultParams:ca,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=gp(p$,{selection:t,computedData$:r.computedData$,computedLayoutData$:r.computedLayoutData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:ma(!0),event$:n.event$});return()=>{i.next(void 0),o()}}),d$=.3;function PI({axisWidth:t,groupAmount:e,barGroupPadding:n=0}){const i=(e>1?t/(e-1):t)-n;return i>1?i:1}function DI(t,e){return t<=1?0:e/(t-1)*d$}function CI(t,e){return t<=1?e:e*(1-d$)}function MI({graphicGSelection:t,rectClassName:e,barData:n,zeroY:r,groupLabels:i,params:o,chartParams:a,barWidth:s,transformedBarRadius:l,delayGroup:u,transitionItem:c,isSeriesSeprate:f}){const h=s/2;return t.each((d,m,g)=>{V(g[m]).selectAll(`rect.${e}`).data(n[m]??[],y=>y.id).join(y=>y.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",b=>1),y=>y,y=>y.remove()).attr("transform",(y,b)=>`translate(${(y?y.axisX:0)-h}, 0)`).attr("fill",y=>y.color).attr("y",y=>r).attr("x",y=>0).attr("width",s).attr("rx",l[m][0]??1).attr("ry",l[m][1]??1).transition().duration(c).ease(oa(a.transitionEase)).delay((y,b)=>y.groupIndex*u).attr("y",y=>y._barStartY).attr("height",y=>Math.abs(y._barHeight)||1)}),t.selectAll(`rect.${e}`)}function LI({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{V(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function kI({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?V(o[i]).style("opacity",1):V(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const g$=(t,{selection:e,computedData$:n,computedLayoutData$:r,visibleComputedData$:i,visibleComputedLayoutData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:f,gridAxesTransform$:h,gridGraphicTransform$:p,gridGraphicReverseScale$:d,gridAxesSize$:m,gridHighlight$:g,gridContainerPosition$:y,isSeriesSeprate$:b,event$:v})=>{const x=new J,_=Be(t,"clipPath-box"),T=K(t,"rect"),{seriesSelection$:S,axesSelection$:A,defsSelection$:P,graphicGSelection$:B}=_r({selection:e,pluginName:t,clipPathID:_,seriesLabels$:a,gridContainerPosition$:y,gridAxesTransform$:h,gridGraphicTransform$:p}),$=o.pipe(L(x),E(z=>z[0]&&z[0][0]?z[0][0].axisY-z[0][0].axisYFromZero:0),tt()),k=Y({computedData:n,params:u,axisSize:m,isSeriesSeprate:b}).pipe(L(x),G(async z=>z),E(z=>z.params.barWidth?z.params.barWidth:PI({axisWidth:z.axisSize.width,groupAmount:z.computedData[0]?z.computedData[0].length:0,barGroupPadding:z.params.barGroupPadding})),tt()),D=Y({computedData:n,barWidth:k,params:u,gridGraphicReverseScale:d}).pipe(L(x),G(async z=>z),E(z=>{const Q=z.barWidth/2,W=z.params.barRadius===!0?Q:z.params.barRadius===!1?0:typeof z.params.barRadius=="number"?z.params.barRadius:0;return z.computedData.map((Z,q)=>{const nt=z.gridGraphicReverseScale[q]??z.gridGraphicReverseScale[0],st=W*nt[0],U=W*nt[1];return[st,U]})})),w=i.pipe(L(x),E(z=>{const Q=new Set;return z.forEach(W=>{W.forEach(Z=>{Q.add(Z.groupLabel)})}),Array.from(Q)}),mt(1)),M=f.pipe(L(x),E(z=>z.transitionDuration),tt()),C=new pt(z=>{Y({groupLabels:w,transitionDuration:M}).pipe(G(async Q=>Q)).subscribe(Q=>{const W=DI(Q.groupLabels.length,Q.transitionDuration);z.next(W)})}).pipe(L(x),tt()),X=new pt(z=>{Y({groupLabels:w,transitionDuration:M}).pipe(G(async Q=>Q)).subscribe(Q=>{const W=CI(Q.groupLabels.length,Q.transitionDuration);z.next(W)})}).pipe(L(x),tt()),O=Y({computedData:n,dataFormatter:c}).pipe(L(x),G(async z=>z),E(z=>{const Q=z.computedData[0]?z.computedData[0].length-1:0,W=z.dataFormatter.groupAxis.scaleDomain[0],Z=z.dataFormatter.groupAxis.scaleDomain[1]==="max"?Q:z.dataFormatter.groupAxis.scaleDomain[1];return[W,Z]})),I=Y({visibleComputedLayoutData:o,groupScaleDomain:O}).pipe(L(x),G(async z=>z),E(z=>{const Q=z.groupScaleDomain[0],W=z.groupScaleDomain[1],q=z.visibleComputedLayoutData.map(gt=>gt.filter((ft,Rt)=>ft.groupIndex>=Q&&ft.groupIndex<=W)).flat();if(q.length<=1)return 1;const nt=q.reduce((gt,ft)=>ft.value>gt.value?ft:gt,q[0]),st=nt.groupIndex,U=q.filter(gt=>gt.groupIndex===st).reduce((gt,ft)=>gt+ft.value,0);return nt.value/U})),N=Y({computedLayoutData:r,yRatio:I,zeroY:$}).pipe(L(x),E(z=>{let Q=z.computedLayoutData[0]?z.computedLayoutData[0].map(()=>z.zeroY):[];return z.computedLayoutData.map((W,Z)=>W.map((q,nt)=>{const st=Q[nt];let U=0;return q.visible&&(U=q.axisYFromZero*z.yRatio,Q[nt]=Q[nt]+U),{...q,_barStartY:st,_barHeight:U}}))})),R=Y({computedLayoutData:r,zeroY:$}).pipe(L(x),E(z=>z.computedLayoutData.map((Q,W)=>Q.map((Z,q)=>({...Z,_barStartY:z.zeroY,_barHeight:Z.axisYFromZero}))))),F=b.pipe(G(z=>ya(()=>z,R,N)));Y({defsSelection:P,gridAxesSize:m}).pipe(L(x),G(async z=>z)).subscribe(z=>{const Q=[{id:_,width:z.gridAxesSize.width,height:z.gridAxesSize.height}];LI({defsSelection:z.defsSelection,clipPathData:Q})});const H=f.pipe(L(x),E(z=>z.highlightTarget),tt()),it=Y({graphicGSelection:B,graphicData:F,zeroY:$,groupLabels:w,params:u,chartParams:f,highlightTarget:H,barWidth:k,transformedBarRadius:D,delayGroup:C,transitionItem:X,isSeriesSeprate:b}).pipe(L(x),G(async z=>z),E(z=>MI({graphicGSelection:z.graphicGSelection,rectClassName:T,barData:z.graphicData,zeroY:z.zeroY,groupLabels:z.groupLabels,params:z.params,chartParams:z.chartParams,barWidth:z.barWidth,transformedBarRadius:z.transformedBarRadius,delayGroup:z.delayGroup,transitionItem:z.transitionItem,isSeriesSeprate:z.isSeriesSeprate})));return Y({barSelection:it,computedData:n,highlightTarget:H,SeriesDataMap:s,GroupDataMap:l}).subscribe(z=>{z.barSelection.on("mouseover",(Q,W)=>{Q.stopPropagation(),v.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:z.highlightTarget,datum:W,gridIndex:W.gridIndex,series:z.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:z.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:Q,data:z.computedData})}).on("mousemove",(Q,W)=>{Q.stopPropagation(),v.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:z.highlightTarget,datum:W,gridIndex:W.gridIndex,series:z.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:z.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:Q,data:z.computedData})}).on("mouseout",(Q,W)=>{Q.stopPropagation(),v.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:z.highlightTarget,datum:W,gridIndex:W.gridIndex,series:z.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:z.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:Q,data:z.computedData})}).on("click",(Q,W)=>{Q.stopPropagation(),v.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:z.highlightTarget,datum:W,gridIndex:W.gridIndex,series:z.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,groups:z.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:Q,data:z.computedData})})}),Y({barSelection:it,highlight:g.pipe(E(z=>z.map(Q=>Q.id))),fullChartParams:f}).pipe(L(x),G(async z=>z)).subscribe(z=>{kI({selection:z.barSelection,ids:z.highlight,fullChartParams:z.fullChartParams})}),()=>{x.next(void 0)}},m$="StackedBar",RI=ae({name:m$,defaultParams:qp,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=g$(m$,{selection:t,computedData$:r.computedData$,computedLayoutData$:r.computedLayoutData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{i.next(void 0),o()}}),y$=.3;function b$({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:i=0}){const a=((e>1?t/(e-1):t)-i)/n-r;return a>1?a:1}function EI(t,e,n){const r=t/2,i=t*e.length+n.barPadding*e.length;return Bh().domain(e).range([-i/2+r,i/2-r])}function II(t,e){return t<=1?0:e/(t-1)*y$}function BI(t,e){return t<=1?e:e*(1-y$)}function NI({graphicGSelection:t,pathGClassName:e,pathClassName:n,visibleComputedLayoutData:r,linearGradientIds:i,zeroYArr:o,groupLabels:a,barScale:s,params:l,chartParams:u,barWidth:c,delayGroup:f,transitionItem:h,isSeriesSeprate:p}){const d=c/2;return t.each((g,y,b)=>{V(b[y]).selectAll(`g.${e}`).data(r[y]??[]).join(x=>{const _=x.append("g").classed(e,!0).attr("cursor","pointer");return _.append("path").classed(n,!0).style("vector-effect","non-scaling-stroke").attr("d",T=>{const S=-d,A=o[y],P=o[y];return`M${S},${A} L${S+c/2},${P} ${S+c},${A}`}),_},x=>x,x=>x.remove()).attr("transform",x=>`translate(${p?0:s(x.seriesLabel)}, 0)`).select(`path.${n}`).attr("height",x=>Math.abs(x.axisYFromZero)||1).attr("y",x=>x.axisY<o[y]?x.axisY:o[y]).attr("x",x=>p?0:s(x.seriesLabel)).style("fill",x=>`url(#${i[x.seriesIndex]})`).attr("stroke",x=>x.color).attr("transform",x=>`translate(${x?x.axisX:0}, 0)`).transition().duration(h).ease(oa(u.transitionEase)).delay((x,_)=>x.groupIndex*f).attr("d",x=>{const _=-d,T=o[y],S=x.axisY;return`M${_},${T} L${_+c/2},${S} ${_+c},${T}`})}),t.selectAll(`path.${n}`)}function FI({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(i=>i.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),i=>i,i=>i.remove()).attr("id",(i,o)=>i[0]?n[i[0].seriesIndex]:"").html((i,o)=>{const a=i[0]?i[0].color:"";return`
58
+ `})}function JI({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(i=>i.append("clipPath"),i=>i,i=>i.remove()).attr("id",i=>i.id).each((i,o,a)=>{U(a[o]).selectAll("rect").data([i]).join(s=>{const l=s.append("rect");return l.transition().duration(n).ease(pa(r)).tween("tween",(u,c,h)=>f=>{const p=u.width*f;l.attr("x",0).attr("y",0).attr("width",d=>p).attr("height",d=>d.height)}),l},s=>s.attr("x",0).attr("y",0).attr("width",l=>l.width).attr("height",l=>l.height),s=>s.remove())})}const Lv=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:h,gridAxesTransform$:f,gridGraphicTransform$:p,gridAxesSize$:d,gridHighlight$:g,gridContainerPosition$:m,layout$:b,event$:y})=>{const x=new Q,$=ie(t,"clipPath-box"),S=q(t,"path"),{seriesSelection$:A,axesSelection$:_,defsSelection$:P,graphicGSelection$:M}=Pr({selection:e,pluginName:t,clipPathID:$,seriesLabels$:a,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:p}),R=p.pipe(D(x),L(B=>-B.translate[1]/B.scale[1])),v=new gt(B=>{const N=O({fullParams:u,valueAxisStart:R}).pipe(D(x)).subscribe(I=>{const W=HI(I.fullParams.lineCurve,I.valueAxisStart);B.next(W)});return()=>{N.unsubscribe()}}),E=h.pipe(L(B=>B.transitionDuration),K()),k=h.pipe(L(B=>B.transitionEase),K());O({defsSelection:P,seriesLabels:a,axisSize:d,transitionDuration:E,transitionEase:k}).pipe(D(x),z(async B=>B)).subscribe(B=>{const I=[{id:$,width:B.axisSize.width,height:B.axisSize.height}].concat(B.seriesLabels.map(W=>({id:`orbcharts__clipPath_${W}`,width:B.axisSize.width,height:B.axisSize.height})));JI({defsSelection:B.defsSelection,clipPathData:I,transitionDuration:B.transitionDuration,transitionEase:B.transitionEase})});const T=n.pipe(L(B=>{const N=new Map;return B.flat().forEach(I=>N.set(I.id,I)),N})),w=Tv({fullDataFormatter$:c,gridAxesSize$:d,computedData$:n,fullChartParams$:h,gridContainerPosition$:m,layout$:b}),C=h.pipe(D(x),L(B=>B.highlightTarget),K()),F=a.pipe(D(x),L(B=>B.map((N,I)=>ie(t,`lineargradient-${N}`)))),G=O({graphicGSelection:M,defsSelection:P,visibleComputedAxesData:o,linearGradientIds:F,areaPath:v,params:u}).pipe(D(x),z(async B=>B),L(B=>{let N=[];return B.graphicGSelection.each((I,W,H)=>{const it=qI(B.visibleComputedAxesData[W]??[]);N[W]=ZI({selection:U(H[W]),pathClassName:S,areaPath:B.areaPath,segmentData:it,linearGradientIds:B.linearGradientIds,params:B.params}),QI({defsSelection:B.defsSelection,computedData:B.visibleComputedAxesData,linearGradientIds:B.linearGradientIds,params:B.params})}),N}));return O({pathSelectionArr:G,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:C,gridGroupPositionFn:w}).pipe(D(x),z(async B=>B)).subscribe(B=>{B.pathSelectionArr.forEach(N=>{N.on("mouseover",(I,W)=>{const H=W[0]?W[0].seriesLabel:"",{groupIndex:it,groupLabel:Y}=B.gridGroupPositionFn(I),J=B.GroupDataMap.get(Y).find(Z=>Z.seriesLabel===H)??W[0];y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:B.highlightTarget,datum:J,gridIndex:J.gridIndex,series:B.SeriesDataMap.get(J.seriesLabel),seriesIndex:J.seriesIndex,seriesLabel:J.seriesLabel,group:B.GroupDataMap.get(J.groupLabel),groupIndex:J.groupIndex,groupLabel:J.groupLabel,event:I,data:B.computedData})}).on("mousemove",(I,W)=>{const H=W[0]?W[0].seriesLabel:"",{groupIndex:it,groupLabel:Y}=B.gridGroupPositionFn(I),J=B.GroupDataMap.get(Y).find(Z=>Z.seriesLabel===H)??W[0];y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:B.highlightTarget,datum:J,gridIndex:J.gridIndex,series:B.SeriesDataMap.get(J.seriesLabel),seriesIndex:J.seriesIndex,seriesLabel:J.seriesLabel,group:B.GroupDataMap.get(J.groupLabel),groupIndex:J.groupIndex,groupLabel:J.groupLabel,event:I,data:B.computedData})}).on("mouseout",(I,W)=>{const H=W[0]?W[0].seriesLabel:"",{groupIndex:it,groupLabel:Y}=B.gridGroupPositionFn(I),J=B.GroupDataMap.get(Y).find(Z=>Z.seriesLabel===H)??W[0];y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:B.highlightTarget,datum:J,gridIndex:J.gridIndex,series:B.SeriesDataMap.get(J.seriesLabel),seriesIndex:J.seriesIndex,seriesLabel:J.seriesLabel,group:B.GroupDataMap.get(J.groupLabel),groupIndex:J.groupIndex,groupLabel:J.groupLabel,event:I,data:B.computedData})}).on("click",(I,W)=>{const H=W[0]?W[0].seriesLabel:"",{groupIndex:it,groupLabel:Y}=B.gridGroupPositionFn(I),J=B.GroupDataMap.get(Y).find(Z=>Z.seriesLabel===H)??W[0];y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:B.highlightTarget,datum:J,gridIndex:J.gridIndex,series:B.SeriesDataMap.get(J.seriesLabel),seriesIndex:J.seriesIndex,seriesLabel:J.seriesLabel,group:B.GroupDataMap.get(J.groupLabel),groupIndex:J.groupIndex,groupLabel:J.groupLabel,event:I,data:B.computedData})})})}),h.pipe(D(x),Ir(B=>B.highlightTarget==="series"),z(B=>O({graphicGSelection:M,gridHighlight:g,DataMap:T,fullChartParams:h}).pipe(D(x),z(async N=>N)))).subscribe(B=>{const N=B.gridHighlight[0]?B.gridHighlight[0].seriesLabel:null;KI({selection:B.graphicGSelection,seriesLabel:N,fullChartParams:B.fullChartParams})}),()=>{x.next(void 0)}},kv="LineAreas",tB=le({name:kv,defaultParams:pd,layerIndex:Dv,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=Lv(kv,{selection:t,computedData$:n.computedData$,visibleComputedData$:n.visibleComputedData$,computedAxesData$:n.computedAxesData$,visibleComputedAxesData$:n.visibleComputedAxesData$,seriesLabels$:n.seriesLabels$,SeriesDataMap$:n.SeriesDataMap$,GroupDataMap$:n.GroupDataMap$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridGraphicTransform$:n.gridGraphicTransform$,gridAxesSize$:n.gridAxesSize$,gridHighlight$:n.gridHighlight$,gridContainerPosition$:n.gridContainerPosition$,allContainerPosition$:n.gridContainerPosition$,layout$:n.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),Rv=.3;function Ev({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:i=0}){const a=((e>1?t/(e-1):t)-i)/n-r;return a>1?a:1}function eB(t,e,n){const r=t/2,i=t*e.length+n.barPadding*e.length;return Hh().domain(e).range([-i/2+r,i/2-r])}function nB(t,e){return t<=1?0:e/(t-1)*Rv}function rB(t,e){return t<=1?e:e*(1-Rv)}function iB({graphicGSelection:t,rectClassName:e,visibleComputedAxesData:n,zeroYArr:r,groupLabels:i,barScale:o,params:a,chartParams:s,barWidth:l,transformedBarRadius:u,delayGroup:c,transitionItem:h,isSeriesSeprate:f}){const p=l/2;return t.each((g,m,b)=>{U(b[m]).selectAll(`rect.${e}`).data(n[m]??[],y=>y.id).join(y=>y.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",x=>1),y=>y,y=>y.remove()).attr("transform",(y,x)=>`translate(${(y?y.axisX:0)-p}, 0)`).attr("fill",y=>y.color).attr("y",y=>y.axisY<r[m]?y.axisY:r[m]).attr("x",y=>f?0:o(y.seriesLabel)).attr("width",l).attr("rx",u[m][0]??1).attr("ry",u[m][1]??1).transition().duration(h).ease(pa(s.transitionEase)).delay((y,x)=>y.groupIndex*c).attr("height",y=>Math.abs(y.axisYFromZero)||1)}),t.selectAll(`rect.${e}`)}function oB({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function aB({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?U(o[i]).style("opacity",1):U(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const Pp=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullChartParams$:c,gridAxesTransform$:h,gridGraphicTransform$:f,gridGraphicReverseScale$:p,gridAxesSize$:d,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:b,event$:y})=>{const x=new Q,$=ie(t,"clipPath-box"),S=q(t,"rect"),{seriesSelection$:A,axesSelection$:_,defsSelection$:P,graphicGSelection$:M}=Pr({selection:e,pluginName:t,clipPathID:$,seriesLabels$:a,gridContainerPosition$:m,gridAxesTransform$:h,gridGraphicTransform$:f}),R=o.pipe(D(x),L(N=>N.map(I=>I[0]?I[0].axisY-I[0].axisYFromZero:0)),K()),v=O({computedData:n,visibleComputedData:i,params:u,gridAxesSize:d,isSeriesSeprate:b}).pipe(D(x),z(async N=>N),L(N=>N.params.barWidth?N.params.barWidth:N.isSeriesSeprate?Ev({axisWidth:N.gridAxesSize.width,groupAmount:N.computedData[0]?N.computedData[0].length:0,barAmountOfGroup:1,barPadding:N.params.barPadding,barGroupPadding:N.params.barGroupPadding}):Ev({axisWidth:N.gridAxesSize.width,groupAmount:N.computedData[0]?N.computedData[0].length:0,barAmountOfGroup:N.visibleComputedData.length,barPadding:N.params.barPadding,barGroupPadding:N.params.barGroupPadding})),K()),E=O({computedData:n,barWidth:v,params:u,gridGraphicReverseScale:p}).pipe(D(x),z(async N=>N),L(N=>{const I=N.barWidth/2,W=N.params.barRadius===!0?I:N.params.barRadius===!1?0:typeof N.params.barRadius=="number"?N.params.barRadius:0;return N.computedData.map((H,it)=>{const Y=N.gridGraphicReverseScale[it]??N.gridGraphicReverseScale[0];let tt=W*Y[0],V=W*Y[1];if(tt>I){const J=I/tt;tt=tt*J,V=V*J}return[tt,V]})})),k=i.pipe(D(x),L(N=>{const I=new Set;return N.forEach(W=>{W.forEach(H=>{I.add(H.groupLabel)})}),Array.from(I)})),T=O({seriesLabels:a,barWidth:v,params:u}).pipe(D(x),z(async N=>N),L(N=>eB(N.barWidth,N.seriesLabels,N.params))),w=c.pipe(D(x),L(N=>N.transitionDuration),K()),C=new gt(N=>{O({groupLabels:k,transitionDuration:w}).pipe(z(async I=>I)).subscribe(I=>{const W=nB(I.groupLabels.length,I.transitionDuration);N.next(W)})}).pipe(D(x),K()),F=new gt(N=>{O({groupLabels:k,transitionDuration:w}).pipe(z(async I=>I)).subscribe(I=>{const W=rB(I.groupLabels.length,I.transitionDuration);N.next(W)})}).pipe(D(x),K());O({defsSelection:P,gridAxesSize:d}).pipe(D(x),z(async N=>N)).subscribe(N=>{const I=[{id:$,width:N.gridAxesSize.width,height:N.gridAxesSize.height}];oB({defsSelection:N.defsSelection,clipPathData:I})});const G=c.pipe(D(x),L(N=>N.highlightTarget),K()),B=O({graphicGSelection:M,visibleComputedAxesData:o,zeroYArr:R,groupLabels:k,barScale:T,params:u,chartParams:c,highlightTarget:G,barWidth:v,transformedBarRadius:E,delayGroup:C,transitionItem:F,isSeriesSeprate:b}).pipe(D(x),z(async N=>N),L(N=>iB({graphicGSelection:N.graphicGSelection,rectClassName:S,visibleComputedAxesData:N.visibleComputedAxesData,zeroYArr:N.zeroYArr,groupLabels:N.groupLabels,barScale:N.barScale,params:N.params,chartParams:N.chartParams,barWidth:N.barWidth,transformedBarRadius:N.transformedBarRadius,delayGroup:N.delayGroup,transitionItem:N.transitionItem,isSeriesSeprate:N.isSeriesSeprate})));return O({barSelection:B,computedData:n,highlightTarget:G,SeriesDataMap:s,GroupDataMap:l}).pipe(D(x),z(async N=>N)).subscribe(N=>{N.barSelection.on("mouseover",(I,W)=>{I.stopPropagation(),y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:N.highlightTarget,datum:W,gridIndex:W.gridIndex,series:N.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:N.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:I,data:N.computedData})}).on("mousemove",(I,W)=>{I.stopPropagation(),y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:N.highlightTarget,datum:W,gridIndex:W.gridIndex,series:N.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:N.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:I,data:N.computedData})}).on("mouseout",(I,W)=>{I.stopPropagation(),y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:N.highlightTarget,datum:W,gridIndex:W.gridIndex,series:N.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:N.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:I,data:N.computedData})}).on("click",(I,W)=>{I.stopPropagation(),y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:N.highlightTarget,datum:W,gridIndex:W.gridIndex,series:N.SeriesDataMap.get(W.seriesLabel),seriesIndex:W.seriesIndex,seriesLabel:W.seriesLabel,group:N.GroupDataMap.get(W.groupLabel),groupIndex:W.groupIndex,groupLabel:W.groupLabel,event:I,data:N.computedData})})}),O({barSelection:B,highlight:g.pipe(L(N=>N.map(I=>I.id))),fullChartParams:c}).pipe(D(x),z(async N=>N)).subscribe(N=>{aB({selection:N.barSelection,ids:N.highlight,fullChartParams:N.fullChartParams})}),()=>{x.next(void 0)}},Iv="Bars",sB=le({name:Iv,defaultParams:va,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=Pp(Iv,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{i.next(void 0),o()}}),Bv="BarsPN",lB=le({name:Bv,defaultParams:va,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=Pp(Bv,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:We(!0),event$:n.event$});return()=>{i.next(void 0),o()}}),Nv=.3;function uB({axisWidth:t,groupAmount:e,barGroupPadding:n=0}){const i=(e>1?t/(e-1):t)-n;return i>1?i:1}function cB(t,e){return t<=1?0:e/(t-1)*Nv}function fB(t,e){return t<=1?e:e*(1-Nv)}function hB({graphicGSelection:t,rectClassName:e,barData:n,zeroY:r,groupLabels:i,params:o,chartParams:a,barWidth:s,transformedBarRadius:l,delayGroup:u,transitionItem:c,isSeriesSeprate:h}){const f=s/2;return t.each((d,g,m)=>{U(m[g]).selectAll(`rect.${e}`).data(n[g]??[],b=>b.id).join(b=>b.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",y=>1),b=>b,b=>b.remove()).attr("transform",(b,y)=>`translate(${(b?b.axisX:0)-f}, 0)`).attr("fill",b=>b.color).attr("y",b=>r).attr("x",b=>0).attr("width",s).attr("rx",l[g][0]??1).attr("ry",l[g][1]??1).transition().duration(c).ease(pa(a.transitionEase)).delay((b,y)=>b.groupIndex*u).attr("y",b=>b._barStartY).attr("height",b=>Math.abs(b._barHeight)||1)}),t.selectAll(`rect.${e}`)}function pB({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function dB({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?U(o[i]).style("opacity",1):U(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const Fv=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullDataFormatter$:c,fullChartParams$:h,gridAxesTransform$:f,gridGraphicTransform$:p,gridGraphicReverseScale$:d,gridAxesSize$:g,gridHighlight$:m,gridContainerPosition$:b,isSeriesSeprate$:y,event$:x})=>{const $=new Q,S=ie(t,"clipPath-box"),A=q(t,"rect"),{seriesSelection$:_,axesSelection$:P,defsSelection$:M,graphicGSelection$:R}=Pr({selection:e,pluginName:t,clipPathID:S,seriesLabels$:a,gridContainerPosition$:b,gridAxesTransform$:f,gridGraphicTransform$:p}),v=o.pipe(D($),L(Y=>Y[0]&&Y[0][0]?Y[0][0].axisY-Y[0][0].axisYFromZero:0),K()),E=O({computedData:n,params:u,axisSize:g,isSeriesSeprate:y}).pipe(D($),z(async Y=>Y),L(Y=>Y.params.barWidth?Y.params.barWidth:uB({axisWidth:Y.axisSize.width,groupAmount:Y.computedData[0]?Y.computedData[0].length:0,barGroupPadding:Y.params.barGroupPadding})),K()),k=O({computedData:n,barWidth:E,params:u,gridGraphicReverseScale:d}).pipe(D($),z(async Y=>Y),L(Y=>{const tt=Y.barWidth/2,V=Y.params.barRadius===!0?tt:Y.params.barRadius===!1?0:typeof Y.params.barRadius=="number"?Y.params.barRadius:0;return Y.computedData.map((J,Z)=>{const nt=Y.gridGraphicReverseScale[Z]??Y.gridGraphicReverseScale[0],lt=V*nt[0],j=V*nt[1];return[lt,j]})})),T=i.pipe(D($),L(Y=>{const tt=new Set;return Y.forEach(V=>{V.forEach(J=>{tt.add(J.groupLabel)})}),Array.from(tt)}),st(1)),w=h.pipe(D($),L(Y=>Y.transitionDuration),K()),C=new gt(Y=>{O({groupLabels:T,transitionDuration:w}).pipe(z(async tt=>tt)).subscribe(tt=>{const V=cB(tt.groupLabels.length,tt.transitionDuration);Y.next(V)})}).pipe(D($),K()),F=new gt(Y=>{O({groupLabels:T,transitionDuration:w}).pipe(z(async tt=>tt)).subscribe(tt=>{const V=fB(tt.groupLabels.length,tt.transitionDuration);Y.next(V)})}).pipe(D($),K()),G=O({computedData:n,dataFormatter:c}).pipe(D($),z(async Y=>Y),L(Y=>{const tt=Y.computedData[0]?Y.computedData[0].length-1:0,V=Y.dataFormatter.groupAxis.scaleDomain[0],J=Y.dataFormatter.groupAxis.scaleDomain[1]==="max"?tt:Y.dataFormatter.groupAxis.scaleDomain[1];return[V,J]})),B=O({visibleComputedAxesData:o,groupScaleDomain:G}).pipe(D($),z(async Y=>Y),L(Y=>{const tt=Y.groupScaleDomain[0],V=Y.groupScaleDomain[1],Z=Y.visibleComputedAxesData.map(mt=>mt.filter((ht,Et)=>ht.groupIndex>=tt&&ht.groupIndex<=V)).flat();if(Z.length<=1)return 1;const nt=Z.reduce((mt,ht)=>ht.value>mt.value?ht:mt,Z[0]),lt=nt.groupIndex,j=Z.filter(mt=>mt.groupIndex===lt).reduce((mt,ht)=>mt+ht.value,0);return nt.value/j})),N=O({computedAxesData:r,yRatio:B,zeroY:v}).pipe(D($),L(Y=>{let tt=Y.computedAxesData[0]?Y.computedAxesData[0].map(()=>Y.zeroY):[];return Y.computedAxesData.map((V,J)=>V.map((Z,nt)=>{const lt=tt[nt];let j=0;return Z.visible&&(j=Z.axisYFromZero*Y.yRatio,tt[nt]=tt[nt]+j),{...Z,_barStartY:lt,_barHeight:j}}))})),I=O({computedAxesData:r,zeroY:v}).pipe(D($),L(Y=>Y.computedAxesData.map((tt,V)=>tt.map((J,Z)=>({...J,_barStartY:Y.zeroY,_barHeight:J.axisYFromZero}))))),W=y.pipe(z(Y=>Yn(()=>Y,I,N)));O({defsSelection:M,gridAxesSize:g}).pipe(D($),z(async Y=>Y)).subscribe(Y=>{const tt=[{id:S,width:Y.gridAxesSize.width,height:Y.gridAxesSize.height}];pB({defsSelection:Y.defsSelection,clipPathData:tt})});const H=h.pipe(D($),L(Y=>Y.highlightTarget),K()),it=O({graphicGSelection:R,graphicData:W,zeroY:v,groupLabels:T,params:u,chartParams:h,highlightTarget:H,barWidth:E,transformedBarRadius:k,delayGroup:C,transitionItem:F,isSeriesSeprate:y}).pipe(D($),z(async Y=>Y),L(Y=>hB({graphicGSelection:Y.graphicGSelection,rectClassName:A,barData:Y.graphicData,zeroY:Y.zeroY,groupLabels:Y.groupLabels,params:Y.params,chartParams:Y.chartParams,barWidth:Y.barWidth,transformedBarRadius:Y.transformedBarRadius,delayGroup:Y.delayGroup,transitionItem:Y.transitionItem,isSeriesSeprate:Y.isSeriesSeprate})));return O({barSelection:it,computedData:n,highlightTarget:H,SeriesDataMap:s,GroupDataMap:l}).subscribe(Y=>{Y.barSelection.on("mouseover",(tt,V)=>{tt.stopPropagation(),x.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:Y.highlightTarget,datum:V,gridIndex:V.gridIndex,series:Y.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:Y.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:tt,data:Y.computedData})}).on("mousemove",(tt,V)=>{tt.stopPropagation(),x.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:Y.highlightTarget,datum:V,gridIndex:V.gridIndex,series:Y.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:Y.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:tt,data:Y.computedData})}).on("mouseout",(tt,V)=>{tt.stopPropagation(),x.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:Y.highlightTarget,datum:V,gridIndex:V.gridIndex,series:Y.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:Y.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:tt,data:Y.computedData})}).on("click",(tt,V)=>{tt.stopPropagation(),x.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:Y.highlightTarget,datum:V,gridIndex:V.gridIndex,series:Y.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:Y.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:tt,data:Y.computedData})})}),O({barSelection:it,highlight:m.pipe(L(Y=>Y.map(tt=>tt.id))),fullChartParams:h}).pipe(D($),z(async Y=>Y)).subscribe(Y=>{dB({selection:Y.barSelection,ids:Y.highlight,fullChartParams:Y.fullChartParams})}),()=>{$.next(void 0)}},zv="StackedBars",gB=le({name:zv,defaultParams:gd,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=Fv(zv,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{i.next(void 0),o()}}),Ov=.3;function Gv({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:i=0}){const a=((e>1?t/(e-1):t)-i)/n-r;return a>1?a:1}function mB(t,e,n){const r=t/2,i=t*e.length+n.barPadding*e.length;return Hh().domain(e).range([-i/2+r,i/2-r])}function yB(t,e){return t<=1?0:e/(t-1)*Ov}function bB(t,e){return t<=1?e:e*(1-Ov)}function xB({graphicGSelection:t,pathGClassName:e,pathClassName:n,visibleComputedAxesData:r,linearGradientIds:i,zeroYArr:o,groupLabels:a,barScale:s,params:l,chartParams:u,barWidth:c,delayGroup:h,transitionItem:f,isSeriesSeprate:p}){const d=c/2;return t.each((m,b,y)=>{U(y[b]).selectAll(`g.${e}`).data(r[b]??[]).join($=>{const S=$.append("g").classed(e,!0).attr("cursor","pointer");return S.append("path").classed(n,!0).style("vector-effect","non-scaling-stroke").attr("d",A=>{const _=-d,P=o[b],M=o[b];return`M${_},${P} L${_+c/2},${M} ${_+c},${P}`}),S},$=>$,$=>$.remove()).attr("transform",$=>`translate(${p?0:s($.seriesLabel)}, 0)`).select(`path.${n}`).attr("height",$=>Math.abs($.axisYFromZero)||1).attr("y",$=>$.axisY<o[b]?$.axisY:o[b]).attr("x",$=>p?0:s($.seriesLabel)).style("fill",$=>`url(#${i[$.seriesIndex]})`).attr("stroke",$=>$.color).attr("transform",$=>`translate(${$?$.axisX:0}, 0)`).transition().duration(f).ease(pa(u.transitionEase)).delay(($,S)=>$.groupIndex*h).attr("d",$=>{const S=-d,A=o[b],_=$.axisY;return`M${S},${A} L${S+c/2},${_} ${S+c},${A}`})}),t.selectAll(`path.${n}`)}function $B({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(i=>i.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),i=>i,i=>i.remove()).attr("id",(i,o)=>i[0]?n[i[0].seriesIndex]:"").html((i,o)=>{const a=i[0]?i[0].color:"";return`
50
59
  <stop offset="0%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[0]}"/>
51
60
  <stop offset="100%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[1]}"/>
52
- `})}function OI({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{V(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function zI({selection:t,ids:e,fullChartParams:n}){t.interrupt("highlight");const r=()=>{t.transition("highlight").duration(200).style("opacity",1)};if(!e.length){r();return}t.each((i,o,a)=>{e.includes(i.id)?V(a[o]).style("opacity",1):V(a[o]).style("opacity",n.styles.unhighlightedOpacity)})}const x$=(t,{selection:e,computedData$:n,computedLayoutData$:r,visibleComputedData$:i,visibleComputedLayoutData$:o,fullDataFormatter$:a,seriesLabels$:s,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:c,fullChartParams$:f,gridAxesTransform$:h,gridGraphicTransform$:p,gridAxesSize$:d,gridHighlight$:m,gridContainerPosition$:g,isSeriesSeprate$:y,event$:b})=>{const v=new J,x=Be(t,"clipPath-box"),_=K(t,"pathG"),T=K(t,"path"),{seriesSelection$:S,axesSelection$:A,defsSelection$:P,graphicGSelection$:B}=_r({selection:e,pluginName:t,clipPathID:x,seriesLabels$:s,gridContainerPosition$:g,gridAxesTransform$:h,gridGraphicTransform$:p});p.pipe(L(v),E(R=>-R.translate[1]/R.scale[1]));const $=o.pipe(E(R=>R.map(F=>F[0]?F[0].axisY-F[0].axisYFromZero:0)),tt()),k=Y({computedData:n,visibleComputedData:i,params:c,gridAxesSize:d,isSeriesSeprate:y}).pipe(L(v),G(async R=>R),E(R=>R.params.barWidth?R.params.barWidth:R.isSeriesSeprate?b$({axisWidth:R.gridAxesSize.width,groupAmount:R.computedData[0]?R.computedData[0].length:0,barAmountOfGroup:1,barPadding:R.params.barPadding,barGroupPadding:R.params.barGroupPadding}):b$({axisWidth:R.gridAxesSize.width,groupAmount:R.computedData[0]?R.computedData[0].length:0,barAmountOfGroup:R.visibleComputedData.length,barPadding:R.params.barPadding,barGroupPadding:R.params.barGroupPadding}))),D=i.pipe(L(v),E(R=>{const F=new Set;return R.forEach(H=>{H.forEach(it=>{F.add(it.groupLabel)})}),Array.from(F)})),w=new pt(R=>{Y({seriesLabels:s,barWidth:k,params:c}).pipe(L(v),G(async F=>F)).subscribe(F=>{const H=EI(F.barWidth,F.seriesLabels,F.params);R.next(H)})}),M=f.pipe(L(v),E(R=>R.transitionDuration),tt()),C=new pt(R=>{Y({groupLabels:D,transitionDuration:M}).pipe(G(async F=>F)).subscribe(F=>{const H=II(F.groupLabels.length,F.transitionDuration);R.next(H)})}).pipe(L(v),tt()),X=new pt(R=>{Y({groupLabels:D,transitionDuration:M}).pipe(G(async F=>F)).subscribe(F=>{const H=BI(F.groupLabels.length,F.transitionDuration);R.next(H)})}).pipe(L(v),tt());Y({defsSelection:P,gridAxesSize:d}).pipe(L(v),G(async R=>R)).subscribe(R=>{const F=[{id:x,width:R.gridAxesSize.width,height:R.gridAxesSize.height}];OI({defsSelection:R.defsSelection,clipPathData:F})});const O=f.pipe(L(v),E(R=>R.highlightTarget),tt()),I=s.pipe(L(v),E(R=>R.map((F,H)=>Be(t,`lineargradient-${F}`)))),N=Y({graphicGSelection:B,defsSelection:P,computedData:n,visibleComputedLayoutData:o,linearGradientIds:I,zeroYArr:$,groupLabels:D,barScale:w,params:c,chartParams:f,barWidth:k,delayGroup:C,transitionItem:X,isSeriesSeprate:y}).pipe(L(v),G(async R=>R),E(R=>(FI({defsSelection:R.defsSelection,computedData:R.computedData,linearGradientIds:R.linearGradientIds,params:R.params}),NI({graphicGSelection:R.graphicGSelection,pathGClassName:_,pathClassName:T,visibleComputedLayoutData:R.visibleComputedLayoutData,linearGradientIds:R.linearGradientIds,zeroYArr:R.zeroYArr,groupLabels:R.groupLabels,barScale:R.barScale,params:R.params,chartParams:R.chartParams,barWidth:R.barWidth,delayGroup:R.delayGroup,transitionItem:R.transitionItem,isSeriesSeprate:R.isSeriesSeprate}))));return Y({barSelection:N,computedData:n,highlightTarget:O,SeriesDataMap:l,GroupDataMap:u}).subscribe(R=>{R.barSelection.on("mouseover",(F,H)=>{F.stopPropagation(),b.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:R.highlightTarget,datum:H,gridIndex:H.gridIndex,series:R.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,groups:R.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:F,data:R.computedData})}).on("mousemove",(F,H)=>{F.stopPropagation(),b.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:R.highlightTarget,datum:H,gridIndex:H.gridIndex,series:R.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,groups:R.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:F,data:R.computedData})}).on("mouseout",(F,H)=>{F.stopPropagation(),b.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:R.highlightTarget,datum:H,gridIndex:H.gridIndex,series:R.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,groups:R.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:F,data:R.computedData})}).on("click",(F,H)=>{F.stopPropagation(),b.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:R.highlightTarget,datum:H,gridIndex:H.gridIndex,series:R.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,groups:R.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:F,data:R.computedData})})}),Y({barSelection:N,highlight:m.pipe(E(R=>R.map(F=>F.id))),fullChartParams:f}).pipe(L(v),G(async R=>R)).subscribe(R=>{zI({selection:R.barSelection,ids:R.highlight,fullChartParams:R.fullChartParams})}),()=>{v.next(void 0)}},v$="BarsTriangle",GI=ae({name:v$,defaultParams:Zp,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=x$(v$,{selection:t,computedData$:r.computedData$,computedLayoutData$:r.computedLayoutData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,fullDataFormatter$:r.fullDataFormatter$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{i.next(void 0),o()}});function YI({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedLayoutData:r,fullParams:i,fullChartParams:o,graphicReverseScale:a}){const s=c=>{const f=c.size();return o.transitionDuration/f};let l=0;return t.each((c,f,h)=>{V(h[f]).selectAll("g").data(r[f],p=>p.id).join(p=>(l=s(p),p.append("g").classed(e,!0)),p=>p,p=>p.remove()).attr("transform",p=>`translate(${p.axisX}, ${p.axisY})`).each((p,d,m)=>{V(m[d]).selectAll("circle").data([p]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((y,b)=>d*l).attr("opacity",1),g=>g.transition().duration(50).attr("opacity",1),g=>g.remove()).attr("r",i.radius).attr("fill",(g,y)=>zt({datum:g,colorType:i.fillColorType,fullChartParams:o})).attr("stroke",(g,y)=>zt({datum:g,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${a[f][0]??1}, ${a[f][1]??1})`)})}),t.selectAll(`circle.${n}`)}function XI({selection:t,ids:e,onlyShowHighlighted:n,fullChartParams:r}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",n===!0?0:1);return}t.each((i,o,a)=>{e.includes(i.id)?V(a[o]).style("opacity",1).transition("highlight").duration(200):V(a[o]).style("opacity",n===!0?0:r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function WI({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{V(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const $$=(t,{selection:e,computedData$:n,computedLayoutData$:r,visibleComputedData$:i,visibleComputedLayoutData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullChartParams$:c,gridAxesTransform$:f,gridGraphicTransform$:h,gridGraphicReverseScale$:p,gridAxesSize$:d,gridHighlight$:m,gridContainerPosition$:g,event$:y})=>{const b=new J,v=Be(t,"clipPath-box"),x=K(t,"circleG"),_=K(t,"circle"),{seriesSelection$:T,axesSelection$:S,defsSelection$:A,graphicGSelection$:P}=_r({selection:e,pluginName:t,clipPathID:v,seriesLabels$:a,gridContainerPosition$:g,gridAxesTransform$:f,gridGraphicTransform$:h}),B=Y({computedData:n,gridGraphicReverseScale:p}).pipe(L(b),G(async w=>w),E(w=>w.computedData.map((M,C)=>w.gridGraphicReverseScale[C])));Y({defsSelection:A,gridAxesSize:d}).pipe(L(b),G(async w=>w)).subscribe(w=>{const M=[{id:v,width:w.gridAxesSize.width,height:w.gridAxesSize.height}];WI({defsSelection:w.defsSelection,clipPathData:M})});const $=c.pipe(L(b),E(w=>w.highlightTarget),tt()),k=Y({graphicGSelection:P,visibleComputedLayoutData:o,graphicReverseScale:B,fullChartParams:c,fullParams:u}).pipe(L(b),G(async w=>w),E(w=>YI({graphicGSelection:w.graphicGSelection,circleGClassName:x,circleClassName:_,visibleComputedLayoutData:w.visibleComputedLayoutData,fullParams:w.fullParams,fullChartParams:w.fullChartParams,graphicReverseScale:w.graphicReverseScale})));Y({graphicSelection:k,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:$}).pipe(L(b),G(async w=>w)).subscribe(w=>{w.graphicSelection.on("mouseover",(M,C)=>{y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:w.highlightTarget,datum:C,gridIndex:C.gridIndex,series:w.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,groups:w.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:M,data:w.computedData})}).on("mousemove",(M,C)=>{y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:w.highlightTarget,data:w.computedData,datum:C,gridIndex:C.gridIndex,series:w.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,groups:w.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:M})}).on("mouseout",(M,C)=>{y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:w.highlightTarget,datum:C,gridIndex:C.gridIndex,series:w.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,groups:w.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:M,data:w.computedData})}).on("click",(M,C)=>{y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:w.highlightTarget,datum:C,gridIndex:C.gridIndex,series:w.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,groups:w.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:M,data:w.computedData})})});const D=u.pipe(L(b),E(w=>w.onlyShowHighlighted),tt());return Y({graphicSelection:k,highlight:m.pipe(E(w=>w.map(M=>M.id))),onlyShowHighlighted:D,fullChartParams:c}).pipe(L(b),G(async w=>w)).subscribe(w=>{XI({selection:w.graphicSelection,ids:w.highlight,onlyShowHighlighted:w.onlyShowHighlighted,fullChartParams:w.fullChartParams})}),()=>{b.next(void 0)}},_$="Dots",VI=ae({name:_$,defaultParams:jp,layerIndex:nu,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=$$(_$,{selection:t,computedData$:r.computedData$,computedLayoutData$:r.computedLayoutData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,event$:n.event$});return()=>{i.next(void 0),o()}}),UI=" - ",HI={listRectWidth:14,listRectHeight:14,listRectRadius:0};function S$(t,e){const n=t<e.colors[e.colorScheme].label.length?t:t%e.colors[e.colorScheme].label.length;return e.colors[e.colorScheme].label[n]}const ki=(t,{rootSelection:e,legendLabels$:n,fullParams$:r,layout$:i,fullChartParams$:o,textSizePx$:a})=>{const s=K(t,"root-position"),l=K(t,"legend-card"),u=K(t,"legend-list"),c=K(t,"legend-item"),f=new J,h=Y({legendLabels:n,fullChartParams:o}).pipe(L(f),G(async $=>$),E($=>{const k=new Map;let D=0;return $.legendLabels.forEach((w,M)=>{if(!k.has(w)){const C=S$(D,$.fullChartParams);k.set(w,C),D++}}),k})),p=n.pipe(L(f),E($=>{const k=new Set;let D=[];return $.forEach(w=>{k.has(w)?D.push(!1):D.push(!0),k.add(w)}),D})),d=r.pipe(L(f),E($=>$.placement==="top"||$.placement==="top-start"||$.placement==="top-end"?"top":$.placement==="bottom"||$.placement==="bottom-start"||$.placement==="bottom-end"?"bottom":$.placement==="left"||$.placement==="left-start"||$.placement==="left-end"?"left":"right"),tt(($,k)=>$===k),mt(1)),m=r.pipe(L(f),E($=>$.placement==="top-start"||$.placement==="bottom-start"||$.placement==="left-start"||$.placement==="right-start"?"start":$.placement==="top-end"||$.placement==="bottom-end"||$.placement==="left-end"||$.placement==="right-end"?"end":($.placement==="top"||$.placement==="bottom"||$.placement==="left"||$.placement==="right","center")),tt(($,k)=>$===k),mt(1)),g=d.pipe(L(f),E($=>$==="bottom"||$==="top"?"row":"column"),tt(($,k)=>$===k),mt(1)),y=Y({fullParams:r,position:d,layout:i}).pipe(L(f),G(async $=>$),E($=>{const k=$.fullParams.padding*2+$.fullParams.gap*2;return $.position==="bottom"||$.position==="top"?$.layout.rootWidth-k:$.layout.rootHeight-k})),v=Y({layout:i,position:d,justify:m}).pipe(L(f),G(async $=>$),E($=>{let k=0,D=0;return $.position==="bottom"?(D=$.layout.rootHeight,$.justify==="start"?k=0:$.justify==="center"?k=$.layout.rootWidth/2:$.justify==="end"&&(k=$.layout.rootWidth)):$.position==="right"?(k=$.layout.rootWidth,$.justify==="start"?D=0:$.justify==="center"?D=$.layout.rootHeight/2:$.justify==="end"&&(D=$.layout.rootHeight)):$.position==="top"?(D=0,$.justify==="start"?k=0:$.justify==="center"?k=$.layout.rootWidth/2:$.justify==="end"&&(k=$.layout.rootWidth)):$.position==="left"&&(k=0,$.justify==="start"?D=0:$.justify==="center"?D=$.layout.rootHeight/2:$.justify==="end"&&(D=$.layout.rootHeight)),{x:k,y:D}})).pipe(L(f),E($=>e.selectAll(`g.${s}`).data([$]).join(k=>k.append("g").classed(s,!0).attr("transform",D=>`translate(${D.x}, ${D.y})`),k=>k.transition().attr("transform",D=>`translate(${D.x}, ${D.y})`),k=>k.remove()))),x=r.pipe(L(f),E($=>$.labelList[0]?$.labelList[0]:HI)),_=Y({visibleList:p,fullParams:r,fullChartParams:o,legendLabels:n,lineDirection:g,lineMaxSize:y,defaultListStyle:x,SeriesLabelColorMap:h,textSizePx:a}).pipe(L(f),G(async $=>$),E($=>$.legendLabels.reduce((k,D,w)=>{if(!$.visibleList[w])return k;const M=D!==""?D:UI,C=aa(M,$.textSizePx),X=$.textSizePx*1.5+C,O=$.SeriesLabelColorMap.get(D),I=k[0]&&k[0][0]?k[k.length-1][k[k.length-1].length-1]:null,{translateX:N,translateY:R,lineIndex:F,itemIndex:H}=((z,Q,W)=>{let Z=0,q=0,nt=0,st=0;if(z.lineDirection==="column"){let U=W?W.translateY+z.textSizePx+z.fullParams.gap:0;if(U+z.textSizePx>z.lineMaxSize){nt=W.lineIndex+1,st=0,q=0;const gt=Q[Q.length-1].reduce((ft,Rt)=>Rt.itemWidth>ft?Rt.itemWidth:ft,0);Z=W.translateX+gt+z.fullParams.gap}else nt=W?W.lineIndex:0,st=W?W.itemIndex+1:0,q=U,Z=W?W.translateX:0}else{let U=W?W.translateX+W.itemWidth+z.fullParams.gap:0;U+X>z.lineMaxSize?(nt=W.lineIndex+1,st=0,Z=0):(nt=W?W.lineIndex:0,st=W?W.itemIndex+1:0,Z=U),q=(z.textSizePx+z.fullParams.gap)*nt}return{translateX:Z,translateY:q,lineIndex:nt,itemIndex:st}})($,k,I);k[F]||(k[F]=[]);const it=$.fullParams.labelList[H]?$.fullParams.labelList[H]:$.defaultListStyle;return k[F].push({id:M,seriesLabel:M,seriesIndex:w,lineIndex:F,itemIndex:H,text:M,itemWidth:X,translateX:N,translateY:R,color:O,listRectWidth:it.listRectWidth,listRectHeight:it.listRectHeight,listRectRadius:it.listRectRadius}),k},[])),mt(1)),T=Y({fullParams:r,fullChartParams:o,lineDirection:g,lengendItems:_,textSizePx:a}).pipe(L(f),G(async $=>$),E($=>{const{width:k,height:D}=((w,M)=>{let C=0,X=0;if(!M.length||!M[0].length)return{width:C,height:X};const O=M[0][M[0].length-1];return w.lineDirection==="column"?(C=M.reduce((I,N)=>{const R=N.reduce((F,H)=>H.itemWidth>F?H.itemWidth:F,0);return I+R},0),C+=w.fullParams.gap*(M.length-1),X=O.translateY+w.textSizePx):(C=O.translateX+O.itemWidth,X=w.textSizePx*M.length+w.fullParams.gap*(M.length-1)),{width:C,height:X}})($,$.lengendItems);return{direction:$.lineDirection,width:k,height:D,translateX:$.fullParams.gap,translateY:$.fullParams.gap}}),mt(1)),S=Y({fullParams:r,position:d,justify:m,lengendList:T}).pipe(L(f),G(async $=>$),E($=>{const k=$.lengendList.width+$.fullParams.gap*2,D=$.lengendList.height+$.fullParams.gap*2;let w=0,M=0;return $.position==="left"?$.justify==="start"?(w=$.fullParams.padding,M=$.fullParams.padding):$.justify==="center"?(w=$.fullParams.padding,M=-D/2):$.justify==="end"&&(w=$.fullParams.padding,M=-D-$.fullParams.padding):$.position==="right"?$.justify==="start"?(w=-k-$.fullParams.padding,M=$.fullParams.padding):$.justify==="center"?(w=-k-$.fullParams.padding,M=-D/2):$.justify==="end"&&(w=-k-$.fullParams.padding,M=-D-$.fullParams.padding):$.position==="top"?$.justify==="start"?(w=$.fullParams.padding,M=$.fullParams.padding):$.justify==="center"?(w=-k/2,M=$.fullParams.padding):$.justify==="end"&&(w=-k-$.fullParams.padding,M=$.fullParams.padding):$.justify==="start"?(w=$.fullParams.padding,M=-D-$.fullParams.padding):$.justify==="center"?(w=-k/2,M=-D-$.fullParams.padding):$.justify==="end"&&(w=-k-$.fullParams.padding,M=-D-$.fullParams.padding),{width:k,height:D,translateX:w,translateY:M}})),A=Y({rootPositionSelection:v,fullParams:r,fullChartParams:o,legendCard:S}).pipe(L(f),G(async $=>$),E($=>$.rootPositionSelection.selectAll("g").data([$.legendCard]).join(k=>k.append("g").classed(l,!0).attr("transform",D=>`translate(${D.translateX}, ${D.translateY})`),k=>k.transition().attr("transform",D=>`translate(${D.translateX}, ${D.translateY})`),k=>k.remove()).each((k,D,w)=>{V(w[D]).selectAll("rect").data([k]).join("rect").attr("width",M=>M.width).attr("height",M=>M.height).attr("fill",bt($.fullParams.backgroundFill,$.fullChartParams)).attr("stroke",bt($.fullParams.backgroundStroke,$.fullChartParams))}))),P=Y({lengendCardSelection:A,fullParams:r,lengendList:T}).pipe(L(f),G(async $=>$),E($=>$.lengendCardSelection.selectAll("g").data([$.lengendList]).join(k=>k.append("g").classed(u,!0).attr("transform",D=>`translate(${D.translateX}, ${D.translateY})`),k=>k.transition().attr("transform",D=>`translate(${D.translateX}, ${D.translateY})`),k=>k.remove())));return Y({lengendListSelection:P,fullParams:r,fullChartParams:o,lengendItems:_,textSizePx:a}).pipe(L(f),G(async $=>$),E($=>{const k=$.lengendItems[0]?$.lengendItems.flat():[];return $.lengendListSelection.selectAll(`g.${c}`).data(k).join(D=>D.append("g").classed(c,!0).attr("cursor","default"),D=>D,D=>D.remove()).attr("transform",(D,w)=>`translate(${D.translateX}, ${D.translateY})`).each((D,w,M)=>{const C=$.textSizePx/2,X=-D.listRectWidth/2,O=-D.listRectHeight/2;V(M[w]).selectAll("rect").data([D]).join("rect").attr("x",C).attr("y",C).attr("width",I=>I.listRectWidth).attr("height",I=>I.listRectHeight).attr("transform",I=>`translate(${X}, ${O})`).attr("fill",I=>I.color).attr("rx",I=>I.listRectRadius),V(M[w]).selectAll("text").data([D]).join(I=>I.append("text").attr("dominant-baseline","hanging"),I=>I,I=>I.remove()).attr("x",$.textSizePx*1.5).attr("font-size",$.fullChartParams.styles.textSize).attr("fill",I=>$.fullParams.textColorType==="label"?S$(I.seriesIndex,$.fullChartParams):bt($.fullParams.textColorType,$.fullChartParams)).text(I=>I.text)})})).subscribe(),()=>{e.select(`g.${s}`).remove(),f.next(void 0)}},w$="GridLegend",jI=ae({name:w$,defaultParams:Jp,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new J,o=n.SeriesDataMap$.pipe(L(i),E(l=>Array.from(l.keys()))),a=n.fullParams$.pipe(L(i),E(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=ki(w$,{rootSelection:e,legendLabels$:o,fullParams$:a,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),s()}});function qI(t,{text:e,radius:n,lineHeight:r,isBreakAll:i=!1,limit:o=0}){if(t==null||e==null){console.error("selection or text is not defined");return}n==null&&(n=t.node().getBBox().width/2);function a(p){let d;return i?d=p.split(""):d=p.split(/\s+/g),d[d.length-1]||d.pop(),d[0]||d.shift(),d}function s(p,d){return p&&d&&p.length>d&&(p=p.substring(0,d)+"..."),p}function l(p){var m;const d=document.createElement("canvas").getContext("2d");return((m=d==null?void 0:d.measureText(p))==null?void 0:m.width)??0}function u(p){const d=l(p.trim());return Math.sqrt(d*r)}function c(p,d){let m={width:0,text:""},g=1/0;const y=[];let b=" ";i&&(b="");for(let v=0,x=p.length;v<x;++v){const _=(m.text?m.text+b:"")+p[v],T=l(_);(g+T)/2<d?(m.width=g=T,m.text=_):(g=l(p[v]),m={width:g,text:p[v]},y.push(m))}return y}function f(p){let d=0;for(let m=0,g=p.length;m<g;++m){const y=(Math.abs(m-g/2+.5)+.5)*r,b=p[m].width/2;d=Math.max(d,Math.sqrt(b**2+y**2))}return d}function h(p,d){o>0&&(d=s(d,o));const m=a(d),g=u(d),y=c(m,g),b=f(y);let v=p.select("text");v.size()||(v=p.append("text")),v.attr("transform",`translate(0,0) scale(${n/b})`);const x=v.selectAll("tspan").data(y),_=x.enter().append("tspan").attr("x",0).merge(x).attr("y",(T,S)=>(S-y.length/2+.8)*r).text(T=>T.text);return x.exit().remove(),x.merge(_)}return h(t,e)}function mp(t,{textArr:e,textSizePx:n,groupAxisPosition:r}){t.text(null);const i=Number(t.attr("x"));let o=Number(t.attr("y"));r==="top"&&(o-=(e.length-1)*n),t.selectAll("tspan").data(e).join("tspan").attr("x",i).attr("y",(a,s)=>o+s*n).text(a=>a)}function T$(t,{textArr:e,textSizePx:n,quadrant:r}){t.selectAll("tspan").data(e).join("tspan").attr("x",0).attr("y",(i,o)=>r==1||r==2?-(e.length-1-o)*n:o*n).text(i=>i)}const ZI=6;function KI(t,e){return t.map((n,r)=>{const i=$r(n,e),o=typeof i=="string"?i.split(`
53
- `):[i];return{text:i,textArr:o}})}function QI({selection:t,groupingLabelClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:i,fullDataFormatter:o,chartParams:a,textReverseTransform:s}){const l=n.tickPadding+n.labelOffset[0],u=n.tickPadding+n.labelOffset[1];let c=0,f=0;o.groupAxis.position==="bottom"?(f=u,o.valueAxis.position==="left"?c=l:o.valueAxis.position==="right"&&(c=-l)):o.groupAxis.position==="top"?(f=-u,o.valueAxis.position==="left"?c=l:o.valueAxis.position==="right"&&(c=-l)):o.groupAxis.position==="left"?(c=-l,o.valueAxis.position==="bottom"?f=-u:o.valueAxis.position==="top"&&(f=u)):o.groupAxis.position==="right"&&(c=l,o.valueAxis.position==="bottom"?f=-u:o.valueAxis.position==="top"&&(f=u)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((h,p,d)=>{V(d[p]).selectAll("text").data([h]).join(m=>m.append("text").style("font-weight","bold"),m=>m,m=>m.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",a.styles.textSize).style("fill",bt(n.labelColorType,a)).style("transform",s).attr("x",c).attr("y",f).text(m=>o.groupAxis.label)}).attr("transform",h=>`translate(${i.width}, 0)`)}function JI({selection:t,xAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:i,fullDataFormatter:o,chartParams:a,groupScale:s,groupScaleDomain:l,groupLabelData:u,textReverseTransformWithRotate:c,textSizePx:f}){const h=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0),p=Math.floor(l[1])-Math.ceil(l[0])+1;let d=0,m=0;o.groupAxis.position==="left"?(d=0,m=-n.tickPadding):o.groupAxis.position==="right"?(d=0,m=n.tickPadding):o.groupAxis.position==="bottom"?(d=n.tickPadding,m=0):o.groupAxis.position==="top"&&(d=-n.tickPadding,m=-0);const g=xc(s).scale(s).ticks(n.ticks==="all"||n.ticks>p?p:n.ticks).tickSize(n.tickFullLine==!0?i.height:-ZI).tickSizeOuter(0).tickFormat(v=>{var x;return((x=u[v])==null?void 0:x.text)??""}).tickPadding(d),y=h.transition().duration(100).call(g).on("end",(v,x)=>{h.selectAll(".tick text").each((_,T,S)=>{var P;const A=((P=u[_])==null?void 0:P.textArr)??[];mp(V(S[T]),{textArr:A,textSizePx:f,groupAxisPosition:o.groupAxis.position})})});return y.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?bt(n.tickColorType,a):"none").style("stroke-dasharray",n.tickFullLineDasharray).attr("pointer-events","none"),y.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?bt(n.axisLineColorType,a):"none").style("shape-rendering","crispEdges"),h.selectAll("text").attr("font-size",a.styles.textSize).attr("fill",bt(n.tickTextColorType,a)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("x",m).style("transform",c).attr("dy",0),h}const A$=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:i,fullChartParams$:o,gridAxesTransform$:a,gridAxesReverseTransform$:s,gridAxesSize$:l,gridContainerPosition$:u,isSeriesSeprate$:c,textSizePx$:f})=>{const h=new J,p=K(t,"container"),d=K(t,"xAxisG"),m=K(t,"xAxis"),g=K(t,"groupingLabel"),y=Y({computedData:n.pipe(tt(($,k)=>$.length===k.length)),isSeriesSeprate:c}).pipe(L(h),G(async $=>$),E($=>$.isSeriesSeprate?$.computedData:[$.computedData[0]]),E(($,k)=>e.selectAll(`g.${p}`).data($,D=>D[0]?D[0].seriesIndex:k).join("g").classed(p,!0))),b=y.pipe(L(h),E(($,k)=>$.selectAll(`g.${d}`).data([d]).join("g").classed(d,!0)));Y({containerSelection:y,gridContainerPosition:u}).pipe(L(h),G(async $=>$)).subscribe($=>{$.containerSelection.attr("transform",(k,D)=>{const w=$.gridContainerPosition[D]??$.gridContainerPosition[0],M=w.translate,C=w.scale;return`translate(${M[0]}, ${M[1]}) scale(${C[0]}, ${C[1]})`})}),Y({axisSelection:b,gridAxesTransform:a}).pipe(L(h),G(async $=>$)).subscribe($=>{$.axisSelection.style("transform",$.gridAxesTransform.value)});const v=Y({gridAxesReverseTransform:s,gridContainerPosition:u}).pipe(L(h),G(async $=>$),E($=>{const k=`rotateX(${$.gridAxesReverseTransform.rotateX}deg) rotateY(${$.gridAxesReverseTransform.rotateY}deg)`,D=`rotate(${$.gridAxesReverseTransform.rotate}deg)`,w=`scale(${1/$.gridContainerPosition[0].scale[0]}, ${1/$.gridContainerPosition[0].scale[1]})`;return`${k} ${D} ${w}`}),tt()),x=Y({textReverseTransform:v,fullParams:r}).pipe(L(h),G(async $=>$),E($=>`${$.textReverseTransform} rotate(${$.fullParams.tickTextRotate}deg)`)),_=Y({fullDataFormatter:i,gridAxesSize:l,computedData:n}).pipe(L(h),G(async $=>$),E($=>{const k=$.computedData[0]?$.computedData[0].length-1:0,D=$.fullDataFormatter.groupAxis.scaleDomain[0]-$.fullDataFormatter.groupAxis.scalePadding,w=$.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?k+$.fullDataFormatter.groupAxis.scalePadding:$.fullDataFormatter.groupAxis.scaleDomain[1]+$.fullDataFormatter.groupAxis.scalePadding;return[D,w]}),mt(1)),T=Y({groupScaleDomain:_,gridAxesSize:l}).pipe(L(h),G(async $=>$),E($=>$i().domain($.groupScaleDomain).range([0,$.gridAxesSize.width]))),S=n.pipe(E($=>($[0]??[]).map(k=>k.groupLabel))),A=Y({fullDataFormatter:i,fullParams:r}).pipe(L(h),G(async $=>$),E($=>{let k="middle",D="hanging";return $.fullDataFormatter.groupAxis.position==="bottom"?(k=$.fullParams.tickTextRotate?"end":"middle",D="hanging"):$.fullDataFormatter.groupAxis.position==="top"?(k=$.fullParams.tickTextRotate?"start":"middle",D="auto"):$.fullDataFormatter.groupAxis.position==="left"?(k="end",D="middle"):$.fullDataFormatter.groupAxis.position==="right"&&(k="start",D="middle"),{textAnchor:k,dominantBaseline:D}})),P=i.pipe(L(h),E($=>{let k="start",D="hanging";return $.groupAxis.position==="bottom"?D="hanging":$.groupAxis.position==="top"?D="auto":$.groupAxis.position==="left"?k="end":$.groupAxis.position==="right"&&(k="start"),$.valueAxis.position==="left"?k="start":$.valueAxis.position==="right"?k="end":$.valueAxis.position==="bottom"?D="auto":$.valueAxis.position==="top"&&(D="hanging"),{textAnchor:k,dominantBaseline:D}})),B=Y({groupLabels:S,fullParams:r}).pipe(L(h),G(async $=>$),E($=>KI($.groupLabels,$.fullParams.tickFormat)));return Y({axisSelection:b,fullParams:r,tickTextAlign:A,axisLabelAlign:P,gridAxesSize:l,fullDataFormatter:i,chartParams:o,groupScale:T,groupScaleDomain:_,groupLabelData:B,textReverseTransform:v,textReverseTransformWithRotate:x,textSizePx:f}).pipe(L(h),G(async $=>$)).subscribe($=>{JI({selection:$.axisSelection,xAxisClassName:m,fullParams:$.fullParams,tickTextAlign:$.tickTextAlign,gridAxesSize:$.gridAxesSize,fullDataFormatter:$.fullDataFormatter,chartParams:$.chartParams,groupScale:$.groupScale,groupScaleDomain:$.groupScaleDomain,groupLabelData:$.groupLabelData,textReverseTransformWithRotate:$.textReverseTransformWithRotate,textSizePx:$.textSizePx}),QI({selection:$.axisSelection,groupingLabelClassName:g,fullParams:$.fullParams,axisLabelAlign:$.axisLabelAlign,gridAxesSize:$.gridAxesSize,fullDataFormatter:$.fullDataFormatter,chartParams:$.chartParams,textReverseTransform:$.textReverseTransform})}),()=>{h.next(void 0)}},P$="GroupAxis",tB=ae({name:P$,defaultParams:cu,layerIndex:mn,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:r=>r===null||r==="all"||typeof r=="number"},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new J,o=A$(P$,{selection:t,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),o()}}),eB=6;function nB({selection:t,textClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:i,fullDataFormatter:o,fullChartParams:a,textReverseTransform:s}){const l=n.tickPadding-n.labelOffset[0],u=n.tickPadding+n.labelOffset[1];let c=0,f=0;o.groupAxis.position==="bottom"?(f=-u,o.valueAxis.position==="left"?c=-l:o.valueAxis.position==="right"&&(c=l)):o.groupAxis.position==="top"?(f=u,o.valueAxis.position==="left"?c=-l:o.valueAxis.position==="right"&&(c=l)):o.groupAxis.position==="left"?(c=l,o.valueAxis.position==="bottom"?f=u:o.valueAxis.position==="top"&&(f=-u)):o.groupAxis.position==="right"&&(c=-l,o.valueAxis.position==="bottom"?f=u:o.valueAxis.position==="top"&&(f=-u)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((h,p,d)=>{V(d[p]).selectAll("text").data([h]).join(m=>m.append("text").style("font-weight","bold"),m=>m,m=>m.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",a.styles.textSize).style("fill",bt(n.labelColorType,a)).style("transform",s).attr("x",c).attr("y",f).text(m=>o.valueAxis.label)}).attr("transform",h=>`translate(0, ${i.height})`)}function rB({selection:t,yAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:i,fullDataFormatter:o,fullChartParams:a,valueScale:s,textReverseTransformWithRotate:l,filteredMinMaxValue:u}){const c=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let f=0,h=0;o.valueAxis.position==="left"?(f=n.tickPadding,h=0):o.valueAxis.position==="right"?(f=-n.tickPadding,h=0):o.valueAxis.position==="bottom"?(f=0,h=n.tickPadding):o.valueAxis.position==="top"&&(f=0,h=-n.tickPadding);const p=vc(s).scale(s).ticks(n.ticks).tickFormat(g=>$r(g,n.tickFormat)).tickSize(n.tickFullLine==!0?-i.width:eB).tickPadding(f),d=c.transition().duration(100).call(p);d.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?bt(n.tickColorType,a):"none").style("stroke-dasharray",n.tickFullLineDasharray).attr("pointer-events","none"),d.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?bt(n.axisLineColorType,a):"none").style("shape-rendering","crispEdges");const m=c.selectAll("text").attr("font-size",a.styles.textSize).style("color",bt(n.tickTextColorType,a)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("y",h).attr("dy",0);return m.style("transform",l),(o.valueAxis.position==="bottom"||o.valueAxis.position==="top")&&m.attr("dy",0),c}const Ri=(t,{selection:e,computedData$:n,filteredMinMaxValue$:r,fullParams$:i,fullDataFormatter$:o,fullChartParams$:a,gridAxesTransform$:s,gridAxesReverseTransform$:l,gridAxesSize$:u,gridContainerPosition$:c,isSeriesSeprate$:f})=>{const h=new J,p=K(t,"container"),d=K(t,"yAxisG"),m=K(t,"yAxis"),g=K(t,"text"),y=Y({computedData:n.pipe(tt((A,P)=>A.length===P.length)),isSeriesSeprate:f}).pipe(L(h),G(async A=>A),E(A=>A.isSeriesSeprate?A.computedData:[A.computedData[0]]),E((A,P)=>e.selectAll(`g.${p}`).data(A,B=>B[0]?B[0].seriesIndex:P).join("g").classed(p,!0))),b=y.pipe(L(h),E((A,P)=>A.selectAll(`g.${d}`).data([d]).join("g").classed(d,!0)));Y({containerSelection:y,gridContainerPosition:c}).pipe(L(h),G(async A=>A)).subscribe(A=>{A.containerSelection.attr("transform",(P,B)=>{const $=A.gridContainerPosition[B]??A.gridContainerPosition[0],k=$.translate,D=$.scale;return`translate(${k[0]}, ${k[1]}) scale(${D[0]}, ${D[1]})`})}),Y({axisSelection:b,gridAxesTransform:s}).pipe(L(h),G(async A=>A)).subscribe(A=>{A.axisSelection.style("transform",A.gridAxesTransform.value)});const v=Y({gridAxesReverseTransform:l,gridContainerPosition:c}).pipe(L(h),G(async A=>A),E(A=>{const P=`rotateX(${A.gridAxesReverseTransform.rotateX}deg) rotateY(${A.gridAxesReverseTransform.rotateY}deg)`,B=`rotate(${A.gridAxesReverseTransform.rotate}deg)`,$=`scale(${1/A.gridContainerPosition[0].scale[0]}, ${1/A.gridContainerPosition[0].scale[1]})`;return`${P} ${B} ${$}`}),tt()),x=Y({textReverseTransform:v,fullParams:i}).pipe(L(h),G(async A=>A),E(A=>`${A.textReverseTransform} rotate(${A.fullParams.tickTextRotate}deg)`)),_=new pt(A=>{Y({fullDataFormatter:o,gridAxesSize:u,filteredMinMaxValue:r}).pipe(L(h),G(async P=>P)).subscribe(P=>{let B=P.filteredMinMaxValue[1],$=P.filteredMinMaxValue[0];B===$&&B===0&&(B=1);const k=Ki({maxValue:B,minValue:$,axisWidth:P.gridAxesSize.height,scaleDomain:P.fullDataFormatter.valueAxis.scaleDomain,scaleRange:P.fullDataFormatter.valueAxis.scaleRange});A.next(k)})}),T=Y({fullDataFormatter:o,fullParams:i}).pipe(L(h),G(async A=>A),E(A=>{let P="start",B="hanging";return A.fullDataFormatter.valueAxis.position==="left"?(P="end",B="middle"):A.fullDataFormatter.valueAxis.position==="right"?(P="start",B="middle"):A.fullDataFormatter.valueAxis.position==="bottom"?(P=A.fullParams.tickTextRotate?"end":"middle",B="hanging"):A.fullDataFormatter.valueAxis.position==="top"&&(P=A.fullParams.tickTextRotate?"start":"middle",B="auto"),{textAnchor:P,dominantBaseline:B}})),S=o.pipe(L(h),E(A=>{let P="start",B="hanging";return A.groupAxis.position==="bottom"?B="auto":A.groupAxis.position==="top"?B="hanging":A.groupAxis.position==="left"?P="start":A.groupAxis.position==="right"&&(P="end"),A.valueAxis.position==="left"?P="end":A.valueAxis.position==="right"?P="start":A.valueAxis.position==="bottom"?B="hanging":A.valueAxis.position==="top"&&(B="auto"),{textAnchor:P,dominantBaseline:B}}));return Y({axisSelection:b,fullParams:i,tickTextAlign:T,axisLabelAlign:S,computedData:n,gridAxesSize:u,fullDataFormatter:o,fullChartParams:a,valueScale:_,textReverseTransform:v,textReverseTransformWithRotate:x,filteredMinMaxValue:r}).pipe(L(h),G(async A=>A)).subscribe(A=>{rB({selection:A.axisSelection,yAxisClassName:m,fullParams:A.fullParams,tickTextAlign:A.tickTextAlign,gridAxesSize:A.gridAxesSize,fullDataFormatter:A.fullDataFormatter,fullChartParams:A.fullChartParams,valueScale:A.valueScale,textReverseTransformWithRotate:A.textReverseTransformWithRotate,filteredMinMaxValue:A.filteredMinMaxValue}),nB({selection:A.axisSelection,textClassName:g,fullParams:A.fullParams,axisLabelAlign:A.axisLabelAlign,gridAxesSize:A.gridAxesSize,fullDataFormatter:A.fullDataFormatter,fullChartParams:A.fullChartParams,textReverseTransform:A.textReverseTransform})}),()=>{h.next(void 0)}},D$="ValueAxis",iB=ae({name:D$,defaultParams:fa,layerIndex:mn,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new J,o=Ri(D$,{selection:t,computedData$:n.computedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{i.next(void 0),o()}}),C$="StackedValueAxis",oB=ae({name:C$,defaultParams:Kp,layerIndex:mn,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new J,o=Ri(C$,{selection:t,computedData$:n.computedStackedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{i.next(void 0),o()}});function M$(t,e){const n=e.textSizePx*1.5,i=(t==null?[]:Array.isArray(t)?t:typeof t=="string"?t.split(`
61
+ `})}function vB({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function SB({selection:t,ids:e,fullChartParams:n}){t.interrupt("highlight");const r=()=>{t.transition("highlight").duration(200).style("opacity",1)};if(!e.length){r();return}t.each((i,o,a)=>{e.includes(i.id)?U(a[o]).style("opacity",1):U(a[o]).style("opacity",n.styles.unhighlightedOpacity)})}const Wv=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,fullDataFormatter$:a,seriesLabels$:s,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:c,fullChartParams$:h,gridAxesTransform$:f,gridGraphicTransform$:p,gridAxesSize$:d,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:b,event$:y})=>{const x=new Q,$=ie(t,"clipPath-box"),S=q(t,"pathG"),A=q(t,"path"),{seriesSelection$:_,axesSelection$:P,defsSelection$:M,graphicGSelection$:R}=Pr({selection:e,pluginName:t,clipPathID:$,seriesLabels$:s,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:p});p.pipe(D(x),L(I=>-I.translate[1]/I.scale[1]));const v=o.pipe(L(I=>I.map(W=>W[0]?W[0].axisY-W[0].axisYFromZero:0)),K()),E=O({computedData:n,visibleComputedData:i,params:c,gridAxesSize:d,isSeriesSeprate:b}).pipe(D(x),z(async I=>I),L(I=>I.params.barWidth?I.params.barWidth:I.isSeriesSeprate?Gv({axisWidth:I.gridAxesSize.width,groupAmount:I.computedData[0]?I.computedData[0].length:0,barAmountOfGroup:1,barPadding:I.params.barPadding,barGroupPadding:I.params.barGroupPadding}):Gv({axisWidth:I.gridAxesSize.width,groupAmount:I.computedData[0]?I.computedData[0].length:0,barAmountOfGroup:I.visibleComputedData.length,barPadding:I.params.barPadding,barGroupPadding:I.params.barGroupPadding}))),k=i.pipe(D(x),L(I=>{const W=new Set;return I.forEach(H=>{H.forEach(it=>{W.add(it.groupLabel)})}),Array.from(W)})),T=new gt(I=>{O({seriesLabels:s,barWidth:E,params:c}).pipe(D(x),z(async W=>W)).subscribe(W=>{const H=mB(W.barWidth,W.seriesLabels,W.params);I.next(H)})}),w=h.pipe(D(x),L(I=>I.transitionDuration),K()),C=new gt(I=>{O({groupLabels:k,transitionDuration:w}).pipe(z(async W=>W)).subscribe(W=>{const H=yB(W.groupLabels.length,W.transitionDuration);I.next(H)})}).pipe(D(x),K()),F=new gt(I=>{O({groupLabels:k,transitionDuration:w}).pipe(z(async W=>W)).subscribe(W=>{const H=bB(W.groupLabels.length,W.transitionDuration);I.next(H)})}).pipe(D(x),K());O({defsSelection:M,gridAxesSize:d}).pipe(D(x),z(async I=>I)).subscribe(I=>{const W=[{id:$,width:I.gridAxesSize.width,height:I.gridAxesSize.height}];vB({defsSelection:I.defsSelection,clipPathData:W})});const G=h.pipe(D(x),L(I=>I.highlightTarget),K()),B=s.pipe(D(x),L(I=>I.map((W,H)=>ie(t,`lineargradient-${W}`)))),N=O({graphicGSelection:R,defsSelection:M,computedData:n,visibleComputedAxesData:o,linearGradientIds:B,zeroYArr:v,groupLabels:k,barScale:T,params:c,chartParams:h,barWidth:E,delayGroup:C,transitionItem:F,isSeriesSeprate:b}).pipe(D(x),z(async I=>I),L(I=>($B({defsSelection:I.defsSelection,computedData:I.computedData,linearGradientIds:I.linearGradientIds,params:I.params}),xB({graphicGSelection:I.graphicGSelection,pathGClassName:S,pathClassName:A,visibleComputedAxesData:I.visibleComputedAxesData,linearGradientIds:I.linearGradientIds,zeroYArr:I.zeroYArr,groupLabels:I.groupLabels,barScale:I.barScale,params:I.params,chartParams:I.chartParams,barWidth:I.barWidth,delayGroup:I.delayGroup,transitionItem:I.transitionItem,isSeriesSeprate:I.isSeriesSeprate}))));return O({barSelection:N,computedData:n,highlightTarget:G,SeriesDataMap:l,GroupDataMap:u}).subscribe(I=>{I.barSelection.on("mouseover",(W,H)=>{W.stopPropagation(),y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:I.highlightTarget,datum:H,gridIndex:H.gridIndex,series:I.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,group:I.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:W,data:I.computedData})}).on("mousemove",(W,H)=>{W.stopPropagation(),y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:I.highlightTarget,datum:H,gridIndex:H.gridIndex,series:I.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,group:I.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:W,data:I.computedData})}).on("mouseout",(W,H)=>{W.stopPropagation(),y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:I.highlightTarget,datum:H,gridIndex:H.gridIndex,series:I.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,group:I.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:W,data:I.computedData})}).on("click",(W,H)=>{W.stopPropagation(),y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:I.highlightTarget,datum:H,gridIndex:H.gridIndex,series:I.SeriesDataMap.get(H.seriesLabel),seriesIndex:H.seriesIndex,seriesLabel:H.seriesLabel,group:I.GroupDataMap.get(H.groupLabel),groupIndex:H.groupIndex,groupLabel:H.groupLabel,event:W,data:I.computedData})})}),O({barSelection:N,highlight:g.pipe(L(I=>I.map(W=>W.id))),fullChartParams:h}).pipe(D(x),z(async I=>I)).subscribe(I=>{SB({selection:I.barSelection,ids:I.highlight,fullChartParams:I.fullChartParams})}),()=>{x.next(void 0)}},Yv="BarsTriangle",_B=le({name:Yv,defaultParams:md,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=Wv(Yv,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,fullDataFormatter$:r.fullDataFormatter$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{i.next(void 0),o()}});function wB({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedAxesData:r,fullParams:i,fullChartParams:o,graphicReverseScale:a}){const s=c=>{const h=c.size();return o.transitionDuration/h};let l=0;return t.each((c,h,f)=>{U(f[h]).selectAll("g").data(r[h],p=>p.id).join(p=>(l=s(p),p.append("g").classed(e,!0)),p=>p,p=>p.remove()).attr("transform",p=>`translate(${p.axisX}, ${p.axisY})`).each((p,d,g)=>{U(g[d]).selectAll("circle").data([p]).join(m=>m.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((b,y)=>d*l).attr("opacity",1),m=>m.transition().duration(50).attr("opacity",1),m=>m.remove()).attr("r",i.radius).attr("fill",(m,b)=>St({datum:m,colorType:i.fillColorType,fullChartParams:o})).attr("stroke",(m,b)=>St({datum:m,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${a[h][0]??1}, ${a[h][1]??1})`)})}),t.selectAll(`circle.${n}`)}function TB({selection:t,ids:e,onlyShowHighlighted:n,fullChartParams:r}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",n===!0?0:1);return}t.each((i,o,a)=>{e.includes(i.id)?U(a[o]).style("opacity",1).transition("highlight").duration(200):U(a[o]).style("opacity",n===!0?0:r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function AB({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const Vv=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,GroupDataMap$:l,fullParams$:u,fullChartParams$:c,gridAxesTransform$:h,gridGraphicTransform$:f,gridGraphicReverseScale$:p,gridAxesSize$:d,gridHighlight$:g,gridContainerPosition$:m,event$:b})=>{const y=new Q,x=ie(t,"clipPath-box"),$=q(t,"circleG"),S=q(t,"circle"),{seriesSelection$:A,axesSelection$:_,defsSelection$:P,graphicGSelection$:M}=Pr({selection:e,pluginName:t,clipPathID:x,seriesLabels$:a,gridContainerPosition$:m,gridAxesTransform$:h,gridGraphicTransform$:f}),R=O({computedData:n,gridGraphicReverseScale:p}).pipe(D(y),z(async T=>T),L(T=>T.computedData.map((w,C)=>T.gridGraphicReverseScale[C])));O({defsSelection:P,gridAxesSize:d}).pipe(D(y),z(async T=>T)).subscribe(T=>{const w=[{id:x,width:T.gridAxesSize.width,height:T.gridAxesSize.height}];AB({defsSelection:T.defsSelection,clipPathData:w})});const v=c.pipe(D(y),L(T=>T.highlightTarget),K()),E=O({graphicGSelection:M,visibleComputedAxesData:o,graphicReverseScale:R,fullChartParams:c,fullParams:u}).pipe(D(y),z(async T=>T),L(T=>wB({graphicGSelection:T.graphicGSelection,circleGClassName:$,circleClassName:S,visibleComputedAxesData:T.visibleComputedAxesData,fullParams:T.fullParams,fullChartParams:T.fullChartParams,graphicReverseScale:T.graphicReverseScale})));O({graphicSelection:E,computedData:n,SeriesDataMap:s,GroupDataMap:l,highlightTarget:v}).pipe(D(y),z(async T=>T)).subscribe(T=>{T.graphicSelection.on("mouseover",(w,C)=>{b.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:T.highlightTarget,datum:C,gridIndex:C.gridIndex,series:T.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,group:T.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:w,data:T.computedData})}).on("mousemove",(w,C)=>{b.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:T.highlightTarget,data:T.computedData,datum:C,gridIndex:C.gridIndex,series:T.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,group:T.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:w})}).on("mouseout",(w,C)=>{b.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:T.highlightTarget,datum:C,gridIndex:C.gridIndex,series:T.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,group:T.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:w,data:T.computedData})}).on("click",(w,C)=>{b.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:T.highlightTarget,datum:C,gridIndex:C.gridIndex,series:T.SeriesDataMap.get(C.seriesLabel),seriesIndex:C.seriesIndex,seriesLabel:C.seriesLabel,group:T.GroupDataMap.get(C.groupLabel),groupIndex:C.groupIndex,groupLabel:C.groupLabel,event:w,data:T.computedData})})});const k=u.pipe(D(y),L(T=>T.onlyShowHighlighted),K());return O({graphicSelection:E,highlight:g.pipe(L(T=>T.map(w=>w.id))),onlyShowHighlighted:k,fullChartParams:c}).pipe(D(y),z(async T=>T)).subscribe(T=>{TB({selection:T.graphicSelection,ids:T.highlight,onlyShowHighlighted:T.onlyShowHighlighted,fullChartParams:T.fullChartParams})}),()=>{y.next(void 0)}},Uv="Dots",PB=le({name:Uv,defaultParams:dd,layerIndex:gu,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=Vv(Uv,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,event$:n.event$});return()=>{i.next(void 0),o()}}),CB=" - ",DB={listRectWidth:14,listRectHeight:14,listRectRadius:0};function Xv(t,e){const n=t<e.colors[e.colorScheme].label.length?t:t%e.colors[e.colorScheme].label.length;return e.colors[e.colorScheme].label[n]}const Bi=(t,{rootSelection:e,legendLabels$:n,fullParams$:r,layout$:i,fullChartParams$:o,textSizePx$:a})=>{const s=q(t,"root-position"),l=q(t,"legend-card"),u=q(t,"legend-list"),c=q(t,"legend-item"),h=new Q,f=O({legendLabels:n,fullChartParams:o}).pipe(D(h),z(async v=>v),L(v=>{const E=new Map;let k=0;return v.legendLabels.forEach((T,w)=>{if(!E.has(T)){const C=Xv(k,v.fullChartParams);E.set(T,C),k++}}),E})),p=n.pipe(D(h),L(v=>{const E=new Set;let k=[];return v.forEach(T=>{E.has(T)?k.push(!1):k.push(!0),E.add(T)}),k})),d=r.pipe(D(h),L(v=>v.placement==="top"||v.placement==="top-start"||v.placement==="top-end"?"top":v.placement==="bottom"||v.placement==="bottom-start"||v.placement==="bottom-end"?"bottom":v.placement==="left"||v.placement==="left-start"||v.placement==="left-end"?"left":"right"),K((v,E)=>v===E),st(1)),g=r.pipe(D(h),L(v=>v.placement==="top-start"||v.placement==="bottom-start"||v.placement==="left-start"||v.placement==="right-start"?"start":v.placement==="top-end"||v.placement==="bottom-end"||v.placement==="left-end"||v.placement==="right-end"?"end":(v.placement==="top"||v.placement==="bottom"||v.placement==="left"||v.placement==="right","center")),K((v,E)=>v===E),st(1)),m=d.pipe(D(h),L(v=>v==="bottom"||v==="top"?"row":"column"),K((v,E)=>v===E),st(1)),b=O({fullParams:r,position:d,layout:i}).pipe(D(h),z(async v=>v),L(v=>{const E=v.fullParams.padding*2+v.fullParams.gap*2;return v.position==="bottom"||v.position==="top"?v.layout.rootWidth-E:v.layout.rootHeight-E})),x=O({layout:i,position:d,justify:g}).pipe(D(h),z(async v=>v),L(v=>{let E=0,k=0;return v.position==="bottom"?(k=v.layout.rootHeight,v.justify==="start"?E=0:v.justify==="center"?E=v.layout.rootWidth/2:v.justify==="end"&&(E=v.layout.rootWidth)):v.position==="right"?(E=v.layout.rootWidth,v.justify==="start"?k=0:v.justify==="center"?k=v.layout.rootHeight/2:v.justify==="end"&&(k=v.layout.rootHeight)):v.position==="top"?(k=0,v.justify==="start"?E=0:v.justify==="center"?E=v.layout.rootWidth/2:v.justify==="end"&&(E=v.layout.rootWidth)):v.position==="left"&&(E=0,v.justify==="start"?k=0:v.justify==="center"?k=v.layout.rootHeight/2:v.justify==="end"&&(k=v.layout.rootHeight)),{x:E,y:k}})).pipe(D(h),L(v=>e.selectAll(`g.${s}`).data([v]).join(E=>E.append("g").classed(s,!0).attr("transform",k=>`translate(${k.x}, ${k.y})`),E=>E.transition().attr("transform",k=>`translate(${k.x}, ${k.y})`),E=>E.remove()))),$=r.pipe(D(h),L(v=>v.labelList[0]?v.labelList[0]:DB)),S=O({visibleList:p,fullParams:r,fullChartParams:o,legendLabels:n,lineDirection:m,lineMaxSize:b,defaultListStyle:$,SeriesLabelColorMap:f,textSizePx:a}).pipe(D(h),z(async v=>v),L(v=>v.legendLabels.reduce((E,k,T)=>{if(!v.visibleList[T])return E;const w=k!==""?k:CB,C=da(w,v.textSizePx),F=v.textSizePx*1.5+C,G=v.SeriesLabelColorMap.get(k),B=E[0]&&E[0][0]?E[E.length-1][E[E.length-1].length-1]:null,{translateX:N,translateY:I,lineIndex:W,itemIndex:H}=((Y,tt,V)=>{let J=0,Z=0,nt=0,lt=0;if(Y.lineDirection==="column"){let j=V?V.translateY+Y.textSizePx+Y.fullParams.gap:0;if(j+Y.textSizePx>Y.lineMaxSize){nt=V.lineIndex+1,lt=0,Z=0;const mt=tt[tt.length-1].reduce((ht,Et)=>Et.itemWidth>ht?Et.itemWidth:ht,0);J=V.translateX+mt+Y.fullParams.gap}else nt=V?V.lineIndex:0,lt=V?V.itemIndex+1:0,Z=j,J=V?V.translateX:0}else{let j=V?V.translateX+V.itemWidth+Y.fullParams.gap:0;j+F>Y.lineMaxSize?(nt=V.lineIndex+1,lt=0,J=0):(nt=V?V.lineIndex:0,lt=V?V.itemIndex+1:0,J=j),Z=(Y.textSizePx+Y.fullParams.gap)*nt}return{translateX:J,translateY:Z,lineIndex:nt,itemIndex:lt}})(v,E,B);E[W]||(E[W]=[]);const it=v.fullParams.labelList[H]?v.fullParams.labelList[H]:v.defaultListStyle;return E[W].push({id:w,seriesLabel:w,seriesIndex:T,lineIndex:W,itemIndex:H,text:w,itemWidth:F,translateX:N,translateY:I,color:G,listRectWidth:it.listRectWidth,listRectHeight:it.listRectHeight,listRectRadius:it.listRectRadius}),E},[])),st(1)),A=O({fullParams:r,fullChartParams:o,lineDirection:m,lengendItems:S,textSizePx:a}).pipe(D(h),z(async v=>v),L(v=>{const{width:E,height:k}=((T,w)=>{let C=0,F=0;if(!w.length||!w[0].length)return{width:C,height:F};const G=w[0][w[0].length-1];return T.lineDirection==="column"?(C=w.reduce((B,N)=>{const I=N.reduce((W,H)=>H.itemWidth>W?H.itemWidth:W,0);return B+I},0),C+=T.fullParams.gap*(w.length-1),F=G.translateY+T.textSizePx):(C=G.translateX+G.itemWidth,F=T.textSizePx*w.length+T.fullParams.gap*(w.length-1)),{width:C,height:F}})(v,v.lengendItems);return{direction:v.lineDirection,width:E,height:k,translateX:v.fullParams.gap,translateY:v.fullParams.gap}}),st(1)),_=O({fullParams:r,position:d,justify:g,lengendList:A}).pipe(D(h),z(async v=>v),L(v=>{const E=v.lengendList.width+v.fullParams.gap*2,k=v.lengendList.height+v.fullParams.gap*2;let T=0,w=0;return v.position==="left"?v.justify==="start"?(T=v.fullParams.padding,w=v.fullParams.padding):v.justify==="center"?(T=v.fullParams.padding,w=-k/2):v.justify==="end"&&(T=v.fullParams.padding,w=-k-v.fullParams.padding):v.position==="right"?v.justify==="start"?(T=-E-v.fullParams.padding,w=v.fullParams.padding):v.justify==="center"?(T=-E-v.fullParams.padding,w=-k/2):v.justify==="end"&&(T=-E-v.fullParams.padding,w=-k-v.fullParams.padding):v.position==="top"?v.justify==="start"?(T=v.fullParams.padding,w=v.fullParams.padding):v.justify==="center"?(T=-E/2,w=v.fullParams.padding):v.justify==="end"&&(T=-E-v.fullParams.padding,w=v.fullParams.padding):v.justify==="start"?(T=v.fullParams.padding,w=-k-v.fullParams.padding):v.justify==="center"?(T=-E/2,w=-k-v.fullParams.padding):v.justify==="end"&&(T=-E-v.fullParams.padding,w=-k-v.fullParams.padding),{width:E,height:k,translateX:T,translateY:w}})),P=O({rootPositionSelection:x,fullParams:r,fullChartParams:o,legendCard:_}).pipe(D(h),z(async v=>v),L(v=>v.rootPositionSelection.selectAll("g").data([v.legendCard]).join(E=>E.append("g").classed(l,!0).attr("transform",k=>`translate(${k.translateX}, ${k.translateY})`),E=>E.transition().attr("transform",k=>`translate(${k.translateX}, ${k.translateY})`),E=>E.remove()).each((E,k,T)=>{U(T[k]).selectAll("rect").data([E]).join("rect").attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",bt(v.fullParams.backgroundFill,v.fullChartParams)).attr("stroke",bt(v.fullParams.backgroundStroke,v.fullChartParams))}))),M=O({lengendCardSelection:P,fullParams:r,lengendList:A}).pipe(D(h),z(async v=>v),L(v=>v.lengendCardSelection.selectAll("g").data([v.lengendList]).join(E=>E.append("g").classed(u,!0).attr("transform",k=>`translate(${k.translateX}, ${k.translateY})`),E=>E.transition().attr("transform",k=>`translate(${k.translateX}, ${k.translateY})`),E=>E.remove())));return O({lengendListSelection:M,fullParams:r,fullChartParams:o,lengendItems:S,textSizePx:a}).pipe(D(h),z(async v=>v),L(v=>{const E=v.lengendItems[0]?v.lengendItems.flat():[];return v.lengendListSelection.selectAll(`g.${c}`).data(E).join(k=>k.append("g").classed(c,!0).attr("cursor","default"),k=>k,k=>k.remove()).attr("transform",(k,T)=>`translate(${k.translateX}, ${k.translateY})`).each((k,T,w)=>{const C=v.textSizePx/2,F=-k.listRectWidth/2,G=-k.listRectHeight/2;U(w[T]).selectAll("rect").data([k]).join("rect").attr("x",C).attr("y",C).attr("width",B=>B.listRectWidth).attr("height",B=>B.listRectHeight).attr("transform",B=>`translate(${F}, ${G})`).attr("fill",B=>B.color).attr("rx",B=>B.listRectRadius),U(w[T]).selectAll("text").data([k]).join(B=>B.append("text").attr("dominant-baseline","hanging"),B=>B,B=>B.remove()).attr("x",v.textSizePx*1.5).attr("font-size",v.fullChartParams.styles.textSize).attr("fill",B=>v.fullParams.textColorType==="label"?Xv(B.seriesIndex,v.fullChartParams):bt(v.fullParams.textColorType,v.fullChartParams)).text(B=>B.text)})})).subscribe(),()=>{e.select(`g.${s}`).remove(),h.next(void 0)}},jv="GridLegend",MB=le({name:jv,defaultParams:xd,layerIndex:Ei,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new Q,o=n.fullParams$.pipe(D(i),L(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),a=Bi(jv,{rootSelection:e,legendLabels$:n.seriesLabels$,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),a()}});function Hv(t,{text:e,radius:n,lineHeight:r,isBreakAll:i=!1,limit:o=0}){if(t==null||e==null){console.error("selection or text is not defined");return}n==null&&(n=t.node().getBBox().width/2);function a(p){let d;return i?d=p.split(""):d=p.split(/\s+/g),d[d.length-1]||d.pop(),d[0]||d.shift(),d}function s(p,d){return p&&d&&p.length>d&&(p=p.substring(0,d)+"..."),p}function l(p){var g;const d=document.createElement("canvas").getContext("2d");return((g=d==null?void 0:d.measureText(p))==null?void 0:g.width)??0}function u(p){const d=l(p.trim());return Math.sqrt(d*r)}function c(p,d){let g={width:0,text:""},m=1/0;const b=[];let y=" ";i&&(y="");for(let x=0,$=p.length;x<$;++x){const S=(g.text?g.text+y:"")+p[x],A=l(S);(m+A)/2<d?(g.width=m=A,g.text=S):(m=l(p[x]),g={width:m,text:p[x]},b.push(g))}return b}function h(p){let d=0;for(let g=0,m=p.length;g<m;++g){const b=(Math.abs(g-m/2+.5)+.5)*r,y=p[g].width/2;d=Math.max(d,Math.sqrt(y**2+b**2))}return d}function f(p,d){o>0&&(d=s(d,o));const g=a(d),m=u(d),b=c(g,m),y=h(b);let x=p.select("text");x.size()||(x=p.append("text")),x.attr("transform",`translate(0,0) scale(${n/y})`);const $=x.selectAll("tspan").data(b),S=$.enter().append("tspan").attr("x",0).merge($).attr("y",(A,_)=>(_-b.length/2+.8)*r).text(A=>A.text);return $.exit().remove(),$.merge(S)}return f(t,e)}function Cp(t,{textArr:e,textSizePx:n,groupAxisPosition:r,isContainerRotated:i}){t.text(null);const o=Number(t.attr("x"));let a=Number(t.attr("y"));i&&r==="top"&&(a-=(e.length-1)*n),t.selectAll("tspan").data(e).join("tspan").attr("x",o).attr("y",(s,l)=>a+l*n).text(s=>s)}function qv(t,{textArr:e,textSizePx:n,quadrant:r}){t.selectAll("tspan").data(e).join("tspan").attr("x",0).attr("y",(i,o)=>r==1||r==2?-(e.length-1-o)*n:o*n).text(i=>i)}const Dp=6;function LB(t,e){return t.map((n,r)=>{const i=On(n,e),o=typeof i=="string"?i.split(`
62
+ `):[i];return{text:i,textArr:o}})}function kB({selection:t,groupingLabelClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:i,fullDataFormatter:o,chartParams:a,textReverseTransform:s}){const l=n.tickPadding+n.labelOffset[0],u=n.tickPadding+n.labelOffset[1];let c=0,h=0;o.groupAxis.position==="bottom"?(h=u,o.valueAxis.position==="left"?c=l:o.valueAxis.position==="right"&&(c=-l)):o.groupAxis.position==="top"?(h=-u,o.valueAxis.position==="left"?c=l:o.valueAxis.position==="right"&&(c=-l)):o.groupAxis.position==="left"?(c=-l,o.valueAxis.position==="bottom"?h=-u:o.valueAxis.position==="top"&&(h=u)):o.groupAxis.position==="right"&&(c=l,o.valueAxis.position==="bottom"?h=-u:o.valueAxis.position==="top"&&(h=u)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,p,d)=>{U(d[p]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",a.styles.textSize).style("fill",bt(n.labelColorType,a)).style("transform",s).attr("x",c).attr("y",h).text(g=>o.groupAxis.label)}).attr("transform",f=>`translate(${i.width}, 0)`)}function RB({selection:t,xAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:i,fullDataFormatter:o,chartParams:a,groupScale:s,groupScaleDomain:l,groupLabelData:u,textReverseTransformWithRotate:c,textSizePx:h}){const f=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0),p=Math.floor(l[1])-Math.ceil(l[0])+1;let d=0,g=0;o.groupAxis.position==="left"?(d=0,g=-n.tickPadding):o.groupAxis.position==="right"?(d=0,g=n.tickPadding):o.groupAxis.position==="bottom"?(n.tickFullLine==!0?d=-n.tickPadding:d=-n.tickPadding-Dp,g=0):o.groupAxis.position==="top"&&(n.tickFullLine==!0?d=n.tickPadding:d=n.tickPadding-Dp,g=-0);const m=Rc(s).scale(s).ticks(n.ticks==="all"||n.ticks>p?p:n.ticks).tickSize(n.tickFullLine==!0?-i.height:Dp).tickSizeOuter(0).tickFormat(x=>{var $;return(($=u[x])==null?void 0:$.text)??""}).tickPadding(d),b=f.transition().duration(100).ease(Ze).call(m).on("end",(x,$)=>{f.selectAll(".tick text").each((S,A,_)=>{var M;const P=((M=u[S])==null?void 0:M.textArr)??[];Cp(U(_[A]),{textArr:P,textSizePx:h,groupAxisPosition:o.groupAxis.position,isContainerRotated:!0})})});return b.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?bt(n.tickColorType,a):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),b.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?bt(n.axisLineColorType,a):"none").style("shape-rendering","crispEdges"),f.selectAll("text").attr("font-size",a.styles.textSize).attr("fill",bt(n.tickTextColorType,a)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("x",g).style("transform",c).attr("dy",0),f}const Zv=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:i,fullChartParams$:o,gridAxesTransform$:a,gridAxesReverseTransform$:s,gridAxesSize$:l,gridContainerPosition$:u,isSeriesSeprate$:c,textSizePx$:h})=>{const f=new Q,p=q(t,"container"),d=q(t,"xAxisG"),g=q(t,"xAxis"),m=q(t,"groupingLabel"),b=O({computedData:n.pipe(K((v,E)=>v.length===E.length)),isSeriesSeprate:c}).pipe(D(f),z(async v=>v),L(v=>v.isSeriesSeprate?v.computedData:[v.computedData[0]]),L((v,E)=>e.selectAll(`g.${p}`).data(v,k=>k[0]?k[0].seriesIndex:E).join("g").classed(p,!0))),y=b.pipe(D(f),L((v,E)=>v.selectAll(`g.${d}`).data([d]).join("g").classed(d,!0)));O({containerSelection:b,gridContainerPosition:u}).pipe(D(f),z(async v=>v)).subscribe(v=>{v.containerSelection.attr("transform",(E,k)=>{const T=v.gridContainerPosition[k]??v.gridContainerPosition[0],w=T.translate,C=T.scale;return`translate(${w[0]}, ${w[1]}) scale(${C[0]}, ${C[1]})`})}),O({axisSelection:y,gridAxesTransform:a}).pipe(D(f),z(async v=>v)).subscribe(v=>{v.axisSelection.style("transform",v.gridAxesTransform.value)});const x=O({gridAxesReverseTransform:s,gridContainerPosition:u}).pipe(D(f),z(async v=>v),L(v=>{const E=`rotateX(${v.gridAxesReverseTransform.rotateX}deg) rotateY(${v.gridAxesReverseTransform.rotateY}deg)`,k=`rotate(${v.gridAxesReverseTransform.rotate}deg)`,T=`scale(${1/v.gridContainerPosition[0].scale[0]}, ${1/v.gridContainerPosition[0].scale[1]})`;return`${E} ${k} ${T}`}),K()),$=O({textReverseTransform:x,fullParams:r}).pipe(D(f),z(async v=>v),L(v=>`${v.textReverseTransform} rotate(${v.fullParams.tickTextRotate}deg)`)),S=O({fullDataFormatter:i,gridAxesSize:l,computedData:n}).pipe(D(f),z(async v=>v),L(v=>{const E=v.computedData[0]?v.computedData[0].length-1:0,k=v.fullDataFormatter.groupAxis.scaleDomain[0]-v.fullDataFormatter.groupAxis.scalePadding,T=v.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?E+v.fullDataFormatter.groupAxis.scalePadding:v.fullDataFormatter.groupAxis.scaleDomain[1]+v.fullDataFormatter.groupAxis.scalePadding;return[k,T]}),st(1)),A=O({groupScaleDomain:S,gridAxesSize:l}).pipe(D(f),z(async v=>v),L(v=>Sr().domain(v.groupScaleDomain).range([0,v.gridAxesSize.width]))),_=n.pipe(L(v=>(v[0]??[]).map(E=>E.groupLabel))),P=O({fullDataFormatter:i,fullParams:r}).pipe(D(f),z(async v=>v),L(v=>{let E="middle",k="hanging";return v.fullDataFormatter.groupAxis.position==="bottom"?(E=v.fullParams.tickTextRotate?"end":"middle",k="hanging"):v.fullDataFormatter.groupAxis.position==="top"?(E=v.fullParams.tickTextRotate?"start":"middle",k="auto"):v.fullDataFormatter.groupAxis.position==="left"?(E="end",k="middle"):v.fullDataFormatter.groupAxis.position==="right"&&(E="start",k="middle"),{textAnchor:E,dominantBaseline:k}})),M=i.pipe(D(f),L(v=>{let E="start",k="hanging";return v.groupAxis.position==="bottom"?k="hanging":v.groupAxis.position==="top"?k="auto":v.groupAxis.position==="left"?E="end":v.groupAxis.position==="right"&&(E="start"),v.valueAxis.position==="left"?E="start":v.valueAxis.position==="right"?E="end":v.valueAxis.position==="bottom"?k="auto":v.valueAxis.position==="top"&&(k="hanging"),{textAnchor:E,dominantBaseline:k}})),R=O({groupLabels:_,fullParams:r}).pipe(D(f),z(async v=>v),L(v=>LB(v.groupLabels,v.fullParams.tickFormat)));return O({axisSelection:y,fullParams:r,tickTextAlign:P,axisLabelAlign:M,gridAxesSize:l,fullDataFormatter:i,chartParams:o,groupScale:A,groupScaleDomain:S,groupLabelData:R,textReverseTransform:x,textReverseTransformWithRotate:$,textSizePx:h}).pipe(D(f),z(async v=>v)).subscribe(v=>{RB({selection:v.axisSelection,xAxisClassName:g,fullParams:v.fullParams,tickTextAlign:v.tickTextAlign,gridAxesSize:v.gridAxesSize,fullDataFormatter:v.fullDataFormatter,chartParams:v.chartParams,groupScale:v.groupScale,groupScaleDomain:v.groupScaleDomain,groupLabelData:v.groupLabelData,textReverseTransformWithRotate:v.textReverseTransformWithRotate,textSizePx:v.textSizePx}),kB({selection:v.axisSelection,groupingLabelClassName:m,fullParams:v.fullParams,axisLabelAlign:v.axisLabelAlign,gridAxesSize:v.gridAxesSize,fullDataFormatter:v.fullDataFormatter,chartParams:v.chartParams,textReverseTransform:v.textReverseTransform})}),()=>{f.next(void 0)}},Kv="GroupAxis",EB=le({name:Kv,defaultParams:_u,layerIndex:ze,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:r=>r===null||r==="all"||typeof r=="number"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=Zv(Kv,{selection:t,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),o()}}),IB=6;function BB({selection:t,textClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:i,fullDataFormatter:o,fullChartParams:a,textReverseTransform:s}){const l=n.tickPadding-n.labelOffset[0],u=n.tickPadding+n.labelOffset[1];let c=0,h=0;o.groupAxis.position==="bottom"?(h=-u,o.valueAxis.position==="left"?c=-l:o.valueAxis.position==="right"&&(c=l)):o.groupAxis.position==="top"?(h=u,o.valueAxis.position==="left"?c=-l:o.valueAxis.position==="right"&&(c=l)):o.groupAxis.position==="left"?(c=l,o.valueAxis.position==="bottom"?h=u:o.valueAxis.position==="top"&&(h=-u)):o.groupAxis.position==="right"&&(c=-l,o.valueAxis.position==="bottom"?h=u:o.valueAxis.position==="top"&&(h=-u)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,p,d)=>{U(d[p]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",a.styles.textSize).style("fill",bt(n.labelColorType,a)).style("transform",s).attr("x",c).attr("y",h).text(g=>o.valueAxis.label)}).attr("transform",f=>`translate(0, ${i.height})`)}function NB({selection:t,yAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:i,fullDataFormatter:o,fullChartParams:a,valueScale:s,textReverseTransformWithRotate:l,filteredMinMaxValue:u}){const c=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let h=0,f=0;o.valueAxis.position==="left"?(h=n.tickPadding,f=0):o.valueAxis.position==="right"?(h=-n.tickPadding,f=0):o.valueAxis.position==="bottom"?(h=0,f=n.tickPadding):o.valueAxis.position==="top"&&(h=0,f=-n.tickPadding);const p=Ec(s).scale(s).ticks(n.ticks).tickFormat(m=>On(m,n.tickFormat)).tickSize(n.tickFullLine==!0?-i.width:IB).tickPadding(h),d=c.transition().duration(100).ease(Ze).call(p);d.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?bt(n.tickColorType,a):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),d.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?bt(n.axisLineColorType,a):"none").style("shape-rendering","crispEdges");const g=c.selectAll("text").attr("font-size",a.styles.textSize).style("color",bt(n.tickTextColorType,a)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("y",f).attr("dy",0);return g.style("transform",l),(o.valueAxis.position==="bottom"||o.valueAxis.position==="top")&&g.attr("dy",0),c}const Ni=(t,{selection:e,computedData$:n,filteredMinMaxValue$:r,fullParams$:i,fullDataFormatter$:o,fullChartParams$:a,gridAxesSize$:s,gridAxesTransform$:l,gridAxesReverseTransform$:u,gridContainerPosition$:c,isSeriesSeprate$:h})=>{const f=new Q,p=q(t,"yAxisG"),d=q(t,"yAxis"),g=q(t,"text"),b=OI({selection:e,pluginName:t,computedData$:n,gridContainerPosition$:c,isSeriesSeprate$:h}).pipe(D(f),L((_,P)=>_.selectAll(`g.${p}`).data([p]).join("g").classed(p,!0)));O({axisSelection:b,gridAxesTransform:l}).pipe(D(f),z(async _=>_)).subscribe(_=>{_.axisSelection.style("transform",_.gridAxesTransform.value)});const y=O({gridAxesReverseTransform:u,gridContainerPosition:c}).pipe(D(f),z(async _=>_),L(_=>{const P=`rotateX(${_.gridAxesReverseTransform.rotateX}deg) rotateY(${_.gridAxesReverseTransform.rotateY}deg)`,M=`rotate(${_.gridAxesReverseTransform.rotate}deg)`,R=`scale(${1/_.gridContainerPosition[0].scale[0]}, ${1/_.gridContainerPosition[0].scale[1]})`;return`${P} ${M} ${R}`}),K()),x=O({textReverseTransform:y,fullParams:i}).pipe(D(f),z(async _=>_),L(_=>`${_.textReverseTransform} rotate(${_.fullParams.tickTextRotate}deg)`)),$=new gt(_=>{O({fullDataFormatter:o,gridAxesSize:s,filteredMinMaxValue:r}).pipe(D(f),z(async P=>P)).subscribe(P=>{let M=P.filteredMinMaxValue[1],R=P.filteredMinMaxValue[0];M===R&&M===0&&(M=1);const v=xc({maxValue:M,minValue:R,axisWidth:P.gridAxesSize.height,scaleDomain:P.fullDataFormatter.valueAxis.scaleDomain,scaleRange:P.fullDataFormatter.valueAxis.scaleRange});_.next(v)})}),S=O({fullDataFormatter:o,fullParams:i}).pipe(D(f),z(async _=>_),L(_=>{let P="start",M="hanging";return _.fullDataFormatter.valueAxis.position==="left"?(P="end",M="middle"):_.fullDataFormatter.valueAxis.position==="right"?(P="start",M="middle"):_.fullDataFormatter.valueAxis.position==="bottom"?(P=_.fullParams.tickTextRotate?"end":"middle",M="hanging"):_.fullDataFormatter.valueAxis.position==="top"&&(P=_.fullParams.tickTextRotate?"start":"middle",M="auto"),{textAnchor:P,dominantBaseline:M}})),A=o.pipe(D(f),L(_=>{let P="start",M="hanging";return _.groupAxis.position==="bottom"?M="auto":_.groupAxis.position==="top"?M="hanging":_.groupAxis.position==="left"?P="start":_.groupAxis.position==="right"&&(P="end"),_.valueAxis.position==="left"?P="end":_.valueAxis.position==="right"?P="start":_.valueAxis.position==="bottom"?M="hanging":_.valueAxis.position==="top"&&(M="auto"),{textAnchor:P,dominantBaseline:M}}));return O({axisSelection:b,fullParams:i,tickTextAlign:S,axisLabelAlign:A,computedData:n,gridAxesSize:s,fullDataFormatter:o,fullChartParams:a,valueScale:$,textReverseTransform:y,textReverseTransformWithRotate:x,filteredMinMaxValue:r}).pipe(D(f),z(async _=>_)).subscribe(_=>{NB({selection:_.axisSelection,yAxisClassName:d,fullParams:_.fullParams,tickTextAlign:_.tickTextAlign,gridAxesSize:_.gridAxesSize,fullDataFormatter:_.fullDataFormatter,fullChartParams:_.fullChartParams,valueScale:_.valueScale,textReverseTransformWithRotate:_.textReverseTransformWithRotate,filteredMinMaxValue:_.filteredMinMaxValue}),BB({selection:_.axisSelection,textClassName:g,fullParams:_.fullParams,axisLabelAlign:_.axisLabelAlign,gridAxesSize:_.gridAxesSize,fullDataFormatter:_.fullDataFormatter,fullChartParams:_.fullChartParams,textReverseTransform:_.textReverseTransform})}),()=>{f.next(void 0)}},Qv="ValueAxis",FB=le({name:Qv,defaultParams:Sa,layerIndex:ze,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=Ni(Qv,{selection:t,computedData$:n.computedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{i.next(void 0),o()}}),Jv="StackedValueAxis",zB=le({name:Jv,defaultParams:yd,layerIndex:ze,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=Ni(Jv,{selection:t,computedData$:n.computedStackedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{i.next(void 0),o()}});function t2(t,e){const n=e.textSizePx*1.5,i=(t==null?[]:Array.isArray(t)?t:typeof t=="string"?t.split(`
54
63
  `):[t]).filter(o=>o!="").map((o,a)=>`<tspan x="0" y="${a*n}">${o}</tspan>`).join("");return i?`<text font-size="${e.textSize}" fill="${e.textColor}" x="0" y="0" style="dominant-baseline:text-before-edge">
55
64
  ${i}
56
- </text>`:""}function aB({rootSelection:t,pluginName:e,gClassName:n,boxClassName:r,rootWidth:i,rootHeight:o,svgString:a,tooltipStyle:s,event:l}){t.interrupt("fadeout");const u=5,c=a?[a]:[],f=a?[s]:[],p=t.selectAll(`g.${n}`).data(c).join(T=>T.append("g").classed(n,!0).attr("pointer-events","none"),T=>T,T=>T.style("opacity",0).remove()).attr("transform",()=>`translate(${l.offsetX}, ${l.offsetY})`).selectAll(`g.${r}`).data(f).join(T=>T.append("g").classed(K(e,"box"),!0)),d=p.selectAll("rect").data(f).join(T=>T.append("rect").attr("rx",u).attr("ry",u)).attr("fill",T=>T.backgroundColor).attr("stroke",T=>T.strokeColor).attr("opacity",T=>T.backgroundOpacity),m=p.selectAll("g").data(c).join(T=>T.append("g").classed(K(e,"content"),!0).attr("transform",()=>`translate(${s.padding}, ${s.padding})`));c.length&&iI(m,c[0]);const g=m!=null&&m.node()?e$(m):{width:0,height:0};d.attr("width",g.width+s.padding*2).attr("height",g.height+s.padding*2);const y=p!=null&&p.node()?e$(p):{width:0,height:0},b=i-y.width,v=o-y.height,x=l.offsetX+s.offset[0]>b?b-l.offsetX:s.offset[0],_=l.offsetY+s.offset[1]>v?v-l.offsetY:s.offset[1];p.attr("transform",T=>`translate(${x}, ${_})`),p.attr("transform",T=>`translate(${x}, ${_})`)}const Ei=(t,{rootSelection:e,fullParams$:n,fullChartParams$:r,layout$:i,event$:o})=>{const a=new J,s=K(t,"g"),l=K(t,"box"),u=o.pipe(L(a),Mr(b=>b.eventName==="mouseover"||b.eventName==="mousemove")),c=o.pipe(L(a),Mr(b=>b.eventName==="mouseout")),f=XP(r),h=Y({fullChartParams:r,fullParams:n,textSizePx:f}).pipe(L(a),G(async b=>b),E(b=>({backgroundColor:bt(b.fullParams.backgroundColorType,b.fullChartParams),backgroundOpacity:b.fullParams.backgroundOpacity,strokeColor:bt(b.fullParams.strokeColorType,b.fullChartParams),offset:b.fullParams.offset,padding:b.fullParams.padding,textSize:b.fullChartParams.styles.textSize,textSizePx:b.textSizePx,textColor:bt(b.fullParams.textColorType,b.fullChartParams),seriesColors:b.fullChartParams.colors[b.fullChartParams.colorScheme].label}))),p=Y({fullParams:n,tooltipStyle:h}).pipe(L(a),G(async b=>b),E(b=>v=>{const x=b.fullParams.renderFn(v,{utils:{measureTextWidth:aa},styles:b.tooltipStyle});if(typeof x=="string"){const _=x.trim();if(_.slice(0,1)==="<"&&_.slice(_.length-1,_.length)===">")return x;{const S=x.split(`
57
- `);return M$(S,b.tooltipStyle)}}else if(Array.isArray(x))return M$(x,b.tooltipStyle);return""})),d=Y({event:u,contentRenderFn:p}).pipe(L(a),G(async b=>b),E(b=>b.contentRenderFn(b.event))),m=c.pipe(L(a),E(b=>"")),g=Pu(d,m).pipe(L(a),tt((b,v)=>b===v)),y=Pu(u,c).pipe(L(a),E(b=>b.event));return Y({svgString:g,eventTooltip:y,layout:i,tooltipStyle:h}).pipe(L(a),G(async b=>b)).subscribe(b=>{aB({rootSelection:e,pluginName:t,gClassName:s,boxClassName:l,rootWidth:b.layout.rootWidth,rootHeight:b.layout.rootHeight,svgString:b.svgString,tooltipStyle:b.tooltipStyle,event:b.eventTooltip})}),()=>{a.next(void 0)}},L$="GridTooltip",sB=ae({name:L$,defaultParams:fu,layerIndex:Li,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=Ei(L$,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),lB=ae({name:"GridZoom",defaultParams:Qp,layerIndex:i$,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})})(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new J;let a={k:1,x:0,y:0};const s=r.computedData$.pipe(E(c=>c[0]?c[0].length-1:0),tt()),l=r.fullDataFormatter$.pipe(E(c=>c.groupAxis),ba()),u=Y({initGroupAxis:l,groupMaxIndex:s,layout:r.layout$,axisSize:r.gridAxesSize$}).pipe(L(o),G(async c=>c),E(c=>{const f=c.initGroupAxis.scaleDomain[0]-c.initGroupAxis.scalePadding,h=c.initGroupAxis.scaleDomain[1]==="max"?c.groupMaxIndex+c.initGroupAxis.scalePadding:c.initGroupAxis.scaleDomain[1]+c.initGroupAxis.scalePadding;return Ki({maxValue:c.groupMaxIndex,minValue:0,axisWidth:c.axisSize.width,scaleDomain:[f,h],scaleRange:[0,1]})}));return Y({initGroupScale:u,fullDataFormatter:r.fullDataFormatter$,groupMaxIndex:s}).pipe(L(o),G(async c=>c)).subscribe(c=>{const h=c.initGroupScale.copy(),p=vr().on("zoom",function(m){const g=m.transform,y=x=>{const _=Math.round(x);return Math.min(c.groupMaxIndex,Math.max(0,_))},b=c.fullDataFormatter.groupAxis.position==="bottom"||c.fullDataFormatter.groupAxis.position==="top"?g.rescaleX(h).domain().map(y):g.rescaleY(h).domain().map(y);b[0]<=0&&b[1]>=c.groupMaxIndex?g.k<a.k&&(g.k=a.k,g.x=a.x,g.y=a.y):b[1]-b[0]<=1&&g.k>a.k&&(g.k=a.k,g.x=a.x,g.y=a.y),a.k=g.k,a.x=g.x,a.y=g.y;const v={...c.fullDataFormatter,groupAxis:{...c.fullDataFormatter.groupAxis,scaleDomain:b}};i.dataFormatter$.next(v)});e.call(p)}),()=>{o.next(void 0),e.call(vr().on("zoom",null))}}),ru="GroupAux",yp=K(ru,"label-box"),uB={name:ru,defaultParams:uu,layerIndex:o$,validator:(t,{validateColumns:e})=>e(t,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]},labelRotate:{toBeTypes:["number"]}})};function cB({groupLabel:t,axisX:e,axisHeight:n,fullParams:r}){return r.showLine&&t?[{id:t,x1:e,x2:e,y1:0,y2:n}]:[]}function fB({groupLabel:t,axisX:e,fullParams:n,textSizePx:r,rowAmount:i}){const o=$r(t,n.labelTextFormat),a=o.split(`
58
- `),s=a.reduce((c,f)=>f.length>c.length?f:c,""),l=aa(s,r),u=r*a.length;return n.showLabel&&t?[{id:t,x:e,y:-n.labelPadding*i,text:o,textArr:a,textWidth:l,textHeight:u}]:[]}function hB({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:i}){const o=K(e,"auxline");return t.selectAll(`line.${o}`).data(n).join(s=>s.append("line").classed(o,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),s=>s.transition().duration(50).attr("x1",u=>u.x1).attr("y1",u=>u.y1).attr("x2",u=>u.x2).attr("y2",u=>u.y2),s=>s.remove()).style("stroke",s=>bt(r.lineColorType,i)).style("stroke-dasharray",r.lineDashArray??"none")}function pB(t){t.selectAll("line").data([]).exit().remove()}function dB({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:i,textReverseTransformWithRotate:o,textSizePx:a}){return t.selectAll(`g.${yp}`).data(e).join(l=>l.append("g").classed(yp,!0).style("cursor","pointer").attr("transform",(u,c)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(c,f)=>`translate(${c.x}, ${c.y})`),l=>l.remove()).each((l,u,c)=>{const f=l.textWidth+12,h=l.textHeight+6;let p=-f/2,d=-2;r.groupAxis.position==="bottom"?(p=n.labelRotate?-f+h:-f/2,d=2):r.groupAxis.position==="left"?(p=-f+2,d=-h/2):r.groupAxis.position==="right"?(p=-2,d=-h/2):r.groupAxis.position==="top"&&(p=n.labelRotate?-f+h:-f/2,d=-h+2),V(c[u]).selectAll("rect").data([l]).join(m=>m.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),m=>m,m=>m.remove()).attr("width",m=>`${f}px`).attr("height",`${h}px`).attr("fill",m=>bt(n.labelColorType,i)).attr("x",p).attr("y",d-3).style("transform",o),V(c[u]).selectAll("text").data([l]).join(m=>m.append("text").style("dominant-baseline","hanging").style("cursor","pointer"),m=>m,m=>m.remove()).style("transform",o).attr("fill",m=>bt(n.labelTextColorType,i)).attr("font-size",i.styles.textSize).attr("x",p+6).attr("y",d).each((m,g,y)=>{mp(V(y[g]),{textArr:l.textArr,textSizePx:a,groupAxisPosition:r.groupAxis.position})})})}function gB(t){t.selectAll(`g.${yp}`).data([]).exit().remove()}const mB=ae(uB)(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J;let a=!1;const s=e.insert("rect","g").classed(K(ru,"rect"),!0).attr("opacity",0),{seriesSelection$:l,axesSelection$:u,defsSelection$:c,graphicGSelection$:f}=_r({selection:t,pluginName:ru,clipPathID:"test",seriesLabels$:i.isSeriesSeprate$.pipe(G(_=>ya(()=>_,i.seriesLabels$,i.seriesLabels$.pipe(E(T=>[T[0]]))))),gridContainerPosition$:i.gridContainerPosition$,gridAxesTransform$:i.gridAxesTransform$,gridGraphicTransform$:i.gridGraphicTransform$});i.layout$.pipe(L(o)).subscribe(_=>{s.attr("width",_.rootWidth).attr("height",_.rootHeight)});const h=Y({groupScaleDomainValue:i.groupScaleDomainValue$,gridAxesSize:i.gridAxesSize$}).pipe(L(o),G(async _=>_),E(_=>$i().domain(_.groupScaleDomainValue).range([0,_.gridAxesSize.width]))),p=i.fullChartParams$.pipe(L(o),E(_=>_.highlightTarget),tt()),d=sa(e,"mousemove").pipe(L(o)),m=Y({gridAxesReverseTransform:i.gridAxesReverseTransform$,gridContainerPosition:i.gridContainerPosition$}).pipe(L(o),G(async _=>_),E(_=>{const T=`rotateX(${_.gridAxesReverseTransform.rotateX}deg) rotateY(${_.gridAxesReverseTransform.rotateY}deg)`,S=`rotate(${_.gridAxesReverseTransform.rotate}deg)`,A=`scale(${1/_.gridContainerPosition[0].scale[0]}, ${1/_.gridContainerPosition[0].scale[1]})`;return`${T} ${S} ${A}`}),tt()),g=Y({textReverseTransform:m,fullParams:i.fullParams$}).pipe(L(o),G(async _=>_),E(_=>`${_.textReverseTransform} rotate(${_.fullParams.labelRotate}deg)`)),y=i.gridContainerPosition$.pipe(L(o),E(_=>_.reduce((S,A)=>A.columnIndex>S?A.columnIndex:S,0)+1),tt()),b=i.gridContainerPosition$.pipe(L(o),E(_=>_.reduce((S,A)=>A.rowIndex>S?A.rowIndex:S,0)+1),tt()),v=oI({rootSelection:e,fullDataFormatter$:i.fullDataFormatter$,gridAxesSize$:i.gridAxesSize$,computedData$:i.computedData$,fullChartParams$:i.fullChartParams$,gridContainerPosition$:i.gridContainerPosition$,layout$:i.layout$}).pipe(L(o));Y({axesSelection:u,columnAmount:y,rowAmount:b,layout:i.layout$,rootMousemove:d,gridGroupPosition:v,computedData:i.computedData$,groupScale:h,gridAxesSize:i.gridAxesSize$,fullParams:i.fullParams$,fullDataFormatter:i.fullDataFormatter$,fullChartParams:i.fullChartParams$,highlightTarget:p,textReverseTransformWithRotate:g,GroupDataMap:i.GroupDataMap$,textSizePx:i.textSizePx$}).pipe(L(o),G(async _=>_)).subscribe(_=>{const{groupIndex:T,groupLabel:S}=_.gridGroupPosition,A=_.groupScale(T)??0,P=cB({groupLabel:S,axisX:A,axisHeight:_.gridAxesSize.height,fullParams:_.fullParams});hB({selection:_.axesSelection,pluginName:n,lineData:P,fullParams:_.fullParams,fullChartParams:_.fullChartParams});const B=fB({groupLabel:S,axisX:A,fullParams:_.fullParams,textSizePx:_.textSizePx,rowAmount:_.rowAmount});dB({selection:_.axesSelection,labelData:B,fullParams:_.fullParams,fullDataFormatter:_.fullDataFormatter,fullChartParams:_.fullChartParams,textReverseTransformWithRotate:_.textReverseTransformWithRotate,textSizePx:_.textSizePx}).on("mouseover",(k,D)=>{k.stopPropagation(),a=!0,r.event$.next({type:"grid",pluginName:n,eventName:"mouseover",highlightTarget:_.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",groups:_.GroupDataMap.get(S)??[],groupIndex:T,groupLabel:S,event:k,data:_.computedData})}).on("mousemove",(k,D)=>{k.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"mousemove",highlightTarget:_.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",groups:_.GroupDataMap.get(S)??[],groupIndex:T,groupLabel:S,event:k,data:_.computedData})}).on("mouseout",(k,D)=>{k.stopPropagation(),a=!1,r.event$.next({type:"grid",pluginName:n,eventName:"mouseout",highlightTarget:_.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",groups:_.GroupDataMap.get(S)??[],groupIndex:T,groupLabel:S,event:k,data:_.computedData})}).on("click",(k,D)=>{k.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"click",highlightTarget:_.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",groups:_.GroupDataMap.get(S)??[],groupIndex:T,groupLabel:S,event:k,data:_.computedData})})});const x=sa(s,"mouseout").pipe(L(o));return Y({rootRectMouseout:x,axesSelection:u}).pipe(L(o),G(async _=>_)).subscribe(_=>{setTimeout(()=>{a!=!0&&(pB(_.axesSelection),gB(_.axesSelection))})}),()=>{o.next(void 0),s.remove()}}),k$={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,gridList:[{listRectWidth:14,listRectHeight:14,listRectRadius:0}],textColorType:"primary"},bp={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:[0]};bp.tickFormat.toString=()=>"text => text";const iu={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:[0]},yB={...iu},R$={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1,gridIndexes:[0]},E$={barWidth:0,barGroupPadding:10,barRadius:!1,gridIndexes:[0]},I$={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0],gridIndexes:[0]},B$={lineCurve:"curveLinear",lineWidth:2,gridIndexes:[1]},N$={lineCurve:"curveLinear",linearGradientOpacity:[1,0],gridIndexes:[1]},F$={radius:4,fillColorType:"white",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1,gridIndexes:[1]},xp={firstAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},secondAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},gridIndexes:[0,1]},O$={...xp},vp={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,i=e.textSizePx/2-r/2,o=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}">${t.groupLabel}</text></g>`,a=t.groups.reduce((c,f)=>{const h=`${f.seriesLabel}${f.value}`;return h.length>c.length?h:c},""),l=n.measureTextWidth(a,e.textSizePx)+e.textSizePx*2,u=t.groups.map((c,f)=>{const h=f*e.textSizePx*1.5,p=c.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
59
- <rect width="${r}" height="${r}" x="${i}" y="${h+i}" rx="${r/2}" fill="${c.color}"></rect>
60
- <text x="${e.textSizePx*1.5}" y="${h}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
61
- <tspan font-weight="${p?"bold":""}">${c.seriesLabel}</tspan>
62
- <tspan font-weight="bold" text-anchor="end" x="${l}">${c.value}</tspan>
65
+ </text>`:""}function OB({rootSelection:t,pluginName:e,gClassName:n,boxClassName:r,rootWidth:i,rootHeight:o,svgString:a,tooltipStyle:s,event:l}){t.interrupt("fadeout");const u=5,c=a?[a]:[],h=a?[s]:[],p=t.selectAll(`g.${n}`).data(c).join(A=>A.append("g").classed(n,!0).attr("pointer-events","none"),A=>A,A=>A.style("opacity",0).remove()).attr("transform",()=>`translate(${l.offsetX}, ${l.offsetY})`).selectAll(`g.${r}`).data(h).join(A=>A.append("g").classed(q(e,"box"),!0)),d=p.selectAll("rect").data(h).join(A=>A.append("rect").attr("rx",u).attr("ry",u)).attr("fill",A=>A.backgroundColor).attr("stroke",A=>A.strokeColor).attr("opacity",A=>A.backgroundOpacity),g=p.selectAll("g").data(c).join(A=>A.append("g").classed(q(e,"content"),!0).attr("transform",()=>`translate(${s.padding}, ${s.padding})`));c.length&&FI(g,c[0]);const m=g!=null&&g.node()?wv(g):{width:0,height:0};d.attr("width",m.width+s.padding*2).attr("height",m.height+s.padding*2);const b=p!=null&&p.node()?wv(p):{width:0,height:0},y=i-b.width,x=o-b.height,$=l.offsetX+s.offset[0]>y?y-l.offsetX:s.offset[0],S=l.offsetY+s.offset[1]>x?x-l.offsetY:s.offset[1];p.attr("transform",A=>`translate(${$}, ${S})`),p.attr("transform",A=>`translate(${$}, ${S})`)}const Fi=(t,{rootSelection:e,fullParams$:n,fullChartParams$:r,layout$:i,event$:o})=>{const a=new Q,s=q(t,"g"),l=q(t,"box"),u=o.pipe(D(a),Ir(y=>y.eventName==="mouseover"||y.eventName==="mousemove")),c=o.pipe(D(a),Ir(y=>y.eventName==="mouseout")),h=wC(r),f=O({fullChartParams:r,fullParams:n,textSizePx:h}).pipe(D(a),z(async y=>y),L(y=>({backgroundColor:bt(y.fullParams.backgroundColorType,y.fullChartParams),backgroundOpacity:y.fullParams.backgroundOpacity,strokeColor:bt(y.fullParams.strokeColorType,y.fullChartParams),offset:y.fullParams.offset,padding:y.fullParams.padding,textSize:y.fullChartParams.styles.textSize,textSizePx:y.textSizePx,textColor:bt(y.fullParams.textColorType,y.fullChartParams),seriesColors:y.fullChartParams.colors[y.fullChartParams.colorScheme].label}))),p=O({fullParams:n,tooltipStyle:f}).pipe(D(a),z(async y=>y),L(y=>x=>{const $=y.fullParams.renderFn(x,{utils:{toCurrency:zI,measureTextWidth:da},styles:y.tooltipStyle});if(typeof $=="string"){const S=$.trim();if(S.slice(0,1)==="<"&&S.slice(S.length-1,S.length)===">")return $;{const _=$.split(`
66
+ `);return t2(_,y.tooltipStyle)}}else if(Array.isArray($))return t2($,y.tooltipStyle);return""})),d=O({event:u,contentRenderFn:p}).pipe(D(a),z(async y=>y),L(y=>y.contentRenderFn(y.event))),g=c.pipe(D(a),L(y=>"")),m=Ou(d,g).pipe(D(a),K((y,x)=>y===x)),b=Ou(u,c).pipe(D(a),L(y=>y.event));return O({svgString:m,eventTooltip:b,layout:i,tooltipStyle:f}).pipe(D(a),z(async y=>y)).subscribe(y=>{OB({rootSelection:e,pluginName:t,gClassName:s,boxClassName:l,rootWidth:y.layout.rootWidth,rootHeight:y.layout.rootHeight,svgString:y.svgString,tooltipStyle:y.tooltipStyle,event:y.eventTooltip})}),()=>{a.next(void 0)}},e2="GridTooltip",GB=le({name:e2,defaultParams:wu,layerIndex:Ii,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=Fi(e2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),WB=le({name:"GroupZoom",defaultParams:bd,layerIndex:Pv,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})})(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new Q;let a={k:1,x:0,y:0};const s=r.computedData$.pipe(L(c=>c[0]?c[0].length-1:0),K()),l=r.fullDataFormatter$.pipe(L(c=>c.groupAxis),Xi()),u=O({initGroupAxis:l,groupMaxIndex:s,layout:r.layout$,axisSize:r.gridAxesSize$}).pipe(D(o),z(async c=>c),L(c=>{const h=c.initGroupAxis.scaleDomain[0]-c.initGroupAxis.scalePadding,f=c.initGroupAxis.scaleDomain[1]==="max"?c.groupMaxIndex+c.initGroupAxis.scalePadding:c.initGroupAxis.scaleDomain[1]+c.initGroupAxis.scalePadding;return xc({maxValue:c.groupMaxIndex,minValue:0,axisWidth:c.axisSize.width,scaleDomain:[h,f],scaleRange:[0,1]})}));return O({initGroupScale:u,fullDataFormatter:r.fullDataFormatter$,groupMaxIndex:s}).pipe(D(o),z(async c=>c)).subscribe(c=>{const f=c.initGroupScale.copy(),p=vn().on("zoom",function(g){const m=g.transform,b=$=>{const S=Math.round($);return Math.min(c.groupMaxIndex,Math.max(0,S))},y=c.fullDataFormatter.groupAxis.position==="bottom"||c.fullDataFormatter.groupAxis.position==="top"?m.rescaleX(f).domain().map(b):m.rescaleY(f).domain().map(b);y[0]<=0&&y[1]>=c.groupMaxIndex?m.k<a.k&&(m.k=a.k,m.x=a.x,m.y=a.y):y[1]-y[0]<=1&&m.k>a.k&&(m.k=a.k,m.x=a.x,m.y=a.y),a.k=m.k,a.x=m.x,a.y=m.y;const x={...c.fullDataFormatter,groupAxis:{...c.fullDataFormatter.groupAxis,scaleDomain:y}};i.dataFormatter$.next(x)});e.call(p)}),()=>{o.next(void 0),e.call(vn().on("zoom",null))}}),yu="GroupAux",Mp=q(yu,"label-box"),YB={name:yu,defaultParams:Su,layerIndex:Cv,validator:(t,{validateColumns:e})=>e(t,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]},labelRotate:{toBeTypes:["number"]}})};function VB({groupLabel:t,axisX:e,axisHeight:n,fullParams:r}){return r.showLine&&t?[{id:t,x1:e,x2:e,y1:0,y2:n}]:[]}function UB({groupLabel:t,axisX:e,fullParams:n,textSizePx:r,rowAmount:i}){const o=On(t,n.labelTextFormat),a=o.split(`
67
+ `),s=a.reduce((c,h)=>h.length>c.length?h:c,""),l=da(s,r),u=r*a.length;return n.showLabel&&t?[{id:t,x:e,y:-n.labelPadding*i,text:o,textArr:a,textWidth:l,textHeight:u}]:[]}function XB({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:i}){const o=q(e,"auxline");return t.selectAll(`line.${o}`).data(n).join(s=>s.append("line").classed(o,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),s=>s.transition().duration(50).attr("x1",u=>u.x1).attr("y1",u=>u.y1).attr("x2",u=>u.x2).attr("y2",u=>u.y2),s=>s.remove()).style("stroke",s=>bt(r.lineColorType,i)).style("stroke-dasharray",r.lineDashArray??"none")}function jB(t){t.selectAll("line").data([]).exit().remove()}function HB({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:i,textReverseTransformWithRotate:o,textSizePx:a}){return t.selectAll(`g.${Mp}`).data(e).join(l=>l.append("g").classed(Mp,!0).style("cursor","pointer").attr("transform",(u,c)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(c,h)=>`translate(${c.x}, ${c.y})`),l=>l.remove()).each((l,u,c)=>{const h=l.textWidth+12,f=l.textHeight+6;let p=-h/2,d=-2,g=p,m=d-3;r.groupAxis.position==="bottom"?(p=n.labelRotate?-h+f:-h/2,d=2,g=p,m=d-3):r.groupAxis.position==="left"?(p=-h+2,d=-f/2,g=p,m=d-3,n.labelRotate&&(m+=f)):r.groupAxis.position==="right"?(p=-2,d=-f/2,g=p,m=d-3,n.labelRotate&&(m+=f)):r.groupAxis.position==="top"&&(p=n.labelRotate?-h+f:-h/2,d=-f+6,g=-f,m=d-3),U(c[u]).selectAll("rect").data([l]).join(b=>b.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),b=>b,b=>b.remove()).attr("width",b=>`${h}px`).attr("height",`${f}px`).attr("fill",b=>bt(n.labelColorType,i)).attr("x",g).attr("y",m).style("transform",o),U(c[u]).selectAll("text").data([l]).join(b=>b.append("text").style("dominant-baseline","hanging").style("cursor","pointer"),b=>b,b=>b.remove()).style("transform",o).attr("fill",b=>bt(n.labelTextColorType,i)).attr("font-size",i.styles.textSize).attr("x",g+6).attr("y",m+3).each((b,y,x)=>{Cp(U(x[y]),{textArr:l.textArr,textSizePx:a,groupAxisPosition:r.groupAxis.position,isContainerRotated:!1})})})}function qB(t){t.selectAll(`g.${Mp}`).data([]).exit().remove()}const ZB=le(YB)(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q;let a=!1;const s=e.insert("rect","g").classed(q(yu,"rect"),!0).attr("opacity",0),{seriesSelection$:l,axesSelection$:u,defsSelection$:c,graphicGSelection$:h}=Pr({selection:t,pluginName:yu,clipPathID:"test",seriesLabels$:i.isSeriesSeprate$.pipe(z(S=>Yn(()=>S,i.seriesLabels$,i.seriesLabels$.pipe(L(A=>[A[0]]))))),gridContainerPosition$:i.gridContainerPosition$,gridAxesTransform$:i.gridAxesTransform$,gridGraphicTransform$:i.gridGraphicTransform$});i.layout$.pipe(D(o)).subscribe(S=>{s.attr("width",S.rootWidth).attr("height",S.rootHeight)});const f=O({groupScaleDomainValue:i.groupScaleDomainValue$,gridAxesSize:i.gridAxesSize$}).pipe(D(o),z(async S=>S),L(S=>Sr().domain(S.groupScaleDomainValue).range([0,S.gridAxesSize.width]))),p=i.fullChartParams$.pipe(D(o),L(S=>S.highlightTarget),K()),d=ga(e,"mousemove").pipe(D(o)),g=O({gridAxesReverseTransform:i.gridAxesReverseTransform$,gridContainerPosition:i.gridContainerPosition$}).pipe(D(o),z(async S=>S),L(S=>{const A=`rotateX(${S.gridAxesReverseTransform.rotateX}deg) rotateY(${S.gridAxesReverseTransform.rotateY}deg)`,_=`rotate(${S.gridAxesReverseTransform.rotate}deg)`,P=`scale(${1/S.gridContainerPosition[0].scale[0]}, ${1/S.gridContainerPosition[0].scale[1]})`;return`${A} ${_} ${P}`}),K()),m=O({textReverseTransform:g,fullParams:i.fullParams$}).pipe(D(o),z(async S=>S),L(S=>`${S.textReverseTransform} rotate(${S.fullParams.labelRotate}deg)`)),b=i.gridContainerPosition$.pipe(D(o),L(S=>S.reduce((_,P)=>P.columnIndex>_?P.columnIndex:_,0)+1),K()),y=i.gridContainerPosition$.pipe(D(o),L(S=>S.reduce((_,P)=>P.rowIndex>_?P.rowIndex:_,0)+1),K()),x=GI({rootSelection:e,fullDataFormatter$:i.fullDataFormatter$,gridAxesSize$:i.gridAxesSize$,computedData$:i.computedData$,fullChartParams$:i.fullChartParams$,gridContainerPosition$:i.gridContainerPosition$,layout$:i.layout$}).pipe(D(o));O({axesSelection:u,columnAmount:b,rowAmount:y,layout:i.layout$,rootMousemove:d,gridGroupPosition:x,computedData:i.computedData$,groupScale:f,gridAxesSize:i.gridAxesSize$,fullParams:i.fullParams$,fullDataFormatter:i.fullDataFormatter$,fullChartParams:i.fullChartParams$,highlightTarget:p,textReverseTransformWithRotate:m,GroupDataMap:i.GroupDataMap$,textSizePx:i.textSizePx$}).pipe(D(o),z(async S=>S)).subscribe(S=>{const{groupIndex:A,groupLabel:_}=S.gridGroupPosition,P=S.groupScale(A)??0,M=VB({groupLabel:_,axisX:P,axisHeight:S.gridAxesSize.height,fullParams:S.fullParams});XB({selection:S.axesSelection,pluginName:n,lineData:M,fullParams:S.fullParams,fullChartParams:S.fullChartParams});const R=UB({groupLabel:_,axisX:P,fullParams:S.fullParams,textSizePx:S.textSizePx,rowAmount:S.rowAmount});HB({selection:S.axesSelection,labelData:R,fullParams:S.fullParams,fullDataFormatter:S.fullDataFormatter,fullChartParams:S.fullChartParams,textReverseTransformWithRotate:S.textReverseTransformWithRotate,textSizePx:S.textSizePx}).on("mouseover",(E,k)=>{E.stopPropagation(),a=!0,r.event$.next({type:"grid",pluginName:n,eventName:"mouseover",highlightTarget:S.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:S.GroupDataMap.get(_)??[],groupIndex:A,groupLabel:_,event:E,data:S.computedData})}).on("mousemove",(E,k)=>{E.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"mousemove",highlightTarget:S.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:S.GroupDataMap.get(_)??[],groupIndex:A,groupLabel:_,event:E,data:S.computedData})}).on("mouseout",(E,k)=>{E.stopPropagation(),a=!1,r.event$.next({type:"grid",pluginName:n,eventName:"mouseout",highlightTarget:S.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:S.GroupDataMap.get(_)??[],groupIndex:A,groupLabel:_,event:E,data:S.computedData})}).on("click",(E,k)=>{E.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"click",highlightTarget:S.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:S.GroupDataMap.get(_)??[],groupIndex:A,groupLabel:_,event:E,data:S.computedData})})});const $=ga(s,"mouseout").pipe(D(o));return O({rootRectMouseout:$,axesSelection:u}).pipe(D(o),z(async S=>S)).subscribe(S=>{setTimeout(()=>{a!=!0&&(jB(S.axesSelection),qB(S.axesSelection))})}),()=>{o.next(void 0),s.remove()}}),n2={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,gridList:[{listRectWidth:14,listRectHeight:14,listRectRadius:0}],textColorType:"primary"},Lp={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:[0]};Lp.tickFormat.toString=()=>"text => text";const ma={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:"all"};ma.tickFormat.toString=()=>`num => {
68
+ if (num === null || Number.isNaN(num) == true) {
69
+ return num || 0
70
+ }
71
+ const parts = num.toString().split('.')
72
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
73
+ return parts.join('.')
74
+ }`;const KB={...ma},r2={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1,gridIndexes:[0]},i2={barWidth:0,barGroupPadding:10,barRadius:!1,gridIndexes:[0]},o2={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0],gridIndexes:[0]},a2={lineCurve:"curveLinear",lineWidth:2,gridIndexes:[1]},s2={lineCurve:"curveLinear",linearGradientOpacity:[1,0],gridIndexes:[1]},l2={radius:4,fillColorType:"background",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1,gridIndexes:[1]},kp={firstAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},secondAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},gridIndexes:[0,1]},u2={...kp},Rp={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,i=e.textSizePx/2-r/2,o=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}" fill="${e.textColor}">${t.groupLabel}</text></g>`,a=n.measureTextWidth(t.groupLabel,e.textSizePx),s=t.group.reduce((h,f)=>{const p=`${f.seriesLabel}${n.toCurrency(f.value)}`,d=n.measureTextWidth(p,e.textSizePx);return d>h?d:h},0),u=Math.max(a,s)+e.textSizePx*3,c=t.group.map((h,f)=>{const p=f*e.textSizePx*1.5,d=h.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
75
+ <rect width="${r}" height="${r}" x="${i}" y="${p+i}" rx="${r/2}" fill="${h.color}"></rect>
76
+ <text x="${e.textSizePx*1.5}" y="${p}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
77
+ <tspan font-weight="${d?"bold":""}">${h.seriesLabel}</tspan>
78
+ <tspan font-weight="bold" text-anchor="end" x="${u}">${n.toCurrency(h.value)}</tspan>
63
79
  </text>
64
80
  </g>`}).join("");return`${o}
65
- ${u}`}};vp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
81
+ ${c}`}};Rp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
66
82
  const bulletWidth = styles.textSizePx * 0.7
67
83
  const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
68
84
 
69
- const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}">\${eventData.groupLabel}</text></g>\`
70
- const maxLengthText = eventData.groups.reduce((acc, group) => {
71
- const text = \`\${group.seriesLabel}\${group.value}\`
72
- return text.length > acc.length ? text : acc
73
- }, '')
74
- const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
75
- const lineEndX = maxTextWidth + styles.textSizePx * 2
76
- const contentSvg = eventData.groups
85
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
86
+ const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
87
+ const listTextWidth = eventData.group.reduce((acc, group) => {
88
+ const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
89
+ const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
90
+ return _maxTextWidth > acc ? _maxTextWidth : acc
91
+ }, 0)
92
+ const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
93
+ const lineEndX = maxTextWidth + styles.textSizePx * 3
94
+ const contentSvg = eventData.group
77
95
  .map((group, i) => {
78
96
  const y = i * styles.textSizePx * 1.5
79
97
  const isHighlight = group.id === (eventData.datum && eventData.datum.id)
@@ -81,24 +99,25 @@ ${u}`}};vp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
81
99
  <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
82
100
  <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
83
101
  <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
84
- <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${group.value}</tspan>
102
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
85
103
  </text>
86
104
  </g>\`
87
105
  })
88
106
  .join('')
89
107
  return \`\${titleSvg}
90
108
  \${contentSvg}\`
91
- }`;const z$="MultiGridLegend",bB=pe({name:z$,defaultParams:k$,layerIndex:Mi,validator:(t,{validateColumns:e})=>{const n=e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},gridList:{toBeTypes:["object[]"]},textColorType:{toBeOption:"ColorType"}});if(t.gridList){const i=t.gridList.map((o,a)=>e(o,{listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]}})).find(o=>o.status==="error");if(i)return i}return n}})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new J,o=n.multiGridEachDetail$.pipe(L(i),E(u=>u.map((f,h)=>f.SeriesDataMap$.pipe(E(p=>Array.from(p.keys()))))),G(u=>Y(u)),E(u=>u.flat())),a=Y({fullParams:n.fullParams$,computedData:n.computedData$}).pipe(L(i),G(async u=>u),E(u=>u.computedData.map((c,f)=>{const h=Cu(u.fullParams.gridList[f]??{},{listRectWidth:u.fullParams.listRectWidth,listRectHeight:u.fullParams.listRectHeight,listRectRadius:u.fullParams.listRectRadius});return c.map(p=>h)}).flat())),s=Y({fullParams:n.fullParams$,seriesList:a}).pipe(L(i),G(async u=>u),E(u=>({...u.fullParams,labelList:u.seriesList}))),l=ki(z$,{rootSelection:e,legendLabels$:o,fullParams$:s,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),l()}}),Ne=t=>{const e=t.fullParams$.pipe(E(n=>n.gridIndexes),tt(),mt(1));return Y({multiGridEachDetail:t.multiGridEachDetail$,gridIndexes:e}).pipe(E(n=>n.gridIndexes==="all"?n.multiGridEachDetail:n.gridIndexes.map(r=>n.multiGridEachDetail[r]??n.multiGridEachDetail[0])))},$p="MultiBars",G$=K($p,"grid"),xB=pe({name:$p,defaultParams:R$,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${G$}`).data(s).join("g").attr("class",G$).each((l,u,c)=>{const f=V(c[u]),h=l.dataFormatter$.pipe(L(i),E(p=>p.separateSeries),tt(),mt(1));o[u]=gp($p,{selection:f,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedLayoutData$:l.computedLayoutData$,visibleComputedLayoutData$:l.visibleComputedLayoutData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:l.gridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:h,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),_p="MultiStackedBar",Y$=K(_p,"grid"),vB=pe({name:_p,defaultParams:E$,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${Y$}`).data(s).join("g").attr("class",Y$).each((l,u,c)=>{const f=V(c[u]),h=l.dataFormatter$.pipe(L(i),E(p=>p.separateSeries),tt(),mt(1));o[u]=g$(_p,{selection:f,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedLayoutData$:l.computedLayoutData$,visibleComputedLayoutData$:l.visibleComputedLayoutData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:l.gridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:h,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Sp="MultiBarsTriangle",X$=K(Sp,"grid"),$B=pe({name:Sp,defaultParams:I$,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${X$}`).data(s).join("g").attr("class",X$).each((l,u,c)=>{const f=V(c[u]),h=l.dataFormatter$.pipe(L(i),E(p=>p.separateSeries),tt(),mt(1));o[u]=x$(Sp,{selection:f,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedLayoutData$:l.computedLayoutData$,visibleComputedLayoutData$:l.visibleComputedLayoutData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,fullDataFormatter$:l.dataFormatter$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:l.gridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:h,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),wp="MultiLines",W$=K(wp,"grid"),_B=pe({name:wp,defaultParams:B$,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=[],s=i.multiGridContainerPosition$.pipe(L(o),E(u=>u.flat()));return Ne(i).pipe(L(o)).subscribe(u=>{a.forEach(c=>c()),t.selectAll(`g.${W$}`).data(u).join("g").attr("class",W$).each((c,f,h)=>{const p=V(h[f]);a[f]=r$(wp,{selection:p,computedData$:c.computedData$,computedLayoutData$:c.computedLayoutData$,visibleComputedData$:c.visibleComputedData$,visibleComputedLayoutData$:c.visibleComputedLayoutData$,seriesLabels$:c.seriesLabels$,SeriesDataMap$:c.SeriesDataMap$,GroupDataMap$:c.GroupDataMap$,fullDataFormatter$:c.dataFormatter$,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,gridAxesTransform$:c.gridAxesTransform$,gridGraphicTransform$:c.gridGraphicTransform$,gridAxesSize$:c.gridAxesSize$,gridHighlight$:c.gridHighlight$,gridContainerPosition$:c.gridContainerPosition$,allContainerPosition$:s,layout$:i.layout$,event$:r.event$})})}),()=>{o.next(void 0),a.forEach(u=>u())}}),Tp="MultiLineAreas",V$=K(Tp,"grid"),SB=pe({name:Tp,defaultParams:N$,layerIndex:a$,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[],a=r.multiGridContainerPosition$.pipe(L(i),E(l=>l.flat()));return Ne(r).pipe(L(i)).subscribe(l=>{o.forEach(u=>u()),t.selectAll(`g.${V$}`).data(l).join("g").attr("class",V$).each((u,c,f)=>{const h=V(f[c]);o[c]=l$(Tp,{selection:h,computedData$:u.computedData$,computedLayoutData$:u.computedLayoutData$,visibleComputedData$:u.visibleComputedData$,visibleComputedLayoutData$:u.visibleComputedLayoutData$,seriesLabels$:u.seriesLabels$,SeriesDataMap$:u.SeriesDataMap$,GroupDataMap$:u.GroupDataMap$,fullDataFormatter$:u.dataFormatter$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:u.gridAxesTransform$,gridGraphicTransform$:u.gridGraphicTransform$,gridAxesSize$:u.gridAxesSize$,gridHighlight$:u.gridHighlight$,gridContainerPosition$:u.gridContainerPosition$,allContainerPosition$:a,layout$:r.layout$,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(l=>l())}}),Ap="MultiDots",U$=K(Ap,"grid"),wB=pe({name:Ap,defaultParams:F$,layerIndex:nu,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${U$}`).data(s).join("g").attr("class",U$).each((l,u,c)=>{const f=V(c[u]);o[u]=$$(Ap,{selection:f,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedLayoutData$:l.computedLayoutData$,visibleComputedLayoutData$:l.visibleComputedLayoutData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:l.gridHighlight$,gridContainerPosition$:l.gridContainerPosition$,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Pp="MultiGroupAxis",H$=K(Pp,"grid"),TB=pe({name:Pp,defaultParams:bp,layerIndex:mn,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:r=>r===null||r==="all"||typeof r=="number"},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${H$}`).data(s).join("g").attr("class",H$).each((l,u,c)=>{const f=V(c[u]),h=l.dataFormatter$.pipe(L(i),E(p=>p.separateSeries),tt(),mt(1));o[u]=A$(Pp,{selection:f,computedData$:l.computedData$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:h,textSizePx$:r.textSizePx$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Dp="MultiValueAxis",j$=K(Dp,"grid"),AB=pe({name:Dp,defaultParams:iu,layerIndex:mn,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${j$}`).data(s).join("g").attr("class",j$).each((l,u,c)=>{const f=V(c[u]),h=l.dataFormatter$.pipe(L(i),E(p=>p.separateSeries),tt(),mt(1));o[u]=Ri(Dp,{selection:f,computedData$:l.computedData$,filteredMinMaxValue$:l.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:h})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),q$="MultiGridTooltip",PB=pe({name:q$,defaultParams:vp,layerIndex:Li,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=Ei(q$,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),Cp="MultiStackedValueAxis",Z$=K(Cp,"grid"),DB=pe({name:Cp,defaultParams:iu,layerIndex:mn,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[];return Ne(r).pipe(L(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${Z$}`).data(s).join("g").attr("class",Z$).each((l,u,c)=>{const f=V(c[u]),h=l.dataFormatter$.pipe(L(i),E(p=>p.separateSeries),tt(),mt(1));o[u]=Ri(Cp,{selection:f,computedData$:l.computedStackedData$,filteredMinMaxValue$:l.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:h})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Mp="OverlappingValueAxes",K$=K(Mp,"grid"),CB=pe({name:Mp,defaultParams:xp,layerIndex:mn,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[],a=r.fullParams$.pipe(L(i),E(c=>c.gridIndexes[0])),s=r.fullParams$.pipe(L(i),E(c=>c.gridIndexes[1])),l=Y({firstGridIndex:a,secondGridIndex:s,fullDataFormatter:r.fullDataFormatter$}).pipe(L(i),G(async c=>c),E(c=>{c.fullDataFormatter.gridList[c.secondGridIndex]||(c.fullDataFormatter.gridList[c.secondGridIndex]=Object.assign({},c.fullDataFormatter.gridList[c.firstGridIndex]));const f=c.fullDataFormatter.gridList[c.firstGridIndex].valueAxis.position;let h=f;return f==="left"?h="right":f==="bottom"?h="top":f==="top"?h="bottom":f==="right"&&(h="left"),{type:"grid",visibleFilter:c.fullDataFormatter.visibleFilter,...c.fullDataFormatter.gridList[c.secondGridIndex],valueAxis:{...c.fullDataFormatter.gridList[c.secondGridIndex].valueAxis,position:h},container:{...c.fullDataFormatter.container}}}));return ma(r).pipe(L(i),E(c=>({...c,fullParams$:c.fullParams$.pipe(E(f=>(f.gridIndexes.length>2&&(f.gridIndexes.length=2),f)))})),G(c=>Ne(c)),E(c=>c.map((f,h)=>{if(h===0)return f;const p=s0({fullDataFormatter$:l,layout$:r.layout$}),d=l0({gridAxesTransform$:p}),m=a0({computedData$:f.computedData$,fullDataFormatter$:l,layout$:r.layout$});return{...f,dataFormatter$:l,gridAxesTransform$:p,gridAxesReverseTransform$:d,gridContainerPosition$:m}}))).pipe(L(i)).subscribe(c=>{o.forEach(f=>f()),t.selectAll(`g.${K$}`).data(c).join("g").attr("class",K$).each((f,h,p)=>{if(h>1)return;const d=V(p[h]);o[h]=Ri(Mp,{selection:d,computedData$:f.computedData$,filteredMinMaxValue$:f.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(E(m=>h===0?m.firstAxis:m.secondAxis)),fullDataFormatter$:f.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:f.gridAxesTransform$,gridAxesReverseTransform$:f.gridAxesReverseTransform$,gridAxesSize$:f.gridAxesSize$,gridContainerPosition$:f.gridContainerPosition$,isSeriesSeprate$:f.isSeriesSeprate$})})}),()=>{i.next(void 0),o.forEach(c=>c())}}),Lp="OverlappingStackedValueAxes",Q$=K(Lp,"grid"),MB=pe({name:Lp,defaultParams:O$,layerIndex:mn,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}})(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=[],a=r.fullParams$.pipe(L(i),E(c=>c.gridIndexes[0])),s=r.fullParams$.pipe(L(i),E(c=>c.gridIndexes[1])),l=Y({firstGridIndex:a,secondGridIndex:s,fullDataFormatter:r.fullDataFormatter$}).pipe(L(i),G(async c=>c),E(c=>{c.fullDataFormatter.gridList[c.secondGridIndex]||(c.fullDataFormatter.gridList[c.secondGridIndex]=Object.assign({},c.fullDataFormatter.gridList[c.firstGridIndex]));const f=c.fullDataFormatter.gridList[c.firstGridIndex].valueAxis.position;let h=f;return f==="left"?h="right":f==="bottom"?h="top":f==="top"?h="bottom":f==="right"&&(h="left"),{type:"grid",visibleFilter:c.fullDataFormatter.visibleFilter,...c.fullDataFormatter.gridList[c.secondGridIndex],valueAxis:{...c.fullDataFormatter.gridList[c.secondGridIndex].valueAxis,position:h},container:{...c.fullDataFormatter.container}}}));return ma(r).pipe(L(i),E(c=>({...c,fullParams$:c.fullParams$.pipe(E(f=>(f.gridIndexes.length>2&&(f.gridIndexes.length=2),f)))})),G(c=>Ne(c)),E(c=>c.map((f,h)=>{if(h===0)return f;const p=s0({fullDataFormatter$:l,layout$:r.layout$}),d=l0({gridAxesTransform$:p}),m=a0({computedData$:f.computedData$,fullDataFormatter$:l,layout$:r.layout$});return{...f,dataFormatter$:l,gridAxesTransform$:p,gridAxesReverseTransform$:d,gridContainerPosition$:m}}))).pipe(L(i)).subscribe(c=>{o.forEach(f=>f()),t.selectAll(`g.${Q$}`).data(c).join("g").attr("class",Q$).each((f,h,p)=>{if(h>1)return;const d=V(p[h]);o[h]=Ri(Lp,{selection:d,computedData$:h===0?f.computedStackedData$:f.computedData$,filteredMinMaxValue$:f.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(E(m=>h===0?m.firstAxis:m.secondAxis)),fullDataFormatter$:f.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:f.gridAxesTransform$,gridAxesReverseTransform$:f.gridAxesReverseTransform$,gridAxesSize$:f.gridAxesSize$,gridContainerPosition$:f.gridContainerPosition$,isSeriesSeprate$:f.isSeriesSeprate$})})}),()=>{i.next(void 0),o.forEach(c=>c())}}),J$={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},kp={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.categoryLabel!=="",i=t.datum.label.slice(0,11)!=="multiValue_",o=e.textSizePx*.7,a=e.textSizePx/2-o/2,s=r?`<rect width="${o}" height="${o}" x="${a}" y="${a-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
109
+ }`;const c2="MultiGridLegend",QB=me({name:c2,defaultParams:n2,layerIndex:Ei,validator:(t,{validateColumns:e})=>{const n=e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},gridList:{toBeTypes:["object[]"]},textColorType:{toBeOption:"ColorType"}});if(t.gridList){const i=t.gridList.map((o,a)=>e(o,{listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]}})).find(o=>o.status==="error");if(i)return i}return n}})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new Q,o=n.multiGridEachDetail$.pipe(L(u=>u.map(c=>c.seriesLabels$)),z(u=>O(u).pipe(z(async c=>c))),L(u=>u.flat())),a=O({fullParams:n.fullParams$,computedData:n.computedData$}).pipe(D(i),z(async u=>u),L(u=>u.computedData.map((c,h)=>{const f=Wu(u.fullParams.gridList[h]??{},{listRectWidth:u.fullParams.listRectWidth,listRectHeight:u.fullParams.listRectHeight,listRectRadius:u.fullParams.listRectRadius});return c.map(p=>f)}).flat())),s=O({fullParams:n.fullParams$,seriesList:a}).pipe(D(i),z(async u=>u),L(u=>({...u.fullParams,labelList:u.seriesList}))),l=Bi(c2,{rootSelection:e,legendLabels$:o,fullParams$:s,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),l()}}),Oe=t=>{const e=t.fullParams$.pipe(L(n=>n.gridIndexes),K(),st(1));return O({multiGridEachDetail:t.multiGridEachDetail$,gridIndexes:e}).pipe(z(async n=>n),L(n=>n.gridIndexes==="all"?n.multiGridEachDetail:n.gridIndexes.map(r=>n.multiGridEachDetail[r]??n.multiGridEachDetail[0])))},Ep="MultiBars",f2=q(Ep,"grid"),JB=me({name:Ep,defaultParams:r2,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${f2}`).data(s).join("g").attr("class",f2).each((l,u,c)=>{const h=U(c[u]),f=l.dataFormatter$.pipe(D(i),L(p=>p.separateSeries),K(),st(1));o[u]=Pp(Ep,{selection:h,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:f,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Ip="MultiStackedBars",h2=q(Ip,"grid"),tN=me({name:Ip,defaultParams:i2,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${h2}`).data(s).join("g").attr("class",h2).each((l,u,c)=>{const h=U(c[u]),f=l.dataFormatter$.pipe(D(i),L(p=>p.separateSeries),K(),st(1));o[u]=Fv(Ip,{selection:h,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:f,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Bp="MultiBarsTriangle",p2=q(Bp,"grid"),eN=me({name:Bp,defaultParams:o2,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${p2}`).data(s).join("g").attr("class",p2).each((l,u,c)=>{const h=U(c[u]),f=l.dataFormatter$.pipe(D(i),L(p=>p.separateSeries),K(),st(1));o[u]=Wv(Bp,{selection:h,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,fullDataFormatter$:l.dataFormatter$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:f,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Np="MultiLines",d2=q(Np,"grid"),nN=me({name:Np,defaultParams:a2,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=[],s=i.multiGridContainerPosition$.pipe(D(o),L(u=>u.flat()));return Oe(i).pipe(D(o)).subscribe(u=>{a.forEach(c=>c()),t.selectAll(`g.${d2}`).data(u).join("g").attr("class",d2).each((c,h,f)=>{const p=U(f[h]);a[h]=Av(Np,{selection:p,computedData$:c.computedData$,computedAxesData$:c.computedAxesData$,visibleComputedData$:c.visibleComputedData$,visibleComputedAxesData$:c.visibleComputedAxesData$,seriesLabels$:c.seriesLabels$,SeriesDataMap$:c.SeriesDataMap$,GroupDataMap$:c.GroupDataMap$,fullDataFormatter$:c.dataFormatter$,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,gridAxesTransform$:c.gridAxesTransform$,gridGraphicTransform$:c.gridGraphicTransform$,gridAxesSize$:c.gridAxesSize$,gridHighlight$:i.multiGridHighlight$,gridContainerPosition$:c.gridContainerPosition$,allContainerPosition$:s,layout$:i.layout$,event$:r.event$})})}),()=>{o.next(void 0),a.forEach(u=>u())}}),Fp="MultiLineAreas",g2=q(Fp,"grid"),rN=me({name:Fp,defaultParams:s2,layerIndex:Dv,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[],a=r.multiGridContainerPosition$.pipe(D(i),L(l=>l.flat()));return Oe(r).pipe(D(i)).subscribe(l=>{o.forEach(u=>u()),t.selectAll(`g.${g2}`).data(l).join("g").attr("class",g2).each((u,c,h)=>{const f=U(h[c]);o[c]=Lv(Fp,{selection:f,computedData$:u.computedData$,computedAxesData$:u.computedAxesData$,visibleComputedData$:u.visibleComputedData$,visibleComputedAxesData$:u.visibleComputedAxesData$,seriesLabels$:u.seriesLabels$,SeriesDataMap$:u.SeriesDataMap$,GroupDataMap$:u.GroupDataMap$,fullDataFormatter$:u.dataFormatter$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:u.gridAxesTransform$,gridGraphicTransform$:u.gridGraphicTransform$,gridAxesSize$:u.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:u.gridContainerPosition$,allContainerPosition$:a,layout$:r.layout$,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(l=>l())}}),zp="MultiDots",m2=q(zp,"grid"),iN=me({name:zp,defaultParams:l2,layerIndex:gu,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${m2}`).data(s).join("g").attr("class",m2).each((l,u,c)=>{const h=U(c[u]);o[u]=Vv(zp,{selection:h,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,event$:n.event$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Op="MultiGroupAxis",y2=q(Op,"grid"),oN=me({name:Op,defaultParams:Lp,layerIndex:ze,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:r=>r===null||r==="all"||typeof r=="number"},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${y2}`).data(s).join("g").attr("class",y2).each((l,u,c)=>{const h=U(c[u]),f=l.dataFormatter$.pipe(D(i),L(p=>p.separateSeries),K(),st(1));o[u]=Zv(Op,{selection:h,computedData$:l.computedData$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:f,textSizePx$:r.textSizePx$})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Gp="MultiValueAxis",b2=q(Gp,"grid"),aN=me({name:Gp,defaultParams:ma,layerIndex:ze,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${b2}`).data(s).join("g").attr("class",b2).each((l,u,c)=>{const h=U(c[u]),f=l.dataFormatter$.pipe(D(i),L(p=>p.separateSeries),K(),st(1));o[u]=Ni(Gp,{selection:h,computedData$:l.computedData$,filteredMinMaxValue$:l.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:f})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),x2="MultiGridTooltip",sN=me({name:x2,defaultParams:Rp,layerIndex:Ii,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=Fi(x2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),Wp="MultiStackedValueAxis",$2=q(Wp,"grid"),lN=me({name:Wp,defaultParams:ma,layerIndex:ze,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:r=>r==="all"||Array.isArray(r)&&r.every(i=>typeof i=="number")},labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[];return Oe(r).pipe(D(i)).subscribe(s=>{o.forEach(l=>l()),t.selectAll(`g.${$2}`).data(s).join("g").attr("class",$2).each((l,u,c)=>{const h=U(c[u]),f=l.dataFormatter$.pipe(D(i),L(p=>p.separateSeries),K(),st(1));o[u]=Ni(Wp,{selection:h,computedData$:l.computedStackedData$,filteredMinMaxValue$:l.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:f})})}),()=>{i.next(void 0),o.forEach(s=>s())}}),Yp="OverlappingValueAxes",v2=q(Yp,"grid"),uN=me({name:Yp,defaultParams:kp,layerIndex:ze,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[],a=r.fullParams$.pipe(D(i),L(c=>c.gridIndexes[0])),s=r.fullParams$.pipe(D(i),L(c=>c.gridIndexes[1])),l=O({firstGridIndex:a,secondGridIndex:s,fullDataFormatter:r.fullDataFormatter$}).pipe(D(i),z(async c=>c),L(c=>{c.fullDataFormatter.gridList[c.secondGridIndex]||(c.fullDataFormatter.gridList[c.secondGridIndex]=Object.assign({},c.fullDataFormatter.gridList[c.firstGridIndex]));const h=c.fullDataFormatter.gridList[c.firstGridIndex].valueAxis.position;let f=h;return h==="left"?f="right":h==="bottom"?f="top":h==="top"?f="bottom":h==="right"&&(f="left"),{type:"grid",visibleFilter:c.fullDataFormatter.visibleFilter,...c.fullDataFormatter.gridList[c.secondGridIndex],valueAxis:{...c.fullDataFormatter.gridList[c.secondGridIndex].valueAxis,position:f},container:{...c.fullDataFormatter.container}}}));return We(r).pipe(D(i),L(c=>({...c,fullParams$:c.fullParams$.pipe(L(h=>(h.gridIndexes.length>2&&(h.gridIndexes.length=2),h)))})),z(c=>Oe(c)),L(c=>c.map((h,f)=>{if(f===0)return h;const p=L0({fullDataFormatter$:l,layout$:r.layout$}),d=k0({gridAxesTransform$:p}),g=M0({computedData$:h.computedData$,fullDataFormatter$:l,layout$:r.layout$});return{...h,dataFormatter$:l,gridAxesTransform$:p,gridAxesReverseTransform$:d,gridContainerPosition$:g}}))).pipe(D(i)).subscribe(c=>{o.forEach(h=>h()),t.selectAll(`g.${v2}`).data(c).join("g").attr("class",v2).each((h,f,p)=>{if(f>1)return;const d=U(p[f]);o[f]=Ni(Yp,{selection:d,computedData$:h.computedData$,filteredMinMaxValue$:h.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(L(g=>f===0?g.firstAxis:g.secondAxis)),fullDataFormatter$:h.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:h.gridAxesTransform$,gridAxesReverseTransform$:h.gridAxesReverseTransform$,gridAxesSize$:h.gridAxesSize$,gridContainerPosition$:h.gridContainerPosition$,isSeriesSeprate$:h.isSeriesSeprate$})})}),()=>{i.next(void 0),o.forEach(c=>c())}}),Vp="OverlappingStackedValueAxes",S2=q(Vp,"grid"),cN=me({name:Vp,defaultParams:u2,layerIndex:ze,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}})(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=[],a=r.fullParams$.pipe(D(i),L(c=>c.gridIndexes[0])),s=r.fullParams$.pipe(D(i),L(c=>c.gridIndexes[1])),l=O({firstGridIndex:a,secondGridIndex:s,fullDataFormatter:r.fullDataFormatter$}).pipe(D(i),z(async c=>c),L(c=>{c.fullDataFormatter.gridList[c.secondGridIndex]||(c.fullDataFormatter.gridList[c.secondGridIndex]=Object.assign({},c.fullDataFormatter.gridList[c.firstGridIndex]));const h=c.fullDataFormatter.gridList[c.firstGridIndex].valueAxis.position;let f=h;return h==="left"?f="right":h==="bottom"?f="top":h==="top"?f="bottom":h==="right"&&(f="left"),{type:"grid",visibleFilter:c.fullDataFormatter.visibleFilter,...c.fullDataFormatter.gridList[c.secondGridIndex],valueAxis:{...c.fullDataFormatter.gridList[c.secondGridIndex].valueAxis,position:f},container:{...c.fullDataFormatter.container}}}));return We(r).pipe(D(i),L(c=>({...c,fullParams$:c.fullParams$.pipe(L(h=>(h.gridIndexes.length>2&&(h.gridIndexes.length=2),h)))})),z(c=>Oe(c)),L(c=>c.map((h,f)=>{if(f===0)return h;const p=L0({fullDataFormatter$:l,layout$:r.layout$}),d=k0({gridAxesTransform$:p}),g=M0({computedData$:h.computedData$,fullDataFormatter$:l,layout$:r.layout$});return{...h,dataFormatter$:l,gridAxesTransform$:p,gridAxesReverseTransform$:d,gridContainerPosition$:g}}))).pipe(D(i)).subscribe(c=>{o.forEach(h=>h()),t.selectAll(`g.${S2}`).data(c).join("g").attr("class",S2).each((h,f,p)=>{if(f>1)return;const d=U(p[f]);o[f]=Ni(Vp,{selection:d,computedData$:f===0?h.computedStackedData$:h.computedData$,filteredMinMaxValue$:h.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(L(g=>f===0?g.firstAxis:g.secondAxis)),fullDataFormatter$:h.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:h.gridAxesTransform$,gridAxesReverseTransform$:h.gridAxesReverseTransform$,gridAxesSize$:h.gridAxesSize$,gridContainerPosition$:h.gridContainerPosition$,isSeriesSeprate$:h.isSeriesSeprate$})})}),()=>{i.next(void 0),o.forEach(c=>c())}}),_2={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Up={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.categoryLabel!=="",i=t.datum.label.slice(0,11)!=="multiValue_",o=t.datum._visibleValue.map(h=>n.toCurrency(h)),a=e.textSizePx*.7,s=e.textSizePx/2-a/2,l=r?`<rect width="${a}" height="${a}" x="${s}" y="${s-1}" rx="${a/2}" fill="${t.datum.color}"></rect>
92
110
  <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
93
111
  <tspan>${t.categoryLabel}</tspan>
94
- </text>`:"",l=i?`<tspan>${t.datum.label}</tspan> `:"",u=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
95
- ${l}<tspan font-weight="bold">${t.datum.value}</tspan>
96
- </text>`;return`${s}
112
+ </text>`:"",u=i?`<tspan>${t.datum.label}</tspan> `:"",c=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
113
+ ${u}<tspan font-weight="bold">${o}</tspan>
114
+ </text>`;return`${l}
97
115
  <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
98
- ${u}
99
- </g>`}};kp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
116
+ ${c}
117
+ </g>`}};Up.renderFn.toString=()=>`(eventData, { styles, utils }) => {
100
118
  const hasCategoryLabel = eventData.categoryLabel === '' ? false : true
101
119
  const hasDatumLabel = eventData.datum.label.slice(0, 11) === 'multiValue_' ? false : true
120
+ const valueText = eventData.datum._visibleValue.map(d => utils.toCurrency(d))
102
121
  const bulletWidth = styles.textSizePx * 0.7
103
122
  const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
104
123
  const categorySvg = hasCategoryLabel
@@ -111,16 +130,80 @@ ${u}`}};vp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
111
130
  ? \`<tspan>\${eventData.datum.label}</tspan> \`
112
131
  : ''
113
132
  const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
114
- \${datumLabelSvg}<tspan font-weight="bold">\${eventData.datum.value}</tspan>
133
+ \${datumLabelSvg}<tspan font-weight="bold">\${valueText}</tspan>
115
134
  </text>\`
116
135
 
117
136
  return \`\${categorySvg}
118
137
  <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
119
138
  \${datumSvg}
120
139
  </g>\`
121
- }`;const t2={radius:5,fillColorType:"label",strokeColorType:"label",strokeWidth:0},e2={fillColorType:"label",strokeColorType:"label",strokeWidth:0,valueLinearOpacity:[.8,.8],arcScaleType:"area",sizeAdjust:.5},ou={xAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>String(Math.round(t)),labelPadding:20},yAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>String(Math.round(t)),labelPadding:20}};ou.xAxis.labelTextFormat.toString=()=>"(value: number) => String(Math.round(value))",ou.yAxis.labelTextFormat.toString=()=>"(value: number) => String(Math.round(value))";const au={xAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"},yAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"}};au.xAxis.tickFormat.toString=()=>"v => v",au.yAxis.tickFormat.toString=()=>"v => v";const n2={},r2="MultiValueLegend",LB=Wn({name:r2,defaultParams:J$,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new J,o=n.CategoryDataMap$.pipe(L(i),E(l=>Array.from(l.keys()))),a=n.fullParams$.pipe(L(i),E(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=ki(r2,{rootSelection:e,legendLabels$:o,fullParams$:a,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),s()}}),i2="MultiValueTooltip",kB=Wn({name:i2,defaultParams:kp,layerIndex:Li,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=Ei(i2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),Rp=({selection:t,pluginName:e,clipPathID:n,categoryLabels$:r,multiValueContainerPosition$:i,multiValueGraphicTransform$:o})=>{const a=K(e,"category"),s=K(e,"axes"),l=K(e,"graphic"),u=r.pipe(E((p,d)=>t.selectAll(`g.${a}`).data(p,m=>m).join(m=>m.append("g").classed(a,!0).each((g,y,b)=>{V(b[y]).selectAll(`g.${s}`).data([y]).join(v=>v.append("g").classed(s,!0).attr("clip-path",`url(#${n})`).each((x,_,T)=>{V(T[_]).selectAll("defs").data([_]).join("defs"),V(T[_]).selectAll("g").data([_]).join("g").classed(l,!0)}),v=>v,v=>v.remove())}),m=>m,m=>m.remove())),mt(1));Y({categorySelection:u,multiValueContainerPosition:i}).pipe(G(async p=>p)).subscribe(p=>{p.categorySelection.transition().attr("transform",(d,m)=>{const g=p.multiValueContainerPosition[m]??p.multiValueContainerPosition[0],y=g.translate,b=g.scale;return`translate(${y[0]}, ${y[1]}) scale(${b[0]}, ${b[1]})`})});const c=u.pipe(E(p=>p.select(`g.${s}`)),mt(1)),f=c.pipe(E(p=>p.select("defs")),mt(1)),h=Y({axesSelection:c,multiValueGraphicTransform:o}).pipe(G(async p=>p),E(p=>{const d=p.axesSelection.select(`g.${l}`);return d.transition().duration(50).style("transform",p.multiValueGraphicTransform.value),d}),mt(1));return{categorySelection$:u,axesSelection$:c,defsSelection$:f,graphicGSelection$:h}},RB=({rootSelection:t,fullDataFormatter$:e,filteredMinMaxXYData$:n,multiValueContainerPosition$:r,layout$:i})=>{const o=sa(t,"mousemove").pipe(B_(2)),a=r.pipe(E(c=>c.reduce((h,p)=>p.columnIndex>h?p.columnIndex:h,0)+1),tt(),mt(1)),s=r.pipe(E(c=>c.reduce((h,p)=>p.rowIndex>h?p.rowIndex:h,0)+1),tt(),mt(1)),l=new pt(c=>{Y({layout:i,filteredMinMaxXYData:n,fullDataFormatter:e,columnAmount:a,rowAmount:s}).pipe(G(async f=>f)).subscribe(f=>{if(!f.filteredMinMaxXYData.minXDatum||!f.filteredMinMaxXYData.maxXDatum||f.filteredMinMaxXYData.minXDatum.value[0]==null||f.filteredMinMaxXYData.maxXDatum.value[0]==null||!f.filteredMinMaxXYData.minYDatum||!f.filteredMinMaxXYData.maxYDatum||f.filteredMinMaxXYData.minYDatum.value[1]==null||f.filteredMinMaxXYData.maxYDatum.value[1]==null)return;const h=i0({maxValue:f.filteredMinMaxXYData.maxXDatum.value[0],minValue:f.filteredMinMaxXYData.minXDatum.value[0],axisWidth:f.layout.width,scaleDomain:f.fullDataFormatter.xAxis.scaleDomain,scaleRange:f.fullDataFormatter.xAxis.scaleRange}),p=i0({maxValue:f.filteredMinMaxXYData.maxYDatum.value[1],minValue:f.filteredMinMaxXYData.minYDatum.value[1],axisWidth:f.layout.height,scaleDomain:f.fullDataFormatter.yAxis.scaleDomain,scaleRange:f.fullDataFormatter.yAxis.scaleRange,reverse:!0});c.next({xScale:h,yScale:p})})}),u=Y({fullDataFormatter:e,rootMousemove:o,columnAmount:a,rowAmount:s,layout:i,multiValueContainerPosition:r}).pipe(G(async c=>c),E(c=>({x:(c.rootMousemove.offsetX-c.layout.left)/c.multiValueContainerPosition[0].scale[0]%(c.layout.rootWidth/c.columnAmount/c.multiValueContainerPosition[0].scale[0]),y:(c.rootMousemove.offsetY-c.layout.top)/c.multiValueContainerPosition[0].scale[1]%(c.layout.rootHeight/c.rowAmount/c.multiValueContainerPosition[0].scale[1])})));return Y({xyScale:l,axisValue:u}).pipe(G(async c=>c),E(c=>({x:c.axisValue.x,y:c.axisValue.y,xValue:c.xyScale.xScale(c.axisValue.x),yValue:c.xyScale.yScale(c.axisValue.y)})))},yn="Scatter",EB={name:yn,defaultParams:t2,layerIndex:nu,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]}})};function IB({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedLayoutData:r,fullParams:i,fullChartParams:o,graphicReverseScale:a}){const s=c=>{const f=c.size();return o.transitionDuration/f};let l=0;return t.each((c,f,h)=>{V(h[f]).selectAll("g").data(r[f],p=>p.id).join(p=>(l=s(p),p.append("g").classed(e,!0)),p=>p,p=>p.remove()).attr("transform",p=>`translate(${p.axisX}, ${p.axisY})`).each((p,d,m)=>{V(m[d]).selectAll("circle").data([p]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((y,b)=>d*l).attr("opacity",1),g=>g.transition().duration(50).attr("opacity",1),g=>g.remove()).attr("r",i.radius).attr("fill",(g,y)=>zt({datum:g,colorType:i.fillColorType,fullChartParams:o})).attr("stroke",(g,y)=>zt({datum:g,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${a[f][0]??1}, ${a[f][1]??1})`)})}),t.selectAll(`circle.${n}`)}function BB({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?V(o[i]).style("opacity",1).transition("highlight").duration(200):V(o[i]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function NB({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{V(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const FB=Wn(EB)(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=Be(yn,"clipPath-box"),a=K(yn,"circleG"),s=K(yn,"circle"),{categorySelection$:l,axesSelection$:u,defsSelection$:c,graphicGSelection$:f}=Rp({selection:t,pluginName:yn,clipPathID:o,categoryLabels$:r.categoryLabels$,multiValueContainerPosition$:r.multiValueContainerPosition$,multiValueGraphicTransform$:r.multiValueGraphicTransform$}),h=Y({computedData:r.computedData$,multiValueGraphicReverseScale:r.multiValueGraphicReverseScale$}).pipe(L(i),G(async m=>m),E(m=>m.computedData.map((g,y)=>m.multiValueGraphicReverseScale[y])));Y({defsSelection:c,layout:r.layout$}).pipe(L(i),G(async m=>m)).subscribe(m=>{const g=[{id:o,width:m.layout.width,height:m.layout.height}];NB({defsSelection:m.defsSelection,clipPathData:g})});const p=Y({graphicGSelection:f,visibleComputedLayoutData:r.visibleComputedLayoutData$,graphicReverseScale:h,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(L(i),G(async m=>m),E(m=>IB({graphicGSelection:m.graphicGSelection,circleGClassName:a,circleClassName:s,visibleComputedLayoutData:m.visibleComputedLayoutData,fullParams:m.fullParams,fullChartParams:m.fullChartParams,graphicReverseScale:m.graphicReverseScale}))),d=r.fullChartParams$.pipe(L(i),E(m=>m.highlightTarget),tt());return Y({graphicSelection:p,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:d}).pipe(L(i),G(async m=>m)).subscribe(m=>{m.graphicSelection.on("mouseover",(g,y)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:yn,highlightTarget:m.highlightTarget,datum:y,category:m.CategoryDataMap.get(y.categoryLabel),categoryIndex:y.categoryIndex,categoryLabel:y.categoryLabel,data:m.computedData,event:g})}).on("mousemove",(g,y)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:yn,highlightTarget:m.highlightTarget,datum:y,category:m.CategoryDataMap.get(y.categoryLabel),categoryIndex:y.categoryIndex,categoryLabel:y.categoryLabel,data:m.computedData,event:g})}).on("mouseout",(g,y)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:yn,highlightTarget:m.highlightTarget,datum:y,category:m.CategoryDataMap.get(y.categoryLabel),categoryIndex:y.categoryIndex,categoryLabel:y.categoryLabel,data:m.computedData,event:g})}).on("click",(g,y)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:yn,highlightTarget:m.highlightTarget,datum:y,category:m.CategoryDataMap.get(y.categoryLabel),categoryIndex:y.categoryIndex,categoryLabel:y.categoryLabel,data:m.computedData,event:g})})}),Y({graphicSelection:p,highlight:r.multiValueHighlight$.pipe(E(m=>m.map(g=>g.id))),fullChartParams:r.fullChartParams$}).pipe(L(i),G(async m=>m)).subscribe(m=>{BB({selection:m.graphicSelection,ids:m.highlight,fullChartParams:m.fullChartParams})}),()=>{i.next(void 0)}}),bn="ScatterBubbles",OB=.9,zB={name:bn,defaultParams:e2,layerIndex:nu,validator:(t,{validateColumns:e})=>e(t,{fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},valueLinearOpacity:{toBeTypes:["number[]"]},arcScaleType:{toBe:"ArcScaleType",test:r=>r==="area"||r==="radius"},sizeAdjust:{toBeTypes:["number"]}})};function GB({graphicGSelection:t,circleGClassName:e,circleClassName:n,bubbleData:r,fullParams:i,fullChartParams:o,graphicReverseScale:a}){const s=c=>{const f=c.size();return o.transitionDuration/f};let l=0;return t.each((c,f,h)=>{V(h[f]).selectAll("g").data(r[f],p=>p.id).join(p=>(l=s(p),p.append("g").classed(e,!0)),p=>p,p=>p.remove()).attr("transform",p=>`translate(${p.axisX}, ${p.axisY})`).each((p,d,m)=>{V(m[d]).selectAll("circle").data([p]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((y,b)=>d*l).attr("opacity",.8),g=>g.transition().duration(50).attr("opacity",.8),g=>g.remove()).attr("r",g=>g.r).attr("fill",(g,y)=>zt({datum:g,colorType:i.fillColorType,fullChartParams:o})).attr("stroke",(g,y)=>zt({datum:g,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${a[f][0]??1}, ${a[f][1]??1})`)})}),t.selectAll(`circle.${n}`)}function YB({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}t.each((r,i,o)=>{e.includes(r.id)?V(o[i]).style("opacity",s=>s.opacity).transition("highlight").duration(200):V(o[i]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function XB({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{V(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const WB=Wn(zB)(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=Be(bn,"clipPath-box"),a=K(bn,"circleG"),s=K(bn,"circle"),{categorySelection$:l,axesSelection$:u,defsSelection$:c,graphicGSelection$:f}=Rp({selection:t,pluginName:bn,clipPathID:o,categoryLabels$:r.categoryLabels$,multiValueContainerPosition$:r.multiValueContainerPosition$,multiValueGraphicTransform$:r.multiValueGraphicTransform$}),h=Y({computedData:r.computedData$,multiValueGraphicReverseScale:r.multiValueGraphicReverseScale$}).pipe(L(i),G(async S=>S),E(S=>S.computedData.map((A,P)=>S.multiValueGraphicReverseScale[P])));Y({defsSelection:c,layout:r.layout$}).pipe(L(i),G(async S=>S)).subscribe(S=>{const A=[{id:o,width:S.layout.width,height:S.layout.height}];XB({defsSelection:S.defsSelection,clipPathData:A})});const p=r.filteredMinMaxXYData$.pipe(L(i),E(S=>S.datumList.flat().map(A=>A.value[2]??0)),mt(1)),d=r.filteredMinMaxXYData$.pipe(L(i),E(S=>UA(S.datumList.flat().map(A=>A.value[2]??0)))),m=Y({filteredMinMaxValue:d,fullParams:r.fullParams$}).pipe(L(i),G(async S=>S),E(S=>$i().domain(S.filteredMinMaxValue).range(S.fullParams.valueLinearOpacity))),g=Y({layout:r.layout$,fullParams:r.fullParams$}).pipe(L(i),E(S=>Math.min(S.layout.width,S.layout.height)/2*S.fullParams.sizeAdjust)),y=p.pipe(L(i),E(S=>S.reduce((A,P)=>A+P,0)),Mr(S=>S>0)),b=Y({totalR:g,totalValue:y,fullParams:r.fullParams$}).pipe(L(i),G(async S=>S),E(S=>gr().domain([0,S.totalValue]).range([0,S.totalR]).exponent(S.fullParams.arcScaleType==="area"?.5:1))),v=Y({radiusScale:b,fullParams:r.fullParams$,totalR:g,filteredValueList:p}).pipe(L(i),G(async S=>S),E(S=>S.fullParams.arcScaleType==="area"?1:(()=>{const A=S.totalR*S.totalR*Math.PI;return Math.sqrt(A/yc(S.filteredValueList,P=>Math.PI*Math.pow(S.radiusScale(P),2)))})())),x=Y({computedLayoutData:r.computedLayoutData$,opacityScale:m,radiusScale:b,scaleFactor:v,fullParams:r.fullParams$}).pipe(L(i),G(async S=>S),E(S=>S.computedLayoutData.map(A=>A.map(P=>{const B=P;return B.r=S.radiusScale(B.value[2])*S.scaleFactor*OB,B.opacity=S.opacityScale(B.value[2]),B})))),_=Y({graphicGSelection:f,bubbleData:x,graphicReverseScale:h,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(L(i),G(async S=>S),E(S=>GB({graphicGSelection:S.graphicGSelection,circleGClassName:a,circleClassName:s,bubbleData:S.bubbleData,fullParams:S.fullParams,fullChartParams:S.fullChartParams,graphicReverseScale:S.graphicReverseScale}))),T=r.fullChartParams$.pipe(L(i),E(S=>S.highlightTarget),tt());return Y({graphicSelection:_,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:T}).pipe(L(i),G(async S=>S)).subscribe(S=>{S.graphicSelection.on("mouseover",(A,P)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:bn,highlightTarget:S.highlightTarget,datum:P,category:S.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:S.computedData,event:A})}).on("mousemove",(A,P)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:bn,highlightTarget:S.highlightTarget,datum:P,category:S.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:S.computedData,event:A})}).on("mouseout",(A,P)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:bn,highlightTarget:S.highlightTarget,datum:P,category:S.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:S.computedData,event:A})}).on("click",(A,P)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:bn,highlightTarget:S.highlightTarget,datum:P,category:S.CategoryDataMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,data:S.computedData,event:A})})}),Y({graphicSelection:_,highlight:r.multiValueHighlight$.pipe(E(S=>S.map(A=>A.id))),fullChartParams:r.fullChartParams$}).pipe(L(i),G(async S=>S)).subscribe(S=>{YB({selection:S.graphicSelection,ids:S.highlight,fullChartParams:S.fullChartParams})}),()=>{i.next(void 0)}}),su="XYAux",Ep=K(su,"label-box"),VB={name:su,defaultParams:ou,layerIndex:o$,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function UB({axisX:t,axisY:e,layout:n,fullParams:r}){return t>=0&&t<=n.width&&e>=0&&e<=n.height?[{id:"line-x",x1:t,x2:t,y1:0,y2:n.height,dashArray:r.xAxis.lineDashArray??"none",colorType:r.xAxis.lineColorType},{id:"line-0",x1:0,x2:n.width,y1:e,y2:e,dashArray:r.yAxis.lineDashArray??"none",colorType:r.yAxis.lineColorType}]:[]}function HB({axisX:t,axisY:e,xValue:n,yValue:r,fullParams:i,textSizePx:o,layout:a,columnAmount:s,rowAmount:l}){if(!(t>=0&&t<=a.width&&e>=0&&e<=a.height))return[];const u=6,c=3,f=t,h=a.height+i.xAxis.labelPadding*l,p=$r(n,i.xAxis.labelTextFormat),d=p.split(`
122
- `),m=d.reduce((R,F)=>F.length>R.length?F:R,""),g=aa(m,o),y=o*d.length,b=g+u*2,v=y+c*2,x=-b/2,_=-c,T=x+u,S=_+c,A=-(i.yAxis.labelPadding*s),P=e,B=$r(r,i.yAxis.labelTextFormat),$=B.split(`
123
- `),k=$.reduce((R,F)=>F.length>R.length?F:R,""),D=aa(k,o),w=o*$.length,M=D+u*2,C=w+c*2,X=-D-u,O=-c-w/2,I=X+u,N=O+c;return[{id:"label-x",x:f,y:h,text:p,textArr:d,textWidth:g,textHeight:y,colorType:i.xAxis.labelColorType,textColorType:i.xAxis.labelTextColorType,rectWidth:b,rectHeight:v,rectX:x,rectY:_,textX:T,textY:S},{id:"label-y",x:A,y:P,text:B,textArr:$,textWidth:D,textHeight:w,colorType:i.yAxis.labelColorType,textColorType:i.xAxis.labelTextColorType,rectWidth:M,rectHeight:C,rectX:X,rectY:O,textX:I,textY:N}]}function jB({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:i}){const o=K(e,"auxline");return t.selectAll(`line.${o}`).data(n).join(s=>s.append("line").classed(o,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),s=>s.transition().duration(50).attr("x1",u=>u.x1).attr("y1",u=>u.y1).attr("x2",u=>u.x2).attr("y2",u=>u.y2),s=>s.remove()).style("stroke",s=>bt(s.colorType,i)).style("stroke-dasharray",s=>s.dashArray)}function qB(t){t.selectAll("line").data([]).exit().remove()}function ZB({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:i,textReverseTransform:o,textSizePx:a}){return t.selectAll(`g.${Ep}`).data(e).join(l=>l.append("g").classed(Ep,!0).style("cursor","pointer").attr("transform",(u,c)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(c,f)=>`translate(${c.x}, ${c.y})`),l=>l.remove()).each((l,u,c)=>{V(c[u]).selectAll("rect").data([l]).join(f=>f.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),f=>f,f=>f.remove()).attr("width",f=>`${f.rectWidth}px`).attr("height",f=>`${f.rectHeight}px`).attr("fill",f=>bt(f.colorType,i)).attr("x",f=>f.rectX).attr("y",f=>f.rectY).style("transform",o),V(c[u]).selectAll("text").data([l]).join(f=>f.append("text").style("dominant-baseline","hanging").style("cursor","pointer").style("pointer-events","none"),f=>f,f=>f.remove()).style("transform",o).attr("fill",f=>bt(f.textColorType,i)).attr("font-size",i.styles.textSize).attr("x",f=>f.textX).attr("y",f=>f.textY).each((f,h,p)=>{mp(V(p[h]),{textArr:l.textArr,textSizePx:a,groupAxisPosition:h===0?"bottom":"left"})})})}function KB(t){t.selectAll(`g.${Ep}`).data([]).exit().remove()}const QB=Wn(VB)(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=e.insert("rect","g").classed(K(su,"rect"),!0).attr("opacity",0),{categorySelection$:s,axesSelection$:l,defsSelection$:u,graphicGSelection$:c}=Rp({selection:t,pluginName:su,clipPathID:"test",categoryLabels$:i.isCategorySeprate$.pipe(G(g=>ya(()=>g,i.categoryLabels$,i.categoryLabels$.pipe(E(y=>[y[0]]))))),multiValueContainerPosition$:i.multiValueContainerPosition$,multiValueGraphicTransform$:i.multiValueGraphicTransform$});i.layout$.pipe(L(o)).subscribe(g=>{a.attr("width",g.rootWidth).attr("height",g.rootHeight)});const f=i.multiValueContainerPosition$.pipe(E(g=>g.reduce((b,v)=>v.columnIndex>b?v.columnIndex:b,0)+1),tt()),h=i.multiValueContainerPosition$.pipe(E(g=>g.reduce((b,v)=>v.rowIndex>b?v.rowIndex:b,0)+1),tt()),p=i.multiValueContainerPosition$.pipe(L(o),G(async g=>g),E(g=>`${`scale(${1/g[0].scale[0]}, ${1/g[0].scale[1]})`}`),tt()),d=RB({rootSelection:e,fullDataFormatter$:i.fullDataFormatter$,filteredMinMaxXYData$:i.filteredMinMaxXYData$,multiValueContainerPosition$:i.multiValueContainerPosition$,layout$:i.layout$}).pipe(L(o));Y({axesSelection:l,layout:i.layout$,xyPosition:d,fullParams:i.fullParams$,fullDataFormatter:i.fullDataFormatter$,fullChartParams:i.fullChartParams$,textReverseTransform:p,textSizePx:i.textSizePx$,columnAmount:f,rowAmount:h}).pipe(L(o),G(async g=>g)).subscribe(g=>{const{x:y,y:b,xValue:v,yValue:x}=g.xyPosition,_=UB({axisX:y,axisY:b,layout:g.layout,fullParams:g.fullParams});jB({selection:g.axesSelection,pluginName:n,lineData:_,fullParams:g.fullParams,fullChartParams:g.fullChartParams});const T=HB({axisX:y,axisY:b,xValue:v,yValue:x,fullParams:g.fullParams,textSizePx:g.textSizePx,layout:g.layout,columnAmount:g.columnAmount,rowAmount:g.rowAmount});ZB({selection:g.axesSelection,labelData:T,fullParams:g.fullParams,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,textReverseTransform:g.textReverseTransform,textSizePx:g.textSizePx})});const m=sa(a,"mouseout").pipe(L(o));return Y({rootRectMouseout:m,axesSelection:l}).pipe(L(o),G(async g=>g)).subscribe(g=>{setTimeout(()=>{qB(g.axesSelection),KB(g.axesSelection)})}),()=>{o.next(void 0),a.remove()}}),Sr="XYAxes",o2=6,JB="middle",tN="hanging",eN="start",nN="hanging",rN="end",iN="middle",oN="end",aN="auto",sN={name:Sr,defaultParams:au,layerIndex:mn,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}};function lN({selection:t,xLabelClassName:e,fullParams:n,layout:r,fullDataFormatter:i,fullChartParams:o,textReverseTransform:a}){const s=n.xAxis.tickPadding+n.xAxis.labelOffset[0],l=n.xAxis.tickPadding+n.xAxis.labelOffset[1];let u=s,c=l;t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,h,p)=>{V(p[h]).selectAll("text").data([f]).join(d=>d.append("text").style("font-weight","bold"),d=>d,d=>d.remove()).attr("text-anchor",eN).attr("dominant-baseline",nN).attr("font-size",o.styles.textSize).style("fill",bt(n.xAxis.labelColorType,o)).style("transform",a).attr("x",u).attr("y",c).text(d=>i.xAxis.label)}).attr("transform",f=>`translate(${r.width}, ${r.height})`)}function uN({selection:t,yLabelClassName:e,fullParams:n,layout:r,fullDataFormatter:i,fullChartParams:o,textReverseTransform:a}){const s=n.yAxis.tickPadding-n.yAxis.labelOffset[0],l=n.yAxis.tickPadding+n.yAxis.labelOffset[1];let u=-s,c=-l;t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,h,p)=>{V(p[h]).selectAll("text").data([f]).join(d=>d.append("text").style("font-weight","bold"),d=>d,d=>d.remove()).attr("text-anchor",oN).attr("dominant-baseline",aN).attr("font-size",o.styles.textSize).style("fill",bt(n.yAxis.labelColorType,o)).style("transform",a).attr("x",u).attr("y",c).text(d=>i.yAxis.label)})}function cN({selection:t,xAxisClassName:e,fullParams:n,layout:r,fullDataFormatter:i,fullChartParams:o,xScale:a,textReverseTransform:s,minMaxXY:l}){const u=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).attr("transform",`translate(0, ${r.height})`);let c=n.xAxis.tickPadding;const f=xc(a).scale(a).ticks(n.xAxis.ticks).tickFormat(d=>$r(d,n.xAxis.tickFormat)).tickSize(n.xAxis.tickFullLine==!0?-r.height:o2).tickSizeOuter(-r.height).tickPadding(c),h=u.transition().duration(100).call(f);return h.selectAll("line").style("fill","none").style("stroke",n.xAxis.tickLineVisible==!0?bt(n.xAxis.tickColorType,o):"none").style("stroke-dasharray",n.xAxis.tickFullLineDasharray).attr("pointer-events","none"),h.selectAll("path").style("fill","none").style("stroke",n.xAxis.axisLineVisible==!0?bt(n.xAxis.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),u.selectAll("text").attr("font-size",o.styles.textSize).style("color",bt(n.xAxis.tickTextColorType,o)).attr("text-anchor",JB).attr("dominant-baseline",tN).attr("dy",0).attr("y",c).style("transform",s),u}function fN({selection:t,yAxisClassName:e,fullParams:n,layout:r,fullDataFormatter:i,fullChartParams:o,yScale:a,textReverseTransform:s,minMaxXY:l}){const u=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let c=n.yAxis.tickPadding;const f=vc(a).scale(a).ticks(n.xAxis.ticks).tickFormat(d=>$r(d,n.yAxis.tickFormat)).tickSize(n.yAxis.tickFullLine==!0?-r.width:o2).tickPadding(c),h=u.transition().duration(100).call(f);return h.selectAll("line").style("fill","none").style("stroke",n.yAxis.tickLineVisible==!0?bt(n.yAxis.tickColorType,o):"none").style("stroke-dasharray",n.yAxis.tickFullLineDasharray).attr("pointer-events","none"),h.selectAll("path").style("fill","none").style("stroke",n.yAxis.axisLineVisible==!0?bt(n.yAxis.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),u.selectAll("text").attr("font-size",o.styles.textSize).style("color",bt(n.yAxis.tickTextColorType,o)).attr("text-anchor",rN).attr("dominant-baseline",iN).attr("x",-c).attr("dy",0).style("transform",s),u}const hN=Wn(sN)(({selection:t,name:e,observer:n,subject:r})=>{const i=new J,o=K(Sr,"container"),a=K(Sr,"xAxis"),s=K(Sr,"yAxisG"),l=K(Sr,"yAxis"),u=K(Sr,"xLabel"),c=K(Sr,"yLabel"),f=Y({computedData:n.computedData$.pipe(tt((g,y)=>g.length===y.length)),isCategorySeprate:n.isCategorySeprate$}).pipe(L(i),G(async g=>g),E(g=>g.isCategorySeprate?g.computedData:[g.computedData[0]]),E((g,y)=>t.selectAll(`g.${o}`).data(g,b=>b[0]?b[0].categoryIndex:y).join("g").classed(o,!0))),h=f.pipe(L(i),E((g,y)=>g.selectAll(`g.${s}`).data([s]).join("g").classed(s,!0)));Y({containerSelection:f,gridContainerPosition:n.multiValueContainerPosition$}).pipe(L(i),G(async g=>g)).subscribe(g=>{g.containerSelection.attr("transform",(y,b)=>{const v=g.gridContainerPosition[b]??g.gridContainerPosition[0],x=v.translate,_=v.scale;return`translate(${x[0]}, ${x[1]}) scale(${_[0]}, ${_[1]})`})});const p=n.multiValueContainerPosition$.pipe(L(i),G(async g=>g),E(g=>`${`scale(${1/g[0].scale[0]}, ${1/g[0].scale[1]})`}`),tt()),d=new pt(g=>{Y({fullDataFormatter:n.fullDataFormatter$,layout:n.layout$,filteredMinMaxXYData:n.filteredMinMaxXYData$}).pipe(L(i),G(async y=>y)).subscribe(y=>{if(!y.filteredMinMaxXYData.minXDatum||!y.filteredMinMaxXYData.maxXDatum||y.filteredMinMaxXYData.minXDatum.value[0]==null||y.filteredMinMaxXYData.maxXDatum.value[0]==null)return;let b=y.filteredMinMaxXYData.maxXDatum.value[0],v=y.filteredMinMaxXYData.minXDatum.value[0];b===v&&b===0&&(b=1);const x=Ki({maxValue:b,minValue:v,axisWidth:y.layout.width,scaleDomain:y.fullDataFormatter.xAxis.scaleDomain,scaleRange:y.fullDataFormatter.xAxis.scaleRange});g.next(x)})}),m=new pt(g=>{Y({fullDataFormatter:n.fullDataFormatter$,layout:n.layout$,filteredMinMaxXYData:n.filteredMinMaxXYData$}).pipe(L(i),G(async y=>y)).subscribe(y=>{if(!y.filteredMinMaxXYData.minYDatum||!y.filteredMinMaxXYData.maxYDatum||y.filteredMinMaxXYData.minYDatum.value[1]==null||y.filteredMinMaxXYData.maxYDatum.value[1]==null)return;let b=y.filteredMinMaxXYData.maxYDatum.value[1],v=y.filteredMinMaxXYData.minYDatum.value[1];b===v&&b===0&&(b=1);const x=Ki({maxValue:b,minValue:v,axisWidth:y.layout.height,scaleDomain:y.fullDataFormatter.yAxis.scaleDomain,scaleRange:y.fullDataFormatter.yAxis.scaleRange,reverse:!0});g.next(x)})});return Y({axisSelection:h,fullParams:n.fullParams$,computedData:n.computedData$,layout:n.layout$,fullDataFormatter:n.fullDataFormatter$,fullChartParams:n.fullChartParams$,xScale:d,yScale:m,textReverseTransform:p,minMaxXY:n.minMaxXY$}).pipe(L(i),G(async g=>g)).subscribe(g=>{cN({selection:g.axisSelection,xAxisClassName:a,fullParams:g.fullParams,layout:g.layout,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,xScale:g.xScale,textReverseTransform:g.textReverseTransform,minMaxXY:g.minMaxXY}),fN({selection:g.axisSelection,yAxisClassName:l,fullParams:g.fullParams,layout:g.layout,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,yScale:g.yScale,textReverseTransform:g.textReverseTransform,minMaxXY:g.minMaxXY}),lN({selection:g.axisSelection,xLabelClassName:u,fullParams:g.fullParams,layout:g.layout,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,textReverseTransform:g.textReverseTransform}),uN({selection:g.axisSelection,yLabelClassName:c,fullParams:g.fullParams,layout:g.layout,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,textReverseTransform:g.textReverseTransform})}),()=>{i.next(void 0)}}),pN=Wn({name:"XYZoom",defaultParams:n2,layerIndex:i$,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})})(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new J;let a={k:1,x:0,y:0};const s=r.fullDataFormatter$.pipe(E(f=>f.xAxis),ba()),l=r.fullDataFormatter$.pipe(E(f=>f.yAxis),ba()),u=new pt(f=>{Y({initXAxis:s,layout:r.layout$,minMaxXY:r.minMaxXY$}).pipe(L(o),G(async h=>h)).subscribe(h=>{const p=Ki({maxValue:h.minMaxXY.maxX,minValue:h.minMaxXY.minX,axisWidth:h.layout.width,scaleDomain:h.initXAxis.scaleDomain,scaleRange:h.initXAxis.scaleRange});f.next(p)})}),c=Y({initXAxis:s,initYAxis:l,minMaxXY:r.minMaxXY$}).pipe(L(o),G(async f=>f),E(f=>{let h=f.minMaxXY.minX,p=f.minMaxXY.maxX,d=f.minMaxXY.minY,m=f.minMaxXY.maxY;return f.initXAxis.scaleDomain[0]==="auto"&&h>0&&(h=0),f.initXAxis.scaleDomain[1]==="auto"&&p<0&&(p=0),f.initYAxis.scaleDomain[0]==="auto"&&d>0&&(d=0),f.initYAxis.scaleDomain[1]==="auto"&&m<0&&(m=0),{minX:h,maxX:p,minY:d,maxY:m}}));return Y({initXScale:u,fullDataFormatter:r.fullDataFormatter$,minMaxScaleDomain:c}).pipe(L(o),G(async f=>f)).subscribe(f=>{const h=f.initXScale.copy(),p=vr().on("zoom",function(m){const g=m.transform,y=x=>{const _=Math.round(x);return Math.min(f.minMaxScaleDomain.maxX,Math.max(f.minMaxScaleDomain.minX,_))},b=g.rescaleX(h).domain().map(y);b[0]<=f.minMaxScaleDomain.minX&&b[1]>=f.minMaxScaleDomain.maxX?g.k<a.k&&(g.k=a.k,g.x=a.x,g.y=a.y):b[1]-b[0]<=1&&g.k>a.k&&(g.k=a.k,g.x=a.x,g.y=a.y),a.k=g.k,a.x=g.x,a.y=g.y;const v={...f.fullDataFormatter,xAxis:{...f.fullDataFormatter.xAxis,scaleDomain:b}};i.dataFormatter$.next(v)});e.call(p)}),()=>{o.next(void 0),e.call(vr().on("zoom",null))}}),dN={header:{height:36,text:[],textStyle:[]},footer:{height:0,text:[],textStyle:[]}},a2={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,textRenderFn:t=>{if(t.highlightTarget==="datum"&&t.datum)return[`${t.datum.label}: ${t.datum.value}`];if(t.highlightTarget==="series"){const e=t.seriesLabel,n=t.series.filter(i=>i.visible==!0).map(i=>i.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="group"){const e=t.groupLabel,n=t.series.filter(i=>i.visible==!0).map(i=>i.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="category"){const e=t.categoryLabel,n=t.category.filter(i=>i.visible==!0).map(i=>i.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}return[]},svgRenderFn:null};a2.textRenderFn.toString=()=>`(eventData) => {
140
+ }`;const Xp={bar:{barWidth:0,barPadding:8,barRadius:!1},barLabel:{position:"inside",padding:20,rotate:0,colorType:"labelContrast"},valueLabel:{padding:20,colorType:"primary",format:t=>t},axisLabel:{offset:[0,0],colorType:"primary"},rankingAmount:10,autorun:!1,loop:!1};Xp.valueLabel.format.toString=()=>"v => v";const jp={renderFn:(t,e,n)=>t,textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"end","pointer-events":"none","dominant-baseline":"auto","font-size":64,fill:"#bebebe"},{"text-anchor":"end","pointer-events":"none","dominant-baseline":"auto","font-size":24,fill:"#bebebe"}],paddingRight:0,paddingBottom:0};jp.renderFn.toString=()=>`(valueLabel, valueIndex, data) => {
141
+ return valueLabel
142
+ }`;const Hp={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"};Hp.tickFormat.toString=()=>`num => {
143
+ if (num === null || Number.isNaN(num) == true) {
144
+ return num || 0
145
+ }
146
+ const parts = num.toString().split('.')
147
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
148
+ return parts.join('.')
149
+ }`;const w2={radius:5,fillColorType:"label",strokeColorType:"label",strokeWidth:0},T2={fillColorType:"label",strokeColorType:"label",strokeWidth:0,valueLinearOpacity:[.8,.8],arcScaleType:"area",sizeAdjust:.5},qp={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"};qp.tickFormat.toString=()=>`num => {
150
+ if (num === null || Number.isNaN(num) == true) {
151
+ return num || 0
152
+ }
153
+ const parts = num.toString().split('.')
154
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
155
+ return parts.join('.')
156
+ }`;const bu={xAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=Math.abs(t);if(e>0&&e<1){const i=t.toString().match(/0\.(0*)([1-9])/);if(i){const o=i[1].length+1;return t.toFixed(o)}return t.toString()}const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20},yAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=Math.abs(t);if(e>0&&e<1){const i=t.toString().match(/0\.(0*)([1-9])/);if(i){const o=i[1].length+1;return t.toFixed(o)}return t.toString()}const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20}};bu.xAxis.labelTextFormat.toString=()=>`num => {
157
+ if (num === null || Number.isNaN(num) == true) {
158
+ return num || 0
159
+ }
160
+ const absNum = Math.abs(num)
161
+ if (absNum > 0 && absNum < 1) {
162
+ const strNum = num.toString()
163
+ const match = strNum.match(/0.(0*)([1-9])/)
164
+ if (match) {
165
+ const precision = match[1].length + 1
166
+ return num.toFixed(precision)
167
+ }
168
+ return num.toString()
169
+ }
170
+ const parts = num.toString().split('.')
171
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
172
+ return parts[0]
173
+ }`,bu.yAxis.labelTextFormat.toString=()=>`num => {
174
+ if (num === null || Number.isNaN(num) == true) {
175
+ return num || 0
176
+ }
177
+ const absNum = Math.abs(num)
178
+ if (absNum > 0 && absNum < 1) {
179
+ const strNum = num.toString()
180
+ const match = strNum.match(/0.(0*)([1-9])/)
181
+ if (match) {
182
+ const precision = match[1].length + 1
183
+ return num.toFixed(precision)
184
+ }
185
+ return num.toString()
186
+ }
187
+ const parts = num.toString().split('.')
188
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
189
+ return parts[0]
190
+ }`;const xu={xAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"},yAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"}};xu.xAxis.tickFormat.toString=()=>`num => {
191
+ if (num === null || Number.isNaN(num) == true) {
192
+ return num || 0
193
+ }
194
+ const parts = num.toString().split('.')
195
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
196
+ return parts.join('.')
197
+ }`,xu.yAxis.tickFormat.toString=()=>`num => {
198
+ if (num === null || Number.isNaN(num) == true) {
199
+ return num || 0
200
+ }
201
+ const parts = num.toString().split('.')
202
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
203
+ return parts.join('.')
204
+ }`;const A2={},P2="MultiValueLegend",fN=ke({name:P2,defaultParams:_2,layerIndex:Ei,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new Q,o=n.CategoryDataMap$.pipe(D(i),L(l=>Array.from(l.keys()))),a=n.fullParams$.pipe(D(i),L(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=Bi(P2,{rootSelection:e,legendLabels$:o,fullParams$:a,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),s()}}),C2="MultiValueTooltip",hN=ke({name:C2,defaultParams:Up,layerIndex:Ii,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=Fi(C2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),Zp=({selection:t,pluginName:e,clipPathID:n,categoryLabels$:r,containerPosition$:i,graphicTransform$:o})=>{const a=q(e,"category"),s=q(e,"axes"),l=q(e,"graphic"),u=r.pipe(L((p,d)=>t.selectAll(`g.${a}`).data(p,g=>g).join(g=>g.append("g").classed(a,!0).each((m,b,y)=>{U(y[b]).selectAll(`g.${s}`).data([b]).join(x=>x.append("g").classed(s,!0).attr("clip-path",`url(#${n})`).each(($,S,A)=>{U(A[S]).selectAll("defs").data([S]).join("defs"),U(A[S]).selectAll("g").data([S]).join("g").classed(l,!0)}),x=>x,x=>x.remove())}),g=>g,g=>g.remove())),st(1));O({categorySelection:u,containerPosition:i}).pipe(z(async p=>p)).subscribe(p=>{p.categorySelection.transition().attr("transform",(d,g)=>{const m=p.containerPosition[g]??p.containerPosition[0],b=m.translate,y=m.scale;return`translate(${b[0]}, ${b[1]}) scale(${y[0]}, ${y[1]})`})});const c=u.pipe(L(p=>p.select(`g.${s}`)),st(1)),h=c.pipe(L(p=>p.select("defs")),st(1)),f=O({axesSelection:c,graphicTransform:o}).pipe(z(async p=>p),L(p=>{const d=p.axesSelection.select(`g.${l}`);return d.transition().duration(50).style("transform",p.graphicTransform.value),d}),st(1));return{categorySelection$:u,axesSelection$:c,defsSelection$:h,graphicGSelection$:f}},ya=({selection:t,pluginName:e,clipPathID:n,computedData$:r,containerPosition$:i,isCategorySeprate$:o})=>{const a=q(e,"container"),s=O({computedData:r.pipe(K((l,u)=>l.length===u.length)),isCategorySeprate:o}).pipe(z(async l=>l),L(l=>l.isCategorySeprate?l.computedData:[l.computedData[0]]),L((l,u)=>t.selectAll(`g.${a}`).data(l,c=>c[0]?c[0].categoryIndex:u).join("g").classed(a,!0).attr("clip-path",c=>n?`url(#${n})`:"none")),st(1));return O({containerSelection:s,gridContainerPosition:i}).pipe(z(async l=>l)).subscribe(l=>{l.containerSelection.attr("transform",(u,c)=>{const h=l.gridContainerPosition[c]??l.gridContainerPosition[0],f=h.translate;return h.scale,`translate(${f[0]}, ${f[1]})`})}),s},pN=({rootSelection:t,fullDataFormatter$:e,filteredXYMinMaxData$:n,containerPosition$:r,layout$:i})=>{const o=ga(t,"mousemove").pipe(p_(2)),a=r.pipe(L(c=>c.reduce((f,p)=>p.columnIndex>f?p.columnIndex:f,0)+1),K(),st(1)),s=r.pipe(L(c=>c.reduce((f,p)=>p.rowIndex>f?p.rowIndex:f,0)+1),K(),st(1)),l=new gt(c=>{O({layout:i,filteredXYMinMaxData:n,fullDataFormatter:e,columnAmount:a,rowAmount:s}).pipe(z(async h=>h)).subscribe(h=>{const f=h.fullDataFormatter.xAxis.valueIndex,p=h.fullDataFormatter.yAxis.valueIndex;if(!h.filteredXYMinMaxData.minXDatum||!h.filteredXYMinMaxData.maxXDatum||h.filteredXYMinMaxData.minXDatum.value[f]==null||h.filteredXYMinMaxData.maxXDatum.value[f]==null||!h.filteredXYMinMaxData.minYDatum||!h.filteredXYMinMaxData.maxYDatum||h.filteredXYMinMaxData.minYDatum.value[p]==null||h.filteredXYMinMaxData.maxYDatum.value[p]==null)return;const d=C0({maxValue:h.filteredXYMinMaxData.maxXDatum.value[f],minValue:h.filteredXYMinMaxData.minXDatum.value[f],axisWidth:h.layout.width,scaleDomain:h.fullDataFormatter.xAxis.scaleDomain,scaleRange:h.fullDataFormatter.xAxis.scaleRange}),g=C0({maxValue:h.filteredXYMinMaxData.maxYDatum.value[p],minValue:h.filteredXYMinMaxData.minYDatum.value[p],axisWidth:h.layout.height,scaleDomain:h.fullDataFormatter.yAxis.scaleDomain,scaleRange:h.fullDataFormatter.yAxis.scaleRange,reverse:!0});c.next({xScale:d,yScale:g})})}),u=O({fullDataFormatter:e,rootMousemove:o,columnAmount:a,rowAmount:s,layout:i,containerPosition:r}).pipe(z(async c=>c),L(c=>({x:(c.rootMousemove.offsetX-c.layout.left)/c.containerPosition[0].scale[0]%(c.layout.rootWidth/c.columnAmount/c.containerPosition[0].scale[0]),y:(c.rootMousemove.offsetY-c.layout.top)/c.containerPosition[0].scale[1]%(c.layout.rootHeight/c.rowAmount/c.containerPosition[0].scale[1])})));return O({xyScale:l,axisValue:u}).pipe(z(async c=>c),L(c=>({x:c.axisValue.x,y:c.axisValue.y,xValue:c.xyScale.xScale(c.axisValue.x),yValue:c.xyScale.yScale(c.axisValue.y)})))},dN=({containerSize$:t,visibleComputedData$:e,textSizePx$:n,rankingAmount$:r})=>{const i=({textSizePx$:c})=>c.pipe(L(h=>h*2),st(1)),o=({minLineHeight$:c,containerSize$:h})=>O({minLineHeight:c,containerSize:h}).pipe(z(async f=>f),L(f=>f.containerSize.height>f.minLineHeight?f.containerSize.height:f.minLineHeight),K(),st(1)),a=({minLineHeight$:c,containerHeight$:h})=>O({minLineHeight:c,containerHeight:h}).pipe(z(async f=>f),L(f=>Math.floor(f.containerHeight/f.minLineHeight)),K(),st(1)),s=i({textSizePx$:n}),l=o({minLineHeight$:s,containerSize$:t}),u=a({containerHeight$:l,minLineHeight$:s});return r.pipe(z(c=>Yn(()=>c==="auto",O({visibleComputedData:e,rankingAmountLimit:u}).pipe(z(async h=>h),L(h=>{const f=h.visibleComputedData.map(p=>Math.min(h.rankingAmountLimit,p.length));return Math.max(...f)})),r)))},gN=({containerSize$:t,textSizePx$:e,computedRankingAmount$:n})=>{const r=({textSizePx$:s})=>s.pipe(L(l=>l*2),st(1)),i=({minLineHeight$:s,containerSize$:l})=>O({minLineHeight:s,containerSize:l}).pipe(z(async u=>u),L(u=>u.containerSize.height>u.minLineHeight?u.containerSize.height:u.minLineHeight),K(),st(1)),o=r({textSizePx$:e}),a=i({minLineHeight$:o,containerSize$:t});return O({containerHeight:a,computedRankingAmount:n}).pipe(z(async s=>s),L(s=>s.containerHeight/s.computedRankingAmount))},mN=({visibleComputedRankingData$:t,rankingItemHeight$:e})=>O({visibleComputedRankingData:t,rankingItemHeight:e}).pipe(z(async n=>n),L(n=>n.visibleComputedRankingData.map((r,i)=>{const o=r.length,a=n.rankingItemHeight*o;return TC({axisLabels:r.map(s=>s.label),axisWidth:a,padding:.5})}))),yN="end",bN="middle",xN="end",$N="auto";function vN({selection:t,textClassName:e,fullParams:n,containerSize:r,fullDataFormatter:i,fullChartParams:o,textReverseTransform:a}){const s=n.barLabel.padding-n.axisLabel.offset[0],l=-n.barLabel.padding-n.axisLabel.offset[1];let u=-s,c=-l;t.attr("transform",h=>`translate(0, ${r.height})`).selectAll("text").data([n]).join(h=>h.append("text").style("font-weight","bold"),h=>h,h=>h.remove()).attr("text-anchor",xN).attr("dominant-baseline",$N).attr("font-size",o.styles.textSize).style("fill",bt(n.axisLabel.colorType,o)).attr("x",u).attr("y",c).text(h=>i.yAxis.label)}function SN({selection:t,fullParams:e,fullChartParams:n,rankingScale:r,valueScale:i,categoryData:o}){const a=e.barLabel.position==="none"?[]:o;return t.selectAll("text").data(a,l=>l.id).join(l=>l.append("text").style("font-weight","bold").attr("x",u=>i(u.value[u.xValueIndex]??0)-e.barLabel.padding).attr("y",u=>r(u.label)),l=>l.transition().duration(n.transitionDuration).ease(Ze).attr("x",u=>i(u.value[u.xValueIndex]??0)-e.barLabel.padding).attr("y",u=>r(u.label)),l=>l.remove()).attr("text-anchor",yN).attr("dominant-baseline",bN).attr("font-size",n.styles.textSize).style("fill",l=>St({colorType:e.barLabel.colorType,fullChartParams:n,datum:l})).text(l=>l.label)}function _N({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",o=>-o.width).attr("y",0).attr("width",o=>o.width*2).attr("height",o=>o.height)})}const wN=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,rankingScaleList$:i,xScale$:o,fullParams$:a,fullDataFormatter$:s,fullChartParams$:l,containerPosition$:u,containerSize$:c,isCategorySeprate$:h})=>{const f=new Q,p=q(t,"box"),d=q(t,"text"),g=ie(t,"clipPath-box"),m=ya({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:u,isCategorySeprate$:h}).pipe(D(f)),b=u.pipe(D(f),z(async x=>x),L(x=>`${`scale(${1/x[0].scale[0]}, ${1/x[0].scale[1]})`}`),K()),y=a.pipe(L(x=>x.barLabel.position),K(),z(x=>Yn(()=>x==="inside",o,We(()=>0))));return c.subscribe(x=>{const $=e.selectAll("defs").data([g]).join("defs"),S=[{id:g,width:x.width,height:x.height}];_N({defsSelection:$,clipPathData:S})}),O({containerSelection:m,fullParams:a,containerSize:c,fullDataFormatter:s,fullChartParams:l,visibleComputedRankingData:r,rankingScaleList:i,valueScale:y,textReverseTransform:b}).pipe(D(f),z(async x=>x)).subscribe(x=>{x.containerSelection.each(($,S,A)=>{const _=U(A[S]),P=x.rankingScaleList[S];if(!P)return;const M=_.selectAll(`g.${p}`).data([S]).join("g").attr("class",p).attr("clip-path",`url(#${g})`),R=_.selectAll(`g.${d}`).data([x.fullParams]).join("g").classed(d,!0);SN({selection:M,fullParams:x.fullParams,fullChartParams:x.fullChartParams,rankingScale:P,categoryData:x.visibleComputedRankingData[S],valueScale:x.valueScale}),vN({selection:R,textClassName:d,fullParams:x.fullParams,containerSize:x.containerSize,fullDataFormatter:x.fullDataFormatter,fullChartParams:x.fullChartParams,textReverseTransform:x.textReverseTransform})})}),()=>{f.next(void 0)}},TN="start",AN="middle";function PN({selection:t,fullParams:e,fullChartParams:n,rankingScale:r,xScale:i,categoryData:o,computedRankingAmount:a}){const s=o.slice(0,a+1);return t.selectAll("g").data(s,c=>c.id).join(c=>c.append("g").attr("transform",h=>`translate(${i(h.value[h.xValueIndex]??0)+e.padding}, ${r(h.label)})`),c=>c.transition().duration(n.transitionDuration).ease(Ze).attr("transform",h=>`translate(${i(h.value[h.xValueIndex]??0)+e.padding}, ${r(h.label)})`),c=>c.remove()).each((c,h,f)=>{U(f[h]).selectAll("text").data([c]).join(d=>d.append("text"),d=>d,d=>d.remove()).attr("text-anchor",TN).attr("dominant-baseline",AN).attr("font-size",n.styles.textSize).style("fill",bt(e.colorType,n)).transition().duration(n.transitionDuration).ease(Ze).textTween(d=>{const g=d.xValueIndex,m=g===0?0:g-1,b=d.value[m],y=d.value[g];return x=>{const $=x===1?be(b,y)(x):xo(b,y)(x);return On($,e.format)}})}).selectAll("text")}function CN({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",o=>0).attr("y",0).attr("width",o=>o.width*1.5).attr("height",o=>o.height)})}const DN=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,rankingScaleList$:i,xScale$:o,computedRankingAmount$:a,fullParams$:s,fullChartParams$:l,containerPosition$:u,containerSize$:c,isCategorySeprate$:h})=>{const f=new Q,p=q(t,"box"),d=ie(t,"clipPath-box"),g=ya({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:u,isCategorySeprate$:h}).pipe(D(f));return c.subscribe(m=>{const b=e.selectAll("defs").data([d]).join("defs"),y=[{id:d,width:m.width,height:m.height}];CN({defsSelection:b,clipPathData:y})}),O({containerSelection:g,fullParams:s,fullChartParams:l,visibleComputedRankingData:r,rankingScaleList:i,xScale:o,computedRankingAmount:a}).pipe(D(f),z(async m=>m)).subscribe(m=>{m.containerSelection.each((b,y,x)=>{const $=U(x[y]),S=m.rankingScaleList[y];if(!S)return;const A=$.selectAll(`g.${p}`).data([y]).join("g").attr("class",p).attr("clip-path",`url(#${d})`);PN({selection:A,fullParams:m.fullParams,fullChartParams:m.fullChartParams,rankingScale:S,categoryData:m.visibleComputedRankingData[y],xScale:m.xScale,computedRankingAmount:m.computedRankingAmount})})}),()=>{f.next(void 0)}};function MN({containerSelection:t,visibleComputedRankingData:e,rankingScaleList:n,transitionDuration:r}){return t.each((o,a,s)=>{U(s[a]).selectAll("g").data(e[a]??[],u=>u.id).join(u=>u.append("g").attr("cursor","pointer").attr("transform",c=>`translate(0, ${n[a]&&n[a](c.label)})`),u=>u.transition().duration(r).ease(Ze).attr("transform",c=>`translate(0, ${n[a]&&n[a](c.label)})`),u=>u.remove())}),t.selectAll("g")}function LN({graphicGSelection:t,rectClassName:e,xScale:n,fullParams:r,barWidth:i,transitionDuration:o}){return t.each((s,l,u)=>{const c=i/2,h=r.bar.barRadius===!0?c:r.bar.barRadius===!1?0:typeof r.bar.barRadius=="number"?r.bar.barRadius:0;U(u[l]).selectAll(`rect.${e}`).data([s],p=>p.id).join(p=>p.append("rect").classed(e,!0).attr("cursor","pointer").attr("width",d=>n(d.value[d.xValueIndex])??1).attr("height",i),p=>p.transition().duration(o).ease(Ze).attr("width",d=>n(d.value[d.xValueIndex])??1).attr("height",i),p=>p.remove()).attr("transform",`translate(0, ${-c})`).attr("fill",p=>p.color).attr("rx",h).attr("ry",h)}),t.selectAll(`rect.${e}`)}function kN({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function RN({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?U(o[i]).style("opacity",1):U(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const EN=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,CategoryDataMap$:i,fullParams$:o,fullChartParams$:a,highlight$:s,rankingItemHeight$:l,rankingScaleList$:u,containerPosition$:c,containerSize$:h,xScale$:f,isCategorySeprate$:p,event$:d})=>{const g=new Q,m=ie(t,"clipPath-box"),b=q(t,"rect"),y=ya({selection:e,pluginName:t,clipPathID:m,computedData$:n,containerPosition$:c,isCategorySeprate$:p}).pipe(D(g));h.subscribe(P=>{const M=e.selectAll("defs").data([m]).join("defs"),R=[{id:m,width:P.width,height:P.height}];kN({defsSelection:M,clipPathData:R})});const x=O({fullParams:o,rankingItemHeight:l}).pipe(D(g),z(async P=>P),L(P=>P.fullParams.bar.barWidth?P.fullParams.bar.barWidth:P.rankingItemHeight-P.fullParams.bar.barPadding),K()),$=a.pipe(D(g),L(P=>P.transitionDuration),K()),S=O({containerSelection:y,visibleComputedRankingData:r,rankingScaleList:u,transitionDuration:$}).pipe(D(g),z(async P=>P),L(P=>MN({containerSelection:P.containerSelection,visibleComputedRankingData:P.visibleComputedRankingData,rankingScaleList:P.rankingScaleList,transitionDuration:P.transitionDuration}))),A=O({graphicGSelection:S,xScale:f,barWidth:x,transitionDuration:$,fullParams:o}).pipe(D(g),z(async P=>P),L(P=>LN({graphicGSelection:P.graphicGSelection,rectClassName:b,xScale:P.xScale,fullParams:P.fullParams,barWidth:P.barWidth,transitionDuration:P.transitionDuration})),st(1)),_=a.pipe(D(g),L(P=>P.highlightTarget),K());return O({graphicSelection:A,computedData:n,CategoryDataMap:i,highlightTarget:_}).pipe(D(g),z(async P=>P)).subscribe(P=>{P.graphicSelection.on("mouseover",(M,R)=>{R._visibleValue=[R.value[R.xValueIndex]],d.next({type:"multiValue",eventName:"mouseover",pluginName:t,highlightTarget:P.highlightTarget,datum:R,category:P.CategoryDataMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,data:P.computedData,event:M})}).on("mousemove",(M,R)=>{R._visibleValue=[R.value[R.xValueIndex]],d.next({type:"multiValue",eventName:"mousemove",pluginName:t,highlightTarget:P.highlightTarget,datum:R,category:P.CategoryDataMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,data:P.computedData,event:M})}).on("mouseout",(M,R)=>{d.next({type:"multiValue",eventName:"mouseout",pluginName:t,highlightTarget:P.highlightTarget,datum:R,category:P.CategoryDataMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,data:P.computedData,event:M})}).on("click",(M,R)=>{R._visibleValue=[R.value[R.xValueIndex]],d.next({type:"multiValue",eventName:"click",pluginName:t,highlightTarget:P.highlightTarget,datum:R,category:P.CategoryDataMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,data:P.computedData,event:M})})}),O({graphicSelection:A,highlight:s.pipe(L(P=>P.map(M=>M.id))),fullChartParams:a}).pipe(D(g),z(async P=>P)).subscribe(P=>{RN({selection:P.graphicSelection,ids:P.highlight,fullChartParams:P.fullChartParams})}),()=>{g.next(void 0)}},Cr="RacingBars",IN=ke({name:Cr,defaultParams:Xp,layerIndex:he,validator:(t,{validateColumns:e})=>{const n=e(t,{bar:{toBeTypes:["object"]},barLabel:{toBeTypes:["object"]},valueLabel:{toBeTypes:["object"]},axisLabel:{toBeTypes:["object"]},rankingAmount:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"},autorun:{toBeTypes:["boolean"]},loop:{toBeTypes:["boolean"]}});if(t.bar){const r=e(t.bar,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}});if(r.status==="error")return r}if(t.barLabel){const r=e(t.barLabel,{position:{toBe:'"inside" | "outside" | "none"',test:i=>i==="inside"||i==="outside"||i==="none"},padding:{toBeTypes:["number"]},rotate:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.valueLabel){const r=e(t.valueLabel,{padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},format:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.axisLabel){const r=e(t.axisLabel,{offset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}})(({selection:t,name:e,observer:n,subject:r})=>{const i=t.append("g").attr("class",`${Cr}-bars`),o=t.append("g").attr("class",`${Cr}-labels`),a=t.append("g").attr("class",`${Cr}-valueLabels`),s=new Q,l=n.fullParams$.pipe(D(s),L(S=>S.valueLabel)),u=n.fullParams$.pipe(D(s),L(S=>S.rankingAmount),K()),c=dN({containerSize$:n.containerSize$,visibleComputedData$:n.visibleComputedData$,textSizePx$:n.textSizePx$,rankingAmount$:u}).pipe(D(s),st(1)),h=gN({containerSize$:n.containerSize$,textSizePx$:n.textSizePx$,computedRankingAmount$:c}).pipe(D(s),st(1)),f=mN({visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingItemHeight$:h}).pipe(D(s),st(1)),p=wN(`${Cr}-labels`,{selection:o,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingScaleList$:f,xScale$:n.xScale$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),d=DN(`${Cr}-valueLabels`,{selection:a,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingScaleList$:f,xScale$:n.xScale$,computedRankingAmount$:c,fullParams$:l,fullChartParams$:n.fullChartParams$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),g=EN(`${Cr}-bars`,{selection:i,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,CategoryDataMap$:n.CategoryDataMap$,fullParams$:n.fullParams$,fullChartParams$:n.fullChartParams$,highlight$:n.highlight$,rankingItemHeight$:h,rankingScaleList$:f,xScale$:n.xScale$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$,event$:r.event$}),m=n.visibleComputedRankingByIndexData$.pipe(D(s),L(S=>(S[0]&&S[0][0]&&S[0][0].value.length)??0),K()),b=n.fullParams$.pipe(D(s),L(S=>S.autorun),K()),y=n.fullParams$.pipe(D(s),L(S=>S.loop),K()),x=n.fullChartParams$.pipe(D(s),L(S=>S.transitionDuration),K());let $=!0;return O({autorun:b,loop:y,valueAmount:m,tickDurationPeriod:x,fullDataFormatter:n.fullDataFormatter$}).pipe(D(s),z(async S=>S)).subscribe(({autorun:S,loop:A,valueAmount:_,tickDurationPeriod:P,fullDataFormatter:M})=>{if($!=!1&&S){const R=M.xAxis.valueIndex+1;R<_?($=!1,setTimeout(()=>{r.dataFormatter$.next({...M,xAxis:{...M.xAxis,valueIndex:R}}),$=!0},P)):R>=_&&A&&($=!1,setTimeout(()=>{r.dataFormatter$.next({...M,xAxis:{...M.xAxis,valueIndex:0}}),$=!0},P))}}),()=>{s.next(void 0),p(),d(),g()}}),ba="RacingCounterTexts",D2=q(ba,"container"),zi=q(ba,"box"),Kp=q(ba,"text"),BN={name:ba,defaultParams:jp,layerIndex:mu,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]},paddingRight:{toBeTypes:["number"]},paddingBottom:{toBeTypes:["number"]}})};function NN({selection:t,data:e,fullParams:n,containerSize:r}){const i=r.width-n.paddingRight,o=r.height-n.paddingBottom;return t.selectAll(`g.${zi}`).data([zi]).join("g").classed(zi,!0).attr("transform",`translate(${i}, ${o})`).each((s,l,u)=>{U(u[l]).selectAll(`text.${Kp}`).data(e).join("text").classed(Kp,!0).each((h,f,p)=>{const d=U(p[f]).text(h.text);Object.keys(h.attr).forEach(g=>{d.attr(g,h.attr[g])}),Object.keys(h.style).forEach(g=>{d.style(g,h.style[g])})})}).selectAll(`text.${Kp}`)}function FN({computedData:t,valueLabel:e,valueIndex:n,renderFn:r,textAttrs:i,textStyles:o}){const a=e||String(n),s=r(a,n,t);return(Array.isArray(s)?s:[s]).map((u,c)=>({text:u,attr:i[c],style:o[c]}))}function zN(t,e){const n=new Q;return O({textData:e.textData$,fullParams:e.fullParams$,containerSize:e.containerSize$}).pipe(D(n)).subscribe(r=>{NN({selection:e.containerSelection,data:r.textData,fullParams:r.fullParams,containerSize:r.containerSize})}),()=>{n.next(void 0)}}const ON=ke(BN)(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=O({computedData:n.computedData$.pipe(K((u,c)=>u.length===c.length)),isCategorySeprate:n.isCategorySeprate$}).pipe(D(i),z(async u=>u),L(u=>u.isCategorySeprate?u.computedData:[u.computedData[0]]),L((u,c)=>t.selectAll(`g.${D2}`).data(u,h=>h[0]?h[0].categoryIndex:c).join("g").classed(D2,!0)));o.pipe(D(i),L((u,c)=>u.selectAll(`g.${zi}`).data([zi]).join("g").classed(zi,!0))),O({containerSelection:o,gridContainerPosition:n.containerPosition$}).pipe(D(i),z(async u=>u)).subscribe(u=>{u.containerSelection.attr("transform",(c,h)=>{const f=u.gridContainerPosition[h]??u.gridContainerPosition[0],p=f.translate;return f.scale,`translate(${p[0]}, ${p[1]})`})});const a=O({xyValueIndex:n.xyValueIndex$,fullDataFormatter:n.fullDataFormatter$}).pipe(D(i),z(async u=>u),L(u=>u.fullDataFormatter.valueLabels[u.xyValueIndex[0]]??""),K(),st(1)),s=O({xyValueIndex:n.xyValueIndex$,valueLabel:a,computedData:n.computedData$,fullParams:n.fullParams$}).pipe(D(i),z(async u=>u),L(u=>FN({valueIndex:u.xyValueIndex[0],valueLabel:u.valueLabel,computedData:u.computedData,renderFn:u.fullParams.renderFn,textAttrs:u.fullParams.textAttrs,textStyles:u.fullParams.textStyles})),st(1)),l=[];return o.pipe(D(i)).subscribe(u=>{l.forEach(c=>c()),u.each((c,h,f)=>{const p=U(f[h]);n.visibleComputedRankingByIndexData$.pipe(D(i),L(d=>d[h]??d[0])),n.containerPosition$.pipe(D(i),L(d=>d[h]??d[0])),l[h]=zN(ba,{containerSelection:p,textData$:s,fullParams$:n.fullParams$,valueLabel$:a,xyValueIndex$:n.xyValueIndex$,containerSize$:n.containerSize$})})}),()=>{i.next(void 0),l.forEach(u=>u())}}),GN=6,WN="middle",YN="hanging",VN="start",UN="hanging";function XN({selection:t,position:e,xLabelClassName:n,fullParams:r,containerSize:i,fullDataFormatter:o,fullChartParams:a}){let l=r.tickPadding+r.labelOffset[0],u,c;e==="top"?(u=0,c=-r.tickPadding-r.labelOffset[1]):(u=i.height,c=r.tickPadding+r.labelOffset[1]);let h=c;t.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).each((f,p,d)=>{U(d[p]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",VN).attr("dominant-baseline",UN).attr("font-size",a.styles.textSize).style("fill",bt(r.labelColorType,a)).attr("x",l).attr("y",h).text(g=>o.xAxis.label)}).attr("transform",f=>`translate(${i.width}, ${u})`)}function jN({selection:t,position:e,xAxisClassName:n,fullParams:r,containerSize:i,fullChartParams:o,xScale:a,transitionDuration:s}){let l,u;e==="top"?(l=0,u=Rc(a)):(l=i.height,u=am(a));const c=t.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).attr("transform",`translate(0, ${l})`);let h=r.tickPadding;const f=u.scale(a).ticks(r.ticks).tickFormat(g=>On(g,r.tickFormat)).tickSize(r.tickFullLine==!0?-i.height:GN).tickSizeOuter(-i.height).tickPadding(h),p=c.transition().duration(s).ease(Ze).call(f);return p.selectAll("line").style("fill","none").style("stroke",r.tickLineVisible==!0?bt(r.tickColorType,o):"none").style("stroke-dasharray",r.tickFullLineDasharray).attr("pointer-events","none"),p.selectAll("path").style("fill","none").style("stroke",r.axisLineVisible==!0?bt(r.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),c.selectAll("text").attr("font-size",o.styles.textSize).style("color",bt(r.tickTextColorType,o)).attr("text-anchor",WN).attr("dominant-baseline",YN).attr("dy",0),c}const Qp=(t,{selection:e,position$:n,computedData$:r,fullParams$:i,fullDataFormatter$:o,fullChartParams$:a,isCategorySeprate$:s,containerPosition$:l,containerSize$:u,xScale$:c,transitionDuration$:h})=>{const f=new Q,p=q(t,"xAxisG"),d=q(t,"xAxis"),g=q(t,"xLabel"),b=ya({selection:e,pluginName:t,clipPathID:null,computedData$:r,containerPosition$:l,isCategorySeprate$:s}).pipe(D(f)).pipe(D(f),L((y,x)=>y.selectAll(`g.${p}`).data([p]).join("g").classed(p,!0)));return O({axisSelection:b,position:n,fullParams:i,computedData:r,containerSize:u,fullDataFormatter:o,fullChartParams:a,xScale:c,transitionDuration:h}).pipe(D(f),z(async y=>y)).subscribe(y=>{jN({selection:y.axisSelection,position:y.position,xAxisClassName:d,fullParams:y.fullParams,containerSize:y.containerSize,fullChartParams:y.fullChartParams,xScale:y.xScale,transitionDuration:y.transitionDuration}),XN({selection:y.axisSelection,position:y.position,xLabelClassName:g,fullParams:y.fullParams,containerSize:y.containerSize,fullDataFormatter:y.fullDataFormatter,fullChartParams:y.fullChartParams})}),()=>{f.next(void 0)}},M2="RacingValueAxis",HN=ke({name:M2,defaultParams:Hp,layerIndex:ze,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});return n.status==="error",n}})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=n.fullChartParams$.pipe(D(i),L(s=>s.transitionDuration),K()),a=Qp(M2,{selection:t,position$:We("top"),transitionDuration$:o,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$});return()=>{i.next(void 0),a()}}),Sn="Scatter",qN={name:Sn,defaultParams:w2,layerIndex:gu,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]}})};function ZN({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedXYData:r,fullParams:i,fullChartParams:o,graphicReverseScale:a}){const s=c=>{const h=c.size();return o.transitionDuration/h};let l=0;return t.each((c,h,f)=>{U(f[h]).selectAll("g").data(r[h],p=>p.id).join(p=>(l=s(p),p.append("g").classed(e,!0)),p=>p,p=>p.remove()).attr("transform",p=>`translate(${p.axisX}, ${p.axisY})`).each((p,d,g)=>{U(g[d]).selectAll("circle").data([p]).join(m=>m.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((b,y)=>d*l).attr("opacity",1),m=>m.transition().duration(50).attr("opacity",1),m=>m.remove()).attr("r",i.radius).attr("fill",(m,b)=>St({datum:m,colorType:i.fillColorType,fullChartParams:o})).attr("stroke",(m,b)=>St({datum:m,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${a[h][0]??1}, ${a[h][1]??1})`)})}),t.selectAll(`circle.${n}`)}function KN({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.id)?U(o[i]).style("opacity",1).transition("highlight").duration(200):U(o[i]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function QN({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const JN=ke(qN)(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=ie(Sn,"clipPath-box"),a=q(Sn,"circleG"),s=q(Sn,"circle"),{categorySelection$:l,axesSelection$:u,defsSelection$:c,graphicGSelection$:h}=Zp({selection:t,pluginName:Sn,clipPathID:o,categoryLabels$:r.categoryLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),f=O({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(D(i),z(async g=>g),L(g=>g.computedData.map((m,b)=>g.graphicReverseScale[b])));O({defsSelection:c,layout:r.layout$}).pipe(D(i),z(async g=>g)).subscribe(g=>{const m=[{id:o,width:g.layout.width,height:g.layout.height}];QN({defsSelection:g.defsSelection,clipPathData:m})});const p=O({graphicGSelection:h,visibleComputedXYData:r.visibleComputedXYData$,graphicReverseScale:f,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(D(i),z(async g=>g),L(g=>ZN({graphicGSelection:g.graphicGSelection,circleGClassName:a,circleClassName:s,visibleComputedXYData:g.visibleComputedXYData,fullParams:g.fullParams,fullChartParams:g.fullChartParams,graphicReverseScale:g.graphicReverseScale}))),d=r.fullChartParams$.pipe(D(i),L(g=>g.highlightTarget),K());return O({graphicSelection:p,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:d}).pipe(D(i),z(async g=>g)).subscribe(g=>{g.graphicSelection.on("mouseover",(m,b)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:Sn,highlightTarget:g.highlightTarget,datum:b,category:g.CategoryDataMap.get(b.categoryLabel),categoryIndex:b.categoryIndex,categoryLabel:b.categoryLabel,data:g.computedData,event:m})}).on("mousemove",(m,b)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:Sn,highlightTarget:g.highlightTarget,datum:b,category:g.CategoryDataMap.get(b.categoryLabel),categoryIndex:b.categoryIndex,categoryLabel:b.categoryLabel,data:g.computedData,event:m})}).on("mouseout",(m,b)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:Sn,highlightTarget:g.highlightTarget,datum:b,category:g.CategoryDataMap.get(b.categoryLabel),categoryIndex:b.categoryIndex,categoryLabel:b.categoryLabel,data:g.computedData,event:m})}).on("click",(m,b)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:Sn,highlightTarget:g.highlightTarget,datum:b,category:g.CategoryDataMap.get(b.categoryLabel),categoryIndex:b.categoryIndex,categoryLabel:b.categoryLabel,data:g.computedData,event:m})})}),O({graphicSelection:p,highlight:r.highlight$.pipe(L(g=>g.map(m=>m.id))),fullChartParams:r.fullChartParams$}).pipe(D(i),z(async g=>g)).subscribe(g=>{KN({selection:g.graphicSelection,ids:g.highlight,fullChartParams:g.fullChartParams})}),()=>{i.next(void 0)}}),_n="ScatterBubbles",tF=.9,eF={name:_n,defaultParams:T2,layerIndex:gu,validator:(t,{validateColumns:e})=>e(t,{fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},valueLinearOpacity:{toBeTypes:["number[]"]},arcScaleType:{toBe:"ArcScaleType",test:r=>r==="area"||r==="radius"},sizeAdjust:{toBeTypes:["number"]}})};function nF({graphicGSelection:t,circleGClassName:e,circleClassName:n,bubbleData:r,fullParams:i,fullChartParams:o,graphicReverseScale:a}){const s=c=>{const h=c.size();return o.transitionDuration/h};let l=0;return t.each((c,h,f)=>{U(f[h]).selectAll("g").data(r[h],p=>p.id).join(p=>(l=s(p),p.append("g").classed(e,!0)),p=>p,p=>p.remove()).attr("transform",p=>`translate(${p.axisX}, ${p.axisY})`).each((p,d,g)=>{U(g[d]).selectAll("circle").data([p]).join(m=>m.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((b,y)=>d*l).attr("opacity",.8),m=>m.transition().duration(50).attr("opacity",.8),m=>m.remove()).attr("r",m=>m.r).attr("fill",(m,b)=>St({datum:m,colorType:i.fillColorType,fullChartParams:o})).attr("stroke",(m,b)=>St({datum:m,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${a[h][0]??1}, ${a[h][1]??1})`)})}),t.selectAll(`circle.${n}`)}function rF({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}t.each((r,i,o)=>{e.includes(r.id)?U(o[i]).style("opacity",s=>s.opacity).transition("highlight").duration(200):U(o[i]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function iF({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{U(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const oF=ke(eF)(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=ie(_n,"clipPath-box"),a=q(_n,"circleG"),s=q(_n,"circle"),{categorySelection$:l,axesSelection$:u,defsSelection$:c,graphicGSelection$:h}=Zp({selection:t,pluginName:_n,clipPathID:o,categoryLabels$:r.categoryLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),f=O({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(D(i),z(async _=>_),L(_=>_.computedData.map((P,M)=>_.graphicReverseScale[M])));O({defsSelection:c,layout:r.layout$}).pipe(D(i),z(async _=>_)).subscribe(_=>{const P=[{id:o,width:_.layout.width,height:_.layout.height}];iF({defsSelection:_.defsSelection,clipPathData:P})});const p=r.filteredXYMinMaxData$.pipe(D(i),L(_=>_.datumList.flat().map(P=>P.value[2]??0)),st(1)),d=r.filteredXYMinMaxData$.pipe(D(i),L(_=>lc(_.datumList.flat().map(P=>P.value[2]??0)))),g=O({filteredMinMaxValue:d,fullParams:r.fullParams$}).pipe(D(i),z(async _=>_),L(_=>Sr().domain(_.filteredMinMaxValue).range(_.fullParams.valueLinearOpacity))),m=O({layout:r.layout$,fullParams:r.fullParams$}).pipe(D(i),L(_=>Math.min(_.layout.width,_.layout.height)/2*_.fullParams.sizeAdjust)),b=p.pipe(D(i),L(_=>_.reduce((P,M)=>P+M,0)),Ir(_=>_>0)),y=O({totalR:m,totalValue:b,fullParams:r.fullParams$}).pipe(D(i),z(async _=>_),L(_=>In().domain([0,_.totalValue]).range([0,_.totalR]).exponent(_.fullParams.arcScaleType==="area"?.5:1))),x=O({radiusScale:y,fullParams:r.fullParams$,totalR:m,filteredValueList:p}).pipe(D(i),z(async _=>_),L(_=>_.fullParams.arcScaleType==="area"?1:(()=>{const P=_.totalR*_.totalR*Math.PI;return Math.sqrt(P/Lc(_.filteredValueList,M=>Math.PI*Math.pow(_.radiusScale(M),2)))})())),$=O({visibleComputedXYData:r.visibleComputedXYData$,opacityScale:g,radiusScale:y,scaleFactor:x,fullParams:r.fullParams$}).pipe(D(i),z(async _=>_),L(_=>_.visibleComputedXYData.map(P=>P.map(M=>{const R=M;return R.r=_.radiusScale(R.value[2])*_.scaleFactor*tF,R.opacity=_.opacityScale(R.value[2]),R})))),S=O({graphicGSelection:h,bubbleData:$,graphicReverseScale:f,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(D(i),z(async _=>_),L(_=>nF({graphicGSelection:_.graphicGSelection,circleGClassName:a,circleClassName:s,bubbleData:_.bubbleData,fullParams:_.fullParams,fullChartParams:_.fullChartParams,graphicReverseScale:_.graphicReverseScale}))),A=r.fullChartParams$.pipe(D(i),L(_=>_.highlightTarget),K());return O({graphicSelection:S,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:A}).pipe(D(i),z(async _=>_)).subscribe(_=>{_.graphicSelection.on("mouseover",(P,M)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:_n,highlightTarget:_.highlightTarget,datum:M,category:_.CategoryDataMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,data:_.computedData,event:P})}).on("mousemove",(P,M)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:_n,highlightTarget:_.highlightTarget,datum:M,category:_.CategoryDataMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,data:_.computedData,event:P})}).on("mouseout",(P,M)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:_n,highlightTarget:_.highlightTarget,datum:M,category:_.CategoryDataMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,data:_.computedData,event:P})}).on("click",(P,M)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:_n,highlightTarget:_.highlightTarget,datum:M,category:_.CategoryDataMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,data:_.computedData,event:P})})}),O({graphicSelection:S,highlight:r.highlight$.pipe(L(_=>_.map(P=>P.id))),fullChartParams:r.fullChartParams$}).pipe(D(i),z(async _=>_)).subscribe(_=>{rF({selection:_.graphicSelection,ids:_.highlight,fullChartParams:_.fullChartParams})}),()=>{i.next(void 0)}}),L2="XAxis",aF=ke({name:L2,defaultParams:qp,layerIndex:ze,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});return n.status==="error",n}})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=Qp(L2,{selection:t,position$:We("bottom"),transitionDuration$:We(100),computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$});return()=>{i.next(void 0),o()}}),$u="XYAux",Jp=q($u,"label-box"),sF={name:$u,defaultParams:bu,layerIndex:Cv,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function lF({axisX:t,axisY:e,layout:n,fullParams:r}){return t>=0&&t<=n.width&&e>=0&&e<=n.height?[{id:"line-x",x1:t,x2:t,y1:0,y2:n.height,dashArray:r.xAxis.lineDashArray??"none",colorType:r.xAxis.lineColorType},{id:"line-0",x1:0,x2:n.width,y1:e,y2:e,dashArray:r.yAxis.lineDashArray??"none",colorType:r.yAxis.lineColorType}]:[]}function uF({axisX:t,axisY:e,xValue:n,yValue:r,fullParams:i,textSizePx:o,layout:a,columnAmount:s,rowAmount:l}){if(!(t>=0&&t<=a.width&&e>=0&&e<=a.height))return[];const u=6,c=3,h=t,f=a.height+i.xAxis.labelPadding*l,p=On(n,i.xAxis.labelTextFormat),d=p.split(`
205
+ `),g=d.reduce((I,W)=>W.length>I.length?W:I,""),m=da(g,o),b=o*d.length,y=m+u*2,x=b+c*2,$=-y/2,S=-c,A=$+u,_=S+c,P=-(i.yAxis.labelPadding*s),M=e,R=On(r,i.yAxis.labelTextFormat),v=R.split(`
206
+ `),E=v.reduce((I,W)=>W.length>I.length?W:I,""),k=da(E,o),T=o*v.length,w=k+u*2,C=T+c*2,F=-k-u,G=-c-T/2,B=F+u,N=G+c;return[{id:"label-x",x:h,y:f,text:p,textArr:d,textWidth:m,textHeight:b,colorType:i.xAxis.labelColorType,textColorType:i.xAxis.labelTextColorType,rectWidth:y,rectHeight:x,rectX:$,rectY:S,textX:A,textY:_},{id:"label-y",x:P,y:M,text:R,textArr:v,textWidth:k,textHeight:T,colorType:i.yAxis.labelColorType,textColorType:i.xAxis.labelTextColorType,rectWidth:w,rectHeight:C,rectX:F,rectY:G,textX:B,textY:N}]}function cF({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:i}){const o=q(e,"auxline");return t.selectAll(`line.${o}`).data(n).join(s=>s.append("line").classed(o,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),s=>s.transition().duration(50).attr("x1",u=>u.x1).attr("y1",u=>u.y1).attr("x2",u=>u.x2).attr("y2",u=>u.y2),s=>s.remove()).style("stroke",s=>bt(s.colorType,i)).style("stroke-dasharray",s=>s.dashArray)}function fF(t){t.selectAll("line").data([]).exit().remove()}function hF({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:i,textReverseTransform:o,textSizePx:a}){return t.selectAll(`g.${Jp}`).data(e).join(l=>l.append("g").classed(Jp,!0).style("cursor","pointer").attr("transform",(u,c)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(c,h)=>`translate(${c.x}, ${c.y})`),l=>l.remove()).each((l,u,c)=>{U(c[u]).selectAll("rect").data([l]).join(h=>h.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),h=>h,h=>h.remove()).attr("width",h=>`${h.rectWidth}px`).attr("height",h=>`${h.rectHeight}px`).attr("fill",h=>bt(h.colorType,i)).attr("x",h=>h.rectX).attr("y",h=>h.rectY).style("transform",o),U(c[u]).selectAll("text").data([l]).join(h=>h.append("text").style("dominant-baseline","hanging").style("cursor","pointer").style("pointer-events","none"),h=>h,h=>h.remove()).style("transform",o).attr("fill",h=>bt(h.textColorType,i)).attr("font-size",i.styles.textSize).attr("x",h=>h.textX).attr("y",h=>h.textY).each((h,f,p)=>{Cp(U(p[f]),{textArr:l.textArr,textSizePx:a,groupAxisPosition:f===0?"bottom":"left",isContainerRotated:!1})})})}function pF(t){t.selectAll(`g.${Jp}`).data([]).exit().remove()}const dF=ke(sF)(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=e.insert("rect","g").classed(q($u,"rect"),!0).attr("opacity",0),{categorySelection$:s,axesSelection$:l,defsSelection$:u,graphicGSelection$:c}=Zp({selection:t,pluginName:$u,clipPathID:"test",categoryLabels$:i.isCategorySeprate$.pipe(z(m=>Yn(()=>m,i.categoryLabels$,i.categoryLabels$.pipe(L(b=>[b[0]]))))),containerPosition$:i.containerPosition$,graphicTransform$:i.graphicTransform$});i.layout$.pipe(D(o)).subscribe(m=>{a.attr("width",m.rootWidth).attr("height",m.rootHeight)});const h=i.containerPosition$.pipe(L(m=>m.reduce((y,x)=>x.columnIndex>y?x.columnIndex:y,0)+1),K()),f=i.containerPosition$.pipe(L(m=>m.reduce((y,x)=>x.rowIndex>y?x.rowIndex:y,0)+1),K()),p=i.containerPosition$.pipe(D(o),z(async m=>m),L(m=>`${`scale(${1/m[0].scale[0]}, ${1/m[0].scale[1]})`}`),K()),d=pN({rootSelection:e,fullDataFormatter$:i.fullDataFormatter$,filteredXYMinMaxData$:i.filteredXYMinMaxData$,containerPosition$:i.containerPosition$,layout$:i.layout$}).pipe(D(o));O({axesSelection:l,layout:i.layout$,xyPosition:d,fullParams:i.fullParams$,fullDataFormatter:i.fullDataFormatter$,fullChartParams:i.fullChartParams$,textReverseTransform:p,textSizePx:i.textSizePx$,columnAmount:h,rowAmount:f}).pipe(D(o),z(async m=>m)).subscribe(m=>{const{x:b,y,xValue:x,yValue:$}=m.xyPosition,S=lF({axisX:b,axisY:y,layout:m.layout,fullParams:m.fullParams});cF({selection:m.axesSelection,pluginName:n,lineData:S,fullParams:m.fullParams,fullChartParams:m.fullChartParams});const A=uF({axisX:b,axisY:y,xValue:x,yValue:$,fullParams:m.fullParams,textSizePx:m.textSizePx,layout:m.layout,columnAmount:m.columnAmount,rowAmount:m.rowAmount});hF({selection:m.axesSelection,labelData:A,fullParams:m.fullParams,fullDataFormatter:m.fullDataFormatter,fullChartParams:m.fullChartParams,textReverseTransform:m.textReverseTransform,textSizePx:m.textSizePx})});const g=ga(a,"mouseout").pipe(D(o));return O({rootRectMouseout:g,axesSelection:l}).pipe(D(o),z(async m=>m)).subscribe(m=>{setTimeout(()=>{fF(m.axesSelection),pF(m.axesSelection)})}),()=>{o.next(void 0),a.remove()}}),gF=6,mF="end",yF="middle",bF="end",xF="auto";function $F({selection:t,yLabelClassName:e,fullParams:n,containerSize:r,fullDataFormatter:i,fullChartParams:o}){const a=n.tickPadding-n.labelOffset[0],s=n.tickPadding+n.labelOffset[1];let l=-a,u=-s;t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((c,h,f)=>{U(f[h]).selectAll("text").data([c]).join(p=>p.append("text").style("font-weight","bold"),p=>p,p=>p.remove()).attr("text-anchor",bF).attr("dominant-baseline",xF).attr("font-size",o.styles.textSize).style("fill",bt(n.labelColorType,o)).attr("x",l).attr("y",u).text(p=>i.yAxis.label)})}function vF({selection:t,yAxisClassName:e,fullParams:n,containerSize:r,fullDataFormatter:i,fullChartParams:o,yScale:a}){const s=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let l=n.tickPadding;const u=Ec(a).scale(a).ticks(n.ticks).tickFormat(h=>On(h,n.tickFormat)).tickSize(n.tickFullLine==!0?-r.width:gF).tickPadding(l),c=s.transition().duration(100).ease(Ze).call(u);return c.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?bt(n.tickColorType,o):"none").style("stroke-dasharray",n.tickFullLineDasharray).attr("pointer-events","none"),c.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?bt(n.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),s.selectAll("text").attr("font-size",o.styles.textSize).style("color",bt(n.tickTextColorType,o)).attr("text-anchor",mF).attr("dominant-baseline",yF).attr("x",-l).attr("dy",0),s}const SF=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:i,fullChartParams$:o,isCategorySeprate$:a,containerPosition$:s,containerSize$:l,yScale$:u})=>{const c=new Q,h=q(t,"yAxisG"),f=q(t,"yAxis"),p=q(t,"yLabel"),g=ya({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:s,isCategorySeprate$:a}).pipe(D(c)).pipe(D(c),L((m,b)=>m.selectAll(`g.${h}`).data([h]).join("g").classed(h,!0)));return O({axisSelection:g,fullParams:r,computedData:n,containerSize:l,fullDataFormatter:i,fullChartParams:o,yScale:u}).pipe(D(c),z(async m=>m)).subscribe(m=>{vF({selection:m.axisSelection,yAxisClassName:f,fullParams:m.fullParams,containerSize:m.containerSize,fullDataFormatter:m.fullDataFormatter,fullChartParams:m.fullChartParams,yScale:m.yScale}),$F({selection:m.axisSelection,yLabelClassName:p,fullParams:m.fullParams,containerSize:m.containerSize,fullDataFormatter:m.fullDataFormatter,fullChartParams:m.fullChartParams})}),()=>{c.next(void 0)}},td="XYAxes",_F=ke({name:td,defaultParams:xu,layerIndex:ze,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{labelOffset:{toBe:"[number, number]",test:i=>Array.isArray(i)&&i.length===2&&typeof i[0]=="number"&&typeof i[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}})(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,o=n.fullParams$.pipe(D(i),L(u=>u.xAxis),K((u,c)=>JSON.stringify(u)===JSON.stringify(c))),a=n.fullParams$.pipe(D(i),L(u=>u.xAxis),K((u,c)=>JSON.stringify(u)===JSON.stringify(c))),s=Qp(`${td}-x`,{selection:t,position$:We("bottom"),transitionDuration$:We(100),computedData$:n.computedData$,fullParams$:o,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$}),l=SF(`${td}-y`,{selection:t,computedData$:n.computedData$,fullParams$:a,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,yScale$:n.yScale$});return()=>{i.next(void 0),s(),l()}}),wF=ke({name:"XZoom",defaultParams:A2,layerIndex:Pv,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})})(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new Q;let a={k:1,x:0,y:0};const s=r.fullDataFormatter$.pipe(L(h=>h.xAxis),Xi()),l=r.fullDataFormatter$.pipe(L(h=>h.yAxis),Xi()),u=new gt(h=>{O({initXAxis:s,layout:r.layout$,xyMinMax:r.xyMinMax$}).pipe(D(o),z(async f=>f)).subscribe(f=>{const p=xc({maxValue:f.xyMinMax.maxX,minValue:f.xyMinMax.minX,axisWidth:f.layout.width,scaleDomain:f.initXAxis.scaleDomain,scaleRange:f.initXAxis.scaleRange});h.next(p)})}),c=O({initXAxis:s,initYAxis:l,xyMinMax:r.xyMinMax$}).pipe(D(o),z(async h=>h),L(h=>{let f=h.xyMinMax.minX,p=h.xyMinMax.maxX,d=h.xyMinMax.minY,g=h.xyMinMax.maxY;return h.initXAxis.scaleDomain[0]==="auto"&&f>0&&(f=0),h.initXAxis.scaleDomain[1]==="auto"&&p<0&&(p=0),h.initYAxis.scaleDomain[0]==="auto"&&d>0&&(d=0),h.initYAxis.scaleDomain[1]==="auto"&&g<0&&(g=0),{minX:f,maxX:p,minY:d,maxY:g}}));return O({initXScale:u,fullDataFormatter:r.fullDataFormatter$,minMaxScaleDomain:c}).pipe(D(o),z(async h=>h)).subscribe(h=>{const f=h.initXScale.copy(),p=vn().on("zoom",function(g){const m=g.transform,b=$=>{const S=Math.round($);return Math.min(h.minMaxScaleDomain.maxX,Math.max(h.minMaxScaleDomain.minX,S))},y=m.rescaleX(f).domain().map(b);y[0]<=h.minMaxScaleDomain.minX&&y[1]>=h.minMaxScaleDomain.maxX?m.k<a.k&&(m.k=a.k,m.x=a.x,m.y=a.y):y[1]-y[0]<=1&&m.k>a.k&&(m.k=a.k,m.x=a.x,m.y=a.y),a.k=m.k,a.x=m.x,a.y=m.y;const x={...h.fullDataFormatter,xAxis:{...h.fullDataFormatter.xAxis,scaleDomain:y}};i.dataFormatter$.next(x)});e.call(p)}),()=>{o.next(void 0),e.call(vn().on("zoom",null))}}),TF={header:{height:36,text:[],textStyle:[]},footer:{height:0,text:[],textStyle:[]}},k2={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,textRenderFn:t=>{if(t.highlightTarget==="datum"&&t.datum)return[`${t.datum.label}: ${t.datum.value}`];if(t.highlightTarget==="series"){const e=t.seriesLabel,n=t.series.filter(i=>i.visible==!0).map(i=>i.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="group"){const e=t.groupLabel,n=t.series.filter(i=>i.visible==!0).map(i=>i.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="category"){const e=t.categoryLabel,n=t.category.filter(i=>i.visible==!0).map(i=>i.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}return[]},svgRenderFn:null};k2.textRenderFn.toString=()=>`(eventData) => {
124
207
  if (eventData.highlightTarget === 'datum' && eventData.datum) {
125
208
  return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
126
209
  } else if (eventData.highlightTarget === 'series') {
@@ -158,20 +241,59 @@ ${u}`}};vp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
158
241
  return [label, value]
159
242
  }
160
243
  return []
161
- }`;const s2={node:{dotRadius:10,dotFillColorType:"label",dotStrokeColorType:"label",dotStrokeWidth:1,dotStyleFn:t=>"",labelColorType:"primary",labelSizeFixed:!1,labelStyleFn:t=>"text-shadow:0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff"},edge:{arrowColorType:"primary",arrowStrokeWidth:1.5,arrowWidth:5,arrowHeight:5,arrowStyleFn:t=>"",labelColorType:"secondary",labelSizeFixed:!1,labelStyleFn:t=>""},force:{nodeStrength:-500,linkDistance:100,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}},l2={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Ip={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,i=!!t.datum.label,o=e.textSizePx*.7,a=e.textSizePx/2-o/2,s=r?`<rect width="${o}" height="${o}" x="${a}" y="${a-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
244
+ }`;const Oi={dot:{radius:10,fillColorType:"label",strokeColorType:"label",strokeWidth:1,styleFn:t=>""},dotLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},arrow:{colorType:"primary",strokeWidth:1.5,pointerWidth:5,pointerHeight:5,styleFn:t=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},force:{nodeStrength:-500,linkDistance:100,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};Oi.dot.styleFn.toString=()=>"(node) => ''",Oi.dotLabel.styleFn.toString=()=>"(node) => ''",Oi.arrow.styleFn.toString=()=>"(edge) => ''",Oi.arrowLabel.styleFn.toString=()=>"(edge) => ''";const Gi={bubble:{radiusMin:15,radiusMax:45,arcScaleType:"area",fillColorType:"label",strokeColorType:"label",strokeWidth:1,styleFn:t=>""},bubbleLabel:{fillRate:.9,lineHeight:1,maxLineLength:6,wordBreakAll:!0,colorType:"labelContrast",styleFn:t=>""},arrow:{colorType:"primary",strokeWidthMin:1.5,strokeWidthMax:4.5,pointerWidth:5,pointerHeight:5,styleFn:t=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},force:{nodeStrength:-500,linkDistance:130,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};Gi.bubble.styleFn.toString=()=>"(node) => ''",Gi.bubbleLabel.styleFn.toString=()=>"(node) => ''",Gi.arrow.styleFn.toString=()=>"(edge) => ''",Gi.arrowLabel.styleFn.toString=()=>"(edge) => ''";const R2={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},ed={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,i=!!t.datum.label,o=n.toCurrency(t.datum.value),a=e.textSizePx*.7,s=e.textSizePx/2-a/2,l=r?`<rect width="${a}" height="${a}" x="${s}" y="${s-1}" rx="${a/2}" fill="${t.datum.color}"></rect>
162
245
  <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
163
246
  <tspan>${t.categoryLabel}</tspan>
164
- </text>`:"",l=i?`<tspan>${t.datum.label}</tspan> `:"",u=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
165
- ${l}<tspan font-weight="bold">${t.datum.value}</tspan>
166
- </text>`;return`${s}
247
+ </text>`:"",u=i?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.categoryLabel}${o}`,e.textSizePx)+e.textSizePx*1.5:0,h=i?n.measureTextWidth(`${t.datum.label}${o}`,e.textSizePx):0,f=Math.max(c,h),p=i?f+e.textSizePx*.5:0,d=i?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
248
+ ${u}<tspan font-weight="bold" text-anchor="${d}" x="${p}">${o}</tspan>
249
+ </text>`;return`${l}
167
250
  <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
168
- ${u}
169
- </g>`}};Ip.renderFn.toString=()=>'(eventData, { styles, utils }) => {\n const hasCategoryLabel = eventData.categoryLabel ? true : false\n const hasDatumLabel = eventData.datum.label ? true : false\n const bulletWidth = styles.textSizePx * 0.7\n const offset = (styles.textSizePx / 2) - (bulletWidth / 2)\n const categorySvg = hasCategoryLabel\n ? `<rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${offset - 1}" rx="${bulletWidth / 2}" fill="${eventData.datum.color}"></rect>\n<text x="${styles.textSizePx * 1.5}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">\n <tspan>${eventData.categoryLabel}</tspan>\n</text>`\n : \'\'\n const datumLabelSvg = hasDatumLabel\n ? `<tspan>${eventData.datum.label}</tspan> `\n : \'\'\n const datumSvg = `<text font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">\n ${datumLabelSvg}<tspan font-weight="bold">${eventData.datum.value}</tspan>\n</text>`\n\n return `${categorySvg}\n<g ${hasCategoryLabel ? `transform="translate(0, ${styles.textSizePx * 2})"` : \'\'}>\n ${datumSvg}\n</g>`\n}';const Ft="ForceDirected",gN=K(Ft,"zoom-area"),u2=Be(Ft,"arrow"),c2=K(Ft,"arrow-marker"),mN=K(Ft,"edge-list-g"),yN=K(Ft,"edge-g"),f2=K(Ft,"edge-arrow-path"),h2=K(Ft,"edge-label-g"),p2=K(Ft,"edge-label"),bN=K(Ft,"node-list-g"),xN=K(Ft,"node-g"),d2=K(Ft,"node-circle"),g2=K(Ft,"node-label-g"),m2=K(Ft,"node-label"),vN={name:Ft,defaultParams:s2,layerIndex:Te,validator:(t,{validateColumns:e})=>{const n=e(t,{node:{toBeTypes:["object"]},edge:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.node){const r=e(t.node,{dotRadius:{toBeTypes:["number"]},dotFillColorType:{toBeOption:"ColorType"},dotStrokeColorType:{toBeOption:"ColorType"},dotStrokeWidth:{toBeTypes:["number"]},dotStyleFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},labelSizeFixed:{toBeTypes:["boolean"]},labelStyleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.edge){const r=e(t.edge,{arrowColorType:{toBeOption:"ColorType"},arrowStrokeWidth:{toBeTypes:["number"]},arrowWidth:{toBeTypes:["number"]},arrowHeight:{toBeTypes:["number"]},arrowStyleFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},labelSizeFixed:{toBeTypes:["boolean"]},labelStyleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function $N(t,e){return Df().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Ly().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",Cf().strength(e.force.nodeStrength)).force("collision",Pf(e.node.dotRadius).strength(1)).force("center",Py(t.width/2,t.height/2))}function y2(t){return"translate("+t.x+","+t.y+")"}function _N(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function SN(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function wN(t,e){return t.selectAll(`marker.${c2}`).data([e]).join(n=>{const r=n.append("marker").classed(c2,!0).attr("id",u2).attr("viewBox",i=>`-${i.edge.arrowWidth} -${i.edge.arrowHeight/2} ${i.edge.arrowWidth} ${i.edge.arrowHeight}`).attr("orient","auto");return r.append("path").attr("d",i=>`M${-i.edge.arrowWidth},${-i.edge.arrowHeight/2}L0,0L${-i.edge.arrowWidth},${i.edge.arrowHeight/2}`),r},n=>n,n=>n.remove()).attr("markerWidth",n=>n.edge.arrowWidth).attr("markerHeight",n=>n.edge.arrowHeight).attr("refX",n=>n.node.dotRadius/n.edge.arrowStrokeWidth).attr("refY",0)}function TN(t,e){function n(o){o.active||t.alphaTarget(.3).restart(),o.subject.fx=o.subject.x,o.subject.fy=o.subject.y,e.next("start")}function r(o){o.subject.fx=o.x,o.subject.fy=o.y,e.next("drag")}function i(o){o.active||t.alphaTarget(0),o.subject.fx=null,o.subject.fy=null,e.next("end")}return Lc().on("start",n).on("drag",r).on("end",i)}function AN({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(xN,!0),n=>n,n=>n.remove())}function PN({nodeGSelection:t,nodes:e,fullParams:n,fullChartParams:r}){return t.each((i,o,a)=>{V(a[o]).selectAll("circle").data([i]).join(l=>l.append("circle").classed(d2,!0).attr("cursor","pointer"),l=>l,l=>l.remove()).attr("r",n.node.dotRadius).attr("fill",l=>zt({datum:l,colorType:n.node.dotFillColorType,fullChartParams:r})).attr("stroke",l=>zt({datum:l,colorType:n.node.dotStrokeColorType,fullChartParams:r})).attr("stroke-width",n.node.dotStrokeWidth).attr("style",l=>n.node.dotStyleFn(l))}),t.select(`circle.${d2}`)}function DN({nodeGSelection:t}){return t.each((e,n,r)=>{V(r[n]).selectAll("g").data([e]).join(o=>o.append("g").classed(g2,!0),o=>o,o=>o.remove())}),t.select(`g.${g2}`)}function CN({nodeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{V(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(m2,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.label).attr("fill",s=>zt({datum:s,colorType:e.node.labelColorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",s=>e.node.labelStyleFn(s))}),t.select(`text.${m2}`)}function MN({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(yN,!0),n=>n,n=>n.remove())}function LN({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{V(o[i]).selectAll("path").data([r]).join(s=>s.append("path").classed(f2,!0).attr("marker-end",`url(#${u2})`),s=>s,s=>s.remove()).attr("stroke",s=>zt({datum:s.data,colorType:e.edge.arrowColorType,fullChartParams:n})).attr("stroke-width",e.edge.arrowStrokeWidth).attr("style",s=>e.edge.arrowStyleFn(s))}),t.select(`path.${f2}`)}function kN({edgeGSelection:t}){return t.each((e,n,r)=>{V(r[n]).selectAll("g").data([e]).join(o=>o.append("g").classed(h2,!0),o=>o,o=>o.remove())}),t.select(`g.${h2}`)}function RN({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{V(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(p2,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.label).attr("fill",s=>zt({datum:s,colorType:e.edge.labelColorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",s=>e.edge.labelStyleFn(s))}),t.select(`text.${p2}`)}function EN({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((i,o,a)=>{const s=V(a[o]);n.includes(i.id)?s.style("opacity",1).transition("highlight").ease(ri).duration(500):s.style("opacity",r.styles.unhighlightedOpacity)})}const IN=oc(vN)(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new J,a=t.append("g").classed(gN,!0),s=a.append("defs"),l=a.append("g").classed(mN,!0),u=a.append("g").classed(bN,!0);let c,f,h,p,d,m,g,y;const b=new ud("end"),v=new J;r.fullParams$.pipe(L(o),E(S=>wN(s,S))).subscribe();const x=r.fullParams$.pipe(L(o),E(S=>{let A=S.zoomable?vr().on("zoom",P=>{a.attr("transform",`translate(
170
- ${P.transform.x},
171
- ${P.transform.y}
251
+ ${g}
252
+ </g>`}};ed.renderFn.toString=()=>`(eventData, { styles, utils }) => {
253
+ const hasCategoryLabel = eventData.categoryLabel ? true : false
254
+ const hasDatumLabel = eventData.datum.label ? true : false
255
+ const valueText = utils.toCurrency(eventData.datum.value)
256
+ const bulletWidth = styles.textSizePx * 0.7
257
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
258
+ const categorySvg = hasCategoryLabel
259
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
260
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
261
+ <tspan>\${eventData.categoryLabel}</tspan>
262
+ </text>\`
263
+ : ''
264
+ const datumLabelSvg = hasDatumLabel
265
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
266
+ : ''
267
+ const categoryLabelTextWidth = hasCategoryLabel
268
+ ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
269
+ : 0
270
+ const datumLabelTextWidth = hasDatumLabel
271
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
272
+ : 0
273
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
274
+ const lineEndX = hasDatumLabel
275
+ ? maxTextWidth + styles.textSizePx * 0.5
276
+ : 0
277
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
278
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
279
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
280
+ </text>\`
281
+
282
+ return \`\${categorySvg}
283
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
284
+ \${datumSvg}
285
+ </g>\`
286
+ }`;const zt="ForceDirected",AF=q(zt,"zoom-area"),E2=ie(zt,"arrow"),I2=q(zt,"arrow-marker"),PF=q(zt,"edge-list-g"),CF=q(zt,"edge-g"),B2=q(zt,"edge-arrow-path"),N2=q(zt,"edge-label-g"),F2=q(zt,"edge-label"),DF=q(zt,"node-list-g"),MF=q(zt,"node-g"),z2=q(zt,"node-circle"),O2=q(zt,"node-label-g"),G2=q(zt,"node-label"),LF={name:zt,defaultParams:Oi,layerIndex:he,validator:(t,{validateColumns:e})=>{const n=e(t,{dot:{toBeTypes:["object"]},dotLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.dot){const r=e(t.dot,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.dotLabel){const r=e(t.dotLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrow){const r=e(t.arrow,{colorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrowLabel){const r=e(t.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function kF(t,e){return Hs().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Gf().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",qs().strength(e.force.nodeStrength)).force("collision",js(e.dot.radius).strength(1)).force("center",zf(t.width/2,t.height/2))}function RF(t){return"translate("+t.x+","+t.y+")"}function EF(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function IF(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function BF(t,e,n){return t.selectAll(`marker.${I2}`).data([e]).join(r=>{const i=r.append("marker").classed(I2,!0).attr("id",E2).attr("fill",o=>bt(e.arrow.colorType,n)).attr("viewBox",o=>`-${o.arrow.pointerWidth} -${o.arrow.pointerHeight/2} ${o.arrow.pointerWidth} ${o.arrow.pointerHeight}`).attr("orient","auto");return i.append("path").attr("d",o=>`M${-o.arrow.pointerWidth},${-o.arrow.pointerHeight/2}L0,0L${-o.arrow.pointerWidth},${o.arrow.pointerHeight/2}`),i},r=>r,r=>r.remove()).attr("markerWidth",r=>r.arrow.pointerWidth).attr("markerHeight",r=>r.arrow.pointerHeight).attr("refX",r=>(r.dot.radius+e.dot.strokeWidth/2)/r.arrow.strokeWidth-1).attr("refY",0)}function NF(t,e){function n(o,a){o.active||t.alphaTarget(.3).restart(),o.subject.fx=o.x,o.subject.fy=o.y,e.next("start")}function r(o,a){o.subject.fx=o.x,o.subject.fy=o.y,e.next("drag")}function i(o,a){o.active||t.alphaTarget(0),o.subject.fx=null,o.subject.fy=null,e.next("end")}return bs().on("start",n).on("drag",r).on("end",i)}function FF({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(MF,!0),n=>n,n=>n.remove())}function zF({nodeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("circle").data([r]).join(s=>s.append("circle").classed(z2,!0).attr("cursor","pointer"),s=>s,s=>s.remove()).attr("r",e.dot.radius).attr("fill",s=>St({datum:s,colorType:e.dot.fillColorType,fullChartParams:n})).attr("stroke",s=>St({datum:s,colorType:e.dot.strokeColorType,fullChartParams:n})).attr("stroke-width",e.dot.strokeWidth).attr("style",s=>e.dot.styleFn(s))}),t.select(`circle.${z2}`)}function OF({nodeGSelection:t,fullParams:e}){return t.each((n,r,i)=>{U(i[r]).selectAll("g").data([n]).join(a=>a.append("g").classed(O2,!0),a=>a,a=>a.remove()).attr("transform",`translate(0, ${-e.dot.radius-10})`)}),t.select(`g.${O2}`)}function GF({nodeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(G2,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.label).attr("fill",s=>St({datum:s,colorType:e.dotLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",s=>e.dotLabel.styleFn(s))}),t.select(`text.${G2}`)}function WF({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(CF,!0),n=>n,n=>n.remove())}function YF({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("path").data([r]).join(s=>s.append("path").classed(B2,!0).attr("marker-end",`url(#${E2})`),s=>s,s=>s.remove()).attr("stroke",s=>St({datum:s.data,colorType:e.arrow.colorType,fullChartParams:n})).attr("stroke-width",e.arrow.strokeWidth).attr("style",s=>e.arrow.styleFn(s))}),t.select(`path.${B2}`)}function VF({edgeGSelection:t}){return t.each((e,n,r)=>{U(r[n]).selectAll("g").data([e]).join(o=>o.append("g").classed(N2,!0),o=>o,o=>o.remove())}),t.select(`g.${N2}`)}function UF({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(F2,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.label).attr("fill",s=>St({datum:s,colorType:e.arrowLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",s=>e.arrowLabel.styleFn(s))}),t.select(`text.${F2}`)}function XF({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((i,o,a)=>{const s=U(a[o]);n.includes(i.id)?s.style("opacity",1).transition("highlight").ease(cr).duration(500):s.style("opacity",r.styles.unhighlightedOpacity)})}const jF=ts(LF)(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new Q,a=t.append("g").classed(AF,!0),s=a.append("defs"),l=a.append("g").classed(PF,!0),u=a.append("g").classed(DF,!0);let c,h,f,p,d,g,m,b;const y=new ku("end"),x=new Q;O({fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(D(o),z(async _=>_),L(({fullParams:_,fullChartParams:P})=>BF(s,_,P))).subscribe();const $=r.fullParams$.pipe(D(o),L(_=>{let P=_.zoomable?vn().on("zoom",M=>{a.attr("transform",`translate(
287
+ ${M.transform.x},
288
+ ${M.transform.y}
172
289
  ) scale(
173
- ${P.transform.k}
174
- )`),S.node.labelSizeFixed&&p&&p.attr("transform",`scale(${1/P.transform.k})`),S.edge.labelSizeFixed&&y&&y.attr("transform",`scale(${1/P.transform.k})`)}):vr().on("zoom",null);return S.scaleExtent&&A.scaleExtent([S.scaleExtent.min,S.scaleExtent.max]),e.call(A),A}));Y({d3Zoom:x,transform:r.fullParams$.pipe(L(o),E(S=>S.transform))}).pipe(L(o),G(async S=>S)).subscribe(S=>{t.call(S.d3Zoom.transform,ra.translate(S.transform.x,S.transform.y).scale(S.transform.k))});const _=Y({layout:r.layout$.pipe(ba()),fullParams:r.fullParams$}).pipe(L(o),E(S=>$N(S.layout,S.fullParams)),mt(1)),T=r.visibleComputedData$.pipe(L(o),E(S=>({nodes:S.nodes,edges:S.edges.map(A=>{let P=A;return P.source=A.startNode,P.target=A.endNode,P})})));return Y({renderData:T,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:_,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(L(o),G(async S=>S)).subscribe(S=>{c=AN({nodeListGSelection:u,nodes:S.renderData.nodes}),f=PN({nodeGSelection:c,nodes:S.renderData.nodes,fullParams:S.fullParams,fullChartParams:S.fullChartParams}),f.call(TN(S.simulation,b)),h=DN({nodeGSelection:c}),p=CN({nodeLabelGSelection:h,fullParams:S.fullParams,fullChartParams:S.fullChartParams}),d=MN({edgeListGSelection:l,edges:S.renderData.edges}),m=LN({edgeGSelection:d,fullParams:S.fullParams,fullChartParams:S.fullChartParams}),g=kN({edgeGSelection:d}),y=RN({edgeLabelGSelection:g,fullParams:S.fullParams,fullChartParams:S.fullChartParams}),S.simulation.nodes(S.renderData.nodes).on("tick",()=>{m.attr("d",SN),f.attr("transform",y2),h.attr("transform",A=>y2({x:A.x,y:A.y-S.fullParams.node.dotRadius-10})),g.attr("transform",A=>_N(A))}),S.simulation.force("link").links(S.renderData.edges),S.simulation.alpha(.3).restart(),f.on("mouseover",(A,P)=>{A.stopPropagation(),v.next({type:"relationship",eventName:"mouseover",pluginName:Ft,highlightTarget:S.fullChartParams.highlightTarget,datum:P,category:S.CategoryNodeMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,event:A,data:S.computedData})}).on("mousemove",(A,P)=>{A.stopPropagation(),v.next({type:"relationship",eventName:"mousemove",pluginName:Ft,highlightTarget:S.fullChartParams.highlightTarget,datum:P,category:S.CategoryNodeMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,event:A,data:S.computedData})}).on("mouseout",(A,P)=>{A.stopPropagation(),v.next({type:"relationship",eventName:"mouseout",pluginName:Ft,highlightTarget:S.fullChartParams.highlightTarget,datum:P,category:S.CategoryNodeMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,event:A,data:S.computedData})}).on("click",(A,P)=>{A.stopPropagation(),v.next({type:"relationship",eventName:"click",pluginName:Ft,highlightTarget:S.fullChartParams.highlightTarget,datum:P,category:S.CategoryNodeMap.get(P.categoryLabel),categoryIndex:P.categoryIndex,categoryLabel:P.categoryLabel,event:A,data:S.computedData})})}),b.pipe(G(S=>ya(()=>S==="end",v,$u))).subscribe(S=>{i.event$.next(S)}),Y({renderData:T,highlightNodes:r.relationshipHighlightNodes$.pipe(E(S=>S.map(A=>A.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(E(S=>S.map(A=>A.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(L(o),G(async S=>S)).subscribe(S=>{!c||!d||EN({nodeGSelection:c,edgeGSelection:d,highlightIds:S.highlightNodes,fullChartParams:S.fullChartParams})}),()=>{o.next(void 0)}}),b2="RelationshipLegend",BN=oc({name:b2,defaultParams:l2,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new J,o=n.fullParams$.pipe(L(i),E(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),a=ki(b2,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),a()}}),x2="RelationshipTooltip",NN=oc({name:x2,defaultParams:Ip,layerIndex:Li,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=Ei(x2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),v2={force:{strength:.08,velocityDecay:.3,collisionSpacing:2},bubbleLabel:{fillRate:.6,lineHeight:12,lineLengthMin:4},arcScaleType:"area"},$2={outerRadius:.85,innerRadius:0,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,padAngle:0,strokeColorType:"background",strokeWidth:1,cornerRadius:0},Bp={renderFn:t=>t.eventName==="mouseover"||t.eventName==="mousemove"?[String(t.datum.value)]:[String(Math.round(t.data.reduce((e,n)=>e+n.reduce((r,i)=>r+(i.value??0),0),0)*(t.tween??1)))],textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":64,fill:"#000"}]};Bp.renderFn.toString=()=>`(eventData) => {
290
+ ${M.transform.k}
291
+ )`),_.dotLabel.sizeFixed&&p&&p.attr("transform",`scale(${1/M.transform.k})`),_.arrowLabel.sizeFixed&&b&&b.attr("transform",`scale(${1/M.transform.k})`)}):vn().on("zoom",null);return _.scaleExtent&&P.scaleExtent([_.scaleExtent.min,_.scaleExtent.max]),e.call(P),P}));O({d3Zoom:$,transform:r.fullParams$.pipe(D(o),L(_=>_.transform))}).pipe(D(o),z(async _=>_)).subscribe(_=>{t.call(_.d3Zoom.transform,Ri.translate(_.transform.x,_.transform.y).scale(_.transform.k))});const S=O({layout:r.layout$.pipe(Xi()),fullParams:r.fullParams$}).pipe(D(o),z(async _=>_),L(_=>kF(_.layout,_.fullParams)),st(1)),A=r.visibleComputedData$.pipe(D(o),L(_=>({nodes:_.nodes,edges:_.edges.map(P=>{let M=P;return M.source=P.startNode,M.target=P.endNode,M})})),st(1));return O({renderData:A,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:S,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(D(o),z(async _=>_)).subscribe(_=>{c=FF({nodeListGSelection:u,nodes:_.renderData.nodes}),h=zF({nodeGSelection:c,fullParams:_.fullParams,fullChartParams:_.fullChartParams}),c.call(NF(_.simulation,y)),f=OF({nodeGSelection:c,fullParams:_.fullParams}),p=GF({nodeLabelGSelection:f,fullParams:_.fullParams,fullChartParams:_.fullChartParams}),d=WF({edgeListGSelection:l,edges:_.renderData.edges}),g=YF({edgeGSelection:d,fullParams:_.fullParams,fullChartParams:_.fullChartParams}),m=VF({edgeGSelection:d}),b=UF({edgeLabelGSelection:m,fullParams:_.fullParams,fullChartParams:_.fullChartParams}),_.simulation.nodes(_.renderData.nodes).on("tick",()=>{g.attr("d",IF),c.attr("transform",RF),m.attr("transform",P=>EF(P))}),_.simulation.force("link").links(_.renderData.edges),_.simulation.alpha(.3).restart(),h.on("mouseover",(P,M)=>{P.stopPropagation(),x.next({type:"relationship",eventName:"mouseover",pluginName:zt,highlightTarget:_.fullChartParams.highlightTarget,datum:M,category:_.CategoryNodeMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,event:P,data:_.computedData})}).on("mousemove",(P,M)=>{P.stopPropagation(),x.next({type:"relationship",eventName:"mousemove",pluginName:zt,highlightTarget:_.fullChartParams.highlightTarget,datum:M,category:_.CategoryNodeMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,event:P,data:_.computedData})}).on("mouseout",(P,M)=>{P.stopPropagation(),x.next({type:"relationship",eventName:"mouseout",pluginName:zt,highlightTarget:_.fullChartParams.highlightTarget,datum:M,category:_.CategoryNodeMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,event:P,data:_.computedData})}).on("click",(P,M)=>{P.stopPropagation(),x.next({type:"relationship",eventName:"click",pluginName:zt,highlightTarget:_.fullChartParams.highlightTarget,datum:M,category:_.CategoryNodeMap.get(M.categoryLabel),categoryIndex:M.categoryIndex,categoryLabel:M.categoryLabel,event:P,data:_.computedData})})}),y.pipe(K((_,P)=>_===P),z(_=>Yn(()=>_==="end",x,Aa))).subscribe(_=>{i.event$.next(_)}),O({renderData:A,highlightNodes:r.relationshipHighlightNodes$.pipe(L(_=>_.map(P=>P.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(L(_=>_.map(P=>P.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(D(o),z(async _=>_)).subscribe(_=>{!c||!d||XF({nodeGSelection:c,edgeGSelection:d,highlightIds:_.highlightNodes,fullChartParams:_.fullChartParams})}),()=>{o.next(void 0)}}),Xt="ForceDirectedBubbles",W2=12,HF=q(Xt,"zoom-area"),qF=ie(Xt,"arrow"),Y2=q(Xt,"arrow-marker"),ZF=q(Xt,"edge-list-g"),KF=q(Xt,"edge-g"),V2=q(Xt,"edge-arrow-path"),U2=q(Xt,"edge-label-g"),X2=q(Xt,"edge-label"),QF=q(Xt,"node-list-g"),JF=q(Xt,"node-g"),j2=q(Xt,"node-circle"),tz={name:Xt,defaultParams:Gi,layerIndex:he,validator:(t,{validateColumns:e})=>{const n=e(t,{bubble:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.bubble){const r=e(t.bubble,{radiusMin:{toBeTypes:["number"]},radiusMax:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:i=>i==="area"||i==="radius"},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrow){const r=e(t.arrow,{colorType:{toBeOption:"ColorType"},strokeWidthMin:{toBeTypes:["number"]},strokeWidthMax:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrowLabel){const r=e(t.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function ez(t,e){return Hs().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Gf().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",qs().strength(e.force.nodeStrength)).force("collision",js(e.bubble.radiusMax).strength(1)).force("center",zf(t.width/2,t.height/2))}function nz(t){return"translate("+t.x+","+t.y+")"}function rz(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function iz(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function oz({defsSelection:t,markerParams:e,markerData:n,fullParams:r,fullChartParams:i}){return t.selectAll(`marker.${Y2}`).data(n).join(o=>{const a=o.append("marker").classed(Y2,!0).attr("viewBox",e.viewBox).attr("orient","auto");return a.append("path").attr("d",e.d),a},o=>o,o=>o.remove()).attr("id",o=>o.id).attr("fill",o=>bt(r.arrow.colorType,i)).attr("markerWidth",e.pointerWidth).attr("markerHeight",e.pointerHeight).attr("refX",o=>o.refX).attr("refY",0)}function az(t,e){function n(o,a){o.active||t.alphaTarget(.3).restart(),o.subject.fx=o.subject.x,o.subject.fy=o.subject.y,e.next("start")}function r(o,a){o.subject.fx=o.x,o.subject.fy=o.y,e.next("drag")}function i(o,a){o.active||t.alphaTarget(0),o.subject.fx=null,o.subject.fy=null,e.next("end")}return bs().on("start",n).on("drag",r).on("end",i)}function sz({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(JF,!0),n=>n,n=>n.remove())}function lz({nodeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("circle").data([r]).join(s=>s.append("circle").classed(j2,!0).attr("cursor","pointer"),s=>s,s=>s.remove()).attr("r",s=>s.r).attr("fill",s=>St({datum:s,colorType:e.bubble.fillColorType,fullChartParams:n})).attr("stroke",s=>St({datum:s,colorType:e.bubble.strokeColorType,fullChartParams:n})).attr("stroke-width",e.bubble.strokeWidth).attr("style",s=>e.bubble.styleFn(s))}).attr("text-anchor","middle").attr("font-size",W2).each((r,i,o)=>{const a=U(o[i]);a.call(Hv,{text:r.label,radius:r.r*e.bubbleLabel.fillRate,lineHeight:W2*e.bubbleLabel.lineHeight,isBreakAll:r.label.length<=e.bubbleLabel.maxLineLength?!1:e.bubbleLabel.wordBreakAll}),a.select("text").attr("fill",s=>St({datum:r,colorType:e.bubbleLabel.colorType,fullChartParams:n}))}),t.select("text").attr("pointer-events","none").attr("style",r=>e.bubbleLabel.styleFn(r)),t.select(`circle.${j2}`)}function uz({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(KF,!0),n=>n,n=>n.remove())}function cz({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("path").data([r]).join(s=>s.append("path").classed(V2,!0),s=>s,s=>s.remove()).attr("marker-end",s=>`url(#${s.markerId})`).attr("stroke",s=>St({datum:s.data,colorType:e.arrow.colorType,fullChartParams:n})).attr("stroke-width",s=>s.strokeWidth).attr("style",s=>e.arrow.styleFn(s))}),t.select(`path.${V2}`)}function fz({edgeGSelection:t}){return t.each((e,n,r)=>{U(r[n]).selectAll("g").data([e]).join(o=>o.append("g").classed(U2,!0),o=>o,o=>o.remove())}),t.select(`g.${U2}`)}function hz({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,i,o)=>{U(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(X2,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.label).attr("fill",s=>St({datum:s,colorType:e.arrowLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",s=>e.arrowLabel.styleFn(s))}),t.select(`text.${X2}`)}function pz({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((i,o,a)=>{const s=U(a[o]);n.includes(i.id)?s.style("opacity",1).transition("highlight").ease(cr).duration(500):s.style("opacity",r.styles.unhighlightedOpacity)})}const dz=ts(tz)(({selection:t,rootSelection:e,name:n,observer:r,subject:i})=>{const o=new Q,a=t.append("g").classed(HF,!0),s=a.append("defs"),l=a.append("g").classed(ZF,!0),u=a.append("g").classed(QF,!0);let c,h,f,p,d,g;const m=new ku("end"),b=new Q,y=r.fullParams$.pipe(D(o),L(w=>{let C=w.zoomable?vn().on("zoom",F=>{a.attr("transform",`translate(
292
+ ${F.transform.x},
293
+ ${F.transform.y}
294
+ ) scale(
295
+ ${F.transform.k}
296
+ )`),w.arrowLabel.sizeFixed&&g&&g.attr("transform",`scale(${1/F.transform.k})`)}):vn().on("zoom",null);return w.scaleExtent&&C.scaleExtent([w.scaleExtent.min,w.scaleExtent.max]),e.call(C),C}));O({d3Zoom:y,transform:r.fullParams$.pipe(D(o),L(w=>w.transform))}).pipe(D(o),z(async w=>w)).subscribe(w=>{t.call(w.d3Zoom.transform,Ri.translate(w.transform.x,w.transform.y).scale(w.transform.k))});const x=O({layout:r.layout$.pipe(Xi()),fullParams:r.fullParams$}).pipe(D(o),z(async w=>w),L(w=>ez(w.layout,w.fullParams)),st(1)),$=r.computedData$.pipe(D(o),L(w=>{const C=w.nodes.filter(G=>G.value!=null);if(!C.length)return[0,2];const F=lc(w.nodes.map(G=>G.value));return C.length==1||F[0]===F[1]?[F[0]-1,F[1]+1]:F}),st(1)),S=r.computedData$.pipe(D(o),L(w=>{const C=w.edges.filter(G=>G.value!=null);if(!C.length)return[0,2];const F=lc(w.edges.map(G=>G.value));return C.length==1||F[0]===F[1]?[F[0]-1,F[1]+1]:F}),st(1)),A=$.pipe(D(o),L(w=>(w[1]-w[0])/2)),_=S.pipe(D(o),L(w=>(w[1]-w[0])/2)),P=O({nodeMinMaxValue:$,fullParams:r.fullParams$}).pipe(D(o),z(async w=>w),L(w=>In().domain(w.nodeMinMaxValue).range([w.fullParams.bubble.radiusMin,w.fullParams.bubble.radiusMax]).exponent(w.fullParams.bubble.arcScaleType==="area"?.5:1))),M=O({edgeMinMaxValue:S,fullParams:r.fullParams$}).pipe(D(o),z(async w=>w),L(w=>Sr().domain(w.edgeMinMaxValue).range([w.fullParams.arrow.strokeWidthMin,w.fullParams.arrow.strokeWidthMax]))),R=O({computedData:r.computedData$,radiusScale:P,defaultNodeValue:A}).pipe(D(o),z(async w=>w),L(w=>new Map(w.computedData.nodes.map(C=>{let F=C;return F.r=w.radiusScale(F.value??w.defaultNodeValue),[F.id,F]})))),v=O({computedData:r.computedData$,strokeWidthScale:M,defaultEdgeValue:_}).pipe(D(o),z(async w=>w),L(w=>new Map(w.computedData.edges.map(C=>{let F=C;return F.source=C.startNode,F.target=C.endNode,F.strokeWidth=w.strokeWidthScale(F.value??w.defaultEdgeValue),F.markerId=`${qF}__${F.id}`,[F.id,F]})))),E=O({visibleComputedData:r.visibleComputedData$,RenderNodeMap:R,RenderEdgeMap:v}).pipe(D(o),z(async w=>w),L(w=>({nodes:w.visibleComputedData.nodes.map(C=>w.RenderNodeMap.get(C.id)),edges:w.visibleComputedData.edges.map(C=>w.RenderEdgeMap.get(C.id))})),st(1)),k=r.fullParams$.pipe(D(o),L(w=>({viewBox:`-${w.arrow.pointerWidth} -${w.arrow.pointerHeight/2} ${w.arrow.pointerWidth} ${w.arrow.pointerHeight}`,d:`M${-w.arrow.pointerWidth},${-w.arrow.pointerHeight/2}L0,0L${-w.arrow.pointerWidth},${w.arrow.pointerHeight/2}`,pointerWidth:w.arrow.pointerWidth,pointerHeight:w.arrow.pointerHeight}))),T=O({computedData:r.computedData$,fullParams:r.fullParams$,RenderNodeMap:R,RenderEdgeMap:v}).pipe(D(o),z(async w=>w),L(w=>w.computedData.edges.map(C=>{const F=w.RenderEdgeMap.get(C.id),G=w.RenderNodeMap.get(C.endNode.id);return{id:F.markerId,edgeId:C.id,strokeWidth:F.strokeWidth,refX:(G.r+w.fullParams.bubble.strokeWidth/2)/F.strokeWidth-1}})));return O({defsSelection:s,markerParams:k,markerData:T,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(D(o),z(async w=>w),L(w=>oz({defsSelection:s,markerParams:w.markerParams,markerData:w.markerData,fullParams:w.fullParams,fullChartParams:w.fullChartParams}))).subscribe(),O({renderData:E,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:x,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(D(o),z(async w=>w)).subscribe(w=>{c=sz({nodeListGSelection:u,nodes:w.renderData.nodes}),h=lz({nodeGSelection:c,fullParams:w.fullParams,fullChartParams:w.fullChartParams}),c.call(az(w.simulation,m)),f=uz({edgeListGSelection:l,edges:w.renderData.edges}),p=cz({edgeGSelection:f,fullParams:w.fullParams,fullChartParams:w.fullChartParams}),d=fz({edgeGSelection:f}),g=hz({edgeLabelGSelection:d,fullParams:w.fullParams,fullChartParams:w.fullChartParams}),w.simulation.nodes(w.renderData.nodes).on("tick",()=>{p.attr("d",iz),c.attr("transform",nz),d.attr("transform",C=>rz(C))}),w.simulation.force("link").links(w.renderData.edges),w.simulation.alpha(.3).restart(),h.on("mouseover",(C,F)=>{C.stopPropagation(),b.next({type:"relationship",eventName:"mouseover",pluginName:Xt,highlightTarget:w.fullChartParams.highlightTarget,datum:F,category:w.CategoryNodeMap.get(F.categoryLabel),categoryIndex:F.categoryIndex,categoryLabel:F.categoryLabel,event:C,data:w.computedData})}).on("mousemove",(C,F)=>{C.stopPropagation(),b.next({type:"relationship",eventName:"mousemove",pluginName:Xt,highlightTarget:w.fullChartParams.highlightTarget,datum:F,category:w.CategoryNodeMap.get(F.categoryLabel),categoryIndex:F.categoryIndex,categoryLabel:F.categoryLabel,event:C,data:w.computedData})}).on("mouseout",(C,F)=>{C.stopPropagation(),b.next({type:"relationship",eventName:"mouseout",pluginName:Xt,highlightTarget:w.fullChartParams.highlightTarget,datum:F,category:w.CategoryNodeMap.get(F.categoryLabel),categoryIndex:F.categoryIndex,categoryLabel:F.categoryLabel,event:C,data:w.computedData})}).on("click",(C,F)=>{C.stopPropagation(),b.next({type:"relationship",eventName:"click",pluginName:Xt,highlightTarget:w.fullChartParams.highlightTarget,datum:F,category:w.CategoryNodeMap.get(F.categoryLabel),categoryIndex:F.categoryIndex,categoryLabel:F.categoryLabel,event:C,data:w.computedData})})}),m.pipe(K((w,C)=>w===C),z(w=>Yn(()=>w==="end",b,Aa))).subscribe(w=>{i.event$.next(w)}),O({renderData:E,highlightNodes:r.relationshipHighlightNodes$.pipe(L(w=>w.map(C=>C.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(L(w=>w.map(C=>C.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(D(o),z(async w=>w)).subscribe(w=>{!c||!f||pz({nodeGSelection:c,edgeGSelection:f,highlightIds:w.highlightNodes,fullChartParams:w.fullChartParams})}),()=>{o.next(void 0)}}),H2="RelationshipLegend",gz=ts({name:H2,defaultParams:R2,layerIndex:Ei,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new Q,o=n.fullParams$.pipe(D(i),L(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),a=Bi(H2,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),a()}}),q2="RelationshipTooltip",mz=ts({name:q2,defaultParams:ed,layerIndex:Ii,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=Fi(q2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),Z2={force:{strength:.08,velocityDecay:.3,collisionSpacing:2},bubbleLabel:{colorType:"labelContrast",fillRate:.6,lineHeight:1,maxLineLength:6,wordBreakAll:!0},arcScaleType:"area"},K2={outerRadius:.85,innerRadius:0,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,padAngle:0,strokeColorType:"background",strokeWidth:1,cornerRadius:0},nd={renderFn:t=>t.eventName==="mouseover"||t.eventName==="mousemove"?[String(t.datum.value)]:[String(Math.round(t.data.reduce((e,n)=>e+n.reduce((r,i)=>r+(i.value??0),0),0)*(t.tween??1)))],textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":64,fill:"#000"}]};nd.renderFn.toString=()=>`(eventData) => {
175
297
  if (eventData.eventName === 'mouseover' || eventData.eventName === 'mousemove') {
176
298
  return [String(eventData.datum.value)]
177
299
  }
@@ -186,44 +308,90 @@ ${u}`}};vp.renderFn.toString=()=>`(eventData, { styles, utils }) => {
186
308
  )
187
309
  )
188
310
  ]
189
- }`;const Np={outerRadius:.85,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,labelCentroid:2.1,labelColorType:"primary",labelFn:t=>String(t.label)};Np.labelFn.toString=()=>"d => String(d.label)";const _2={outerRadius:.85,padAngle:0,strokeColorType:"background",strokeWidth:0,cornerRadius:0,arcScaleType:"area",angleIncreaseWhileHighlight:.05},Fp={outerRadius:.85,labelCentroid:2.1,labelFn:t=>String(t.label),labelColorType:"primary",arcScaleType:"area"};Fp.labelFn.toString=()=>"d => String(d.label)";const S2={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Op={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.seriesLabel.slice(0,7)!=="series_",i=t.datum.label.slice(0,7)!=="series_",o=e.textSizePx*.7,a=e.textSizePx/2-o/2,s=r?`<rect width="${o}" height="${o}" x="${a}" y="${a-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
311
+ }`;const rd={outerRadius:.85,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,labelCentroid:2.1,labelColorType:"primary",labelFn:t=>String(t.label)};rd.labelFn.toString=()=>"d => String(d.label)";const Q2={outerRadius:.95,padAngle:0,strokeColorType:"background",strokeWidth:.5,cornerRadius:0,arcScaleType:"area",angleIncreaseWhileHighlight:.05},id={outerRadius:.95,labelCentroid:2.1,labelFn:t=>String(t.label),labelColorType:"primary",arcScaleType:"area"};id.labelFn.toString=()=>"d => String(d.label)";const J2={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},od={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.seriesLabel.slice(0,7)!=="series_",i=t.datum.label.slice(0,7)!=="series_",o=n.toCurrency(t.datum.value),a=e.textSizePx*.7,s=e.textSizePx/2-a/2,l=r?`<rect width="${a}" height="${a}" x="${s}" y="${s-1}" rx="${a/2}" fill="${t.datum.color}"></rect>
190
312
  <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
191
313
  <tspan>${t.seriesLabel}</tspan>
192
- </text>`:"",l=i?`<tspan>${t.datum.label}</tspan> `:"",u=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
193
- ${l}<tspan font-weight="bold">${t.datum.value}</tspan>
194
- </text>`;return`${s}
314
+ </text>`:"",u=i?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.seriesLabel}${o}`,e.textSizePx)+e.textSizePx*1.5:0,h=i?n.measureTextWidth(`${t.datum.label}${o}`,e.textSizePx):0,f=Math.max(c,h),p=i?f+e.textSizePx*1.5:0,d=i?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
315
+ ${u}<tspan font-weight="bold" text-anchor="${d}" x="${p}">${o}</tspan>
316
+ </text>`;return`${l}
195
317
  <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
196
- ${u}
197
- </g>`}};Op.renderFn.toString=()=>`(eventData, { styles, utils }) => {
198
- const hasSeriesLabel = eventData.seriesLabel.slice(0, 7) === 'series_' ? false : true
199
- const hasDatumLabel = eventData.datum.label.slice(0, 7) === 'series_' ? false : true
200
- const bulletWidth = styles.textSizePx * 0.7
201
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
202
- const seriesSvg = hasSeriesLabel
203
- ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
204
- <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
205
- <tspan>\${eventData.seriesLabel}</tspan>
206
- </text>\`
207
- : ''
208
- const datumLabelSvg = hasDatumLabel
209
- ? \`<tspan>\${eventData.datum.label}</tspan> \`
210
- : ''
211
- const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
212
- \${datumLabelSvg}<tspan font-weight="bold">\${eventData.datum.value}</tspan>
213
- </text>\`
318
+ ${g}
319
+ </g>`}};od.renderFn.toString=()=>`(eventData, { styles, utils }) => {
320
+ const hasSeriesLabel = eventData.seriesLabel.slice(0, 7) === 'series_' ? false : true
321
+ const hasDatumLabel = eventData.datum.label.slice(0, 7) === 'series_' ? false : true
322
+ const valueText = utils.toCurrency(eventData.datum.value)
323
+ const bulletWidth = styles.textSizePx * 0.7
324
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
325
+ const seriesSvg = hasSeriesLabel
326
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
327
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
328
+ <tspan>\${eventData.seriesLabel}</tspan>
329
+ </text>\`
330
+ : ''
331
+ const datumLabelSvg = hasDatumLabel
332
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
333
+ : ''
334
+ const seriesLabelTextWidth = hasSeriesLabel
335
+ ? utils.measureTextWidth(\`\${eventData.seriesLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
336
+ : 0
337
+ const datumLabelTextWidth = hasDatumLabel
338
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
339
+ : 0
340
+ const maxTextWidth = Math.max(seriesLabelTextWidth, datumLabelTextWidth)
341
+ const lineEndX = hasDatumLabel
342
+ ? maxTextWidth + styles.textSizePx * 1.5
343
+ : 0
344
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
345
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
346
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
347
+ </text>\`
214
348
 
215
- return \`\${seriesSvg}
216
- <g \${hasSeriesLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
217
- \${datumSvg}
218
- </g>\`
219
- }`;const FN={name:"Bubbles",defaultParams:v2,layerIndex:Te,validator:(t,{validateColumns:e})=>{const n=e(t,{force:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"}});if(t.force){const r=e(t.force,{velocityDecay:{toBeTypes:["number"]},collisionSpacing:{toBeTypes:["number"]},strength:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},lineLengthMin:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};let En;function ON(t,e){return Df().velocityDecay(e.force.velocityDecay).force("collision",Pf().radius(n=>n.r+e.force.collisionSpacing)).force("charge",Cf().strength(n=>-Math.pow(n.r,2)*e.force.strength)).on("tick",()=>{t.attr("transform",n=>`translate(${n.x},${n.y})`)})}function zN({visibleComputedLayoutData:t,LastBubbleDataMap:e,graphicWidth:n,graphicHeight:r,SeriesContainerPositionMap:i,scaleType:o}){const a=Math.min(n,r)/2,s=t.flat(),l=s.reduce((h,p)=>h+p.value,0),u=gr().domain([0,l]).range([0,a]).exponent(o==="area"?.5:1),c=o==="area"?1:(()=>{const h=a*a*Math.PI;return Math.sqrt(h/yc(s,p=>Math.PI*Math.pow(u(p.value),2)))})(),f=.9;return s.map(h=>{const p=h,d=e.get(p.id);if(d)p.x=d.x,p.y=d.y;else{const g=i.get(p.seriesLabel);p.x=Math.random()*g.width,p.y=Math.random()*g.height}const m=u(p.value??0)*c*f;return p.r=m,p._originR=m,p})}function GN({selection:t,bubblesData:e,fullParams:n,sumSeries:r}){const i=t.selectAll("g").data(e,a=>a.id).join(a=>{const s=a.append("g").attr("cursor","pointer").attr("font-size",12).style("fill","#ffffff").attr("text-anchor","middle");return s.append("circle").attr("class","node").attr("cx",0).attr("cy",0).attr("fill",l=>l.color),s.append("text").style("opacity",.8).attr("pointer-events","none"),s},a=>a,a=>a.remove()).attr("transform",a=>`translate(${a.x},${a.y})`),o=r?"seriesLabel":"label";return i.select("circle").transition().duration(200).attr("r",a=>a.r).attr("fill",a=>a.color),i.each((a,s,l)=>{const u=V(l[s]);let c=!0;a[o].length<=n.bubbleLabel.lineLengthMin&&(c=!1),u.call(qI,{text:a[o],radius:a.r*n.bubbleLabel.fillRate,lineHeight:n.bubbleLabel.lineHeight,isBreakAll:c})}),i}function YN(){return Lc().on("start",(t,e)=>{t.active||En.alpha(1).restart(),e.fx=e.x,e.fy=e.y}).on("drag",(t,e)=>{t.active||En.alphaTarget(0),e.fx=t.x,e.fy=t.y}).on("end",(t,e)=>{e.fx=null,e.fy=null})}function XN({fullParams:t,SeriesContainerPositionMap:e}){En.force("x",Ry().strength(t.force.strength).x(n=>e.get(n.seriesLabel).centerX)).force("y",Ey().strength(t.force.strength).y(n=>e.get(n.seriesLabel).centerY)),En.alpha(1).restart()}function WN({bubblesSelection:t,highlightIds:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1);return}t.each((r,i,o)=>{const a=V(o[i]);e.includes(r.id)?a.style("opacity",1).transition("highlight").ease(ri).duration(500):a.style("opacity",n.styles.unhighlightedOpacity)})}const VN=$n(FN)(({selection:t,name:e,observer:n,subject:r})=>{const i=new J;let o=new Map;const a=n.fullDataFormatter$.pipe(E(f=>f.sumSeries),tt()),s=n.fullParams$.pipe(L(i),E(f=>f.arcScaleType),tt()),l=Y({layout:n.layout$,SeriesContainerPositionMap:n.SeriesContainerPositionMap$,visibleComputedLayoutData:n.visibleComputedLayoutData$,scaleType:s}).pipe(L(i),G(async f=>f),E(f=>zN({visibleComputedLayoutData:f.visibleComputedLayoutData,LastBubbleDataMap:o,graphicWidth:f.layout.width,graphicHeight:f.layout.height,SeriesContainerPositionMap:f.SeriesContainerPositionMap,scaleType:f.scaleType})),mt(1));l.subscribe(f=>{o=new Map(f.map(h=>[h.id,h]))});const u=n.fullChartParams$.pipe(L(i),E(f=>f.highlightTarget),tt()),c=Y({bubblesData:l,fullParams:n.fullParams$,SeriesContainerPositionMap:n.SeriesContainerPositionMap$,sumSeries:a}).pipe(L(i),G(async f=>f),E(f=>{En&&En.stop();const h=GN({selection:t,bubblesData:f.bubblesData,fullParams:f.fullParams,sumSeries:f.sumSeries});return En=ON(h,f.fullParams),En.nodes(f.bubblesData),XN({fullParams:f.fullParams,SeriesContainerPositionMap:f.SeriesContainerPositionMap}),h}));return Y({bubblesSelection:c,computedData:n.computedData$,SeriesDataMap:n.SeriesDataMap$,highlightTarget:u}).pipe(L(i),G(async f=>f)).subscribe(f=>{f.bubblesSelection.on("mouseover",(h,p)=>{r.event$.next({type:"series",eventName:"mouseover",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).on("mousemove",(h,p)=>{r.event$.next({type:"series",eventName:"mousemove",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).on("mouseout",(h,p)=>{r.event$.next({type:"series",eventName:"mouseout",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).on("click",(h,p)=>{r.event$.next({type:"series",eventName:"click",pluginName:e,highlightTarget:f.highlightTarget,datum:p,series:f.SeriesDataMap.get(p.seriesLabel),seriesIndex:p.seriesIndex,seriesLabel:p.seriesLabel,event:h,data:f.computedData})}).call(YN())}),Y({bubblesSelection:c,bubblesData:l,highlight:n.seriesHighlight$.pipe(E(f=>f.map(h=>h.id))),fullChartParams:n.fullChartParams$,fullParams:n.fullParams$,sumSeries:a,SeriesContainerPositionMap:n.SeriesContainerPositionMap$}).pipe(L(i),G(async f=>f)).subscribe(f=>{WN({bubblesSelection:f.bubblesSelection,highlightIds:f.highlight,fullChartParams:f.fullChartParams})}),()=>{i.next(void 0)}});function w2({data:t,startAngle:e,endAngle:n}){return dv().startAngle(e).endAngle(n).value(o=>o.value).sort((o,a)=>o.seq-a.seq)(t).map((o,a)=>{let s=o;return s.id=o.data.id,s})}function UN({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r}){const i=K(e,"series");return Y({seriesLabels:r,separateSeries:n}).pipe(G(async o=>o),E((o,a)=>{const s=o.separateSeries?o.seriesLabels:[o.seriesLabels.join("")];return t.selectAll(`g.${i}`).data(s,l=>l).join(l=>l.append("g").classed(i,!0),l=>l,l=>l.remove())}),mt(1))}const la=({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r,seriesContainerPosition$:i})=>{const o=UN({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r});return Y({seriesCenterSelection:o,seriesContainerPosition:i}).pipe(G(async a=>a),tt((a,s)=>a.seriesContainerPosition.length===s.seriesContainerPosition.length)).subscribe(a=>{a.seriesCenterSelection.attr("transform",(s,l)=>{const u=a.seriesContainerPosition[l]??a.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),Y({seriesCenterSelection:o,seriesContainerPosition:i}).pipe(G(async a=>a)).subscribe(a=>{a.seriesCenterSelection.transition().attr("transform",(s,l)=>{const u=a.seriesContainerPosition[l]??a.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),{seriesCenterSelection$:o}},zp="Pie",HN={name:zp,defaultParams:$2,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},innerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeTypes:["string"]},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]}})};function jN({enter:t,exit:e,data:n,lastTweenData:r,fullParams:i}){return!t.size()&&!e.size()?o=>{const a=n.map((s,l)=>{const u=r[l]??{startAngle:0,endAngle:0,value:0};return{...s,startAngle:s.startAngle*o+u.startAngle*(1-o),endAngle:s.endAngle*o+u.endAngle*(1-o),value:s.value*o+u.value*(1-o)}});return Gp(a,i.startAngle,i.endAngle,1)}:o=>Gp(n,i.startAngle,i.endAngle,o)}function Gp(t,e,n,r){return t.map((i,o)=>{const a=e+(i.startAngle-e)*r,s=a+(i.endAngle-i.startAngle)*r;return{...i,startAngle:a,endAngle:s}})}function T2({selection:t,data:e,arc:n,pathClassName:r,fullParams:i,fullChartParams:o}){return t.selectAll("path").data(e,s=>s.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(s,l)=>s.data.color).attr("stroke",(s,l)=>zt({datum:s.data,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("d",(s,l)=>n(s))}function qN({pathSelection:t,ids:e,fullChartParams:n,arc:r,arcHighlight:i}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",o=>r(o));return}t.each((o,a,s)=>{const l=V(s[a]);e.includes(o.data.id)?l.style("opacity",1).transition("highlight").ease(ri).duration(500).attr("d",u=>i(u)):l.style("opacity",n.styles.unhighlightedOpacity).transition("highlight").attr("d",u=>r(u))})}function ZN(t,e){const n=new J,r=K(t,"path");let i=[],o=[];const a=e.seriesContainerPosition$.pipe(L(n),E(h=>h.width<h.height?h.width:h.height),tt()),s=new pt(h=>{Y({containerVisibleComputedLayoutData:e.containerVisibleComputedLayoutData$,fullParams:e.fullParams$}).pipe(L(n),G(async p=>p)).subscribe(p=>{const d=w2({data:p.containerVisibleComputedLayoutData,startAngle:p.fullParams.startAngle,endAngle:p.fullParams.endAngle});h.next(d)})}),l=new pt(h=>{Y({shorterSideWith:a,fullParams:e.fullParams$}).pipe(L(n),G(async p=>p)).subscribe(p=>{const d=eu({axisWidth:p.shorterSideWith,innerRadius:p.fullParams.innerRadius,outerRadius:p.fullParams.outerRadius,padAngle:p.fullParams.padAngle,cornerRadius:p.fullParams.cornerRadius});h.next(d)})}),u=new pt(h=>{Y({shorterSideWith:a,fullParams:e.fullParams$}).pipe(L(n),G(async p=>p)).subscribe(p=>{const d=eu({axisWidth:p.shorterSideWith,innerRadius:p.fullParams.innerRadius,outerRadius:p.fullParams.outerRadiusWhileHighlight,padAngle:p.fullParams.padAngle,cornerRadius:p.fullParams.cornerRadius});h.next(d)})}),c=e.fullChartParams$.pipe(L(n),E(h=>h.highlightTarget),tt()),f=new pt(h=>{Y({pieData:s,arc:l,computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:c}).pipe(L(n),G(async p=>p)).subscribe(p=>{e.containerSelection.interrupt("graphicMove");const d=e.containerSelection.selectAll("path").data(p.pieData,b=>b.id),m=d.enter(),g=d.exit(),y=jN({enter:m,exit:g,data:p.pieData,lastTweenData:i,fullParams:p.fullParams});e.containerSelection.transition("graphicMove").duration(p.fullChartParams.transitionDuration).tween("move",(b,v)=>x=>{o=y(x),T2({selection:e.containerSelection,data:o,arc:p.arc,pathClassName:r,fullParams:p.fullParams,fullChartParams:p.fullChartParams})}).on("end",(b,v)=>{o=Gp(p.pieData,p.fullParams.startAngle,p.fullParams.endAngle,1);const x=T2({selection:e.containerSelection,data:o,arc:p.arc,pathClassName:r,fullParams:p.fullParams,fullChartParams:p.fullChartParams});h.next(x),i=Object.assign([],p.pieData),e.event$.next({type:"series",pluginName:t,eventName:"transitionEnd",event:void 0,highlightTarget:p.highlightTarget,datum:null,series:[],seriesIndex:-1,seriesLabel:"",data:p.computedData})})})}).pipe(mt(1));return Y({pathSelection:f,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:c}).pipe(L(n),G(async h=>h)).subscribe(h=>{h.pathSelection.on("mouseover",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:h.highlightTarget,datum:d.data,series:h.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:h.computedData})}).on("mousemove",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:h.highlightTarget,datum:d.data,series:h.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:h.computedData})}).on("mouseout",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:h.highlightTarget,datum:d.data,series:h.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:h.computedData})}).on("click",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:h.highlightTarget,datum:d.data,series:h.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:h.computedData})})}),Y({pathSelection:f,highlight:e.seriesHighlight$.pipe(E(h=>h.map(p=>p.id))),fullChartParams:e.fullChartParams$,arc:l,arcHighlight:u}).pipe(L(n),G(async h=>h)).subscribe(h=>{qN({pathSelection:h.pathSelection,ids:h.highlight,fullChartParams:h.fullChartParams,arc:h.arc,arcHighlight:h.arcHighlight})}),()=>{n.next(void 0)}}const KN=$n(HN)(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,{seriesCenterSelection$:o}=la({selection:t,pluginName:zp,separateSeries$:r.separateSeries$,seriesLabels$:r.seriesLabels$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(L(i)).subscribe(s=>{a.forEach(l=>l()),s.each((l,u,c)=>{const f=V(c[u]),h=r.visibleComputedLayoutData$.pipe(L(i),E(d=>d[u]??d[0])),p=r.seriesContainerPosition$.pipe(L(i),E(d=>d[u]??d[0]));a[u]=ZN(zp,{containerSelection:f,computedData$:r.computedData$,containerVisibleComputedLayoutData$:h,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,event$:n.event$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}),lu="PieEventTexts",A2=K(lu,"text"),QN={name:lu,defaultParams:Bp,layerIndex:dp,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]}})};function Yp(t,e){const n=t.selectAll(`text.${A2}`).data(e),r=n.enter().append("text").classed(A2,!0),i=n.merge(r);return i.each((o,a,s)=>{const l=V(s[a]).text(o.text);Object.keys(o.attr).forEach(u=>{l.attr(u,o.attr[u])}),Object.keys(o.style).forEach(u=>{l.style(u,o.style[u])})}),n.exit().remove(),i}function Xp({eventData:t,renderFn:e,textAttrs:n,textStyles:r}){const i=e(t);return(Array.isArray(i)?i:[i]).map((a,s)=>({text:a,attr:n[s],style:r[s]}))}function JN(t,e){const n=new J;let r;const i=e.fullChartParams$.pipe(L(n),E(o=>o.highlightTarget),tt());return Y({computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:i}).pipe(L(n),G(async o=>o)).subscribe(o=>{e.containerSelection.transition("move").duration(o.fullChartParams.transitionDuration).tween("move",(a,s)=>l=>{const u=Xp({eventData:{type:"series",pluginName:t,eventName:"transitionMove",event:a,tween:l,highlightTarget:o.highlightTarget,data:o.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null},renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});Yp(e.containerSelection,u)}).on("end",(a,s)=>{const l=Xp({eventData:{type:"series",pluginName:t,eventName:"transitionEnd",event:a,tween:1,highlightTarget:o.highlightTarget,data:o.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null},renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});Yp(e.containerSelection,l),r&&r.unsubscribe(),r=e.event$.subscribe(u=>{const c=Xp({eventData:u,renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});Yp(e.containerSelection,c)})})}),()=>{n.next(void 0)}}const tF=$n(QN)(({selection:t,name:e,observer:n,subject:r})=>{const i=new J,{seriesCenterSelection$:o}=la({selection:t,pluginName:lu,separateSeries$:n.separateSeries$,seriesLabels$:n.seriesLabels$,seriesContainerPosition$:n.seriesContainerPosition$}),a=[];return o.pipe(L(i)).subscribe(s=>{a.forEach(l=>l()),s.each((l,u,c)=>{const f=V(c[u]),h=n.computedLayoutData$.pipe(L(i),E(d=>d[u]??d[0])),p=n.seriesContainerPosition$.pipe(L(i),E(d=>d[u]??d[0]));a[u]=JN(lu,{containerSelection:f,computedData$:n.computedData$,containerComputedLayoutData$:h,SeriesDataMap$:n.SeriesDataMap$,fullParams$:n.fullParams$,fullChartParams$:n.fullChartParams$,seriesHighlight$:n.seriesHighlight$,seriesContainerPosition$:p,event$:r.event$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}),Ii="PieLabels",eF=K(Ii,"label-g"),nF=K(Ii,"line-g"),rF=K(Ii,"text"),P2=2,iF={name:Ii,defaultParams:Np,layerIndex:dp,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"}})};function oF({pieData:t,arc:e,arcMouseover:n,labelCentroid:r,lineStartCentroid:i,fullParams:o}){return t.map((a,s)=>{const[l,u]=e.centroid(a),[c,f]=n.centroid(a),h=o.labelFn(a.data);return{pieDatum:a,arcIndex:s,arcLabels:h.split(`
220
- `),lineStartX:l*i,lineStartY:u*i,lineStartMouseoverX:c*i,lineStartMouseoverY:f*i,x:l*r,y:u*r,mouseoverX:c*r,mouseoverY:f*r,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:l>=0&&u<=0?1:l<0&&u<=0?2:l<0&&u>0?3:4}}).filter(a=>a.pieDatum.data.visible)}function aF({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:i}){const o=t.selectAll("text").data(e,a=>a.pieDatum.id).join("text").classed(rF,!0).attr("font-weight","bold").attr("text-anchor",a=>a.quadrant==1||a.quadrant==4?"start":"end").style("dominant-baseline",a=>a.quadrant==1||a.quadrant==2?"auto":"hanging").style("cursor",a=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("x",0).attr("y",0).attr("fill",(a,s)=>zt({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((a,s,l)=>{T$(V(l[s]),{textArr:a.arcLabels,textSizePx:i,quadrant:a.quadrant})});return o.transition().attr("transform",a=>"translate("+a.x+","+a.y+")"),o}function sF(t,e,n){const r=t.nodes(),i=n,o=r.map((a,s)=>{const l=a.getBBox(),u=[e[s].x,e[s].y];return{node:a,x:u[0],y:u[1],width:l.width,height:l.height}});for(let a=0;a<o.length;a++){const s=o[a];for(let l=a+1;l<o.length;l++){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,f=s.y+e[a].collisionShiftY,h=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<h-u.width/2||c-s.width/2>h+u.width/2||f+s.height/2<p-u.height/2||f-s.height/2>p+u.height/2)){if(e[l].quadrant==2){const d=p>f?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==4){const d=p>f?i:i*2;e[l].collisionShiftY+=d}}}}for(let a=o.length-1;a>=0;a--){const s=o[a];for(let l=a-1;l>=0;l--){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,f=s.y+e[a].collisionShiftY,h=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<h-u.width/2||c-s.width/2>h+u.width/2||f+s.height/2<p-u.height/2||f-s.height/2>p+u.height/2)){if(e[l].quadrant==1){const d=p>f?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==3){const d=p>f?i:i*2;e[l].collisionShiftY+=d}}}}t.data(e).transition().attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`)}function lF({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const i=e.filter(a=>a.collisionShiftX||a.collisionShiftY),o=t.selectAll("polyline").data(i,a=>a.pieDatum.id).join("polyline").attr("stroke",a=>zt({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",a=>[[a.lineStartX,a.lineStartY],[a.lineStartX,a.lineStartY]]);return o.transition().attr("points",a=>{let s=a.x+a.collisionShiftX,l=a.y+a.collisionShiftY;return[[s,l],[a.lineStartX,a.lineStartY]]}),o}function uF({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",i=>`translate(${i.x+i.collisionShiftX},${i.y+i.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((i,o,a)=>{const s=V(a[o]);n.includes(i.pieDatum.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",l=>l.collisionShiftX||l.collisionShiftY?`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`:`translate(${l.mouseoverX+l.collisionShiftX},${l.mouseoverY+l.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",l=>`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`)}),e.each((i,o,a)=>{const s=V(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function cF(t,e){const n=new J;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(nF,!0);const i=e.containerSelection.append("g");i.classed(eF,!0);const o=new J,a=new J;let s=[];const l=e.seriesContainerPosition$.pipe(L(n),E(c=>c.width<c.height?c.width:c.height),tt()),u=e.fullParams$.pipe(L(n),E(c=>c.labelCentroid>=P2?P2:c.labelCentroid));return Y({shorterSideWith:l,containerVisibleComputedLayoutData:e.containerVisibleComputedLayoutData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:u}).pipe(L(n),G(async c=>c)).subscribe(c=>{const f=eu({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadius,padAngle:0,cornerRadius:0}),h=eu({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadiusWhileHighlight,padAngle:0,cornerRadius:0}),p=w2({data:c.containerVisibleComputedLayoutData,startAngle:c.fullParams.startAngle,endAngle:c.fullParams.endAngle});s=oF({pieData:p,arc:f,arcMouseover:h,labelCentroid:c.fullParams.labelCentroid,lineStartCentroid:c.lineStartCentroid,fullParams:c.fullParams}),r.selectAll("polyline").remove();const d=aF({labelGSelection:i,data:s,fullParams:c.fullParams,fullChartParams:c.fullChartParams,textSizePx:c.textSizePx});setTimeout(()=>{sF(d,s,c.textSizePx);const m=lF({lineGSelection:r,data:s,fullParams:c.fullParams,fullChartParams:c.fullChartParams});a.next(m)},1e3),o.next(d)}),Y({textSelection:o,lineSelection:a,highlight:e.seriesHighlight$.pipe(E(c=>c.map(f=>f.id))),fullChartParams:e.fullChartParams$}).pipe(L(n),G(async c=>c)).subscribe(c=>{uF({textSelection:c.textSelection,lineSelection:c.lineSelection,ids:c.highlight,fullChartParams:c.fullChartParams})}),()=>{n.next(void 0)}}const fF=$n(iF)(({selection:t,observer:e,subject:n})=>{const r=new J,{seriesCenterSelection$:i}=la({selection:t,pluginName:Ii,separateSeries$:e.separateSeries$,seriesLabels$:e.seriesLabels$,seriesContainerPosition$:e.seriesContainerPosition$}),o=[];return i.pipe(L(r)).subscribe(a=>{o.forEach(s=>s()),a.each((s,l,u)=>{const c=V(u[l]),f=e.visibleComputedLayoutData$.pipe(L(r),E(p=>p[l]??p[0])),h=e.seriesContainerPosition$.pipe(L(r),E(p=>p[l]??p[0]));o[l]=cF(Ii,{containerSelection:c,containerVisibleComputedLayoutData$:f,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:h,event$:n.event$})})}),()=>{r.next(void 0)}}),Wp="Rose",hF=Math.PI*2,pF={name:Wp,defaultParams:_2,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"},angleIncreaseWhileHighlight:{toBeTypes:["number"]}})};function dF({cornerRadius:t,outerRadius:e,axisWidth:n,maxValue:r,arcScaleType:i,fullParams:o}){const a=n/2*e,s=i==="area"?.5:1,l=gr().domain([0,r]).range([0,a]).exponent(s);return u=>{const c=l(u.prevValue),f=l(u.value),h=en(c,f);return p=>{const d=h(p);return Xl().innerRadius(0).outerRadius(d).padAngle(o.padAngle).padRadius(d).cornerRadius(t)(u)}}}function gF({pathSelection:t,ids:e,fullParams:n,fullChartParams:r,tweenArc:i}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",o=>i(o)(1));return}t.each((o,a,s)=>{const l=V(s[a]);e.includes(o.data.id)?l.style("opacity",1).transition("highlight").ease(ri).duration(500).attr("d",u=>i({...u,startAngle:u.startAngle-n.angleIncreaseWhileHighlight,endAngle:u.endAngle+n.angleIncreaseWhileHighlight})(1)):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").attr("d",u=>i(u)(1))})}function mF(t,e){const n=new J,r=K(t,"path");let i=[];const o=e.seriesContainerPosition$.pipe(L(n),E(p=>p.width<p.height?p.width:p.height),tt()),a=Y({containerVisibleComputedLayoutData:e.containerVisibleComputedLayoutData$,fullParams:e.fullParams$}).pipe(L(n),G(async p=>p),E(p=>{const d=hF/p.containerVisibleComputedLayoutData.length;return p.containerVisibleComputedLayoutData.map((m,g)=>({id:m.id,data:m,index:g,value:m.value,startAngle:d*g,endAngle:d*(g+1),padAngle:p.fullParams.padAngle,prevValue:i[g]&&i[g].id===m.id?i[g].value:0}))})),s=e.fullChartParams$.pipe(L(n),E(p=>p.highlightTarget),tt()),l=e.visibleComputedLayoutData$.pipe(E(p=>Math.max(...p.flat().map(d=>d.value))),tt()),u=Y({fullParams:e.fullParams$,axisWidth:o,maxValue:l}).pipe(L(n),G(async p=>p),E(p=>dF({cornerRadius:p.fullParams.cornerRadius,outerRadius:p.fullParams.outerRadius,axisWidth:p.axisWidth,maxValue:p.maxValue,arcScaleType:p.fullParams.arcScaleType,fullParams:p.fullParams}))),c=e.fullChartParams$.pipe(L(n),E(p=>p.transitionDuration),tt()),f=new ud(!1),h=new pt(p=>{Y({pieData:a,tweenArc:u,transitionDuration:c,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$}).pipe(L(n),G(async d=>d)).subscribe(d=>{const m=d.pieData.map((y,b)=>(y.prevValue=i[b]&&i[b].id===y.id?i[b].value:0,y));f.next(!0);const g=e.containerSelection.selectAll("path").data(m,y=>y.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(y,b)=>y.data.color).attr("stroke",(y,b)=>zt({datum:y.data,colorType:d.fullParams.strokeColorType,fullChartParams:d.fullChartParams})).attr("stroke-width",d.fullParams.strokeWidth);g.interrupt("graphicMove"),g.transition("graphicMove").duration(d.transitionDuration).attrTween("d",d.tweenArc).on("end",()=>{p.next(g),f.next(!1)}),i=Object.assign([],m)})}).pipe(mt(1));return Y({pathSelection:h,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:s}).pipe(L(n),G(async p=>p)).subscribe(p=>{p.pathSelection.on("mouseover",(d,m)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:p.highlightTarget,datum:m.data,series:p.SeriesDataMap.get(m.data.seriesLabel),seriesIndex:m.data.seriesIndex,seriesLabel:m.data.seriesLabel,event:d,data:p.computedData})}).on("mousemove",(d,m)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:p.highlightTarget,datum:m.data,series:p.SeriesDataMap.get(m.data.seriesLabel),seriesIndex:m.data.seriesIndex,seriesLabel:m.data.seriesLabel,event:d,data:p.computedData})}).on("mouseout",(d,m)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:p.highlightTarget,datum:m.data,series:p.SeriesDataMap.get(m.data.seriesLabel),seriesIndex:m.data.seriesIndex,seriesLabel:m.data.seriesLabel,event:d,data:p.computedData})}).on("click",(d,m)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:p.highlightTarget,datum:m.data,series:p.SeriesDataMap.get(m.data.seriesLabel),seriesIndex:m.data.seriesIndex,seriesLabel:m.data.seriesLabel,event:d,data:p.computedData})})}),Y({pathSelection:h,highlight:e.seriesHighlight$.pipe(E(p=>p.map(d=>d.id))),fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,tweenArc:u,isTransitionMoving:f}).pipe(L(n),G(async p=>p),Mr(p=>!p.isTransitionMoving)).subscribe(p=>{gF({pathSelection:p.pathSelection,ids:p.highlight,fullParams:p.fullParams,fullChartParams:p.fullChartParams,tweenArc:p.tweenArc})}),()=>{n.next(void 0)}}const yF=$n(pF)(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,{seriesCenterSelection$:o}=la({selection:t,pluginName:Wp,separateSeries$:r.separateSeries$,seriesLabels$:r.seriesLabels$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(L(i)).subscribe(s=>{a.forEach(l=>l()),s.each((l,u,c)=>{const f=V(c[u]),h=r.visibleComputedLayoutData$.pipe(L(i),E(d=>JSON.parse(JSON.stringify(d[u]??d[0])))),p=r.seriesContainerPosition$.pipe(L(i),E(d=>JSON.parse(JSON.stringify(d[u]??d[0]))));a[u]=mF(Wp,{containerSelection:f,computedData$:r.computedData$,visibleComputedData$:r.visibleComputedData$,visibleComputedLayoutData$:r.visibleComputedLayoutData$,containerVisibleComputedLayoutData$:h,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,event$:n.event$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}),Bi="RoseLabels",bF=K(Bi,"label-g"),xF=K(Bi,"line-g"),vF=K(Bi,"text"),D2=2,$F={name:Bi,defaultParams:Fp,layerIndex:dp,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"}})};function _F({pieData:t,labelCentroid:e,arcScaleType:n,maxValue:r,axisWidth:i,outerRadius:o,lineStartCentroid:a,fullParams:s}){const l=i/2*o,u=n==="area"?.5:1,c=gr().domain([0,r]).range([0,l]).exponent(u);return t.map((f,h)=>{const p=c(f.value),d=Xl().innerRadius(0).outerRadius(p).padAngle(0).padRadius(p).cornerRadius(0),[m,g]=d.centroid(f),[y,b]=[m,g],v=s.labelFn(f.data);return{pieDatum:f,arcIndex:h,arcLabels:v.split(`
221
- `),lineStartX:m*a,lineStartY:g*a,lineStartMouseoverX:y*a,lineStartMouseoverY:b*a,x:m*e,y:g*e,mouseoverX:y*e,mouseoverY:b*e,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:m>=0&&g<=0?1:m<0&&g<=0?2:m<0&&g>0?3:4}}).filter(f=>f.pieDatum.data.visible)}function SF({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:i}){const o=t.selectAll("text").data(e,a=>a.pieDatum.id).join("text").classed(vF,!0).attr("font-weight","bold").attr("text-anchor",a=>a.quadrant==1||a.quadrant==4?"start":"end").style("dominant-baseline",a=>a.quadrant==1||a.quadrant==2?"auto":"hanging").style("cursor",a=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("fill",(a,s)=>zt({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((a,s,l)=>{T$(V(l[s]),{textArr:a.arcLabels,textSizePx:i,quadrant:a.quadrant})});return o.transition().attr("transform",a=>"translate("+a.x+","+a.y+")"),o}function wF(t,e,n){const r=t.nodes(),i=n,o=r.map((a,s)=>{const l=a.getBBox(),u=[e[s].x,e[s].y];return{node:a,x:u[0],y:u[1],width:l.width,height:l.height}});for(let a=0;a<o.length;a++){const s=o[a];for(let l=a+1;l<o.length;l++){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,f=s.y+e[a].collisionShiftY,h=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<h-u.width/2||c-s.width/2>h+u.width/2||f+s.height/2<p-u.height/2||f-s.height/2>p+u.height/2)){if(e[l].quadrant==2){const d=p>f?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==4){const d=p>f?i:i*2;e[l].collisionShiftY+=d}}}}for(let a=o.length-1;a>=0;a--){const s=o[a];for(let l=a-1;l>=0;l--){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,f=s.y+e[a].collisionShiftY,h=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<h-u.width/2||c-s.width/2>h+u.width/2||f+s.height/2<p-u.height/2||f-s.height/2>p+u.height/2)){if(e[l].quadrant==1){const d=p>f?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==3){const d=p>f?i:i*2;e[l].collisionShiftY+=d}}}}t.data(e).transition().attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`)}function TF({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const i=e.filter(a=>a.collisionShiftX||a.collisionShiftY),o=t.selectAll("polyline").data(i,a=>a.pieDatum.id).join("polyline").attr("stroke",a=>zt({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",a=>[[a.lineStartX,a.lineStartY],[a.lineStartX,a.lineStartY]]);return o.transition().attr("points",a=>{let s=a.x+a.collisionShiftX,l=a.y+a.collisionShiftY;return[[s,l],[a.lineStartX,a.lineStartY]]}),o}function AF({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",i=>`translate(${i.x+i.collisionShiftX},${i.y+i.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((i,o,a)=>{const s=V(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",l=>`translate(${l.mouseoverX+l.collisionShiftX},${l.mouseoverY+l.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",l=>`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`)}),e.each((i,o,a)=>{const s=V(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function PF(t,e){const n=new J;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(xF,!0);const i=e.containerSelection.append("g");i.classed(bF,!0);const o=new J,a=new J;let s=[];const l=e.seriesContainerPosition$.pipe(L(n),E(f=>f.width<f.height?f.width:f.height),tt()),u=e.visibleComputedLayoutData$.pipe(E(f=>Math.max(...f.flat().map(h=>h.value))),tt()),c=e.fullParams$.pipe(L(n),E(f=>f.labelCentroid>=D2?D2:f.labelCentroid));return Y({shorterSideWith:l,containerVisibleComputedLayoutData:e.containerVisibleComputedLayoutData$,maxValue:u,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:c}).pipe(L(n),G(async f=>f)).subscribe(f=>{const h=Math.PI*2/f.containerVisibleComputedLayoutData.length,p=f.containerVisibleComputedLayoutData.map((m,g)=>({id:m.id,data:m,index:g,value:m.value,startAngle:h*g,endAngle:h*(g+1),padAngle:0}));s=_F({pieData:p,labelCentroid:f.fullParams.labelCentroid,arcScaleType:f.fullParams.arcScaleType,maxValue:f.maxValue,axisWidth:f.shorterSideWith,outerRadius:f.fullParams.outerRadius,lineStartCentroid:f.lineStartCentroid,fullParams:f.fullParams}),r.selectAll("polyline").remove();const d=SF({labelGSelection:i,data:s,fullParams:f.fullParams,fullChartParams:f.fullChartParams,textSizePx:f.textSizePx});setTimeout(()=>{wF(d,s,f.textSizePx);const m=TF({lineGSelection:r,data:s,fullParams:f.fullParams,fullChartParams:f.fullChartParams});a.next(m)},1e3),o.next(d)}),Y({textSelection:o,lineSelection:a,highlight:e.seriesHighlight$.pipe(E(f=>f.map(h=>h.id))),fullChartParams:e.fullChartParams$}).pipe(L(n),G(async f=>f)).subscribe(f=>{AF({textSelection:f.textSelection,lineSelection:f.lineSelection,ids:f.highlight,fullChartParams:f.fullChartParams})}),()=>{n.next(void 0)}}const DF=$n($F)(({selection:t,observer:e,subject:n})=>{const r=new J,{seriesCenterSelection$:i}=la({selection:t,pluginName:Bi,separateSeries$:e.separateSeries$,seriesLabels$:e.seriesLabels$,seriesContainerPosition$:e.seriesContainerPosition$}),o=[];return i.pipe(L(r)).subscribe(a=>{o.forEach(s=>s()),a.each((s,l,u)=>{const c=V(u[l]),f=e.visibleComputedLayoutData$.pipe(L(r),E(p=>JSON.parse(JSON.stringify(p[l]??p[0])))),h=e.seriesContainerPosition$.pipe(L(r),E(p=>JSON.parse(JSON.stringify(p[l]??p[0]))));o[l]=PF(Bi,{containerSelection:c,visibleComputedLayoutData$:e.visibleComputedLayoutData$,containerVisibleComputedLayoutData$:f,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:h,event$:n.event$})})}),()=>{r.next(void 0)}}),C2="SeriesLegend",CF=$n({name:C2,defaultParams:S2,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new J,o=n.SeriesDataMap$.pipe(L(i),E(l=>Array.from(l.keys()))),a=n.fullParams$.pipe(L(i),E(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=ki(C2,{rootSelection:e,legendLabels$:o,fullParams$:a,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),s()}}),M2="SeriesTooltip",MF=$n({name:M2,defaultParams:Op,layerIndex:Li,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=Ei(M2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),Vp={paddingInner:2,paddingOuter:2,labelColorType:"primary",squarifyRatio:1.618034,sort:(t,e)=>e.value-t.value};Vp.sort.toString=()=>"(a, b) => b.value - a.value";const L2={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Up={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,i=!!t.datum.label,o=e.textSizePx*.7,a=e.textSizePx/2-o/2,s=r?`<rect width="${o}" height="${o}" x="${a}" y="${a-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
349
+ return \`\${seriesSvg}
350
+ <g \${hasSeriesLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
351
+ \${datumSvg}
352
+ </g>\`
353
+ }`;const yz="Bubbles",tS=12,bz={name:yz,defaultParams:Z2,layerIndex:he,validator:(t,{validateColumns:e})=>{const n=e(t,{force:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"}});if(t.force){const r=e(t.force,{velocityDecay:{toBeTypes:["number"]},collisionSpacing:{toBeTypes:["number"]},strength:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{colorType:{toBeOption:"ColorType"},fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function xz(t,e){return Hs().velocityDecay(e.force.velocityDecay).force("collision",js().radius(n=>n.r+e.force.collisionSpacing)).force("charge",qs().strength(n=>-Math.pow(n.r,2)*e.force.strength)).on("tick",()=>{t.attr("transform",n=>`translate(${n.x},${n.y})`)})}function $z({visibleComputedSortedData:t,LastBubbleDataMap:e,graphicWidth:n,graphicHeight:r,SeriesContainerPositionMap:i,scaleType:o}){const a=Math.min(n,r)/2,s=t.flat(),l=s.reduce((f,p)=>f+p.value,0),u=In().domain([0,l]).range([0,a]).exponent(o==="area"?.5:1),c=o==="area"?1:(()=>{const f=a*a*Math.PI;return Math.sqrt(f/Lc(s,p=>Math.PI*Math.pow(u(p.value),2)))})(),h=.9;return s.map(f=>{const p=f,d=e.get(p.id);if(d)p.x=d.x,p.y=d.y;else{const m=i.get(p.seriesLabel);p.x=Math.random()*m.width,p.y=Math.random()*m.height}const g=u(p.value??0)*c*h;return p.r=g,p._originR=g,p})}function vz({selection:t,bubblesData:e,fullParams:n,fullChartParams:r,sumSeries:i}){const o=t.selectAll("g").data(e,s=>s.id).join(s=>{const l=s.append("g").attr("cursor","pointer").attr("font-size",tS).style("fill","#ffffff").attr("text-anchor","middle");return l.append("circle").attr("class","node").attr("cx",0).attr("cy",0).attr("fill",u=>u.color),l.append("text").style("opacity",.8).attr("pointer-events","none"),l},s=>s,s=>s.remove()).attr("transform",s=>`translate(${s.x},${s.y})`),a=i?"seriesLabel":"label";return o.select("circle").transition().duration(200).attr("r",s=>s.r).attr("fill",s=>s.color),o.each((s,l,u)=>{const c=U(u[l]),h=s[a]??"";c.call(Hv,{text:h,radius:s.r*n.bubbleLabel.fillRate,lineHeight:tS*n.bubbleLabel.lineHeight,isBreakAll:h.length<=n.bubbleLabel.maxLineLength?!1:n.bubbleLabel.wordBreakAll}),c.select("text").attr("fill",f=>St({datum:s,colorType:n.bubbleLabel.colorType,fullChartParams:r}))}),o}function Sz(t){return bs().on("start",(e,n)=>{e.active||t.alpha(1).restart(),n.fx=n.x,n.fy=n.y}).on("drag",(e,n)=>{e.active||t.alphaTarget(0),n.fx=e.x,n.fy=e.y}).on("end",(e,n)=>{n.fx=null,n.fy=null,t.alpha(1).restart()})}function _z({_simulation:t,fullParams:e,SeriesContainerPositionMap:n}){t.force("x",n1().strength(e.force.strength).x(r=>n.get(r.seriesLabel).centerX)).force("y",r1().strength(e.force.strength).y(r=>n.get(r.seriesLabel).centerY))}function wz({bubblesSelection:t,highlightIds:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1);return}t.each((r,i,o)=>{const a=U(o[i]);e.includes(r.id)?a.style("opacity",1).transition("highlight").ease(cr).duration(500):a.style("opacity",n.styles.unhighlightedOpacity)})}const Tz=An(bz)(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q;let o,a=new Map;const s=n.fullDataFormatter$.pipe(L(f=>f.sumSeries),K()),l=n.fullParams$.pipe(D(i),L(f=>f.arcScaleType),K()),u=O({layout:n.layout$,SeriesContainerPositionMap:n.SeriesContainerPositionMap$,visibleComputedSortedData:n.visibleComputedSortedData$,scaleType:l}).pipe(D(i),z(async f=>f),L(f=>$z({visibleComputedSortedData:f.visibleComputedSortedData,LastBubbleDataMap:a,graphicWidth:f.layout.width,graphicHeight:f.layout.height,SeriesContainerPositionMap:f.SeriesContainerPositionMap,scaleType:f.scaleType})),st(1));u.subscribe(f=>{a=new Map(f.map(p=>[p.id,p]))});const c=n.fullChartParams$.pipe(D(i),L(f=>f.highlightTarget),K()),h=O({bubblesData:u,fullParams:n.fullParams$,fullChartParams:n.fullChartParams$,SeriesContainerPositionMap:n.SeriesContainerPositionMap$,sumSeries:s}).pipe(D(i),z(async f=>f),L(f=>{o&&o.stop();const p=vz({selection:t,bubblesData:f.bubblesData,fullParams:f.fullParams,fullChartParams:f.fullChartParams,sumSeries:f.sumSeries});return o=xz(p,f.fullParams),o.nodes(f.bubblesData),_z({_simulation:o,fullParams:f.fullParams,SeriesContainerPositionMap:f.SeriesContainerPositionMap}),o.alpha(1).restart(),p}),st(1));return O({bubblesSelection:h,computedData:n.computedData$,SeriesDataMap:n.SeriesDataMap$,highlightTarget:c}).pipe(D(i),z(async f=>f)).subscribe(f=>{f.bubblesSelection.on("mouseover",(p,d)=>{r.event$.next({type:"series",eventName:"mouseover",pluginName:e,highlightTarget:f.highlightTarget,datum:d,series:f.SeriesDataMap.get(d.seriesLabel),seriesIndex:d.seriesIndex,seriesLabel:d.seriesLabel,event:p,data:f.computedData})}).on("mousemove",(p,d)=>{r.event$.next({type:"series",eventName:"mousemove",pluginName:e,highlightTarget:f.highlightTarget,datum:d,series:f.SeriesDataMap.get(d.seriesLabel),seriesIndex:d.seriesIndex,seriesLabel:d.seriesLabel,event:p,data:f.computedData})}).on("mouseout",(p,d)=>{r.event$.next({type:"series",eventName:"mouseout",pluginName:e,highlightTarget:f.highlightTarget,datum:d,series:f.SeriesDataMap.get(d.seriesLabel),seriesIndex:d.seriesIndex,seriesLabel:d.seriesLabel,event:p,data:f.computedData})}).on("click",(p,d)=>{r.event$.next({type:"series",eventName:"click",pluginName:e,highlightTarget:f.highlightTarget,datum:d,series:f.SeriesDataMap.get(d.seriesLabel),seriesIndex:d.seriesIndex,seriesLabel:d.seriesLabel,event:p,data:f.computedData})}).call(Sz(o))}),O({bubblesSelection:h,highlight:n.seriesHighlight$.pipe(L(f=>f.map(p=>p.id))),fullChartParams:n.fullChartParams$}).pipe(D(i),z(async f=>f)).subscribe(f=>{wz({bubblesSelection:f.bubblesSelection,highlightIds:f.highlight,fullChartParams:f.fullChartParams})}),()=>{i.next(void 0),o&&(o.stop(),o=void 0)}});function eS({data:t,startAngle:e,endAngle:n}){return N$().startAngle(e).endAngle(n).value(o=>o.value).sort((o,a)=>o.seq-a.seq)(t).map((o,a)=>{let s=o;return s.id=o.data.id,s})}function Az({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r}){const i=q(e,"series");return O({seriesLabels:r,separateSeries:n}).pipe(z(async o=>o),L((o,a)=>{const s=o.separateSeries?o.seriesLabels:[o.seriesLabels.join("")];return t.selectAll(`g.${i}`).data(s,l=>l).join(l=>l.append("g").classed(i,!0),l=>l,l=>l.remove())}),st(1))}const xa=({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r,seriesContainerPosition$:i})=>{const o=Az({selection:t,pluginName:e,separateSeries$:n,seriesLabels$:r});return O({seriesCenterSelection:o,seriesContainerPosition:i}).pipe(z(async a=>a),K((a,s)=>a.seriesContainerPosition.length===s.seriesContainerPosition.length)).subscribe(a=>{a.seriesCenterSelection.attr("transform",(s,l)=>{const u=a.seriesContainerPosition[l]??a.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),O({seriesCenterSelection:o,seriesContainerPosition:i}).pipe(z(async a=>a)).subscribe(a=>{a.seriesCenterSelection.transition().attr("transform",(s,l)=>{const u=a.seriesContainerPosition[l]??a.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),{seriesCenterSelection$:o}},ad="Pie",Pz={name:ad,defaultParams:K2,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},innerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeTypes:["string"]},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]}})};function Cz({enter:t,exit:e,data:n,lastTweenData:r,fullParams:i}){return!t.size()&&!e.size()?o=>{const a=n.map((s,l)=>{const u=r[l]??{startAngle:0,endAngle:0,value:0};return{...s,startAngle:s.startAngle*o+u.startAngle*(1-o),endAngle:s.endAngle*o+u.endAngle*(1-o),value:s.value*o+u.value*(1-o)}});return sd(a,i.startAngle,i.endAngle,1)}:o=>sd(n,i.startAngle,i.endAngle,o)}function sd(t,e,n,r){return t.map((i,o)=>{const a=e+(i.startAngle-e)*r,s=a+(i.endAngle-i.startAngle)*r;return{...i,startAngle:a,endAngle:s}})}function nS({selection:t,data:e,arc:n,pathClassName:r,fullParams:i,fullChartParams:o}){return t.selectAll("path").data(e,s=>s.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(s,l)=>s.data.color).attr("stroke",(s,l)=>St({datum:s.data,colorType:i.strokeColorType,fullChartParams:o})).attr("stroke-width",i.strokeWidth).attr("d",(s,l)=>n(s))}function Dz({pathSelection:t,ids:e,fullChartParams:n,arc:r,arcHighlight:i}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",o=>r(o));return}t.each((o,a,s)=>{const l=U(s[a]);e.includes(o.data.id)?l.style("opacity",1).transition("highlight").ease(cr).duration(500).attr("d",u=>i(u)):l.style("opacity",n.styles.unhighlightedOpacity).transition("highlight").attr("d",u=>r(u))})}function Mz(t,e){const n=new Q,r=q(t,"path");let i=[],o=[];const a=e.seriesContainerPosition$.pipe(D(n),L(f=>f.width<f.height?f.width:f.height),K()),s=new gt(f=>{O({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(D(n),z(async p=>p)).subscribe(p=>{const d=eS({data:p.containerVisibleComputedSortedData,startAngle:p.fullParams.startAngle,endAngle:p.fullParams.endAngle});f.next(d)})}),l=new gt(f=>{O({shorterSideWith:a,fullParams:e.fullParams$}).pipe(D(n),z(async p=>p)).subscribe(p=>{const d=du({axisWidth:p.shorterSideWith,innerRadius:p.fullParams.innerRadius,outerRadius:p.fullParams.outerRadius,padAngle:p.fullParams.padAngle,cornerRadius:p.fullParams.cornerRadius});f.next(d)})}),u=new gt(f=>{O({shorterSideWith:a,fullParams:e.fullParams$}).pipe(D(n),z(async p=>p)).subscribe(p=>{const d=du({axisWidth:p.shorterSideWith,innerRadius:p.fullParams.innerRadius,outerRadius:p.fullParams.outerRadiusWhileHighlight,padAngle:p.fullParams.padAngle,cornerRadius:p.fullParams.cornerRadius});f.next(d)})}),c=e.fullChartParams$.pipe(D(n),L(f=>f.highlightTarget),K()),h=new gt(f=>{O({pieData:s,arc:l,computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:c}).pipe(D(n),z(async p=>p)).subscribe(p=>{e.containerSelection.interrupt("graphicMove");const d=e.containerSelection.selectAll("path").data(p.pieData,y=>y.id),g=d.enter(),m=d.exit(),b=Cz({enter:g,exit:m,data:p.pieData,lastTweenData:i,fullParams:p.fullParams});e.containerSelection.transition("graphicMove").duration(p.fullChartParams.transitionDuration).tween("move",(y,x)=>$=>{o=b($),nS({selection:e.containerSelection,data:o,arc:p.arc,pathClassName:r,fullParams:p.fullParams,fullChartParams:p.fullChartParams})}).on("end",(y,x)=>{o=sd(p.pieData,p.fullParams.startAngle,p.fullParams.endAngle,1);const $=nS({selection:e.containerSelection,data:o,arc:p.arc,pathClassName:r,fullParams:p.fullParams,fullChartParams:p.fullChartParams});f.next($),i=Object.assign([],p.pieData),e.event$.next({type:"series",pluginName:t,eventName:"transitionEnd",event:void 0,highlightTarget:p.highlightTarget,datum:null,series:[],seriesIndex:-1,seriesLabel:"",data:p.computedData})})})}).pipe(st(1));return O({pathSelection:h,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:c}).pipe(D(n),z(async f=>f)).subscribe(f=>{f.pathSelection.on("mouseover",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:f.highlightTarget,datum:d.data,series:f.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:f.computedData})}).on("mousemove",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:f.highlightTarget,datum:d.data,series:f.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:f.computedData})}).on("mouseout",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:f.highlightTarget,datum:d.data,series:f.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:f.computedData})}).on("click",(p,d)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:f.highlightTarget,datum:d.data,series:f.SeriesDataMap.get(d.data.seriesLabel),seriesIndex:d.data.seriesIndex,seriesLabel:d.data.seriesLabel,event:p,data:f.computedData})})}),O({pathSelection:h,highlight:e.seriesHighlight$.pipe(L(f=>f.map(p=>p.id))),fullChartParams:e.fullChartParams$,arc:l,arcHighlight:u}).pipe(D(n),z(async f=>f)).subscribe(f=>{Dz({pathSelection:f.pathSelection,ids:f.highlight,fullChartParams:f.fullChartParams,arc:f.arc,arcHighlight:f.arcHighlight})}),()=>{n.next(void 0)}}const Lz=An(Pz)(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,{seriesCenterSelection$:o}=xa({selection:t,pluginName:ad,separateSeries$:r.separateSeries$,seriesLabels$:r.seriesLabels$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(D(i)).subscribe(s=>{a.forEach(l=>l()),s.each((l,u,c)=>{const h=U(c[u]),f=r.visibleComputedSortedData$.pipe(D(i),L(d=>d[u]??d[0])),p=r.seriesContainerPosition$.pipe(D(i),L(d=>d[u]??d[0]));a[u]=Mz(ad,{containerSelection:h,computedData$:r.computedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,event$:n.event$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}),vu="PieEventTexts",rS=q(vu,"text"),kz={name:vu,defaultParams:nd,layerIndex:mu,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]}})};function ld(t,e){const n=t.selectAll(`text.${rS}`).data(e),r=n.enter().append("text").classed(rS,!0),i=n.merge(r);return i.each((o,a,s)=>{const l=U(s[a]).text(o.text);Object.keys(o.attr).forEach(u=>{l.attr(u,o.attr[u])}),Object.keys(o.style).forEach(u=>{l.style(u,o.style[u])})}),n.exit().remove(),i}function ud({eventData:t,renderFn:e,textAttrs:n,textStyles:r}){const i=e(t);return(Array.isArray(i)?i:[i]).map((a,s)=>({text:a,attr:n[s],style:r[s]}))}function Rz(t,e){const n=new Q;let r;const i=e.fullChartParams$.pipe(D(n),L(o=>o.highlightTarget),K());return O({computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:i}).pipe(D(n),z(async o=>o)).subscribe(o=>{e.containerSelection.transition("move").duration(o.fullChartParams.transitionDuration).tween("move",(a,s)=>l=>{const u=ud({eventData:{type:"series",pluginName:t,eventName:"transitionMove",event:a,tween:l,highlightTarget:o.highlightTarget,data:o.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null},renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});ld(e.containerSelection,u)}).on("end",(a,s)=>{const l=ud({eventData:{type:"series",pluginName:t,eventName:"transitionEnd",event:a,tween:1,highlightTarget:o.highlightTarget,data:o.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null},renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});ld(e.containerSelection,l),r&&r.unsubscribe(),r=e.event$.subscribe(u=>{const c=ud({eventData:u,renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});ld(e.containerSelection,c)})})}),()=>{n.next(void 0)}}const Ez=An(kz)(({selection:t,name:e,observer:n,subject:r})=>{const i=new Q,{seriesCenterSelection$:o}=xa({selection:t,pluginName:vu,separateSeries$:n.separateSeries$,seriesLabels$:n.seriesLabels$,seriesContainerPosition$:n.seriesContainerPosition$}),a=[];return o.pipe(D(i)).subscribe(s=>{a.forEach(l=>l()),s.each((l,u,c)=>{const h=U(c[u]),f=n.computedSortedData$.pipe(D(i),L(d=>d[u]??d[0])),p=n.seriesContainerPosition$.pipe(D(i),L(d=>d[u]??d[0]));a[u]=Rz(vu,{containerSelection:h,computedData$:n.computedData$,containerComputedSortedData$:f,SeriesDataMap$:n.SeriesDataMap$,fullParams$:n.fullParams$,fullChartParams$:n.fullChartParams$,seriesHighlight$:n.seriesHighlight$,seriesContainerPosition$:p,event$:r.event$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}),Wi="PieLabels",Iz=q(Wi,"label-g"),Bz=q(Wi,"line-g"),Nz=q(Wi,"text"),iS=2,Fz={name:Wi,defaultParams:rd,layerIndex:mu,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"}})};function zz({pieData:t,arc:e,arcMouseover:n,labelCentroid:r,lineStartCentroid:i,fullParams:o}){return t.map((a,s)=>{const[l,u]=e.centroid(a),[c,h]=n.centroid(a),f=o.labelFn(a.data);return{pieDatum:a,arcIndex:s,arcLabels:f.split(`
354
+ `),lineStartX:l*i,lineStartY:u*i,lineStartMouseoverX:c*i,lineStartMouseoverY:h*i,x:l*r,y:u*r,mouseoverX:c*r,mouseoverY:h*r,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:l>=0&&u<=0?1:l<0&&u<=0?2:l<0&&u>0?3:4}}).filter(a=>a.pieDatum.data.visible)}function Oz({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:i}){const o=t.selectAll("text").data(e,a=>a.pieDatum.id).join("text").classed(Nz,!0).attr("font-weight","bold").attr("text-anchor",a=>a.quadrant==1||a.quadrant==4?"start":"end").style("dominant-baseline",a=>a.quadrant==1||a.quadrant==2?"auto":"hanging").style("cursor",a=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("x",0).attr("y",0).attr("fill",(a,s)=>St({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((a,s,l)=>{qv(U(l[s]),{textArr:a.arcLabels,textSizePx:i,quadrant:a.quadrant})});return o.transition().attr("transform",a=>"translate("+a.x+","+a.y+")"),o}function Gz(t,e,n){const r=t.nodes(),i=n,o=r.map((a,s)=>{const l=a.getBBox(),u=[e[s].x,e[s].y];return{node:a,x:u[0],y:u[1],width:l.width,height:l.height}});for(let a=0;a<o.length;a++){const s=o[a];for(let l=a+1;l<o.length;l++){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,h=s.y+e[a].collisionShiftY,f=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||h+s.height/2<p-u.height/2||h-s.height/2>p+u.height/2)){if(e[l].quadrant==2){const d=p>h?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==4){const d=p>h?i:i*2;e[l].collisionShiftY+=d}}}}for(let a=o.length-1;a>=0;a--){const s=o[a];for(let l=a-1;l>=0;l--){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,h=s.y+e[a].collisionShiftY,f=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||h+s.height/2<p-u.height/2||h-s.height/2>p+u.height/2)){if(e[l].quadrant==1){const d=p>h?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==3){const d=p>h?i:i*2;e[l].collisionShiftY+=d}}}}t.data(e).transition().attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`)}function Wz({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const i=e.filter(a=>a.collisionShiftX||a.collisionShiftY),o=t.selectAll("polyline").data(i,a=>a.pieDatum.id).join("polyline").attr("stroke",a=>St({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",a=>[[a.lineStartX,a.lineStartY],[a.lineStartX,a.lineStartY]]);return o.transition().attr("points",a=>{let s=a.x+a.collisionShiftX,l=a.y+a.collisionShiftY;return[[s,l],[a.lineStartX,a.lineStartY]]}),o}function Yz({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",i=>`translate(${i.x+i.collisionShiftX},${i.y+i.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((i,o,a)=>{const s=U(a[o]);n.includes(i.pieDatum.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",l=>l.collisionShiftX||l.collisionShiftY?`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`:`translate(${l.mouseoverX+l.collisionShiftX},${l.mouseoverY+l.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",l=>`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`)}),e.each((i,o,a)=>{const s=U(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function Vz(t,e){const n=new Q;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(Bz,!0);const i=e.containerSelection.append("g");i.classed(Iz,!0);const o=new Q,a=new Q;let s=[];const l=e.seriesContainerPosition$.pipe(D(n),L(c=>c.width<c.height?c.width:c.height),K()),u=e.fullParams$.pipe(D(n),L(c=>c.labelCentroid>=iS?iS:c.labelCentroid));return O({shorterSideWith:l,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:u}).pipe(D(n),z(async c=>c)).subscribe(c=>{const h=du({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadius,padAngle:0,cornerRadius:0}),f=du({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadiusWhileHighlight,padAngle:0,cornerRadius:0}),p=eS({data:c.containerVisibleComputedSortedData,startAngle:c.fullParams.startAngle,endAngle:c.fullParams.endAngle});s=zz({pieData:p,arc:h,arcMouseover:f,labelCentroid:c.fullParams.labelCentroid,lineStartCentroid:c.lineStartCentroid,fullParams:c.fullParams}),r.selectAll("polyline").remove();const d=Oz({labelGSelection:i,data:s,fullParams:c.fullParams,fullChartParams:c.fullChartParams,textSizePx:c.textSizePx});setTimeout(()=>{Gz(d,s,c.textSizePx);const g=Wz({lineGSelection:r,data:s,fullParams:c.fullParams,fullChartParams:c.fullChartParams});a.next(g)},1e3),o.next(d)}),O({textSelection:o,lineSelection:a,highlight:e.seriesHighlight$.pipe(L(c=>c.map(h=>h.id))),fullChartParams:e.fullChartParams$}).pipe(D(n),z(async c=>c)).subscribe(c=>{Yz({textSelection:c.textSelection,lineSelection:c.lineSelection,ids:c.highlight,fullChartParams:c.fullChartParams})}),()=>{n.next(void 0)}}const Uz=An(Fz)(({selection:t,observer:e,subject:n})=>{const r=new Q,{seriesCenterSelection$:i}=xa({selection:t,pluginName:Wi,separateSeries$:e.separateSeries$,seriesLabels$:e.seriesLabels$,seriesContainerPosition$:e.seriesContainerPosition$}),o=[];return i.pipe(D(r)).subscribe(a=>{o.forEach(s=>s()),a.each((s,l,u)=>{const c=U(u[l]),h=e.visibleComputedSortedData$.pipe(D(r),L(p=>p[l]??p[0])),f=e.seriesContainerPosition$.pipe(D(r),L(p=>p[l]??p[0]));o[l]=Vz(Wi,{containerSelection:c,containerVisibleComputedSortedData$:h,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:f,event$:n.event$})})}),()=>{r.next(void 0)}}),cd="Rose",Xz=Math.PI*2,jz={name:cd,defaultParams:Q2,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"},angleIncreaseWhileHighlight:{toBeTypes:["number"]}})};function Hz({cornerRadius:t,outerRadius:e,axisWidth:n,maxValue:r,arcScaleType:i,fullParams:o}){const a=n/2*e,s=i==="area"?.5:1,l=In().domain([0,r]).range([0,a]).exponent(s);return u=>{const c=l(u.prevValue),h=l(u.value),f=sn(c,h);return p=>{const d=f(p);return nu().innerRadius(0).outerRadius(d).padAngle(o.padAngle).padRadius(d).cornerRadius(t)(u)}}}function qz({pathSelection:t,ids:e,fullParams:n,fullChartParams:r,tweenArc:i}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",o=>i(o)(1));return}t.each((o,a,s)=>{const l=U(s[a]);e.includes(o.data.id)?l.style("opacity",1).transition("highlight").ease(cr).duration(500).attr("d",u=>i({...u,startAngle:u.startAngle-n.angleIncreaseWhileHighlight,endAngle:u.endAngle+n.angleIncreaseWhileHighlight})(1)):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").attr("d",u=>i(u)(1))})}function Zz(t,e){const n=new Q,r=q(t,"path");let i=[];const o=e.seriesContainerPosition$.pipe(D(n),L(p=>p.width<p.height?p.width:p.height),K()),a=O({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(D(n),z(async p=>p),L(p=>{const d=Xz/p.containerVisibleComputedSortedData.length;return p.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:d*m,endAngle:d*(m+1),padAngle:p.fullParams.padAngle,prevValue:i[m]&&i[m].id===g.id?i[m].value:0}))})),s=e.fullChartParams$.pipe(D(n),L(p=>p.highlightTarget),K()),l=e.visibleComputedSortedData$.pipe(L(p=>Math.max(...p.flat().map(d=>d.value))),K()),u=O({fullParams:e.fullParams$,axisWidth:o,maxValue:l}).pipe(D(n),z(async p=>p),L(p=>Hz({cornerRadius:p.fullParams.cornerRadius,outerRadius:p.fullParams.outerRadius,axisWidth:p.axisWidth,maxValue:p.maxValue,arcScaleType:p.fullParams.arcScaleType,fullParams:p.fullParams}))),c=e.fullChartParams$.pipe(D(n),L(p=>p.transitionDuration),K()),h=new ku(!1),f=new gt(p=>{O({pieData:a,tweenArc:u,transitionDuration:c,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$}).pipe(D(n),z(async d=>d)).subscribe(d=>{const g=d.pieData.map((b,y)=>(b.prevValue=i[y]&&i[y].id===b.id?i[y].value:0,b));h.next(!0);const m=e.containerSelection.selectAll("path").data(g,b=>b.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(b,y)=>b.data.color).attr("stroke",(b,y)=>St({datum:b.data,colorType:d.fullParams.strokeColorType,fullChartParams:d.fullChartParams})).attr("stroke-width",d.fullParams.strokeWidth);m.interrupt("graphicMove"),m.transition("graphicMove").duration(d.transitionDuration).attrTween("d",d.tweenArc).on("end",()=>{p.next(m),h.next(!1)}),i=Object.assign([],g)})}).pipe(st(1));return O({pathSelection:f,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:s}).pipe(D(n),z(async p=>p)).subscribe(p=>{p.pathSelection.on("mouseover",(d,g)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:p.highlightTarget,datum:g.data,series:p.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:d,data:p.computedData})}).on("mousemove",(d,g)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:p.highlightTarget,datum:g.data,series:p.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:d,data:p.computedData})}).on("mouseout",(d,g)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:p.highlightTarget,datum:g.data,series:p.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:d,data:p.computedData})}).on("click",(d,g)=>{d.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:p.highlightTarget,datum:g.data,series:p.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:d,data:p.computedData})})}),O({pathSelection:f,highlight:e.seriesHighlight$.pipe(L(p=>p.map(d=>d.id))),fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,tweenArc:u,isTransitionMoving:h}).pipe(D(n),z(async p=>p),Ir(p=>!p.isTransitionMoving)).subscribe(p=>{qz({pathSelection:p.pathSelection,ids:p.highlight,fullParams:p.fullParams,fullChartParams:p.fullChartParams,tweenArc:p.tweenArc})}),()=>{n.next(void 0)}}const Kz=An(jz)(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,{seriesCenterSelection$:o}=xa({selection:t,pluginName:cd,separateSeries$:r.separateSeries$,seriesLabels$:r.seriesLabels$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(D(i)).subscribe(s=>{a.forEach(l=>l()),s.each((l,u,c)=>{const h=U(c[u]),f=r.visibleComputedSortedData$.pipe(D(i),L(d=>JSON.parse(JSON.stringify(d[u]??d[0])))),p=r.seriesContainerPosition$.pipe(D(i),L(d=>JSON.parse(JSON.stringify(d[u]??d[0]))));a[u]=Zz(cd,{containerSelection:h,computedData$:r.computedData$,visibleComputedData$:r.visibleComputedData$,visibleComputedSortedData$:r.visibleComputedSortedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,event$:n.event$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}),Yi="RoseLabels",Qz=q(Yi,"label-g"),Jz=q(Yi,"line-g"),tO=q(Yi,"text"),oS=2,eO={name:Yi,defaultParams:id,layerIndex:mu,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"}})};function nO({pieData:t,labelCentroid:e,arcScaleType:n,maxValue:r,axisWidth:i,outerRadius:o,lineStartCentroid:a,fullParams:s}){const l=i/2*o,u=n==="area"?.5:1,c=In().domain([0,r]).range([0,l]).exponent(u);return t.map((h,f)=>{const p=c(h.value),d=nu().innerRadius(0).outerRadius(p).padAngle(0).padRadius(p).cornerRadius(0),[g,m]=d.centroid(h),[b,y]=[g,m],x=s.labelFn(h.data);return{pieDatum:h,arcIndex:f,arcLabels:x.split(`
355
+ `),lineStartX:g*a,lineStartY:m*a,lineStartMouseoverX:b*a,lineStartMouseoverY:y*a,x:g*e,y:m*e,mouseoverX:b*e,mouseoverY:y*e,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:g>=0&&m<=0?1:g<0&&m<=0?2:g<0&&m>0?3:4}}).filter(h=>h.pieDatum.data.visible)}function rO({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:i}){const o=t.selectAll("text").data(e,a=>a.pieDatum.id).join("text").classed(tO,!0).attr("font-weight","bold").attr("text-anchor",a=>a.quadrant==1||a.quadrant==4?"start":"end").style("dominant-baseline",a=>a.quadrant==1||a.quadrant==2?"auto":"hanging").style("cursor",a=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("fill",(a,s)=>St({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((a,s,l)=>{qv(U(l[s]),{textArr:a.arcLabels,textSizePx:i,quadrant:a.quadrant})});return o.transition().attr("transform",a=>"translate("+a.x+","+a.y+")"),o}function iO(t,e,n){const r=t.nodes(),i=n,o=r.map((a,s)=>{const l=a.getBBox(),u=[e[s].x,e[s].y];return{node:a,x:u[0],y:u[1],width:l.width,height:l.height}});for(let a=0;a<o.length;a++){const s=o[a];for(let l=a+1;l<o.length;l++){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,h=s.y+e[a].collisionShiftY,f=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||h+s.height/2<p-u.height/2||h-s.height/2>p+u.height/2)){if(e[l].quadrant==2){const d=p>h?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==4){const d=p>h?i:i*2;e[l].collisionShiftY+=d}}}}for(let a=o.length-1;a>=0;a--){const s=o[a];for(let l=a-1;l>=0;l--){const u=o[l];e[a].textWidth=s.width;const c=s.x+e[a].collisionShiftX,h=s.y+e[a].collisionShiftY,f=u.x+e[l].collisionShiftX,p=u.y+e[l].collisionShiftY;if(!(c+s.width/2<f-u.width/2||c-s.width/2>f+u.width/2||h+s.height/2<p-u.height/2||h-s.height/2>p+u.height/2)){if(e[l].quadrant==1){const d=p>h?-i*2:-i;e[l].collisionShiftY+=d}else if(e[l].quadrant==3){const d=p>h?i:i*2;e[l].collisionShiftY+=d}}}}t.data(e).transition().attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`)}function oO({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const i=e.filter(a=>a.collisionShiftX||a.collisionShiftY),o=t.selectAll("polyline").data(i,a=>a.pieDatum.id).join("polyline").attr("stroke",a=>St({datum:a.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",a=>[[a.lineStartX,a.lineStartY],[a.lineStartX,a.lineStartY]]);return o.transition().attr("points",a=>{let s=a.x+a.collisionShiftX,l=a.y+a.collisionShiftY;return[[s,l],[a.lineStartX,a.lineStartY]]}),o}function aO({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",i=>`translate(${i.x+i.collisionShiftX},${i.y+i.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((i,o,a)=>{const s=U(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",l=>`translate(${l.mouseoverX+l.collisionShiftX},${l.mouseoverY+l.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",l=>`translate(${l.x+l.collisionShiftX},${l.y+l.collisionShiftY})`)}),e.each((i,o,a)=>{const s=U(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function sO(t,e){const n=new Q;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(Jz,!0);const i=e.containerSelection.append("g");i.classed(Qz,!0);const o=new Q,a=new Q;let s=[];const l=e.seriesContainerPosition$.pipe(D(n),L(h=>h.width<h.height?h.width:h.height),K()),u=e.visibleComputedSortedData$.pipe(L(h=>Math.max(...h.flat().map(f=>f.value))),K()),c=e.fullParams$.pipe(D(n),L(h=>h.labelCentroid>=oS?oS:h.labelCentroid));return O({shorterSideWith:l,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,maxValue:u,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:c}).pipe(D(n),z(async h=>h)).subscribe(h=>{const f=Math.PI*2/h.containerVisibleComputedSortedData.length,p=h.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:f*m,endAngle:f*(m+1),padAngle:0}));s=nO({pieData:p,labelCentroid:h.fullParams.labelCentroid,arcScaleType:h.fullParams.arcScaleType,maxValue:h.maxValue,axisWidth:h.shorterSideWith,outerRadius:h.fullParams.outerRadius,lineStartCentroid:h.lineStartCentroid,fullParams:h.fullParams}),r.selectAll("polyline").remove();const d=rO({labelGSelection:i,data:s,fullParams:h.fullParams,fullChartParams:h.fullChartParams,textSizePx:h.textSizePx});setTimeout(()=>{iO(d,s,h.textSizePx);const g=oO({lineGSelection:r,data:s,fullParams:h.fullParams,fullChartParams:h.fullChartParams});a.next(g)},1e3),o.next(d)}),O({textSelection:o,lineSelection:a,highlight:e.seriesHighlight$.pipe(L(h=>h.map(f=>f.id))),fullChartParams:e.fullChartParams$}).pipe(D(n),z(async h=>h)).subscribe(h=>{aO({textSelection:h.textSelection,lineSelection:h.lineSelection,ids:h.highlight,fullChartParams:h.fullChartParams})}),()=>{n.next(void 0)}}const lO=An(eO)(({selection:t,observer:e,subject:n})=>{const r=new Q,{seriesCenterSelection$:i}=xa({selection:t,pluginName:Yi,separateSeries$:e.separateSeries$,seriesLabels$:e.seriesLabels$,seriesContainerPosition$:e.seriesContainerPosition$}),o=[];return i.pipe(D(r)).subscribe(a=>{o.forEach(s=>s()),a.each((s,l,u)=>{const c=U(u[l]),h=e.visibleComputedSortedData$.pipe(D(r),L(p=>JSON.parse(JSON.stringify(p[l]??p[0])))),f=e.seriesContainerPosition$.pipe(D(r),L(p=>JSON.parse(JSON.stringify(p[l]??p[0]))));o[l]=sO(Yi,{containerSelection:c,visibleComputedSortedData$:e.visibleComputedSortedData$,containerVisibleComputedSortedData$:h,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:f,event$:n.event$})})}),()=>{r.next(void 0)}}),aS="SeriesLegend",uO=An({name:aS,defaultParams:J2,layerIndex:Ei,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new Q,o=n.SeriesDataMap$.pipe(D(i),L(l=>Array.from(l.keys()))),a=n.fullParams$.pipe(D(i),L(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),s=Bi(aS,{rootSelection:e,legendLabels$:o,fullParams$:a,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),s()}}),sS="SeriesTooltip",cO=An({name:sS,defaultParams:od,layerIndex:Ii,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=Fi(sS,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}}),fd={paddingInner:2,paddingOuter:2,labelColorType:"labelContrast",squarifyRatio:1.618034,sort:(t,e)=>e.value-t.value};fd.sort.toString=()=>"(a, b) => b.value - a.value";const lS={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},hd={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,i=!!t.datum.label,o=n.toCurrency(t.datum.value),a=e.textSizePx*.7,s=e.textSizePx/2-a/2,l=r?`<rect width="${a}" height="${a}" x="${s}" y="${s-1}" rx="${a/2}" fill="${t.datum.color}"></rect>
222
356
  <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
223
357
  <tspan>${t.categoryLabel}</tspan>
224
- </text>`:"",l=i?`<tspan>${t.datum.label}</tspan> `:"",u=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
225
- ${l}<tspan font-weight="bold">${t.datum.value}</tspan>
226
- </text>`;return`${s}
358
+ </text>`:"",u=i?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.categoryLabel}${o}`,e.textSizePx)+e.textSizePx*1.5:0,h=i?n.measureTextWidth(`${t.datum.label}${o}`,e.textSizePx):0,f=Math.max(c,h),p=i?f+e.textSizePx*.5:0,d=i?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
359
+ ${u}<tspan font-weight="bold" text-anchor="${d}" x="${p}">${o}</tspan>
360
+ </text>`;return`${l}
227
361
  <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
228
- ${u}
229
- </g>`}};Up.renderFn.toString=()=>'(eventData, { styles, utils }) => {\n const hasCategoryLabel = eventData.categoryLabel ? true : false\n const hasDatumLabel = eventData.datum.label ? true : false\n const bulletWidth = styles.textSizePx * 0.7\n const offset = (styles.textSizePx / 2) - (bulletWidth / 2)\n const categorySvg = hasCategoryLabel\n ? `<rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${offset - 1}" rx="${bulletWidth / 2}" fill="${eventData.datum.color}"></rect>\n <text x="${styles.textSizePx * 1.5}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">\n <tspan>${eventData.categoryLabel}</tspan>\n </text>`\n : \'\'\n const datumLabelSvg = hasDatumLabel\n ? `<tspan>${eventData.datum.label}</tspan> `\n : \'\'\n const datumSvg = `<text font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">\n ${datumLabelSvg}<tspan font-weight="bold">${eventData.datum.value}</tspan>\n </text>`\n\n return `${categorySvg}\n <g ${hasCategoryLabel ? `transform="translate(0, ${styles.textSizePx * 2})"` : \'\'}>\n ${datumSvg}\n </g>`\n}';const k2="TreeLegend",LF=ac({name:k2,defaultParams:L2,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new J,o=n.fullParams$.pipe(L(i),E(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),a=ki(k2,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),a()}}),wr="TreeMap",R2=K(wr,"tree"),E2=K(wr,"tile"),kF={name:wr,defaultParams:Vp,layerIndex:Te,validator:(t,{validateColumns:e})=>e(t,{paddingInner:{toBeTypes:["number"]},paddingOuter:{toBeTypes:["number"]},labelColorType:{toBeOption:"ColorType"},squarifyRatio:{toBeTypes:["number"]},sort:{toBeTypes:["Function"]}})};function RF({selection:t,treeData:e,fullParams:n,fullChartParams:r,textSizePx:i}){const o=i/2,a=i,s=t.selectAll(`g.${R2}`).data(e,l=>l.data.id).join("g").attr("class",R2);return s.attr("transform",l=>!l.x0||!l.y0?null:`translate(${l.x0},${l.y0})`).each((l,u,c)=>{const f=V(c[u]);f.selectAll(`rect.${E2}`).data([l],h=>h.data.id).join("rect").attr("id",h=>h.data.id).attr("class",E2).attr("cursor","pointer").attr("width",h=>h.x1-h.x0).attr("height",h=>h.y1-h.y0).attr("fill",h=>h.data.color).attr("data-name",h=>h.data.label).attr("data-category",h=>h.data.categoryLabel).attr("data-value",h=>h.data.value),f.selectAll("g").data([l]).join("g").each((h,p,d)=>{V(d[p]).selectAll("text").data([h]).join("text").text(g=>g.data.label).attr("dominant-baseline","hanging").attr("x",o).attr("y",o).attr("font-size",r.styles.textSize).each(function(g){const y=V(this),b=g.data.label.split(/\s+/).reverse();let v,x=[];const _=y.attr("x");let T=y.attr("y"),S=0,A=y.text(null).append("tspan").attr("cursor","pointer").attr("fill",bt(n.labelColorType,r)).attr("font-size",r.styles.textSize).attr("x",_).attr("y",T);for(;v=b.pop();)x.push(v),A.text(x.join(" ")),A.node().getComputedTextLength()>g.x1-g.x0-o&&(x.pop(),A.text(x.join(" ")),x=[v],S+=a,A=y.append("tspan").attr("cursor","pointer").attr("fill",bt(n.labelColorType,r)).attr("font-size",r.styles.textSize).attr("x",_).attr("y",T).attr("dy",S+"px").text(v))})})}),s}function EF({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.data.id)?V(o[i]).style("opacity",1):V(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const IF=ac(kF)(({selection:t,name:e,subject:n,observer:r})=>{const i=new J,o=Y({layout:r.layout$,visibleComputedData:r.visibleComputedData$,fullParams:r.fullParams$,fullDataFormatter:r.fullDataFormatter$,fullChartParams:r.fullChartParams$}).pipe(L(i),G(async l=>l),E(l=>{const u=wb().size([l.layout.width,l.layout.height]).paddingInner(l.fullParams.paddingInner).paddingOuter(l.fullParams.paddingOuter).round(!0).tile(Mh.ratio(l.fullParams.squarifyRatio)),c=$l(l.visibleComputedData).sum(h=>h.value).sort(l.fullParams.sort);return u(c),c.leaves()})),a=Y({selection:ma(t),treeData:o,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,textSizePx:r.textSizePx$}).pipe(L(i),G(async l=>l),E(l=>RF({selection:t,treeData:l.treeData,fullParams:l.fullParams,fullChartParams:l.fullChartParams,textSizePx:l.textSizePx}))),s=r.fullChartParams$.pipe(L(i),E(l=>l.highlightTarget),tt());return Y({cellSelection:a,computedData:r.computedData$,treeData:o,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,highlightTarget:s,CategoryDataMap:r.CategoryDataMap$}).pipe(L(i),G(async l=>l)).subscribe(l=>{l.cellSelection.on("mouseover",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseover",pluginName:wr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("mousemove",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mousemove",pluginName:wr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("mouseout",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseout",pluginName:wr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("click",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"click",pluginName:wr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})})}),Y({cellSelection:a,highlight:r.treeHighlight$.pipe(E(l=>l.map(u=>u.id))),fullChartParams:r.fullChartParams$}).pipe(L(i),G(async l=>l)).subscribe(l=>{EF({selection:l.cellSelection,ids:l.highlight,fullChartParams:l.fullChartParams})}),()=>{i.next(void 0)}}),I2="TreeTooltip",BF=ac({name:I2,defaultParams:Up,layerIndex:Li,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new J,a=Ei(I2,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}});j.Bars=TI,j.BarsPN=AI,j.BarsTriangle=GI,j.Bubbles=VN,j.CONTAINER_PLUGIN_PARAMS=dN,j.DEFAULT_BARS_DIVERGING_PARAMS=B2,j.DEFAULT_BARS_PARAMS=ca,j.DEFAULT_BARS_TRIANGLE_PARAMS=Zp,j.DEFAULT_BUBBLES_PARAMS=v2,j.DEFAULT_DOTS_PARAMS=jp,j.DEFAULT_FORCE_DIRECTED_PARAMS=s2,j.DEFAULT_GRID_LEGEND_PARAMS=Jp,j.DEFAULT_GRID_TOOLTIP_PARAMS=fu,j.DEFAULT_GRID_ZOOM_PARAMS=Qp,j.DEFAULT_GROUP_AUX_PARAMS=uu,j.DEFAULT_GROUP_AXIS_PARAMS=cu,j.DEFAULT_LINES_PARAMS=Tr,j.DEFAULT_LINE_AREAS_PARAMS=Hp,j.DEFAULT_MULTI_BARS_PARAMS=R$,j.DEFAULT_MULTI_BARS_TRIANGLE_PARAMS=I$,j.DEFAULT_MULTI_DOTS_PARAMS=F$,j.DEFAULT_MULTI_GRID_LEGEND_PARAMS=k$,j.DEFAULT_MULTI_GRID_TOOLTIP_PARAMS=vp,j.DEFAULT_MULTI_GROUP_AXIS_PARAMS=bp,j.DEFAULT_MULTI_LINES_PARAMS=B$,j.DEFAULT_MULTI_LINE_AREAS_PARAMS=N$,j.DEFAULT_MULTI_STACKED_BAR_PARAMS=E$,j.DEFAULT_MULTI_STACKED_VALUE_AXIS_PARAMS=yB,j.DEFAULT_MULTI_VALUE_AXIS_PARAMS=iu,j.DEFAULT_MULTI_VALUE_LEGEND_PARAMS=J$,j.DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS=kp,j.DEFAULT_OVERLAPPING_STACKED_VALUE_AXES_PARAMS=O$,j.DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS=xp,j.DEFAULT_PIE_EVENT_TEXTS_PARAMS=Bp,j.DEFAULT_PIE_LABELS_PARAMS=Np,j.DEFAULT_PIE_PARAMS=$2,j.DEFAULT_RELATIONSHIP_LEGEND_PARAMS=l2,j.DEFAULT_RELATIONSHIP_TOOLTIP_PARAMS=Ip,j.DEFAULT_ROSE_LABELS_PARAMS=Fp,j.DEFAULT_ROSE_PARAMS=_2,j.DEFAULT_SCATTER_BUBBLES_PARAMS=e2,j.DEFAULT_SCATTER_PARAMS=t2,j.DEFAULT_SERIES_LEGEND_PARAMS=S2,j.DEFAULT_SERIES_TOOLTIP_PARAMS=Op,j.DEFAULT_STACKED_BAR_PARAMS=qp,j.DEFAULT_STACKED_VALUE_AXIS_PARAMS=Kp,j.DEFAULT_TREE_LEGEND_PARAMS=L2,j.DEFAULT_TREE_MAP_PARAMS=Vp,j.DEFAULT_TREE_TOOLTIP_PARAMS=Up,j.DEFAULT_VALUE_AXIS_PARAMS=fa,j.DEFAULT_X_Y_AUX_PARAMS=ou,j.DEFAULT_X_Y_AXES_PARAMS=au,j.DEFAULT_X_Y_ZOOM_PARAMS=n2,j.Dots=VI,j.ForceDirected=IN,j.GridLegend=jI,j.GridTooltip=sB,j.GridZoom=lB,j.GroupAux=mB,j.GroupAxis=tB,j.LineAreas=bI,j.Lines=fI,j.MultiBars=xB,j.MultiBarsTriangle=$B,j.MultiDots=wB,j.MultiGridLegend=bB,j.MultiGridTooltip=PB,j.MultiGroupAxis=TB,j.MultiLineAreas=SB,j.MultiLines=_B,j.MultiStackedBar=vB,j.MultiStackedValueAxis=DB,j.MultiValueAxis=AB,j.MultiValueLegend=LB,j.MultiValueTooltip=kB,j.OverlappingStackedValueAxes=MB,j.OverlappingValueAxes=CB,j.Pie=KN,j.PieEventTexts=tF,j.PieLabels=fF,j.RelationshipLegend=BN,j.RelationshipTooltip=NN,j.Rose=yF,j.RoseLabels=DF,j.Scatter=FB,j.ScatterBubbles=WB,j.SeriesLegend=CF,j.SeriesTooltip=MF,j.StackedBar=RI,j.StackedValueAxis=oB,j.TOOLTIP_PARAMS=a2,j.TreeLegend=LF,j.TreeMap=IF,j.TreeTooltip=BF,j.ValueAxis=iB,j.XYAux=QB,j.XYAxes=hN,j.XYZoom=pN,Object.defineProperty(j,Symbol.toStringTag,{value:"Module"})});
362
+ ${g}
363
+ </g>`}};hd.renderFn.toString=()=>`(eventData, { styles, utils }) => {
364
+ const hasCategoryLabel = eventData.categoryLabel ? true : false
365
+ const hasDatumLabel = eventData.datum.label ? true : false
366
+ const valueText = utils.toCurrency(eventData.datum.value)
367
+ const bulletWidth = styles.textSizePx * 0.7
368
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
369
+ const categorySvg = hasCategoryLabel
370
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
371
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
372
+ <tspan>\${eventData.categoryLabel}</tspan>
373
+ </text>\`
374
+ : ''
375
+ const datumLabelSvg = hasDatumLabel
376
+ ? \`<tspan>\${eventData.datum.label}</tspan> \`
377
+ : ''
378
+ const categoryLabelTextWidth = hasCategoryLabel
379
+ ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
380
+ : 0
381
+ const datumLabelTextWidth = hasDatumLabel
382
+ ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
383
+ : 0
384
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
385
+ const lineEndX = hasDatumLabel
386
+ ? maxTextWidth + styles.textSizePx * 0.5
387
+ : 0
388
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
389
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
390
+ \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
391
+ </text>\`
392
+
393
+ return \`\${categorySvg}
394
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
395
+ \${datumSvg}
396
+ </g>\`
397
+ }`;const uS="TreeLegend",fO=$c({name:uS,defaultParams:lS,layerIndex:Ei,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})})(({selection:t,rootSelection:e,observer:n,subject:r})=>{const i=new Q,o=n.fullParams$.pipe(D(i),L(s=>{const l=[{listRectWidth:s.listRectWidth,listRectHeight:s.listRectHeight,listRectRadius:s.listRectRadius}];return{...s,labelList:l}})),a=Bi(uS,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{i.next(void 0),a()}}),Dr="TreeMap",cS=q(Dr,"tree"),fS=q(Dr,"tile"),hO={name:Dr,defaultParams:fd,layerIndex:he,validator:(t,{validateColumns:e})=>e(t,{paddingInner:{toBeTypes:["number"]},paddingOuter:{toBeTypes:["number"]},labelColorType:{toBeOption:"ColorType"},squarifyRatio:{toBeTypes:["number"]},sort:{toBeTypes:["Function"]}})};function pO({selection:t,treeData:e,fullParams:n,fullChartParams:r,textSizePx:i}){const o=i/2,a=i,s=t.selectAll(`g.${cS}`).data(e,l=>l.data.id).join("g").attr("class",cS);return s.attr("transform",l=>!l.x0||!l.y0?null:`translate(${l.x0},${l.y0})`).each((l,u,c)=>{const h=U(c[u]);h.selectAll(`rect.${fS}`).data([l],f=>f.data.id).join("rect").attr("id",f=>f.data.id).attr("class",fS).attr("cursor","pointer").attr("width",f=>f.x1-f.x0).attr("height",f=>f.y1-f.y0).attr("fill",f=>f.data.color).attr("data-name",f=>f.data.label).attr("data-category",f=>f.data.categoryLabel).attr("data-value",f=>f.data.value),h.selectAll("g").data([l]).join("g").each((f,p,d)=>{U(d[p]).selectAll("text").data([f]).join("text").text(m=>m.data.label).attr("dominant-baseline","hanging").attr("x",o).attr("y",o).attr("font-size",r.styles.textSize).each(function(m){const b=U(this),y=m.data.label.split(/\s+/).reverse();let x,$=[];const S=b.attr("x");let A=b.attr("y"),_=0,P=b.text(null).append("tspan").attr("cursor","pointer").attr("fill",St({colorType:n.labelColorType,datum:m.data,fullChartParams:r})).attr("font-size",r.styles.textSize).attr("x",S).attr("y",A);for(;x=y.pop();)$.push(x),P.text($.join(" ")),P.node().getComputedTextLength()>m.x1-m.x0-o&&($.pop(),P.text($.join(" ")),$=[x],_+=a,P=b.append("tspan").attr("cursor","pointer").attr("fill",St({colorType:n.labelColorType,datum:m.data,fullChartParams:r})).attr("font-size",r.styles.textSize).attr("x",S).attr("y",A).attr("dy",_+"px").text(x))})})}),s}function dO({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,i,o)=>{e.includes(r.data.id)?U(o[i]).style("opacity",1):U(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const gO=$c(hO)(({selection:t,name:e,subject:n,observer:r})=>{const i=new Q,o=O({layout:r.layout$,visibleComputedData:r.visibleComputedData$,fullParams:r.fullParams$,fullDataFormatter:r.fullDataFormatter$,fullChartParams:r.fullChartParams$}).pipe(D(i),z(async l=>l),L(l=>{const u=jb().size([l.layout.width,l.layout.height]).paddingInner(l.fullParams.paddingInner).paddingOuter(l.fullParams.paddingOuter).round(!0).tile(Wh.ratio(l.fullParams.squarifyRatio)),c=El(l.visibleComputedData).sum(f=>f.value).sort(l.fullParams.sort);return u(c),c.leaves()})),a=O({selection:We(t),treeData:o,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,textSizePx:r.textSizePx$}).pipe(D(i),z(async l=>l),L(l=>pO({selection:t,treeData:l.treeData,fullParams:l.fullParams,fullChartParams:l.fullChartParams,textSizePx:l.textSizePx}))),s=r.fullChartParams$.pipe(D(i),L(l=>l.highlightTarget),K());return O({cellSelection:a,computedData:r.computedData$,treeData:o,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,highlightTarget:s,CategoryDataMap:r.CategoryDataMap$}).pipe(D(i),z(async l=>l)).subscribe(l=>{l.cellSelection.on("mouseover",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseover",pluginName:Dr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("mousemove",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mousemove",pluginName:Dr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("mouseout",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseout",pluginName:Dr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})}).on("click",(u,c)=>{u.stopPropagation(),n.event$.next({type:"tree",eventName:"click",pluginName:Dr,highlightTarget:l.highlightTarget,datum:c.data,category:l.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:u,data:l.computedData})})}),O({cellSelection:a,highlight:r.treeHighlight$.pipe(L(l=>l.map(u=>u.id))),fullChartParams:r.fullChartParams$}).pipe(D(i),z(async l=>l)).subscribe(l=>{dO({selection:l.cellSelection,ids:l.highlight,fullChartParams:l.fullChartParams})}),()=>{i.next(void 0)}}),hS="TreeTooltip",mO=$c({name:hS,defaultParams:hd,layerIndex:Ii,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})})(({selection:t,rootSelection:e,name:n,subject:r,observer:i})=>{const o=new Q,a=Fi(hS,{rootSelection:e,fullParams$:i.fullParams$,fullChartParams$:i.fullChartParams$,layout$:i.layout$,event$:r.event$});return()=>{o.next(void 0),a()}});X.Bars=sB,X.BarsPN=lB,X.BarsTriangle=_B,X.Bubbles=Tz,X.CONTAINER_PLUGIN_PARAMS=TF,X.DEFAULT_BARS_DIVERGING_PARAMS=pS,X.DEFAULT_BARS_PARAMS=va,X.DEFAULT_BARS_TRIANGLE_PARAMS=md,X.DEFAULT_BUBBLES_PARAMS=Z2,X.DEFAULT_DOTS_PARAMS=dd,X.DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS=Gi,X.DEFAULT_FORCE_DIRECTED_PARAMS=Oi,X.DEFAULT_GRID_LEGEND_PARAMS=xd,X.DEFAULT_GRID_TOOLTIP_PARAMS=wu,X.DEFAULT_GROUP_AUX_PARAMS=Su,X.DEFAULT_GROUP_AXIS_PARAMS=_u,X.DEFAULT_GROUP_ZOOM_PARAMS=bd,X.DEFAULT_LINES_PARAMS=Mr,X.DEFAULT_LINE_AREAS_PARAMS=pd,X.DEFAULT_MULTI_BARS_PARAMS=r2,X.DEFAULT_MULTI_BARS_TRIANGLE_PARAMS=o2,X.DEFAULT_MULTI_DOTS_PARAMS=l2,X.DEFAULT_MULTI_GRID_LEGEND_PARAMS=n2,X.DEFAULT_MULTI_GRID_TOOLTIP_PARAMS=Rp,X.DEFAULT_MULTI_GROUP_AXIS_PARAMS=Lp,X.DEFAULT_MULTI_LINES_PARAMS=a2,X.DEFAULT_MULTI_LINE_AREAS_PARAMS=s2,X.DEFAULT_MULTI_STACKED_BARS_PARAMS=i2,X.DEFAULT_MULTI_STACKED_VALUE_AXIS_PARAMS=KB,X.DEFAULT_MULTI_VALUE_AXIS_PARAMS=ma,X.DEFAULT_MULTI_VALUE_LEGEND_PARAMS=_2,X.DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS=Up,X.DEFAULT_OVERLAPPING_STACKED_VALUE_AXES_PARAMS=u2,X.DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS=kp,X.DEFAULT_PIE_EVENT_TEXTS_PARAMS=nd,X.DEFAULT_PIE_LABELS_PARAMS=rd,X.DEFAULT_PIE_PARAMS=K2,X.DEFAULT_RACING_BARS_PARAMS=Xp,X.DEFAULT_RACING_COUNTER_TEXTS_PARAMS=jp,X.DEFAULT_RACING_VALUE_AXIS_PARAMS=Hp,X.DEFAULT_RELATIONSHIP_LEGEND_PARAMS=R2,X.DEFAULT_RELATIONSHIP_TOOLTIP_PARAMS=ed,X.DEFAULT_ROSE_LABELS_PARAMS=id,X.DEFAULT_ROSE_PARAMS=Q2,X.DEFAULT_SCATTER_BUBBLES_PARAMS=T2,X.DEFAULT_SCATTER_PARAMS=w2,X.DEFAULT_SERIES_LEGEND_PARAMS=J2,X.DEFAULT_SERIES_TOOLTIP_PARAMS=od,X.DEFAULT_STACKED_BARS_PARAMS=gd,X.DEFAULT_STACKED_VALUE_AXIS_PARAMS=yd,X.DEFAULT_TREE_LEGEND_PARAMS=lS,X.DEFAULT_TREE_MAP_PARAMS=fd,X.DEFAULT_TREE_TOOLTIP_PARAMS=hd,X.DEFAULT_VALUE_AXIS_PARAMS=Sa,X.DEFAULT_X_AXIS_PARAMS=qp,X.DEFAULT_X_Y_AUX_PARAMS=bu,X.DEFAULT_X_Y_AXES_PARAMS=xu,X.DEFAULT_X_ZOOM_PARAMS=A2,X.Dots=PB,X.ForceDirected=jF,X.ForceDirectedBubbles=dz,X.GridLegend=MB,X.GridTooltip=GB,X.GroupAux=ZB,X.GroupAxis=EB,X.GroupZoom=WB,X.LineAreas=tB,X.Lines=jI,X.MultiBars=JB,X.MultiBarsTriangle=eN,X.MultiDots=iN,X.MultiGridLegend=QB,X.MultiGridTooltip=sN,X.MultiGroupAxis=oN,X.MultiLineAreas=rN,X.MultiLines=nN,X.MultiStackedBars=tN,X.MultiStackedValueAxis=lN,X.MultiValueAxis=aN,X.MultiValueLegend=fN,X.MultiValueTooltip=hN,X.OverlappingStackedValueAxes=cN,X.OverlappingValueAxes=uN,X.Pie=Lz,X.PieEventTexts=Ez,X.PieLabels=Uz,X.RacingBars=IN,X.RacingCounterTexts=ON,X.RacingValueAxis=HN,X.RelationshipLegend=gz,X.RelationshipTooltip=mz,X.Rose=Kz,X.RoseLabels=lO,X.Scatter=JN,X.ScatterBubbles=oF,X.SeriesLegend=uO,X.SeriesTooltip=cO,X.StackedBars=gB,X.StackedValueAxis=zB,X.TOOLTIP_PARAMS=k2,X.TreeLegend=fO,X.TreeMap=gO,X.TreeTooltip=mO,X.ValueAxis=FB,X.XAxis=aF,X.XYAux=dF,X.XYAxes=_F,X.XZoom=wF,Object.defineProperty(X,Symbol.toStringTag,{value:"Module"})});