@undp/data-viz 2.0.9 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.d.ts +2 -0
  3. package/dist/AreaChart.js +4 -4
  4. package/dist/BarGraph.cjs +1 -1
  5. package/dist/BarGraph.cjs.map +1 -1
  6. package/dist/BarGraph.d.ts +2 -0
  7. package/dist/BarGraph.js +1699 -1577
  8. package/dist/BarGraph.js.map +1 -1
  9. package/dist/BasicStatCard.d.ts +2 -0
  10. package/dist/BeeSwarmChart.cjs +1 -1
  11. package/dist/BeeSwarmChart.cjs.map +1 -1
  12. package/dist/BeeSwarmChart.d.ts +2 -0
  13. package/dist/BeeSwarmChart.js +258 -267
  14. package/dist/BeeSwarmChart.js.map +1 -1
  15. package/dist/BiVariateChoroplethMap.cjs +1 -1
  16. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  17. package/dist/BiVariateChoroplethMap.d.ts +2 -0
  18. package/dist/BiVariateChoroplethMap.js +252 -245
  19. package/dist/BiVariateChoroplethMap.js.map +1 -1
  20. package/dist/BulletChart.cjs +1 -1
  21. package/dist/BulletChart.cjs.map +1 -1
  22. package/dist/BulletChart.d.ts +2 -0
  23. package/dist/BulletChart.js +566 -536
  24. package/dist/BulletChart.js.map +1 -1
  25. package/dist/ButterflyChart.cjs +1 -1
  26. package/dist/ButterflyChart.cjs.map +1 -1
  27. package/dist/ButterflyChart.d.ts +2 -0
  28. package/dist/ButterflyChart.js +388 -378
  29. package/dist/ButterflyChart.js.map +1 -1
  30. package/dist/ChoroplethMap.cjs +1 -1
  31. package/dist/ChoroplethMap.cjs.map +1 -1
  32. package/dist/ChoroplethMap.d.ts +2 -0
  33. package/dist/ChoroplethMap.js +297 -291
  34. package/dist/ChoroplethMap.js.map +1 -1
  35. package/dist/CirclePackingGraph.cjs +1 -1
  36. package/dist/CirclePackingGraph.d.ts +2 -0
  37. package/dist/CirclePackingGraph.js +1 -1
  38. package/dist/DataCards.d.ts +2 -0
  39. package/dist/DataCards.js +1 -1
  40. package/dist/DataTable.d.ts +2 -0
  41. package/dist/DetailsModal-0Ry5nXiC.js +32 -0
  42. package/dist/DetailsModal-0Ry5nXiC.js.map +1 -0
  43. package/dist/DetailsModal-BN0HDFlV.cjs +2 -0
  44. package/dist/DetailsModal-BN0HDFlV.cjs.map +1 -0
  45. package/dist/DifferenceLineChart.cjs +1 -1
  46. package/dist/DifferenceLineChart.d.ts +2 -0
  47. package/dist/DifferenceLineChart.js +4 -4
  48. package/dist/DonutChart.cjs +1 -1
  49. package/dist/DonutChart.cjs.map +1 -1
  50. package/dist/DonutChart.d.ts +2 -0
  51. package/dist/DonutChart.js +185 -190
  52. package/dist/DonutChart.js.map +1 -1
  53. package/dist/DotDensityMap.cjs +1 -1
  54. package/dist/DotDensityMap.cjs.map +1 -1
  55. package/dist/DotDensityMap.d.ts +2 -0
  56. package/dist/DotDensityMap.js +252 -244
  57. package/dist/DotDensityMap.js.map +1 -1
  58. package/dist/DualAxisLineChart.cjs +1 -1
  59. package/dist/DualAxisLineChart.d.ts +2 -0
  60. package/dist/DualAxisLineChart.js +4 -4
  61. package/dist/DumbbellChart.cjs +1 -1
  62. package/dist/DumbbellChart.cjs.map +1 -1
  63. package/dist/DumbbellChart.d.ts +2 -0
  64. package/dist/DumbbellChart.js +563 -525
  65. package/dist/DumbbellChart.js.map +1 -1
  66. package/dist/GeoHubCompareMaps.d.ts +2 -0
  67. package/dist/GeoHubMap.d.ts +2 -0
  68. package/dist/GeoHubMapWithLayerSelection.d.ts +2 -0
  69. package/dist/{GraphEl-BcKU0bG1.cjs → GraphEl-B16EYkko.cjs} +2 -2
  70. package/dist/{GraphEl-BcKU0bG1.cjs.map → GraphEl-B16EYkko.cjs.map} +1 -1
  71. package/dist/{GraphEl-CGq1EWRn.js → GraphEl-DEzobeOM.js} +3 -3
  72. package/dist/{GraphEl-CGq1EWRn.js.map → GraphEl-DEzobeOM.js.map} +1 -1
  73. package/dist/GriddedGraphs.cjs +1 -1
  74. package/dist/GriddedGraphs.cjs.map +1 -1
  75. package/dist/GriddedGraphs.d.ts +2 -0
  76. package/dist/GriddedGraphs.js +19 -19
  77. package/dist/GriddedGraphs.js.map +1 -1
  78. package/dist/GriddedGraphsFromConfig.d.ts +2 -0
  79. package/dist/HeatMap.cjs +1 -1
  80. package/dist/HeatMap.cjs.map +1 -1
  81. package/dist/HeatMap.d.ts +2 -0
  82. package/dist/HeatMap.js +112 -117
  83. package/dist/HeatMap.js.map +1 -1
  84. package/dist/Histogram.cjs +1 -1
  85. package/dist/Histogram.d.ts +2 -0
  86. package/dist/Histogram.js +3 -3
  87. package/dist/HybridMap.cjs +1 -1
  88. package/dist/HybridMap.cjs.map +1 -1
  89. package/dist/HybridMap.d.ts +2 -0
  90. package/dist/HybridMap.js +366 -359
  91. package/dist/HybridMap.js.map +1 -1
  92. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  93. package/dist/LineChartWithConfidenceInterval.d.ts +2 -0
  94. package/dist/LineChartWithConfidenceInterval.js +4 -4
  95. package/dist/{Modal-DGcuAHyK.js → Modal-bMQA6bL_.js} +5 -5
  96. package/dist/{Modal-DGcuAHyK.js.map → Modal-bMQA6bL_.js.map} +1 -1
  97. package/dist/MultiGraphDashboard.cjs +1 -1
  98. package/dist/MultiGraphDashboard.cjs.map +1 -1
  99. package/dist/MultiGraphDashboard.d.ts +2 -0
  100. package/dist/MultiGraphDashboard.js +10 -10
  101. package/dist/MultiGraphDashboard.js.map +1 -1
  102. package/dist/MultiGraphDashboardFromConfig.d.ts +2 -0
  103. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +2 -0
  104. package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
  105. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +2 -0
  106. package/dist/MultiLineAltChart.cjs +1 -1
  107. package/dist/MultiLineAltChart.cjs.map +1 -1
  108. package/dist/MultiLineAltChart.d.ts +2 -0
  109. package/dist/MultiLineAltChart.js +453 -425
  110. package/dist/MultiLineAltChart.js.map +1 -1
  111. package/dist/MultiLineChart.cjs +1 -1
  112. package/dist/MultiLineChart.d.ts +2 -0
  113. package/dist/MultiLineChart.js +4 -4
  114. package/dist/ParetoChart.cjs +1 -1
  115. package/dist/ParetoChart.cjs.map +1 -1
  116. package/dist/ParetoChart.d.ts +2 -0
  117. package/dist/ParetoChart.js +188 -193
  118. package/dist/ParetoChart.js.map +1 -1
  119. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  120. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  121. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -0
  122. package/dist/PerformanceIntensiveMultiGraphDashboard.js +16 -16
  123. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  124. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -0
  125. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
  126. package/dist/RadarChart.cjs +1 -1
  127. package/dist/RadarChart.cjs.map +1 -1
  128. package/dist/RadarChart.d.ts +2 -0
  129. package/dist/RadarChart.js +158 -163
  130. package/dist/RadarChart.js.map +1 -1
  131. package/dist/SankeyChart.cjs +1 -1
  132. package/dist/SankeyChart.cjs.map +1 -1
  133. package/dist/SankeyChart.d.ts +2 -0
  134. package/dist/SankeyChart.js +172 -177
  135. package/dist/SankeyChart.js.map +1 -1
  136. package/dist/ScatterPlot.cjs +1 -1
  137. package/dist/ScatterPlot.cjs.map +1 -1
  138. package/dist/ScatterPlot.d.ts +2 -0
  139. package/dist/ScatterPlot.js +494 -483
  140. package/dist/ScatterPlot.js.map +1 -1
  141. package/dist/ScrollStory.d.ts +2 -0
  142. package/dist/SimpleLineChart.cjs +1 -1
  143. package/dist/SimpleLineChart.d.ts +2 -0
  144. package/dist/SimpleLineChart.js +4 -4
  145. package/dist/SingleGraphDashboard.cjs +1 -1
  146. package/dist/SingleGraphDashboard.cjs.map +1 -1
  147. package/dist/SingleGraphDashboard.d.ts +2 -0
  148. package/dist/SingleGraphDashboard.js +24 -24
  149. package/dist/SingleGraphDashboard.js.map +1 -1
  150. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -0
  151. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
  152. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
  153. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  154. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  155. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -0
  156. package/dist/SingleGraphDashboardThreeDGraphs.js +46 -46
  157. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  158. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -0
  159. package/dist/SlopeChart.cjs +1 -1
  160. package/dist/SlopeChart.cjs.map +1 -1
  161. package/dist/SlopeChart.d.ts +2 -0
  162. package/dist/SlopeChart.js +182 -187
  163. package/dist/SlopeChart.js.map +1 -1
  164. package/dist/SparkLine.cjs +1 -1
  165. package/dist/SparkLine.d.ts +2 -0
  166. package/dist/SparkLine.js +4 -4
  167. package/dist/StatCardFromData.d.ts +2 -0
  168. package/dist/StripChart.cjs +1 -1
  169. package/dist/StripChart.cjs.map +1 -1
  170. package/dist/StripChart.d.ts +2 -0
  171. package/dist/StripChart.js +249 -258
  172. package/dist/StripChart.js.map +1 -1
  173. package/dist/ThreeDGlobe.cjs +1 -1
  174. package/dist/ThreeDGlobe.cjs.map +1 -1
  175. package/dist/ThreeDGlobe.d.ts +2 -0
  176. package/dist/ThreeDGlobe.js +142 -147
  177. package/dist/ThreeDGlobe.js.map +1 -1
  178. package/dist/Tooltip-Dj5eVppQ.js +45 -0
  179. package/dist/Tooltip-Dj5eVppQ.js.map +1 -0
  180. package/dist/Tooltip-uUdw6wJL.cjs +2 -0
  181. package/dist/Tooltip-uUdw6wJL.cjs.map +1 -0
  182. package/dist/TreeMapGraph.cjs +1 -1
  183. package/dist/TreeMapGraph.cjs.map +1 -1
  184. package/dist/TreeMapGraph.d.ts +2 -0
  185. package/dist/TreeMapGraph.js +159 -164
  186. package/dist/TreeMapGraph.js.map +1 -1
  187. package/dist/Types.d.ts +2 -0
  188. package/dist/UnitChart.d.ts +2 -0
  189. package/dist/{band-CyHaVft5.js → band-DHUZ2X7J.js} +3 -3
  190. package/dist/{band-CyHaVft5.js.map → band-DHUZ2X7J.js.map} +1 -1
  191. package/dist/{checkIfMultiple-Y9iKaV_u.js → checkIfMultiple-CIRtG0KE.js} +2 -2
  192. package/dist/{checkIfMultiple-Y9iKaV_u.js.map → checkIfMultiple-CIRtG0KE.js.map} +1 -1
  193. package/dist/index-CF5hnGvG.cjs +2 -0
  194. package/dist/index-CF5hnGvG.cjs.map +1 -0
  195. package/dist/index-DPGq3eIL.js +330 -0
  196. package/dist/index-DPGq3eIL.js.map +1 -0
  197. package/dist/index.cjs +1 -1
  198. package/dist/index.d.ts +2 -0
  199. package/dist/index.js +1 -1
  200. package/dist/{init-BJFW6EwE.js → init-BhZylTFx.js} +3 -3
  201. package/dist/{init-BJFW6EwE.js.map → init-BhZylTFx.js.map} +1 -1
  202. package/dist/{linear-BwnDd9KF.js → linear-BqltdMeF.js} +2 -2
  203. package/dist/{linear-BwnDd9KF.js.map → linear-BqltdMeF.js.map} +1 -1
  204. package/dist/{ordinal-P77xw8aL.js → ordinal-BJ6O_LC5.js} +2 -2
  205. package/dist/{ordinal-P77xw8aL.js.map → ordinal-BJ6O_LC5.js.map} +1 -1
  206. package/dist/{pow-DE4c7dbW.js → pow-CM2aze4M.js} +3 -3
  207. package/dist/{pow-DE4c7dbW.js.map → pow-CM2aze4M.js.map} +1 -1
  208. package/dist/{threshold-Bgr20hik.js → threshold-DFfqcDMa.js} +2 -2
  209. package/dist/{threshold-Bgr20hik.js.map → threshold-DFfqcDMa.js.map} +1 -1
  210. package/dist/{time-DCCfQk3V.js → time-BUL-dwnK.js} +3 -3
  211. package/dist/{time-DCCfQk3V.js.map → time-BUL-dwnK.js.map} +1 -1
  212. package/package.json +4 -4
  213. package/dist/Tooltip-4dJo4_AF.cjs +0 -2
  214. package/dist/Tooltip-4dJo4_AF.cjs.map +0 -1
  215. package/dist/Tooltip-CwWUegPB.js +0 -43
  216. package/dist/Tooltip-CwWUegPB.js.map +0 -1
  217. package/dist/index-B2LQV7Tk.js +0 -335
  218. package/dist/index-B2LQV7Tk.js.map +0 -1
  219. package/dist/index-xRHRLDIp.cjs +0 -2
  220. package/dist/index-xRHRLDIp.cjs.map +0 -1
  221. package/dist/sort-BIvMlUH1.js +0 -34
  222. package/dist/sort-BIvMlUH1.js.map +0 -1
  223. package/dist/sort-O96oMZLb.cjs +0 -2
  224. package/dist/sort-O96oMZLb.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"linear-BwnDd9KF.js","sources":["../node_modules/d3-array/src/ticks.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-scale/src/linear.js"],"sourcesContent":["const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n"],"names":["e10","e5","e2","tickSpec","start","stop","count","step","power","error","factor","i1","i2","inc","ticks","reverse","n","i","tickIncrement","tickStep","numberArray","a","b","c","t","isNumberArray","x","genericArray","nb","na","value","date","d","object","k","interpolate","constant","number","color","rgb","string","interpolateRound","constants","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","r0","r1","polymap","j","r","bisect","copy","source","target","transformer","interpolateValue","transform","untransform","unknown","clamp","piecewise","output","input","rescale","scale","y","interpolateNumber","_","u","continuous","precisionFixed","exponent","precisionPrefix","precisionRound","max","tickFormat","specifier","precision","formatSpecifier","formatPrefix","format","linearish","i0","prestep","maxIter","linear","initRange"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
1
+ {"version":3,"file":"linear-BqltdMeF.js","sources":["../node_modules/d3-array/src/ticks.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-scale/src/linear.js"],"sourcesContent":["const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n"],"names":["e10","e5","e2","tickSpec","start","stop","count","step","power","error","factor","i1","i2","inc","ticks","reverse","n","i","tickIncrement","tickStep","numberArray","a","b","c","t","isNumberArray","x","genericArray","nb","na","value","date","d","object","k","interpolate","constant","number","color","rgb","string","interpolateRound","constants","unit","identity","normalize","clamper","bimap","domain","range","d0","d1","r0","r1","polymap","j","r","bisect","copy","source","target","transformer","interpolateValue","transform","untransform","unknown","clamp","piecewise","output","input","rescale","scale","y","interpolateNumber","_","u","continuous","precisionFixed","exponent","precisionPrefix","precisionRound","max","tickFormat","specifier","precision","formatSpecifier","formatPrefix","format","linearish","i0","prestep","maxIter","linear","initRange"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
@@ -1,4 +1,4 @@
1
- import { i as a } from "./init-BJFW6EwE.js";
1
+ import { i as a } from "./init-BhZylTFx.js";
2
2
  class o extends Map {
3
3
  constructor(n, t = g) {
4
4
  if (super(), Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: t } }), n != null) for (const [r, s] of n) this.set(r, s);
@@ -59,4 +59,4 @@ function h() {
59
59
  export {
60
60
  h as o
61
61
  };
62
- //# sourceMappingURL=ordinal-P77xw8aL.js.map
62
+ //# sourceMappingURL=ordinal-BJ6O_LC5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ordinal-P77xw8aL.js","sources":["../node_modules/internmap/src/index.js","../node_modules/d3-scale/src/ordinal.js"],"sourcesContent":["export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n"],"names":["InternMap","entries","key","keyof","value","intern_get","intern_set","intern_delete","_intern","_key","implicit","ordinal","index","domain","range","unknown","scale","d","_","initRange"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"ordinal-BJ6O_LC5.js","sources":["../node_modules/internmap/src/index.js","../node_modules/d3-scale/src/ordinal.js"],"sourcesContent":["export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n"],"names":["InternMap","entries","key","keyof","value","intern_get","intern_set","intern_delete","_intern","_key","implicit","ordinal","index","domain","range","unknown","scale","d","_","initRange"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,5 +1,5 @@
1
- import { t as s, c as p, i as e, l as c } from "./linear-BwnDd9KF.js";
2
- import { i as f } from "./init-BJFW6EwE.js";
1
+ import { t as s, c as p, i as e, l as c } from "./linear-BqltdMeF.js";
2
+ import { i as f } from "./init-BhZylTFx.js";
3
3
  function o(n) {
4
4
  return function(t) {
5
5
  return t < 0 ? -Math.pow(-t, n) : Math.pow(t, n);
@@ -32,4 +32,4 @@ function w() {
32
32
  export {
33
33
  w as s
34
34
  };
35
- //# sourceMappingURL=pow-DE4c7dbW.js.map
35
+ //# sourceMappingURL=pow-CM2aze4M.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pow-DE4c7dbW.js","sources":["../node_modules/d3-scale/src/pow.js"],"sourcesContent":["import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n"],"names":["transformPow","exponent","x","transformSqrt","transformSquare","powish","transform","scale","identity","rescale","_","linearish","pow","transformer","copy","initRange","sqrt"],"mappings":";;AAIA,SAASA,EAAaC,GAAU;AAC9B,SAAO,SAASC,GAAG;AACjB,WAAOA,IAAI,IAAI,CAAC,KAAK,IAAI,CAACA,GAAGD,CAAQ,IAAI,KAAK,IAAIC,GAAGD,CAAQ;AAAA,EAC/D;AACF;AAEA,SAASE,EAAcD,GAAG;AACxB,SAAOA,IAAI,IAAI,CAAC,KAAK,KAAK,CAACA,CAAC,IAAI,KAAK,KAAKA,CAAC;AAC7C;AAEA,SAASE,EAAgBF,GAAG;AAC1B,SAAOA,IAAI,IAAI,CAACA,IAAIA,IAAIA,IAAIA;AAC9B;AAEO,SAASG,EAAOC,GAAW;AAChC,MAAIC,IAAQD,EAAUE,GAAUA,CAAQ,GACpCP,IAAW;AAEf,WAASQ,IAAU;AACjB,WAAOR,MAAa,IAAIK,EAAUE,GAAUA,CAAQ,IAC9CP,MAAa,MAAMK,EAAUH,GAAeC,CAAe,IAC3DE,EAAUN,EAAaC,CAAQ,GAAGD,EAAa,IAAIC,CAAQ,CAAC;AAAA,EACpE;AAEA,SAAAM,EAAM,WAAW,SAASG,GAAG;AAC3B,WAAO,UAAU,UAAUT,IAAW,CAACS,GAAGD,EAAO,KAAMR;AAAA,EACzD,GAEOU,EAAUJ,CAAK;AACxB;AAEe,SAASK,IAAM;AAC5B,MAAIL,IAAQF,EAAOQ,GAAa;AAEhC,SAAAN,EAAM,OAAO,WAAW;AACtB,WAAOO,EAAKP,GAAOK,EAAG,CAAE,EAAE,SAASL,EAAM,UAAU;AAAA,EACrD,GAEAQ,EAAU,MAAMR,GAAO,SAAS,GAEzBA;AACT;AAEO,SAASS,IAAO;AACrB,SAAOJ,EAAI,MAAM,MAAM,SAAS,EAAE,SAAS,GAAG;AAChD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"pow-CM2aze4M.js","sources":["../node_modules/d3-scale/src/pow.js"],"sourcesContent":["import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n"],"names":["transformPow","exponent","x","transformSqrt","transformSquare","powish","transform","scale","identity","rescale","_","linearish","pow","transformer","copy","initRange","sqrt"],"mappings":";;AAIA,SAASA,EAAaC,GAAU;AAC9B,SAAO,SAASC,GAAG;AACjB,WAAOA,IAAI,IAAI,CAAC,KAAK,IAAI,CAACA,GAAGD,CAAQ,IAAI,KAAK,IAAIC,GAAGD,CAAQ;AAAA,EAC/D;AACF;AAEA,SAASE,EAAcD,GAAG;AACxB,SAAOA,IAAI,IAAI,CAAC,KAAK,KAAK,CAACA,CAAC,IAAI,KAAK,KAAKA,CAAC;AAC7C;AAEA,SAASE,EAAgBF,GAAG;AAC1B,SAAOA,IAAI,IAAI,CAACA,IAAIA,IAAIA,IAAIA;AAC9B;AAEO,SAASG,EAAOC,GAAW;AAChC,MAAIC,IAAQD,EAAUE,GAAUA,CAAQ,GACpCP,IAAW;AAEf,WAASQ,IAAU;AACjB,WAAOR,MAAa,IAAIK,EAAUE,GAAUA,CAAQ,IAC9CP,MAAa,MAAMK,EAAUH,GAAeC,CAAe,IAC3DE,EAAUN,EAAaC,CAAQ,GAAGD,EAAa,IAAIC,CAAQ,CAAC;AAAA,EACpE;AAEA,SAAAM,EAAM,WAAW,SAASG,GAAG;AAC3B,WAAO,UAAU,UAAUT,IAAW,CAACS,GAAGD,EAAO,KAAMR;AAAA,EACzD,GAEOU,EAAUJ,CAAK;AACxB;AAEe,SAASK,IAAM;AAC5B,MAAIL,IAAQF,EAAOQ,GAAa;AAEhC,SAAAN,EAAM,OAAO,WAAW;AACtB,WAAOO,EAAKP,GAAOK,EAAG,CAAE,EAAE,SAASL,EAAM,UAAU;AAAA,EACrD,GAEAQ,EAAU,MAAMR,GAAO,SAAS,GAEzBA;AACT;AAEO,SAASS,IAAO;AACrB,SAAOJ,EAAI,MAAM,MAAM,SAAS,EAAE,SAAS,GAAG;AAChD;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { i as o, b as g } from "./init-BJFW6EwE.js";
1
+ import { i as o, b as g } from "./init-BhZylTFx.js";
2
2
  function l() {
3
3
  var r = [0.5], e = [0, 1], i, a = 1;
4
4
  function t(n) {
@@ -20,4 +20,4 @@ function l() {
20
20
  export {
21
21
  l as t
22
22
  };
23
- //# sourceMappingURL=threshold-Bgr20hik.js.map
23
+ //# sourceMappingURL=threshold-DFfqcDMa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"threshold-Bgr20hik.js","sources":["../node_modules/d3-scale/src/threshold.js"],"sourcesContent":["import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n"],"names":["threshold","domain","range","unknown","n","scale","x","bisect","_","y","i","initRange"],"mappings":";AAGe,SAASA,IAAY;AAClC,MAAIC,IAAS,CAAC,GAAG,GACbC,IAAQ,CAAC,GAAG,CAAC,GACbC,GACAC,IAAI;AAER,WAASC,EAAMC,GAAG;AAChB,WAAOA,KAAK,QAAQA,KAAKA,IAAIJ,EAAMK,EAAON,GAAQK,GAAG,GAAGF,CAAC,CAAC,IAAID;AAAA,EAChE;AAEA,SAAAE,EAAM,SAAS,SAASG,GAAG;AACzB,WAAO,UAAU,UAAUP,IAAS,MAAM,KAAKO,CAAC,GAAGJ,IAAI,KAAK,IAAIH,EAAO,QAAQC,EAAM,SAAS,CAAC,GAAGG,KAASJ,EAAO,MAAK;AAAA,EACzH,GAEAI,EAAM,QAAQ,SAASG,GAAG;AACxB,WAAO,UAAU,UAAUN,IAAQ,MAAM,KAAKM,CAAC,GAAGJ,IAAI,KAAK,IAAIH,EAAO,QAAQC,EAAM,SAAS,CAAC,GAAGG,KAASH,EAAM,MAAK;AAAA,EACvH,GAEAG,EAAM,eAAe,SAASI,GAAG;AAC/B,QAAIC,IAAIR,EAAM,QAAQO,CAAC;AACvB,WAAO,CAACR,EAAOS,IAAI,CAAC,GAAGT,EAAOS,CAAC,CAAC;AAAA,EAClC,GAEAL,EAAM,UAAU,SAASG,GAAG;AAC1B,WAAO,UAAU,UAAUL,IAAUK,GAAGH,KAASF;AAAA,EACnD,GAEAE,EAAM,OAAO,WAAW;AACtB,WAAOL,EAAS,EACX,OAAOC,CAAM,EACb,MAAMC,CAAK,EACX,QAAQC,CAAO;AAAA,EACtB,GAEOQ,EAAU,MAAMN,GAAO,SAAS;AACzC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"threshold-DFfqcDMa.js","sources":["../node_modules/d3-scale/src/threshold.js"],"sourcesContent":["import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n"],"names":["threshold","domain","range","unknown","n","scale","x","bisect","_","y","i","initRange"],"mappings":";AAGe,SAASA,IAAY;AAClC,MAAIC,IAAS,CAAC,GAAG,GACbC,IAAQ,CAAC,GAAG,CAAC,GACbC,GACAC,IAAI;AAER,WAASC,EAAMC,GAAG;AAChB,WAAOA,KAAK,QAAQA,KAAKA,IAAIJ,EAAMK,EAAON,GAAQK,GAAG,GAAGF,CAAC,CAAC,IAAID;AAAA,EAChE;AAEA,SAAAE,EAAM,SAAS,SAASG,GAAG;AACzB,WAAO,UAAU,UAAUP,IAAS,MAAM,KAAKO,CAAC,GAAGJ,IAAI,KAAK,IAAIH,EAAO,QAAQC,EAAM,SAAS,CAAC,GAAGG,KAASJ,EAAO,MAAK;AAAA,EACzH,GAEAI,EAAM,QAAQ,SAASG,GAAG;AACxB,WAAO,UAAU,UAAUN,IAAQ,MAAM,KAAKM,CAAC,GAAGJ,IAAI,KAAK,IAAIH,EAAO,QAAQC,EAAM,SAAS,CAAC,GAAGG,KAASH,EAAM,MAAK;AAAA,EACvH,GAEAG,EAAM,eAAe,SAASI,GAAG;AAC/B,QAAIC,IAAIR,EAAM,QAAQO,CAAC;AACvB,WAAO,CAACR,EAAOS,IAAI,CAAC,GAAGT,EAAOS,CAAC,CAAC;AAAA,EAClC,GAEAL,EAAM,UAAU,SAASG,GAAG;AAC1B,WAAO,UAAU,UAAUL,IAAUK,GAAGH,KAASF;AAAA,EACnD,GAEAE,EAAM,OAAO,WAAW;AACtB,WAAOL,EAAS,EACX,OAAOC,CAAM,EACb,MAAMC,CAAK,EACX,QAAQC,CAAO;AAAA,EACtB,GAEOQ,EAAU,MAAMN,GAAO,SAAS;AACzC;","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- import { e as he, f as Ke, c as en } from "./linear-BwnDd9KF.js";
2
- import { d as nn, i as tn } from "./init-BJFW6EwE.js";
1
+ import { e as he, f as Ke, c as en } from "./linear-BqltdMeF.js";
2
+ import { d as nn, i as tn } from "./init-BhZylTFx.js";
3
3
  function rn(e, n) {
4
4
  e = e.slice();
5
5
  var t = 0, r = e.length - 1, s = e[t], o = e[r], c;
@@ -712,4 +712,4 @@ function Ft() {
712
712
  export {
713
713
  Ft as t
714
714
  };
715
- //# sourceMappingURL=time-DCCfQk3V.js.map
715
+ //# sourceMappingURL=time-BUL-dwnK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-DCCfQk3V.js","sources":["../node_modules/d3-scale/src/nice.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js"],"sourcesContent":["export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n"],"names":["nice","domain","interval","i0","i1","x0","x1","t","t0","t1","timeInterval","floori","offseti","count","field","date","d0","d1","step","start","stop","range","previous","test","end","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","timeMinute","utcMinute","timeHour","utcHour","timeDay","utcDay","unixDay","timeWeekday","i","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","utcMonth","timeYear","utcYear","ticker","year","month","week","day","hour","minute","tickIntervals","ticks","reverse","tickInterval","target","bisector","tickStep","timeTicks","timeTickInterval","localDate","utcDate","newDate","y","m","formatLocale","locale","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","specifier","string","j","n","c","pad","format","pads","newParse","Z","parseSpecifier","parse","f","p","numberRe","percentRe","requoteRe","value","fill","width","sign","length","requote","s","names","name","dISO","z","dow","UTCdISO","timeFormat","defaultLocale","definition","number","calendar","scale","continuous","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","tickFormat","_","copy","time","initRange","timeWeek","timeSecond"],"mappings":";;AAAe,SAASA,GAAKC,GAAQC,GAAU;AAC7C,EAAAD,IAASA,EAAO,MAAK;AAErB,MAAIE,IAAK,GACLC,IAAKH,EAAO,SAAS,GACrBI,IAAKJ,EAAOE,CAAE,GACdG,IAAKL,EAAOG,CAAE,GACdG;AAEJ,SAAID,IAAKD,MACPE,IAAIJ,GAAIA,IAAKC,GAAIA,IAAKG,GACtBA,IAAIF,GAAIA,IAAKC,GAAIA,IAAKC,IAGxBN,EAAOE,CAAE,IAAID,EAAS,MAAMG,CAAE,GAC9BJ,EAAOG,CAAE,IAAIF,EAAS,KAAKI,CAAE,GACtBL;AACT;ACjBA,MAAMO,KAAK,oBAAI,QAAMC,KAAK,oBAAI;AAEvB,SAASC,EAAaC,GAAQC,GAASC,GAAOC,GAAO;AAE1D,WAASZ,EAASa,GAAM;AACtB,WAAOJ,EAAOI,IAAO,UAAU,WAAW,IAAI,oBAAI,SAAO,oBAAI,KAAK,CAACA,CAAI,CAAC,GAAGA;AAAA,EAC7E;AAEA,SAAAb,EAAS,QAAQ,CAACa,OACTJ,EAAOI,IAAO,oBAAI,KAAK,CAACA,CAAI,CAAC,GAAGA,IAGzCb,EAAS,OAAO,CAACa,OACRJ,EAAOI,IAAO,IAAI,KAAKA,IAAO,CAAC,CAAC,GAAGH,EAAQG,GAAM,CAAC,GAAGJ,EAAOI,CAAI,GAAGA,IAG5Eb,EAAS,QAAQ,CAACa,MAAS;AACzB,UAAMC,IAAKd,EAASa,CAAI,GAAGE,IAAKf,EAAS,KAAKa,CAAI;AAClD,WAAOA,IAAOC,IAAKC,IAAKF,IAAOC,IAAKC;AAAA,EACtC,GAEAf,EAAS,SAAS,CAACa,GAAMG,OAChBN,EAAQG,IAAO,oBAAI,KAAK,CAACA,CAAI,GAAGG,KAAQ,OAAO,IAAI,KAAK,MAAMA,CAAI,CAAC,GAAGH,IAG/Eb,EAAS,QAAQ,CAACiB,GAAOC,GAAMF,MAAS;AACtC,UAAMG,IAAQ,CAAA;AAGd,QAFAF,IAAQjB,EAAS,KAAKiB,CAAK,GAC3BD,IAAOA,KAAQ,OAAO,IAAI,KAAK,MAAMA,CAAI,GACrC,EAAEC,IAAQC,MAAS,EAAEF,IAAO,GAAI,QAAOG;AAC3C,QAAIC;AACJ;AAAG,MAAAD,EAAM,KAAKC,IAAW,oBAAI,KAAK,CAACH,CAAK,CAAC,GAAGP,EAAQO,GAAOD,CAAI,GAAGP,EAAOQ,CAAK;AAAA,WACvEG,IAAWH,KAASA,IAAQC;AACnC,WAAOC;AAAA,EACT,GAEAnB,EAAS,SAAS,CAACqB,MACVb,EAAa,CAACK,MAAS;AAC5B,QAAIA,KAAQA,EAAM,QAAOJ,EAAOI,CAAI,GAAG,CAACQ,EAAKR,CAAI,IAAG,CAAAA,EAAK,QAAQA,IAAO,CAAC;AAAA,EAC3E,GAAG,CAACA,GAAMG,MAAS;AACjB,QAAIH,KAAQA;AACV,UAAIG,IAAO,EAAG,QAAO,EAAEA,KAAQ;AAC7B,eAAON,EAAQG,GAAM,EAAE,GAAG,CAACQ,EAAKR,CAAI;AAAG;AAAA,UAClC,QAAO,EAAEG,KAAQ;AACtB,eAAON,EAAQG,GAAM,CAAE,GAAG,CAACQ,EAAKR,CAAI;AAAG;AAAA,EAG7C,CAAC,GAGCF,MACFX,EAAS,QAAQ,CAACiB,GAAOK,OACvBhB,GAAG,QAAQ,CAACW,CAAK,GAAGV,GAAG,QAAQ,CAACe,CAAG,GACnCb,EAAOH,EAAE,GAAGG,EAAOF,EAAE,GACd,KAAK,MAAMI,EAAML,IAAIC,EAAE,CAAC,IAGjCP,EAAS,QAAQ,CAACgB,OAChBA,IAAO,KAAK,MAAMA,CAAI,GACf,CAAC,SAASA,CAAI,KAAK,EAAEA,IAAO,KAAK,OAChCA,IAAO,IACThB,EAAS,OAAOY,IACZ,CAACW,MAAMX,EAAMW,CAAC,IAAIP,MAAS,IAC3B,CAACO,MAAMvB,EAAS,MAAM,GAAGuB,CAAC,IAAIP,MAAS,CAAC,IAH9BhB,KAOjBA;AACT;AClEO,MAAMwB,IAAchB,EAAa,MAAM;AAE9C,GAAG,CAACK,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,CAAI;AAC3B,GAAG,CAACC,GAAOK,MACFA,IAAML,CACd;AAGDO,EAAY,QAAQ,CAACC,OACnBA,IAAI,KAAK,MAAMA,CAAC,GACZ,CAAC,SAASA,CAAC,KAAK,EAAEA,IAAI,KAAW,OAC/BA,IAAI,IACHjB,EAAa,CAACK,MAAS;AAC5B,EAAAA,EAAK,QAAQ,KAAK,MAAMA,IAAOY,CAAC,IAAIA,CAAC;AACvC,GAAG,CAACZ,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,IAAOS,CAAC;AAC/B,GAAG,CAACR,GAAOK,OACDA,IAAML,KAASQ,CACxB,IAPoBD;AAUKA,EAAY;ACxBjC,MAAME,IAAiB,KACjBC,IAAiBD,IAAiB,IAClCE,IAAeD,IAAiB,IAChCE,IAAcD,IAAe,IAC7BE,KAAeD,IAAc,GAC7BE,KAAgBF,IAAc,IAC9BG,KAAeH,IAAc,KCH7BI,IAASzB,EAAa,CAACK,MAAS;AAC3C,EAAAA,EAAK,QAAQA,IAAOA,EAAK,gBAAe,CAAE;AAC5C,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,IAAOU,CAAc;AAC5C,GAAG,CAACT,GAAOK,OACDA,IAAML,KAASS,GACtB,CAACb,MACKA,EAAK,cAAa,CAC1B;AAEsBoB,EAAO;ACVvB,MAAMC,KAAa1B,EAAa,CAACK,MAAS;AAC/C,EAAAA,EAAK,QAAQA,IAAOA,EAAK,gBAAe,IAAKA,EAAK,WAAU,IAAKa,CAAc;AACjF,GAAG,CAACb,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,IAAOW,CAAc;AAC5C,GAAG,CAACV,GAAOK,OACDA,IAAML,KAASU,GACtB,CAACd,MACKA,EAAK,WAAU,CACvB;AAE0BqB,GAAW;AAE/B,MAAMC,KAAY3B,EAAa,CAACK,MAAS;AAC9C,EAAAA,EAAK,cAAc,GAAG,CAAC;AACzB,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,IAAOW,CAAc;AAC5C,GAAG,CAACV,GAAOK,OACDA,IAAML,KAASU,GACtB,CAACd,MACKA,EAAK,cAAa,CAC1B;AAEyBsB,GAAU;ACtB7B,MAAMC,KAAW5B,EAAa,CAACK,MAAS;AAC7C,EAAAA,EAAK,QAAQA,IAAOA,EAAK,gBAAe,IAAKA,EAAK,WAAU,IAAKa,IAAiBb,EAAK,WAAU,IAAKc,CAAc;AACtH,GAAG,CAACd,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,IAAOY,CAAY;AAC1C,GAAG,CAACX,GAAOK,OACDA,IAAML,KAASW,GACtB,CAACf,MACKA,EAAK,SAAQ,CACrB;AAEwBuB,GAAS;AAE3B,MAAMC,KAAU7B,EAAa,CAACK,MAAS;AAC5C,EAAAA,EAAK,cAAc,GAAG,GAAG,CAAC;AAC5B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,QAAQ,CAACA,IAAOG,IAAOY,CAAY;AAC1C,GAAG,CAACX,GAAOK,OACDA,IAAML,KAASW,GACtB,CAACf,MACKA,EAAK,YAAW,CACxB;AAEuBwB,GAAQ;ACtBzB,MAAMC,IAAU9B;AAAA,EACrB,CAAAK,MAAQA,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAAA,EAChC,CAACA,GAAMG,MAASH,EAAK,QAAQA,EAAK,QAAO,IAAKG,CAAI;AAAA,EAClD,CAACC,GAAOK,OAASA,IAAML,KAASK,EAAI,kBAAiB,IAAKL,EAAM,kBAAiB,KAAMU,KAAkBE;AAAA,EACzG,CAAAhB,MAAQA,EAAK,YAAY;AAC3B;AAEwByB,EAAQ;AAEzB,MAAMC,KAAS/B,EAAa,CAACK,MAAS;AAC3C,EAAAA,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,WAAWA,EAAK,WAAU,IAAKG,CAAI;AAC1C,GAAG,CAACC,GAAOK,OACDA,IAAML,KAASY,GACtB,CAAChB,MACKA,EAAK,WAAU,IAAK,CAC5B;AAEsB0B,GAAO;AAEvB,MAAMC,KAAUhC,EAAa,CAACK,MAAS;AAC5C,EAAAA,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,WAAWA,EAAK,WAAU,IAAKG,CAAI;AAC1C,GAAG,CAACC,GAAOK,OACDA,IAAML,KAASY,GACtB,CAAChB,MACK,KAAK,MAAMA,IAAOgB,CAAW,CACrC;AAEuBW,GAAQ;AC/BhC,SAASC,EAAYC,GAAG;AACtB,SAAOlC,EAAa,CAACK,MAAS;AAC5B,IAAAA,EAAK,QAAQA,EAAK,aAAaA,EAAK,WAAW,IAAI6B,KAAK,CAAC,GACzD7B,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAAA,EAC1B,GAAG,CAACA,GAAMG,MAAS;AACjB,IAAAH,EAAK,QAAQA,EAAK,QAAO,IAAKG,IAAO,CAAC;AAAA,EACxC,GAAG,CAACC,GAAOK,OACDA,IAAML,KAASK,EAAI,kBAAiB,IAAKL,EAAM,uBAAuBU,KAAkBG,EACjG;AACH;AAEO,MAAMa,IAAaF,EAAY,CAAC,GAC1BG,IAAaH,EAAY,CAAC,GAC1BI,KAAcJ,EAAY,CAAC,GAC3BK,KAAgBL,EAAY,CAAC,GAC7BM,IAAeN,EAAY,CAAC,GAC5BO,KAAaP,EAAY,CAAC,GAC1BQ,KAAeR,EAAY,CAAC;AAEdE,EAAW;AACXC,EAAW;AACVC,GAAY;AACVC,GAAc;AACfC,EAAa;AACfC,GAAW;AACTC,GAAa;AAE1C,SAASC,EAAWR,GAAG;AACrB,SAAOlC,EAAa,CAACK,MAAS;AAC5B,IAAAA,EAAK,WAAWA,EAAK,gBAAgBA,EAAK,cAAc,IAAI6B,KAAK,CAAC,GAClE7B,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAAA,EAC7B,GAAG,CAACA,GAAMG,MAAS;AACjB,IAAAH,EAAK,WAAWA,EAAK,WAAU,IAAKG,IAAO,CAAC;AAAA,EAC9C,GAAG,CAACC,GAAOK,OACDA,IAAML,KAASa,EACxB;AACH;AAEO,MAAMqB,KAAYD,EAAW,CAAC,GACxBE,IAAYF,EAAW,CAAC,GACxBG,KAAaH,EAAW,CAAC,GACzBI,KAAeJ,EAAW,CAAC,GAC3BK,IAAcL,EAAW,CAAC,GAC1BM,KAAYN,EAAW,CAAC,GACxBO,KAAcP,EAAW,CAAC;AAEbC,GAAU;AACVC,EAAU;AACTC,GAAW;AACTC,GAAa;AACdC,EAAY;AACdC,GAAU;AACRC,GAAY;ACrDjC,MAAMC,KAAYlD,EAAa,CAACK,MAAS;AAC9C,EAAAA,EAAK,QAAQ,CAAC,GACdA,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAC1B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,SAASA,EAAK,SAAQ,IAAKG,CAAI;AACtC,GAAG,CAACC,GAAOK,MACFA,EAAI,aAAaL,EAAM,SAAQ,KAAMK,EAAI,YAAW,IAAKL,EAAM,YAAW,KAAM,IACtF,CAACJ,MACKA,EAAK,SAAQ,CACrB;AAEyB6C,GAAU;AAE7B,MAAMC,KAAWnD,EAAa,CAACK,MAAS;AAC7C,EAAAA,EAAK,WAAW,CAAC,GACjBA,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,YAAYA,EAAK,YAAW,IAAKG,CAAI;AAC5C,GAAG,CAACC,GAAOK,MACFA,EAAI,gBAAgBL,EAAM,YAAW,KAAMK,EAAI,eAAc,IAAKL,EAAM,eAAc,KAAM,IAClG,CAACJ,MACKA,EAAK,YAAW,CACxB;AAEwB8C,GAAS;ACxB3B,MAAMC,IAAWpD,EAAa,CAACK,MAAS;AAC7C,EAAAA,EAAK,SAAS,GAAG,CAAC,GAClBA,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAC1B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,YAAYA,EAAK,YAAW,IAAKG,CAAI;AAC5C,GAAG,CAACC,GAAOK,MACFA,EAAI,gBAAgBL,EAAM,YAAW,GAC3C,CAACJ,MACKA,EAAK,YAAW,CACxB;AAGD+C,EAAS,QAAQ,CAACnC,MACT,CAAC,SAASA,IAAI,KAAK,MAAMA,CAAC,CAAC,KAAK,EAAEA,IAAI,KAAK,OAAOjB,EAAa,CAACK,MAAS;AAC9E,EAAAA,EAAK,YAAY,KAAK,MAAMA,EAAK,YAAW,IAAKY,CAAC,IAAIA,CAAC,GACvDZ,EAAK,SAAS,GAAG,CAAC,GAClBA,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC;AAC1B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,YAAYA,EAAK,YAAW,IAAKG,IAAOS,CAAC;AAChD,CAAC;AAGsBmC,EAAS;AAE3B,MAAMC,IAAUrD,EAAa,CAACK,MAAS;AAC5C,EAAAA,EAAK,YAAY,GAAG,CAAC,GACrBA,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,eAAeA,EAAK,eAAc,IAAKG,CAAI;AAClD,GAAG,CAACC,GAAOK,MACFA,EAAI,mBAAmBL,EAAM,eAAc,GACjD,CAACJ,MACKA,EAAK,eAAc,CAC3B;AAGDgD,EAAQ,QAAQ,CAACpC,MACR,CAAC,SAASA,IAAI,KAAK,MAAMA,CAAC,CAAC,KAAK,EAAEA,IAAI,KAAK,OAAOjB,EAAa,CAACK,MAAS;AAC9E,EAAAA,EAAK,eAAe,KAAK,MAAMA,EAAK,eAAc,IAAKY,CAAC,IAAIA,CAAC,GAC7DZ,EAAK,YAAY,GAAG,CAAC,GACrBA,EAAK,YAAY,GAAG,GAAG,GAAG,CAAC;AAC7B,GAAG,CAACA,GAAMG,MAAS;AACjB,EAAAH,EAAK,eAAeA,EAAK,eAAc,IAAKG,IAAOS,CAAC;AACtD,CAAC;AAGqBoC,EAAQ;ACrChC,SAASC,GAAOC,GAAMC,GAAOC,GAAMC,GAAKC,GAAMC,GAAQ;AAEpD,QAAMC,IAAgB;AAAA,IACpB,CAACpC,GAAS,GAAQP,CAAc;AAAA,IAChC,CAACO,GAAS,GAAI,IAAIP,CAAc;AAAA,IAChC,CAACO,GAAQ,IAAI,KAAKP,CAAc;AAAA,IAChC,CAACO,GAAQ,IAAI,KAAKP,CAAc;AAAA,IAChC,CAAC0C,GAAS,GAAQzC,CAAc;AAAA,IAChC,CAACyC,GAAS,GAAI,IAAIzC,CAAc;AAAA,IAChC,CAACyC,GAAQ,IAAI,KAAKzC,CAAc;AAAA,IAChC,CAACyC,GAAQ,IAAI,KAAKzC,CAAc;AAAA,IAChC,CAAGwC,GAAO,GAAQvC,CAAY;AAAA,IAC9B,CAAGuC,GAAO,GAAI,IAAIvC,CAAY;AAAA,IAC9B,CAAGuC,GAAO,GAAI,IAAIvC,CAAY;AAAA,IAC9B,CAAGuC,GAAM,IAAI,KAAKvC,CAAY;AAAA,IAC9B,CAAIsC,GAAM,GAAQrC,CAAW;AAAA,IAC7B,CAAIqC,GAAM,GAAI,IAAIrC,CAAW;AAAA,IAC7B,CAAGoC,GAAO,GAAQnC,EAAY;AAAA,IAC9B,CAAEkC,GAAQ,GAAQjC,EAAa;AAAA,IAC/B,CAAEiC,GAAQ,GAAI,IAAIjC,EAAa;AAAA,IAC/B,CAAGgC,GAAO,GAAQ/B,EAAY;AAAA,EAClC;AAEE,WAASsC,EAAMrD,GAAOC,GAAMP,GAAO;AACjC,UAAM4D,IAAUrD,IAAOD;AACvB,IAAIsD,MAAS,CAACtD,GAAOC,CAAI,IAAI,CAACA,GAAMD,CAAK;AACzC,UAAMjB,IAAWW,KAAS,OAAOA,EAAM,SAAU,aAAaA,IAAQ6D,EAAavD,GAAOC,GAAMP,CAAK,GAC/F2D,IAAQtE,IAAWA,EAAS,MAAMiB,GAAO,CAACC,IAAO,CAAC,IAAI;AAC5D,WAAOqD,IAAUD,EAAM,QAAO,IAAKA;AAAA,EACrC;AAEA,WAASE,EAAavD,GAAOC,GAAMP,GAAO;AACxC,UAAM8D,IAAS,KAAK,IAAIvD,IAAOD,CAAK,IAAIN,GAClC+B,IAAIgC,GAAS,CAAC,KAAI1D,CAAI,MAAMA,CAAI,EAAE,MAAMqD,GAAeI,CAAM;AACnE,QAAI/B,MAAM2B,EAAc,OAAQ,QAAON,EAAK,MAAMY,GAAS1D,IAAQe,IAAcd,IAAOc,IAAcrB,CAAK,CAAC;AAC5G,QAAI+B,MAAM,EAAG,QAAOlB,EAAY,MAAM,KAAK,IAAImD,GAAS1D,GAAOC,GAAMP,CAAK,GAAG,CAAC,CAAC;AAC/E,UAAM,CAACN,GAAGW,CAAI,IAAIqD,EAAcI,IAASJ,EAAc3B,IAAI,CAAC,EAAE,CAAC,IAAI2B,EAAc3B,CAAC,EAAE,CAAC,IAAI+B,IAAS/B,IAAI,IAAIA,CAAC;AAC3G,WAAOrC,EAAE,MAAMW,CAAI;AAAA,EACrB;AAEA,SAAO,CAACsD,GAAOE,CAAY;AAC7B;AAGA,MAAM,CAACI,IAAWC,EAAgB,IAAIf,GAAOF,GAAUF,IAAWf,GAAYL,GAASF,IAAUF,EAAU;AC1C3G,SAAS4C,GAAUvD,GAAG;AACpB,MAAI,KAAKA,EAAE,KAAKA,EAAE,IAAI,KAAK;AACzB,QAAIV,IAAO,IAAI,KAAK,IAAIU,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,CAAC;AACpD,WAAAV,EAAK,YAAYU,EAAE,CAAC,GACbV;AAAA,EACT;AACA,SAAO,IAAI,KAAKU,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,CAAC;AACnD;AAEA,SAASwD,GAAQxD,GAAG;AAClB,MAAI,KAAKA,EAAE,KAAKA,EAAE,IAAI,KAAK;AACzB,QAAIV,IAAO,IAAI,KAAK,KAAK,IAAI,IAAIU,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,CAAC,CAAC;AAC9D,WAAAV,EAAK,eAAeU,EAAE,CAAC,GAChBV;AAAA,EACT;AACA,SAAO,IAAI,KAAK,KAAK,IAAIU,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,CAAC,CAAC;AAC7D;AAEA,SAASyD,EAAQC,GAAGC,GAAG3D,GAAG;AACxB,SAAO,EAAC,GAAG0D,GAAG,GAAGC,GAAG,GAAG3D,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAC;AAClD;AAEe,SAAS4D,GAAaC,GAAQ;AAC3C,MAAIC,IAAkBD,EAAO,UACzBE,IAAcF,EAAO,MACrBG,IAAcH,EAAO,MACrBI,IAAiBJ,EAAO,SACxBK,IAAkBL,EAAO,MACzBM,IAAuBN,EAAO,WAC9BO,IAAgBP,EAAO,QACvBQ,IAAqBR,EAAO,aAE5BS,IAAWC,EAASN,CAAc,GAClCO,IAAeC,EAAaR,CAAc,GAC1CS,IAAYH,EAASL,CAAe,GACpCS,IAAgBF,EAAaP,CAAe,GAC5CU,IAAiBL,EAASJ,CAAoB,GAC9CU,IAAqBJ,EAAaN,CAAoB,GACtDW,IAAUP,EAASH,CAAa,GAChCW,IAAcN,EAAaL,CAAa,GACxCY,KAAeT,EAASF,CAAkB,GAC1CY,KAAmBR,EAAaJ,CAAkB,GAElDa,IAAU;AAAA,IACZ,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAK;AAAA,IACL,GAAKC;AAAA,IACL,GAAKA;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,KAAKC;AAAA,EACT,GAEMC,IAAa;AAAA,IACf,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAK;AAAA,IACL,GAAKC;AAAA,IACL,GAAKA;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAK5B;AAAA,IACL,GAAKC;AAAA,IACL,GAAK4B;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAK;AAAA,IACL,GAAK;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,KAAK1B;AAAA,EACT,GAEM2B,KAAS;AAAA,IACX,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKA;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKA;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKC;AAAA,IACL,GAAKlB;AAAA,IACL,GAAKC;AAAA,IACL,GAAKkB;AAAA,IACL,KAAKC;AAAA,EACT;AAGE,EAAAnF,EAAQ,IAAIoF,EAAUvG,GAAamB,CAAO,GAC1CA,EAAQ,IAAIoF,EAAUtG,GAAakB,CAAO,GAC1CA,EAAQ,IAAIoF,EAAUxG,GAAiBoB,CAAO,GAC9C6B,EAAW,IAAIuD,EAAUvG,GAAagD,CAAU,GAChDA,EAAW,IAAIuD,EAAUtG,GAAa+C,CAAU,GAChDA,EAAW,IAAIuD,EAAUxG,GAAiBiD,CAAU;AAEpD,WAASuD,EAAUC,GAAWrF,GAAS;AACrC,WAAO,SAAS5F,GAAM;AACpB,UAAIkL,IAAS,CAAA,GACTrJ,IAAI,IACJsJ,IAAI,GACJC,IAAIH,EAAU,QACdI,GACAC,GACAC;AAIJ,WAFMvL,aAAgB,SAAOA,IAAO,oBAAI,KAAK,CAACA,CAAI,IAE3C,EAAE6B,IAAIuJ;AACX,QAAIH,EAAU,WAAWpJ,CAAC,MAAM,OAC9BqJ,EAAO,KAAKD,EAAU,MAAME,GAAGtJ,CAAC,CAAC,IAC5ByJ,IAAME,GAAKH,IAAIJ,EAAU,OAAO,EAAEpJ,CAAC,CAAC,MAAM,OAAMwJ,IAAIJ,EAAU,OAAO,EAAEpJ,CAAC,IACxEyJ,IAAMD,MAAM,MAAM,MAAM,MACzBE,KAAS3F,EAAQyF,CAAC,OAAGA,IAAIE,GAAOvL,GAAMsL,CAAG,IAC7CJ,EAAO,KAAKG,CAAC,GACbF,IAAItJ,IAAI;AAIZ,aAAAqJ,EAAO,KAAKD,EAAU,MAAME,GAAGtJ,CAAC,CAAC,GAC1BqJ,EAAO,KAAK,EAAE;AAAA,IACvB;AAAA,EACF;AAEA,WAASO,EAASR,GAAWS,GAAG;AAC9B,WAAO,SAASR,GAAQ;AACtB,UAAIxK,IAAIyD,EAAQ,MAAM,QAAW,CAAC,GAC9BtC,IAAI8J,EAAejL,GAAGuK,GAAWC,KAAU,IAAI,CAAC,GAChD9H,GAAMC;AACV,UAAIxB,KAAKqJ,EAAO,OAAQ,QAAO;AAG/B,UAAI,OAAOxK,EAAG,QAAO,IAAI,KAAKA,EAAE,CAAC;AACjC,UAAI,OAAOA,EAAG,QAAO,IAAI,KAAKA,EAAE,IAAI,OAAQ,OAAOA,IAAIA,EAAE,IAAI,EAAE;AAY/D,UATIgL,KAAK,EAAE,OAAOhL,OAAIA,EAAE,IAAI,IAGxB,OAAOA,MAAGA,EAAE,IAAIA,EAAE,IAAI,KAAKA,EAAE,IAAI,KAGjCA,EAAE,MAAM,WAAWA,EAAE,IAAI,OAAOA,IAAIA,EAAE,IAAI,IAG1C,OAAOA,GAAG;AACZ,YAAIA,EAAE,IAAI,KAAKA,EAAE,IAAI,GAAI,QAAO;AAChC,QAAM,OAAOA,MAAIA,EAAE,IAAI,IACnB,OAAOA,KACT0C,IAAOc,GAAQC,EAAQzD,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG2C,IAAMD,EAAK,UAAS,GACxDA,IAAOC,IAAM,KAAKA,MAAQ,IAAId,EAAU,KAAKa,CAAI,IAAIb,EAAUa,CAAI,GACnEA,IAAO1B,GAAO,OAAO0B,IAAO1C,EAAE,IAAI,KAAK,CAAC,GACxCA,EAAE,IAAI0C,EAAK,eAAc,GACzB1C,EAAE,IAAI0C,EAAK,YAAW,GACtB1C,EAAE,IAAI0C,EAAK,WAAU,KAAM1C,EAAE,IAAI,KAAK,MAEtC0C,IAAOa,GAAUE,EAAQzD,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG2C,IAAMD,EAAK,OAAM,GACvDA,IAAOC,IAAM,KAAKA,MAAQ,IAAItB,EAAW,KAAKqB,CAAI,IAAIrB,EAAWqB,CAAI,GACrEA,IAAO3B,EAAQ,OAAO2B,IAAO1C,EAAE,IAAI,KAAK,CAAC,GACzCA,EAAE,IAAI0C,EAAK,YAAW,GACtB1C,EAAE,IAAI0C,EAAK,SAAQ,GACnB1C,EAAE,IAAI0C,EAAK,QAAO,KAAM1C,EAAE,IAAI,KAAK;AAAA,MAEvC,MAAO,EAAI,OAAOA,KAAK,OAAOA,OACtB,OAAOA,MAAIA,EAAE,IAAI,OAAOA,IAAIA,EAAE,IAAI,IAAI,OAAOA,IAAI,IAAI,IAC3D2C,IAAM,OAAO3C,IAAIwD,GAAQC,EAAQzD,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,cAAcuD,GAAUE,EAAQzD,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,OAAM,GAC/FA,EAAE,IAAI,GACNA,EAAE,IAAI,OAAOA,KAAKA,EAAE,IAAI,KAAK,IAAIA,EAAE,IAAI,KAAK2C,IAAM,KAAK,IAAI3C,EAAE,IAAIA,EAAE,IAAI,KAAK2C,IAAM,KAAK;AAKzF,aAAI,OAAO3C,KACTA,EAAE,KAAKA,EAAE,IAAI,MAAM,GACnBA,EAAE,KAAKA,EAAE,IAAI,KACNwD,GAAQxD,CAAC,KAIXuD,GAAUvD,CAAC;AAAA,IACpB;AAAA,EACF;AAEA,WAASiL,EAAejL,GAAGuK,GAAWC,GAAQC,GAAG;AAO/C,aANItJ,IAAI,GACJuJ,IAAIH,EAAU,QACd5G,IAAI6G,EAAO,QACXG,GACAO,GAEG/J,IAAIuJ,KAAG;AACZ,UAAID,KAAK9G,EAAG,QAAO;AAEnB,UADAgH,IAAIJ,EAAU,WAAWpJ,GAAG,GACxBwJ,MAAM;AAGR,YAFAA,IAAIJ,EAAU,OAAOpJ,GAAG,GACxB+J,IAAQzC,GAAOkC,KAAKG,KAAOP,EAAU,OAAOpJ,GAAG,IAAIwJ,CAAC,GAChD,CAACO,MAAWT,IAAIS,EAAMlL,GAAGwK,GAAQC,CAAC,KAAK,EAAI,QAAO;AAAA,iBAC7CE,KAAKH,EAAO,WAAWC,GAAG;AACnC,eAAO;AAAA,IAEX;AAEA,WAAOA;AAAA,EACT;AAEA,WAASjB,GAAYxJ,GAAGwK,GAAQrJ,GAAG;AACjC,QAAIuJ,IAAIpG,EAAS,KAAKkG,EAAO,MAAMrJ,CAAC,CAAC;AACrC,WAAOuJ,KAAK1K,EAAE,IAAIwE,EAAa,IAAIkG,EAAE,CAAC,EAAE,YAAW,CAAE,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAAA,EAC7E;AAEA,WAAShC,GAAkB1I,GAAGwK,GAAQrJ,GAAG;AACvC,QAAIuJ,IAAI9F,EAAe,KAAK4F,EAAO,MAAMrJ,CAAC,CAAC;AAC3C,WAAOuJ,KAAK1K,EAAE,IAAI6E,EAAmB,IAAI6F,EAAE,CAAC,EAAE,YAAW,CAAE,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAAA,EACnF;AAEA,WAAS/B,GAAa3I,GAAGwK,GAAQrJ,GAAG;AAClC,QAAIuJ,IAAIhG,EAAU,KAAK8F,EAAO,MAAMrJ,CAAC,CAAC;AACtC,WAAOuJ,KAAK1K,EAAE,IAAI2E,EAAc,IAAI+F,EAAE,CAAC,EAAE,YAAW,CAAE,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAAA,EAC9E;AAEA,WAAS9B,GAAgB5I,GAAGwK,GAAQrJ,GAAG;AACrC,QAAIuJ,IAAI1F,GAAa,KAAKwF,EAAO,MAAMrJ,CAAC,CAAC;AACzC,WAAOuJ,KAAK1K,EAAE,IAAIiF,GAAiB,IAAIyF,EAAE,CAAC,EAAE,YAAW,CAAE,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAAA,EACjF;AAEA,WAAS7B,GAAW7I,GAAGwK,GAAQrJ,GAAG;AAChC,QAAIuJ,IAAI5F,EAAQ,KAAK0F,EAAO,MAAMrJ,CAAC,CAAC;AACpC,WAAOuJ,KAAK1K,EAAE,IAAI+E,EAAY,IAAI2F,EAAE,CAAC,EAAE,YAAW,CAAE,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAAA,EAC5E;AAEA,WAAS5B,GAAoB9I,GAAGwK,GAAQrJ,GAAG;AACzC,WAAO8J,EAAejL,GAAG8D,GAAiB0G,GAAQrJ,CAAC;AAAA,EACrD;AAEA,WAAS+I,GAAgBlK,GAAGwK,GAAQrJ,GAAG;AACrC,WAAO8J,EAAejL,GAAG+D,GAAayG,GAAQrJ,CAAC;AAAA,EACjD;AAEA,WAASgJ,GAAgBnK,GAAGwK,GAAQrJ,GAAG;AACrC,WAAO8J,EAAejL,GAAGgE,GAAawG,GAAQrJ,CAAC;AAAA,EACjD;AAEA,WAASgE,GAAmBnF,GAAG;AAC7B,WAAOmE,EAAqBnE,EAAE,QAAQ;AAAA,EACxC;AAEA,WAASoF,GAAcpF,GAAG;AACxB,WAAOkE,EAAgBlE,EAAE,QAAQ;AAAA,EACnC;AAEA,WAASqF,GAAiBrF,GAAG;AAC3B,WAAOqE,EAAmBrE,EAAE,UAAU;AAAA,EACxC;AAEA,WAASsF,GAAYtF,GAAG;AACtB,WAAOoE,EAAcpE,EAAE,UAAU;AAAA,EACnC;AAEA,WAASiG,GAAajG,GAAG;AACvB,WAAOiE,EAAe,EAAEjE,EAAE,SAAQ,KAAM,GAAG;AAAA,EAC7C;AAEA,WAASkG,GAAclG,GAAG;AACxB,WAAO,IAAI,CAAC,EAAEA,EAAE,SAAQ,IAAK;AAAA,EAC/B;AAEA,WAASgH,GAAsBhH,GAAG;AAChC,WAAOmE,EAAqBnE,EAAE,WAAW;AAAA,EAC3C;AAEA,WAASiH,GAAiBjH,GAAG;AAC3B,WAAOkE,EAAgBlE,EAAE,WAAW;AAAA,EACtC;AAEA,WAASkH,GAAoBlH,GAAG;AAC9B,WAAOqE,EAAmBrE,EAAE,aAAa;AAAA,EAC3C;AAEA,WAASmH,GAAenH,GAAG;AACzB,WAAOoE,EAAcpE,EAAE,aAAa;AAAA,EACtC;AAEA,WAAS8H,GAAgB9H,GAAG;AAC1B,WAAOiE,EAAe,EAAEjE,EAAE,YAAW,KAAM,GAAG;AAAA,EAChD;AAEA,WAAS+H,GAAiB/H,GAAG;AAC3B,WAAO,IAAI,CAAC,EAAEA,EAAE,YAAW,IAAK;AAAA,EAClC;AAEA,SAAO;AAAA,IACL,QAAQ,SAASuK,GAAW;AAC1B,UAAIY,IAAIb,EAAUC,KAAa,IAAIrF,CAAO;AAC1C,aAAAiG,EAAE,WAAW,WAAW;AAAE,eAAOZ;AAAA,MAAW,GACrCY;AAAA,IACT;AAAA,IACA,OAAO,SAASZ,GAAW;AACzB,UAAIa,IAAIL,EAASR,KAAa,IAAI,EAAK;AACvC,aAAAa,EAAE,WAAW,WAAW;AAAE,eAAOb;AAAA,MAAW,GACrCa;AAAA,IACT;AAAA,IACA,WAAW,SAASb,GAAW;AAC7B,UAAIY,IAAIb,EAAUC,KAAa,IAAIxD,CAAU;AAC7C,aAAAoE,EAAE,WAAW,WAAW;AAAE,eAAOZ;AAAA,MAAW,GACrCY;AAAA,IACT;AAAA,IACA,UAAU,SAASZ,GAAW;AAC5B,UAAIa,IAAIL,EAASR,KAAa,IAAI,EAAI;AACtC,aAAAa,EAAE,WAAW,WAAW;AAAE,eAAOb;AAAA,MAAW,GACrCa;AAAA,IACT;AAAA,EACJ;AACA;AAEA,IAAIN,KAAO,EAAC,KAAK,IAAI,GAAK,KAAK,GAAK,IAAG,GACnCO,IAAW,WACXC,KAAY,MACZC,KAAY;AAEhB,SAASX,EAAIY,GAAOC,GAAMC,GAAO;AAC/B,MAAIC,IAAOH,IAAQ,IAAI,MAAM,IACzBhB,KAAUmB,IAAO,CAACH,IAAQA,KAAS,IACnCI,IAASpB,EAAO;AACpB,SAAOmB,KAAQC,IAASF,IAAQ,IAAI,MAAMA,IAAQE,IAAS,CAAC,EAAE,KAAKH,CAAI,IAAIjB,IAASA;AACtF;AAEA,SAASqB,GAAQC,GAAG;AAClB,SAAOA,EAAE,QAAQP,IAAW,MAAM;AACpC;AAEA,SAAShH,EAASwH,GAAO;AACvB,SAAO,IAAI,OAAO,SAASA,EAAM,IAAIF,EAAO,EAAE,KAAK,GAAG,IAAI,KAAK,GAAG;AACpE;AAEA,SAASpH,EAAasH,GAAO;AAC3B,SAAO,IAAI,IAAIA,EAAM,IAAI,CAACC,GAAM7K,MAAM,CAAC6K,EAAK,eAAe7K,CAAC,CAAC,CAAC;AAChE;AAEA,SAAS6I,GAAyBhK,GAAGwK,GAAQrJ,GAAG;AAC9C,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASb,GAAyB7J,GAAGwK,GAAQrJ,GAAG;AAC9C,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASZ,GAAsB9J,GAAGwK,GAAQrJ,GAAG;AAC3C,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASX,GAAmB/J,GAAGwK,GAAQrJ,GAAG;AACxC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAAST,GAAsBjK,GAAGwK,GAAQrJ,GAAG;AAC3C,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASxB,GAAclJ,GAAGwK,GAAQrJ,GAAG;AACnC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASzB,GAAUjJ,GAAGwK,GAAQrJ,GAAG;AAC/B,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,KAAK,CAACA,EAAE,CAAC,IAAI,KAAK,OAAO,MAAOvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC3E;AAEA,SAASN,GAAUpK,GAAGwK,GAAQrJ,GAAG;AAC/B,MAAIuJ,IAAI,+BAA+B,KAAKF,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAClE,SAAOuJ,KAAK1K,EAAE,IAAI0K,EAAE,CAAC,IAAI,IAAI,EAAEA,EAAE,CAAC,KAAKA,EAAE,CAAC,KAAK,QAAQvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC5E;AAEA,SAASjB,GAAazJ,GAAGwK,GAAQrJ,GAAG;AAClC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI0K,EAAE,CAAC,IAAI,IAAI,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AACrD;AAEA,SAASpB,GAAiBtJ,GAAGwK,GAAQrJ,GAAG;AACtC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI0K,EAAE,CAAC,IAAI,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AACjD;AAEA,SAAS3B,GAAgB/I,GAAGwK,GAAQrJ,GAAG;AACrC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAAStB,GAAepJ,GAAGwK,GAAQrJ,GAAG;AACpC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,GAAGA,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AACvD;AAEA,SAASvB,GAAYnJ,GAAGwK,GAAQrJ,GAAG;AACjC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASnB,GAAavJ,GAAGwK,GAAQrJ,GAAG;AAClC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASd,GAAa5J,GAAGwK,GAAQrJ,GAAG;AAClC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASrB,GAAkBrJ,GAAGwK,GAAQrJ,GAAG;AACvC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAAS1B,GAAkBhJ,GAAGwK,GAAQrJ,GAAG;AACvC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC5C,SAAOuJ,KAAK1K,EAAE,IAAI,KAAK,MAAM0K,EAAE,CAAC,IAAI,GAAI,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAChE;AAEA,SAASL,GAAoBrK,GAAGwK,GAAQrJ,GAAG;AACzC,MAAIuJ,IAAIY,GAAU,KAAKd,EAAO,MAAMrJ,GAAGA,IAAI,CAAC,CAAC;AAC7C,SAAOuJ,IAAIvJ,IAAIuJ,EAAE,CAAC,EAAE,SAAS;AAC/B;AAEA,SAAShB,GAAmB1J,GAAGwK,GAAQrJ,GAAG;AACxC,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,CAAC,CAAC;AACrC,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASf,GAA0B3J,GAAGwK,GAAQrJ,GAAG;AAC/C,MAAIuJ,IAAIW,EAAS,KAAKb,EAAO,MAAMrJ,CAAC,CAAC;AACrC,SAAOuJ,KAAK1K,EAAE,IAAI,CAAC0K,EAAE,CAAC,GAAGvJ,IAAIuJ,EAAE,CAAC,EAAE,UAAU;AAC9C;AAEA,SAASnF,GAAiBvF,GAAGoL,GAAG;AAC9B,SAAOR,EAAI5K,EAAE,QAAO,GAAIoL,GAAG,CAAC;AAC9B;AAEA,SAASzF,GAAa3F,GAAGoL,GAAG;AAC1B,SAAOR,EAAI5K,EAAE,SAAQ,GAAIoL,GAAG,CAAC;AAC/B;AAEA,SAASxF,GAAa5F,GAAGoL,GAAG;AAC1B,SAAOR,EAAI5K,EAAE,SAAQ,IAAK,MAAM,IAAIoL,GAAG,CAAC;AAC1C;AAEA,SAASvF,GAAgB7F,GAAGoL,GAAG;AAC7B,SAAOR,EAAI,IAAI7J,EAAQ,MAAMsB,EAASrC,CAAC,GAAGA,CAAC,GAAGoL,GAAG,CAAC;AACpD;AAEA,SAAStF,GAAmB9F,GAAGoL,GAAG;AAChC,SAAOR,EAAI5K,EAAE,gBAAe,GAAIoL,GAAG,CAAC;AACtC;AAEA,SAAS5F,GAAmBxF,GAAGoL,GAAG;AAChC,SAAOtF,GAAmB9F,GAAGoL,CAAC,IAAI;AACpC;AAEA,SAASrF,GAAkB/F,GAAGoL,GAAG;AAC/B,SAAOR,EAAI5K,EAAE,SAAQ,IAAK,GAAGoL,GAAG,CAAC;AACnC;AAEA,SAASpF,GAAchG,GAAGoL,GAAG;AAC3B,SAAOR,EAAI5K,EAAE,WAAU,GAAIoL,GAAG,CAAC;AACjC;AAEA,SAAS/E,GAAcrG,GAAGoL,GAAG;AAC3B,SAAOR,EAAI5K,EAAE,WAAU,GAAIoL,GAAG,CAAC;AACjC;AAEA,SAAS9E,GAA0BtG,GAAG;AACpC,MAAI2C,IAAM3C,EAAE,OAAM;AAClB,SAAO2C,MAAQ,IAAI,IAAIA;AACzB;AAEA,SAAS4D,GAAuBvG,GAAGoL,GAAG;AACpC,SAAOR,EAAIxJ,EAAW,MAAMiB,EAASrC,CAAC,IAAI,GAAGA,CAAC,GAAGoL,GAAG,CAAC;AACvD;AAEA,SAASa,GAAKjM,GAAG;AACf,MAAI2C,IAAM3C,EAAE,OAAM;AAClB,SAAQ2C,KAAO,KAAKA,MAAQ,IAAKnB,EAAaxB,CAAC,IAAIwB,EAAa,KAAKxB,CAAC;AACxE;AAEA,SAASwG,GAAoBxG,GAAGoL,GAAG;AACjC,SAAApL,IAAIiM,GAAKjM,CAAC,GACH4K,EAAIpJ,EAAa,MAAMa,EAASrC,CAAC,GAAGA,CAAC,KAAKqC,EAASrC,CAAC,EAAE,OAAM,MAAO,IAAIoL,GAAG,CAAC;AACpF;AAEA,SAAS3E,GAA0BzG,GAAG;AACpC,SAAOA,EAAE,OAAM;AACjB;AAEA,SAAS0G,GAAuB1G,GAAGoL,GAAG;AACpC,SAAOR,EAAIvJ,EAAW,MAAMgB,EAASrC,CAAC,IAAI,GAAGA,CAAC,GAAGoL,GAAG,CAAC;AACvD;AAEA,SAASzE,GAAW3G,GAAGoL,GAAG;AACxB,SAAOR,EAAI5K,EAAE,YAAW,IAAK,KAAKoL,GAAG,CAAC;AACxC;AAEA,SAAS3F,GAAczF,GAAGoL,GAAG;AAC3B,SAAApL,IAAIiM,GAAKjM,CAAC,GACH4K,EAAI5K,EAAE,YAAW,IAAK,KAAKoL,GAAG,CAAC;AACxC;AAEA,SAASxE,GAAe5G,GAAGoL,GAAG;AAC5B,SAAOR,EAAI5K,EAAE,YAAW,IAAK,KAAOoL,GAAG,CAAC;AAC1C;AAEA,SAAS1F,GAAkB1F,GAAGoL,GAAG;AAC/B,MAAIzI,IAAM3C,EAAE,OAAM;AAClB,SAAAA,IAAK2C,KAAO,KAAKA,MAAQ,IAAKnB,EAAaxB,CAAC,IAAIwB,EAAa,KAAKxB,CAAC,GAC5D4K,EAAI5K,EAAE,YAAW,IAAK,KAAOoL,GAAG,CAAC;AAC1C;AAEA,SAASvE,GAAW7G,GAAG;AACrB,MAAIkM,IAAIlM,EAAE,kBAAiB;AAC3B,UAAQkM,IAAI,IAAI,OAAOA,KAAK,IAAI,QAC1BtB,EAAIsB,IAAI,KAAK,GAAG,KAAK,CAAC,IACtBtB,EAAIsB,IAAI,IAAI,KAAK,CAAC;AAC1B;AAEA,SAAS9E,GAAoBpH,GAAGoL,GAAG;AACjC,SAAOR,EAAI5K,EAAE,WAAU,GAAIoL,GAAG,CAAC;AACjC;AAEA,SAAS5D,GAAgBxH,GAAGoL,GAAG;AAC7B,SAAOR,EAAI5K,EAAE,YAAW,GAAIoL,GAAG,CAAC;AAClC;AAEA,SAAS3D,GAAgBzH,GAAGoL,GAAG;AAC7B,SAAOR,EAAI5K,EAAE,YAAW,IAAK,MAAM,IAAIoL,GAAG,CAAC;AAC7C;AAEA,SAAS1D,GAAmB1H,GAAGoL,GAAG;AAChC,SAAOR,EAAI,IAAI5J,GAAO,MAAMsB,EAAQtC,CAAC,GAAGA,CAAC,GAAGoL,GAAG,CAAC;AAClD;AAEA,SAASzD,GAAsB3H,GAAGoL,GAAG;AACnC,SAAOR,EAAI5K,EAAE,mBAAkB,GAAIoL,GAAG,CAAC;AACzC;AAEA,SAAS/D,GAAsBrH,GAAGoL,GAAG;AACnC,SAAOzD,GAAsB3H,GAAGoL,CAAC,IAAI;AACvC;AAEA,SAASxD,GAAqB5H,GAAGoL,GAAG;AAClC,SAAOR,EAAI5K,EAAE,YAAW,IAAK,GAAGoL,GAAG,CAAC;AACtC;AAEA,SAASvD,GAAiB7H,GAAGoL,GAAG;AAC9B,SAAOR,EAAI5K,EAAE,cAAa,GAAIoL,GAAG,CAAC;AACpC;AAEA,SAASpD,GAAiBhI,GAAGoL,GAAG;AAC9B,SAAOR,EAAI5K,EAAE,cAAa,GAAIoL,GAAG,CAAC;AACpC;AAEA,SAASnD,GAA6BjI,GAAG;AACvC,MAAImM,IAAMnM,EAAE,UAAS;AACrB,SAAOmM,MAAQ,IAAI,IAAIA;AACzB;AAEA,SAASjE,GAA0BlI,GAAGoL,GAAG;AACvC,SAAOR,EAAIhJ,GAAU,MAAMU,EAAQtC,CAAC,IAAI,GAAGA,CAAC,GAAGoL,GAAG,CAAC;AACrD;AAEA,SAASgB,GAAQpM,GAAG;AAClB,MAAI2C,IAAM3C,EAAE,UAAS;AACrB,SAAQ2C,KAAO,KAAKA,MAAQ,IAAKX,EAAYhC,CAAC,IAAIgC,EAAY,KAAKhC,CAAC;AACtE;AAEA,SAASmI,GAAuBnI,GAAGoL,GAAG;AACpC,SAAApL,IAAIoM,GAAQpM,CAAC,GACN4K,EAAI5I,EAAY,MAAMM,EAAQtC,CAAC,GAAGA,CAAC,KAAKsC,EAAQtC,CAAC,EAAE,UAAS,MAAO,IAAIoL,GAAG,CAAC;AACpF;AAEA,SAAShD,GAA6BpI,GAAG;AACvC,SAAOA,EAAE,UAAS;AACpB;AAEA,SAASqI,GAA0BrI,GAAGoL,GAAG;AACvC,SAAOR,EAAI/I,EAAU,MAAMS,EAAQtC,CAAC,IAAI,GAAGA,CAAC,GAAGoL,GAAG,CAAC;AACrD;AAEA,SAAS9C,GAActI,GAAGoL,GAAG;AAC3B,SAAOR,EAAI5K,EAAE,eAAc,IAAK,KAAKoL,GAAG,CAAC;AAC3C;AAEA,SAAS9D,GAAiBtH,GAAGoL,GAAG;AAC9B,SAAApL,IAAIoM,GAAQpM,CAAC,GACN4K,EAAI5K,EAAE,eAAc,IAAK,KAAKoL,GAAG,CAAC;AAC3C;AAEA,SAAS7C,GAAkBvI,GAAGoL,GAAG;AAC/B,SAAOR,EAAI5K,EAAE,eAAc,IAAK,KAAOoL,GAAG,CAAC;AAC7C;AAEA,SAAS7D,GAAqBvH,GAAGoL,GAAG;AAClC,MAAIzI,IAAM3C,EAAE,UAAS;AACrB,SAAAA,IAAK2C,KAAO,KAAKA,MAAQ,IAAKX,EAAYhC,CAAC,IAAIgC,EAAY,KAAKhC,CAAC,GAC1D4K,EAAI5K,EAAE,eAAc,IAAK,KAAOoL,GAAG,CAAC;AAC7C;AAEA,SAAS5C,KAAgB;AACvB,SAAO;AACT;AAEA,SAAS1B,KAAuB;AAC9B,SAAO;AACT;AAEA,SAASX,GAAoBnG,GAAG;AAC9B,SAAO,CAACA;AACV;AAEA,SAASoG,GAA2BpG,GAAG;AACrC,SAAO,KAAK,MAAM,CAACA,IAAI,GAAI;AAC7B;ACtrBA,IAAI6D,GACOwI;AAKXC,GAAc;AAAA,EACZ,UAAU;AAAA,EACV,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,CAAC,MAAM,IAAI;AAAA,EACpB,MAAM,CAAC,UAAU,UAAU,WAAW,aAAa,YAAY,UAAU,UAAU;AAAA,EACnF,WAAW,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;AAAA,EAC3D,QAAQ,CAAC,WAAW,YAAY,SAAS,SAAS,OAAO,QAAQ,QAAQ,UAAU,aAAa,WAAW,YAAY,UAAU;AAAA,EACjI,aAAa,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;AAClG,CAAC;AAEc,SAASA,GAAcC,GAAY;AAChD,SAAA1I,IAASD,GAAa2I,CAAU,GAChCF,KAAaxI,EAAO,QACRA,EAAO,OACPA,EAAO,WACRA,EAAO,UACXA;AACT;ACpBA,SAASvE,GAAKR,GAAG;AACf,SAAO,IAAI,KAAKA,CAAC;AACnB;AAEA,SAAS0N,GAAO1N,GAAG;AACjB,SAAOA,aAAa,OAAO,CAACA,IAAI,CAAC,oBAAI,KAAK,CAACA,CAAC;AAC9C;AAEO,SAAS2N,GAAS1J,GAAOE,GAAcT,GAAMC,GAAOC,GAAMC,GAAKC,GAAMC,GAAQnC,GAAQmK,GAAQ;AAClG,MAAI6B,IAAQC,GAAU,GAClBC,IAASF,EAAM,QACflO,IAASkO,EAAM,QAEfG,IAAoBhC,EAAO,KAAK,GAChCiC,IAAejC,EAAO,KAAK,GAC3BkC,IAAelC,EAAO,OAAO,GAC7BmC,IAAanC,EAAO,OAAO,GAC3BoC,KAAYpC,EAAO,OAAO,GAC1BqC,KAAarC,EAAO,OAAO,GAC3BvF,IAAcuF,EAAO,IAAI,GACzBlE,IAAakE,EAAO,IAAI;AAE5B,WAASsC,GAAW7N,GAAM;AACxB,YAAQoB,EAAOpB,CAAI,IAAIA,IAAOuN,IACxBhK,EAAOvD,CAAI,IAAIA,IAAOwN,IACtBlK,EAAKtD,CAAI,IAAIA,IAAOyN,IACpBpK,EAAIrD,CAAI,IAAIA,IAAO0N,IACnBvK,EAAMnD,CAAI,IAAIA,IAAQoD,EAAKpD,CAAI,IAAIA,IAAO2N,KAAYC,KACtD1K,EAAKlD,CAAI,IAAIA,IAAOgG,IACpBqB,GAAYrH,CAAI;AAAA,EACxB;AAEA,SAAAoN,EAAM,SAAS,SAAShJ,GAAG;AACzB,WAAO,IAAI,KAAKkJ,EAAOlJ,CAAC,CAAC;AAAA,EAC3B,GAEAgJ,EAAM,SAAS,SAASU,GAAG;AACzB,WAAO,UAAU,SAAS5O,EAAO,MAAM,KAAK4O,GAAGZ,EAAM,CAAC,IAAIhO,IAAS,IAAIc,EAAI;AAAA,EAC7E,GAEAoN,EAAM,QAAQ,SAASjO,GAAU;AAC/B,QAAIuB,IAAIxB,EAAM;AACd,WAAOuE,EAAM/C,EAAE,CAAC,GAAGA,EAAEA,EAAE,SAAS,CAAC,GAAGvB,KAAmB,EAAa;AAAA,EACtE,GAEAiO,EAAM,aAAa,SAAStN,GAAOmL,GAAW;AAC5C,WAAOA,KAAa,OAAO4C,KAAatC,EAAON,CAAS;AAAA,EAC1D,GAEAmC,EAAM,OAAO,SAASjO,GAAU;AAC9B,QAAIuB,IAAIxB,EAAM;AACd,YAAI,CAACC,KAAY,OAAOA,EAAS,SAAU,gBAAYA,IAAWwE,EAAajD,EAAE,CAAC,GAAGA,EAAEA,EAAE,SAAS,CAAC,GAAGvB,KAAmB,EAAa,IAC/HA,IAAWD,EAAOD,GAAKyB,GAAGvB,CAAQ,CAAC,IAAIiO;AAAA,EAChD,GAEAA,EAAM,OAAO,WAAW;AACtB,WAAOW,GAAKX,GAAOD,GAAS1J,GAAOE,GAAcT,GAAMC,GAAOC,GAAMC,GAAKC,GAAMC,GAAQnC,GAAQmK,CAAM,CAAC;AAAA,EACxG,GAEO6B;AACT;AAEe,SAASY,KAAO;AAC7B,SAAOC,GAAU,MAAMd,GAASpJ,IAAWC,IAAkBjB,GAAUF,IAAWqL,GAAUzM,GAASF,IAAUF,IAAY8M,GAAYpB,EAAU,EAAE,OAAO,CAAC,IAAI,KAAK,KAAM,GAAG,CAAC,GAAG,IAAI,KAAK,KAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS;AACpN;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
1
+ {"version":3,"file":"time-BUL-dwnK.js","sources":["../node_modules/d3-scale/src/nice.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js"],"sourcesContent":["export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n"],"names":["nice","domain","interval","i0","i1","x0","x1","t","t0","t1","timeInterval","floori","offseti","count","field","date","d0","d1","step","start","stop","range","previous","test","end","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","timeMinute","utcMinute","timeHour","utcHour","timeDay","utcDay","unixDay","timeWeekday","i","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","utcMonth","timeYear","utcYear","ticker","year","month","week","day","hour","minute","tickIntervals","ticks","reverse","tickInterval","target","bisector","tickStep","timeTicks","timeTickInterval","localDate","utcDate","newDate","y","m","formatLocale","locale","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","specifier","string","j","n","c","pad","format","pads","newParse","Z","parseSpecifier","parse","f","p","numberRe","percentRe","requoteRe","value","fill","width","sign","length","requote","s","names","name","dISO","z","dow","UTCdISO","timeFormat","defaultLocale","definition","number","calendar","scale","continuous","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","tickFormat","_","copy","time","initRange","timeWeek","timeSecond"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}