From 59eab637589603c232c96b94d598d4eb19aa1840 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 09:47:01 +0100 Subject: [PATCH 01/27] chore: simplify bail conditioin --- src/chart_types/partition_chart/layout/utils/treemap.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chart_types/partition_chart/layout/utils/treemap.ts b/src/chart_types/partition_chart/layout/utils/treemap.ts index 2b5dbb2969..4ef12c8a50 100644 --- a/src/chart_types/partition_chart/layout/utils/treemap.ts +++ b/src/chart_types/partition_chart/layout/utils/treemap.ts @@ -114,7 +114,7 @@ export function treemap( .concat( ...vector.map(({ node, x0, y0, x1, y1 }) => { const childrenNodes = entryValue(node)[CHILDREN_KEY]; - if (!childrenNodes || !childrenNodes.length) { + if (childrenNodes.length === 0) { return []; } const fullWidth = x1 - x0; From cfb07d7f0ec5bdaa019b44b92acf9c91cf747998 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 09:53:09 +0100 Subject: [PATCH 02/27] chore: no longer shadow variables in treemap --- .../partition_chart/layout/utils/treemap.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/chart_types/partition_chart/layout/utils/treemap.ts b/src/chart_types/partition_chart/layout/utils/treemap.ts index 4ef12c8a50..7bfc456c3b 100644 --- a/src/chart_types/partition_chart/layout/utils/treemap.ts +++ b/src/chart_types/partition_chart/layout/utils/treemap.ts @@ -101,14 +101,19 @@ export function treemap( areaAccessor: (e: ArrayEntry) => number, topPaddingAccessor: (e: ArrayEntry) => number, paddingAccessor: (e: ArrayEntry) => number, - { x0, y0, width, height }: { x0: number; y0: number; width: number; height: number }, + { + x0: outerX0, + y0: outerY0, + width: outerWidth, + height: outerHeight, + }: { x0: number; y0: number; width: number; height: number }, ): Array { if (nodes.length === 0) return []; // some bias toward horizontal rectangles with a golden ratio of width to height - const vertical = width / GOLDEN_RATIO <= height; - const independentSize = vertical ? width : height; + const vertical = outerWidth / GOLDEN_RATIO <= outerHeight; + const independentSize = vertical ? outerWidth : outerHeight; const vectorElements = bestVector(nodes, independentSize, areaAccessor); - const vector = vectorNodeCoordinates(vectorElements, x0, y0, vertical); + const vector = vectorNodeCoordinates(vectorElements, outerX0, outerY0, vertical); const { dependentSize } = vectorElements; return vector .concat( @@ -148,8 +153,8 @@ export function treemap( topPaddingAccessor, paddingAccessor, vertical - ? { x0, y0: y0 + dependentSize, width, height: height - dependentSize } - : { x0: x0 + dependentSize, y0, width: width - dependentSize, height }, + ? { x0: outerX0, y0: outerY0 + dependentSize, width: outerWidth, height: outerHeight - dependentSize } + : { x0: outerX0 + dependentSize, y0: outerY0, width: outerWidth - dependentSize, height: outerHeight }, ), ); } From c961de2cd8319e4f9a413ddd4b47efc6ea7a56dd Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 10:30:15 +0100 Subject: [PATCH 03/27] chore: solve remaining warnings --- .../partition_chart/layout/utils/group_by_rollup.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index 11a7d7a574..2e9e540064 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -99,7 +99,7 @@ export function groupByRollup( const statistics: Statistics = { globalAggregate: NaN, }; - const reductionMap = factTable.reduce((p: HierarchyOfMaps, n, index) => { + const reductionMap: HierarchyOfMaps = factTable.reduce((p: HierarchyOfMaps, n, index) => { const keyCount = keyAccessors.length; let pointer: HierarchyOfMaps = p; keyAccessors.forEach((keyAccessor, i) => { @@ -107,7 +107,7 @@ export function groupByRollup( const keyExists = pointer.has(key); const last = i === keyCount - 1; const node = keyExists && pointer.get(key); - const inputIndices = node ? node[INPUT_KEY] : []; + const inputIndices = node ? (node[INPUT_KEY] as number[]) : []; const childrenMap = node ? node[CHILDREN_KEY] : new Map(); const aggregate = node ? node[AGGREGATE_KEY] : identity(); const reductionValue = reducer(aggregate, valueAccessor(n)); @@ -141,8 +141,7 @@ function getRootArrayNode(): ArrayNode { [PATH_KEY]: [] as number[], }; Object.assign(bootstrap, { [PARENT_KEY]: bootstrap }); - const result: ArrayNode = bootstrap as ArrayNode; - return result; + return bootstrap as ArrayNode; } /** @internal */ @@ -178,6 +177,7 @@ export function mapsToArrays(root: HierarchyOfMaps, sorter: NodeSorter): Hierarc const tree = groupByMap(root, getRootArrayNode()); const buildPaths = ([, mapNode]: ArrayEntry, currentPath: number[]) => { const newPath = [...currentPath, mapNode[SORT_INDEX_KEY]]; + // eslint-disable-next-line no-param-reassign mapNode[PATH_KEY] = newPath; mapNode.children.forEach((entry) => buildPaths(entry, newPath)); }; From 4ebfc69c32d1d3a5806e60d91d3b0533d6ab694b Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 10:33:24 +0100 Subject: [PATCH 04/27] chore: narrowing the childrenMap type --- src/chart_types/partition_chart/layout/utils/group_by_rollup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index 2e9e540064..0ecc0f7264 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -108,7 +108,7 @@ export function groupByRollup( const last = i === keyCount - 1; const node = keyExists && pointer.get(key); const inputIndices = node ? (node[INPUT_KEY] as number[]) : []; - const childrenMap = node ? node[CHILDREN_KEY] : new Map(); + const childrenMap: HierarchyOfMaps = (node ? node[CHILDREN_KEY] : new Map()) as HierarchyOfMaps; const aggregate = node ? node[AGGREGATE_KEY] : identity(); const reductionValue = reducer(aggregate, valueAccessor(n)); pointer.set(key, { From fc839b284db56f032ddc6de9b7752aada58d88d4 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 11:04:49 +0100 Subject: [PATCH 05/27] chore: eliminate sunburst lint warnings too --- src/chart_types/partition_chart/layout/utils/sunburst.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/chart_types/partition_chart/layout/utils/sunburst.ts b/src/chart_types/partition_chart/layout/utils/sunburst.ts index fc4415410c..50d62a4e37 100644 --- a/src/chart_types/partition_chart/layout/utils/sunburst.ts +++ b/src/chart_types/partition_chart/layout/utils/sunburst.ts @@ -22,9 +22,9 @@ import { ArrayEntry, childrenAccessor, HierarchyOfArrays } from './group_by_roll /** @internal */ export function sunburst( - nodes: HierarchyOfArrays, + outerNodes: HierarchyOfArrays, areaAccessor: (e: ArrayEntry) => number, - { x0, y0 }: Origin, + { x0: outerX0, y0: outerY0 }: Origin, clockwiseSectors: boolean, specialFirstInnermostSector: boolean, ): Array { @@ -38,12 +38,12 @@ export function sunburst( const area = areaAccessor(node); result.push({ node, x0: currentOffsetX, y0, x1: currentOffsetX + area, y1: y0 + 1 }); const children = childrenAccessor(node); - if (children && children.length) { + if (children.length > 0) { laySubtree(children, { x0: currentOffsetX, y0: y0 + 1 }, depth + 1); } currentOffsetX += area; } }; - laySubtree(nodes, { x0, y0 }, 0); + laySubtree(outerNodes, { x0: outerX0, y0: outerY0 }, 0); return result; } From f0107ed89f774d7056b75d472183a35dd9548ac0 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 11:45:21 +0100 Subject: [PATCH 06/27] chore: name the closure --- src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index a11b244fa2..fc0d4226ef 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -150,7 +150,7 @@ export interface RectangleConstruction { } function rectangleConstruction(treeHeight: number, topGroove: number) { - return function(node: ShapeTreeNode): RectangleConstruction { + return function rectangleConstructionClosure(node: ShapeTreeNode): RectangleConstruction { return node.depth < treeHeight ? { x0: node.x0, From 81132d39affb1ed806adb878f36336f1dc4554d8 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 12:46:41 +0100 Subject: [PATCH 07/27] refactor: extract out the logic specific for sunburst vs treemap layouting --- .../layout/viewmodel/viewmodel.ts | 61 ++++++++++++++----- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index fc0d4226ef..93223b6bb9 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -167,6 +167,41 @@ function rectangleConstruction(treeHeight: number, topGroove: number) { }; } +const rawChildNodes = ( + partitionLayout: PartitionLayout, + tree: HierarchyOfArrays, + topGroove: number, + width: number, + height: number, + clockwiseSectors: boolean, + specialFirstInnermostSector: boolean, +): Array => { + const totalValue = tree.reduce((p: number, n: ArrayEntry): number => p + mapEntryValue(n), 0); + switch (partitionLayout) { + case PartitionLayout.sunburst: + const sunburstValueToAreaScale = TAU / totalValue; + const sunburstAreaAccessor = (e: ArrayEntry) => sunburstValueToAreaScale * mapEntryValue(e); + return sunburst(tree, sunburstAreaAccessor, { x0: 0, y0: -1 }, clockwiseSectors, specialFirstInnermostSector); + + case PartitionLayout.treemap: + const treemapInnerArea = partitionLayout === PartitionLayout.treemap ? width * height : 1; // assuming 1 x 1 unit square + const treemapValueToAreaScale = treemapInnerArea / totalValue; + const treemapAreaAccessor = (e: ArrayEntry) => treemapValueToAreaScale * mapEntryValue(e); + return treemap(tree, treemapAreaAccessor, topGrooveAccessor(topGroove), grooveAccessor, { + x0: -width / 2, + y0: -height / 2, + width, + height, + }); + + default: + // Let's ensure TS complains if we add a new PartitionLayout type in the future without creating a `case` for it + // Hopefully, a future TS version will do away with the need for this boilerplate `default`. Now TS even needs a `default` even if all possible cases are covered. + // Even in runtime it does something sensible (returns the empty set); explicit throwing is avoided as it can deopt the function + return ((layout: never) => layout || [])(partitionLayout); + } +}; + /** @internal */ export function shapeViewModel( textMeasure: TextMeasure, @@ -207,25 +242,19 @@ export function shapeViewModel( return nullShapeViewModel(config, diskCenter); } - const totalValue = tree.reduce((p: number, n: ArrayEntry): number => p + mapEntryValue(n), 0); - - const sunburstValueToAreaScale = TAU / totalValue; - const sunburstAreaAccessor = (e: ArrayEntry) => sunburstValueToAreaScale * mapEntryValue(e); const treemapLayout = partitionLayout === PartitionLayout.treemap; - const treemapInnerArea = treemapLayout ? width * height : 1; // assuming 1 x 1 unit square - const treemapValueToAreaScale = treemapInnerArea / totalValue; - const treemapAreaAccessor = (e: ArrayEntry) => treemapValueToAreaScale * mapEntryValue(e); - const rawChildNodes: Array = treemapLayout - ? treemap(tree, treemapAreaAccessor, topGrooveAccessor(topGroove), grooveAccessor, { - x0: -width / 2, - y0: -height / 2, - width, - height, - }) - : sunburst(tree, sunburstAreaAccessor, { x0: 0, y0: -1 }, clockwiseSectors, specialFirstInnermostSector); + const childNodes = rawChildNodes( + partitionLayout, + tree, + topGroove, + width, + height, + clockwiseSectors, + specialFirstInnermostSector, + ); - const shownChildNodes = rawChildNodes.filter((n: Part) => { + const shownChildNodes = childNodes.filter((n: Part) => { const layerIndex = entryValue(n.node).depth - 1; const layer = layers[layerIndex]; return !layer || !layer.showAccessor || layer.showAccessor(entryKey(n.node)); From 329d618b1c97badbdb5533b74f664da041e1ec05 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 6 Jan 2021 23:26:39 +0100 Subject: [PATCH 08/27] feat: icicle chart --- .eslintrc.js | 2 +- .playground/playground.tsx | 33 +---- .../layout/types/config_types.ts | 2 + .../layout/utils/group_by_rollup.ts | 26 ++-- .../partition_chart/layout/utils/sunburst.ts | 5 +- .../layout/viewmodel/hierarchy_of_arrays.ts | 4 +- .../layout/viewmodel/viewmodel.ts | 82 ++++++++---- .../renderer/canvas/canvas_renderers.ts | 6 +- .../renderer/dom/highlighter.tsx | 27 +--- .../partition_chart/state/selectors/tree.ts | 15 ++- src/mocks/hierarchical/index.ts | 2 + src/mocks/hierarchical/observability_tree.ts | 27 ++++ stories/icicle/01_unix.tsx | 108 +++++++++++++++ stories/icicle/icicle.stories.tsx | 29 +++++ stories/sunburst/27_heterogeneous_depth.tsx | 2 +- stories/utils/utils.ts | 123 +++++++++++++++++- 16 files changed, 394 insertions(+), 99 deletions(-) create mode 100644 src/mocks/hierarchical/observability_tree.ts create mode 100644 stories/icicle/01_unix.tsx create mode 100644 stories/icicle/icicle.stories.tsx diff --git a/.eslintrc.js b/.eslintrc.js index 82e4eeeefa..f2e6642a39 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -334,7 +334,7 @@ module.exports = { 'prefer-destructuring': [ 'warn', { - array: true, + array: false, object: true, }, { diff --git a/.playground/playground.tsx b/.playground/playground.tsx index 13036f2204..8d083aa881 100644 --- a/.playground/playground.tsx +++ b/.playground/playground.tsx @@ -38,39 +38,10 @@ import React from 'react'; -import { Chart, Settings, Partition, PartitionLayout } from '../src'; +import { Example } from '../stories/icicle/01_unix'; export class Playground extends React.Component { render() { - return ( -
- - - d.val as number} - layers={[ - { - groupByRollup: (d: any) => d.cat1, - }, - { - groupByRollup: (d: any) => d.cat2, - }, - ]} - config={{ - partitionLayout: PartitionLayout.sunburst, - }} - /> - -
- ); + return ; } } diff --git a/src/chart_types/partition_chart/layout/types/config_types.ts b/src/chart_types/partition_chart/layout/types/config_types.ts index ec5d77d8e8..116962a4d8 100644 --- a/src/chart_types/partition_chart/layout/types/config_types.ts +++ b/src/chart_types/partition_chart/layout/types/config_types.ts @@ -27,6 +27,8 @@ import { Font, FontFamily, PartialFont } from './types'; export const PartitionLayout = Object.freeze({ sunburst: 'sunburst' as const, treemap: 'treemap' as const, + icicle: 'icicle' as const, + flame: 'flame' as const, }); /** @public */ diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index 0ecc0f7264..d90e69eb8b 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -57,7 +57,10 @@ interface MapNode extends NodeDescriptor { export type PrimitiveValue = string | number | null; // there could be more but sufficient for now type Key = PrimitiveValue; -type Sorter = (a: number, b: number) => number; + +/** @internal */ +export type Sorter = (a: number, b: number) => number; + type NodeSorter = (a: ArrayEntry, b: ArrayEntry) => number; export const entryKey = ([key]: ArrayEntry) => key; @@ -145,9 +148,9 @@ function getRootArrayNode(): ArrayNode { } /** @internal */ -export function mapsToArrays(root: HierarchyOfMaps, sorter: NodeSorter): HierarchyOfArrays { - const groupByMap = (node: HierarchyOfMaps, parent: ArrayNode) => - Array.from( +export function mapsToArrays(root: HierarchyOfMaps, sorter: NodeSorter | null): HierarchyOfArrays { + const groupByMap = (node: HierarchyOfMaps, parent: ArrayNode) => { + const items = Array.from( node, ([key, value]: [Key, MapNode]): ArrayEntry => { const valueElement = value[CHILDREN_KEY]; @@ -168,12 +171,15 @@ export function mapsToArrays(root: HierarchyOfMaps, sorter: NodeSorter): Hierarc ); return [key, newValue]; }, - ) - .sort(sorter) - .map((n: ArrayEntry, i) => { - entryValue(n).sortIndex = i; - return n; - }); // with the current algo, decreasing order is important + ); + if (sorter !== null) { + items.sort(sorter); + } + return items.map((n: ArrayEntry, i) => { + entryValue(n).sortIndex = i; + return n; + }); + }; // with the current algo, decreasing order is important const tree = groupByMap(root, getRootArrayNode()); const buildPaths = ([, mapNode]: ArrayEntry, currentPath: number[]) => { const newPath = [...currentPath, mapNode[SORT_INDEX_KEY]]; diff --git a/src/chart_types/partition_chart/layout/utils/sunburst.ts b/src/chart_types/partition_chart/layout/utils/sunburst.ts index 50d62a4e37..911f8c4e0c 100644 --- a/src/chart_types/partition_chart/layout/utils/sunburst.ts +++ b/src/chart_types/partition_chart/layout/utils/sunburst.ts @@ -27,6 +27,7 @@ export function sunburst( { x0: outerX0, y0: outerY0 }: Origin, clockwiseSectors: boolean, specialFirstInnermostSector: boolean, + heightStep: number = 1, ): Array { const result: Array = []; const laySubtree = (nodes: HierarchyOfArrays, { x0, y0 }: Origin, depth: number) => { @@ -36,10 +37,10 @@ export function sunburst( const index = clockwiseSectors ? i : nodeCount - i - 1; const node = nodes[depth === 1 && specialFirstInnermostSector ? (index + 1) % nodeCount : index]; const area = areaAccessor(node); - result.push({ node, x0: currentOffsetX, y0, x1: currentOffsetX + area, y1: y0 + 1 }); + result.push({ node, x0: currentOffsetX, y0, x1: currentOffsetX + area, y1: y0 + heightStep }); const children = childrenAccessor(node); if (children.length > 0) { - laySubtree(children, { x0: currentOffsetX, y0: y0 + 1 }, depth + 1); + laySubtree(children, { x0: currentOffsetX, y0: y0 + heightStep }, depth + 1); } currentOffsetX += area; } diff --git a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts index 919dbaa61b..5514e931c0 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/hierarchy_of_arrays.ts @@ -28,12 +28,14 @@ import { groupByRollup, mapEntryValue, mapsToArrays, + Sorter, } from '../utils/group_by_rollup'; export function getHierarchyOfArrays( rawFacts: Relation, valueAccessor: ValueAccessor, groupByRollupAccessors: IndexedAccessorFn[], + sorter: Sorter | null = childOrders.descending, ): HierarchyOfArrays { const aggregator = aggregators.sum; @@ -52,6 +54,6 @@ export function getHierarchyOfArrays( // size as data value vs size as number of pixels in the rectangle return mapsToArrays( groupByRollup(groupByRollupAccessors, valueAccessor, aggregator, facts), - aggregateComparator(mapEntryValue, childOrders.descending), + sorter && aggregateComparator(mapEntryValue, sorter), ); } diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index 93223b6bb9..d90fc2dfd3 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -149,9 +149,9 @@ export interface RectangleConstruction { y1: Pixels; } -function rectangleConstruction(treeHeight: number, topGroove: number) { +function rectangleConstruction(treeHeight: number, topGroove: number | null) { return function rectangleConstructionClosure(node: ShapeTreeNode): RectangleConstruction { - return node.depth < treeHeight + return node.depth < treeHeight && topGroove ? { x0: node.x0, y0: node.y0px, @@ -175,6 +175,7 @@ const rawChildNodes = ( height: number, clockwiseSectors: boolean, specialFirstInnermostSector: boolean, + maxDepth: number, ): Array => { const totalValue = tree.reduce((p: number, n: ArrayEntry): number => p + mapEntryValue(n), 0); switch (partitionLayout) { @@ -194,6 +195,32 @@ const rawChildNodes = ( height, }); + case PartitionLayout.icicle: + const icicleValueToAreaScale = width / totalValue; + const icicleAreaAccessor = (e: ArrayEntry) => icicleValueToAreaScale * mapEntryValue(e); + const rowHeight = height / maxDepth; + return sunburst( + tree, + icicleAreaAccessor, + { x0: -width / 2, y0: -height / 2 - rowHeight }, + true, + false, + height / maxDepth, + ); + + case PartitionLayout.flame: + const flameValueToAreaScale = width / totalValue; + const flameAreaAccessor = (e: ArrayEntry) => flameValueToAreaScale * mapEntryValue(e); + const flameRowHeight = height / maxDepth; + return sunburst( + tree, + flameAreaAccessor, + { x0: -width / 2, y0: -height / 2 - flameRowHeight }, + true, + false, + height / maxDepth, + ); + default: // Let's ensure TS complains if we add a new PartitionLayout type in the future without creating a `case` for it // Hopefully, a future TS version will do away with the need for this boilerplate `default`. Now TS even needs a `default` even if all possible cases are covered. @@ -243,7 +270,12 @@ export function shapeViewModel( } const treemapLayout = partitionLayout === PartitionLayout.treemap; - + const sunburstLayout = partitionLayout === PartitionLayout.sunburst; + const icicleLayout = partitionLayout === PartitionLayout.icicle; + const flameLayout = partitionLayout === PartitionLayout.flame; + const longestPath = ([, { children, path }]: ArrayEntry): number => + children.length > 0 ? children.reduce((p, n) => Math.max(p, longestPath(n)), 0) : path.length; + const maxDepth = longestPath(tree[0]); const childNodes = rawChildNodes( partitionLayout, tree, @@ -252,6 +284,7 @@ export function shapeViewModel( height, clockwiseSectors, specialFirstInnermostSector, + maxDepth, ); const shownChildNodes = childNodes.filter((n: Part) => { @@ -266,7 +299,7 @@ export function shapeViewModel( const innerRadius: Radius = outerRadius - (1 - emptySizeRatio) * outerRadius; const treeHeight = shownChildNodes.reduce((p: number, n: Part) => Math.max(p, entryValue(n.node).depth), 0); // 1: pie, 2: two-ring donut etc. const ringThickness = (outerRadius - innerRadius) / treeHeight; - const partToShapeFn = partToShapeTreeNode(treemapLayout, innerRadius, ringThickness); + const partToShapeFn = partToShapeTreeNode(!sunburstLayout, innerRadius, ringThickness); const quadViewModel = makeQuadViewModel( shownChildNodes.slice(1).map(partToShapeFn), layers, @@ -277,31 +310,34 @@ export function shapeViewModel( // fill text const roomCondition = (n: ShapeTreeNode) => { const diff = n.x1 - n.x0; - return treemapLayout + return treemapLayout || icicleLayout || flameLayout ? n.x1 - n.x0 > minFontSize && n.y1px - n.y0px > minFontSize : (diff < 0 ? TAU + diff : diff) * ringSectorMiddleRadius(n) > Math.max(minFontSize, linkLabel.maximumSection); }; const nodesWithRoom = quadViewModel.filter(roomCondition); - const outsideFillNodes = fillOutside && !treemapLayout ? nodesWithRoom : []; + const outsideFillNodes = fillOutside && !treemapLayout && !icicleLayout && !flameLayout ? nodesWithRoom : []; - const textFillOrigins = nodesWithRoom.map(treemapLayout ? rectangleFillOrigins : sectorFillOrigins(fillOutside)); + const textFillOrigins = nodesWithRoom.map( + treemapLayout || icicleLayout || flameLayout ? rectangleFillOrigins : sectorFillOrigins(fillOutside), + ); const valueFormatter = valueGetter === percentValueGetter ? specifiedPercentFormatter : specifiedValueFormatter; - const getRowSets = treemapLayout - ? fillTextLayout( - rectangleConstruction(treeHeight, topGroove), - getRectangleRowGeometry, - () => 0, - containerBackgroundColor, - ) - : fillTextLayout( - ringSectorConstruction(config, innerRadius, ringThickness), - getSectorRowGeometry, - inSectorRotation(config.horizontalTextEnforcer, config.horizontalTextAngleThreshold), - containerBackgroundColor, - ); + const getRowSets = + treemapLayout || icicleLayout || flameLayout + ? fillTextLayout( + rectangleConstruction(treeHeight, treemapLayout ? topGroove : null), + getRectangleRowGeometry, + () => 0, + containerBackgroundColor, + ) + : fillTextLayout( + ringSectorConstruction(config, innerRadius, ringThickness), + getSectorRowGeometry, + inSectorRotation(config.horizontalTextEnforcer, config.horizontalTextAngleThreshold), + containerBackgroundColor, + ); const rowSets: RowSet[] = getRowSets( textMeasure, @@ -312,7 +348,7 @@ export function shapeViewModel( config, layers, textFillOrigins, - treemapLayout, + !sunburstLayout, !treemapLayout, ); @@ -323,7 +359,7 @@ export function shapeViewModel( const currentY = [-height, -height, -height, -height]; const nodesWithoutRoom = - fillOutside || treemapLayout + fillOutside || treemapLayout || icicleLayout || flameLayout ? [] // outsideFillNodes and linkLabels are in inherent conflict due to very likely overlaps : quadViewModel.filter((n: ShapeTreeNode) => { const id = nodeId(n); @@ -350,7 +386,7 @@ export function shapeViewModel( const pickQuads: PickFunction = (x, y) => quadViewModel.filter( - treemapLayout + treemapLayout || icicleLayout || flameLayout ? ({ x0, y0, x1, y1 }) => x0 <= x && x <= x1 && y0 <= y && y <= y1 : ({ x0, y0px, x1, y1px }) => { const angleX = (Math.atan2(y, x) + TAU / 4 + TAU) % TAU; diff --git a/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts b/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts index 6834206f51..65cfd16089 100644 --- a/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts +++ b/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts @@ -266,9 +266,9 @@ export function renderPartitionCanvas2d( // bottom layer: sectors (pie slices, ring sectors etc.) (ctx: CanvasRenderingContext2D) => - config.partitionLayout === PartitionLayout.treemap - ? renderRectangles(ctx, quadViewModel) - : renderSectors(ctx, quadViewModel), + config.partitionLayout === PartitionLayout.sunburst + ? renderSectors(ctx, quadViewModel) + : renderRectangles(ctx, quadViewModel), // all the fill-based, potentially multirow text, whether inside or outside the sector (ctx: CanvasRenderingContext2D) => renderRowSets(ctx, rowSets, linkLineColor), diff --git a/src/chart_types/partition_chart/renderer/dom/highlighter.tsx b/src/chart_types/partition_chart/renderer/dom/highlighter.tsx index c94f4a273c..b630347536 100644 --- a/src/chart_types/partition_chart/renderer/dom/highlighter.tsx +++ b/src/chart_types/partition_chart/renderer/dom/highlighter.tsx @@ -97,26 +97,13 @@ function renderSector(geometry: QuadViewModel, key: string, style: SVGStyle) { return ; } -function renderGeometries(geometries: QuadViewModel[], partitionLayout: PartitionLayout, style: SVGStyle) { - let maxDepth = -1; +function renderGeometries(geoms: QuadViewModel[], partitionLayout: PartitionLayout, style: SVGStyle) { + const maxDepth = geoms.reduce((acc, geom) => Math.max(acc, geom.depth), 0); // we should render only the deepest geometries of the tree to avoid overlaying highlighted geometries - if (partitionLayout === PartitionLayout.treemap) { - maxDepth = geometries.reduce((acc, geom) => Math.max(acc, geom.depth), 0); - } - return geometries - .filter((geometry) => { - if (maxDepth !== -1) { - return geometry.depth >= maxDepth; - } - return true; - }) - .map((geometry, index) => { - if (partitionLayout === PartitionLayout.sunburst) { - return renderSector(geometry, `${index}`, style); - } - - return renderRectangles(geometry, `${index}`, style); - }); + const highlightedGeoms = + partitionLayout === PartitionLayout.treemap ? geoms.filter((g) => g.depth >= maxDepth) : geoms; + const renderGeom = partitionLayout === PartitionLayout.sunburst ? renderSector : renderRectangles; + return highlightedGeoms.map((geometry, index) => renderGeom(geometry, `${index}`, style)); } /** @internal */ @@ -152,7 +139,7 @@ export class HighlighterComponent extends React.Component { className="echHighlighter__mask" /> )} - {partitionLayout === PartitionLayout.treemap && ( + {partitionLayout !== PartitionLayout.sunburst && ( )} diff --git a/src/chart_types/partition_chart/state/selectors/tree.ts b/src/chart_types/partition_chart/state/selectors/tree.ts index e8c0f76d02..2882218b8e 100644 --- a/src/chart_types/partition_chart/state/selectors/tree.ts +++ b/src/chart_types/partition_chart/state/selectors/tree.ts @@ -20,10 +20,11 @@ import createCachedSelector from 're-reselect'; import { ChartTypes } from '../../..'; -import { SpecTypes } from '../../../../specs/constants'; +import { SpecTypes } from '../../../../specs'; import { GlobalChartState } from '../../../../state/chart_state'; import { getSpecsFromStore } from '../../../../state/utils'; -import { HierarchyOfArrays } from '../../layout/utils/group_by_rollup'; +import { PartitionLayout } from '../../layout/types/config_types'; +import { childOrders, HierarchyOfArrays } from '../../layout/utils/group_by_rollup'; import { getHierarchyOfArrays } from '../../layout/viewmodel/hierarchy_of_arrays'; import { PartitionSpec } from '../../specs'; @@ -38,6 +39,14 @@ export const getTree = createCachedSelector( return []; } const { data, valueAccessor, layers } = pieSpecs[0]; - return getHierarchyOfArrays(data, valueAccessor, [() => null, ...layers.map(({ groupByRollup }) => groupByRollup)]); + const layout = pieSpecs[0].config.partitionLayout; + const sorter = + layout === PartitionLayout.treemap || layout === PartitionLayout.sunburst ? childOrders.descending : null; + return getHierarchyOfArrays( + data, + valueAccessor, + [() => null, ...layers.map(({ groupByRollup }) => groupByRollup)], + sorter, + ); }, )((state) => state.chartId); diff --git a/src/mocks/hierarchical/index.ts b/src/mocks/hierarchical/index.ts index dbd0d18fe7..ae729fd636 100644 --- a/src/mocks/hierarchical/index.ts +++ b/src/mocks/hierarchical/index.ts @@ -19,6 +19,7 @@ import { manyPieMock } from './many_pie'; import { miniSunburstMock } from './mini_sunburst'; +import { observabilityTreeMock } from './observability_tree'; import { pieMock } from './pie'; import { sunburstMock } from './sunburst'; @@ -27,4 +28,5 @@ export const mocks = { sunburst: sunburstMock, miniSunburst: miniSunburstMock, manyPie: manyPieMock, + observabilityTree: observabilityTreeMock, }; diff --git a/src/mocks/hierarchical/observability_tree.ts b/src/mocks/hierarchical/observability_tree.ts new file mode 100644 index 0000000000..6d415a5302 --- /dev/null +++ b/src/mocks/hierarchical/observability_tree.ts @@ -0,0 +1,27 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the 'License'); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +// source of data: Martin Spier's https://github.com/spiermar/d3-flame-graph + +// The below four(!) lines are necessary because it's wasteful to pretty print raw data and one exemption (linter error suppression) requires another +// eslint-disable-next-line eslint-comments/disable-enable-pair +/* eslint-disable header/header */ +// prettier-ignore +// eslint-disable-next-line @typescript-eslint/comma-spacing +export const observabilityTreeMock = {c:[{n:'genunix`syscall_mstate',v:89},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`page_lookup_create',v:1}],n:'unix`page_lookup',v:1}],n:'ufs`ufs_getpage',v:1}],n:'genunix`fop_getpage',v:1},{c:[{c:[{c:[{c:[{c:[{n:'genunix`pvn_plist_init',v:1},{n:'unix`lgrp_mem_choose',v:1},{c:[{c:[{c:[{n:'unix`mutex_enter',v:1}],n:'unix`page_get_mnode_freelist',v:1}],n:'unix`page_get_freelist',v:1}],n:'unix`page_create_va',v:1},{c:[{n:'unix`page_lookup_create',v:1}],n:'unix`page_lookup',v:1}],n:'genunix`swap_getapage',v:4}],n:'genunix`swap_getpage',v:4}],n:'genunix`fop_getpage',v:4},{c:[{c:[{n:'unix`hwblkclr',v:3}],n:'unix`pfnzero',v:3}],n:'unix`pagezero',v:3}],n:'genunix`anon_zero',v:7}],n:'genunix`segvn_faultpage',v:7},{n:'ufs`ufs_getpage',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`hment_compare',v:1}],n:'genunix`avl_find',v:1}],n:'genunix`avl_add',v:1}],n:'unix`hment_insert',v:2}],n:'unix`hment_assign',v:2}],n:'unix`hati_pte_map',v:2}],n:'unix`hati_load_common',v:2}],n:'unix`hat_memload',v:2}],n:'unix`hat_memload_region',v:2}],n:'genunix`segvn_fault',v:11}],n:'genunix`as_fault',v:12},{n:'genunix`segvn_fault',v:1}],n:'unix`pagefault',v:13}],n:'unix`trap',v:13}],n:'unix`0xfffffffffb8001d6',v:13},{n:'unix`0xfffffffffb800c7c',v:42},{n:'unix`0xfffffffffb800c81',v:2},{c:[{n:'genunix`gethrtime_unscaled',v:4},{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:11},{n:'unix`tsc_read',v:186}],n:'genunix`gethrtime_unscaled',v:203},{n:'unix`tsc_gethrtimeunscaled',v:13}],n:'genunix`syscall_mstate',v:355},{n:'unix`atomic_add_64',v:110}],n:'unix`0xfffffffffb800c86',v:472},{c:[{n:'genunix`audit_getstate',v:27},{n:'genunix`clear_stale_fd',v:10},{n:'genunix`disp_lock_exit',v:27},{c:[{n:'FSS`fss_preempt',v:1},{n:'genunix`audit_getstate',v:15},{n:'genunix`clear_stale_fd',v:44},{c:[{n:'unix`clear_int_flag',v:39},{n:'unix`do_splx',v:1993},{c:[{c:[{c:[{n:'unix`do_splx',v:1}],n:'genunix`disp_lock_exit_nopreempt',v:1}],n:'unix`preempt',v:1}],n:'unix`kpreempt',v:1}],n:'genunix`disp_lock_exit',v:2096},{n:'genunix`sigcheck',v:1},{c:[{n:'unix`clear_int_flag',v:180},{n:'unix`splr',v:400}],n:'genunix`thread_lock',v:670},{n:'unix`do_splx',v:31},{n:'unix`i_ddi_splhigh',v:23},{n:'unix`lock_clear_splx',v:28},{n:'unix`lock_try',v:778},{n:'unix`lwp_getdatamodel',v:6},{c:[{c:[{c:[{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:1}],n:'genunix`mstate_thread_onproc_time',v:1}],n:'unix`caps_charge_adjust',v:1}],n:'unix`cpucaps_charge',v:3},{c:[{n:'unix`cmt_balance',v:1},{c:[{n:'unix`bitset_in_set',v:1}],n:'unix`cpu_wakeup_mwait',v:1}],n:'unix`setbackdq',v:5}],n:'FSS`fss_preempt',v:8},{n:'unix`do_splx',v:1},{c:[{n:'genunix`disp_lock_exit_high',v:1},{c:[{n:'unix`membar_enter',v:1}],n:'unix`disp',v:1},{n:'unix`do_splx',v:1},{c:[{c:[{n:'genunix`schedctl_save',v:1}],n:'genunix`savectx',v:2}],n:'unix`resume',v:2}],n:'unix`swtch',v:5}],n:'unix`preempt',v:14},{n:'unix`prunstop',v:36},{n:'unix`splr',v:92},{n:'unix`splx',v:6}],n:'genunix`post_syscall',v:4245},{n:'genunix`thread_lock',v:33},{n:'unix`lwp_getdatamodel',v:3},{n:'unix`prunstop',v:2}],n:'unix`0xfffffffffb800c91',v:4361},{c:[{n:'genunix`gethrtime_unscaled',v:7},{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:17},{n:'unix`tsc_read',v:160}],n:'genunix`gethrtime_unscaled',v:182},{n:'unix`tsc_gethrtimeunscaled',v:12}],n:'genunix`syscall_mstate',v:412},{n:'unix`atomic_add_64',v:95}],n:'unix`0xfffffffffb800ca0',v:517},{n:'unix`_sys_rtt',v:6},{c:[{c:[{c:[{c:[{c:[{c:[{n:'genunix`cpu_decay',v:1}],n:'genunix`cpu_grow',v:1}],n:'genunix`cpu_update_pct',v:1}],n:'genunix`new_mstate',v:1}],n:'unix`trap',v:1}],n:'unix`sys_rtt_common',v:1}],n:'unix`_sys_rtt_ints_disabled',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'doorfs`door_close',v:1}],n:'namefs`nm_close',v:1}],n:'genunix`fop_close',v:1}],n:'genunix`closef',v:1}],n:'genunix`close_exec',v:1}],n:'genunix`exec_common',v:1}],n:'genunix`exece',v:1}],n:'unix`_sys_sysenter_post_swapgs',v:1},{c:[{n:'genunix`gethrtime_unscaled',v:11},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`mtype_func',v:1},{n:'unix`mutex_enter',v:1}],n:'unix`page_get_mnode_freelist',v:2}],n:'unix`page_get_freelist',v:2}],n:'unix`page_create_va',v:3}],n:'genunix`pvn_read_kluster',v:3}],n:'ufs`ufs_getpage_ra',v:3}],n:'ufs`ufs_getpage',v:3}],n:'genunix`fop_getpage',v:3}],n:'genunix`segvn_faulta',v:3}],n:'genunix`as_faulta',v:3}],n:'genunix`memcntl',v:3},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`htable_lookup',v:1}],n:'unix`htable_walk',v:1}],n:'unix`hat_unload_callback',v:1}],n:'genunix`segvn_unmap',v:1}],n:'genunix`as_unmap',v:1}],n:'unix`mmapobj_map_elf',v:1}],n:'unix`mmapobj_map_interpret',v:1}],n:'unix`mmapobj',v:1}],n:'genunix`mmapobjsys',v:1},{c:[{n:'genunix`copen',v:7},{c:[{n:'genunix`audit_getstate',v:62},{c:[{n:'genunix`audit_falloc',v:8},{c:[{c:[{c:[{c:[{c:[{n:'unix`swtch',v:1}],n:'unix`preempt',v:1}],n:'unix`kpreempt',v:1}],n:'unix`sys_rtt_common',v:1}],n:'unix`_sys_rtt_ints_disabled',v:1}],n:'genunix`audit_getstate',v:66},{n:'genunix`audit_unfalloc',v:32},{n:'genunix`crfree',v:9},{n:'genunix`crhold',v:5},{n:'genunix`cv_broadcast',v:16},{c:[{c:[{n:'genunix`kmem_cache_alloc',v:11},{c:[{n:'genunix`kmem_cache_alloc',v:66},{n:'unix`mutex_enter',v:122},{n:'unix`mutex_exit',v:46}],n:'genunix`kmem_zalloc',v:280},{n:'unix`bzero',v:8}],n:'genunix`audit_falloc',v:313},{n:'genunix`crhold',v:11},{n:'genunix`kmem_cache_alloc',v:49},{n:'genunix`kmem_zalloc',v:13},{c:[{n:'genunix`fd_find',v:13},{n:'genunix`fd_reserve',v:9},{c:[{n:'genunix`fd_find',v:161},{n:'genunix`fd_reserve',v:15}],n:'genunix`ufalloc_file',v:294},{n:'unix`mutex_enter',v:197},{n:'unix`mutex_exit',v:29}],n:'genunix`ufalloc',v:551},{n:'genunix`ufalloc_file',v:20},{n:'unix`atomic_add_32',v:134},{n:'unix`mutex_enter',v:99},{n:'unix`mutex_exit',v:58}],n:'genunix`falloc',v:1363},{n:'genunix`fd_reserve',v:8},{n:'genunix`kmem_cache_alloc',v:9},{n:'genunix`kmem_cache_free',v:5},{n:'genunix`lookupnameat',v:69},{n:'genunix`set_errno',v:24},{c:[{n:'genunix`audit_getstate',v:31},{n:'genunix`cv_broadcast',v:25},{n:'genunix`fd_reserve',v:35}],n:'genunix`setf',v:187},{n:'genunix`ufalloc',v:10},{c:[{c:[{n:'genunix`kmem_cache_free',v:5},{c:[{n:'genunix`kmem_cache_free',v:73},{n:'unix`mutex_enter',v:111},{n:'unix`mutex_exit',v:55}],n:'genunix`kmem_free',v:288}],n:'genunix`audit_unfalloc',v:340},{n:'genunix`crfree',v:13},{n:'genunix`kmem_cache_free',v:51},{n:'genunix`kmem_free',v:11},{n:'unix`atomic_add_32_nv',v:100},{n:'unix`mutex_enter',v:97},{n:'unix`mutex_exit',v:56}],n:'genunix`unfalloc',v:729},{c:[{c:[{c:[{c:[{n:'genunix`audit_getstate',v:16},{n:'genunix`fop_lookup',v:55},{c:[{n:'genunix`audit_getstate',v:21},{n:'genunix`crgetmapped',v:55},{n:'genunix`fop_inactive',v:39},{c:[{n:'genunix`crgetmapped',v:57},{n:'genunix`dnlc_lookup',v:26},{n:'genunix`fop_lookup',v:85},{n:'genunix`kmem_alloc',v:73},{n:'genunix`traverse',v:30},{n:'genunix`vfs_matchops',v:28},{c:[{c:[{n:'genunix`kmem_cache_alloc',v:241},{n:'unix`mutex_enter',v:366},{n:'unix`mutex_exit',v:149}],n:'genunix`kmem_alloc',v:934},{n:'genunix`kmem_cache_alloc',v:32}],n:'genunix`vn_setpath',v:1969},{c:[{n:'genunix`crgetmapped',v:36},{c:[{n:'genunix`crgetmapped',v:58},{n:'genunix`dnlc_lookup',v:70},{n:'genunix`vn_rele',v:14},{n:'ufs`ufs_iaccess',v:91},{c:[{n:'genunix`crgetuid',v:30},{c:[{n:'genunix`memcmp',v:38},{c:[{n:'genunix`memcmp',v:277}],n:'unix`bcmp',v:295}],n:'genunix`dnlc_lookup',v:1843},{n:'genunix`secpolicy_vnode_access2',v:72},{n:'genunix`vn_rele',v:39},{c:[{n:'genunix`crgetuid',v:22},{n:'genunix`secpolicy_vnode_access2',v:217}],n:'ufs`ufs_iaccess',v:648},{n:'unix`bcmp',v:42},{n:'unix`mutex_enter',v:980},{n:'unix`mutex_exit',v:350},{n:'unix`rw_enter',v:525},{n:'unix`rw_exit',v:439}],n:'ufs`ufs_lookup',v:5399}],n:'genunix`fop_lookup',v:6470},{n:'genunix`kmem_cache_alloc',v:39},{c:[{n:'genunix`rwst_exit',v:18},{n:'genunix`rwst_tryenter',v:32},{n:'genunix`vn_mountedvfs',v:11},{n:'genunix`vn_vfslocks_getlock',v:62},{n:'genunix`vn_vfslocks_rele',v:50},{c:[{n:'genunix`kmem_alloc',v:32},{n:'genunix`rwst_enter_common',v:32},{n:'genunix`rwst_init',v:28},{c:[{n:'genunix`rwst_enter_common',v:264},{n:'unix`mutex_enter',v:337},{n:'unix`mutex_exit',v:105}],n:'genunix`rwst_tryenter',v:734},{c:[{n:'genunix`cv_init',v:53},{c:[{c:[{n:'genunix`kmem_cpu_reload',v:2}],n:'genunix`kmem_cache_alloc',v:168},{n:'unix`mutex_enter',v:379},{n:'unix`mutex_exit',v:155}],n:'genunix`kmem_alloc',v:795},{n:'genunix`kmem_cache_alloc',v:29},{c:[{n:'genunix`cv_init',v:65},{n:'unix`mutex_init',v:53}],n:'genunix`rwst_init',v:236},{n:'unix`mutex_init',v:46}],n:'genunix`vn_vfslocks_getlock',v:1357},{n:'unix`mutex_enter',v:727},{n:'unix`mutex_exit',v:371}],n:'genunix`vn_vfsrlock',v:3342},{c:[{n:'genunix`cv_broadcast',v:25},{n:'genunix`kmem_free',v:35},{n:'genunix`rwst_destroy',v:32},{c:[{n:'genunix`cv_broadcast',v:40}],n:'genunix`rwst_exit',v:167},{n:'genunix`vn_vfslocks_getlock',v:120},{c:[{n:'genunix`cv_destroy',v:77},{n:'genunix`kmem_cache_free',v:22},{c:[{n:'genunix`kmem_cache_free',v:154},{n:'unix`mutex_enter',v:316},{n:'unix`mutex_exit',v:148}],n:'genunix`kmem_free',v:693},{c:[{n:'genunix`cv_destroy',v:42},{n:'unix`mutex_destroy',v:176}],n:'genunix`rwst_destroy',v:296},{n:'unix`mutex_destroy',v:31}],n:'genunix`vn_vfslocks_rele',v:1420},{n:'unix`mutex_enter',v:1202},{n:'unix`mutex_exit',v:512}],n:'genunix`vn_vfsunlock',v:3578}],n:'genunix`traverse',v:7243},{n:'genunix`vfs_getops',v:21},{c:[{n:'genunix`vfs_getops',v:157},{n:'unix`membar_consumer',v:123}],n:'genunix`vfs_matchops',v:336},{n:'genunix`vn_alloc',v:20},{n:'genunix`vn_exists',v:17},{n:'genunix`vn_mountedvfs',v:30},{n:'genunix`vn_setops',v:41},{n:'genunix`vn_vfsrlock',v:13},{n:'genunix`vn_vfsunlock',v:40},{n:'lofs`lfind',v:26},{n:'lofs`lsave',v:27},{n:'lofs`makelfsnode',v:28},{c:[{n:'genunix`kmem_cache_alloc',v:234},{n:'genunix`kmem_cpu_reload',v:1},{c:[{n:'genunix`kmem_cache_alloc',v:179},{n:'genunix`vn_recycle',v:33},{c:[{c:[{n:'genunix`vsd_free',v:155}],n:'genunix`vn_recycle',v:319},{n:'genunix`vsd_free',v:14}],n:'genunix`vn_reinit',v:424},{n:'unix`mutex_enter',v:318},{n:'unix`mutex_exit',v:142}],n:'genunix`vn_alloc',v:1189},{n:'genunix`vn_exists',v:50},{n:'genunix`vn_reinit',v:48},{n:'genunix`vn_setops',v:160},{n:'lofs`lfind',v:278},{n:'lofs`lsave',v:162},{n:'lofs`makelfsnode',v:82},{n:'lofs`table_lock_enter',v:220},{n:'unix`atomic_cas_64',v:318},{n:'unix`membar_consumer',v:237},{n:'unix`mutex_enter',v:640},{n:'unix`mutex_exit',v:138}],n:'lofs`makelonode',v:4212},{n:'lofs`table_lock_enter',v:43},{n:'ufs`ufs_lookup',v:46},{n:'unix`atomic_add_32',v:325},{n:'unix`mutex_exit',v:26}],n:'lofs`lo_lookup',v:19887},{n:'lofs`makelonode',v:39},{n:'unix`bcopy',v:896},{n:'unix`mutex_enter',v:947},{n:'unix`mutex_exit',v:337},{c:[{c:[{c:[{n:'unix`dispatch_hilevel',v:1}],n:'unix`do_interrupt',v:1}],n:'unix`_interrupt',v:1}],n:'unix`strlen',v:2659},{n:'zfs`specvp_check',v:10},{n:'zfs`zfs_fastaccesschk_execute',v:4},{c:[{n:'genunix`crgetuid',v:6},{c:[{n:'genunix`memcmp',v:3},{c:[{n:'genunix`memcmp',v:38}],n:'unix`bcmp',v:45}],n:'genunix`dnlc_lookup',v:263},{n:'unix`bcmp',v:11},{n:'unix`mutex_enter',v:309},{n:'unix`mutex_exit',v:135},{n:'zfs`specvp_check',v:20},{c:[{n:'genunix`crgetuid',v:2}],n:'zfs`zfs_fastaccesschk_execute',v:50}],n:'zfs`zfs_lookup',v:946}],n:'genunix`fop_lookup',v:29216},{n:'genunix`fsop_root',v:62},{n:'genunix`pn_fixslash',v:44},{n:'genunix`pn_getcomponent',v:454},{c:[{c:[{n:'lofs`lo_root',v:80},{n:'unix`mutex_enter',v:95},{n:'unix`mutex_exit',v:59}],n:'genunix`fsop_root',v:297},{n:'genunix`rwst_exit',v:12},{n:'genunix`rwst_tryenter',v:37},{n:'genunix`vn_mountedvfs',v:20},{n:'genunix`vn_rele',v:19},{n:'genunix`vn_vfslocks_getlock',v:47},{n:'genunix`vn_vfslocks_rele',v:34},{c:[{n:'genunix`kmem_alloc',v:11},{n:'genunix`rwst_enter_common',v:28},{n:'genunix`rwst_init',v:13},{c:[{n:'genunix`rwst_enter_common',v:314},{n:'unix`mutex_enter',v:238},{n:'unix`mutex_exit',v:49}],n:'genunix`rwst_tryenter',v:628},{c:[{n:'genunix`cv_init',v:56},{c:[{n:'genunix`kmem_cache_alloc',v:126},{n:'unix`mutex_enter',v:252},{n:'unix`mutex_exit',v:95}],n:'genunix`kmem_alloc',v:533},{n:'genunix`kmem_cache_alloc',v:17},{c:[{n:'genunix`cv_init',v:49},{n:'unix`mutex_init',v:38}],n:'genunix`rwst_init',v:173},{n:'unix`mutex_init',v:31}],n:'genunix`vn_vfslocks_getlock',v:973},{n:'unix`mutex_enter',v:455},{n:'unix`mutex_exit',v:250}],n:'genunix`vn_vfsrlock',v:2414},{c:[{n:'genunix`cv_broadcast',v:14},{n:'genunix`kmem_free',v:17},{n:'genunix`rwst_destroy',v:20},{c:[{n:'genunix`cv_broadcast',v:19}],n:'genunix`rwst_exit',v:110},{n:'genunix`vn_vfslocks_getlock',v:79},{c:[{n:'genunix`cv_destroy',v:81},{n:'genunix`kmem_cache_free',v:18},{c:[{n:'genunix`kmem_cache_free',v:116},{n:'unix`mutex_enter',v:195},{n:'unix`mutex_exit',v:90}],n:'genunix`kmem_free',v:457},{c:[{n:'genunix`cv_destroy',v:31},{n:'unix`mutex_destroy',v:53}],n:'genunix`rwst_destroy',v:146},{n:'unix`mutex_destroy',v:17}],n:'genunix`vn_vfslocks_rele',v:903},{n:'unix`mutex_enter',v:823},{n:'unix`mutex_exit',v:356}],n:'genunix`vn_vfsunlock',v:2372},{n:'lofs`lo_root',v:31},{n:'unix`mutex_enter',v:95},{n:'unix`mutex_exit',v:56}],n:'genunix`traverse',v:5557},{n:'genunix`vn_mountedvfs',v:43},{c:[{n:'genunix`crgetmapped',v:31},{c:[{n:'genunix`crgetmapped',v:41},{n:'lofs`freelonode',v:35},{c:[{n:'genunix`kmem_cache_free',v:29},{n:'genunix`vn_free',v:26},{n:'genunix`vn_invalid',v:20},{n:'genunix`vn_rele',v:25},{c:[{c:[{n:'genunix`kmem_cpu_reload',v:1}],n:'genunix`kmem_cache_free',v:184},{n:'genunix`kmem_free',v:115},{c:[{c:[{n:'genunix`kmem_cpu_reload',v:4}],n:'genunix`kmem_cache_free',v:215},{n:'genunix`kmem_cpu_reload',v:5},{c:[{n:'genunix`kmem_cache_free',v:209},{n:'unix`mutex_enter',v:299},{n:'unix`mutex_exit',v:160}],n:'genunix`kmem_free',v:785},{n:'genunix`vsd_free',v:48},{n:'unix`mutex_enter',v:314},{n:'unix`mutex_exit',v:171}],n:'genunix`vn_free',v:1663},{n:'genunix`vn_invalid',v:47},{n:'genunix`vn_rele',v:64},{n:'genunix`vsd_free',v:17},{n:'lofs`table_lock_enter',v:189},{n:'unix`membar_consumer',v:106},{n:'unix`mutex_enter',v:905},{n:'unix`mutex_exit',v:358},{n:'unix`strlen',v:1238}],n:'lofs`freelonode',v:5313},{n:'lofs`table_lock_enter',v:44},{n:'unix`atomic_add_32',v:292},{n:'unix`mutex_enter',v:279},{n:'unix`mutex_exit',v:212}],n:'lofs`lo_inactive',v:6307}],n:'genunix`fop_inactive',v:6689},{n:'lofs`lo_inactive',v:21}],n:'genunix`vn_rele',v:6943},{n:'genunix`vn_setpath',v:58},{n:'genunix`vn_vfsrlock',v:12},{n:'genunix`vn_vfsunlock',v:20},{n:'lofs`lo_lookup',v:65},{n:'unix`mutex_enter',v:575},{n:'unix`mutex_exit',v:379},{n:'unix`strlen',v:107},{n:'zfs`zfs_lookup',v:22}],n:'genunix`lookuppnvp',v:44242},{n:'genunix`pn_fixslash',v:14},{n:'genunix`pn_getcomponent',v:41},{n:'genunix`traverse',v:17},{n:'genunix`vn_mountedvfs',v:56},{n:'genunix`vn_rele',v:73},{c:[{n:'unix`mutex_delay_default',v:1},{n:'unix`tsc_read',v:1}],n:'unix`mutex_vector_enter',v:2}],n:'genunix`lookuppnatcred',v:44681},{n:'genunix`lookuppnvp',v:10},{c:[{n:'unix`copyinstr',v:25},{n:'unix`copystr',v:598}],n:'genunix`pn_get_buf',v:687},{n:'unix`copyinstr',v:18},{n:'unix`mutex_enter',v:320},{n:'unix`mutex_exit',v:163}],n:'genunix`lookupnameatcred',v:45978},{n:'genunix`lookuppnatcred',v:12},{n:'genunix`pn_get_buf',v:13}],n:'genunix`lookupnameat',v:46075},{n:'genunix`lookupnameatcred',v:22}],n:'genunix`vn_openat',v:46342},{n:'unix`mutex_enter',v:303},{n:'unix`mutex_exit',v:38}],n:'genunix`copen',v:49444},{n:'genunix`falloc',v:36},{n:'genunix`set_errno',v:9},{n:'genunix`setf',v:16},{n:'genunix`unfalloc',v:39},{n:'genunix`vn_openat',v:14}],n:'genunix`openat',v:49647}],n:'genunix`open',v:49669},{n:'genunix`openat',v:17},{c:[{c:[{c:[{n:'genunix`dotoprocs',v:1}],n:'genunix`doprio',v:1}],n:'genunix`priocntl_common',v:1}],n:'genunix`priocntlsys',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'genunix`dnlc_lookup',v:1}],n:'ufs`ufs_lookup',v:1}],n:'genunix`fop_lookup',v:1}],n:'lofs`lo_lookup',v:1}],n:'genunix`fop_lookup',v:1}],n:'genunix`lookuppnvp',v:1}],n:'genunix`lookuppnatcred',v:1}],n:'genunix`lookuppn',v:1}],n:'genunix`resolvepath',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'genunix`kmem_cache_free',v:1}],n:'genunix`kmem_free',v:1}],n:'genunix`removectx',v:1}],n:'genunix`schedctl_lwp_cleanup',v:1}],n:'genunix`exitlwps',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`hment_compare',v:2}],n:'genunix`avl_find',v:2}],n:'unix`hment_remove',v:2},{n:'unix`page_numtopp_nolock',v:1}],n:'unix`hat_pte_unmap',v:3}],n:'unix`hat_unload_callback',v:3}],n:'genunix`segvn_unmap',v:3}],n:'genunix`as_free',v:3}],n:'genunix`relvm',v:3},{c:[{c:[{c:[{c:[{n:'genunix`vmem_free',v:1}],n:'genunix`segkp_release_internal',v:1}],n:'genunix`segkp_release',v:1}],n:'genunix`schedctl_freepage',v:1}],n:'genunix`schedctl_proc_cleanup',v:1}],n:'genunix`proc_exit',v:5}],n:'genunix`exit',v:5}],n:'genunix`rexit',v:5},{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:43},{n:'unix`tsc_read',v:367}],n:'genunix`gethrtime_unscaled',v:420},{n:'unix`tsc_gethrtimeunscaled',v:59}],n:'genunix`syscall_mstate',v:1336},{n:'unix`atomic_add_64',v:205}],n:'unix`sys_syscall',v:51908}],n:'root',v:57412}; diff --git a/stories/icicle/01_unix.tsx b/stories/icicle/01_unix.tsx new file mode 100644 index 0000000000..b983e2a800 --- /dev/null +++ b/stories/icicle/01_unix.tsx @@ -0,0 +1,108 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; + +import { Chart, Datum, Partition, PartitionLayout, Settings } from '../../src'; +import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/types/viewmodel_types'; +import { PrimitiveValue } from '../../src/chart_types/partition_chart/layout/utils/group_by_rollup'; +import { mocks } from '../../src/mocks/hierarchical'; +import { STORYBOOK_LIGHT_THEME } from '../shared'; +import { categoricalFillColor, viridis18 as palette } from '../utils/utils'; + +const color = palette.slice().reverse(); + +const raw = mocks.observabilityTree; + +interface Node { + c?: Node[]; + n: string; + v: number; +} + +type Row = { [layerKey: string]: unknown; value: number; depth: number }; + +const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { + if (!c) { + return [{ [`layer_${depth}`]: n, value: v, depth }]; + } + const childrenRows: Row[] = c.flatMap((child) => flatTree(child, depth + 1)); + const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); + const missing = Math.max(0, v - childrenTotal); + if (missing > 0) { + childrenRows.unshift({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); + childrenRows.push({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); + } + childrenRows.forEach((innerChild) => { + // eslint-disable-next-line no-param-reassign + innerChild[`layer_${depth}`] = n; + }); + return childrenRows; +}; + +const flatData = flatTree(raw, 0); +const maxDepth = flatData.reduce((p, n) => Math.max(p, n.depth), 0); + +const layerSpec = [...new Array(maxDepth + 1)].map((_, depth) => ({ + groupByRollup: (d: Datum) => d[`layer_${depth}`], + nodeLabel: (d: PrimitiveValue) => String(d), + showAccessor: (d: PrimitiveValue) => d !== undefined, + shape: { + fillColor: (d: ShapeTreeNode) => (d.dataName ? categoricalFillColor(color, 0.8)(depth) : 'transparent'), + }, +})); + +export const Example = () => { + return ( + + + d.value as number} + valueFormatter={() => ''} + layers={layerSpec} + config={{ + partitionLayout: PartitionLayout.icicle, + fontFamily: 'Arial', + fillLabel: { + valueFormatter: (d: number) => d, + // fontStyle: 'italic', + textInvertible: true, + // fontWeight: 900, + valueFont: { + // fontFamily: 'Menlo', + // fontStyle: 'normal', + // fontWeight: 100, + }, + }, + margin: { top: 0, bottom: 0, left: 0, right: 0 }, + minFontSize: 8, + maxFontSize: 14, + idealFontSizeJump: 1.01, + outerSizeRatio: 1, + emptySizeRatio: 0, + circlePadding: 0, + radialPadding: 0, + backgroundColor: 'rgba(229,229,229,1)', + }} + /> + + ); +}; diff --git a/stories/icicle/icicle.stories.tsx b/stories/icicle/icicle.stories.tsx new file mode 100644 index 0000000000..68f2b432b6 --- /dev/null +++ b/stories/icicle/icicle.stories.tsx @@ -0,0 +1,29 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { SB_SOURCE_PANEL } from '../utils/storybook'; + +export default { + title: 'Icicle (@alpha)', + parameters: { + options: { selectedPanel: SB_SOURCE_PANEL }, + }, +}; + +export { Example as icicleChart } from './01_unix'; diff --git a/stories/sunburst/27_heterogeneous_depth.tsx b/stories/sunburst/27_heterogeneous_depth.tsx index a12411cfb0..4b8b2109c3 100644 --- a/stories/sunburst/27_heterogeneous_depth.tsx +++ b/stories/sunburst/27_heterogeneous_depth.tsx @@ -68,7 +68,7 @@ export const Example = () => ( }, ]} config={{ - partitionLayout: PartitionLayout.sunburst, + partitionLayout: PartitionLayout.icicle, linkLabel: { maxCount: 0, fontSize: 14, diff --git a/stories/utils/utils.ts b/stories/utils/utils.ts index 975526d58f..bf0fc6fcdc 100644 --- a/stories/utils/utils.ts +++ b/stories/utils/utils.ts @@ -36,7 +36,122 @@ export const indexInterpolatedFillColor = (colorMaker: ColorMaker) => (d: any, i // colorbrewer2.org based, categorical color example type RGBStrings = [string, string, string][]; const colorBrewerExportMatcher = /rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/; -const colorStringToTuple = (s: string) => (colorBrewerExportMatcher.exec(s) as string[]).slice(1); +const rgbStringToTuple = (s: string) => (colorBrewerExportMatcher.exec(s) as string[]).slice(1); +const hexStringToTuple = (s: string) => [ + String(parseInt(s.slice(1, 3), 16)), + String(parseInt(s.slice(3, 5), 16)), + String(parseInt(s.slice(5, 7), 16)), +]; + +export const plasma18 = [ + '#0d0887', + '#2f0596', + '#4903a0', + '#6100a7', + '#7801a8', + '#8e0ca4', + '#a21d9a', + '#b42e8d', + '#c43e7f', + '#d24f71', + '#de6164', + '#e97257', + '#f3854b', + '#f99a3e', + '#fdaf31', + '#fdc627', + '#f8df25', + '#f0f921', +].map(hexStringToTuple) as RGBStrings; + +export const viridis18 = [ + '#440154', + '#481769', + '#472a7a', + '#433d84', + '#3d4e8a', + '#355e8d', + '#2e6d8e', + '#297b8e', + '#23898e', + '#1f978b', + '#21a585', + '#2eb37c', + '#46c06f', + '#65cb5e', + '#89d548', + '#b0dd2f', + '#d8e219', + '#fde725', +].map(hexStringToTuple) as RGBStrings; + +export const cividis18 = [ + '#002051', + '#002b64', + '#0f356c', + '#23406e', + '#374a6e', + '#4b556d', + '#5c606e', + '#6c6b70', + '#797673', + '#858176', + '#928d78', + '#9f9978', + '#aea575', + '#bfb26f', + '#d2bf66', + '#e4cd5a', + '#f4db4e', + '#fdea45', +].map(hexStringToTuple) as RGBStrings; + +export const inferno18 = [ + '#000004', + '#0a0722', + '#1e0c45', + '#380962', + '#510e6c', + '#69166e', + '#801f6c', + '#982766', + '#b0315b', + '#c63d4d', + '#d94d3d', + '#e9612b', + '#f47918', + '#fa9407', + '#fcb014', + '#f8cd37', + '#f2ea69', + '#fcffa4', +].map(hexStringToTuple) as RGBStrings; + +export const colorBrewerSequential9: RGBStrings = [ + 'rgb(255,247,251)', + 'rgb(236,231,242)', + 'rgb(208,209,230)', + 'rgb(166,189,219)', + 'rgb(116,169,207)', + 'rgb(54,144,192)', + 'rgb(5,112,176)', + 'rgb(4,90,141)', + 'rgb(2,56,88)', +].map(rgbStringToTuple) as RGBStrings; + +export const colorBrewerDiverging11: RGBStrings = [ + 'rgb(158,1,66)', + 'rgb(213,62,79)', + 'rgb(244,109,67)', + 'rgb(253,174,97)', + 'rgb(254,224,139)', + 'rgb(255,255,191)', + 'rgb(230,245,152)', + 'rgb(171,221,164)', + 'rgb(102,194,165)', + 'rgb(50,136,189)', + 'rgb(94,79,162)', +].map(rgbStringToTuple) as RGBStrings; export const colorBrewerCategorical12: RGBStrings = [ 'rgb(166,206,227)', @@ -51,7 +166,7 @@ export const colorBrewerCategorical12: RGBStrings = [ 'rgb(106,61,154)', 'rgb(255,255,153)', 'rgb(177,89,40)', -].map(colorStringToTuple) as RGBStrings; +].map(rgbStringToTuple) as RGBStrings; export const colorBrewerCategoricalPastel12: RGBStrings = [ 'rgb(166,206,227)', @@ -66,7 +181,7 @@ export const colorBrewerCategoricalPastel12: RGBStrings = [ 'rgb(106,61,154)', 'rgb(255,255,153)', 'rgb(177,89,40)', -].map(colorStringToTuple) as RGBStrings; +].map(rgbStringToTuple) as RGBStrings; export const colorBrewerCategoricalStark9: RGBStrings = [ 'rgb(228,26,28)', @@ -78,7 +193,7 @@ export const colorBrewerCategoricalStark9: RGBStrings = [ 'rgb(166,86,40)', 'rgb(247,129,191)', 'rgb(153,153,153)', -].map(colorStringToTuple) as RGBStrings; +].map(rgbStringToTuple) as RGBStrings; export const categoricalFillColor = (categoricalColors: RGBStrings, opacity = 1) => (i: number) => `rgba(${categoricalColors[i % categoricalColors.length].concat([opacity.toString()]).join(',')})`; From 5ec771844199a3e07cad7a606898e37c9b1fa627 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 7 Jan 2021 00:43:56 +0100 Subject: [PATCH 09/27] test: image baseline with no flatMap and apparent vertical truncation --- ...icle-chart-visually-looks-correct-1-snap.png | Bin 0 -> 66207 bytes stories/icicle/01_unix.tsx | 11 ++++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-icicle-alpha-icicle-chart-visually-looks-correct-1-snap.png diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-icicle-alpha-icicle-chart-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-icicle-alpha-icicle-chart-visually-looks-correct-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..240e4c5fcdfd9ebcceed8849e6392d8acec73014 GIT binary patch literal 66207 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

qa5rslapiIg=8`9amujISm@Oow-dVE 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 literal 0 HcmV?d00001 diff --git a/stories/icicle/01_unix.tsx b/stories/icicle/01_unix.tsx index b983e2a800..699dda941c 100644 --- a/stories/icicle/01_unix.tsx +++ b/stories/icicle/01_unix.tsx @@ -42,7 +42,16 @@ const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { if (!c) { return [{ [`layer_${depth}`]: n, value: v, depth }]; } - const childrenRows: Row[] = c.flatMap((child) => flatTree(child, depth + 1)); + // looks like our test runner can't run c.flatMap(...) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + // eslint-disable-next-line prefer-spread + const childrenRows: Row[] = [].concat.apply( + [], + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + c.map((child) => flatTree(child, depth + 1)), + ); const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); const missing = Math.max(0, v - childrenTotal); if (missing > 0) { From 4e39c41e8cde16578bf1ed597bddded20130f76f Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 7 Jan 2021 00:54:02 +0100 Subject: [PATCH 10/27] chore: inconsequential api file change ie just the order --- api/charts.api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/charts.api.md b/api/charts.api.md index e1d5681d0f..156b8465f2 100644 --- a/api/charts.api.md +++ b/api/charts.api.md @@ -1953,13 +1953,13 @@ export type YDomainRange = YDomainBase & DomainRange; // Warnings were encountered during analysis: // +// dist/common/series_id.d.ts:19:5 - (ae-forgotten-export) The symbol "SeriesKey" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:28:13 - (ae-forgotten-export) The symbol "SizeRatio" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:60:5 - (ae-forgotten-export) The symbol "TextAlign" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:61:5 - (ae-forgotten-export) The symbol "TextBaseline" needs to be exported by the entry point index.d.ts // src/chart_types/partition_chart/layout/types/config_types.ts:126:5 - (ae-forgotten-export) The symbol "TimeMs" needs to be exported by the entry point index.d.ts // src/chart_types/partition_chart/layout/types/config_types.ts:127:5 - (ae-forgotten-export) The symbol "AnimKeyframe" needs to be exported by the entry point index.d.ts // src/chart_types/partition_chart/specs/index.ts:48:13 - (ae-forgotten-export) The symbol "NodeColorAccessor" needs to be exported by the entry point index.d.ts -// src/commons/series_id.ts:39:3 - (ae-forgotten-export) The symbol "SeriesKey" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) From 3f1714968f7efad702b56b998d52a392402ba4f6 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 7 Jan 2021 01:19:27 +0100 Subject: [PATCH 11/27] fix: typo --- stories/sunburst/27_heterogeneous_depth.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stories/sunburst/27_heterogeneous_depth.tsx b/stories/sunburst/27_heterogeneous_depth.tsx index 4b8b2109c3..a12411cfb0 100644 --- a/stories/sunburst/27_heterogeneous_depth.tsx +++ b/stories/sunburst/27_heterogeneous_depth.tsx @@ -68,7 +68,7 @@ export const Example = () => ( }, ]} config={{ - partitionLayout: PartitionLayout.icicle, + partitionLayout: PartitionLayout.sunburst, linkLabel: { maxCount: 0, fontSize: 14, From 93dcf25246475d109007dafbcb604f640e93f416 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 7 Jan 2021 01:26:13 +0100 Subject: [PATCH 12/27] fix: try to placate ci though no idea why it should not be internal --- src/chart_types/partition_chart/layout/utils/group_by_rollup.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index d90e69eb8b..b6f7a19164 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -58,7 +58,6 @@ interface MapNode extends NodeDescriptor { export type PrimitiveValue = string | number | null; // there could be more but sufficient for now type Key = PrimitiveValue; -/** @internal */ export type Sorter = (a: number, b: number) => number; type NodeSorter = (a: ArrayEntry, b: ArrayEntry) => number; From 5774b8dc3e9d3d74c71c7a490cc608516efdd91c Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 7 Jan 2021 01:38:40 +0100 Subject: [PATCH 13/27] fix: api md update after having to rebuild --- api/charts.api.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/api/charts.api.md b/api/charts.api.md index cc8506cee1..dea40bc007 100644 --- a/api/charts.api.md +++ b/api/charts.api.md @@ -1258,6 +1258,8 @@ export interface PartitionLayer { export const PartitionLayout: Readonly<{ sunburst: "sunburst"; treemap: "treemap"; + icicle: "icicle"; + flame: "flame"; }>; // @public (undocumented) @@ -1955,13 +1957,13 @@ export type YDomainRange = YDomainBase & DomainRange; // Warnings were encountered during analysis: // -// dist/common/series_id.d.ts:19:5 - (ae-forgotten-export) The symbol "SeriesKey" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:28:13 - (ae-forgotten-export) The symbol "SizeRatio" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:60:5 - (ae-forgotten-export) The symbol "TextAlign" needs to be exported by the entry point index.d.ts // src/chart_types/heatmap/layout/types/config_types.ts:61:5 - (ae-forgotten-export) The symbol "TextBaseline" needs to be exported by the entry point index.d.ts -// src/chart_types/partition_chart/layout/types/config_types.ts:126:5 - (ae-forgotten-export) The symbol "TimeMs" needs to be exported by the entry point index.d.ts -// src/chart_types/partition_chart/layout/types/config_types.ts:127:5 - (ae-forgotten-export) The symbol "AnimKeyframe" needs to be exported by the entry point index.d.ts +// src/chart_types/partition_chart/layout/types/config_types.ts:128:5 - (ae-forgotten-export) The symbol "TimeMs" needs to be exported by the entry point index.d.ts +// src/chart_types/partition_chart/layout/types/config_types.ts:129:5 - (ae-forgotten-export) The symbol "AnimKeyframe" needs to be exported by the entry point index.d.ts // src/chart_types/partition_chart/specs/index.ts:48:13 - (ae-forgotten-export) The symbol "NodeColorAccessor" needs to be exported by the entry point index.d.ts +// src/commons/series_id.ts:39:3 - (ae-forgotten-export) The symbol "SeriesKey" needs to be exported by the entry point index.d.ts // (No @packageDocumentation comment for this package) From 4df838b32e2f21ddeb397de5425fa1288d628248 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Thu, 7 Jan 2021 08:21:07 +0100 Subject: [PATCH 14/27] fix: topGroove of 0 is not the same as null --- src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index d90fc2dfd3..db077d9d8e 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -151,7 +151,7 @@ export interface RectangleConstruction { function rectangleConstruction(treeHeight: number, topGroove: number | null) { return function rectangleConstructionClosure(node: ShapeTreeNode): RectangleConstruction { - return node.depth < treeHeight && topGroove + return node.depth < treeHeight && topGroove !== null ? { x0: node.x0, y0: node.y0px, From 669273845451b15ab2bb58030d9d1a44ad92859f Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Mon, 11 Jan 2021 17:36:48 +0100 Subject: [PATCH 15/27] chore: lint update --- .eslintrc.js | 1 + src/mocks/hierarchical/observability_tree.ts | 8 ++------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index f2e6642a39..62ee37d5a8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -80,6 +80,7 @@ module.exports = { 'import/no-dynamic-require': 1, 'no-shadow': 1, 'no-param-reassign': 1, + '@typescript-eslint/comma-spacing': 0, 'react/no-array-index-key': 1, 'react/prefer-stateless-function': 1, 'jsx-a11y/no-static-element-interactions': 1, diff --git a/src/mocks/hierarchical/observability_tree.ts b/src/mocks/hierarchical/observability_tree.ts index 6d415a5302..6498c78329 100644 --- a/src/mocks/hierarchical/observability_tree.ts +++ b/src/mocks/hierarchical/observability_tree.ts @@ -3,7 +3,7 @@ * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the 'License'); you may + * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * @@ -11,7 +11,7 @@ * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an - * 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. @@ -19,9 +19,5 @@ // source of data: Martin Spier's https://github.com/spiermar/d3-flame-graph -// The below four(!) lines are necessary because it's wasteful to pretty print raw data and one exemption (linter error suppression) requires another -// eslint-disable-next-line eslint-comments/disable-enable-pair -/* eslint-disable header/header */ // prettier-ignore -// eslint-disable-next-line @typescript-eslint/comma-spacing export const observabilityTreeMock = {c:[{n:'genunix`syscall_mstate',v:89},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`page_lookup_create',v:1}],n:'unix`page_lookup',v:1}],n:'ufs`ufs_getpage',v:1}],n:'genunix`fop_getpage',v:1},{c:[{c:[{c:[{c:[{c:[{n:'genunix`pvn_plist_init',v:1},{n:'unix`lgrp_mem_choose',v:1},{c:[{c:[{c:[{n:'unix`mutex_enter',v:1}],n:'unix`page_get_mnode_freelist',v:1}],n:'unix`page_get_freelist',v:1}],n:'unix`page_create_va',v:1},{c:[{n:'unix`page_lookup_create',v:1}],n:'unix`page_lookup',v:1}],n:'genunix`swap_getapage',v:4}],n:'genunix`swap_getpage',v:4}],n:'genunix`fop_getpage',v:4},{c:[{c:[{n:'unix`hwblkclr',v:3}],n:'unix`pfnzero',v:3}],n:'unix`pagezero',v:3}],n:'genunix`anon_zero',v:7}],n:'genunix`segvn_faultpage',v:7},{n:'ufs`ufs_getpage',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`hment_compare',v:1}],n:'genunix`avl_find',v:1}],n:'genunix`avl_add',v:1}],n:'unix`hment_insert',v:2}],n:'unix`hment_assign',v:2}],n:'unix`hati_pte_map',v:2}],n:'unix`hati_load_common',v:2}],n:'unix`hat_memload',v:2}],n:'unix`hat_memload_region',v:2}],n:'genunix`segvn_fault',v:11}],n:'genunix`as_fault',v:12},{n:'genunix`segvn_fault',v:1}],n:'unix`pagefault',v:13}],n:'unix`trap',v:13}],n:'unix`0xfffffffffb8001d6',v:13},{n:'unix`0xfffffffffb800c7c',v:42},{n:'unix`0xfffffffffb800c81',v:2},{c:[{n:'genunix`gethrtime_unscaled',v:4},{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:11},{n:'unix`tsc_read',v:186}],n:'genunix`gethrtime_unscaled',v:203},{n:'unix`tsc_gethrtimeunscaled',v:13}],n:'genunix`syscall_mstate',v:355},{n:'unix`atomic_add_64',v:110}],n:'unix`0xfffffffffb800c86',v:472},{c:[{n:'genunix`audit_getstate',v:27},{n:'genunix`clear_stale_fd',v:10},{n:'genunix`disp_lock_exit',v:27},{c:[{n:'FSS`fss_preempt',v:1},{n:'genunix`audit_getstate',v:15},{n:'genunix`clear_stale_fd',v:44},{c:[{n:'unix`clear_int_flag',v:39},{n:'unix`do_splx',v:1993},{c:[{c:[{c:[{n:'unix`do_splx',v:1}],n:'genunix`disp_lock_exit_nopreempt',v:1}],n:'unix`preempt',v:1}],n:'unix`kpreempt',v:1}],n:'genunix`disp_lock_exit',v:2096},{n:'genunix`sigcheck',v:1},{c:[{n:'unix`clear_int_flag',v:180},{n:'unix`splr',v:400}],n:'genunix`thread_lock',v:670},{n:'unix`do_splx',v:31},{n:'unix`i_ddi_splhigh',v:23},{n:'unix`lock_clear_splx',v:28},{n:'unix`lock_try',v:778},{n:'unix`lwp_getdatamodel',v:6},{c:[{c:[{c:[{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:1}],n:'genunix`mstate_thread_onproc_time',v:1}],n:'unix`caps_charge_adjust',v:1}],n:'unix`cpucaps_charge',v:3},{c:[{n:'unix`cmt_balance',v:1},{c:[{n:'unix`bitset_in_set',v:1}],n:'unix`cpu_wakeup_mwait',v:1}],n:'unix`setbackdq',v:5}],n:'FSS`fss_preempt',v:8},{n:'unix`do_splx',v:1},{c:[{n:'genunix`disp_lock_exit_high',v:1},{c:[{n:'unix`membar_enter',v:1}],n:'unix`disp',v:1},{n:'unix`do_splx',v:1},{c:[{c:[{n:'genunix`schedctl_save',v:1}],n:'genunix`savectx',v:2}],n:'unix`resume',v:2}],n:'unix`swtch',v:5}],n:'unix`preempt',v:14},{n:'unix`prunstop',v:36},{n:'unix`splr',v:92},{n:'unix`splx',v:6}],n:'genunix`post_syscall',v:4245},{n:'genunix`thread_lock',v:33},{n:'unix`lwp_getdatamodel',v:3},{n:'unix`prunstop',v:2}],n:'unix`0xfffffffffb800c91',v:4361},{c:[{n:'genunix`gethrtime_unscaled',v:7},{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:17},{n:'unix`tsc_read',v:160}],n:'genunix`gethrtime_unscaled',v:182},{n:'unix`tsc_gethrtimeunscaled',v:12}],n:'genunix`syscall_mstate',v:412},{n:'unix`atomic_add_64',v:95}],n:'unix`0xfffffffffb800ca0',v:517},{n:'unix`_sys_rtt',v:6},{c:[{c:[{c:[{c:[{c:[{c:[{n:'genunix`cpu_decay',v:1}],n:'genunix`cpu_grow',v:1}],n:'genunix`cpu_update_pct',v:1}],n:'genunix`new_mstate',v:1}],n:'unix`trap',v:1}],n:'unix`sys_rtt_common',v:1}],n:'unix`_sys_rtt_ints_disabled',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'doorfs`door_close',v:1}],n:'namefs`nm_close',v:1}],n:'genunix`fop_close',v:1}],n:'genunix`closef',v:1}],n:'genunix`close_exec',v:1}],n:'genunix`exec_common',v:1}],n:'genunix`exece',v:1}],n:'unix`_sys_sysenter_post_swapgs',v:1},{c:[{n:'genunix`gethrtime_unscaled',v:11},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`mtype_func',v:1},{n:'unix`mutex_enter',v:1}],n:'unix`page_get_mnode_freelist',v:2}],n:'unix`page_get_freelist',v:2}],n:'unix`page_create_va',v:3}],n:'genunix`pvn_read_kluster',v:3}],n:'ufs`ufs_getpage_ra',v:3}],n:'ufs`ufs_getpage',v:3}],n:'genunix`fop_getpage',v:3}],n:'genunix`segvn_faulta',v:3}],n:'genunix`as_faulta',v:3}],n:'genunix`memcntl',v:3},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`htable_lookup',v:1}],n:'unix`htable_walk',v:1}],n:'unix`hat_unload_callback',v:1}],n:'genunix`segvn_unmap',v:1}],n:'genunix`as_unmap',v:1}],n:'unix`mmapobj_map_elf',v:1}],n:'unix`mmapobj_map_interpret',v:1}],n:'unix`mmapobj',v:1}],n:'genunix`mmapobjsys',v:1},{c:[{n:'genunix`copen',v:7},{c:[{n:'genunix`audit_getstate',v:62},{c:[{n:'genunix`audit_falloc',v:8},{c:[{c:[{c:[{c:[{c:[{n:'unix`swtch',v:1}],n:'unix`preempt',v:1}],n:'unix`kpreempt',v:1}],n:'unix`sys_rtt_common',v:1}],n:'unix`_sys_rtt_ints_disabled',v:1}],n:'genunix`audit_getstate',v:66},{n:'genunix`audit_unfalloc',v:32},{n:'genunix`crfree',v:9},{n:'genunix`crhold',v:5},{n:'genunix`cv_broadcast',v:16},{c:[{c:[{n:'genunix`kmem_cache_alloc',v:11},{c:[{n:'genunix`kmem_cache_alloc',v:66},{n:'unix`mutex_enter',v:122},{n:'unix`mutex_exit',v:46}],n:'genunix`kmem_zalloc',v:280},{n:'unix`bzero',v:8}],n:'genunix`audit_falloc',v:313},{n:'genunix`crhold',v:11},{n:'genunix`kmem_cache_alloc',v:49},{n:'genunix`kmem_zalloc',v:13},{c:[{n:'genunix`fd_find',v:13},{n:'genunix`fd_reserve',v:9},{c:[{n:'genunix`fd_find',v:161},{n:'genunix`fd_reserve',v:15}],n:'genunix`ufalloc_file',v:294},{n:'unix`mutex_enter',v:197},{n:'unix`mutex_exit',v:29}],n:'genunix`ufalloc',v:551},{n:'genunix`ufalloc_file',v:20},{n:'unix`atomic_add_32',v:134},{n:'unix`mutex_enter',v:99},{n:'unix`mutex_exit',v:58}],n:'genunix`falloc',v:1363},{n:'genunix`fd_reserve',v:8},{n:'genunix`kmem_cache_alloc',v:9},{n:'genunix`kmem_cache_free',v:5},{n:'genunix`lookupnameat',v:69},{n:'genunix`set_errno',v:24},{c:[{n:'genunix`audit_getstate',v:31},{n:'genunix`cv_broadcast',v:25},{n:'genunix`fd_reserve',v:35}],n:'genunix`setf',v:187},{n:'genunix`ufalloc',v:10},{c:[{c:[{n:'genunix`kmem_cache_free',v:5},{c:[{n:'genunix`kmem_cache_free',v:73},{n:'unix`mutex_enter',v:111},{n:'unix`mutex_exit',v:55}],n:'genunix`kmem_free',v:288}],n:'genunix`audit_unfalloc',v:340},{n:'genunix`crfree',v:13},{n:'genunix`kmem_cache_free',v:51},{n:'genunix`kmem_free',v:11},{n:'unix`atomic_add_32_nv',v:100},{n:'unix`mutex_enter',v:97},{n:'unix`mutex_exit',v:56}],n:'genunix`unfalloc',v:729},{c:[{c:[{c:[{c:[{n:'genunix`audit_getstate',v:16},{n:'genunix`fop_lookup',v:55},{c:[{n:'genunix`audit_getstate',v:21},{n:'genunix`crgetmapped',v:55},{n:'genunix`fop_inactive',v:39},{c:[{n:'genunix`crgetmapped',v:57},{n:'genunix`dnlc_lookup',v:26},{n:'genunix`fop_lookup',v:85},{n:'genunix`kmem_alloc',v:73},{n:'genunix`traverse',v:30},{n:'genunix`vfs_matchops',v:28},{c:[{c:[{n:'genunix`kmem_cache_alloc',v:241},{n:'unix`mutex_enter',v:366},{n:'unix`mutex_exit',v:149}],n:'genunix`kmem_alloc',v:934},{n:'genunix`kmem_cache_alloc',v:32}],n:'genunix`vn_setpath',v:1969},{c:[{n:'genunix`crgetmapped',v:36},{c:[{n:'genunix`crgetmapped',v:58},{n:'genunix`dnlc_lookup',v:70},{n:'genunix`vn_rele',v:14},{n:'ufs`ufs_iaccess',v:91},{c:[{n:'genunix`crgetuid',v:30},{c:[{n:'genunix`memcmp',v:38},{c:[{n:'genunix`memcmp',v:277}],n:'unix`bcmp',v:295}],n:'genunix`dnlc_lookup',v:1843},{n:'genunix`secpolicy_vnode_access2',v:72},{n:'genunix`vn_rele',v:39},{c:[{n:'genunix`crgetuid',v:22},{n:'genunix`secpolicy_vnode_access2',v:217}],n:'ufs`ufs_iaccess',v:648},{n:'unix`bcmp',v:42},{n:'unix`mutex_enter',v:980},{n:'unix`mutex_exit',v:350},{n:'unix`rw_enter',v:525},{n:'unix`rw_exit',v:439}],n:'ufs`ufs_lookup',v:5399}],n:'genunix`fop_lookup',v:6470},{n:'genunix`kmem_cache_alloc',v:39},{c:[{n:'genunix`rwst_exit',v:18},{n:'genunix`rwst_tryenter',v:32},{n:'genunix`vn_mountedvfs',v:11},{n:'genunix`vn_vfslocks_getlock',v:62},{n:'genunix`vn_vfslocks_rele',v:50},{c:[{n:'genunix`kmem_alloc',v:32},{n:'genunix`rwst_enter_common',v:32},{n:'genunix`rwst_init',v:28},{c:[{n:'genunix`rwst_enter_common',v:264},{n:'unix`mutex_enter',v:337},{n:'unix`mutex_exit',v:105}],n:'genunix`rwst_tryenter',v:734},{c:[{n:'genunix`cv_init',v:53},{c:[{c:[{n:'genunix`kmem_cpu_reload',v:2}],n:'genunix`kmem_cache_alloc',v:168},{n:'unix`mutex_enter',v:379},{n:'unix`mutex_exit',v:155}],n:'genunix`kmem_alloc',v:795},{n:'genunix`kmem_cache_alloc',v:29},{c:[{n:'genunix`cv_init',v:65},{n:'unix`mutex_init',v:53}],n:'genunix`rwst_init',v:236},{n:'unix`mutex_init',v:46}],n:'genunix`vn_vfslocks_getlock',v:1357},{n:'unix`mutex_enter',v:727},{n:'unix`mutex_exit',v:371}],n:'genunix`vn_vfsrlock',v:3342},{c:[{n:'genunix`cv_broadcast',v:25},{n:'genunix`kmem_free',v:35},{n:'genunix`rwst_destroy',v:32},{c:[{n:'genunix`cv_broadcast',v:40}],n:'genunix`rwst_exit',v:167},{n:'genunix`vn_vfslocks_getlock',v:120},{c:[{n:'genunix`cv_destroy',v:77},{n:'genunix`kmem_cache_free',v:22},{c:[{n:'genunix`kmem_cache_free',v:154},{n:'unix`mutex_enter',v:316},{n:'unix`mutex_exit',v:148}],n:'genunix`kmem_free',v:693},{c:[{n:'genunix`cv_destroy',v:42},{n:'unix`mutex_destroy',v:176}],n:'genunix`rwst_destroy',v:296},{n:'unix`mutex_destroy',v:31}],n:'genunix`vn_vfslocks_rele',v:1420},{n:'unix`mutex_enter',v:1202},{n:'unix`mutex_exit',v:512}],n:'genunix`vn_vfsunlock',v:3578}],n:'genunix`traverse',v:7243},{n:'genunix`vfs_getops',v:21},{c:[{n:'genunix`vfs_getops',v:157},{n:'unix`membar_consumer',v:123}],n:'genunix`vfs_matchops',v:336},{n:'genunix`vn_alloc',v:20},{n:'genunix`vn_exists',v:17},{n:'genunix`vn_mountedvfs',v:30},{n:'genunix`vn_setops',v:41},{n:'genunix`vn_vfsrlock',v:13},{n:'genunix`vn_vfsunlock',v:40},{n:'lofs`lfind',v:26},{n:'lofs`lsave',v:27},{n:'lofs`makelfsnode',v:28},{c:[{n:'genunix`kmem_cache_alloc',v:234},{n:'genunix`kmem_cpu_reload',v:1},{c:[{n:'genunix`kmem_cache_alloc',v:179},{n:'genunix`vn_recycle',v:33},{c:[{c:[{n:'genunix`vsd_free',v:155}],n:'genunix`vn_recycle',v:319},{n:'genunix`vsd_free',v:14}],n:'genunix`vn_reinit',v:424},{n:'unix`mutex_enter',v:318},{n:'unix`mutex_exit',v:142}],n:'genunix`vn_alloc',v:1189},{n:'genunix`vn_exists',v:50},{n:'genunix`vn_reinit',v:48},{n:'genunix`vn_setops',v:160},{n:'lofs`lfind',v:278},{n:'lofs`lsave',v:162},{n:'lofs`makelfsnode',v:82},{n:'lofs`table_lock_enter',v:220},{n:'unix`atomic_cas_64',v:318},{n:'unix`membar_consumer',v:237},{n:'unix`mutex_enter',v:640},{n:'unix`mutex_exit',v:138}],n:'lofs`makelonode',v:4212},{n:'lofs`table_lock_enter',v:43},{n:'ufs`ufs_lookup',v:46},{n:'unix`atomic_add_32',v:325},{n:'unix`mutex_exit',v:26}],n:'lofs`lo_lookup',v:19887},{n:'lofs`makelonode',v:39},{n:'unix`bcopy',v:896},{n:'unix`mutex_enter',v:947},{n:'unix`mutex_exit',v:337},{c:[{c:[{c:[{n:'unix`dispatch_hilevel',v:1}],n:'unix`do_interrupt',v:1}],n:'unix`_interrupt',v:1}],n:'unix`strlen',v:2659},{n:'zfs`specvp_check',v:10},{n:'zfs`zfs_fastaccesschk_execute',v:4},{c:[{n:'genunix`crgetuid',v:6},{c:[{n:'genunix`memcmp',v:3},{c:[{n:'genunix`memcmp',v:38}],n:'unix`bcmp',v:45}],n:'genunix`dnlc_lookup',v:263},{n:'unix`bcmp',v:11},{n:'unix`mutex_enter',v:309},{n:'unix`mutex_exit',v:135},{n:'zfs`specvp_check',v:20},{c:[{n:'genunix`crgetuid',v:2}],n:'zfs`zfs_fastaccesschk_execute',v:50}],n:'zfs`zfs_lookup',v:946}],n:'genunix`fop_lookup',v:29216},{n:'genunix`fsop_root',v:62},{n:'genunix`pn_fixslash',v:44},{n:'genunix`pn_getcomponent',v:454},{c:[{c:[{n:'lofs`lo_root',v:80},{n:'unix`mutex_enter',v:95},{n:'unix`mutex_exit',v:59}],n:'genunix`fsop_root',v:297},{n:'genunix`rwst_exit',v:12},{n:'genunix`rwst_tryenter',v:37},{n:'genunix`vn_mountedvfs',v:20},{n:'genunix`vn_rele',v:19},{n:'genunix`vn_vfslocks_getlock',v:47},{n:'genunix`vn_vfslocks_rele',v:34},{c:[{n:'genunix`kmem_alloc',v:11},{n:'genunix`rwst_enter_common',v:28},{n:'genunix`rwst_init',v:13},{c:[{n:'genunix`rwst_enter_common',v:314},{n:'unix`mutex_enter',v:238},{n:'unix`mutex_exit',v:49}],n:'genunix`rwst_tryenter',v:628},{c:[{n:'genunix`cv_init',v:56},{c:[{n:'genunix`kmem_cache_alloc',v:126},{n:'unix`mutex_enter',v:252},{n:'unix`mutex_exit',v:95}],n:'genunix`kmem_alloc',v:533},{n:'genunix`kmem_cache_alloc',v:17},{c:[{n:'genunix`cv_init',v:49},{n:'unix`mutex_init',v:38}],n:'genunix`rwst_init',v:173},{n:'unix`mutex_init',v:31}],n:'genunix`vn_vfslocks_getlock',v:973},{n:'unix`mutex_enter',v:455},{n:'unix`mutex_exit',v:250}],n:'genunix`vn_vfsrlock',v:2414},{c:[{n:'genunix`cv_broadcast',v:14},{n:'genunix`kmem_free',v:17},{n:'genunix`rwst_destroy',v:20},{c:[{n:'genunix`cv_broadcast',v:19}],n:'genunix`rwst_exit',v:110},{n:'genunix`vn_vfslocks_getlock',v:79},{c:[{n:'genunix`cv_destroy',v:81},{n:'genunix`kmem_cache_free',v:18},{c:[{n:'genunix`kmem_cache_free',v:116},{n:'unix`mutex_enter',v:195},{n:'unix`mutex_exit',v:90}],n:'genunix`kmem_free',v:457},{c:[{n:'genunix`cv_destroy',v:31},{n:'unix`mutex_destroy',v:53}],n:'genunix`rwst_destroy',v:146},{n:'unix`mutex_destroy',v:17}],n:'genunix`vn_vfslocks_rele',v:903},{n:'unix`mutex_enter',v:823},{n:'unix`mutex_exit',v:356}],n:'genunix`vn_vfsunlock',v:2372},{n:'lofs`lo_root',v:31},{n:'unix`mutex_enter',v:95},{n:'unix`mutex_exit',v:56}],n:'genunix`traverse',v:5557},{n:'genunix`vn_mountedvfs',v:43},{c:[{n:'genunix`crgetmapped',v:31},{c:[{n:'genunix`crgetmapped',v:41},{n:'lofs`freelonode',v:35},{c:[{n:'genunix`kmem_cache_free',v:29},{n:'genunix`vn_free',v:26},{n:'genunix`vn_invalid',v:20},{n:'genunix`vn_rele',v:25},{c:[{c:[{n:'genunix`kmem_cpu_reload',v:1}],n:'genunix`kmem_cache_free',v:184},{n:'genunix`kmem_free',v:115},{c:[{c:[{n:'genunix`kmem_cpu_reload',v:4}],n:'genunix`kmem_cache_free',v:215},{n:'genunix`kmem_cpu_reload',v:5},{c:[{n:'genunix`kmem_cache_free',v:209},{n:'unix`mutex_enter',v:299},{n:'unix`mutex_exit',v:160}],n:'genunix`kmem_free',v:785},{n:'genunix`vsd_free',v:48},{n:'unix`mutex_enter',v:314},{n:'unix`mutex_exit',v:171}],n:'genunix`vn_free',v:1663},{n:'genunix`vn_invalid',v:47},{n:'genunix`vn_rele',v:64},{n:'genunix`vsd_free',v:17},{n:'lofs`table_lock_enter',v:189},{n:'unix`membar_consumer',v:106},{n:'unix`mutex_enter',v:905},{n:'unix`mutex_exit',v:358},{n:'unix`strlen',v:1238}],n:'lofs`freelonode',v:5313},{n:'lofs`table_lock_enter',v:44},{n:'unix`atomic_add_32',v:292},{n:'unix`mutex_enter',v:279},{n:'unix`mutex_exit',v:212}],n:'lofs`lo_inactive',v:6307}],n:'genunix`fop_inactive',v:6689},{n:'lofs`lo_inactive',v:21}],n:'genunix`vn_rele',v:6943},{n:'genunix`vn_setpath',v:58},{n:'genunix`vn_vfsrlock',v:12},{n:'genunix`vn_vfsunlock',v:20},{n:'lofs`lo_lookup',v:65},{n:'unix`mutex_enter',v:575},{n:'unix`mutex_exit',v:379},{n:'unix`strlen',v:107},{n:'zfs`zfs_lookup',v:22}],n:'genunix`lookuppnvp',v:44242},{n:'genunix`pn_fixslash',v:14},{n:'genunix`pn_getcomponent',v:41},{n:'genunix`traverse',v:17},{n:'genunix`vn_mountedvfs',v:56},{n:'genunix`vn_rele',v:73},{c:[{n:'unix`mutex_delay_default',v:1},{n:'unix`tsc_read',v:1}],n:'unix`mutex_vector_enter',v:2}],n:'genunix`lookuppnatcred',v:44681},{n:'genunix`lookuppnvp',v:10},{c:[{n:'unix`copyinstr',v:25},{n:'unix`copystr',v:598}],n:'genunix`pn_get_buf',v:687},{n:'unix`copyinstr',v:18},{n:'unix`mutex_enter',v:320},{n:'unix`mutex_exit',v:163}],n:'genunix`lookupnameatcred',v:45978},{n:'genunix`lookuppnatcred',v:12},{n:'genunix`pn_get_buf',v:13}],n:'genunix`lookupnameat',v:46075},{n:'genunix`lookupnameatcred',v:22}],n:'genunix`vn_openat',v:46342},{n:'unix`mutex_enter',v:303},{n:'unix`mutex_exit',v:38}],n:'genunix`copen',v:49444},{n:'genunix`falloc',v:36},{n:'genunix`set_errno',v:9},{n:'genunix`setf',v:16},{n:'genunix`unfalloc',v:39},{n:'genunix`vn_openat',v:14}],n:'genunix`openat',v:49647}],n:'genunix`open',v:49669},{n:'genunix`openat',v:17},{c:[{c:[{c:[{n:'genunix`dotoprocs',v:1}],n:'genunix`doprio',v:1}],n:'genunix`priocntl_common',v:1}],n:'genunix`priocntlsys',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'genunix`dnlc_lookup',v:1}],n:'ufs`ufs_lookup',v:1}],n:'genunix`fop_lookup',v:1}],n:'lofs`lo_lookup',v:1}],n:'genunix`fop_lookup',v:1}],n:'genunix`lookuppnvp',v:1}],n:'genunix`lookuppnatcred',v:1}],n:'genunix`lookuppn',v:1}],n:'genunix`resolvepath',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'genunix`kmem_cache_free',v:1}],n:'genunix`kmem_free',v:1}],n:'genunix`removectx',v:1}],n:'genunix`schedctl_lwp_cleanup',v:1}],n:'genunix`exitlwps',v:1},{c:[{c:[{c:[{c:[{c:[{c:[{c:[{n:'unix`hment_compare',v:2}],n:'genunix`avl_find',v:2}],n:'unix`hment_remove',v:2},{n:'unix`page_numtopp_nolock',v:1}],n:'unix`hat_pte_unmap',v:3}],n:'unix`hat_unload_callback',v:3}],n:'genunix`segvn_unmap',v:3}],n:'genunix`as_free',v:3}],n:'genunix`relvm',v:3},{c:[{c:[{c:[{c:[{n:'genunix`vmem_free',v:1}],n:'genunix`segkp_release_internal',v:1}],n:'genunix`segkp_release',v:1}],n:'genunix`schedctl_freepage',v:1}],n:'genunix`schedctl_proc_cleanup',v:1}],n:'genunix`proc_exit',v:5}],n:'genunix`exit',v:5}],n:'genunix`rexit',v:5},{c:[{c:[{n:'unix`tsc_gethrtimeunscaled',v:43},{n:'unix`tsc_read',v:367}],n:'genunix`gethrtime_unscaled',v:420},{n:'unix`tsc_gethrtimeunscaled',v:59}],n:'genunix`syscall_mstate',v:1336},{n:'unix`atomic_add_64',v:205}],n:'unix`sys_syscall',v:51908}],n:'root',v:57412}; From 04e166355ed9468e98ee396f8823341bef08610f Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Mon, 11 Jan 2021 18:27:00 +0100 Subject: [PATCH 16/27] chore: lint update 2 --- .eslintrc.js | 2 +- src/chart_types/partition_chart/layout/utils/group_by_rollup.ts | 1 - stories/icicle/01_unix.tsx | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index df523ea58b..5838f5f875 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -81,7 +81,7 @@ module.exports = { 'global-require': 1, 'import/no-dynamic-require': 1, 'no-shadow': 1, - 'no-param-reassign': 1, + 'no-param-reassign': [1, { props: false }], '@typescript-eslint/comma-spacing': 0, 'react/no-array-index-key': 1, 'react/prefer-stateless-function': 1, diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index 531287721c..91f397e171 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -181,7 +181,6 @@ export function mapsToArrays(root: HierarchyOfMaps, sorter: NodeSorter | null): const tree = groupByMap(root, getRootArrayNode()); const buildPaths = ([, mapNode]: ArrayEntry, currentPath: number[]) => { const newPath = [...currentPath, mapNode[SORT_INDEX_KEY]]; - // eslint-disable-next-line no-param-reassign mapNode[PATH_KEY] = newPath; mapNode.children.forEach((entry) => buildPaths(entry, newPath)); }; diff --git a/stories/icicle/01_unix.tsx b/stories/icicle/01_unix.tsx index 699dda941c..2de459bf5b 100644 --- a/stories/icicle/01_unix.tsx +++ b/stories/icicle/01_unix.tsx @@ -59,7 +59,6 @@ const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { childrenRows.push({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); } childrenRows.forEach((innerChild) => { - // eslint-disable-next-line no-param-reassign innerChild[`layer_${depth}`] = n; }); return childrenRows; From 7c1ad36733fbf7b7653256ca99fb4c69fcd16794 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Tue, 12 Jan 2021 11:01:22 +0100 Subject: [PATCH 17/27] fix: use full height --- .../partition_chart/layout/viewmodel/viewmodel.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index db077d9d8e..5215a180ed 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -198,14 +198,14 @@ const rawChildNodes = ( case PartitionLayout.icicle: const icicleValueToAreaScale = width / totalValue; const icicleAreaAccessor = (e: ArrayEntry) => icicleValueToAreaScale * mapEntryValue(e); - const rowHeight = height / maxDepth; + const icicleRowHeight = height / maxDepth; return sunburst( tree, icicleAreaAccessor, - { x0: -width / 2, y0: -height / 2 - rowHeight }, + { x0: -width / 2, y0: -height / 2 - icicleRowHeight }, true, false, - height / maxDepth, + icicleRowHeight, ); case PartitionLayout.flame: @@ -218,7 +218,7 @@ const rawChildNodes = ( { x0: -width / 2, y0: -height / 2 - flameRowHeight }, true, false, - height / maxDepth, + flameRowHeight, ); default: @@ -275,7 +275,7 @@ export function shapeViewModel( const flameLayout = partitionLayout === PartitionLayout.flame; const longestPath = ([, { children, path }]: ArrayEntry): number => children.length > 0 ? children.reduce((p, n) => Math.max(p, longestPath(n)), 0) : path.length; - const maxDepth = longestPath(tree[0]); + const maxDepth = longestPath(tree[0]) - 2; // don't include the root node const childNodes = rawChildNodes( partitionLayout, tree, From b33bb86b86aca7b183f0613c9d1611a057567952 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Tue, 12 Jan 2021 11:26:30 +0100 Subject: [PATCH 18/27] feat: flame chart --- .playground/playground.tsx | 2 +- .../layout/viewmodel/viewmodel.ts | 23 ++-- .../{01_unix.tsx => 01_unix_icicle.tsx} | 2 +- stories/icicle/02_unix_flame.tsx | 116 ++++++++++++++++++ stories/icicle/icicle.stories.tsx | 5 +- 5 files changed, 129 insertions(+), 19 deletions(-) rename stories/icicle/{01_unix.tsx => 01_unix_icicle.tsx} (98%) create mode 100644 stories/icicle/02_unix_flame.tsx diff --git a/.playground/playground.tsx b/.playground/playground.tsx index 8d083aa881..3c9f2ee240 100644 --- a/.playground/playground.tsx +++ b/.playground/playground.tsx @@ -38,7 +38,7 @@ import React from 'react'; -import { Example } from '../stories/icicle/01_unix'; +import { Example } from '../stories/icicle/01_unix_icicle'; export class Playground extends React.Component { render() { diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index 5215a180ed..64cfe092cf 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -196,30 +196,23 @@ const rawChildNodes = ( }); case PartitionLayout.icicle: + case PartitionLayout.flame: + const icicleLayout = partitionLayout === PartitionLayout.icicle; + const multiplier = icicleLayout ? -1 : 1; const icicleValueToAreaScale = width / totalValue; const icicleAreaAccessor = (e: ArrayEntry) => icicleValueToAreaScale * mapEntryValue(e); const icicleRowHeight = height / maxDepth; - return sunburst( + const result = sunburst( tree, icicleAreaAccessor, - { x0: -width / 2, y0: -height / 2 - icicleRowHeight }, + { x0: -width / 2, y0: (multiplier * height) / 2 - icicleRowHeight }, true, false, icicleRowHeight, ); - - case PartitionLayout.flame: - const flameValueToAreaScale = width / totalValue; - const flameAreaAccessor = (e: ArrayEntry) => flameValueToAreaScale * mapEntryValue(e); - const flameRowHeight = height / maxDepth; - return sunburst( - tree, - flameAreaAccessor, - { x0: -width / 2, y0: -height / 2 - flameRowHeight }, - true, - false, - flameRowHeight, - ); + return icicleLayout + ? result + : result.map(({ y0, y1, ...rest }) => ({ y0: height - y1, y1: height - y0, ...rest })); default: // Let's ensure TS complains if we add a new PartitionLayout type in the future without creating a `case` for it diff --git a/stories/icicle/01_unix.tsx b/stories/icicle/01_unix_icicle.tsx similarity index 98% rename from stories/icicle/01_unix.tsx rename to stories/icicle/01_unix_icicle.tsx index 2de459bf5b..2c30e295f3 100644 --- a/stories/icicle/01_unix.tsx +++ b/stories/icicle/01_unix_icicle.tsx @@ -78,7 +78,7 @@ const layerSpec = [...new Array(maxDepth + 1)].map((_, depth) => ({ export const Example = () => { return ( - + { + if (!c) { + return [{ [`layer_${depth}`]: n, value: v, depth }]; + } + // looks like our test runner can't run c.flatMap(...) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + // eslint-disable-next-line prefer-spread + const childrenRows: Row[] = [].concat.apply( + [], + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + c.map((child) => flatTree(child, depth + 1)), + ); + const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); + const missing = Math.max(0, v - childrenTotal); + if (missing > 0) { + childrenRows.unshift({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); + childrenRows.push({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); + } + childrenRows.forEach((innerChild) => { + innerChild[`layer_${depth}`] = n; + }); + return childrenRows; +}; + +const flatData = flatTree(raw, 0); +const maxDepth = flatData.reduce((p, n) => Math.max(p, n.depth), 0); + +const layerSpec = [...new Array(maxDepth + 1)].map((_, depth) => ({ + groupByRollup: (d: Datum) => d[`layer_${depth}`], + nodeLabel: (d: PrimitiveValue) => String(d), + showAccessor: (d: PrimitiveValue) => d !== undefined, + shape: { + fillColor: (d: ShapeTreeNode) => (d.dataName ? categoricalFillColor(color, 0.8)(depth) : 'transparent'), + }, +})); + +export const Example = () => { + return ( + + + d.value as number} + valueFormatter={() => ''} + layers={layerSpec} + config={{ + partitionLayout: PartitionLayout.flame, + fontFamily: 'Arial', + fillLabel: { + valueFormatter: (d: number) => d, + // fontStyle: 'italic', + textInvertible: true, + // fontWeight: 900, + valueFont: { + // fontFamily: 'Menlo', + // fontStyle: 'normal', + // fontWeight: 100, + }, + }, + margin: { top: 0, bottom: 0, left: 0, right: 0 }, + minFontSize: 8, + maxFontSize: 14, + idealFontSizeJump: 1.01, + outerSizeRatio: 1, + emptySizeRatio: 0, + circlePadding: 0, + radialPadding: 0, + backgroundColor: 'rgba(229,229,229,1)', + }} + /> + + ); +}; diff --git a/stories/icicle/icicle.stories.tsx b/stories/icicle/icicle.stories.tsx index 68f2b432b6..82e96bf81b 100644 --- a/stories/icicle/icicle.stories.tsx +++ b/stories/icicle/icicle.stories.tsx @@ -20,10 +20,11 @@ import { SB_SOURCE_PANEL } from '../utils/storybook'; export default { - title: 'Icicle (@alpha)', + title: 'Flame (@alpha)', parameters: { options: { selectedPanel: SB_SOURCE_PANEL }, }, }; -export { Example as icicleChart } from './01_unix'; +export { Example as flameChart } from './02_unix_flame'; +export { Example as icicleChart } from './01_unix_icicle'; From 15dbefd4a36ab1769b6431f8f0f7802c7fce8143 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Tue, 12 Jan 2021 12:46:23 +0100 Subject: [PATCH 19/27] test: image updates --- ...lame-chart-visually-looks-correct-1-snap.png | Bin 0 -> 64846 bytes ...icle-chart-visually-looks-correct-1-snap.png | Bin 0 -> 68543 bytes ...icle-chart-visually-looks-correct-1-snap.png | Bin 66207 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-flame-chart-visually-looks-correct-1-snap.png create mode 100644 integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-icicle-chart-visually-looks-correct-1-snap.png delete mode 100644 integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-icicle-alpha-icicle-chart-visually-looks-correct-1-snap.png diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-flame-chart-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-flame-chart-visually-looks-correct-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..a61f28589c93792800671dcbd12175025eccfaa6 GIT binary patch literal 64846 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⋘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 literal 0 HcmV?d00001 diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-icicle-chart-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-icicle-chart-visually-looks-correct-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7ca29c83087e4dcc2bd2cbb47a2cff7eb0194c GIT binary patch literal 68543 zcmbTdWmK3;&?X2WK=35E2X}W5?oM!bC%8j!hv06(-QC^Y-QC?`UUKjKW_IV#p5?&7 zUahXKu17jZMoJhC8Uq>x1O!f0L_iJ%uB;prZ{ zIS`O^BehU@-b?#z_xN8TFc&pki^w*wxwhtA2dr$M~zCq;@Mg|Jzs%&&A$q#HHtoCYK2*96TdVd>6; z$vsZG3e{a{D$w?^t+I=|!hmP)mXF}-!w(i0?ikLvTZb2m+XE(p11mG6z8=B;omC?K-Ao=S9}~|Dsmx2kIxqw zOJ0)D$^cVuLg(|FtVPR5dbE!nTFRX09O1}RHk3s~F3GZS=6G@N#UV40wRfPT{ES1wjl-C{AMY#Bn;SYvlNy5MaGq`xD=M@TV4h6aOLzJ8zhoe?9| zV`T#oG(ToNX)L9=VT6`m;pet~hDVcB-qwBrDv}KoWV;NuQn6VL``;(^{Y)laBXTxN zN8?5F=V12j!ZgEfaQH;=~d?aF5t z_p=Y*!_9N^W6JIGXkI~OeSLd9E)oCD6Y*GMiN_|ald$>LTzoJg^<0G;cV*>#lNmzH zXraC~BJ<(je8!CIjn`a#MHy(z&}xPxB%5aLqp;)0O}7=d>5{`~bU{?filFC1^#dTB&X1wI{6dpiPmae6 z4PHr1MU#1JGWY}p==AvrwYAI=$@Jk=m`ao7ys2*vmVC`5KurLm8Hop!3*t7aS(1@H zlc`2Fe}7XXXz(S+(~hPe3^qH1UO_>0Ew1)^>zP@;0m9{uYrKPTWTH92J9M9yiOsZ$XE~BIXd?nSBF^U1@oOQLNdN77&4hh>kvR%;qVR z6AYP~OFUhy=_j8zW_^55#)tuDHf#Bfo<5j9M;t`kLT_ZNPntVl1MijMzp#+P4rP|3 zVL1wG=wQ@IX?!$@qr+tcC;0y2Qe(WkBN~wgW-?#TR8dg@i^~r3%Y32o^2k?qIEgDg zsV2ExZ%@-u0z0Cjf(``xZ7w{qYFEA`js%mL_)VthbGr9G2`~MGIQ2I@-(owfnV{v* zfTRqB6+g{}`J2#@9i(=$d3KHSeWVJCkFo5jD1Mvb`D;wyJ6VDb?C4054zEQ?cySI= zJCsDy)*e2-s^yUf@(Mq`wYs}+dw#=BwL1{LOHVIQ*zvz}LQ@DF7RsDDu*0yRjhwi! z^~S(NA!fg&!x*`;lb|v%^*JVubr9%V4%EsU43{(E)4$%a8-~?vfi`$;mULUH;FcO? zE;#!JEY8*x;V~B5hgK;S>gky!Jirz8_BPJ zbTA5?v2?q~%?frAzm)3q|DuSoUJ~|FZ^~EL{dQ%z!e2Ba+i=W_Lgn=P+w16w%q8pD zc5lsRkk^zm{+&ul>yd_#Nz14E%ppI%pA z?_|3T5H#VWejbZxC)uF9%Z9?o(0dat?dKl0-Uz1YFks1B4z7Ob(QvpnJKNww)tTu#n&pj}>D6H2EG{81n` zo+0KiQ{>K-k5_-ZXQD`#DRx4EMyXxj-}s&@-8yo-wn8R1?Hx~}%W8jVP-x-rXR<&0 z!08TAKR!Q{*e^nbI@-clpzxcb4horkvD|P+PbiEkCSzrnswz{FB9ZCDA&L#`{z-W1 z&jr-7xN@bPy$NMie#6fV^Q@ z-U}NZJqOvO)|1wrI+AVO$Mzy;#on;Sj>PCP=>=K zve+6tWQrwS{p{|Efdp?qDmjZQL2bs!FRG@qwR5Pw&X-Atb*^<|9b^2Z^yUKUcSH*g$?k9p`W+fAA&*~hwk9Q*Q{B+$ zYYXUfsf}+%mgUdupU>k6BqVx;Gu1{TgCrowD=#VKv~Xd`>|iogwOpqB;IU%3+S=(u z=BwwS{UR2H7KURw5-X4JjHRwAXB=sJXFUiPcM-EzWom1nIdUDR*w*rvrK+!ilLjUI z@oStjDP@}QnRY4^?q08@>ltYN2(3arlaK@P79`FojyA96pQUjGvkTh(wkY&jWvwDg z#B?v2%t4LJ1two>$eN$=$;F0xu6Rjf*KK(?M;>Cxj7B0EejH42(3ENRp1b#5T|1en zJ0I09%r|eK%gU<0s@%jtq)8vHl_q& zGUL!T|D*d5C49Vgl%ApNU+>-MLggwHO4dF4g6w=r8YNF6hZ_$sv%C_u`f^oaA`Gq$ zlTdY25}>zKJ=PJ)??w4^^hGvO6~l=bYd2bbRB(lo)%FlsR#p^s#Ynm>+kWX7iPGFF zs3152jjGPlmk^x-7z4MkTJsg&bPs;{Fa~C3p`t1JvpTqMH^BBpT~SC^WN zMf*gG2c?ER z@nq`w9JM{1Y#))j^y0LRIGPpk<@kOMRhWceczAPHTd4r4+Bh{fNY5&YAP>r5Q03_E z#j%P8xXkA5h>V*%!9w*0x@t){r?W(~8GK-}j=}D9lX@$fZ@LwsFaqRdI|&vls;#?( zhm!5GxGMcde6o`Zn~o_44~d%?Tip{e34ljD_HDdEP`%&pJ}cR(-hc$#4M)K4M*9m0 z0Y+FjRNM0QOws(^p%pNtHpO=pt7)l{SVZN`_rkHA&iCn1X*5K+Sfh>C7YS_Lb9U2tT~Jd9yvfooUKqp?v1L8 zUY@$!uyL?rR2b^15QjF1E}`V{=4E}ygXxtf|InUq?T0@328~060Hj&x)KKE!4-5G- zW8lRT<(#JJyt|mcBD$iMP{R_~(-jXd>6t52w#YweH`wkGI-XWb#%0KmCa_uX9eQmR zd+asIZ^!DcREe*@>+KT7O| zw`-~F7f}vW(zeIyOvfj1JZeow%?HLJNINF z9&i#q5;Y;8K3i=WOQ?u;I$!^CdTKepxTtMlAUcMl0Xkpnjv5kQ{O#Mf-<^KY=TqgN z`t}Z;eS3Io_9uc%wNwjrZ=W;qGM(xy!yS(dL7va`Je!jkv!zZjK(JVyd<}-?&i8Pu zK=PL|*eqJq%B|k;y!rV^HH%4k-WWf}iuJ^maLhNIePhU#)Sf$i8BVSHg*=3!ZD`nA zp+|zw1s=aYDun3&EWOf69Lecr*U89*e6S2ahJmdVxGQtn@H3O-xkJn=g;Z%hvH&G zP|JRvJi-N|I_fPaYz(JeK{nl;l9(wP5r<=no-VUNAw-DKuc24%R_Sah7MGOB6wTNj zEk^SBsYj34Zf2tgZDKO#M<4H{MY`W~X|xgo6Upt=kHKQn0)yG%(Hz`GIl&*8RrjtJ zV689IN{1Zp*eU(H$bGMV9k?HrxV>kX(9o|A9{DCk``go1i2#R^g$A=SkEaX7yhMgG z>E3Yk(X>=dGObov{(!LAwiH@YRy6*aBm;4ey@)j<`nNm5`^Vgu#Hyk>%krNc<^a%v z!A%c1UbX!uE0MZ5V{J>(xm{2N1r2RDTt5Jd%lvKO1Ge_)GEcr@$=9blbDgEx8pbQr zkKeN(>=#<~BDhayPnzzZAY~@9u#Q;Fd5dN$-H&(xY!r#-^YllqVBECk8kZGIe2CIq zxi0iX?X9CqmJ7s=eSftEvB}X~`(e%V=glJA>}&M1Q54Ej-I?L~ue9UEROy>&2RZDu? z+keH=Xl-1rEUuWSAonC78bU= zt}e@dC^x0;_j_F7FsJd_#JMFTCG%xlpl@#-ri*2fYg8oxm{sq56#j}8J;*|KmTdGM z#haN3(YGj|vk7->Ixc{0C2+)%KjkTU>NpuqPzy!3ZCkGJ02b(0k46QO7x1@V-;Yns zWy!bBc-h&yc>;Eij{0hjSQeU{n>j&w{C zi8@+&d3i;9Rg@Fts|=YGi`9q95QXzxmO)=U^jDt+tB=N!)zmQA?ahT(*qP`U737-? znQE=p_~Xx7b@oc#pV@VgKqOl*zT9tu`#?l|qbCpU4Lh7Vc?!ROc-R8qaHh`Y2Ug(z zQ%0}7u|;!1VL^E0>`CekHrWr)(Yj`4S#JyT^Pkkzj_TsVf<8rv(5=<+3?Ym#DXO|(m6D8M zOeHd$rS5Lu{r!8gR3C3|`4JK}7ONGVt2m440u3KBc_Rkb-E5>SY;0^aE}KuPC2`St zqmy-Sv;g4utEoYT!<;qf&WEaRLhYHK57f1^Mr1)lM}OxVuJ>QDxw#PzW*lk#pc|rQ z7NFYpUc0-y2^;0P^k%K}2XsddkzwfQ={MIbn&!)`k08_coH3br!U=D zxZmF`dV~5eVEIfb(Gs;{Xfn&aU}1$sz8_prKt`eX>LZl3bG!hP!s#s3*5WKL9Y?7# z0F3Cwft|0ve}$3NruCMn^~hN#P;fv40|WKDay_T2*P8zP`GZbp!^zd?+1H;Axpjuy zzUaxEQ$M!q4(a@Gi7b}$6(9!z(gOm*`c5UJ0hzZzf!2N3iZNeHxNWRpYR~C@pN>5h zo`OPr8p4`iTU|q=Kal{F!SGec$?4<71l?mMerBf5_HZN^0RaI(xGdaz?cL)=4WYI# z_9pd3r0?s=4_&R?zg;%uku*gA<#k{?ru)HMi@x~!S`m`(!n13z_WJjfGm0-Eg_6ex ziy{g$I4tXc+K=QfFAq%jXwZ3KAAZxLlP7ukqjh(Ez|bq5FgT=CM$5$1Q>DX2{(~}t zFH?JPyFwz7J-JuYVmvcTHC8Oa9sQbH&FK1 zGHm(05yQ^1se_xXyMo;ZOE>v4A>3ym9*N$vf0q#rIeA(S=og4*fgLeq<3|^vn6ioF z4IHanA0#bE^izQC28h#MzmRz6i%lZ-)Ns8%DVxV(XHL$+97ol334MJ+vpI{$LK;4L zivN!Gj~L^JK)@EXvtxw6y$!`=z!HXhx|TYMW(8JPFvy4u^#!@@>s}r7|3rNU zWdPJf`-e3G2tw_D&I5?||2Rj!!2g4z{67waU45nqQ3;tVswRykMk|E*Be#&PrdvQK zhbmA&>q%iHgQ+i^$=EqR&L!I{rxWhwHMJ-49<2Mr1G_JzNW^C~z*uzkm!FdiiUgMV z@a0V%=rZC7n5Kbg>ubZ2%4mO&A^w~ymE4L>+$CcGMH)2Q4D!8zwo@dQ=(Gq_aFgZ} zBRiaIlG46i(pZv_3((ySr#JaV7FF2e zHN;r4*h9L#ms=9Br@L%10|b!Vu>|3uuRRY>We=j%xa@YJdt)yPHSS>Ku~F;mpHZkZ zduJt!$}1}+s#6p&0ZKYaHyH+%Mx1WXCm{SC=>c3ZlB+96>(MnFu>Ok5Yc1b7w()2W0h0Whjsq zXf(0&z@5Bl_Vs_twt3>a#@0&u(6f4m?lpK*$>8cvMK%twF>Z97S>YQ`x}PJ`SoXZM zxZJd0@#!BYjZB(=E=gHUEr+aDKWH-u`uc?9w%nr&#pBI_y-10A^Z7yixkg_wDSYqf zDTTAawuk2FA(Fe-?zyWd|7`Hp23;FT#=D6hdEnubJcBgK-*oNvej@w$YjN-e~1 z&lWl}KwHo`JfMN~N&W<;L~*E{mw;5|4{MWSabAHE!6V#rP7%eyjYsS3QEu2rkfIT*JS%Zs?DgNFANQ$hFyPf>5Vl<|$pZNGQwsfg@6H-VvsxJW!(1 zHc&dl^u9!mq1%U(aN|kb7ZtXyjEGxRJ>DfhIy}0b5lHh={K=}uT7CWG_u;T^bjZ;s zBvXd;mv5H_b()jZ8}n0QW4lMC-BSskkeFzFJTEE~k=k9j1M>h>X>V_zhu47C zd1bXo8ZFIm9FBp7DpZwvC-l+>4OZvFYLA5~9Sy}26=?|x$}~+2<4u)x&snS8ogpPB zmzqqG%n$1Ic7ko{03yhfP8S~+0+hI5i_t_Ts9*9%qjcKmV;>;{WQv4-KwO^%sg~?E zc!H>wpo|IK$dDo_kZM7YkU+ZOa019Uh3vLxhhpyh##L&L`mL+KKXA4rslw*Q1s;c8 z$mg-fnnD$=?vLL>)0uYEi`!W%f}TgBFR&ghudI~U)J$lFVsX2rWMpXj!=041{jx5v z6TfLo4kevJIe>g~@9!Ll-{-1DBBEfk);*I)k!%n^p&)P{)|x6UH|hfOz|x3XE{$7m zeU2Iclh!r0{H<+%zsO^GepG3yyoAnRd#}=a!#Ucyau&Qp9iek)HBBFCks&afwcLe5uPz)npj!M z4gmqZ8^$&^{)VkTar#L5!x|Nwg$80%t~)6w0OJdGiGe_T*Yn~V;TEdW!?8O7u=Lq} zf?7*BuFWVnK*N-J9J5H_wD;$EOOTwv_hWV1C)Mkd)_GaXfzq8eWoiq>>2+MY`(wT! zcf96_7N#hkXSI~)bnJTPX1wyJz@y<;5sY*iClNV$5_?UN?fy9(v2?2B+A0sN;j+Fz z0_HEEGd-Gpm8?lhd*-%cXS2}<`^HEaGl)#FK9h|H@&XAbU2blvGkSBx@?dZ+4Wdwb z%)9p5HD75>1OjxwqUErJrUW(2pblrNW1BpCe`HAaR~$ci(r5?*x%hJ+K43Cud7;uC z67Fzr_d4;)*Vk8WxJ0DT-TEvIp}}^iy}y6I#i$SFOib)LUKPl$2243l9t`btHum{NwF|*Voemt#t#&LO+C%DH@3PHal73)zQp;(9olM4;d+S2;?b>%e# z+rH6>kFjFBS5l?RO<%f)e)ZoC=GhUEm@n^jD%RCpGNY?%1?m2640cV zp{Q$W_&p+$h^=*xEaEJ{?e@KHM6zWw789}Wo(h|EwbWw@h9G@t&*D?T;d0?~auWDc z4`9&o20cg!c#Mw8og#Dw)BM*_a~u3l0$PTU^x}?X&eL8M0fFTUNQC2&M25YGR#)6Y zh1(399BAB~6z&`=b|*apgPn#R}k?=Fv2atN38}_!) z;mk9C%7Inr&Jtn*8DJS z`;jLzJ$)yWC->oO0o3;)6v=zD0UK(qRv|zi=E;DZl+LA^v~P^@T&PK^KMA>=CXogm zLel$D77$3t>9O1vJJ`KcEh@p4K0V`1PGMXri?pYu_LGvPYT!3HJ7ln3-w?lB}J2uzH?oe#6%<+0TSmj zh1EI<=z6v^m#KR0o1JZKpGGwb6@rqfb^u-oAk2^nvg+H${x1aViQ9Tr@bJKuC&Q}* z;^zKRUKfJ7=Ds(|b-6Rd?{{ec0`!+4M9V9{asx{wjv`$_bGbV*;u8=N6dv9&E(6zo z!f}_cnj=^EFu$~LxoOaO&;h2^OsG~{&$rS;L^D^qa?eVVK1zS`GhUrqrQU)1TSwy& z>ZVrjZw5~kK-k1udf8slSPO|Q`NB){2eH`Ij%J$&8?pV)8jT?!J!kBmKBn}zdp@o2 zTF_3+W@oGu=1nB+zI*R8u;^C>WNr`QdOB__bd7)Pk}FMv`<~~QLaoBB`cL4hXm7+E zl5s8-+S_m34@`k@dOXMQ2Sj+vP%qVw2_T zuG4`*z~RIP2-mjwlFllfWu<9Z*@;jzwltiTHofgJpLZtngeRGsv~J8~;gabiI5;8_ z*6?OqoP3kRGRvJG4C?ml3uFqrJ3P>WjU?Bxxt`)bTgyEre3$DV z;nY4sL(fWs7tELj1qTx|Got{Mse%F{9i26*CO8ZVP;q~|KOumfpHJw8V{v7U)ft8r za=JYGa=9XW#>50mvD*sBP*b*-mj9}>j*&Mcj_f_Uo-BQu^$BtxP|`Hei@o>d$r7b;_GDj zifjv+N{yx0rK_A&BRw@t4f67It35m~YQA_)BP9io%h=s9Hx~gA6!aFCtnUPxQXMfQ z0=B_oXv1H2^aW$OY$QuqdVe`5&%^TE>TM3?SHl&``ntAo$gU&^8p9(=GVjd>>e;|^v8OE0&=r8JC?#G9ia(!!=_NE8i6keeKFVBkgp(?`}_#=zV7!7 z)&NYtOp)O;tV=EPtVAMX+qz0BN56<+9t$N2{%|8YT zx^5cbE?nPPFhAQTlW=DysN@eQ^?yA(^&^#^QQ;X`ALXE;V+>AC;n^2N((GX=*EZr( zhwhVPx*zLIE>83GnMb1%9GZ`83uNMWyAY)X*Ynz}wZm3bUppP%Fgm{r(>_j*_41Xc zedW4>#(ZlW`NMTnQ5lB0MBZ;7GaT9fS6^}yi_O+uCOyLNwqqJRj`b$hDk69BQW>|8bvfA`VsyHZIEa zTr)9Ea)iMa@Sow^?Q0OWOuaK5zWvoe<@%5IApieCd;H6fI3e^&r|bfTsDo7h`$5sa zcBfCEK$pI;c#~Yv+tAoZYw@W5{G8_LUo2oq^pCmd<9LagFkm5)538!FFq|LvcxHDt z^uFPV!0H3K3Z5S>_|XH^R)0-k0=ToGSGS~LH_8TA{1-15c+m$s1 zHN>ar2A!t?^4QPA82~}g%$|54N3&MBj%#?KSX`iI4yh&wFI0P@TGM^4=%-&15&4&H zHI!Qnxj-<&;zl)GDz!J(25O(qYBc~UDyGMist>Sz0V`HJAYauSI#mFagHzo}H=uh3 z1_kM~XQUTsl#$JtIZqaiX#=a#bzcFXT6t1GCWoiGjt@2wAQDRv5EB!hq>{E`$o+K= z;qyCvZRA?8K;WBok71TdW9J`2(JWSN{f+Cn-w6c#Yft`+sRue&=z}NaZtECW+;hu^ zf7)&m*JU6wG9{*h>>f++W-)p|(EtH3*Muokv1&!2EP;Q<6mQsJ>_W2+(NbM$&**5J zsJtN&>+H_Z-2GLAO0oJYN$c3lgX=+Igw5&Z(7&EAdS4~kx#$%XjFJ821Fregv zuFGapM&NMaadP6zs<*m1?=M$?fkB38A6(9aqB9}I9=;3_1MbNHhtw~D;27sNQw+Ws#V5J z_p|%E&L0G3#RbpiIOJc{2a*$uN@#_}Q7bq_FoHoC;Ls9qDReSP(SoTo)S8hJw$R{l zLf~|=Ij`RX-&0=BsBjdTl#c1A6mu^?hk11>v=u8RWls2IjuTx$a-cVE2YcV?1F8Wx zY7It?oTz}nN5E_rq>IT^JksY_|Gu8Ml;_!vF_9O=HHW>ha``2MLdZhtCOk zfO(CL(J;akJ-=w{>6Jv()zozGd|UTfMA2df11VvKW_jB9zD(m40m@>(+Nq0)a_HcfO4o%s*r|AB4xX=X|Np9l!I2L zK-@Z2>a=&d5m&OrW_$YqW_Jt_Orf>3csN@Y&u>!)^2XfAl*f^Okw~ZMS{dE(K7`OD zgZ}cG#42I-_VIurv)T)*U>A?-nA1Gj-5lEP3u%eyT?nvYxTj_Di6B%y(@u$B9ObIV zvd26xdJ7%Z~e|g`%0JxL;Lobu!bDK5HU}Jg*deK0{-CRBZ3i!cq zBcVT?H(}FZFLsOQlHp z6b-ahbf(t=z>f?A9H&+Q&vkJ>5segqiGktYl1eo@s|Zr;^78X=DUMoA5@7mCW5rP3 zYEl+!irO4sH-|{{Cfh!%XcUwEAkj+NiWLK2F`C_(O*BebbA3ZJyfv}V`k9uFSqd=I z?~V=#hu$1A-6aHyEWUhAgt{7faslh64U;tQ3ePp1Vzs)UH~Zt!(?1Xk#16o8#x?EjTMn|(6s1I(hxFZ1Z} zy`%NlkY`#M-#y}JG=6W_?v7wgHLGlWJd(m$%6fAi>b+0qb9J;3`^=)V9H_7~n#w^! z5&x2?y^^MZiAb58oJ?oy()pqFM~JWE<4_#6X!7jk9Y@vBwBX|oKY|L~E$wTBcfU%1 zn*WLzebbXeF76A88Hp_j_352X*Kjmv>%#|eSNTEapP4Fam-%6vz0QuqJOS`og*KLV z?x$&YJPHz($4wn;Eg?xbf2gQJ3| zfuDl@lncYNhnIOJ8Z7@#s|#rIZ4T6S@`;@`R*E6!8v1a)F9ed6T)OdOVoxf+M$~f^ z9yW147K4bjW*0rK6uC`mEMC-sOs0-^nwg+xlt$lrXBpuh38Jd|-axU^o3DCW!A_50-fWuPLA<$g!&p-}q0IZ71H#g1+-(Z0as1~AUi~#Ot&(_4;B=%@p^!Db&%cy3Mm zo`;H-`A6Pj_*>RD-K-iU(qzdtz+3vet(rmltXbl7a+S<;jI>y+ckzS8HJ!<6a`V}3 z7*ttWz(G9Cam(1Qvyqd-9?_S~iz#a%zdr34|Es@U>ph0SBECkvzazeJjVgO+A>Rmm zk6fsH;a6#*o85a+%PC?@^~7$qVY>oC^m9VrcB9M;khg%2ZCgh%I&P+5N4c49;uJ?s z#H@+8l-X8UBI{Qx_P)DU3d6VZR0jfb`P^2RUB%vI?x)a;)g#0js&_>%GEskVgBqy4 z4UQ8uym)SBf3&<4)CI9v>-O3twGw)Iee(mAb^mO_sINWI$j=j4=;|>JpH)SFt+^aG zR5pkUW&OTB^;_YtYD_1{D>G`z3a$@Osh7F0LW`-Hp>)qu!XkoTBQ_?&zQ5E#;AUB! zYFu}9&iZ1UESHzl@n$NVuNQiHqk+|YO`Sga+jZ;HTSRKMNXkCr29%pV%Rb{YZ%%eV z9xLCwNZcMJw`sNv+MMhYyy7_j4wwTwZ+Q!5;5e-`AI@Z~i*CuFLSgPb)^LIP)t-k3 zl(1c%y*8akQExDU`?Unq>DOAchvn4!mbFvDv&l9|i|jvA!j7|2+`WD+cg`+%L_?lz zp=D#@hi+<|I+zU7)-T<9X+S~j>~N){RglfJUd9~f7FuK7t0E?(^?r&^2Rq+41mQqQ zlm4uiP5=XxWG5%8U%yemKv6sV6-!$c6CLV9YNFX%JgwS;D}?8(uD>=wFHKcDs(75$ zVb;j1*CE~ZkG8k9%(EU5>Z!f@@D;SPMIhry!sIq!1G8zxXhv^g-^V=F6D1%eZu(?< z6!*o^^XDmxG?z|aCk(9eB-#|EwLGIkqFl(vjnetq*`D!qi$d@d%aIy zdAD$f%AMvt+$AbZ8^~liXb_hyzHzdO&3U|-A+gdCO72Aj?kl-2P$T)=UjARI zFa3#67KlZFlHqK@C}r~nSoE!ZhRT`^)Gqm0vAVd?PFWMrpv*g7ObpIb!YtKjOEgU> zDuMxc+n%wr2cv#+d+GFt%aOX3e9fU~CNq}jye);&*>wU#;@1!fjeoX6G*A5Buy6PM z)FP#_Jb|FiMiDT^Vr-FlnWF6!+)(L$~gWSn=a#^nnFBys+e9`6)-&( zhgzBo$RlqjO$Je+&<`^N{_%x2h@hsA%l-@tC@%oD-i11(6Z);6{S zSE^)cG1rtre*9H_Pc4;Mc}!UX#rij|12v0&HmYoIP7Su@dpDV29-wBO|IJmz1_jHWTgcHCO3q*xcKQ4=Ql#u zj}&GULa&@?kggoMy1HnOQ)twhjeO?jl$L@p4CW#{DVl2yZLW9Rdc9Jc9X`VKO-(vx zWzDFI9Q7g9^cULQ zw~B-(ZUp7aJ7`8#s?=7C^ur4TZ1%x>Ef2$oN$?ozozeUWM3C`=456Dr^VRaG6SX;A zBcq{gGHbsIp)7;;bpQ|-vAa52@b z&IG;demuY=mxSwTr!&+WyFHlb14zgKsci)$Of1SsGVONW1Ym$^QR0C^pN0e+UAdCz zeQ{wFIp3ur|HIPfA@$M6wehmj++vugJu9TD*`GmhkOwdKClEWk2)_3048;eGVsp^` z9RCzYtu>M$%P(6XN0WRwQ{opE#smWROMmVjgKM_B`2kKkh?^sAUENS%ThN;QtN#`1 z=Bkj#RWia zwFdznAK>6z%`jTPQ`OPccebL0?>_JkEu-(mZil@2jBs6O$vX@{SFCSp>uc`3Gj|p>JM~Uwb5+1cMu5p3Inj`6C50W*2E_6 z=Rg3gh#5Q!{)+bTc{Ku1959Usc1JGOi1QW50Y?OoUSzWHz}~fqFk=QlT90Ckel^}n5OGIxKS zZ#Ey+_xHa?_rjSh{1GiY;c>f8Ae%C*0!~v`zx*(sZL(BMWwOUP&A>RoH1|Bek0rbDFg#~zfA=A;#)Bkr9+vL_=S7#?3Gc$4D z5yu+aRRRPOi*f&g7pQ@)l)CNhP5kSW7q zN&7Y8G`Ivt1C*L0=ADTxl29DFk052laDcp#`@*7eFk?ik0w_OsvIPnfNvug4O?R?c zwIt&4Wx0wYrf7w5py%hL!ezKk^oGZTg)`;?N6gr4ZiELR5q#hp1!{Q^C#?s3W!ydu zb`Ru$IcL`D?$%OBMC8-z2|I)K_|L%@>d4~;yJsy9!_g$^8`U&(V3VDsI|(UCXfCQQ9p&)|#dqck2%4)>7cF(Z)PAlW1q^ zh%)4x!iU|)S*$4K9}t?DAGHo0dyEO#aLR+9GL3k|Uf&mR!}z&o#+?&YlBc@6FrvHv zus;NJ>!=P=mw!Y@OZ}3tbEZriD35G|9C(ro)8nVaAezX3x0#9|LCb#;=+L*%2ayL%%Pd*$jXU6BdU(cz@p*>-Yqn#gG*+)*Ph9i3tBQhJ0=x zxB9~G*WFu^7`ux^yCM?8?k9;zC*flJN#)T%v%UxEkZ+Anih1#Qa;8d!@MTW#of|fZ zMc!j{e$SM;bQ&n}Ocv8QpSXNCuhDY|VhE44J}f2AI^lJzA%yoDXVJ>!2Tcp<{-Kwo zSI(R2eR(2aES~7em^qN4fD4)y&@K*6?_yNN3{o{oIHs{JrvA!r;1<47k(rP$5i}{N zQ!L>^J*}*PRH2IPUq5H^yk!k_0cKjOr;9`t)t%wq7%&}{0vL2{#)bcBLb0t$>&vI-H zg3<(iJj+&D7{s>#6Did_2u3apnGM~pTsa&h7DtNm%DDgAW~dhh zDctrAd9m$HL86w;V!!1kK>GK)N(n?>q5t9Ze_oKx;V>u=9K`JnN8J-^;fPQ8@KsT{)oH6=#f4!&;D^}-rmN5zsoc3( zo;PQQQdAtJ?9-x$q!E7}g2pB(tsmp=iHeGJlsb^9N?!>qeY^5YX31;%s0pvDQ5I&W zH4_`fWd6e*=k*57$Kkds-&ZGXE;T8pH}avc-t`%WW-E%0+%nMY?NPx}_RFul*AA>C zS6@^|zVYdqY`!TQM$8khB*WdZ;YLkQZBsKbFW@)ralAJUKTJ4_zkDs&o?(+? zdp@E&#cC3F5o3?bp)z4Fq*MGMhIF3<&inZz@8?#*wQIY0wScpq<`YoM0rm7w(w<_9 zbvx68o|W4dYBs^*YBW=BZu0)8n1N5)Ebyaj!zEpgmD?Om8(3>4`<=d3S!AlSQ73wi zt@fOFj{HF$C|&DZU})C*q;z9?7ixC+ea*Eq=J`um%u9VIglyD_fqju!NwzU@h{-!k zyh`M;=ErS*eW+>cFY*-rr`RG_){-)wGoaF;V!Hh4k_mB)I_bba zNxe3+Ie1&7a%f8bhYn)*QN%#b)Uk+n{^jS_tf*CT9D8j0q;Shn|62A%2vycP>&=Y@ zl7?L?)^TJmc`gU3)uCECPx-|eP?EC2hqS$cp6}kJoHJ;4_V<0yYs5rFbxs;3v$M0^PGx-g)|1mt zzg`dq7p_XFgvaJ9r=ZsH(@)_FN2NuL`nM)m#WK~>4_>ZR#{?Z#g-23@1VskzC+?%L z;%t2t>Yp~Sn$F_aRnRScFgT=VAGR1eD~bDKRxCbNvxdC?KJXJvvmMLad#S^nxPrPr zdY}uAZ@5xQs+h$5q5|7Vi?t+`$W#~c#o31FQ3!oWeka8YhH&8ZPi+t9({Vi6w@x@% zx&HIqIe`7^bKi?ph4yPP=aq?xNu~_Ba-%sMfj`2t@kR3|D1+tu0!|nYsW)7g$;_5J zj=7zKnIJ7g$sF~CNnBb!(AEnn_Q7T)HzjiVDaf=O=i-x1yq!bl4Wn3t2p{SXvNi8JiGa zf#7bY`MH7U?8#K4+KA^3#~1-hUvu|%DB)%AQjMsw9nWyDH{49O%@ryN$QccEj>iNn zZeD=v7t(=6+b?6XC2U?u?C9fBoWiLI{R#0&56)swpeY&`$S`A|*0Ub@y(kE?Swa09GYSao#KNrzf^)6Ni)}H?~|^8O78*Q zl_f@hJL?_as^uL*ZG*1{T&Fwozf#2^WTcL4cy>-rAmbLCcRs^)`A4E{S) zGV##s+@@6CGXb{?!e7@58Lpb_x68d3eAlbE3*N zMn>Po1V}dpqc*Gp0{(akM0Lr+Zr!!Lo}1%4GM)IY-h3;jp;1TUxt@2%YPEnhDV9=U z^*~r{v)Er*1OU4O$eXYj)%~(nDZi%h8(j4`Raou`dsc5aZcX@u%s>CQSiL?%y&Rg~ zL`g=b(5NCjUU_Hn;6wW8Hhj#VKrl@^V6EYOlY95LHN24NLA~LPB}EF2ijDqm;OVZ_ zl;5$(p<-RQSJ(p`e=r|jpRp#i)L%dOX_X_Bn5tP`+RS+Fv|Ey!a6?!oLXtLH_K_gPC3tVu zB_bg@P~MId57`ptOG*I4V)1rQ8kfKNh_g{FInJU|p{KF}nu6Ml7baS+ulZiS0`x{B z&%sf9rLA;Pw&Vf&jZBO@&Eyv#%`lZU)*tNi!8UNXSBv4vKUv{T^6`_wDCyv_eeG9y z1Ip2fddy^xndJlTZ)v2R!==LbFaycW?JJr2S5^yyQ?oIKy{WUf0(y8mlMK(^Fz^$- za&ls~QhWbdgp82exvTO$Ass#aF?V4PuraBXo1?-s-XJe;mPWB!MLKafhILve-9zbs zKUe>9=!tYH7eoSGY@LfxEZ6tm(_Nv~{u!VvaQV$ifS2f(6!d(q(IvI<24%J0^_7^| zcV2JQuL&Ca^Yvzmoe^=-9~!wUkId&`zeH9|fD*iyZ6u;o~k)XK|HuPC12;)AW9%eu(@)-fc+rpCIS7p7cQB}$)lQP+;5(DO6Yyil5K!5$uk2t zROx^Kf=B9uDGm&CeDFtpt0(U`SULuZ$WVy*8Eh%%vxV`M5o*PpO!lA64NgcP;PALn zCD)y<_}{nX=nne1Iaxr}i?yjW$4yvR6uGM|HpaGC9Jl6(;-$qTC0_uSR_mW!w2mN5 zdbt7{^OYlRF`MGp0zkX{%x>Z2o@#W`ZuLKraT#G5VXiry#3b0^d7}tHwLRvayqM1b zTY4%F>tArHtlL}O=SMeHpR`OF-Nq*~>!ND{JiN~2`X{^74suS?6j7*{m?2FmL~eC; z-G;@g1fyePZ@8|`M%u2Z724lOP1n@a5S(o7>AANB5$BEz)hOkt9Np|eWMZr!1V3iCmN7o=>>?1((aIkc=av+qc9vkrXof;eS z1>XbXge~aV{*6dG*pG!DN1BW=4I(r>mm_iZ5#oyDwlk zxB&N=)w;X*1gq3^If?g#@zN6)9^TDzz6@SQM&_KDvvolGMro^%H*vV99JjR8PWomG zd!k^rJqPvM3yj`Tla^aRDj_a7&5k!BLq+{lwO4;a7Zn%hTN#6ykdOd?R>@9?gMb@B_Zfb5 zc<=h=_V&;8^pJ!Ey0DotNlCYW*jOwTm3a4`U@<7zHqw9*7k4kZT2!(sS*v#vFLJ`g z#YMZ_buHRzoxR!+ANdQQQxQn+Kr)kKP$0hs(Gv)S@<=f8wKccnYxU9%5^Y@Lr8|?R zN8^|r81g49f9Fb)&*9hpN-KKuB}hu<`^)X#Q(RywM--J+g_w^g+1jin*v#|uTgBb3 zN_*6uwzg0G*d9-+ao*cgHPRxQ5f*Z% zlaCH$f1ez|FiUza@IBF$lr^KaIUp(TgOS0KhLGa1_m#+Fy5l=H&TQAx-+;<2alh)B zP5RN6dxcCPAo|G2TO@KP)|GhShdg?&YBl?U4i{teo9BMx9DMVlf4#Ce=;168uy0_R zaJiquLKt-0Ix>y#pFK+pM;+A$?+w;8^QZ9qM!T1}8JU@S*2bNETTvzNIBw?jJQeho zQPtTs+(x%!n!O$Njxy1b9skb1@N^0_bJ(}8RMg`VOI;ubP-NlHvifyFf2Ay6-(WER zieh-oUckdIcr)V>g@T9BTTfXG|4?WUOXrio?6q27p%ZQN$|9d6kg`jY`rkw>8FjDt3RVR(x$EVxvU_~RQDr1Zi z$yK6xvL?v|6joLvZf@peEhIxK7C9Qs15f>DFQUJ^#NFy)9V6e4fAaRNaJ&yNd;WGJ z?~Rg&9UaGCoL67>Hwk}N z2tC)l4SB!=gF=3Jg#;+z7#p2T1<;@eeRH}IDTY@0^69WAXEVLp3pB(w|8wtyI^IU^ zquzpCP|216{FN)4rn1!xgaU%my2zE@0^MZH;oWk=d-l>|Il2f}v(&_2fR4>X$( zyBf@eeJI5%%~($Udo7eNJW{@I46ssb1l=5km5#A5i|xXN`fCrw+NhZk4~WmNc&rt| zPHM+#EjWJN;TasU=xT>uSN-(~nnu5ie3;%cG(pV8{rJrsa5by&dA@zL=h;Uz=y9aA zrMv^*%*%VZxQlvIaGbu@8*iquQehwNZD3o|yAI}h`iw7KGA1xC4#&V$&9?>a2G(|I z33bA1O32Uosr~|w^T(`A< zNNW5YLp!NnZjBz~o!ZvsAEsXE2FEBQ#KcM`G|51?H8g{mrNohmxr!tOT<+0=AVtQVrxFA_4M7@} zc`RP7tUCR-_@v!8+*sk1f$@L|Tu_ zV*ecYFDYrbDF&;ChUBu-H2IK;j}((vH;Vy#@aK8}*IE`7 z4vmi+oewH%ib^ZnyHWA4qvkgyDIN!h_? zhs{^+KY$|JSBj%t&#|_&`O3rl6PnwGD9jJUm(adePu}L+=WH@gfjqPFE{3$q*G2cV z?@G%>Qc_w-n-c-+(o>c9vCyYK`~z7A1zGvbp7_iI6UK=>xe`=ohbe@+jgNZ1fQIol zwWRz)L4$7d&s7J)hvxwu-4idX|Lif9GQRljwCG*acmkXJfG27%P2zpsmn~F3qjWHe z^Q9Z%t>umN+Ys;V;70dMtzs^As;~W4(4`aTbLDxMYL^t~?aDVtfm>3&>XZ$9S+D*5 z+V&VHFEZcupBC0%6er=8cICulnld_ZwvkWPA{Jli!;;EPPW+tslEulMpVxEJWQAgD zcE&_R&?MFxgj4a-iF!*TW#(H#dQo9ZVSp|ohOx)*aFih=y*a0;~#b{pC-fw zPz|hHrMXd_N?{);U8GVT0aM3xd-w-v5y^ft3;S~dA4&^eTvX(A z)a(^iW<-Fb)m1I+I3nQFe#m(qrX|~P&Y)zeni%)<`8@~Y&T0c>IN)~PggP^kXO+3; z84P5Sz+kb2&2f(NWdPktT32E7;Has+J6`Y^1;x9sgnU>AIs-52zhf@aP(1W!A8Cyt z5E}4(?4SNKETMUL}K5A9G*V(#5$wTURS8u(0!p%L4>ZX zk9i)d6F0-=^2E|o*rbPG_anGN_|Co&2cbP`nbFCkXmj$=Jf#o$@H}MsbWS@-)8or^ zdLz}UddS)o8Pg+dt;5_@(LfwSYJ6;LhylN+ zCm$Z0y;0BsyH`9P{i2(A2u}ORy2aK=AtMDv=jraS9|cj!^H+$E`d-D(VIz%=y*+ab zP3&MbeV(!d2^(9CX7zzSu*Ckp^9L)1a%QuQCd^!elm9yH1llPp&KFb&HU+9P4u&gNtHu60S*1`RJ9Q%3spSDLR_E8&eoIVrz)psqZKjN^JiJ})@#g++0?DW%y% z-C%Gu5>c<-_~zq(G~CL7*eD{6jˠsm?szUr~_>@~w1+`Mg>S*Wc~%xmysBGvj{ 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

(EU#>oP#}tmnS1qL$t$(x4p`yUgB0lEP9{{ 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�vrXx*F1FV+s7-%VNFqERv4>?9f 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

qa5rslapiIg=8`9amujISm@Oow-dVE zbp@wLtzh%DUJh`Ef|CD!IlbmLT&_Vwc7nPGnoe9rVZ-Bn*M!@yGw9a{4Si@%b&U0v zbUt6;@?`T9QLn|{;i=f&+?5u57Xde;_D9cmk*;*pm(u;TJz<(!>XmT{jFs}uU=G6 zE3EP)KCuk1xfzO?fR-`Wt0_vUT)GR!i9hPYahyvo`tsv%lCvUQB98d`Q*C~i%uh|& zmwbLYm8U365j&0U*pVAYeI+yRv63(k$J#y5i}ETqDg=M;wIg*5`N)atq+_9Cl%1t{ zx%)m9vR5mC}+(%%B*k$tb{Xn$0E|Egn=B>jQm@NRjSgQz!j+ty;0sbk_x2;?V-RoI>^+%U3D!-$+r0+`x0hP5E;8y@+a-5 zpfLB9gr5j}d)*zgPrs0Vj%27T@2O~ce0wg8o(oH3lS&7e0HfRH@gKr#y?8gS2t-?l z-&(~#KXpzam3gARaMNVL4Gn2Q3owuF#g5o0)$l7ymd=_mbF{bGO5zj3pF_QIELtu# zKlDY`-Z+o)?3jlqCtaD@l`zwL6_9t^Y$E}djAS&-s{~Lcfh0ge71fP_a;qVNg~tGN zaQH)>9_#}_p3V6-{O@++>1O?BR1iEh{9N->!JF8(1u>KI& zxcomT>6$at(RqWHcY6tUqRzzA4EN5v$d+OZL$4CnS;*G~ zU*ozB4KUY$)ps8srLk|bQMnEcQ%X?n)rLjNwn7u*hUIyq3?(@zBG>=uCz^jn&XA=@ zxEQ;lANMv=+)0$dmpDO!w>W&jq_Ui7>yG(M7c|LO3^h_jf%diw7vD zCh_IX5rCfgjSmXb_-C9S6-_#TFaLh%GOd}HGS|JaEsOdHa^T_jCPZ`9q2p&M6SBj|$Nw85k;}#Q1=Lf=b5Tn>Bb9syT$jstg?!(Wl3x8f z;1W2$)q4k|Bx?X;T7n)k0h*#g1sv%TB(q2NIIkx6Zyfd(Uo*ed~5|tb-?Pvw!q~o7*!~JazABsqtYk0>?M3=!`~emR+TnTgn8z zvgFoYxT{~YgAozQPCh@~jj5XY@C*QdOXW9*u@-&z*3Gj#yrdFwI+H{4<<-@?eIni> z$b=oYNa~LV7fjz`x;tAMtOr@k7An*`$NAS-s*MzF<-2&uCDY}vqvZ<_z5)ZKd;{Zu0~m3(f;NDlIiT`_g(|kb!69fn zqK3H45}xm!akx8K=}a6U)Z1NfnnPz_{_=%u1L=X`Crc4JR}n}m8v}jexU~+RgW7d5 zp!2HqnDJn>J|?H5i+~M{YaVY3-WQ94V5qRK=iY=J&hxmXP8=B9*tJ>xxH@?{nof_r zGbcDpga1WL%f805GDgud-`-}|4N)@u!v}_O_n$H%*HNhH9dh)1lMawX!Nc4S)r{Ud z)4oHCoAG0^*Gr9%&SrE1{aL%6 zA(;EQp=B^=u=AY%Mc-u{RcXy9E+Jzj>#op|HhxaTLo+?KurM0ok!j1 zy2n~;4R@jlrT@Un`d*t?bhh?P7aUWM1VgY94g>&F!}@`)VRI_95aGF+{#wNI+>7^G~Bpl431)> z=sW4`i{{y}4i0q}YpCOEWHQ3GkDT{qNkGod?Sd{#`=j6*g*_3|4O_G4OlQ@~1pn|e(o z(#jcurpf+BqUA$S5CtB7I#158{|x?M`G$vAA65c&!JF^jVg3UQMB#Zt1^Q*tKx6$P z1@Zj@izlBxeOd;6URQW}nA~?>8Q@!AUyom6q^ckTYn7d0J3L+=r@ooKKu0wkUV5c3 zBW;o4G}~kA;?dtb!*1A^q{SRrtmT=IlwdHe4v?R~#6r_JM}TZSvc3;@7w-XF{j3#R zU}v;s{Hh??&{G}_O-@dp5f9je2UszHIQhOSQaF3$F>$j6n=uIhgdjz(x1uFA6$wPJ zG#q6Pc{({%b&rmItu~J{Oyn|f)_wE8fJV1*V~MT(#4-d3lRvc{RlkpmMSIt|bKUgJ ztlb4jb|3`0t)LzXnEru*N6AxH)e(hSj!n%LomQ%av#Ugwbzp_-ulHV8X}`axv&uIp zI+}S+>}v*IEUHhQb8RZ%$8A8B+0tC5Rsaj)60U|pm29b+znYki8246rY8B7DA^xt- zR|gsDNi){~aG#CE2RL9I2Kc|8iB6D@z~x>%Y%0QQ%)10G0cW3cOQMxG-)AP5YN4+I z6eLR(3*bHA1-IL8)fGaSys!5uJAR3Z7Ohg@;9v4nI9P9eXscsi8}oEs>^-=SIp?o+ zb{jY_laor^br9hNqFvnxs;1hIDc=L?AfQHI+>0ohGE>^86cQJjL6Z>TPM{&zx3L$H1zr!*5DQ zoM9-^SNLmM^^p+r{N{j9k1eYy3qArvLj`&Ak=BZn20EZJw6EWU3AOAD0aAOq$`n^x z8hN}>lWDF2#E?qfKt%Njcz*ZyBOYx^+5NP(GU__k)n+o7Rsji^l$yPQI0` zNG6{k{P{x(25p(mizF^?rWKm~u@Y$Wfy6HTvTb@gVW`1z^;a7)Q21vkP$e>WqB0o| zbk1zfM{8TJ|92HL35=E&(sk1n%<3w^ScVr5z?9&>v}k(_I!EV~J3|F% z`UeVkl@jIihn_C~8x#TxgDRkQ|2HTEdWft?P>6yR17OE$cU8Zdl`brXq?*|Mm5Pqq z3!v^1AGP!*7J!u0I;xb6_H=4R^4#$>amJSQmXk{;!uSW{Wni9{#%SRUHa37mP>(jPSvCXiGz`FT__IfjuWh-{FlaJcL{ptn`$oQ?ftu%ATwIrR zs4}1_1MSu|rte;tH&lJ?KgZCE@muMkjY0iE_LpY-3H#mirF`Dg%o z-&7j{I)1(f?m!R)Q2TnK53pvrC8CwehsF!H17TP!5Efw)t(bp&dVUaE(zCUmV9o>N z_ac!v{U~F`&He=)-M!12aDOF_pOosiUCnr$;W+E*fBGbqnUYGJ+NY4y51Sod7gdIN&! z*{?`GXh>oq<-_fz0r+Hi5H1+%qNeAIb^f4L8xOK}_)`Pa%3jxAPf0^CH!2CVM}HW~ zb5>c0gY*`erP4>8DWD~i4yLoarAe$8o95vg`qt{YRaDgSW4UOmydi&&u1Y)Jygtv$wE zCyWUFNgonBs&Dp&63OR3^iP=kfM*|nJR)E=+kV3TJDU9dd<+l5>xL-w?3o&~wPgAt zk8B~MRUN?LAIm8~E#*lk@;BcO*rn`&o9HoK34p)?MTR}gPk=*0;3$F5sbb-;#Hb_x zf!Y#7^_tsR|0%|<;OKnQsmVY-C0e6j@y&_Mh9Y^K0RaIXTWm=n;Kh!7o377WJ6tV$ zif37kSgqf6?U-4?DgM{GKsrpt1(^Zwr!`V**NfTHsvnU`lX^Nw00_Oz^t`Ok+ zW}5YR^hJhubxl-?s~pX-6#{GYlkNF(T5!tZ<0b<(9cJ@e z3ofbBwDi$jb!(UsZ4?rs75G%H>W_sAtD8!}I4nPQcT3b;6C?1|T9&>dFZiJac~)Wop$V8n9I{A^1x0rT=dX=m@Pf3 z*^kGdlwi9v@+?L2Om41(v3B+MONo%N3EP1+zvy5FrGUJKr5OMIF(`imPJ#{l{R^}3 z0CCnqg>pLoxbvdf-pLY$8Yfa3%DA!50@l!Vu)K&i{ znJx0LGBcA1l*An!{bHQ_p_}1}T;3q9cM2%9GPE9`AP4}&n&?|ui2#+N>*>1g;@3_P zyzbXQ9tQ-^30}rJAh*c6N+_iXP(Bbh zlCUw7Q%spsK{&Ug@;tq@a835>Y8)~iG78DN)wmMrt1L%~ST;gdk<9{#wevT@Or48V zeQq&{wxQpcqR~x>U0~HS>OAHA>=mGSv+f_Q0A))*YF?3i|a1#g&xjaDm*oTyzoF*U$GYEJ3b4T>ems z@yNX@NRR?S`T=0Q<2$Psq ztHl?<1^Ve(TL=34bC8jd`T6El6)Jajsj18m-*^R9nD1WC0?KS4l3+djGQV|u zQxD^Ug(n!@l}7J~Oh`QQS88t1m0;g$ZYAxWhFU9mAuvg8O$W=vaJ#(jUulhOR-l=4 z-roe9au^|7RHjgi-q$6CG;Xo}>V*=XJ9xw%jSOJNQ>%YG{dJ zmc|3~{$_*kbPScBW_{KXC*C7!pP+V=imln_3l?BoF0v$Y)54fa=Nx;}2f{Y?^<>E7 zN-mXLv$DR<52$%<_6T5v^tyLN=95YfOH8Dc!g06TKK|^L#1RNg3!Bq5vCd3+1K0lE zkb0p+M$(fzClVOm;w1asb5%g%!GX)$9WTr^2aI?E>qMkjbbh7Di5->l4}Kt94?`UD zHe2~O&G>J>oZHcXQen(JyC7xa$I z)|(%J0W|S;XEv9o(6sRUfG+{|%xIHy3Ygy3$9F3GuWeaDHtRjRB`S!Vck86#&-Bzx zZsL`VC*aXJ&7~c;r4WeJb5!-%vx%G2Oc}70rDTLG6DbyLhOYIE);21f=NhE--~G1Y zLpDCYakReYUW~br3Y4`J#!TV)v8~9rx=I@%qY<(-pP9g6FdurE<+;N&33#rsb-j3` z8F<B4{L9U2rld)~e3EaWc3@4k=A5R-2ORv_N2(j`NwW_qz;?^7U}0-&7l zf0pJ+Gzo#NcfDYDS(<)6Pp4TN{ipH{lJH}e@I4#se^s~j+^cMF`TL6w7Y+TQ>GM** zmMA&sypxJLuce`-^k?FOwmtZ6$zo&6^*6G@XO3WD;mTPG-%6m4rjgisExsVY;}li1 zqnhkQkUNpk-tWyjI)gYTi!Knhtgn6z=Y|jM8tn`=Yj4z1{0ReN?5!$s-~Mv<;W*c7 zUmX_(t|NDm#wIS=z^%WjmY*U0; ze=5ooRMel^^jpJ69{G>hKt99-&|l6`o}O9`4ylUvhu>i(B`<5VzKU(J@a<*y+zSD( z7#hlI?|dZ|wT4U>nl&S zmC;|cp7R|BgZJlfD_hpz(9f{!$<@WHE;EGpWE?#4u$U3{P+><3CY~Q~`v~S{X+&1jE+#{IZw)Mka_0tG)^<2Htm?nXFPQ@KEOUO z>YgGkP?X-Nz}}@pW7U_q@XnJji3VHB>&g!AeiIW_Fq>%{L8CHK#t8A3^B&?)%~TG^ z!YF3MR{DUqzIG;7F{^Ygq+eiu)+Q)0aL8D-RSK*U0hijWE>0aU#><^bAb%oN1Jm4}Kr)Ap`IyU@ikW<=P8&Wa3Q16rZoi<%;$j^|IXyq(w%)84(w7ODR7Pc6Wwm(OKvL!Kij&1a%Jzd|>mL~iqq zUzHwt+Nt@fstz_(N9<(>&&>5<3!xyUV9L`>`ZKQlErX+JsC13NVY9t4S&7Khs9#rW zL}#JrGb_6JU~U?<1<|cm?XRE3%;%>d!qIQ}-o^f@W7j36@<)aFXoj=lRzGI(AdEwc zA0ALc<}Ib>D_$tL)RkhiM+P&za{azRQ;qb+_SbhWzaA43z1T^Y6%of7iqObA9llgi zrVh<4eml{9!7mRTkYImvm4>>3&)=--`=M0!l`m>s-MLvredseEV{4JKLIPGPJMrwHYBGku7LOWO{7(0Uu>a>3f0Q5!)^U+^!S06PIUEWyzVhgJklVXf%dP&cs=JZ7;ZG{JGg?lAlY)$zS7|M~8 z-9idjU4wYXFU6L6{B{N!B{vtA{opI{$33h0{8Rd4$}Ag&jk0O6l;jbS_MOU8*RgODat)tRVbA5I<<0BdUee?zR1069r z(DI{Z(#Wu8j5Tj1=BB^IY_oBV-5zqbpXn=q3lzze?Cbeio1!`Cw0O(&Y&!{8_f%;P zHTXHcy?&HF<6gMy{nr9f$iC@^6z4zMAN4+GGTTCk=GEQ5nOJ+vt)aR$uh5a)<+MYyg;IVZ zCGr25EjdJSt`N@_j=Amv@jYC1q&_)~!h{#lRXyC@nuZfMtkFLz5zOxI=^=KN>B$1<(3s2eg#1E7c`x8*&!DB9a z$!!4P1)^qZR+io|iv_>_d@4Cg_v8pv>b;lXL;vmQ8`R?e}(|A8gVe7siSM{*M zJb7~*Ze>Q#wYHR)kh{I?wYa5Oq?SSS2NCfgAJ&BWGlvVAZPw1o3)4LL(1i$Z{ONYaac>&Cr_lIkug|yezn1dSIHWffNp=T(A~~MwU=g184&f#VDVy`sNUsgA@*}B|LK`jUEhpp@|IJzb4GoS>e5D=dN(%u zt6Yl5;zzvvQ3B=nPX&D5SXXR#n}erIV&J28kG~EL$+b24d@O|o)~7YjEVTIi64Aso zA22t;RSNzpG(UPXvs!cQ z-lTN6r2wrr+1}BaVz-Cy@>ak(MxyfnikmhkCh_SvSk90zB6=L{b4x{>Vc*_!xM7FK zMP`D_CV3uUx7w&`Vq&g0SBFEotNcf)WOUi-c}l}z@kg!^2Bw_J^_GO#O8Vn^c4s?q z*Cebh4GQPw2D|#p#q3S`Et^Na(h!w)kVG|#l6c$xc z8ZEZ<9g3bd<5t_7UDepkbbU`&-sXI`q<;-*5lMk0RC+d--Z@ay6Ai zlw4=7r@BB04J_t<^lHhMJja)Ryv+(LE72asCp0v7?$YU@%im;o8>?@pF7}~oAJE98 zp)haY{Yk-|nJoo=N`E zX8zT`k5541cOVA(`L3_VFAobn>05H6RfQ;wWO7VLtl#DfbU$f!AGa32S`GJ;sBGSr z>+X(sG7|Y&)o&My6teW5ycmKi?I|6?4&KF@ziqJ_fTTqqn*vb6paL(B0mAqG#m?hW z{LTZTq}k=qJvb;1&m9Y6FlKBk;b1X`|Jj9_W3t_S&rw2h@)M8*Q@Xvg%V@C;a|yLg zknq+7hgxB^cFO>qkYJwE0S+S0 zv1W;-Owy_k;BO#Ld`LRTb@a@BpBJK)RaCv>;YkgS=Baar5@BOwKZ00de36}-7aTn9 zn~~iXGT`i{0<~(?$847bth0xpw!fmI2h^P(k8pC0uaHb*PFwAK)uLe|J50UlPS-it zjbd-l6o9xZTA61B(-R$~Qei;qt=STi7w}@K$_fO+KYVMhj1K_{JpCH-larJFbS_^Y zNZ6Q}!lZ+QXJ$U3|ElF9-dR^pY+J0xF~m*`qGx~~qxQ%pQPGCLk%^V{ z_uO3M;R5Gqi6!-9$lVX*<6kbm`#?%>8{DOqs=v z+57jzGtfI$R?F*HKKlECqdR1SLSkCl)O7NJcf`c0{s`Q|lasx*3m~0p1ZePUtTp>0 z*F;X%WX8VrZPafnQ^khe*}eh-dc5h@R5a16ki_d>f4U|@bg>0+#IL{jBN%07XSaX%ZDhBz!2~vM zXhS653x-dae}A{fA0jas9`yBiKjA7q&J|cp7;spj7`S@?pH{hH??BV}#S5sa^G)w- z^ic?y$c!2*Q=%~jlJ$&?Uhxkdrq(;og(f7ZfN?aP7{%Ar#CLFTz+zwKI&@or`!zL% zQqLWn#=}V*Emo*hOjT{Bs615 z47!N6b|j!@LAB-@g(ej7#Kd)v82Ee8{r!7-OzH`sL&;6wjY~KCucds?qoMVnThULXGC&9i;jgR*(m9-B0lvd9zL zb9TaRd+wldpzY6}#3TPMI!1LEfQEt@;P2o0f!jPlL-QH`qM;RKiZPEpmCVIT1@Fw) zI46o!eWS8ohIwi?&tpNA{PICP6WM^7wyS0SJpVk-cn1uFqh)!fJi5 z$9LltXtbITH%7FT7iptcsbp4nZ)3L=JPq$^4uSKlN64t|g8fdPGl&&o$;kuxN_e?o zV;CA{KRuR;caSkw+wS%G=EpRKRrvuNK0ZE&gBd@ew6zNh#$xT}ESW>lCQ$dB^{Eae z0(}LrZoo=?dsG`qyZZ!BCa_ykk&$@;Sv8xBxtD4+Mz3S%6WDam>-xdv;SfT<%v#k0 zqjHmI?mEX^vCR+*9CkOl@RCE{&B@7!XN*tIe*obJca4UN`*B~5%_ewsdK!*r7L`uD zDLyk(e`I9jG%w;!ss(Y-Sem>(?KE>5Z*RNlAmQ zoKgxz!2UkrY11Ux{bSQ0RPIZhl&eFB++3aTa{FeU{b6k7Jn%zt>bqDQO49=z0lCB7 z8J`d`fae0$=`#Ig{IfGVli>z9-~eLST^1!3$I3rgwm(zx2gGh(*NwjuYFzt9P&3tL z{opXXx~Ojj+Gp}5S_JkuaZUlP2en-bNRTa;@r4?Ie&y=(`_<70bU{o5B3WJQAy#1#J*qHmK^7{APf>15+A0iqNv>w<4!t>Z^*CM;&m~1?&rOFEw_vChB z&8N3{u?!u{<2vISW3gDwwm)0Rpon8eD;a`6cfMfZAq9@gECoo_-wX9pg={o~oc3>0 z0g}bRAneS))e9(SjXoldy!?CHFP2%z{u$x`N)(6U^^Z0CLhz~&`074oiBE~5Vbc|X zD4D`~=G&2>Xw%e!G!Y>+W_ZPt5-swro(eGqgD;tRUd2+hlGErS+;Vv~in&9RL!F9} zjOzEx-EePZPkbE9!G(@ITNKq9XBUM8-|&YpdL-FFBhfqX)k-P_qK=i8QE~DmD+qen z*%tn^GUt5lYdD1yyQcD4G+SKX1~o<~d2}I7H^j?Mfxw-?k9SkhZVSSX@$?z4jDsrd zwhmM(bK9<(qrq+*(7fH6&R_v?QiLExw!P^}uueW}rLPyV)y0~pXYol<0@X;1Kf5vs zfxmP)*35{=shR#QQ#1=B(P)Km9R4Uc6&9Fu5}mKF^t>6Lo|K93zgKoUb{z3Rrsb0hd0e)gVzc@d;yf_w{j@MhI5;xyxQ=)Dzn_SK zh5nU^LB{A7Hpi0~VGCI4rhkmf1;x{GHDpPF@Q*dBbD^r)E4282ErYUIcW zfR4Fl-DQ^CD0|SA2X8A$++onm7Y(U-uCDAB)2-F+zC%rVj1Gs_A2cnmx~voVZME*N z|8z9ta5_ca*q(k)nyRzFa=$^!_^@dex6DN3BlJvP#u10bffOod@J_t`HD7q|IutNs zPTDBqMnOYMxaHzQ1`@u9CSw&y((|({;707@!GQt|8~Ue69Ix&Yw@PXBM>}M5$ z%h7F<*UlXt$9-qRwd7a|8Y*g@TzzTX;Dhzvl?j7JL*E8H&r`;K$`_M&>)MuW0mjdM zfLT{2s|VDP(a~p42ShC`BpJrw4iD&gn5|mn!O=5rpUma@9XLM>w>J_1qxLk%#k9YN z4>%q?G%J&>W*jn917G*WRmVm~M)D5c>w*1C@(CBlCDL3CEADga;)dhi7(Uvjypz?; zEeaVLJk5nTl&IQkVm_w4+z%i!bd3fmU)oB~VmYxao`8((7%h9G(1dItiR;OnoYVd$ zk^BC?76s$9zdJf08CiMVK(|b_+JVb#!jhDgwXo$_;N-$!^#)^azR~B~H>^Z1R}yu? zOT*w?#k}VTSS7>^41}Rv2yx6NyxG~c0`3p?>)dm5JI9;TWcUJgF(LcS&xpCXeGf$+ zg)c1$xEycZ2n6GGWOfq@i$K<_=5RE4J%gOfb4pFeVcgshEUl>I652xL$md>fX%!?;YO&(qA;%9rq;24(x)kB_AK^?dI zBaz>e2c1DuQdqaX+iW>4NbFuY^Ib)D>w_6_I4D|41bhO?YB;)Wp4skujK|{OSC&9iZGys0?u?cbM1qE%X&)k9C*9vT4?Ys8GGt#i| zUp-z*Jg=^IF`4P5_te;lx#-~IsxXy0&-(i!B7ae2uZxX{7J45D4|#t)hTGN@UA&)dfAx*$ zbP_;2kuH){WaD&m$~0SNi@XcAL2E~E?fRsxcgFDj*n`KnspU#}HOd2zW|7}#{b~4# z5aoLzJlIJJx%nkTR>N(=6s@h4I&x%H%W3oR`%UVf7EADPq;+LqF>6}%oNtSDf2@4w z?{el%ySk}hyJ76cen`c|3lFW1mmhQxD3|vOiu^^>AJ%`fLxChUszMV>Dr8kVR%5rvP)$z-l7RN~$VA5;hK zSn5rCnm&2XQlkk`n({$dG_mO7%nxS1S=ll-ng3oNGO@mEd9O_r zCzUNTIx#`Y#Z}wF1oYYrsPV9{V)XbyB^%Fbtp|on=wby}7F{5r1l{>;30vc??*OE9 zb~qWhaUlH)32wF3OVsXQMl^|oiz^Orm)2&n#tZ6y#mD!wiSmQhxO{mD+Mo z&Jhb-X5X9~6)s$he=fN?9^T9Ki(D2yHIp^3N-Y8CokoeeA$%jHN6INKdRNByos=R9 zQXgv5ruP!bGwFMB<;!!=xE}2c!(rV+cvd9l7<8pPMU9lYpo*Fo`4276d=((D+-*W&J#ri1qlXPwi+64O~-4U zhsO%9iMT>s%R7Oi?hlM!zSBM{ARy4UEs&u|Q|qzHE)bL;+>bjB(1c8I4gi#sPd&~r z)a_&sAx}|aG&>la?f9SyA1hIYb#H8lNn$8Wp&IzI=HJTdXceSL)1gr7Hb!CBvm^~`SE zIh~N7vh$K_JO>d{kw|vaQS^4S5`%Ie%Ly!6d;Yi(_H|f$kq@GH($MaEbGvBPmvU)( zG~-oplmoBD$WbNOi@ma&7=}ZW*J71PqgHN4iPMRIfs*f{^KVn0by$avp(>TMS@*ib z7ZkV?>2`jGTQR>oo0LB6sj)6?A3|7em%kI0hNdW3{P`l)8`as~ootHcON{)Q>MUM4 zx(?jj#>tCMiFH+UXHWz!O<8y!LrNY|N|atE%qTf~pe#v|{EG{)Bo)oOe(U%VGWQ}t zN+QoeTKtuhxT*Pu08KVS$W(Q1XqtOK-=cE$1a>ry_||x#^$c4{sKsar6Ac(Jb?5no zOWCIjfRKy@9hG{h+1^RM z$28jMT=tHgnsn_s_>7S%MS|HB?-pfpnDvJ#&YdPA@LXiwd%hOtD+>*Fq8996P+y!Y ztAea{5{{477W74#Lhn!SwfG-bSt)SGJJamRz*{U&<-IhFN<_H71({0kSefv;#whpf zWLI^AB$pAeoPOeVg2ZvQy0OONKAO7`2)mfyTVO5ldjLTfRJ8R(z8LofCz-@vP9U+l z(QpNX-CyH#e@?YIl#rIzn>niu!e$TKR-k$V`fD6uO;I6wnViWwg+coKvB`|~xu;G%C z$qJLmdg147vps@gUkBPXj*W!5+C6iXMxMp?aq;m-%v(xTtIZaRAEcz{tgVmD7s|X0 z`*ELz#lD3MOke^S48V+>R}+W%))_EB(%-9I>r(D*r1@g0U%PPa-%m=XRrd>wbU*=p z`fxBXg7fW zEnktm>6PGYJN7;5#Eu<-E!vp{oj4-A9FZhE+~!VZha&#meWM({ViOxb;?>UwiDks_JT0`2wFX=TaHa#L&R@7CbQ-c zdEM3F(svXG;>2>7ZsS-CR+7OXB9K3k-Ys7mI1b4sF1bvO;f`*?zsjqi`(9Ak@GgS$ z#~251Bfj{+uX+UGq*2NZMXI|~b@Q{Dq8;V2Nb6^Vr#1AstpQ!Hw|c3);PwUi$6tkS z=TL)~;}8e0S>pJNNOn0aJ1R{L;@Pb~NV3=-d)3*SJvoi?8oHta*WT|<{NP|7sR&SS zvIh)zaDHwKHBN%*AE`XK`KWqFTTkG|MXOu{>FE(_w5)^lbt4iyK!ZfOZJe)Fo1O<`=56y$_G7PiW!&-C@9eqyLV~<8b+4npZVCHsq_8^XB zS|%aa+ocPW>a2K|N+s@n&+>VRiD@`ibekQ#Gp><$X>Z|jLFf&zSCC%!R~BDbsIyrA zgbj|bN)x;HU-M1>!o{zH@aaD z-RlB*GFgi02Kw($`Fc6wj;kuWH0qq2yZ+u;P z^^uuih@GYL{h)8^sWSC+=4;$Kt15X0W1?K1p`0fnj|Vdt!%*~eu$sWWG@O2vw*UHjb#L2CHKgdqzVyZj^u|0?tB5BZ zJ`oJMP&vJST-ZsObsPP`zNp`XcYYv~K45^)<+<@yE2n)>Ah^3Mzk3!OWQP4c6kOTs zlUPu&msW$H8Je5A`gI4VRr#xp7sv;B&Q>8IFFxiAT<%PZ+@FGeQdxVs*{!eny4mN) zpTJtzfJbX$I$(cx!hnli|Eu=-VE=r=&>SBNgO5;aS{tOatn9^m(Dx(px;5<9R(v7> zNlnf?5AY2#UgWS6D?pc6Np6foFxu1qq~=D-#Q(`QKfR?w3Q;^zvd@O@SZS*{AB|aC z5s}+7xDLUCl#CiDrN34ny(jRyW~uq8DJct=SglOVrV&dCw(AVm&t zX*uX8z=*42uQUu5p$Y%$-XqWaYq4QTZiwIi!sBLOlS=g_vP!4Sg|}9Hf|-k{B3(DiFsHqV56Fh(k&sZIYa7;b%4)x8uwOQKx@!%g zG+nx`%aN91&f^Ew-5^&&#U*xtL_N@#xFY+9ga~HITd()ngFPn+kmsM=g`^}mq((6% z8dPj-!9hWY?B;h!pmH^r+_=}Ted{lHLzSJD5v&;qb7eUrni+$9qO3Fbc+SE6>(@Ak zTt970M}v*3C8LUHR}>Gq&qvhN+ox*6|LlbNt9o?tI^4r8W?t!WZX``I5x3+@VAvhP z1_=cXW{E+9_4X{v>Cb_h2i8}QZJV!}6|QQJ4C<;@0GEnazzOrZ;NA028fzWhlHkL_ zeG^%?iRFyh2-$SeC4zl(%NjO|F!6MtCa5Wujb)`3NEb~Dq$=js@EZiUq-qWEJJ}z@ z2pTa)pyRei@In0R4kfo=AH3wpf}YhCo^$qQCWDR=3IMraCe_`oeRuDLsbsq*(Lu?a z%-t#RTFD^>7u3m0BEr(Ekv!e9ON!<|vm(YP~E!4u_{^-Y(XGPt^W?F2P| zUDKY>HApqI$y^~lfRPMBAn1kKixl@GZb41hz%vsdTELy7_Ee-?YWcS2>#>!Z$0*Ka zG(qjIeW&4R59t*&OVGC3T%4K-U1H9Ut;8AiA=bQ7M@36 z#$`rURzRNnr?3I7O4=r+{JdD+B0dZoy~l?{A>71Fu22xke5a<#aSqG|mvrDUIg}|Q zf9a=kEvt zLrhG6?C;)7B_cc+I%erK9;sEuu{1)+Mklg`+u~I`l+s$(ZS~~FeYkBQ%hmU9JVTQZ z$$xDt;KrFLfO@T!zYoH*CNR?COG~bV#^^J*q4#7RO0egjQ~?7i z4A~RYBcqY<>{lAA`eE9|_F%sZASa6DRY_CNH<=V)dxx$91Y|6p3kKwePqdgHM?Pg^ zY+no-L$WUhyC7q&T; zzRQtn4JKyST>YjKHo;F`GNf;Q!)a1Y)<0l}NnYl!0?hg549{16)e0K`+2tE_`W-#? zJ7=IZIhy6Fjmu`y=6?u5!$*aG|GotwzOLG6G@8I|*60Yv538Ku=}=nU5Cc$IM3y9wlk9Bzg-&i*bd%LF_Ks6y51IMGnI={f@>Kjb}9e*Waj z-D-Uk$vnm1uA7vGQnzsiy~=1PINcA6)ukqFC3nutRvwFvsZf0P25s<{!!^Xu0 za)%;dK9|d5MXJfdle#_epUrYt8pZ1kkZ}JQ`GcQ#*3Tz~M@xG?n3ksFbbDoebp&_L z6esl&C~x}0z+i9f8pTl+6%~ot*w}p6V`XRWk!NRMV1T%RRyC{1O6P#4tLi&X!=`iK z%l5wzJP^hl^o7YgeySFX78cQkcV`L<3qNnTuhFb z_EaQNQBe5kc9@TC|AU4SZZ)e7|8Jg=>~J6DWc_wlaNjAtm5z=KfHEbr-CCpM z>zMm8Trx6f;P~fXRmBdbS~ozK_@!y@pOGJ7VH~5%!1qe_Z6x^G-aI5juK=Q+&f|A7 z^Vu>OfbT<{ou5DTL&7)dfbf4;Y2u538zX?Y1MU)#s#ntf0*3c=O$@HJnC=Ds)zQA9 ztEenF(lUAcO1&8bR7`ms_dle`+T2!QO_nUm=Q!>R`4%v#j1cFO}f#mvcywm~R3PuH?QMBs5 z6oDJ>{#yx{W|_R=W}nDiPwtn%DXG?hTmIFTx;kF7ERQ|su@XsQlOby zvJH+9^dLHAeLC8gGya_pJg8q@c7~)#-MiRt4Lu~JzZQ7|FY+%I8Yh7UpfIPq-VY2TO}ISEM{~Gifrz~%RgzvuY68BkVl?H=7!~D z>Evc1we)&BF-J<^2iY#(?^=+YyZ}Ulp~4Ts0gJp#+_3o(l z3cHJIzP@PoN=vefE8Zn*De_gb@y(J{D77eukD?!Vy|KJM3Eri^fUGOhN;5x`79*2} z8D4{5GmX62EGY)gn)fH7=i-~cSM-vUk|bl|qlYwql8E|+Rr2Tnv~s>ZN7>1Zr{X;?dbiJS4=zmi%??-YFj!rO$j(+HAHj&Zur@g;sJ3kNKHnug| zmQd^|WF*I^D*oYAcK9ZSs{iiGxqJ6onhyT%2?4d-un57=zs!$ea5i_vWH%8~%XM<(^WEe2U%j{WPIw zm>79xZv-ch3OWbV=2NASb^9#PqVf;*$vX}q_WK_?zAvJs0EH<62`S!uZ zuj=X>*4_Ckdc1{3Kz7gJamOaJM^iMZ_as$IHbsIP_q=V^o|*L??yDKC0_1q7ptD?)*u0$ul zznV%vpsbF(2H&dR&@P8uW|q#{mr%*WgII2!yjzl!Rx(118zg6A&d%2koIfqf!Q%TV zB_RP1PK6Ak(1ES3Ep&TMAr!RgnV;Xl9K*$*b>eVYs|TqjT%KRw(2T?+omf8curVYT zjBccA_xZY<8p=-Up~}Yv;hje7$88cgZSWd046tf8|Ckx2LUr1~*Ws|l;?6dL4V5nz zHJYm~Y^^mDZTMW+f86mYKv*aW#VY{W?fYXm8Wiu$6`nj2&U!QLUDD|hkJg-aBZ?oU zv`LK}p$x&yQlmXp$wL!-!$E;aa~M8~c##QO?kZDU(3-yGfO?`u6OX=@tVZ0P;IT_( z9&0WmYCvX7=@pTHv}R~`jg^{Dl$il|T@WdoQWD|q85cEEY0dqL_^5qzs+jolLjJkx zj{hk#IW=9PujJ;a)41-hKV(h~o5=QcptS_KSd_K;4qKUXA0#CisGi&lbkVlJrm*tZ zm;)NIX2y+#uylOrxdhz7kYWZhX0GJG%k)iduZJVX5?Pa@XF0y8bp|Ay z#)P30%ACUq$a*fD7v?LigS7=#;xn;;fc1$VS+UAr)0ThLayl5dWzh4$&uN2ACe-@G zSOVmmjf77?k10!{JAWLnJj-IH3>swkCga(=kXLe7h@e(O@psvh78;_>55W%#Z=~-8 zi6C#LK>itrS$Q+3J0TyQSH2+7*czqn>%jNQMB^u9-5$i;9EuU zyHGyB|8|-qt1I+_q+<|)B;W_U9ZqG4zi|=1UtCaJbhBuPB7=cFGH_#G3Hb1x z#jtg%4-E5YXCR>kEE_9;KiK1NsIjHebFmc^9ZrIphrU@%@N5hV0Sb@>G@5op6hA;C zX%h5Y?u%SmFs_lLS)CZ0t)6Hi>(9&>@9gSL*62hpiUt5YF;5lA9nUNXe=nC=_YEAQ z)~~A*rDAJpc?D;WwHF4icCEz$csD?pjGM>6c?L?h*a*vxo<2-0tDWCnrf=0q5sw2N z?8GyRLTl4UBubgA@lAB68{Qd8N=57=f}0NW-+8LR@esJ)IE8Ce8g0RGf(s3Oy4nCvuEME#aSSubY%fa1{LLFNbG_93sh~NR6Wb= zGW^fIx;lr?aAqJX?^rT0sPbP)JLGGr#1 zSe`-^c#&*5ZWx#Q)=c3`#jR0<+YRXjTFlkz0YTCzUD+~WL%fo0RrR#viNmf`eK>Mv zoPZLcv19NfQg<^Be)^2U``9;U@QVbl{_ZDqz3?2}DB;*M(S1zC?aCx?L90Ahg@5o0 zY2SQY0CEkR+S9c(<~Y4bF;rgFQ+T;fE7ikk=sfdfL!N!`32Wr9DrgnN_gL}r)IdBr zW2I4387+6ipix!BvNt~LZ*6_;_xvF#QjDBVo0+k<6y%BkcVuE>dcaZsUWDNE2k{PQV3+$-RHnf2+>F%bZLy|iOK@`nwWI}_- z6MGrY7E4DpixeDA!n0$bG1wVEcwau5RQZE-hg1kuiVu%Bd9;3|rIX2%C=$!n#7F^Y!-WuGM{11#O}s8SeEHH5_J$Ek1#sAvylbFtds!2T|% zFE)W$dtc&y_W=PO;J9}?@OyZC!sc@zWnwC=Fj@2}*_~L~OzHf(zJmmKfTChz*fJqm zSKE+b&KPS&$Viqg4}*47h(@xv*|bocj@Baq zkL|^C&@G}OVG0Lgl{ULoSZ%&%z<@D6Gbg9q;T}^anOD+O4c8KBmkIE-A7gB^w5H_i?Zjf%^>B@qcF2TG$ecplz*9sy13~s$=?Di(1RgsPW-~G=uGi7ZZzF?J-bEQo<5?f{>9}0( zbOQ3q*tT-X{Mw`vUhF=TPkGL3`FaNs^5WxaX)xbl5rsx)Q_ce2r}>%nLe=_!q3VZ+ zwN1dK!<#Jma(F=h;zh$!-!#JX30Qf;SrQm3HBK)}Rwyl!nb)}A?-t3$}Fw1FkbtCrrFRsdw_-&DXQ@>@fp>FE&)c;pw` z_SZd@I&NCCM?Vrlw2cPh`nzmkq5s7N==tKzkaeo}_omNUtx}ou^rV5`tK6!o<;-5(>FIjzzC1@Fv3>0=JM4+5>I+R;8K* z45P&ulxTbIk7&gN0)iSUoG5;wHbHd~3_q&m;2kV&Yd)dl%VHkZ~e zduv?IIGJJ?Y>hkd_vkQxvYF_sTNzm`w^YQ<)qD-_5|FWVns9TwGc&;b8G+^}^s=-D zo!ETw8S#DZpVAUc!~BlvUT7&wp-Y%w=mgRdZqE%x!APxfFL2x7YQDzO{U8*;?H+Br z%VAVa%Uht-TCRriT;Tpk*t}~10s_@Z=xE~Ag(&H3qL-<5yBqC*sOwYI{5jmftPg!FxkD*#%E0~>G6FC>W=i=0RjR(sY>XkqnxPBr&9`+1hRystDFx!((I$ zkNTC*$8_tbAM7&P>UJaJ$K4`{%MEj))A&O^U{D_$-#Ew+9*hxOqlz}Gi4FZZ{A$N2 zRU5L;$!n{X94aonrd7J}?!{^Lk$-`ctFvy*@@blXXz2c7SePt0z8m~(`a-F4h7qYOf)p&SE7`zJZhF?&Z05~A>IZX;s3FWmUI{luMg+$zti= zg>z3*W8;Cb@?F)}$>rOZj%TM^kZMacYL#qsf@lv5*LjzLGbsycO0?k4(C(^%Aj?C9 zRQ=QJNb?2OS&Ky8Ia^+2jC#j(-Ai@He)Ys8C#MnhYAqhFb(hz~_dBNu}R_E`cupu}yR3B$VBHQQ!KEou1Pa`Es)L`Iss5=7}-tpP+-p zBujc1)9q-PHQSwgy}0V~QWb~g;s^Y+GNbz`Gvv0JqhLr6#nIF-Mzdp`Wy zUEl65T@|e2msc2l6u882);}fH&&g` z*V*Z}a!7JI+zHN1tqzMihhlkb4vn~LL?;o;~1zAjMIJ?c;`DJ8X1WPQlIH!T>1 z$Mf^(=vDN?(WvJ6aGA3La4s6WAgC7yD(tsez2ahGnOeR&sf%=XAzfX&PrAtCcOn&* z^Sr=ZsM564agmXVl`au*ZZ_P{gDo^Wey&r0u6Q+?JxI#HkUTcVI*^F8u{C_=`f6?- z!S?u1k^-EO@)IE}OCq{`csLvw>3!DcjG>R`Sijt_hvWU~5B>&|;U*+DR=v%w-hR8w zkH}NTScNl;|Fj?6*5S_GJfj^2UrJ_shqc`T2f45oq_rPoa7QV3rumac3uj0JJX+&Cr67x&S-by>U@K-f8cE2G|0SGl($;|5m=K#dxuL2f37d0}U;rylWYi{;HHWXGNHBIz$nY4!Y_gGPOw z5J)e()s6SD9`?;#FR;4tlb@FAaIIhI2t0mpwK|=y09JwCa>W`r{MSeGQY?uTCZj)$ z9yq|*3tolsLL{)Z+nm~5-Ji8Nn0tA{&xS23DtdFd+dpB^tW&B2d}UX?^3bl=Mse)6 z7h*Cq$t7YKI)+-e+qAg_hQD(xB)&iWOki@;)fV)4I=Q=Nip{--vk=GWBduPQ)eLKI zT5fdc0VNSlH!#IS=Hz;(udA!)oW80TNvqt+e%d=k0v&rfP6~tU9KI_j_jFQKp02VE z92J~<{n795B`$&00LeL1cQ?9?6p^PJJI$~5F?1SN{rjow*`&~rKW*JOljfa2AyiZ> z7LPI>jc@Kk$LUB(PaK0?Yq*%Y#ocOdFL@^D52n13FU^g#yC@8+cl%BRLQbWSJQEMf z^VGC)n0!U!S<@vqA*c0`uGydo+82BAY`r(;zSsT5%cQk+6g`kZnlz0=g~i89>^f-1 z3RrziZf@s&%Q`0l`bmV?V4`7Trc$i%Gwp2kq3+wN0G;lxC8JM#=I=)EP4_LXDm-MJ>Zh8&eC;iumIj?v#7Mv2m z({^hB;;GBhZtf=+y;oib5ra)%PNTICRTj!b6q50{{TU72J7TLTfr{d%4BvAn%dJ$m zT;_X0IX#H<^Hk9DZn!+CsgLJ65KLQUFs=btzvH;a@~!uuEBVLm3%7qkA9?y5!iXP9 zG@t(cfByqSViJi^X7bG!*Vxn|}vPDL;W@FMQDeJ2`ou7K9w% z($hPU&qT;8=KAEN;@ygu=On40k@B&Q`wvGR%9sr#fu-*s-XCi4w1 z3C(aW2su08@pnGOIzDUBsX7Ps(wCtnEaQnXvS;ovWv+uBP?Vppy$h5}j(hx>?Dpmo z*vvTA)Y>-ao8KI*v9MY!BvaL$4OB3IWjxp%`vL3#rv?Qmz%k0!YQqF}h|j*BtC5$4 z5`F@|*_x{52#lfYKc5N``n#GCbYq=727t?wE>Nwdue{Fzxna4%RM* zc~#M3sVz`#?$cTE=9sSVc!`8Ju^K$QTB=qAhW15QzgP|ad8y63+xsc*dYxD3gO0>_kygXMp><A{l3XLj6Lt5 zx~nnAXufY^f#|Wo|J_+k-e8eW7xUoZ#O+=P3R3w82d{Q7%rhnI=PE!#L8oTUyg1>Vnb2_5 z)KhVmjTa6KP_bneo;-}3&s9nd>lX$FLSlB=HnQr1#bl)0bd4VH#(#on%I82SCL`I= zYEDVf-*ZxIV6Gft^;25L&@Ller6?>ix~C=nfjldFCGyj7Yy3T=P}-?osiBd#w7lLP zsqFud>Tjs042OigZihfNYdeK};0(vnXul;58ZB=S1{Y=QQ};XI=DP^*o$-DLPJa6}B&!1J%?J8b+9 zX9ywqd@>R?%mL!!kqnw66Q1CYIC*%cwOn0X-r&3O&$@sFpM;4CMSD?wvr5dj`9ra{ z&DD`y-Q}K@Iwld(CoqCiw$GA-3x-uX`xrN^5AHeyEk>kehGsxC{-hs6PsWy2wnml(*4r zyj|C*(^Pu(7TQn6^F%S5ou!Wddj=OD;EwcPZXm5 zR$g9ifzR+GMc?e{ixM%H1=XU5`Xsg=H{Kp+-_!8Rw+;y*YdDu z1$^(;`Nnr(RhK&NmXPO=udeRl+t^W-S8B zW*&y#{e3A%tyledzLSei3CnFTqgB!fdwYAJhyHV4Js~CrHVx;(-IV~W0=j!k{%pDn z6Fd0rOBD$<+~I(LYfWFUD*Y(3Gp9V>vBwdUu$_ktX3v%sE+T{~=OtQ*A?GTQP3{*c z77KrW{!*o34b}zLZnNe4hrOA~Nz9R_Y`6ZxN5Do?%^71&bj%~kq+rcYR(am@OO zF$F?(sH3r@o7?kVPc^R&x69@rDoV=Zi5f?oi#_7xt*PXkWWqlqL>@gSfo)*--Tm;~ zR|8SFv#pIFqT9RU7vVD4w#VB>+C%vwH%w#4mwJ6ujz^~j0n>>OA{3OA(WXiT0L~Bt zQ+Ko;Y7u#!5#8-UakkF;pg_lS11u}{qt-}A8{Uv;dP0MV#A_)hSJv?GN!2QIjAF}T zs0x$$AK<7f1s2w7te)N#thAybgc&Nsr0CQuf%SeoSO6zAjqnnh z>x+mJCsYS=Hf*6bc?zdSRfVTyrLR(K<=3Gl{KxX?zR2#?I8GCq@=bgyHJHEkUfNj^0tD()^bzRib<7t<;xEo{`~ezszB57j?nt(HcK+ZL zryOV^mGvj^>)c`c@?SCoU@A?q8&%b^+{lVpf&VI~y`8*)mk(Ruz<%xlu^mVyKb1c- zm1fVElnY>hBF@$Ac!h<4T^CCOi#2>gmARzA26yFjxnr}1yC4ULL<~*$YSME6Zy^$% zRao%4I%qjxbAe1g%7LIxA=97HVz%N7NN$Pmv4Xc#WR@dLSmJos^}xc+{aneM@v-Se z%eM#jtD_8)hRX*?!#lTE0A$)wX~WCVS`KDHJGwae)7$IS8N55YEmB8NC&3BnXEh4`f2j~(N@X@7vbV%*^bIaoKh3q zR!G9?Jkld;y7I@M<#5X2t&`25x4%@s9y!Axd3=|~vq^Daq6)-hTz480r6At7{Fn1MRHPA<`NNAeW1d-4*IW^tf*?Zsf>eajV)vNPf)%$Y}KcI^0UbWU-bAEGvV~lTn zTkY|?JJ}JifWSJ1G-Mt8#SU8j{)%&!t=x^NN)G0S(OGl6nci5bGgCKkN?z45mv7h> z0>aoMPagrRmgJ)o&lQi?huKd8jP5)FY4b9F!~NK=vSIg6`aR%K$t%LbIv{&X1D;p2 zySEFqk4(pPK6%-&92^`xvVIl05=dUV;&w_;GjezEil;aF48iQtklIoc96ZgPD(;ry zl1qMU(BYS*lK2uyE|4g&Ud~W$u)Wv{JO_Gbw&5H5-Iw1rt$ysUh0A{oeSC61a_GW) z8i&b*(e;Ta21t8whVS{|$6`2+Ff$(CaT|{Q+B~exYhrxB?oSeb^MxKL0+ue?zHQ!sw}C=lxVlcN8cYah z*l@z0@0&_pBp%5@@`(PBd_PcfFfn{x@l&^is?SO%go>U?H6Y$F^H?0au&$Gg(cqw_ zqcpK`!B2}Ww8&U(Z{jKvPac#~q8W?`iv|;Wok?1nnDKxE0SomSW#NPV6aNo9X*(7V z6Sp9bKKv$I5y9{3l92PB-i~Qk2}d|CODxTwJHOJOX&W|Pk+3Hf$As-dw}-*u0(f@4 z{IQ-*tMu#O4i=+|N0-8d6+S2~ zI`a9Mf07@r95%pHlrEW^*S{LRZuQWc2a`M4RxS739eT>lc`Jv%cNKrnu=rfJlhX%? zq^V7Mbb>+`!LN${0!ftR;Acn4Xzdv3jG5d~(1-7i<7PoU1O)Hk>1vvhUG=tYvu8%N z!DsWCG(4}PTg-bFgpKcv$I|E}=X3bO-A`!tgAl>;$5-G-M=$f9%1`%xDJOkJ5*EWc zc0R3b;Wu%1W+zJ}abEnTRWojPPrr(RJthQ9^p3{I=ZexKqRjO;JUmV>U0s-@P!?_6 zxXiaXsXCL{T3Q$OU|l#>w=Rk58ohd>ow$A&O{PjYZ7j6n7OX%KHrXTc@1Nwm`s*LA0f%2=y$f0=Bh3oqJ=g=B3e z(0hSyiBp=ZQ;hP$!Yc0Wnw!ytn~Ta`zS0{8`dfusVPq&+btR(AfuFrR@oOdCuD9>t zKy!Vc&7GEvmV?7u0vQh$W7~(o>HP;G!NFa4*;a!c^}e`XkvgCGjZG81U)lvC7M*&L z?F~!}p9JrI6ns5>QN3wpJf)Ph-mj#5+FP7)dRig47CIqVL(7}AS{aZ}|L5>)>G7Kx zZ&Pby-~J4a;nsOksN--Yj>~NVcM~Q2KcO#aG|&7d6V- zuBT4V0M9jaM_li8ftV0a>|AcWd^iX0WtD6`LbDeT$QsQrv*Be94pnyGap5<(2f};f z?RuSkq?I07tIVgo{>H{`>g2lA5;4cAT@20P7a{faEfJYHacHi5<)mUE@F1SwQj7wu zqn&wm1>tXc8WVbjRwD4)?a4iU=joOKzA%XF!@hS8JG?~;YrDT$Q_Q?j6-pi9hEgzXy?yP!+* z^lao;D1o6wfSL+Uf&DQSBH|t^$11lBrzjZb2|551v@1X!40@E!uxXpTA*<9*k{uE} zlS2Rfs+t$8582wM=cn?d3FD0nV4!R53Vc+$;t*pTO;Ok{#?KWqx4VQz&QQhrNCcLD ze-XT`34%zX)$6v9JJX@Gt#2NpwF_>BOcYbo(^~7LU%#bj`|75BdnoG5YX%0Zy)^}p z5sOQu$SBFkoH%n>s?aLuxO`@y_vsWpxA}c>3c}&UtIM-nrcpihjg9TPAG(Fn&e_z` zL9Nt#9}YJYk9Ws3l^Q>(=dy%8a{^Zmxdm;9yRT7{=sNL!IRriNz>HF4mV|g|( ztWhWy?~Y}EAa)ys77!K$t_>b>w~#|vJl8EwgCxQ{;(lmuj)Y&>{q^}~9DXZdLvw8? zDootN(Yw{#ROaa)vsE8m5Vl#SL3d z*hDqekKO1IcTFF z-bj{=2}=9@2}Cv$&5a?->V|oscTRla;A$09r1LyFT z_EzE9sj`TV=MHK~@$_J}ZSOu|$L2M;d8vr#uxH!70xPSk48!ud(Qj>?+q+?{V2ge0 zYct-)9JYEj-yPfiaSmoSO3ylq_;8g;30=1QurhBvU-&X2ad5meE94qQ)-ZRmNlkC3 zr4M)?X3hR>`i&`8+VRO(X!)N+=|WGX+#VttgefOjWWP(k-7>&DefDe<0zB{faMsL! z!VLAJ&xB(3?MGuzc~PqA%Q16RmUU8mEdJrFhF_5%JkEBWC+tk%!JZs$=yfgqwqUtF z%q49vq8xFeTt2xp*6%fv+$cyeLInk%dQ=wchvcrGEE)^NM1Se<_j_L;MjM;gFMMvs zsjfGSBDzv5pR+M%^B-COm<0f6kCw6yo$bUeXD6P?&&|lgO3bdYP%$jtC5QA^N|!8n~x7bp3Qg zSk!D{RC#x4eyXKQ^?nG^5b@YN4}}VD?d@eaqGcqcdGKj}dLrhxZF z(EgJdK-T~bZHiGlAd<}?HIz>u7u#RlTf5Ta(rT0qj*cKjJO9oOaoPc3P65ktOA;a+ z%5kB#+{7A`q|A*ahA^C3DH0t}$$zI(G~6wT6i7og@Gp zXVV8lL`5yc1tO(R?wfVicfhw}@?K>!07q3e9tnSPMjueE5(Z3^LdfX&hR+f$k@aYf zflKL&Gu;rUlfBm)7>w2I2Bo2&mk8)7Q?XkJC_ySKfP0wf45vc8_n*(N`WR|c0j(@T8YtpVd? z=HM_m)O_LXXsxKjr^Ke_r}6;#&y?H$@d=8*5lXXNnTleX5#PpP>i}MtRb_NduKq*< zoWxT^=~FPJ=WM4d!U4D_E+0at|i;8 zdu&X%?%i@p5J5i|Dl~f13P=RAJx|n|%S60$5>@Wl9N%}cqhSFRjr{z1Xv5tjD67*S z_!Hh%Mx?5N^hpR5jmakq6((zB$qD8_MZ&*-f6K0t)RUYg|Av0(Tned)phi2_ol&7cvNNW$(hVQXk)NpU!=n47854pLQA%6Emw798Zji5hK_x@8gJ0_w5C9c9oPC zc(oj;*>t`_$JN#ylWXfYkg|V6KJrqjF+l}fNXFImkRq9OV3Er~v!bf1diD0vPsaWIwPDh7PsPF1gvTt;%vpH-y*LPM+vDnhLfC;VA&$nUb1%G}lD1ojO&H z==9^aQXwKP64zT;ixx1;iK}^ovcA5yu%HhgoHvgC)GpGu)UyyuuJPW#ZC_LbuZ0^6 z&3W%sWo2Ce0E*WvEK`P5z>Yqy-{tA_w7wOx>=s}wmhs&+gA0QHG?1EM_kCb2f8yw9 zlwZVoPXw4Hv$5Y*uXR<_J0ra!vbf=E6C4DlTyyhEdErV&_)RKmYNGDKKJ0JZMGyrf z8x&4fnS(p~S)k6_O91RVUAGm-!0Z`nKz~S)ug@u;O8nc=D$cLgS_|q&j z-(PE%(OPT3-C)pL(0Qg&X<3Qp-ivqb%FsLDdww|b5}OG_)CuT5SvH@17ql`x4^%He zPLM1#Cu%Rj9ml0@+&Lgg0y@2woaPF8O>Me^7KrtNn+AcB;=xX4@{~+W%|wLMDY;({ z%KUIg48UHVo^Z2=i6yT_ipx)M6AM7~uzjcunR?kd7fD2jz8GCYY5fLvl}d3uAz4|h z;Gk0gFLeJK8&y0NJp;5ri0Y8Io0- zPXb@S9xTd(+H?Lo*h_fy_ZWfb_b|`o2_|--eM>6mQ!uC%? zpMq7RH2+~+Ap!FpPoN#`*{C7=j?sw$xH5WcMWg<|*FF3&A9zo5=S~K<*<8}I$La4q zz2O?g_IBqlP%PKZV5HI?&_f{nsQOjvj!2W=F8rezPZ+`QL@f*X99(+195AS$qSDek z8nC@+*xBEIFjK1(=-qs+fDa#@o#O2!V;z2fw)C`IpaH(5U!Z+|3l>l( z{`U5CGj;@P&tTm-I;8t-zjU^c2g=1^8Tvk#Cd+gcM5IhjpT) zi#gZ0ogGpFWW(Z}0nJFw@##2-t1kP0l04|)zvbkN)EdzJ8cdGD(6O)%I}#~ww}#h9D|YK}E4Wx*d^!c9)%+ zE&H2)_lE#vM8#DI#+{w|&u&hUS0i(Wu|FU2SO^@r=j;tK-VqfP92NRZSe6Hmpa((( zkKxV*wS&zF4O+UrC4?;V%pIy2jhl^c??yRo9~*=QOOOyIDwuflHI2~&kF_BxFoowq zNpV)%H4Mdm2%+?R+=|2)T&OT#``cU!7N}!kcb$LF6|E-g>;>BHMt z`=`##@H0ONr9wnkyLUIF3(?s+vt6U^hh*W3@xD&S^HMLPsW`QYouKg`{9Gzqi3}@1 z(Y4i-C@fILjT+N7AsuvVNq<-_oEYvjVvkAz@%>$LnY5( zwg|az+^aj0liSOk7ooz^gBZzPt)y~#{ig&JklWn`K(-_CHTktme;6TIyWNrcfKi>VI6E*mm$(@sSEPI&N_ zC6vo)BX>u*9kvF(<*DF&zu4iY+~|K(Zao6k8E+e8SFTR_f->tA7O$6lDFlaq5 z=7DLgp5raIJDlFqL6$g$VfL$xpk_eWVOxxlZ}3Kb|?=J=e?^s_ZG|IB+eETATV9VIg&2jv-;(K?hEpj>7$hjGfdP zh;NP|BWJEP;MDzi{eaZGZZl|(Vx`s(=o4Ax!n57-f7#B$qoID@rO;Lj)Cr^b;eEdj z26k1?nCI&{LnS7Xvo|HvlB-u_|EumqX6N9a6`qu0fpCLZu0qRq6g^?+_kKbSpqI8h zAj@w@c84_J4p38sdZ+*}{jX>sU=CA3vmN$1814oz!ZJNbA+2FjcE|O0mo4WjC@Y)I ztU)G$I;J?%`xamoe;&>?cXt!hm=f!DD!|<(t`i)3dVOBjYAOa&;2>`6KP`aDgy+;- zTc}~ih&YDonO=HIW3Z#5DyRK}?0!9sd-LcxD=!t#dwhmcG(5Ttxbu7ogvD|pz#r={ zAg+JG)Vi2N)!0L5T>U2}Mbb8A7|W3nKvMp8D5J;@AK9x-HI&ayq4nb((l!ShBU$5m zd_{+F)ep$lXV1-$5Or<7$7QEZYbt5$6u*%-!rJ}YO*5elVi!|I63y$>iyOLT8{S{_ zI=Gu8HIe`{cs-R^Yc1|YKvt3fH@94{32sc*Tz&_tc1oa6PqYZ2jQ|vEK2^75yn{M* z7tv_)rdA5!JHOi?FdG;WDDI!h8FCy=dl4x~-DT#DvtN57utUk3bdWE+Po1s^lol#x z6=jZK89Uv&r;#RbR-Nd+C|y#pzYS)LgcWlj3BIbZGn(4sG>Ql{&ri!w83f-9`Nd z_wcB!Sr$;Y#lZyol=<}1Qf+a{>CE90G)Fo1lAF^RUqq3v(pbcd75*2_Q>Q>?Xiys9 ztnLf<>VBza>BrDkKzIGtB=I~ZpkI_D@~a9))%KNaWrU>XLcnWH%uu)_S>qjo_ofcp z!_a!ih=kx5x{-eA?$lE32i78;+Gh#odc~n}c|U(h*3tPsd8yAMECVW7kSx}R8|h|` zFTWM}P5Q%QO%@$({`=rqW-9#b4*)(7yiULFBbbsih#1J?M<^=ENFW9iLIp8^U$j{n z_n3|fZsH9ZY5D^+W;Fi3RBH|Sqmp?v|<3=WRd_CqB1B27Od6`7H zNGjS`{N4*K2sTioxn)C7Bzb1n^2IlAJ0)S?rA^hAbQXfhK;``Cqnr1yMwZ=hG%LY z!Kn|wen9I3R23g*$YK%_6rS}#)-*q4delqh%194a_bbqPWN=yj! zxl(x%c+eb?PNuCt#H-YTL&3@EGKsxxsD$r5Yd1rg?W%1p@Gkpew8HL~h zf~u={`NvBa0!vL6?lBmUjqH6yNO@SfcA2MKq3syU4Yo^kVfN5(@C_!fQ7Hx3X@$tF zw@k8L)Ivg^h5ZM^feMUtDdP8MWe*j|szGKMhAg@}7CL5pR=r!|;hKXCb^->Q9*chu z`ICmwyPnxD8siu;77<{y`K>Pbf0I}mV@Vz_c3kr`IWi`~c5&Ry01A3hZI6-oIQ8yb z(I-C}DjucKY#JdajyT(xDs;HYE5>5FgH zyaQN5cu59p6^`T%c4a2GlZ|D^;fGG?#eFUdh_;Ic=vUsDCOvv^5=UwFU8}qn;|6*} z1Dv{@5f#U&5&E27`;D%U*-20pg6sxQmt}f=ItDsX+%Iv_bzT5(3-j=;XJmvp#2XIU zsZkYbmP+Ue74@xtCMkK<_X!e@CoKkWII`TOm$7#)^+-Es0$ORk)e1@+H={=hv(R-n z)ZDGeLO=+(ZvJHMwIhNfCWGWXZirjBUW{b-tDt}YzXH>!o zi1Kbq$^iAhur105H~-SU{`(*Q9uMNQ`1f@9_wx96bol=i9FNc3*I$u;zx{ From cc9edc202509fb0354d97aa5ea9b858a1c7c1521 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 11:02:35 +0100 Subject: [PATCH 20/27] test: update stories slash icicle slash 02_unix_flame Co-authored-by: Nick Partridge --- stories/icicle/02_unix_flame.tsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/stories/icicle/02_unix_flame.tsx b/stories/icicle/02_unix_flame.tsx index 6d4b851986..6850f6e1d8 100644 --- a/stories/icicle/02_unix_flame.tsx +++ b/stories/icicle/02_unix_flame.tsx @@ -46,12 +46,7 @@ const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore // eslint-disable-next-line prefer-spread - const childrenRows: Row[] = [].concat.apply( - [], - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - c.map((child) => flatTree(child, depth + 1)), - ); + const childrenRows = c.reduce((a, child) => [...a, ...flatTree(child, depth + 1)], []); const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); const missing = Math.max(0, v - childrenTotal); if (missing > 0) { From d6a3893608c2e498f8e10a00f772dc3675ad79da Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 11:05:24 +0100 Subject: [PATCH 21/27] test: missing flatmmap workaround simplifications by nick --- stories/icicle/01_unix_icicle.tsx | 10 +--------- stories/icicle/02_unix_flame.tsx | 3 --- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/stories/icicle/01_unix_icicle.tsx b/stories/icicle/01_unix_icicle.tsx index 2c30e295f3..bc9f7d7e38 100644 --- a/stories/icicle/01_unix_icicle.tsx +++ b/stories/icicle/01_unix_icicle.tsx @@ -43,15 +43,7 @@ const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { return [{ [`layer_${depth}`]: n, value: v, depth }]; } // looks like our test runner can't run c.flatMap(...) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - // eslint-disable-next-line prefer-spread - const childrenRows: Row[] = [].concat.apply( - [], - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - c.map((child) => flatTree(child, depth + 1)), - ); + const childrenRows = c.reduce((a, child) => [...a, ...flatTree(child, depth + 1)], []); const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); const missing = Math.max(0, v - childrenTotal); if (missing > 0) { diff --git a/stories/icicle/02_unix_flame.tsx b/stories/icicle/02_unix_flame.tsx index 6850f6e1d8..53db5b9b8e 100644 --- a/stories/icicle/02_unix_flame.tsx +++ b/stories/icicle/02_unix_flame.tsx @@ -43,9 +43,6 @@ const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { return [{ [`layer_${depth}`]: n, value: v, depth }]; } // looks like our test runner can't run c.flatMap(...) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - // eslint-disable-next-line prefer-spread const childrenRows = c.reduce((a, child) => [...a, ...flatTree(child, depth + 1)], []); const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); const missing = Math.max(0, v - childrenTotal); From 0aa4781cc3825215f10c23f322d98653b97d867f Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 13:01:41 +0100 Subject: [PATCH 22/27] Update src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts Co-authored-by: Marco Vettorello --- src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index 64cfe092cf..e69c682011 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -309,7 +309,7 @@ export function shapeViewModel( }; const nodesWithRoom = quadViewModel.filter(roomCondition); - const outsideFillNodes = fillOutside && !treemapLayout && !icicleLayout && !flameLayout ? nodesWithRoom : []; + const outsideFillNodes = fillOutside && sunburstLayout ? nodesWithRoom : []; const textFillOrigins = nodesWithRoom.map( treemapLayout || icicleLayout || flameLayout ? rectangleFillOrigins : sectorFillOrigins(fillOutside), From ea378fb3d6346da88ff6456c191ee2334e437559 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 13:47:16 +0100 Subject: [PATCH 23/27] refactor: moved out flame utilities --- stories/icicle/01_unix_icicle.tsx | 77 ++-------------- stories/icicle/02_unix_flame.tsx | 77 ++-------------- .../interactions/4_sunburst_slice_clicks.tsx | 6 +- stories/legend/10_sunburst.tsx | 9 +- stories/stylings/20_partition_background.tsx | 9 +- stories/sunburst/15_single_sunburst.tsx | 9 +- stories/sunburst/26_percentage.tsx | 9 +- stories/sunburst/27_heterogeneous_depth.tsx | 9 +- stories/sunburst/3_value_formatted_2.tsx | 4 +- stories/sunburst/9_sunburst_three_layers.tsx | 9 +- stories/treemap/2_one_layer_2.tsx | 4 +- stories/utils/hierarchical_input_utils.tsx | 88 +++++++++++++++++++ stories/utils/utils.ts | 2 +- 13 files changed, 132 insertions(+), 180 deletions(-) create mode 100644 stories/utils/hierarchical_input_utils.tsx diff --git a/stories/icicle/01_unix_icicle.tsx b/stories/icicle/01_unix_icicle.tsx index bc9f7d7e38..80c93b8acb 100644 --- a/stories/icicle/01_unix_icicle.tsx +++ b/stories/icicle/01_unix_icicle.tsx @@ -20,88 +20,23 @@ import React from 'react'; import { Chart, Datum, Partition, PartitionLayout, Settings } from '../../src'; -import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/types/viewmodel_types'; -import { PrimitiveValue } from '../../src/chart_types/partition_chart/layout/utils/group_by_rollup'; -import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; -import { categoricalFillColor, viridis18 as palette } from '../utils/utils'; +import { config, getFlatData, getLayerSpec, maxDepth } from '../utils/hierarchical_input_utils'; +import { viridis18 as palette } from '../utils/utils'; const color = palette.slice().reverse(); -const raw = mocks.observabilityTree; - -interface Node { - c?: Node[]; - n: string; - v: number; -} - -type Row = { [layerKey: string]: unknown; value: number; depth: number }; - -const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { - if (!c) { - return [{ [`layer_${depth}`]: n, value: v, depth }]; - } - // looks like our test runner can't run c.flatMap(...) - const childrenRows = c.reduce((a, child) => [...a, ...flatTree(child, depth + 1)], []); - const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); - const missing = Math.max(0, v - childrenTotal); - if (missing > 0) { - childrenRows.unshift({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); - childrenRows.push({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); - } - childrenRows.forEach((innerChild) => { - innerChild[`layer_${depth}`] = n; - }); - return childrenRows; -}; - -const flatData = flatTree(raw, 0); -const maxDepth = flatData.reduce((p, n) => Math.max(p, n.depth), 0); - -const layerSpec = [...new Array(maxDepth + 1)].map((_, depth) => ({ - groupByRollup: (d: Datum) => d[`layer_${depth}`], - nodeLabel: (d: PrimitiveValue) => String(d), - showAccessor: (d: PrimitiveValue) => d !== undefined, - shape: { - fillColor: (d: ShapeTreeNode) => (d.dataName ? categoricalFillColor(color, 0.8)(depth) : 'transparent'), - }, -})); - export const Example = () => { return ( - + d.value as number} valueFormatter={() => ''} - layers={layerSpec} - config={{ - partitionLayout: PartitionLayout.icicle, - fontFamily: 'Arial', - fillLabel: { - valueFormatter: (d: number) => d, - // fontStyle: 'italic', - textInvertible: true, - // fontWeight: 900, - valueFont: { - // fontFamily: 'Menlo', - // fontStyle: 'normal', - // fontWeight: 100, - }, - }, - margin: { top: 0, bottom: 0, left: 0, right: 0 }, - minFontSize: 8, - maxFontSize: 14, - idealFontSizeJump: 1.01, - outerSizeRatio: 1, - emptySizeRatio: 0, - circlePadding: 0, - radialPadding: 0, - backgroundColor: 'rgba(229,229,229,1)', - }} + layers={getLayerSpec(color)} + config={{ ...config, partitionLayout: PartitionLayout.icicle }} /> ); diff --git a/stories/icicle/02_unix_flame.tsx b/stories/icicle/02_unix_flame.tsx index 53db5b9b8e..e7b43d29d0 100644 --- a/stories/icicle/02_unix_flame.tsx +++ b/stories/icicle/02_unix_flame.tsx @@ -20,88 +20,23 @@ import React from 'react'; import { Chart, Datum, Partition, PartitionLayout, Settings } from '../../src'; -import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/types/viewmodel_types'; -import { PrimitiveValue } from '../../src/chart_types/partition_chart/layout/utils/group_by_rollup'; -import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; -import { categoricalFillColor, plasma18 as palette } from '../utils/utils'; +import { config, getFlatData, getLayerSpec, maxDepth } from '../utils/hierarchical_input_utils'; +import { plasma18 as palette } from '../utils/utils'; const color = palette.slice().reverse(); -const raw = mocks.observabilityTree; - -interface Node { - c?: Node[]; - n: string; - v: number; -} - -type Row = { [layerKey: string]: unknown; value: number; depth: number }; - -const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { - if (!c) { - return [{ [`layer_${depth}`]: n, value: v, depth }]; - } - // looks like our test runner can't run c.flatMap(...) - const childrenRows = c.reduce((a, child) => [...a, ...flatTree(child, depth + 1)], []); - const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); - const missing = Math.max(0, v - childrenTotal); - if (missing > 0) { - childrenRows.unshift({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); - childrenRows.push({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); - } - childrenRows.forEach((innerChild) => { - innerChild[`layer_${depth}`] = n; - }); - return childrenRows; -}; - -const flatData = flatTree(raw, 0); -const maxDepth = flatData.reduce((p, n) => Math.max(p, n.depth), 0); - -const layerSpec = [...new Array(maxDepth + 1)].map((_, depth) => ({ - groupByRollup: (d: Datum) => d[`layer_${depth}`], - nodeLabel: (d: PrimitiveValue) => String(d), - showAccessor: (d: PrimitiveValue) => d !== undefined, - shape: { - fillColor: (d: ShapeTreeNode) => (d.dataName ? categoricalFillColor(color, 0.8)(depth) : 'transparent'), - }, -})); - export const Example = () => { return ( - + d.value as number} valueFormatter={() => ''} - layers={layerSpec} - config={{ - partitionLayout: PartitionLayout.flame, - fontFamily: 'Arial', - fillLabel: { - valueFormatter: (d: number) => d, - // fontStyle: 'italic', - textInvertible: true, - // fontWeight: 900, - valueFont: { - // fontFamily: 'Menlo', - // fontStyle: 'normal', - // fontWeight: 100, - }, - }, - margin: { top: 0, bottom: 0, left: 0, right: 0 }, - minFontSize: 8, - maxFontSize: 14, - idealFontSizeJump: 1.01, - outerSizeRatio: 1, - emptySizeRatio: 0, - circlePadding: 0, - radialPadding: 0, - backgroundColor: 'rgba(229,229,229,1)', - }} + layers={getLayerSpec(color)} + config={{ ...config, partitionLayout: PartitionLayout.flame }} /> ); diff --git a/stories/interactions/4_sunburst_slice_clicks.tsx b/stories/interactions/4_sunburst_slice_clicks.tsx index 5aa1a54122..1ac43f5d46 100644 --- a/stories/interactions/4_sunburst_slice_clicks.tsx +++ b/stories/interactions/4_sunburst_slice_clicks.tsx @@ -26,7 +26,7 @@ import { STORYBOOK_LIGHT_THEME } from '../shared'; import { indexInterpolatedFillColor, interpolatorCET2s, - categoricalFillColor, + discreteColor, colorBrewerCategoricalPastel12, } from '../utils/utils'; @@ -87,7 +87,7 @@ export const Example = () => { // pick color from color palette based on mean angle - rather distinct colors in the inner ring return indexInterpolatedFillColor(interpolatorCET2s)(d, (d.x0 + d.x1) / 2 / (2 * Math.PI), []); } - return categoricalFillColor(colorBrewerCategoricalPastel12)(d.sortIndex); + return discreteColor(colorBrewerCategoricalPastel12)(d.sortIndex); }, }, }, @@ -100,7 +100,7 @@ export const Example = () => { // pick color from color palette based on mean angle - rather distinct colors in the inner ring return indexInterpolatedFillColor(interpolatorCET2s)(d, (d.x0 + d.x1) / 2 / (2 * Math.PI), []); } - return categoricalFillColor(colorBrewerCategoricalPastel12)(d.sortIndex); + return discreteColor(colorBrewerCategoricalPastel12)(d.sortIndex); }, }, }, diff --git a/stories/legend/10_sunburst.tsx b/stories/legend/10_sunburst.tsx index 448678c414..0cf4951048 100644 --- a/stories/legend/10_sunburst.tsx +++ b/stories/legend/10_sunburst.tsx @@ -26,7 +26,7 @@ import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/type import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; import { - categoricalFillColor, + discreteColor, colorBrewerCategoricalStark9, countryLookup, productLookup, @@ -54,15 +54,14 @@ export const Example = () => { groupByRollup: (d: Datum) => d.sitc1, nodeLabel: (d: any) => productLookup[d].name, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), }, }, { groupByRollup: (d: Datum) => countryLookup[d.dest].continentCountry.slice(0, 2), nodeLabel: (d: any) => regionLookup[d].regionName, shape: { - fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), }, }, { @@ -70,7 +69,7 @@ export const Example = () => { nodeLabel: (d: any) => countryLookup[d].name, shape: { fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), + discreteColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), }, }, ]} diff --git a/stories/stylings/20_partition_background.tsx b/stories/stylings/20_partition_background.tsx index bccab7e430..2db37ff4bc 100644 --- a/stories/stylings/20_partition_background.tsx +++ b/stories/stylings/20_partition_background.tsx @@ -25,7 +25,7 @@ import { config } from '../../src/chart_types/partition_chart/layout/config/conf import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/types/viewmodel_types'; import { mocks } from '../../src/mocks/hierarchical'; import { - categoricalFillColor, + discreteColor, colorBrewerCategoricalStark9, countryLookup, productLookup, @@ -55,15 +55,14 @@ export const Example = () => { groupByRollup: (d: Datum) => d.sitc1, nodeLabel: (d: any) => productLookup[d].name, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), }, }, { groupByRollup: (d: Datum) => countryLookup[d.dest].continentCountry.slice(0, 2), nodeLabel: (d: any) => regionLookup[d].regionName, shape: { - fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), }, }, { @@ -71,7 +70,7 @@ export const Example = () => { nodeLabel: (d: any) => countryLookup[d].name, shape: { fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), + discreteColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), }, }, ]} diff --git a/stories/sunburst/15_single_sunburst.tsx b/stories/sunburst/15_single_sunburst.tsx index 124ac6d25f..94400fb77d 100644 --- a/stories/sunburst/15_single_sunburst.tsx +++ b/stories/sunburst/15_single_sunburst.tsx @@ -25,7 +25,7 @@ import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/type import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; import { - categoricalFillColor, + discreteColor, colorBrewerCategoricalStark9, countryLookup, productLookup, @@ -45,15 +45,14 @@ export const Example = () => ( groupByRollup: (d: Datum) => d.sitc1, nodeLabel: (d: any) => productLookup[d].name, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), }, }, { groupByRollup: (d: Datum) => countryLookup[d.dest].continentCountry.slice(0, 2), nodeLabel: (d: any) => regionLookup[d].regionName.replace(/\s/g, '\u00A0'), shape: { - fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), }, }, { @@ -61,7 +60,7 @@ export const Example = () => ( nodeLabel: (d: any) => countryLookup[d].name.replace(/\s/g, '\u00A0'), shape: { fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), + discreteColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), }, }, ]} diff --git a/stories/sunburst/26_percentage.tsx b/stories/sunburst/26_percentage.tsx index 5c7dd3add4..db53cb0405 100644 --- a/stories/sunburst/26_percentage.tsx +++ b/stories/sunburst/26_percentage.tsx @@ -25,7 +25,7 @@ import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/type import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; import { - categoricalFillColor, + discreteColor, colorBrewerCategoricalStark9, countryLookup, productLookup, @@ -47,15 +47,14 @@ export const Example = () => ( groupByRollup: (d: Datum) => d.sitc1, nodeLabel: (d: any) => productLookup[d].name, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), }, }, { groupByRollup: (d: Datum) => countryLookup[d.dest].continentCountry.slice(0, 2), nodeLabel: (d: any) => regionLookup[d].regionName, shape: { - fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), }, }, { @@ -63,7 +62,7 @@ export const Example = () => ( nodeLabel: (d: any) => countryLookup[d].name, shape: { fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), + discreteColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), }, }, ]} diff --git a/stories/sunburst/27_heterogeneous_depth.tsx b/stories/sunburst/27_heterogeneous_depth.tsx index a12411cfb0..6cf4fa06e0 100644 --- a/stories/sunburst/27_heterogeneous_depth.tsx +++ b/stories/sunburst/27_heterogeneous_depth.tsx @@ -26,7 +26,7 @@ import { PrimitiveValue } from '../../src/chart_types/partition_chart/layout/uti import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; import { - categoricalFillColor, + discreteColor, colorBrewerCategoricalStark9, countryLookup, productLookup, @@ -46,15 +46,14 @@ export const Example = () => ( groupByRollup: (d: Datum) => d.sitc1, nodeLabel: (d: PrimitiveValue) => d !== null && productLookup[d].name, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), }, }, { groupByRollup: (d: Datum) => countryLookup[d.dest].continentCountry.slice(0, 2), nodeLabel: (d: PrimitiveValue) => d !== null && regionLookup[d].regionName, shape: { - fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), }, }, { @@ -63,7 +62,7 @@ export const Example = () => ( showAccessor: (d: PrimitiveValue) => !(['chn', 'hkg', 'jpn', 'kor'] as PrimitiveValue[]).includes(d), shape: { fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), + discreteColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), }, }, ]} diff --git a/stories/sunburst/3_value_formatted_2.tsx b/stories/sunburst/3_value_formatted_2.tsx index 401f0f0667..4fc81533b7 100644 --- a/stories/sunburst/3_value_formatted_2.tsx +++ b/stories/sunburst/3_value_formatted_2.tsx @@ -23,7 +23,7 @@ import { Chart, Datum, Partition } from '../../src'; import { config } from '../../src/chart_types/partition_chart/layout/config/config'; import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/types/viewmodel_types'; import { mocks } from '../../src/mocks/hierarchical'; -import { categoricalFillColor, colorBrewerCategoricalPastel12, productLookup } from '../utils/utils'; +import { discreteColor, colorBrewerCategoricalPastel12, productLookup } from '../utils/utils'; export const Example = () => ( @@ -47,7 +47,7 @@ export const Example = () => ( }, }, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalPastel12)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalPastel12)(d.sortIndex), }, }, ]} diff --git a/stories/sunburst/9_sunburst_three_layers.tsx b/stories/sunburst/9_sunburst_three_layers.tsx index 8a8b0b8aae..f3218e8d38 100644 --- a/stories/sunburst/9_sunburst_three_layers.tsx +++ b/stories/sunburst/9_sunburst_three_layers.tsx @@ -26,7 +26,7 @@ import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/type import { mocks } from '../../src/mocks/hierarchical'; import { STORYBOOK_LIGHT_THEME } from '../shared'; import { - categoricalFillColor, + discreteColor, colorBrewerCategoricalStark9, countryLookup, productLookup, @@ -47,7 +47,7 @@ export const Example = () => ( nodeLabel: (d: any) => productLookup[d].name, fillLabel: { maximizeFontSize: boolean('Maximize font size layer 1', true) }, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.7)(d.sortIndex), }, }, { @@ -55,8 +55,7 @@ export const Example = () => ( nodeLabel: (d: any) => regionLookup[d].regionName, fillLabel: { maximizeFontSize: boolean('Maximize font size layer 2', true) }, shape: { - fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalStark9, 0.5)(d.parent.sortIndex), }, }, { @@ -65,7 +64,7 @@ export const Example = () => ( fillLabel: { maximizeFontSize: boolean('Maximize font size layer 3', true) }, shape: { fillColor: (d: ShapeTreeNode) => - categoricalFillColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), + discreteColor(colorBrewerCategoricalStark9, 0.3)(d.parent.parent.sortIndex), }, }, ]} diff --git a/stories/treemap/2_one_layer_2.tsx b/stories/treemap/2_one_layer_2.tsx index 41ffac1305..d01b4f0023 100644 --- a/stories/treemap/2_one_layer_2.tsx +++ b/stories/treemap/2_one_layer_2.tsx @@ -25,7 +25,7 @@ import { ShapeTreeNode } from '../../src/chart_types/partition_chart/layout/type import { arrayToLookup } from '../../src/chart_types/partition_chart/layout/utils/calcs'; import { mocks } from '../../src/mocks/hierarchical'; import { productDimension } from '../../src/mocks/hierarchical/dimension_codes'; -import { categoricalFillColor, colorBrewerCategoricalPastel12 } from '../utils/utils'; +import { discreteColor, colorBrewerCategoricalPastel12 } from '../utils/utils'; const productLookup = arrayToLookup((d: Datum) => d.sitc1, productDimension); @@ -48,7 +48,7 @@ export const Example = () => ( }, }, shape: { - fillColor: (d: ShapeTreeNode) => categoricalFillColor(colorBrewerCategoricalPastel12)(d.sortIndex), + fillColor: (d: ShapeTreeNode) => discreteColor(colorBrewerCategoricalPastel12)(d.sortIndex), }, }, ]} diff --git a/stories/utils/hierarchical_input_utils.tsx b/stories/utils/hierarchical_input_utils.tsx new file mode 100644 index 0000000000..001780e3ab --- /dev/null +++ b/stories/utils/hierarchical_input_utils.tsx @@ -0,0 +1,88 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { Datum, RecursivePartial } from '../../src'; +import { Config } from '../../src/chart_types/partition_chart/layout/types/config_types'; +import { PrimitiveValue } from '../../src/chart_types/partition_chart/layout/utils/group_by_rollup'; +import { mocks } from '../../src/mocks/hierarchical'; +import { discreteColor } from './utils'; + +const raw = mocks.observabilityTree; + +interface Node { + c?: Node[]; + n: string; + v: number; +} + +type Row = { [layerKey: string]: unknown; value: number; depth: number }; + +const flatTree = ({ c, n, v }: Node, depth: number): Row[] => { + if (!c) { + return [{ [`layer_${depth}`]: n, value: v, depth }]; + } + // as of writing this, the test runner can't run c.flatMap(...) + const childrenRows = c.reduce((a, child) => [...a, ...flatTree(child, depth + 1)], []); + const childrenTotal = childrenRows.reduce((p, { value }) => p + value, 0); + const missing = Math.max(0, v - childrenTotal); + if (missing > 0) { + childrenRows.unshift({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); + childrenRows.push({ [`layer_${depth + 1}`]: undefined, value: missing / 2, depth }); + } + childrenRows.forEach((innerChild) => { + innerChild[`layer_${depth}`] = n; + }); + return childrenRows; +}; + +/** @internal */ +export const getFlatData = () => flatTree(raw, 0); + +/** @internal */ +export const maxDepth = getFlatData().reduce((p, n) => Math.max(p, n.depth), 0); + +/** @internal */ +export const getLayerSpec = (color: [string, string, string][]) => + [...new Array(maxDepth + 1)].map((_, depth) => ({ + groupByRollup: (d: Datum) => d[`layer_${depth}`], + nodeLabel: (d: PrimitiveValue) => String(d), + showAccessor: (d: PrimitiveValue) => d !== undefined, + shape: { + fillColor: () => discreteColor(color, 0.8)(depth), + }, + })); + +/** @internal */ +export const config: RecursivePartial = { + fontFamily: 'Arial', + fillLabel: { + valueFormatter: (d: number) => d, + textInvertible: true, + fontWeight: 500, + }, + margin: { top: 0, bottom: 0, left: 0, right: 0 }, + minFontSize: 8, + maxFontSize: 14, + idealFontSizeJump: 1.01, + outerSizeRatio: 1, + emptySizeRatio: 0, + circlePadding: 0, + radialPadding: 0, + backgroundColor: 'rgba(229,229,229,1)', +}; diff --git a/stories/utils/utils.ts b/stories/utils/utils.ts index bf0fc6fcdc..5894548a28 100644 --- a/stories/utils/utils.ts +++ b/stories/utils/utils.ts @@ -195,7 +195,7 @@ export const colorBrewerCategoricalStark9: RGBStrings = [ 'rgb(153,153,153)', ].map(rgbStringToTuple) as RGBStrings; -export const categoricalFillColor = (categoricalColors: RGBStrings, opacity = 1) => (i: number) => +export const discreteColor = (categoricalColors: RGBStrings, opacity = 1) => (i: number) => `rgba(${categoricalColors[i % categoricalColors.length].concat([opacity.toString()]).join(',')})`; export const decreasingOpacityCET2 = (opacity: number) => (d: any, i: number, a: any[]) => From 49f2813e30afc8ad1ca00dd9cd862b6d37146a05 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 13:50:58 +0100 Subject: [PATCH 24/27] test: shrink width instead of growing height while having a good aspect ratio --- stories/icicle/01_unix_icicle.tsx | 2 +- stories/icicle/02_unix_flame.tsx | 2 +- stories/utils/hierarchical_input_utils.tsx | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/stories/icicle/01_unix_icicle.tsx b/stories/icicle/01_unix_icicle.tsx index 80c93b8acb..db4c740a26 100644 --- a/stories/icicle/01_unix_icicle.tsx +++ b/stories/icicle/01_unix_icicle.tsx @@ -28,7 +28,7 @@ const color = palette.slice().reverse(); export const Example = () => { return ( - + { return ( - + = { fontWeight: 500, }, margin: { top: 0, bottom: 0, left: 0, right: 0 }, - minFontSize: 8, - maxFontSize: 14, + minFontSize: 4, + maxFontSize: 8, idealFontSizeJump: 1.01, - outerSizeRatio: 1, - emptySizeRatio: 0, - circlePadding: 0, - radialPadding: 0, backgroundColor: 'rgba(229,229,229,1)', }; From 1fa058071467a6ca9aed3cb89454d0a1b54ed51f Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 14:33:18 +0100 Subject: [PATCH 25/27] refactor: regularize access to partititonLayout type and simplify some conditions --- .../layout/viewmodel/viewmodel.ts | 61 ++++++++++--------- .../renderer/canvas/canvas_renderers.ts | 6 +- .../renderer/dom/highlighter.tsx | 14 ++--- .../partition_chart/state/selectors/tree.ts | 8 +-- 4 files changed, 44 insertions(+), 45 deletions(-) diff --git a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts index e69c682011..714f67c804 100644 --- a/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts +++ b/src/chart_types/partition_chart/layout/viewmodel/viewmodel.ts @@ -103,7 +103,7 @@ export function makeQuadViewModel( const opacityMultiplier = 1; // could alter in the future, eg. in response to interactions const layer = layers[node.depth - 1]; const fillColorSpec = layer && layer.shape && layer.shape.fillColor; - const fill = fillColorSpec || 'rgba(128,0,0,0.5)'; + const fill = fillColorSpec ?? 'rgba(128,0,0,0.5)'; const shapeFillColor = typeof fill === 'function' ? fill(node, node.sortIndex, node.parent.children) : fill; const { r, g, b, opacity } = stringToRGB(shapeFillColor); const fillColor = argsToRGBString(r, g, b, opacity * opacityMultiplier); @@ -185,7 +185,7 @@ const rawChildNodes = ( return sunburst(tree, sunburstAreaAccessor, { x0: 0, y0: -1 }, clockwiseSectors, specialFirstInnermostSector); case PartitionLayout.treemap: - const treemapInnerArea = partitionLayout === PartitionLayout.treemap ? width * height : 1; // assuming 1 x 1 unit square + const treemapInnerArea = isTreemap(partitionLayout) ? width * height : 1; // assuming 1 x 1 unit square const treemapValueToAreaScale = treemapInnerArea / totalValue; const treemapAreaAccessor = (e: ArrayEntry) => treemapValueToAreaScale * mapEntryValue(e); return treemap(tree, treemapAreaAccessor, topGrooveAccessor(topGroove), grooveAccessor, { @@ -197,7 +197,7 @@ const rawChildNodes = ( case PartitionLayout.icicle: case PartitionLayout.flame: - const icicleLayout = partitionLayout === PartitionLayout.icicle; + const icicleLayout = isIcicle(partitionLayout); const multiplier = icicleLayout ? -1 : 1; const icicleValueToAreaScale = width / totalValue; const icicleAreaAccessor = (e: ArrayEntry) => icicleValueToAreaScale * mapEntryValue(e); @@ -218,10 +218,15 @@ const rawChildNodes = ( // Let's ensure TS complains if we add a new PartitionLayout type in the future without creating a `case` for it // Hopefully, a future TS version will do away with the need for this boilerplate `default`. Now TS even needs a `default` even if all possible cases are covered. // Even in runtime it does something sensible (returns the empty set); explicit throwing is avoided as it can deopt the function - return ((layout: never) => layout || [])(partitionLayout); + return ((layout: never) => layout ?? [])(partitionLayout); } }; +export const isTreemap = (partitionLayout: PartitionLayout) => partitionLayout === PartitionLayout.treemap; +export const isSunburst = (partitionLayout: PartitionLayout) => partitionLayout === PartitionLayout.sunburst; +const isIcicle = (partitionLayout: PartitionLayout) => partitionLayout === PartitionLayout.icicle; +const isFlame = (partitionLayout: PartitionLayout) => partitionLayout === PartitionLayout.flame; + /** @internal */ export function shapeViewModel( textMeasure: TextMeasure, @@ -262,10 +267,10 @@ export function shapeViewModel( return nullShapeViewModel(config, diskCenter); } - const treemapLayout = partitionLayout === PartitionLayout.treemap; - const sunburstLayout = partitionLayout === PartitionLayout.sunburst; - const icicleLayout = partitionLayout === PartitionLayout.icicle; - const flameLayout = partitionLayout === PartitionLayout.flame; + const treemapLayout = isTreemap(partitionLayout); + const sunburstLayout = isSunburst(partitionLayout); + const icicleLayout = isIcicle(partitionLayout); + const flameLayout = isFlame(partitionLayout); const longestPath = ([, { children, path }]: ArrayEntry): number => children.length > 0 ? children.reduce((p, n) => Math.max(p, longestPath(n)), 0) : path.length; const maxDepth = longestPath(tree[0]) - 2; // don't include the root node @@ -303,35 +308,31 @@ export function shapeViewModel( // fill text const roomCondition = (n: ShapeTreeNode) => { const diff = n.x1 - n.x0; - return treemapLayout || icicleLayout || flameLayout - ? n.x1 - n.x0 > minFontSize && n.y1px - n.y0px > minFontSize - : (diff < 0 ? TAU + diff : diff) * ringSectorMiddleRadius(n) > Math.max(minFontSize, linkLabel.maximumSection); + return sunburstLayout + ? (diff < 0 ? TAU + diff : diff) * ringSectorMiddleRadius(n) > Math.max(minFontSize, linkLabel.maximumSection) + : n.x1 - n.x0 > minFontSize && n.y1px - n.y0px > minFontSize; }; const nodesWithRoom = quadViewModel.filter(roomCondition); const outsideFillNodes = fillOutside && sunburstLayout ? nodesWithRoom : []; - const textFillOrigins = nodesWithRoom.map( - treemapLayout || icicleLayout || flameLayout ? rectangleFillOrigins : sectorFillOrigins(fillOutside), - ); + const textFillOrigins = nodesWithRoom.map(sunburstLayout ? sectorFillOrigins(fillOutside) : rectangleFillOrigins); const valueFormatter = valueGetter === percentValueGetter ? specifiedPercentFormatter : specifiedValueFormatter; - const getRowSets = - treemapLayout || icicleLayout || flameLayout - ? fillTextLayout( - rectangleConstruction(treeHeight, treemapLayout ? topGroove : null), - getRectangleRowGeometry, - () => 0, - containerBackgroundColor, - ) - : fillTextLayout( - ringSectorConstruction(config, innerRadius, ringThickness), - getSectorRowGeometry, - inSectorRotation(config.horizontalTextEnforcer, config.horizontalTextAngleThreshold), - containerBackgroundColor, - ); - + const getRowSets = sunburstLayout + ? fillTextLayout( + ringSectorConstruction(config, innerRadius, ringThickness), + getSectorRowGeometry, + inSectorRotation(config.horizontalTextEnforcer, config.horizontalTextAngleThreshold), + containerBackgroundColor, + ) + : fillTextLayout( + rectangleConstruction(treeHeight, treemapLayout ? topGroove : null), + getRectangleRowGeometry, + () => 0, + containerBackgroundColor, + ); const rowSets: RowSet[] = getRowSets( textMeasure, rawTextGetter, @@ -358,7 +359,7 @@ export function shapeViewModel( const id = nodeId(n); const foundInFillText = rowSets.find((r: RowSet) => r.id === id); // successful text render if found, and has some row(s) - return !(foundInFillText && foundInFillText.rows.length !== 0); + return !(foundInFillText && foundInFillText.rows.length > 0); }); const maxLinkedLabelTextLength = config.linkLabel.maxTextLength; const linkLabelViewModels = linkTextLayout( diff --git a/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts b/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts index 65cfd16089..119f4a59b7 100644 --- a/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts +++ b/src/chart_types/partition_chart/renderer/canvas/canvas_renderers.ts @@ -19,7 +19,6 @@ import { clearCanvas, renderLayers, withContext } from '../../../../renderers/canvas'; import { Color } from '../../../../utils/commons'; -import { PartitionLayout } from '../../layout/types/config_types'; import { Pixels } from '../../layout/types/geometry_types'; import { LinkLabelVM, @@ -33,6 +32,7 @@ import { addOpacity } from '../../layout/utils/calcs'; import { TAU } from '../../layout/utils/constants'; import { cssFontShorthand } from '../../layout/utils/measure'; import { LinkLabelsViewModelSpec } from '../../layout/viewmodel/link_text_layout'; +import { isSunburst } from '../../layout/viewmodel/viewmodel'; // the burnout avoidance in the center of the pie const LINE_WIDTH_MULT = 10; // border can be a maximum 1/LINE_WIDTH_MULT - th of the sector angle, otherwise the border would dominate @@ -266,9 +266,7 @@ export function renderPartitionCanvas2d( // bottom layer: sectors (pie slices, ring sectors etc.) (ctx: CanvasRenderingContext2D) => - config.partitionLayout === PartitionLayout.sunburst - ? renderSectors(ctx, quadViewModel) - : renderRectangles(ctx, quadViewModel), + isSunburst(config.partitionLayout) ? renderSectors(ctx, quadViewModel) : renderRectangles(ctx, quadViewModel), // all the fill-based, potentially multirow text, whether inside or outside the sector (ctx: CanvasRenderingContext2D) => renderRowSets(ctx, rowSets, linkLineColor), diff --git a/src/chart_types/partition_chart/renderer/dom/highlighter.tsx b/src/chart_types/partition_chart/renderer/dom/highlighter.tsx index b630347536..729f5e2845 100644 --- a/src/chart_types/partition_chart/renderer/dom/highlighter.tsx +++ b/src/chart_types/partition_chart/renderer/dom/highlighter.tsx @@ -20,10 +20,12 @@ import React from 'react'; import { Dimensions } from '../../../../utils/dimensions'; +import { configMetadata } from '../../layout/config/config'; import { PartitionLayout } from '../../layout/types/config_types'; import { PointObject } from '../../layout/types/geometry_types'; import { QuadViewModel } from '../../layout/types/viewmodel_types'; import { TAU } from '../../layout/utils/constants'; +import { isSunburst, isTreemap } from '../../layout/viewmodel/viewmodel'; /** @internal */ export interface HighlighterProps { @@ -100,9 +102,8 @@ function renderSector(geometry: QuadViewModel, key: string, style: SVGStyle) { function renderGeometries(geoms: QuadViewModel[], partitionLayout: PartitionLayout, style: SVGStyle) { const maxDepth = geoms.reduce((acc, geom) => Math.max(acc, geom.depth), 0); // we should render only the deepest geometries of the tree to avoid overlaying highlighted geometries - const highlightedGeoms = - partitionLayout === PartitionLayout.treemap ? geoms.filter((g) => g.depth >= maxDepth) : geoms; - const renderGeom = partitionLayout === PartitionLayout.sunburst ? renderSector : renderRectangles; + const highlightedGeoms = isTreemap(partitionLayout) ? geoms.filter((g) => g.depth >= maxDepth) : geoms; + const renderGeom = isSunburst(partitionLayout) ? renderSector : renderRectangles; return highlightedGeoms.map((geometry, index) => renderGeom(geometry, `${index}`, style)); } @@ -130,7 +131,7 @@ export class HighlighterComponent extends React.Component { - {partitionLayout === PartitionLayout.sunburst && ( + {isSunburst(partitionLayout) ? ( { mask={`url(#${maskId})`} className="echHighlighter__mask" /> - )} - {partitionLayout !== PartitionLayout.sunburst && ( + ) : ( )} @@ -188,5 +188,5 @@ export const DEFAULT_PROPS: HighlighterProps = { }, outerRadius: 10, renderAsOverlay: false, - partitionLayout: PartitionLayout.sunburst, + partitionLayout: configMetadata.partitionLayout.dflt, }; diff --git a/src/chart_types/partition_chart/state/selectors/tree.ts b/src/chart_types/partition_chart/state/selectors/tree.ts index 2882218b8e..8d744be838 100644 --- a/src/chart_types/partition_chart/state/selectors/tree.ts +++ b/src/chart_types/partition_chart/state/selectors/tree.ts @@ -23,9 +23,10 @@ import { ChartTypes } from '../../..'; import { SpecTypes } from '../../../../specs'; import { GlobalChartState } from '../../../../state/chart_state'; import { getSpecsFromStore } from '../../../../state/utils'; -import { PartitionLayout } from '../../layout/types/config_types'; +import { configMetadata } from '../../layout/config/config'; import { childOrders, HierarchyOfArrays } from '../../layout/utils/group_by_rollup'; import { getHierarchyOfArrays } from '../../layout/viewmodel/hierarchy_of_arrays'; +import { isSunburst, isTreemap } from '../../layout/viewmodel/viewmodel'; import { PartitionSpec } from '../../specs'; const getSpecs = (state: GlobalChartState) => state.specs; @@ -39,9 +40,8 @@ export const getTree = createCachedSelector( return []; } const { data, valueAccessor, layers } = pieSpecs[0]; - const layout = pieSpecs[0].config.partitionLayout; - const sorter = - layout === PartitionLayout.treemap || layout === PartitionLayout.sunburst ? childOrders.descending : null; + const layout = pieSpecs[0].config.partitionLayout ?? configMetadata.partitionLayout.dflt; + const sorter = isTreemap(layout) || isSunburst(layout) ? childOrders.descending : null; return getHierarchyOfArrays( data, valueAccessor, From f9e51f9e90ed8cfb8128d5225a79c4606ab4953a Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 15:37:43 +0100 Subject: [PATCH 26/27] test: minimize the impact of assertion to a single property, which is parent --- .../partition_chart/layout/utils/group_by_rollup.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts index 91f397e171..f39943ac4c 100644 --- a/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts +++ b/src/chart_types/partition_chart/layout/utils/group_by_rollup.ts @@ -134,15 +134,16 @@ export function groupByRollup( function getRootArrayNode(): ArrayNode { const children: HierarchyOfArrays = []; - const bootstrap = { + const bootstrap: Omit = { [AGGREGATE_KEY]: NaN, [DEPTH_KEY]: NaN, [CHILDREN_KEY]: children, [INPUT_KEY]: [] as number[], [PATH_KEY]: [] as number[], + [SORT_INDEX_KEY]: 0, + [STATISTICS_KEY]: { globalAggregate: 0 }, }; - Object.assign(bootstrap, { [PARENT_KEY]: bootstrap }); - return bootstrap as ArrayNode; + return { ...bootstrap, [PARENT_KEY]: bootstrap } as ArrayNode; // TS doesn't yet handle bootstrapping but the `Omit` above retains guarantee for all props except `[PARENT_KEY` } /** @internal */ From a57b697b6ae00134a2e9138610d1d0a7687348f7 Mon Sep 17 00:00:00 2001 From: Robert Monfera Date: Wed, 13 Jan 2021 16:08:09 +0100 Subject: [PATCH 27/27] test: mock update --- ...me-chart-visually-looks-correct-1-snap.png | Bin 64846 -> 63235 bytes ...le-chart-visually-looks-correct-1-snap.png | Bin 68543 -> 63827 bytes stories/icicle/01_unix_icicle.tsx | 2 +- stories/icicle/02_unix_flame.tsx | 2 +- stories/utils/hierarchical_input_utils.tsx | 4 ++-- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-flame-chart-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-flame-chart-visually-looks-correct-1-snap.png index a61f28589c93792800671dcbd12175025eccfaa6..b4a00fc2e44e104dbe45e4778eb4355726a792da 100644 GIT binary patch literal 63235 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 E3lh#U^#A|> literal 64846 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⋘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 diff --git a/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-icicle-chart-visually-looks-correct-1-snap.png b/integration/tests/__image_snapshots__/all-test-ts-baseline-visual-tests-for-all-stories-flame-alpha-icicle-chart-visually-looks-correct-1-snap.png index aa7ca29c83087e4dcc2bd2cbb47a2cff7eb0194c..f23daebae8edb94d2f623a5f2299ca88bda9099d 100644 GIT binary patch literal 63827 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
mMpjE3+1Q26tTB;eeRyn}1 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
UO43*BQO9nk8 zXh&aU%9!OL8i-uOOur{4D}C!ndR8Odp8tR4{c*<;!2t7y<-VT0O1%|>=om$iMxA91 zRjFnC6Nks`%)!unO>Iai^=WPAQ&VjThbK@oY15pJjc>SmSX!UuG9>axnn%jyeGX!K zah<>qJNpP5q<%kr2O`s}@ntt#SqT0`c)mG?bkW}E;Q=W~D40y@uDBz-caCw^&t8ue zQ(dB>{xUTJBE}(^v=6|*{A>Yvb5PSaK_ygWPkd`wHDat*nx@ftr}sJ-ZRH>bc&!e< znPzo77TDxz_5E8cLNsyyewDBHgFE9*W>4S1K%VNz;l1rD2TU$6Pm(G&y~)}p-Skzx zG|eSR`LO%ik!}Xg=FsY24(aF)F3+~jH$MUc)4ay&Bk~rt6FNl_?~v35t>)%xWD?jWTn-$Z$}~U=EnfL9srV?Gv=+{1k=ioosO{ePK0;^?GBa4$?3eAK zXNYT}bHq<4&_aci;@izCrn@>@XtKSbNUR$~+>ET{W_LoNjF;!)8FURS)QQ#%R(e2n zII?`~fI_+c6iVc*t`wlfQtN8|OCt<8OSqyD#FR8N1fg9Wpg^DVS^fwnN&Z2(MSxl8 z>A^w`4rI}{&uF!3q_rFH9en(5Ylu|vvMB!ni~PAow6u6ehTQOg2WVXaP8q!`G0D-> z=BgEYHXSJCe_1y>i_7wJhA%=68#5bi-1uCU@7dnnZR}inGnZ;&w9|)c=()ITrIs@(vdN)@^k)U&K1^ zw?Reht+{B4f`!&yaBir6V5We?K0(R_=HX}AgIit4D zsmw{!Yl)^_s|u~5p}uEH!h!QL;$pCL-a0l;r&~joZ^i{evmr#KGM4~bTm7lBvTNj{ zy)`|nJCJk1T`u-EMpJd~Vyb?WqYYHMGvnN9#g@2c3#nEWFq0FFqzQd5&3|?sj@Jmg z?RX)VmI+sixw>%}<~3Hzg&5WTbaEl3EGzG@43j8myBmM%f?s^Ykf~GYsrH$qnK!Mh z;{9&!H$mRv2#e+ZJBJ&4Gv8W`89Q)XP67@oxGY@}>$tU}o;64X>e&7gv;95S2l}!| zxL2k0sJJK;SV)}o!ifUH*r;)9|t~7sCK>j4HqPn@Mi0n%aA$W`lz7x%xP*hUl z-rC&O3u-s(Flua3*0KzV$)1l#qrv(z=`5i{4cBO}x3$j{Bc7E%>kCQ4h*9s*%XeoL ziIe#12MGai4e0ON^+XDk-olcH`p*Mj9l1z|M!=$;U^MM4vSIXDX$aiy^KB+It9 z_lvu&qJPkA^cqi(Y;X8nI@cW~h-+80-wKP+i!w>Rg$~_{W8Hu@uLJ%+mglcJNv)7&0>EHv<>ShTZoIr{FS8}MioEV3IrNec-w4z z;S314Rd8zHcxVM?kG6%kBpi=2HY!l8?cCycqtEL6xxzxg5?VkA%v$?$ zdA9H0`{AhwYW5*WO#Qoy%+kpVOC(=M1#vv#sMBZ8t`j{*c(*)cH0r3iAhS0mI>7vUtv6qW7hJc zvBp#Bz9as=<1P+i0pQrj`W&^&bYR+-SLxueQqTub>Dm~N?LT_59H;_a9^RP=!C^qp z+Lc6(C$wV5{FE2|EhA&NtjUI#c!5u-aMf+L0&g?#@z>VUa<7pa9E^b(MUM)jITHWH zV6S%%{2x8OpgH2R+9MV$ypsKCgR)1oPe|6LiFvWOYWD^+46y9|napsV7RWp=Zo zbktzYm11tS=1)7|^fXm_HJHRS+_ir~pZvsbrTzzk(=*u63aw4>!=Ly>$A`GtjtDO9ycgGwuv@C(mkSuom0^Or|z zh?=}dvqZ!CoNf+Mmu}&E)PGLSn(sji#p6J1BW(4=uxln-75JtBhZq=vvhOM}glo{* zU#@D$UX?wbEMKo43R4{&h;Z7nuVRentJh$~(O{2EJEKETWzqJgR0>t;#l>a!-jIN= z&DS29uXUlqsn&Q?I_wVqVCOgrOb(CjXucIyr7NV%T*scd>g0X?yU%_x`iQGm>xlyI zw;~)wiuD|Dd(#_oQD|l#ZTneblGDG^e(r2EMvRoGe7`kTK{Xd)JDvZ0XGa7BVARW z#-tA8y>$ziUB|zAUNHofK)p@R6Hji4^Cou6d$B?1dP|svfy8a^gtL;QxX|ieCZQ0m zKS)mZM@&eG^okV2Y^s??j-&J#5f zFka3F07#ON=44PM&BAOTAdcL9^Su+PH#~fuFxqAEy6fWE z@oR*@mA&Up`z|T={ynQ7)BChwNwJ*#Y$BPi{Q}jAP!_-7^6xLGW1U2!u?TscCTgEf zr|di}S{b91(i*W&&GrJogOkuZuykrD(CSTriJ zE+X*H%MDFm52!whNlDQv7bzL6`d7pr)5@4_TL;2LWZ5pI1DN%D>^jzScNfZ^F6=Oi z?sr~|j)%TJDe*9b9M_Z}IC2n866ACNW!5>$c6-Z1keGx_E=Z%2O1^#;O%9k|NBe(V ze%NjfzBRk@-ekB=CzBsvc~2w(N5m8x(iRq^yG6u1?Fu+B`OmgWq3!e zS8VvLwTS7x$-oCgTbd=A%F9*Z6Ry$FhV^i5z55iEl$kOouD1^YZc(OSRNh zXwxG5j0{e$Xs#cwc#UwwuOaiXS4#xJGI;~js&b<`)XIguK_txsshnpwYh|7J%G4l# zM{=3KuPbQg?(f!%!};eOv*q)&INE_khu#Dd+Ta4Y=`^qypIJtGADAdbc&$%+Py1j+ zW+1+QPxqO8``a;z9#fJv$s>v9_g2R#uFoE~_ts(Ri_F9eANTt $tI+)=_cI%3T~ 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 literal 68543 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ˠsm?szUr~_>@~w1+`Mg>S*Wc~%xmysBGvj{ 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

(EU#>oP#}tmnS1qL$t$(x4p`yUgB0lEP9{{ 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�vrXx*F1FV+s7-%VNFqERv4>?9f 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 { return ( - + { return ( - + = { fontWeight: 500, }, margin: { top: 0, bottom: 0, left: 0, right: 0 }, - minFontSize: 4, - maxFontSize: 8, + minFontSize: 5, + maxFontSize: 9, idealFontSizeJump: 1.01, backgroundColor: 'rgba(229,229,229,1)', };